Files
cnix/modules/settings/theme/default.nix
2025-08-31 15:07:26 +02:00

35 lines
893 B
Nix

{ lib, ... }:
let
inherit (lib) mkOption types;
bgs = {
wallpaper_1 = "~/media/images/bg_1.jpg";
wallpaper_2 = "~/media/images/bg_2.jpg";
wallpaper_3 = "~/media/images/bg_3.jpg";
wallpaper_4 = "~/media/images/waterwindow.jpg";
wallpaper_5 = "~/media/images/barngreet.png";
};
bgList = builtins.attrNames bgs;
in
{
options.settings.theme = {
background = {
lockscreen = mkOption {
type = types.enum bgList;
apply = name: bgs.${name};
example = "wallpaper_1";
};
primary = mkOption {
type = types.enum bgList;
apply = name: bgs.${name};
example = "wallpaper_2";
};
secondary = mkOption {
type = types.nullOr (types.enum bgList);
default = null;
apply = name: if name == null then null else bgs.${name};
example = "wallpaper_3";
};
};
};
}