diff options
| author | seth <[email protected]> | 2024-02-09 16:20:57 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2024-02-09 16:20:57 -0500 |
| commit | a5c6d7e075affe0ca95bd8e64fce9c387efc382b (patch) | |
| tree | 090db4dd6c07906d46013432dca668bccb2e3ad0 /modules/shared/traits | |
| parent | ed19b2e58435bb6db6a10758b025821256b1af1f (diff) | |
seth: modularize user setup
Diffstat (limited to 'modules/shared/traits')
| -rw-r--r-- | modules/shared/traits/default.nix | 1 | ||||
| -rw-r--r-- | modules/shared/traits/users.nix | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/modules/shared/traits/default.nix b/modules/shared/traits/default.nix index fa5ba25..7f5a47d 100644 --- a/modules/shared/traits/default.nix +++ b/modules/shared/traits/default.nix @@ -2,5 +2,6 @@ imports = [ ./locale.nix ./home-manager.nix + ./users.nix ]; } diff --git a/modules/shared/traits/users.nix b/modules/shared/traits/users.nix new file mode 100644 index 0000000..c7b713a --- /dev/null +++ b/modules/shared/traits/users.nix @@ -0,0 +1,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; + }; + }) + ]; +} |
