Saltar al contenido
← Volver a proyectos

Nix Wallpapers

A collection of vendored wallpapers packaged as a reusable Nix flake — hermetic builds, no hash drift, usable standalone or as an overlay.

#nix-wallpapers

CI

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.

Nueva versión disponible.