From 88eecddab5a0ad213986927e748d141c6b940b94 Mon Sep 17 00:00:00 2001 From: Pacman99 Date: Wed, 13 Jan 2021 23:20:00 -0800 Subject: [PATCH] users: home-manager only configurations for non-root users or non-nixos systems --- flake.nix | 23 ++++++++++++++++++----- lib/default.nix | 9 +++++++++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 9ff84965..a5bdcb51 100644 --- a/flake.nix +++ b/flake.nix @@ -29,7 +29,8 @@ inherit (builtins) attrValues; inherit (flake-utils.lib) eachDefaultSystem flattenTreeSystem; inherit (nixos.lib) recursiveUpdate; - inherit (self.lib) overlays nixosModules genPackages pkgImport; + inherit (self.lib) overlays nixosModules genPackages pkgImport + genHomeActivationPackages; externOverlays = [ nur.overlay devshell.overlay ]; externModules = [ @@ -52,6 +53,11 @@ inherit (pkgs) lib; }); + homeConfigurations = + builtins.mapAttrs + (_: config: config.config.home-manager.users) + self.nixosConfigurations; + overlay = import ./pkgs; lib = import ./lib { @@ -90,10 +96,17 @@ in pkgImport nixos overlays system; - packages = flattenTreeSystem system - (genPackages { - inherit self pkgs; - }); + packages = + let + packages' = flattenTreeSystem system + (genPackages { + inherit self pkgs; + }); + + homeActivationPackages = genHomeActivationPackages + self.homeConfigurations; + in + recursiveUpdate packages' homeActivationPackages; in { inherit packages; diff --git a/lib/default.nix b/lib/default.nix index 77f89d62..f2f6a2b3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -73,6 +73,15 @@ in (recursiveUpdate cachixAttrs modulesAttrs) profilesAttrs; + genHomeActivationPackages = hmConfigs: { + hmActivationPackages = + builtins.mapAttrs + (_: x: builtins.mapAttrs + (_: cfg: cfg.home.activationPackage) + x) + hmConfigs; + }; + genPackages = { self, pkgs }: let inherit (self) overlay overlays;