feat: setup initial profiles

This commit is contained in:
2026-03-07 15:48:46 +01:00
parent f3aa4847c5
commit d60721f955
4 changed files with 56 additions and 0 deletions

17
profiles/base.nix Normal file
View File

@@ -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;
};
}

1
profiles/default.nix Normal file
View File

@@ -0,0 +1 @@
{ lib, my-lib }: args: (my-lib.autoDir ./.)

23
profiles/desktop.nix Normal file
View File

@@ -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;
};
}

15
profiles/server.nix Normal file
View File

@@ -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;
};
}