summaryrefslogtreecommitdiff
path: root/modules/shared/traits/users.nix
blob: c7b713abcc0ee97c2653a3e2b6999ac01a11569e (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
36
37
38
39
40
{
  config,
  lib,
  pkgs,
  inputs,
  ...
}: let
  cfg = config.traits.users;
in {
  options.traits.users = {
    seth = {
      enable = lib.mkEnableOption "Seth's user & home configurations";
    };
  };

  config = lib.mkMerge [
    (lib.mkIf cfg.seth.enable {
      users.users.seth =
        {
          shell = pkgs.fish;
          home = lib.mkDefault (
            if pkgs.stdenv.isDarwin
            then "/Users/seth"
            else "/home/seth"
          );
        }
        // lib.optionalAttrs pkgs.stdenv.isLinux {
          extraGroups = ["wheel"];
          isNormalUser = true;
        };

      programs.fish.enable = lib.mkDefault true;

      home-manager.users.seth = {
        imports = [inputs.self.homeModules.seth];
        seth.enable = true;
      };
    })
  ];
}