From f4aff45550c1ae59f86f8cae564bd6d8eda5b7b9 Mon Sep 17 00:00:00 2001 From: Patrick Neff Date: Sun, 14 Apr 2024 16:18:52 +0200 Subject: [PATCH] use default home-manager settings --- flake.nix | 1 + lib/default.nix | 2 ++ lib/mkHomeConfiguration.nix | 33 +++++++++++--------------- lib/mkHomeManagerDefaults.nix | 20 ++++++++++++++++ lib/mkHomeNixosModule.nix | 16 ++++--------- lib/mkNixosHomeConfiguration.nix | 10 ++++++++ modules/nixos/home-manager/default.nix | 5 ++++ profiles/nixos/vm/configuration.nix | 23 ++++++------------ 8 files changed, 64 insertions(+), 46 deletions(-) create mode 100644 lib/mkHomeManagerDefaults.nix create mode 100644 lib/mkNixosHomeConfiguration.nix create mode 100644 modules/nixos/home-manager/default.nix diff --git a/flake.nix b/flake.nix index 8000dad..80c5f8f 100644 --- a/flake.nix +++ b/flake.nix @@ -56,6 +56,7 @@ wsl = import ./modules/nixos/wsl; mediacenter = import ./modules/nixos/mediacenter; qemu = import ./modules/nixos/qemu; + home-manager = import ./modules/nixos/home-manager; }; nixosConfigurations = flakeLib.mkNixosConfiguration { diff --git a/lib/default.nix b/lib/default.nix index cde134d..1b9a3a4 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -6,4 +6,6 @@ mkNixosConfiguration = import ./mkNixosConfiguration.nix; mkHomeConfiguration = import ./mkHomeConfiguration.nix; mkHomeNixosModule = import ./mkHomeNixosModule.nix; + mkHomeManagerDefaults = import ./mkHomeManagerDefaults.nix; + mkNixosHomeconfiguration = import ./mkNixosHomeconfiguration.nix; } diff --git a/lib/mkHomeConfiguration.nix b/lib/mkHomeConfiguration.nix index e9e0003..8421f3a 100644 --- a/lib/mkHomeConfiguration.nix +++ b/lib/mkHomeConfiguration.nix @@ -1,25 +1,20 @@ -{ - nixpkgs, +moduleInputs @ { inputs, - outputs, flakeLib, vars, - system, - profile, - overlays ? [], ... -}: { - ${profile} = inputs.home-manager.lib.homeManagerConfiguration { - extraSpecialArgs = { - inherit inputs outputs vars flakeLib; - inherit (inputs) nix-colors; - }; - pkgs = flakeLib.mkPkgs { - inherit nixpkgs system overlays; - }; +}: let + inherit (vars) username hostName; + profile = "${username}@${hostName}"; +in { + ${profile} = let + config = flakeLib.mkHomeManagerConfig moduleInputs; + in + inputs.home-manager.lib.homeManagerConfiguration { + inherit (config) extraSpecialArgs pkgs useGlobalPkgs useUserPackages; - modules = [ - ../profiles/home-manager/${profile}/home.nix - ]; - }; + modules = [ + ../profiles/home-manager/${profile}/home.nix + ]; + }; } diff --git a/lib/mkHomeManagerDefaults.nix b/lib/mkHomeManagerDefaults.nix new file mode 100644 index 0000000..e4acdec --- /dev/null +++ b/lib/mkHomeManagerDefaults.nix @@ -0,0 +1,20 @@ +{ + inputs, + outputs, + vars, + flakeLib, + nixpkgs, + system, + overlays, + ... +}: { + extraSpecialArgs = { + inherit inputs outputs vars flakeLib; + inherit (inputs) nix-colors; + }; + pkgs = flakeLib.mkPkgs { + inherit nixpkgs system overlays; + }; + useGlobalPkgs = true; + useUserPackages = true; +} diff --git a/lib/mkHomeNixosModule.nix b/lib/mkHomeNixosModule.nix index 07cbd40..ef8f4ef 100644 --- a/lib/mkHomeNixosModule.nix +++ b/lib/mkHomeNixosModule.nix @@ -1,16 +1,10 @@ -{ - inputs, - outputs, - vars, +moduleInputs @ { flakeLib, users ? {}, ... -}: { +}: let + config = flakeLib.mkHomeManagerConfig moduleInputs; +in { + inherit (config) extraSpecialArgs useGlobalPkgs useUserPackages; inherit users; - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { - inherit inputs outputs vars flakeLib; - inherit (inputs) nix-colors; - }; } diff --git a/lib/mkNixosHomeConfiguration.nix b/lib/mkNixosHomeConfiguration.nix new file mode 100644 index 0000000..e02c593 --- /dev/null +++ b/lib/mkNixosHomeConfiguration.nix @@ -0,0 +1,10 @@ +{vars, ...}: let + inherit (vars) username hostName; + profile = "${username}@${hostName}"; +in { + ${username} = { + imports = [ + ../../home-manager/${profile}/home.nix + ]; + }; +} diff --git a/modules/nixos/home-manager/default.nix b/modules/nixos/home-manager/default.nix new file mode 100644 index 0000000..823f5c6 --- /dev/null +++ b/modules/nixos/home-manager/default.nix @@ -0,0 +1,5 @@ +moduleInputs @ {flakeLib, ...}: let + config = flakeLib.mkHomeManagerConfig moduleInputs; +in { + inherit (config) extraSpecialArgs pkgs useGlobalPkgs useUserPackages; +} diff --git a/profiles/nixos/vm/configuration.nix b/profiles/nixos/vm/configuration.nix index 1b41070..40a2630 100644 --- a/profiles/nixos/vm/configuration.nix +++ b/profiles/nixos/vm/configuration.nix @@ -13,26 +13,17 @@ in { # outputs.nixosModules.desktop outputs.nixosModules.wsl outputs.nixosModules.mediacenter + outputs.nixosModules.home-manager ./hardware-configuration.nix ]; - home-manager = flakeLib.mkHomeNixosModule { - inherit inputs outputs vars flakeLib; - users.${vars.username} = let - profile = "${username}@${hostName}"; - in { - imports = [ - ../../home-manager/${profile}/home.nix - ]; + home-manager.users = + flakeLib.mkNixosHomeConfiguration { + inherit vars; + } + // flakeLib.mkNixosUserConfiguration { + vars = vars // {username = "kodi";}; }; - users.kodi = let - profile = "kodi@${hostName}"; - in { - imports = [ - ../../home-manager/${profile}/home.nix - ]; - }; - }; system.stateVersion = "23.11"; }