[NixOS] Control what is enabled per machine with module options

This commit is contained in:
2023-08-20 04:25:58 -06:00
parent a50a05640f
commit 8638d05595
26 changed files with 126 additions and 271 deletions

39
nixos/configuration.nix Normal file
View File

@@ -0,0 +1,39 @@
{ config, lib, ... }:
{
imports = [
./android.nix
./base.nix
./code.nix
./desktop.nix
./environment.nix
./essential.nix
./extra.nix
./games.nix
./git-sync.nix
./internet-computer.nix
./keybase.nix
./nix.nix
./nixified.ai.nix
./ssh.nix
./syncthing.nix
./users.nix
./wsl.nix
./xmonad.nix
];
options = {
features.full.enable = lib.mkEnableOption "Do everything";
};
config = lib.mkIf config.features.full.enable {
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.extra.enable = true;
modules.code.enable = true;
modules.games.enable = true;
modules.syncthing.enable = true;
modules.fonts.enable = true;
modules.nixified-ai.enable = true;
};
}