Nix Wallpapers
#nix-wallpapers
A collection of vendored wallpapers, packaged as a reusable Nix flake. Images are committed to the repository (not fetched at build time), so builds are hermetic and the byte content never drifts — pin the flake and the wallpapers are frozen forever.
The package exposes each wallpaper individually plus a names list, so consumers can
select one by name (e.g. for stylix
theming).
#Usage
#As a flake input
Follow nixpkgs for a reproducible build that reuses your system's package versions:
# flake.nix inputs
nix-wallpapers = {
url = "github:aleks-sidorenko/nix-wallpapers";
inputs.nixpkgs.follows = "nixpkgs";
};
Reference a wallpaper directly from the package's passthru:
# per-system package
nix-wallpapers.packages.${system}.default.earth # -> /nix/store/...earth.png
nix-wallpapers.packages.${system}.default.names # -> [ "earth" "galaxy" ... ]
# e.g. with stylix
stylix.image = nix-wallpapers.packages.${system}.default.earth;
#As an overlay
nixpkgs.overlays = [ inputs.nix-wallpapers.overlays.default ]; # then, anywhere with `pkgs`: stylix.image = pkgs.wallpapers.earth;
#Try it
# build the whole collection (installs to result/share/wallpapers) nix build github:aleks-sidorenko/nix-wallpapers # list available wallpaper names nix eval github:aleks-sidorenko/nix-wallpapers#packages.x86_64-linux.default.names
#Available wallpapers
3kitty2, KurzegartDNA, Kurzgesagt-Baby_Star, Kurzgesagt-Cloudy_Quasar_1,
Kurzgesagt-Galaxies, Kurzgesagt-Galaxy_2, Kurzgesagt-Galaxy_3,
Kurzgesagt-Stellar_Phenomenon, Palette, cat-sound, catMachup,
catpuccino-caramel-dark-4k, earth, galaxy, nixppuccin, pizza,
rainbow-nix, spill, windows-error.
Run just list to print the list from the built package.
#Adding a wallpaper
Drop an image file into wallpapers/ and commit it — it is discovered
automatically (the attribute name is the filename without extension). No hashes to
maintain.
#Real-world example
For a complete production setup, see
aleks-sidorenko/nix-config — it
consumes this flake across NixOS, nix-darwin, and home-manager systems and wires the
selected wallpaper into stylix via an opt-in
nix-config.styles.stylix.wallpaper option.
#Reproducibility note
Consumers should set inputs.nixpkgs.follows = "nixpkgs" so the tiny build wrapper uses
the same nixpkgs revision as the rest of the system, keeping the closure minimal.
#License
MIT — see LICENSE.