diff --git a/flake.lock b/flake.lock index e4394d0..38ce134 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1747207567, - "narHash": "sha256-8n8AmJpKi7kLMa8clUWYuu8w0PqD4n6kvB1PhbdvWEI=", + "lastModified": 1748080874, + "narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=", "owner": "catppuccin", "repo": "nix", - "rev": "2e75b520f0b64aa5acd61e15a7081c0ba3f7dd87", + "rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112", "type": "github" }, "original": { @@ -50,6 +50,22 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -58,11 +74,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", "type": "github" }, "original": { @@ -102,11 +118,11 @@ ] }, "locked": { - "lastModified": 1746537231, - "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -146,11 +162,11 @@ ] }, "locked": { - "lastModified": 1744693102, - "narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=", + "lastModified": 1748000383, + "narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e", + "rev": "231726642197817d20310b9d39dd4afb9e899489", "type": "github" }, "original": { @@ -166,11 +182,11 @@ ] }, "locked": { - "lastModified": 1747225851, - "narHash": "sha256-4IbmZrNOdXP143kZEUzxBS5SqyxUlaSHLgdpeJfP2ZU=", + "lastModified": 1748979197, + "narHash": "sha256-mKYwYcO9RmA2AcAFIXGDBOw5iv/fbjw6adWvMbnfIuk=", "owner": "nix-community", "repo": "home-manager", - "rev": "6bf057fc8326e83bda05a669fc08d106547679fb", + "rev": "34a13086148cbb3ae65a79f753eb451ce5cac3d3", "type": "github" }, "original": { @@ -211,11 +227,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1747188452, - "narHash": "sha256-n/XRdH8zSaEispBMMV+lVXTndAKrZ++ebCuKRbOJfhY=", + "lastModified": 1748939090, + "narHash": "sha256-2VR9BUqm2bX6shfcIhN160DCOSH5/yoriBlqIMVNxSg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a2f0b8e4d30ea28a8021fa3314eb2244cc133199", + "rev": "360f2cb200bcd89394ec3259e5e25cb6d7e3fd38", "type": "github" }, "original": { @@ -227,11 +243,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1747147482, - "narHash": "sha256-9Vvl0BVjZNrPrgXiNZT1xfR/Fnatyl3oba5GnI+rKfQ=", + "lastModified": 1748908691, + "narHash": "sha256-7ryZQGApbLESbjvvY7aLIhTQ7DBg1EbL3sN5C7fEd70=", "owner": "neovim", "repo": "neovim", - "rev": "40b64e91007e364fd7c7eaab64ce7c8cf0150aec", + "rev": "304a9baebd10382cbc25c8008535f5c34734c7af", "type": "github" }, "original": { @@ -247,11 +263,11 @@ ] }, "locked": { - "lastModified": 1747138802, - "narHash": "sha256-Ou4zV3OskaDKlkuiM2VT+1w/xceXoZ5RRM4ZuW7n5+I=", + "lastModified": 1748352827, + "narHash": "sha256-sNUUP6qxGkK9hXgJ+p362dtWLgnIWwOCmiq72LAWtYo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "f88be00227161a1e9369a1d199f452dd5d720feb", + "rev": "44a7d0e687a87b73facfe94fba78d323a6686a90", "type": "github" }, "original": { @@ -315,11 +331,11 @@ ] }, "locked": { - "lastModified": 1742568034, - "narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", + "lastModified": 1747663185, + "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", + "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc", "type": "github" }, "original": { @@ -346,27 +362,27 @@ }, "nixpkgsSmall": { "locked": { - "lastModified": 1747187171, - "narHash": "sha256-heMv6zpxnLYhdcMtUxSn8PWaDLKlJCvQwhbarTNrXYI=", + "lastModified": 1748868858, + "narHash": "sha256-WCe7j7/+/lgfi36zPUBep1Pk3Uv5rej66ADwHk9srQw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97bd66213bef339d11520ee2e84e3907394b16c7", + "rev": "3b01df3ca76ee68f7218ccd4a3eede2c2c7161ed", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11-small", + "ref": "nixos-25.05-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgsUnstable": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -378,11 +394,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747060738, - "narHash": "sha256-ByfPRQuqj+nhtVV0koinEpmJw0KLzNbgcgi9EF+NVow=", + "lastModified": 1748792178, + "narHash": "sha256-BHmgfHlCJVNisJShVaEmfDIr/Ip58i/4oFGlD1iK6lk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eaeed9530c76ce5f1d2d8232e08bec5e26f18ec1", + "rev": "5929de975bcf4c7c8d8b5ca65c8cd9ef9e44523e", "type": "github" }, "original": { @@ -394,16 +410,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1746957726, - "narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", + "lastModified": 1748889542, + "narHash": "sha256-Hb4iMhIbjX45GcrgOp3b8xnyli+ysRPqAgZ/LZgyT5k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", + "rev": "10d7f8d34e5eb9c0f9a0485186c1ca691d2c5922", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } @@ -424,6 +440,22 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "alejandra": [ @@ -440,6 +472,7 @@ "nixpkgsSmall": "nixpkgsSmall", "nixpkgsUnstable": "nixpkgsUnstable", "sops-nix": "sops-nix", + "swww": "swww", "zen-browser": "zen-browser" } }, @@ -448,11 +481,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1746485181, - "narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", + "lastModified": 1747603214, + "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e93ee1d900ad264d65e9701a5c6f895683433386", + "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "type": "github" }, "original": { @@ -461,6 +494,41 @@ "type": "github" } }, + "swww": { + "inputs": { + "flake-compat": "flake-compat_3", + "nixpkgs": "nixpkgs_5", + "utils": "utils" + }, + "locked": { + "lastModified": 1748744772, + "narHash": "sha256-1y8sWNwZKwub64blxbYpx5TbOfHTqDxgIezEOMusnXA=", + "owner": "LGFae", + "repo": "swww", + "rev": "a07595cf607ed512bc0e4b223d28e5ed91854214", + "type": "github" + }, + "original": { + "owner": "LGFae", + "repo": "swww", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -469,11 +537,11 @@ ] }, "locked": { - "lastModified": 1746989248, - "narHash": "sha256-uoQ21EWsAhyskNo8QxrTVZGjG/dV4x5NM1oSgrmNDJY=", + "lastModified": 1748243702, + "narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "708ec80ca82e2bbafa93402ccb66a35ff87900c5", + "rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007", "type": "github" }, "original": { @@ -482,6 +550,24 @@ "type": "github" } }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_2", @@ -490,11 +576,11 @@ ] }, "locked": { - "lastModified": 1747247156, - "narHash": "sha256-mvzrJOYvShcL1hxKydD6nXNP2HhyZtdubixtzLjuvz8=", + "lastModified": 1748920570, + "narHash": "sha256-m7EshkqPxa3IxN/qwxP1LlMlRdn37aiK0hghDieho8A=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "2a8a94e725202ad7d28129445d7ccd87a5d30586", + "rev": "ff5bf0bcf588e8c1d0f5fcd635b0c8e1cce8aee5", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 63fb32e..81b4058 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; catppuccin.url = "github:catppuccin/nix"; + swww.url = "github:LGFae/swww"; }; outputs = diff --git a/home-manager/dotfiles/niri/background.sh b/home-manager/dotfiles/niri/background.sh new file mode 100755 index 0000000..b50241a --- /dev/null +++ b/home-manager/dotfiles/niri/background.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# Changes the wallpaper to a randomly chosen image in a given directory +# at a set interval. + +DEFAULT_INTERVAL=300 # In seconds + +if [ $# -lt 1 ] || [ ! -d "$1" ]; then + printf "Usage:\n\t\e[1m%s\e[0m \e[4mDIRECTORY\e[0m [\e[4mINTERVAL\e[0m]\n" "$0" + printf "\tChanges the wallpaper to a randomly chosen image in DIRECTORY every\n\tINTERVAL seconds (or every %d seconds if unspecified)." "$DEFAULT_INTERVAL" + exit 1 +fi + +# See swww-img(1) +RESIZE_TYPE="fit" +export SWWW_TRANSITION_FPS="${SWWW_TRANSITION_FPS:-60}" +export SWWW_TRANSITION_STEP="${SWWW_TRANSITION_STEP:-2}" + +while true; do + find "$1" -type f | + while read -r img; do + echo "$(