From c728c9e627d6d6fd31e53fee040f6fb23ab745f8 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Tue, 21 Apr 2026 12:41:43 +0200 Subject: [PATCH] feat: split hm user base by host type and remove nvim secret --- modules/features/neovim/default.nix | 8 -------- modules/features/user-base.nix | 16 +++++++++++++--- modules/users.nix | 8 +++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/features/neovim/default.nix b/modules/features/neovim/default.nix index fdea638..e410240 100644 --- a/modules/features/neovim/default.nix +++ b/modules/features/neovim/default.nix @@ -23,17 +23,9 @@ }) ]; - # Configure sops-nix secret - sops.secrets.gemini-api-key-neovim = { }; - wrappers.neovim = { enable = true; - # Inject the API key into the Neovim environment only - env = { - GEMINI_API_KEY = "$(cat ${config.sops.secrets.gemini-api-key-neovim.path})"; - }; - # 1. Point to your existing Lua config directory settings.config_directory = ./lua-config; diff --git a/modules/features/user-base.nix b/modules/features/user-base.nix index e1f4564..dbe2af5 100644 --- a/modules/features/user-base.nix +++ b/modules/features/user-base.nix @@ -3,17 +3,27 @@ let homeModules = config.flake.modules.homeManager; in { - flake.modules.homeManager."user-base" = { + flake.modules.homeManager."common-user-base" = { imports = [ homeModules.terminal homeModules.shell homeModules.neovim - homeModules."ssh-client" - homeModules."sops-admin" homeModules.git homeModules."dev-tools" homeModules.podman homeModules.gemini ]; }; + + flake.modules.homeManager."server-user-base" = { + imports = [ homeModules."common-user-base" ]; + }; + + flake.modules.homeManager."workstation-user-base" = { + imports = [ + homeModules."common-user-base" + homeModules."ssh-client" + homeModules."sops-admin" + ]; + }; } diff --git a/modules/users.nix b/modules/users.nix index 0db3e07..d43b3ff 100644 --- a/modules/users.nix +++ b/modules/users.nix @@ -68,6 +68,7 @@ let primaryEmails = lib.filter (email: email.primary) (builtins.attrValues account.emails); isWorkstation = config.meta.host.kind == "workstation"; hasWorkstationModule = builtins.hasAttr workstationModuleName homeModules; + baseModuleName = if isWorkstation then "workstation-user-base" else "server-user-base"; in { assertions = [ @@ -99,8 +100,10 @@ let home-manager.users.${name} = { imports = [ + homeModules.${baseModuleName} homeModules.${userModuleName} ] + ++ extraHomeImports ++ lib.optionals (isWorkstation && hasWorkstationModule) [ homeModules.${workstationModuleName} ]; @@ -122,11 +125,6 @@ let homeDirectory = account.homeDirectory; stateVersion = "24.05"; }; - - imports = [ - homeModules."user-base" - ] - ++ extraHomeImports; }; };