summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2026-06-15 00:54:41 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2026-06-15 00:54:41 -0400
commit7adeedbdd6287517fca8c0b8080221e77ad79b54 (patch)
tree642d13739dc0c2d6cd88561101dbb10d3c69ef14
parent9e70f144dde840fed8d8b485f9396638139ec310 (diff)
Added wallpapers and logic to rotate them
-rw-r--r--files/Wallpapers/1685362396481634.jpgbin0 -> 933436 bytes
-rw-r--r--files/Wallpapers/1693169418078790.jpgbin0 -> 1326027 bytes
-rw-r--r--files/Wallpapers/1694792956043641.jpgbin0 -> 5067847 bytes
-rw-r--r--files/Wallpapers/1708470532817406.jpgbin0 -> 3801100 bytes
-rw-r--r--files/Wallpapers/1720750738377603.jpgbin0 -> 177477 bytes
-rw-r--r--files/Wallpapers/1720751011150282.pngbin0 -> 1746731 bytes
-rw-r--r--files/Wallpapers/1723625710776950.jpgbin0 -> 602989 bytes
-rw-r--r--files/Wallpapers/1723626275390685.jpgbin0 -> 388798 bytes
-rw-r--r--files/Wallpapers/1728661127589872.jpgbin0 -> 1892757 bytes
-rw-r--r--files/Wallpapers/4yglzy4rkh4d1.jpegbin0 -> 1877217 bytes
-rw-r--r--files/Wallpapers/7xosa7um3ohd1.jpgbin0 -> 8550632 bytes
-rw-r--r--files/Wallpapers/83juiltm3ohd1.jpgbin0 -> 2357200 bytes
-rw-r--r--files/Wallpapers/CN62QXJ.jpgbin0 -> 146377 bytes
-rw-r--r--files/Wallpapers/above-clouds.jpgbin0 -> 535067 bytes
-rw-r--r--files/Wallpapers/alena-aenami-bluehour-1k.jpgbin0 -> 632441 bytes
-rw-r--r--files/Wallpapers/alena-aenami-budapest.jpgbin0 -> 815957 bytes
-rw-r--r--files/Wallpapers/alena-aenami-cave-1k.jpgbin0 -> 479749 bytes
-rw-r--r--files/Wallpapers/alena-aenami-close-to-the-sun-1920.jpgbin0 -> 567195 bytes
-rw-r--r--files/Wallpapers/alena-aenami-cold-1k.jpgbin0 -> 635856 bytes
-rw-r--r--files/Wallpapers/alena-aenami-cosmo-1k.jpgbin0 -> 616567 bytes
-rw-r--r--files/Wallpapers/alena-aenami-downtown-1k.jpgbin0 -> 605445 bytes
-rw-r--r--files/Wallpapers/alena-aenami-dreamy-1k.jpgbin0 -> 698119 bytes
-rw-r--r--files/Wallpapers/alena-aenami-eclipse-1k.jpgbin0 -> 505917 bytes
-rw-r--r--files/Wallpapers/alena-aenami-end-1k.jpgbin0 -> 612182 bytes
-rw-r--r--files/Wallpapers/alena-aenami-eternity-1080px.jpgbin0 -> 612516 bytes
-rw-r--r--files/Wallpapers/alena-aenami-kosmos19001.jpgbin0 -> 438105 bytes
-rw-r--r--files/Wallpapers/alena-aenami-light-at-the-end-hd.jpgbin0 -> 855710 bytes
-rw-r--r--files/Wallpapers/alena-aenami-lights-1k.jpgbin0 -> 607579 bytes
-rw-r--r--files/Wallpapers/alena-aenami-lines1k.jpgbin0 -> 689660 bytes
-rw-r--r--files/Wallpapers/alena-aenami-mountains1k.jpgbin0 -> 863496 bytes
-rw-r--r--files/Wallpapers/alena-aenami-new-year1k.jpgbin0 -> 489358 bytes
-rw-r--r--files/Wallpapers/alena-aenami-orangemoon1900p.jpgbin0 -> 884416 bytes
-rw-r--r--files/Wallpapers/alena-aenami-portal-1k.jpgbin0 -> 741511 bytes
-rw-r--r--files/Wallpapers/alena-aenami-reflect1k.jpgbin0 -> 863258 bytes
-rw-r--r--files/Wallpapers/alena-aenami-serenity-1k.jpgbin0 -> 712975 bytes
-rw-r--r--files/Wallpapers/alena-aenami-sky1k.jpgbin0 -> 992731 bytes
-rw-r--r--files/Wallpapers/alena-aenami-solar-1k.jpgbin0 -> 736011 bytes
-rw-r--r--files/Wallpapers/alena-aenami-tl-002-1k.pngbin0 -> 2472437 bytes
-rw-r--r--files/Wallpapers/alena-aenami-wait.jpgbin0 -> 632782 bytes
-rw-r--r--files/Wallpapers/alena-aenami-wings-hd.jpgbin0 -> 756726 bytes
-rw-r--r--files/Wallpapers/alena-aenami-you-1k-2.jpgbin0 -> 543184 bytes
-rw-r--r--files/Wallpapers/autumn1.jpgbin0 -> 1084113 bytes
-rw-r--r--files/Wallpapers/autumn1.pngbin0 -> 3956950 bytes
-rw-r--r--files/Wallpapers/dawn-mountains-vibrant.jpgbin0 -> 692972 bytes
-rw-r--r--files/Wallpapers/lake-winter.jpgbin0 -> 1118701 bytes
-rw-r--r--files/Wallpapers/mountains.jpgbin0 -> 1097089 bytes
-rw-r--r--files/Wallpapers/northern-lights-2.jpgbin0 -> 2106126 bytes
-rw-r--r--files/Wallpapers/northern-lights-bridge.jpgbin0 -> 590574 bytes
-rw-r--r--files/Wallpapers/ooglygoo.pngbin0 -> 1286896 bytes
-rw-r--r--files/Wallpapers/purple-grass.jpgbin0 -> 2298196 bytes
-rw-r--r--files/Wallpapers/purple-intersection.jpgbin0 -> 490043 bytes
-rw-r--r--files/Wallpapers/purple-lakescape.jpgbin0 -> 4375129 bytes
-rw-r--r--files/Wallpapers/sah1k8tm3ohd1.jpgbin0 -> 1940378 bytes
-rw-r--r--files/Wallpapers/scarecrow.jpgbin0 -> 458024 bytes
-rw-r--r--files/Wallpapers/snow-1.jpgbin0 -> 944602 bytes
-rw-r--r--files/Wallpapers/snow-2.jpgbin0 -> 1825815 bytes
-rw-r--r--files/Wallpapers/vfcfyfyehhi31.pngbin0 -> 2168863 bytes
-rw-r--r--files/Wallpapers/w7ufw5eb3cuz.jpgbin0 -> 66045 bytes
-rw-r--r--hosts/RyanMac/configuration.nix9
-rw-r--r--modules/darwin/random-wallpaper.nix40
60 files changed, 49 insertions, 0 deletions
diff --git a/files/Wallpapers/1685362396481634.jpg b/files/Wallpapers/1685362396481634.jpg
new file mode 100644
index 0000000..fd49cae
--- /dev/null
+++ b/files/Wallpapers/1685362396481634.jpg
Binary files differ
diff --git a/files/Wallpapers/1693169418078790.jpg b/files/Wallpapers/1693169418078790.jpg
new file mode 100644
index 0000000..8156108
--- /dev/null
+++ b/files/Wallpapers/1693169418078790.jpg
Binary files differ
diff --git a/files/Wallpapers/1694792956043641.jpg b/files/Wallpapers/1694792956043641.jpg
new file mode 100644
index 0000000..431e96b
--- /dev/null
+++ b/files/Wallpapers/1694792956043641.jpg
Binary files differ
diff --git a/files/Wallpapers/1708470532817406.jpg b/files/Wallpapers/1708470532817406.jpg
new file mode 100644
index 0000000..4a4f2f0
--- /dev/null
+++ b/files/Wallpapers/1708470532817406.jpg
Binary files differ
diff --git a/files/Wallpapers/1720750738377603.jpg b/files/Wallpapers/1720750738377603.jpg
new file mode 100644
index 0000000..f8dd9cd
--- /dev/null
+++ b/files/Wallpapers/1720750738377603.jpg
Binary files differ
diff --git a/files/Wallpapers/1720751011150282.png b/files/Wallpapers/1720751011150282.png
new file mode 100644
index 0000000..dbd3e38
--- /dev/null
+++ b/files/Wallpapers/1720751011150282.png
Binary files differ
diff --git a/files/Wallpapers/1723625710776950.jpg b/files/Wallpapers/1723625710776950.jpg
new file mode 100644
index 0000000..71608ff
--- /dev/null
+++ b/files/Wallpapers/1723625710776950.jpg
Binary files differ
diff --git a/files/Wallpapers/1723626275390685.jpg b/files/Wallpapers/1723626275390685.jpg
new file mode 100644
index 0000000..aa8c8c2
--- /dev/null
+++ b/files/Wallpapers/1723626275390685.jpg
Binary files differ
diff --git a/files/Wallpapers/1728661127589872.jpg b/files/Wallpapers/1728661127589872.jpg
new file mode 100644
index 0000000..b5dcbeb
--- /dev/null
+++ b/files/Wallpapers/1728661127589872.jpg
Binary files differ
diff --git a/files/Wallpapers/4yglzy4rkh4d1.jpeg b/files/Wallpapers/4yglzy4rkh4d1.jpeg
new file mode 100644
index 0000000..0ef50ad
--- /dev/null
+++ b/files/Wallpapers/4yglzy4rkh4d1.jpeg
Binary files differ
diff --git a/files/Wallpapers/7xosa7um3ohd1.jpg b/files/Wallpapers/7xosa7um3ohd1.jpg
new file mode 100644
index 0000000..3bb615e
--- /dev/null
+++ b/files/Wallpapers/7xosa7um3ohd1.jpg
Binary files differ
diff --git a/files/Wallpapers/83juiltm3ohd1.jpg b/files/Wallpapers/83juiltm3ohd1.jpg
new file mode 100644
index 0000000..15aff05
--- /dev/null
+++ b/files/Wallpapers/83juiltm3ohd1.jpg
Binary files differ
diff --git a/files/Wallpapers/CN62QXJ.jpg b/files/Wallpapers/CN62QXJ.jpg
new file mode 100644
index 0000000..c49c449
--- /dev/null
+++ b/files/Wallpapers/CN62QXJ.jpg
Binary files differ
diff --git a/files/Wallpapers/above-clouds.jpg b/files/Wallpapers/above-clouds.jpg
new file mode 100644
index 0000000..a525ee8
--- /dev/null
+++ b/files/Wallpapers/above-clouds.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-bluehour-1k.jpg b/files/Wallpapers/alena-aenami-bluehour-1k.jpg
new file mode 100644
index 0000000..ade3472
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-bluehour-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-budapest.jpg b/files/Wallpapers/alena-aenami-budapest.jpg
new file mode 100644
index 0000000..a01b60b
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-budapest.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-cave-1k.jpg b/files/Wallpapers/alena-aenami-cave-1k.jpg
new file mode 100644
index 0000000..048b4c1
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-cave-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-close-to-the-sun-1920.jpg b/files/Wallpapers/alena-aenami-close-to-the-sun-1920.jpg
new file mode 100644
index 0000000..853ff56
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-close-to-the-sun-1920.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-cold-1k.jpg b/files/Wallpapers/alena-aenami-cold-1k.jpg
new file mode 100644
index 0000000..5152b02
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-cold-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-cosmo-1k.jpg b/files/Wallpapers/alena-aenami-cosmo-1k.jpg
new file mode 100644
index 0000000..78f50a9
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-cosmo-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-downtown-1k.jpg b/files/Wallpapers/alena-aenami-downtown-1k.jpg
new file mode 100644
index 0000000..870813b
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-downtown-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-dreamy-1k.jpg b/files/Wallpapers/alena-aenami-dreamy-1k.jpg
new file mode 100644
index 0000000..3931833
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-dreamy-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-eclipse-1k.jpg b/files/Wallpapers/alena-aenami-eclipse-1k.jpg
new file mode 100644
index 0000000..acf008e
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-eclipse-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-end-1k.jpg b/files/Wallpapers/alena-aenami-end-1k.jpg
new file mode 100644
index 0000000..5b8d249
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-end-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-eternity-1080px.jpg b/files/Wallpapers/alena-aenami-eternity-1080px.jpg
new file mode 100644
index 0000000..f8a50f8
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-eternity-1080px.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-kosmos19001.jpg b/files/Wallpapers/alena-aenami-kosmos19001.jpg
new file mode 100644
index 0000000..e3ce36a
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-kosmos19001.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-light-at-the-end-hd.jpg b/files/Wallpapers/alena-aenami-light-at-the-end-hd.jpg
new file mode 100644
index 0000000..00cbcb1
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-light-at-the-end-hd.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-lights-1k.jpg b/files/Wallpapers/alena-aenami-lights-1k.jpg
new file mode 100644
index 0000000..b3038ec
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-lights-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-lines1k.jpg b/files/Wallpapers/alena-aenami-lines1k.jpg
new file mode 100644
index 0000000..73688eb
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-lines1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-mountains1k.jpg b/files/Wallpapers/alena-aenami-mountains1k.jpg
new file mode 100644
index 0000000..7448ab1
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-mountains1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-new-year1k.jpg b/files/Wallpapers/alena-aenami-new-year1k.jpg
new file mode 100644
index 0000000..816a884
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-new-year1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-orangemoon1900p.jpg b/files/Wallpapers/alena-aenami-orangemoon1900p.jpg
new file mode 100644
index 0000000..08e56c0
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-orangemoon1900p.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-portal-1k.jpg b/files/Wallpapers/alena-aenami-portal-1k.jpg
new file mode 100644
index 0000000..24311ff
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-portal-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-reflect1k.jpg b/files/Wallpapers/alena-aenami-reflect1k.jpg
new file mode 100644
index 0000000..49ab145
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-reflect1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-serenity-1k.jpg b/files/Wallpapers/alena-aenami-serenity-1k.jpg
new file mode 100644
index 0000000..7164548
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-serenity-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-sky1k.jpg b/files/Wallpapers/alena-aenami-sky1k.jpg
new file mode 100644
index 0000000..84b9739
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-sky1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-solar-1k.jpg b/files/Wallpapers/alena-aenami-solar-1k.jpg
new file mode 100644
index 0000000..cb71169
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-solar-1k.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-tl-002-1k.png b/files/Wallpapers/alena-aenami-tl-002-1k.png
new file mode 100644
index 0000000..b6f450f
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-tl-002-1k.png
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-wait.jpg b/files/Wallpapers/alena-aenami-wait.jpg
new file mode 100644
index 0000000..2dc72ac
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-wait.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-wings-hd.jpg b/files/Wallpapers/alena-aenami-wings-hd.jpg
new file mode 100644
index 0000000..89b1378
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-wings-hd.jpg
Binary files differ
diff --git a/files/Wallpapers/alena-aenami-you-1k-2.jpg b/files/Wallpapers/alena-aenami-you-1k-2.jpg
new file mode 100644
index 0000000..5057667
--- /dev/null
+++ b/files/Wallpapers/alena-aenami-you-1k-2.jpg
Binary files differ
diff --git a/files/Wallpapers/autumn1.jpg b/files/Wallpapers/autumn1.jpg
new file mode 100644
index 0000000..1f06edd
--- /dev/null
+++ b/files/Wallpapers/autumn1.jpg
Binary files differ
diff --git a/files/Wallpapers/autumn1.png b/files/Wallpapers/autumn1.png
new file mode 100644
index 0000000..72cac31
--- /dev/null
+++ b/files/Wallpapers/autumn1.png
Binary files differ
diff --git a/files/Wallpapers/dawn-mountains-vibrant.jpg b/files/Wallpapers/dawn-mountains-vibrant.jpg
new file mode 100644
index 0000000..c678fec
--- /dev/null
+++ b/files/Wallpapers/dawn-mountains-vibrant.jpg
Binary files differ
diff --git a/files/Wallpapers/lake-winter.jpg b/files/Wallpapers/lake-winter.jpg
new file mode 100644
index 0000000..b47a8c9
--- /dev/null
+++ b/files/Wallpapers/lake-winter.jpg
Binary files differ
diff --git a/files/Wallpapers/mountains.jpg b/files/Wallpapers/mountains.jpg
new file mode 100644
index 0000000..f51a09b
--- /dev/null
+++ b/files/Wallpapers/mountains.jpg
Binary files differ
diff --git a/files/Wallpapers/northern-lights-2.jpg b/files/Wallpapers/northern-lights-2.jpg
new file mode 100644
index 0000000..cb2a7f4
--- /dev/null
+++ b/files/Wallpapers/northern-lights-2.jpg
Binary files differ
diff --git a/files/Wallpapers/northern-lights-bridge.jpg b/files/Wallpapers/northern-lights-bridge.jpg
new file mode 100644
index 0000000..8fa7b28
--- /dev/null
+++ b/files/Wallpapers/northern-lights-bridge.jpg
Binary files differ
diff --git a/files/Wallpapers/ooglygoo.png b/files/Wallpapers/ooglygoo.png
new file mode 100644
index 0000000..f3503ca
--- /dev/null
+++ b/files/Wallpapers/ooglygoo.png
Binary files differ
diff --git a/files/Wallpapers/purple-grass.jpg b/files/Wallpapers/purple-grass.jpg
new file mode 100644
index 0000000..2a81c54
--- /dev/null
+++ b/files/Wallpapers/purple-grass.jpg
Binary files differ
diff --git a/files/Wallpapers/purple-intersection.jpg b/files/Wallpapers/purple-intersection.jpg
new file mode 100644
index 0000000..cf75de4
--- /dev/null
+++ b/files/Wallpapers/purple-intersection.jpg
Binary files differ
diff --git a/files/Wallpapers/purple-lakescape.jpg b/files/Wallpapers/purple-lakescape.jpg
new file mode 100644
index 0000000..23d28e2
--- /dev/null
+++ b/files/Wallpapers/purple-lakescape.jpg
Binary files differ
diff --git a/files/Wallpapers/sah1k8tm3ohd1.jpg b/files/Wallpapers/sah1k8tm3ohd1.jpg
new file mode 100644
index 0000000..a21261b
--- /dev/null
+++ b/files/Wallpapers/sah1k8tm3ohd1.jpg
Binary files differ
diff --git a/files/Wallpapers/scarecrow.jpg b/files/Wallpapers/scarecrow.jpg
new file mode 100644
index 0000000..f095d15
--- /dev/null
+++ b/files/Wallpapers/scarecrow.jpg
Binary files differ
diff --git a/files/Wallpapers/snow-1.jpg b/files/Wallpapers/snow-1.jpg
new file mode 100644
index 0000000..d00fcd1
--- /dev/null
+++ b/files/Wallpapers/snow-1.jpg
Binary files differ
diff --git a/files/Wallpapers/snow-2.jpg b/files/Wallpapers/snow-2.jpg
new file mode 100644
index 0000000..5343822
--- /dev/null
+++ b/files/Wallpapers/snow-2.jpg
Binary files differ
diff --git a/files/Wallpapers/vfcfyfyehhi31.png b/files/Wallpapers/vfcfyfyehhi31.png
new file mode 100644
index 0000000..adb7f37
--- /dev/null
+++ b/files/Wallpapers/vfcfyfyehhi31.png
Binary files differ
diff --git a/files/Wallpapers/w7ufw5eb3cuz.jpg b/files/Wallpapers/w7ufw5eb3cuz.jpg
new file mode 100644
index 0000000..e59d184
--- /dev/null
+++ b/files/Wallpapers/w7ufw5eb3cuz.jpg
Binary files differ
diff --git a/hosts/RyanMac/configuration.nix b/hosts/RyanMac/configuration.nix
index 572c534..aa91f91 100644
--- a/hosts/RyanMac/configuration.nix
+++ b/hosts/RyanMac/configuration.nix
@@ -20,6 +20,9 @@ let
20 }); 20 });
21 21
22in { 22in {
23 # Modules
24 imports = [ ../../modules/darwin/random-wallpaper.nix ];
25
23 # Define the system's user and home dir location 26 # Define the system's user and home dir location
24 users.users."${username}" = { 27 users.users."${username}" = {
25 name = "${username}"; 28 name = "${username}";
@@ -28,6 +31,12 @@ in {
28 31
29 system.primaryUser = "${username}"; 32 system.primaryUser = "${username}";
30 33
34 # Install the wallpaper engine
35 local.randomWallpaper = {
36 enable = true;
37 directory = "${../../files/Wallpapers}";
38 };
39
31 # Install the /etc/nix/flake-registry.json file we made above 40 # Install the /etc/nix/flake-registry.json file we made above
32 environment.etc."nix/flake-registry.json".source = pinnedNixpkgs; 41 environment.etc."nix/flake-registry.json".source = pinnedNixpkgs;
33 42
diff --git a/modules/darwin/random-wallpaper.nix b/modules/darwin/random-wallpaper.nix
new file mode 100644
index 0000000..6b17c0f
--- /dev/null
+++ b/modules/darwin/random-wallpaper.nix
@@ -0,0 +1,40 @@
1{ config, lib, pkgs, ... }:
2let
3 cfg = config.local.randomWallpaper;
4 script = pkgs.writeShellApplication {
5 name = "set-random-wallpaper";
6 runtimeInputs = [ pkgs.coreutils pkgs.findutils ];
7 text = ''
8 set -euo pipefail
9 img=$(find "${cfg.directory}" \
10 -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) \
11 | shuf -n1)
12 [ -n "$img" ] || exit 0
13 /usr/bin/osascript -e "tell application \"System Events\" to tell every desktop to set picture to \"$img\""
14 '';
15 };
16in
17{
18 options.local.randomWallpaper = {
19 enable = lib.mkEnableOption "Random Rotating Wallpaper";
20 directory = lib.mkOption {
21 type = lib.types.str;
22 description = "Folder containing images";
23 };
24 interval = lib.mkOption {
25 type = lib.types.int;
26 default = 1800;
27 description = "Seconds between wallpaper changes";
28 };
29 };
30
31 config = lib.mkIf cfg.enable {
32 launchd.user.agents.random-wallpaper.serviceConfig = {
33 Label = "org.rschanz.wallpaperDaemon";
34 ProgramArguments = [ "${script}/bin/set-random-wallpaper" ];
35 StartInterval = cfg.interval;
36 RunAtLoad = true;
37 ProcessType = "Background";
38 };
39 };
40}