add: more system modules
This commit is contained in:
parent
47eb3e0691
commit
793cc3131c
17 changed files with 291 additions and 56 deletions
40
system/profiles/default.nix
Normal file
40
system/profiles/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
profileEnabler = let
|
||||
reducer = l: r: {"${r}".enable = true;} // l;
|
||||
in
|
||||
builtins.foldl' reducer {} config.activeProfiles;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./base
|
||||
./nvidia
|
||||
#./gaming
|
||||
#./laptop
|
||||
];
|
||||
|
||||
options = {
|
||||
activeProfiles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
systemProfiles = {
|
||||
base = {
|
||||
enable = lib.mkEnableOption "Enable the base profile";
|
||||
};
|
||||
gaming = {
|
||||
enable = lib.mkEnableOption "Enable the gaming profile";
|
||||
};
|
||||
laptop = {
|
||||
enable = lib.mkEnableOption "Enable the laptop profile";
|
||||
};
|
||||
nvidia = {
|
||||
enable = lib.mkEnableOption "Enable the nvidia profile";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config.profiles = profileEnabler;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue