32 lines
882 B
Nix
32 lines
882 B
Nix
{ lib, config, ... }:
|
|
let
|
|
cfg = config.module.package;
|
|
purpose = config.module.purpose;
|
|
in
|
|
{
|
|
options.module.package = {
|
|
all = lib.mkEnableOption "All apps.";
|
|
core = lib.mkEnableOption "Core apps." // {
|
|
default = true;
|
|
};
|
|
common = lib.mkEnableOption "Common Apps." // {
|
|
default = cfg.all || (with purpose; desktop || laptop);
|
|
};
|
|
creative = lib.mkEnableOption "Creative Apps." // {
|
|
default = cfg.all || purpose.creative;
|
|
};
|
|
desktop = lib.mkEnableOption "Desktop Apps." // {
|
|
default = cfg.all || (with purpose; desktop || laptop);
|
|
};
|
|
dev = lib.mkEnableOption "Dev Apps." // {
|
|
default = cfg.all || purpose.work;
|
|
};
|
|
gaming = lib.mkEnableOption "Gaming Apps." // {
|
|
default = cfg.all || purpose.gaming;
|
|
};
|
|
extra = lib.mkEnableOption "Extra Apps." // {
|
|
default = cfg.all;
|
|
};
|
|
};
|
|
}
|