summaryrefslogtreecommitdiff
path: root/util/user.nix
blob: 096d7900eed670223bd80d090bd804ae8e12e3b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
  lib,
  inputs,
  mapFilterDirs,
  ...
}: rec {
  mkHMUser = {
    username,
    pkgs,
    stateVersion ? "22.11",
  }:
    inputs.home-manager.lib.homeManagerConfiguration {
      inherit pkgs;
      modules = [
        ../users/${username}/home.nix
        {
          home = {
            inherit username stateVersion;
            homeDirectory = "/home/${username}";
          };

          programs.home-manager.enable = true;
        }
      ];
    };

  mapHMUsers = users:
    mapFilterDirs ../users (n: v: v == "directory" && n != "root" && n != "secrets") (username: _:
      mkHMUser {
        inherit username;
        inherit (users.${username}) pkgs stateVersion;
      });
}