Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages