Add settings for conditionally installing programs
This commit is contained in:
parent
26bc15a769
commit
dcb1f57c59
1 changed files with 59 additions and 1 deletions
|
@ -1,9 +1,11 @@
|
|||
{ lib, ... }:
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
inherit (lib)
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.valhalla;
|
||||
in {
|
||||
imports = [
|
||||
./i18n.nix
|
||||
|
@ -43,6 +45,62 @@
|
|||
description = "The X11 keyboard layout of the system.";
|
||||
default = null;
|
||||
};
|
||||
|
||||
software =
|
||||
let
|
||||
inherit (cfg.software)
|
||||
common
|
||||
school
|
||||
;
|
||||
in {
|
||||
essential = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether essentials should be installed.";
|
||||
default = true;
|
||||
};
|
||||
|
||||
common = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether common software should be installed.";
|
||||
default = true;
|
||||
};
|
||||
|
||||
school = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether software for studies should be installed.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
productivity = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether productivity apps should be installed.";
|
||||
default = common || school;
|
||||
};
|
||||
|
||||
socialMedia = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether social media apps should be installed.";
|
||||
default = common;
|
||||
};
|
||||
|
||||
media = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether media apps should be installed.";
|
||||
default = common;
|
||||
};
|
||||
|
||||
gaming = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether gaming apps should be installed.";
|
||||
default = common;
|
||||
};
|
||||
|
||||
coding = mkOption {
|
||||
type = types.bool;
|
||||
description = "A value indicating whether development apps should be installed.";
|
||||
default = common;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue