From 92ca826539092f33c8e19a19c7a9ea0def2aece0 Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 17 Apr 2023 12:00:55 -0400 Subject: move most configurations to modules --- lib/user.nix | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 lib/user.nix (limited to 'lib/user.nix') diff --git a/lib/user.nix b/lib/user.nix new file mode 100644 index 0000000..6377faa --- /dev/null +++ b/lib/user.nix @@ -0,0 +1,40 @@ +{ + inputs, + mapFilterDirs, +}: rec { + mkHMUser = { + username, + pkgs, + stateVersion ? "22.11", + modules ? [], + }: + inputs.home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = + [ + ../users/${username}/home.nix + { + home = { + inherit username stateVersion; + homeDirectory = "/home/${username}"; + }; + + programs.home-manager.enable = true; + } + ] + ++ modules; + }; + + mapHMUsers = inputs: system: let + users = import ../users inputs system; + in + mapFilterDirs ../users (n: v: v == "directory" && n != "secrets") (username: _: + mkHMUser { + inherit username; + inherit (users.${username}) pkgs stateVersion; + modules = + if builtins.hasAttr "modules" users.${username} + then users.${username}.modules + else []; + }); +} -- cgit v1.2.3