From 4e4ec16117af9dbf1043e8b9e82e908e0efbfa75 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Mon, 11 May 2026 17:20:52 -0500 Subject: new standalone home-manager config in flake --- lib/home-manager/default.nix | 3 +++ lib/home-manager/mkprofile.nix | 9 +++++++++ lib/mkprofile.nix | 10 +++++----- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 lib/home-manager/default.nix create mode 100644 lib/home-manager/mkprofile.nix (limited to 'lib') diff --git a/lib/home-manager/default.nix b/lib/home-manager/default.nix new file mode 100644 index 0000000..01801a2 --- /dev/null +++ b/lib/home-manager/default.nix @@ -0,0 +1,3 @@ +{ + _mkProfileArchetype = import ./mkprofile.nix; +} diff --git a/lib/home-manager/mkprofile.nix b/lib/home-manager/mkprofile.nix new file mode 100644 index 0000000..dae4d60 --- /dev/null +++ b/lib/home-manager/mkprofile.nix @@ -0,0 +1,9 @@ +profileName: nixosConfig: homeConfig: { config, lib, ... }: let + cfg = config._archetypes.profiles.${profileName}; +in { + options._archetypes.profiles.${profileName} = { + enable = lib.mkEnableOption "enable (standalone) home-manager profile ${profileName} for the configured user"; + }; + + config = lib.mkIf cfg.enable (lib.mkMerge [ homeConfig ]); +} diff --git a/lib/mkprofile.nix b/lib/mkprofile.nix index ec851de..c8cfe12 100644 --- a/lib/mkprofile.nix +++ b/lib/mkprofile.nix @@ -8,11 +8,11 @@ in { options._archetypes.profiles.${profileName} = { enable = lib.mkEnableOption "enable nixos profile ${profileName}"; home.users = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule { - options = { - enable = lib.mkEnableOption "home-manager profile ${profileName} for user"; - }; - }); + type = lib.types.attrsOf (lib.types.submodule { + options = { + enable = lib.mkEnableOption "home-manager profile ${profileName} for user"; + }; + }); default = {}; description = "enable home-manager profile ${profileName} for user the specified user"; }; -- cgit v1.2.3