This commit is contained in:
Damocles 2026-04-12 18:44:27 +02:00
parent 21f96dc68e
commit b06e3582ff
23 changed files with 597 additions and 197 deletions

View file

@ -66,7 +66,8 @@ in
default = true;
description = "Enable the ${name} module.";
};
} // extra;
}
// extra;
};
};
intervalOpt = default: {
@ -103,18 +104,21 @@ in
description = "Brightness adjustment step (%).";
};
};
temperature = moduleOpt "temperature" ((intervalOpt 2000) // {
warm = lib.mkOption {
type = lib.types.int;
default = 60;
description = "Temperature threshold for warm state (°C).";
};
hot = lib.mkOption {
type = lib.types.int;
default = 80;
description = "Temperature threshold for hot state (°C).";
};
});
temperature = moduleOpt "temperature" (
(intervalOpt 2000)
// {
warm = lib.mkOption {
type = lib.types.int;
default = 60;
description = "Temperature threshold for warm state (°C).";
};
hot = lib.mkOption {
type = lib.types.int;
default = 80;
description = "Temperature threshold for hot state (°C).";
};
}
);
battery = moduleOpt "battery" {
warning = lib.mkOption {
type = lib.types.int;
@ -127,18 +131,21 @@ in
description = "Battery percentage for critical notification and blink.";
};
};
weather = moduleOpt "weather" ((intervalOpt 3600000) // {
args = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "--nerd" ];
description = "Arguments passed to wttrbar.";
example = [
"--nerd"
"--location"
"Berlin"
];
};
});
weather = moduleOpt "weather" (
(intervalOpt 3600000)
// {
args = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "--nerd" ];
description = "Arguments passed to wttrbar.";
example = [
"--nerd"
"--location"
"Berlin"
];
};
}
);
};
theme = lib.mkOption {
@ -174,7 +181,8 @@ in
++ lib.optional cfg.modules.weather.enable pkgs.wttrbar;
xdg.configFile."nova-shell/modules.json".source =
(pkgs.formats.json { }).generate "nova-shell-modules.json" cfg.modules;
(pkgs.formats.json { }).generate "nova-shell-modules.json"
cfg.modules;
xdg.configFile."nova-shell/theme.json".source =
let