Files
nix-config/modules/nixos/wallpaper/options.nix
mjallen18 c15f0b0f0b mbp
2026-03-26 12:51:27 -05:00

37 lines
1.1 KiB
Nix

{
lib,
pkgs,
namespace,
...
}:
with lib;
let
inherit (lib.${namespace}) mkOpt;
# Default fallback wallpaper (included in the system)
defaultWallpaper = pkgs.runCommand "default-wallpaper" { } ''
mkdir -p $out
cp ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nix-wallpaper-nineish-dark-gray.png $out/default.jpg
'';
in
{
options.${namespace}.wallpaper = {
enable = mkEnableOption "shared wallpaper management (download, symlink, and boot integration)";
source = mkOpt (types.enum [
"bing"
"nasa"
]) "bing" "Source for the wallpaper (bing or nasa)";
path = mkOpt types.path "/var/lib/wallpapers/current.jpg" "Path to the active wallpaper file";
dir = mkOpt types.path "/var/lib/wallpapers" "Directory where wallpapers are stored";
defaultWallpaper = mkOpt types.path "${defaultWallpaper}/default.jpg" "Default fallback wallpaper";
reloadCommand =
mkOpt (types.nullOr types.str) null
"Optional shell command run after downloading a new wallpaper to notify the desktop environment. If null, no reload command is run.";
};
}