Create a "desktop experience" software category

This commit is contained in:
Manuel Thalmann 2024-07-16 14:36:53 +02:00
parent e941da3112
commit 491c41bb7c

View file

@ -13,7 +13,9 @@
let let
inherit (cfg.software) inherit (cfg.software)
common common
desktopExperience
school school
server
; ;
in { in {
essential = mkOption { essential = mkOption {
@ -28,6 +30,18 @@
default = true; default = true;
}; };
server = mkOption {
type = types.bool;
description = "A value indicating whether server applications should be installed.";
default = false;
};
desktopExperience = mkOption {
type = types.bool;
description = "A value indicating whether GUI apps should be installed.";
default = common && !server;
};
school = mkOption { school = mkOption {
type = types.bool; type = types.bool;
description = "A value indicating whether software for studies should be installed."; description = "A value indicating whether software for studies should be installed.";
@ -43,19 +57,19 @@
socialMedia = mkOption { socialMedia = mkOption {
type = types.bool; type = types.bool;
description = "A value indicating whether social media apps should be installed."; description = "A value indicating whether social media apps should be installed.";
default = common; default = common && desktopExperience;
}; };
media = mkOption { media = mkOption {
type = types.bool; type = types.bool;
description = "A value indicating whether media apps should be installed."; description = "A value indicating whether media apps should be installed.";
default = common; default = common && desktopExperience;
}; };
gaming = mkOption { gaming = mkOption {
type = types.bool; type = types.bool;
description = "A value indicating whether gaming apps should be installed."; description = "A value indicating whether gaming apps should be installed.";
default = common; default = common && desktopExperience;
}; };
coding = mkOption { coding = mkOption {