From 6e4b9af0803ac00e94398768c5d19d2e423b0be9 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Thu, 16 Jan 2020 23:41:14 +0100 Subject: Switch to extended Nixpkg's `lib` This change makes use of the `extend` function inside `lib` to inject a new `hm` field containing the Home Manager library functions. This simplifies use of the Home Manager library in the modules and reduces the risk of accidental infinite recursion. PR #994 --- nix-darwin/default.nix | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'nix-darwin') diff --git a/nix-darwin/default.nix b/nix-darwin/default.nix index 1482c7bb245..24f042a7f0b 100644 --- a/nix-darwin/default.nix +++ b/nix-darwin/default.nix @@ -6,17 +6,27 @@ let cfg = config.home-manager; - hmModule = types.submodule ({name, ...}: { - imports = import ../modules/modules.nix { inherit lib pkgs; }; + extendedLib = import ../modules/lib/stdlib-extended.nix pkgs.lib; - config = { - submoduleSupport.enable = true; - submoduleSupport.externalPackageInstall = cfg.useUserPackages; + hmModule = types.submoduleWith { + specialArgs = { lib = extendedLib; }; + modules = [( + {name, ...}: { + imports = import ../modules/modules.nix { + inherit pkgs; + lib = extendedLib; + }; - home.username = config.users.users.${name}.name; - home.homeDirectory = config.users.users.${name}.home; - }; - }); + config = { + submoduleSupport.enable = true; + submoduleSupport.externalPackageInstall = cfg.useUserPackages; + + home.username = config.users.users.${name}.name; + home.homeDirectory = config.users.users.${name}.home; + }; + } + )]; + }; in -- cgit v1.2.3