summaryrefslogtreecommitdiff
path: root/util/user.nix
blob: f392eb15b4e799cbfdd684e5e404b9f9cf55dd90 (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
34
35
{ home-manager, ... }: {
  mkHMUser =
    { username
    , stateVersion ? "22.11"
    , system ? "x86_64-linux"
    , channel
    , modules ? [ ]
    ,
    }:
    home-manager.lib.homeManagerConfiguration {
      pkgs = channel.legacyPackages.${system};
      modules =
        [
          ../users/${username}/home.nix
          {
            nixpkgs.config.allowUnfree = true;

            nix = {
              package = channel.legacyPackages.${system}.nixFlakes;
              settings.experimental-features = [ "nix-command" "flakes" ];
            };

            systemd.user.startServices = true;

            home = {
              inherit username stateVersion;
              homeDirectory = "/home/${username}";
            };

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