summaryrefslogtreecommitdiff
path: root/pkgs/static/wallpapers/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/static/wallpapers/default.nix')
-rw-r--r--pkgs/static/wallpapers/default.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkgs/static/wallpapers/default.nix b/pkgs/static/wallpapers/default.nix
new file mode 100644
index 0000000..4abeb38
--- /dev/null
+++ b/pkgs/static/wallpapers/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, imagemagick, lib }:
+
+let
+ fetchWallpaper =
+ { name, url, sha256, resolution ? "1920x1080", offset ? "0x0" }:
+ stdenv.mkDerivation {
+ inherit name;
+ src = fetchurl {
+ inherit url sha256;
+ };
+ buildInputs = [ imagemagick ];
+ phases = [ "unpackPhase" ];
+ unpackPhase = ''
+ convert "$src" -resize "${resolution}^" \
+ -crop "${resolution}+${offset}" \
+ "$out"
+ '';
+ };
+ sources = lib.importJSON ./sources.json;
+in {
+ fetcher = fetchWallpaper;
+} // builtins.mapAttrs (_: fetchWallpaper) sources