From d60721f955751047eba1df83f1db770d9a6a818e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Jane=C5=BEi=C4=8D?= Date: Sat, 7 Mar 2026 15:48:46 +0100 Subject: [PATCH] feat: setup initial profiles --- profiles/base.nix | 17 +++++++++++++++++ profiles/default.nix | 1 + profiles/desktop.nix | 23 +++++++++++++++++++++++ profiles/server.nix | 15 +++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 profiles/base.nix create mode 100644 profiles/default.nix create mode 100644 profiles/desktop.nix create mode 100644 profiles/server.nix 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; + }; +}