diff --git a/pkgs/by-name/sy/system76-wallpapers/Makefile b/pkgs/by-name/sy/system76-wallpapers/Makefile new file mode 100644 index 00000000000000..b76543b5698f5c --- /dev/null +++ b/pkgs/by-name/sy/system76-wallpapers/Makefile @@ -0,0 +1,52 @@ +BACKGROUNDS=$(wildcard backgrounds/*) +SCALED=$(sort $(patsubst backgrounds/%, scaled/%, $(BACKGROUNDS))) + +prefix ?= /usr +datarootdir = $(prefix)/share +datadir = $(datarootdir) + +.PHONY: all clean install uninstall + +all: $(SCALED) scaled/info.xml + +clean: + rm -rf build scaled + +install: all + for file in $(SCALED); do \ + install -D -m 0644 "$$file" "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \ + done + install -D -m 0644 "scaled/info.xml" "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml" + +uninstall: + for file in $(SCALED); do \ + rm -f "$(DESTDIR)$(datadir)/backgrounds/system76/$$(basename "$$file")"; \ + done + rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/backgrounds/system76/" + rm -f "$(DESTDIR)$(datadir)/gnome-background-properties/system76-wallpapers.xml" + rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(datadir)/gnome-background-properties/" + +scaled/%: backgrounds/% + @mkdir -p build scaled + magick "$<" -resize "3840x2160^" "build/$*" + mv "build/$*" "$@" + +scaled/info.xml: $(SCALED) + @mkdir -p build scaled + echo "" > "build/info.xml" + echo "" >> "build/info.xml" + echo "" >> "build/info.xml" + for file in $(SCALED); do \ + filename="$$(basename "$$file")"; \ + name="$${filename%.*}"; \ + echo " " >> "build/info.xml"; \ + echo " $$name" >> "build/info.xml"; \ + echo " /usr/share/backgrounds/system76/$$(basename "$$file")" >> "build/info.xml"; \ + echo " zoom" >> "build/info.xml"; \ + echo " #000000" >> "build/info.xml"; \ + echo " #000000" >> "build/info.xml"; \ + echo " solid" >> "build/info.xml"; \ + echo " " >> "build/info.xml"; \ + done + echo "" >> "build/info.xml" + mv "build/info.xml" "$@" diff --git a/pkgs/by-name/sy/system76-wallpapers/package.nix b/pkgs/by-name/sy/system76-wallpapers/package.nix new file mode 100644 index 00000000000000..59ec7e3b6833fa --- /dev/null +++ b/pkgs/by-name/sy/system76-wallpapers/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + imagemagick, + nix-update-script, +}: + +stdenvNoCC.mkDerivation { + pname = "system76-wallpapers"; + version = "0-unstable-2024-04-26"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "system76-wallpapers"; + rev = "ff1e25c79d10c699dfb695374d5ae7b3f8031b2b"; + forceFetchGit = true; + fetchLFS = true; + hash = "sha256-5rddxbi/hRPy93DqswG54HzWK33Y5TteGB8SKjLXJZk="; + }; + + prePatch = '' + cp ${./Makefile} Makefile + ''; + + nativeBuildInputs = [ imagemagick ]; + + makeFlags = [ "prefix=$(out)" ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = { + description = "Wallpapers for System76 products"; + homepage = "https://system76.com/"; + license = with lib.licenses; [ + unfree # No license specified + ]; + maintainers = with lib.maintainers; [ pandapip1 ]; + platforms = lib.platforms.all; + }; +}