Jump to content

Wallpapers for Wayland

From NixOS Wiki
Revision as of 01:36, 5 July 2025 by 34j (talk | contribs) (Add Wallpapers for Wayland)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Home Manager offers several different ways to set wallpaper in Wayland.

Declarative Wallpapers

fetchurl can be used to declaratively set wallpapers. In this example, a wallpaper in nixos-artwork is used.

❄︎ ~/.config/home-manager/home.nix
let 
  src = pkgs.fetchurl {
    url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-black.png";
    hash = "sha256-mhSh0wz2ntH/kri3PF5ZrFykjjdQLhmlIlDDGFQIYWw=";
  };
in

Use 📖︎ nix-prefetch-url to get the hash:

$ nix hash convert --hash-algo sha256 $(nix-prefetch-url https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-black.png)
sha256-mhSh0wz2ntH/kri3PF5ZrFykjjdQLhmlIlDDGFQIYWw=

Configuration

wpaperd

wpaperd is a modern wallpaper daemon for Wayland. It has Home Manager integration and can be configured as follows:

❄︎ ~/.config/home-manager/home.nix
services.wpaperd.enable = true;
services.wpaperd.settings = {
  eDP-1 = {
    path = src;
  };
};

See https://github.com/danyspin97/wpaperd#wallpaper-configuration for the full list of options.