diff options
| author | seth <[email protected]> | 2023-03-01 02:08:49 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-03-01 02:08:49 -0500 |
| commit | 6891fa0b2ebc082515a3532d3e23999054cfa3ef (patch) | |
| tree | b0ceaba4b7d17d09df1fc739dfa0ee013f3349c5 /users | |
| parent | 41d79acda75af9aa3f2feb54c3fb78d63f74d7b9 (diff) | |
add mkUser for more modular user creation
Diffstat (limited to 'users')
| -rw-r--r-- | users/seth/default.nix | 69 | ||||
| -rw-r--r-- | users/seth/desktop/default.nix | 7 | ||||
| -rw-r--r-- | users/seth/home.nix | 18 |
3 files changed, 52 insertions, 42 deletions
diff --git a/users/seth/default.nix b/users/seth/default.nix index 1476323..140eac8 100644 --- a/users/seth/default.nix +++ b/users/seth/default.nix @@ -1,42 +1,39 @@ { - config, pkgs, - home-manager, - desktop, - ... -}: { - users.users.seth = { - extraGroups = ["wheel"]; - isNormalUser = true; - hashedPassword = "***REMOVED***"; - shell = pkgs.fish; + specialArgs, + user, + system ? "x86_64-linux", + nixpkgsStable, +}: let + common = { + username = "seth"; + stateVersion = "23.05"; }; - - programs.fish.enable = true; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.seth = { - imports = - [ - ./home.nix - ./shell - ] - ++ ( - if (desktop != "") - then [./desktop] - else [] - ); - - home.stateVersion = config.system.stateVersion; - - nixpkgs.config = { - allowUnfree = true; - allowUnsupportedSystem = true; +in + with user; { + hm.seth = mkHMUser { + inherit (common) username stateVersion; + inherit system; + channel = pkgs; + extraSpecialArgs = { + inherit nixpkgsStable; + standalone = true; + desktop = ""; }; + }; - systemd.user.startServices = true; + system = mkUser { + inherit (common) username stateVersion; + inherit system; + extraGroups = ["wheel"]; + extraModules = [ + { + programs.fish.enable = true; + } + ]; + extraSpecialArgs = specialArgs; + hashedPassword = "***REMOVED***"; + shell = pkgs.legacyPackages.${system}.fish; + hm = true; }; - }; -} + } diff --git a/users/seth/desktop/default.nix b/users/seth/desktop/default.nix index 3a871ee..cf87b3f 100644 --- a/users/seth/desktop/default.nix +++ b/users/seth/desktop/default.nix @@ -11,7 +11,12 @@ ++ ( if (desktop == "gnome") then [./gnome.nix] - else [./plasma.nix] + else [] + ) + ++ ( + if (desktop == "plasma") + then [./plasma.nix] + else [] ); home.packages = with pkgs; [ diff --git a/users/seth/home.nix b/users/seth/home.nix index 4852ad0..5c175e7 100644 --- a/users/seth/home.nix +++ b/users/seth/home.nix @@ -1,8 +1,16 @@ -_: { - imports = [ - ./programs - ./shell - ]; +{desktop, ...}: let + usingDesktop = desktop != ""; +in { + imports = + [ + ./programs + ./shell + ] + ++ ( + if usingDesktop + then [./desktop] + else [] + ); nix.settings.warn-dirty = false; } |
