diff --git a/profiles/base.nix b/profiles/base.nix new file mode 100644 index 0000000..c6531d4 --- /dev/null +++ b/profiles/base.nix @@ -0,0 +1,17 @@ +{ + lib, + config, + ... +}: +{ + options = { + profiles.base.enable = lib.mkEnableOption "base profile for all machines"; + }; + + config = lib.mkIf config.profiles.base.enable { + openssh.enable = lib.mkDefault true; + zsh.enable = lib.mkDefault true; + localisation.enable = lib.mkDefault true; + gnupg.enable = lib.mkDefault true; + }; +} diff --git a/profiles/default.nix b/profiles/default.nix new file mode 100644 index 0000000..70db651 --- /dev/null +++ b/profiles/default.nix @@ -0,0 +1 @@ +{ lib, my-lib }: args: (my-lib.autoDir ./.) diff --git a/profiles/desktop.nix b/profiles/desktop.nix new file mode 100644 index 0000000..3795093 --- /dev/null +++ b/profiles/desktop.nix @@ -0,0 +1,23 @@ +{ + lib, + config, + ... +}: +{ + options = { + profiles.desktop.enable = lib.mkEnableOption "desktop profile (sway, audio, printing)"; + }; + + config = lib.mkIf config.profiles.desktop.enable { + profiles.base.enable = lib.mkDefault true; + desktop.enable = lib.mkDefault true; + sway.enable = lib.mkDefault true; + tuigreet = { + enable = lib.mkDefault true; + command = lib.mkDefault "sway"; + }; + printing.enable = lib.mkDefault true; + workstation.enable = lib.mkDefault true; + yubikey.enable = lib.mkDefault true; + }; +} diff --git a/profiles/server.nix b/profiles/server.nix new file mode 100644 index 0000000..4dfcd38 --- /dev/null +++ b/profiles/server.nix @@ -0,0 +1,15 @@ +{ + lib, + config, + ... +}: +{ + options = { + profiles.server.enable = lib.mkEnableOption "headless server profile"; + }; + + config = lib.mkIf config.profiles.server.enable { + profiles.base.enable = lib.mkDefault true; + workstation.enable = lib.mkDefault true; + }; +}