diff options
| -rw-r--r-- | modules/darwin/traits/users.nix | 14 | ||||
| -rw-r--r-- | modules/nixos/traits/users.nix | 22 | ||||
| -rw-r--r-- | modules/shared/traits/default.nix | 1 | ||||
| -rw-r--r-- | modules/shared/traits/users.nix | 40 | ||||
| -rw-r--r-- | users/seth/darwin.nix | 17 | ||||
| -rw-r--r-- | users/seth/nixos.nix | 30 | ||||
| -rw-r--r-- | users/seth/system.nix | 36 |
7 files changed, 89 insertions, 71 deletions
diff --git a/modules/darwin/traits/users.nix b/modules/darwin/traits/users.nix index 7ad7491..b0a2078 100644 --- a/modules/darwin/traits/users.nix +++ b/modules/darwin/traits/users.nix @@ -1,15 +1,5 @@ { - config, - lib, - ... -}: let - cfg = config.traits.users; -in { - config = lib.mkMerge [ - (lib.mkIf cfg.seth.enable { - home-manager.users.seth = { - seth.desktop.enable = false; - }; - }) + imports = [ + ../../../users/seth/darwin.nix ]; } diff --git a/modules/nixos/traits/users.nix b/modules/nixos/traits/users.nix index 31d1b9c..de28c00 100644 --- a/modules/nixos/traits/users.nix +++ b/modules/nixos/traits/users.nix @@ -17,16 +17,12 @@ in { default = config.traits.secrets.enable; }; }; - - seth = { - manageSecrets = - lib.mkEnableOption "automatic secrets management" - // { - default = config.traits.secrets.enable; - }; - }; }; + imports = [ + ../../../users/seth/nixos.nix + ]; + config = lib.mkMerge [ (lib.mkIf cfg.hostUser.enable { users.users.${hostName} = { @@ -44,15 +40,5 @@ in { hashedPasswordFile = config.age.secrets.userPassword.path; }; }) - - (lib.mkIf (cfg.seth.enable && cfg.seth.manageSecrets) { - age.secrets = { - sethPassword.file = secretsDir + "/sethPassword.age"; - }; - - users.users.seth = { - hashedPasswordFile = lib.mkDefault config.age.secrets.sethPassword.path; - }; - }) ]; } diff --git a/modules/shared/traits/default.nix b/modules/shared/traits/default.nix index 7f5a47d..fa5ba25 100644 --- a/modules/shared/traits/default.nix +++ b/modules/shared/traits/default.nix @@ -2,6 +2,5 @@ imports = [ ./locale.nix ./home-manager.nix - ./users.nix ]; } diff --git a/modules/shared/traits/users.nix b/modules/shared/traits/users.nix deleted file mode 100644 index c7b713a..0000000 --- a/modules/shared/traits/users.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - 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; - }; - }) - ]; -} diff --git a/users/seth/darwin.nix b/users/seth/darwin.nix new file mode 100644 index 0000000..e2c59c8 --- /dev/null +++ b/users/seth/darwin.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: let + cfg = config.traits.users.seth; +in { + imports = [./system.nix]; + + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + home-manager.users.seth = { + seth.desktop.enable = false; + }; + }) + ]; +} diff --git a/users/seth/nixos.nix b/users/seth/nixos.nix new file mode 100644 index 0000000..fd65322 --- /dev/null +++ b/users/seth/nixos.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + secretsDir, + ... +}: let + cfg = config.traits.users.seth; +in { + options.traits.users.seth = { + manageSecrets = + lib.mkEnableOption "automatic secrets management" + // { + default = config.traits.secrets.enable; + }; + }; + + imports = [./system.nix]; + + config = lib.mkMerge [ + (lib.mkIf (cfg.enable && cfg.manageSecrets) { + age.secrets = { + sethPassword.file = secretsDir + "/sethPassword.age"; + }; + + users.users.seth = { + hashedPasswordFile = lib.mkDefault config.age.secrets.sethPassword.path; + }; + }) + ]; +} diff --git a/users/seth/system.nix b/users/seth/system.nix new file mode 100644 index 0000000..3ca1da1 --- /dev/null +++ b/users/seth/system.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + inputs, + ... +}: let + cfg = config.traits.users.seth; +in { + options.traits.users.seth = { + enable = lib.mkEnableOption "Seth's user & home configurations"; + }; + + config = lib.mkIf cfg.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; + }; + }; +} |
