diff --git a/flake-parts/hosts.nix b/flake-parts/hosts.nix index a99ca4a..ffa40f8 100644 --- a/flake-parts/hosts.nix +++ b/flake-parts/hosts.nix @@ -9,14 +9,15 @@ let hostName: inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs self; }; - modules = [ - { networking = { inherit hostName; }; } - "${self}/hosts/${hostName}/default.nix" - "${self}/hosts/${hostName}/hardware.nix" - "${self}/hosts/${hostName}/disko.nix" - "${self}/users/seb" - ] - ++ lib.optional (lib.pathExists "${self}/users/seb/@${hostName}") "${self}/users/seb/@${hostName}"; + modules = + (lib.singleton { networking = { inherit hostName; }; }) + ++ ( + "${self}/hosts/${hostName}" + |> builtins.readDir + |> lib.attrNames + |> lib.filter (file: file |> lib.hasSuffix ".nix") + |> lib.map (file: "${self}/hosts/${hostName}/${file}") + ); }; in { diff --git a/profiles/core.nix b/profiles/core.nix index 6f0e790..9b1850c 100644 --- a/profiles/core.nix +++ b/profiles/core.nix @@ -68,7 +68,16 @@ console.keyMap = "de-latin1-nodeadkeys"; - users.mutableUsers = false; + sops.secrets."seb-password".neededForUsers = true; + users = { + mutableUsers = false; + users.seb = { + isNormalUser = true; + description = "Sebastian Stork"; + hashedPasswordFile = config.sops.secrets."seb-password".path; + extraGroups = [ "wheel" ]; + }; + }; programs.neovim = { enable = true; diff --git a/profiles/workstation.nix b/profiles/workstation.nix index 714740c..5c722c9 100644 --- a/profiles/workstation.nix +++ b/profiles/workstation.nix @@ -1,6 +1,16 @@ -{ self, pkgs, ... }: { - imports = [ self.nixosModules.profile-core ]; + config, + inputs, + self, + pkgs, + pkgs-unstable, + ... +}: +{ + imports = [ + self.nixosModules.profile-core + inputs.home-manager.nixosModules.home-manager + ]; boot.kernelPackages = pkgs.linuxPackages_latest; @@ -19,4 +29,14 @@ }; programs.localsend.enable = true; + + programs.zsh.enable = true; + users.users.seb.shell = pkgs.zsh; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit inputs self pkgs-unstable; }; + users.seb = "${self}/users/seb/@${config.networking.hostName}/home.nix"; + }; } diff --git a/users/home-manager.nix b/users/home-manager.nix deleted file mode 100644 index 8a5bbe5..0000000 --- a/users/home-manager.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - inputs, - self, - pkgs-unstable, - ... -}: -{ - imports = [ inputs.home-manager.nixosModules.home-manager ]; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { - inherit inputs self pkgs-unstable; - }; - }; -} diff --git a/users/seb/@desktop/default.nix b/users/seb/@desktop/default.nix deleted file mode 100644 index 1de054e..0000000 --- a/users/seb/@desktop/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ self, pkgs, ... }: -{ - imports = [ "${self}/users/home-manager.nix" ]; - home-manager.users.seb = ./home.nix; - - users.users.seb.shell = pkgs.zsh; - programs.zsh.enable = true; -} diff --git a/users/seb/@laptop/default.nix b/users/seb/@laptop/default.nix deleted file mode 100644 index 1de054e..0000000 --- a/users/seb/@laptop/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ self, pkgs, ... }: -{ - imports = [ "${self}/users/home-manager.nix" ]; - home-manager.users.seb = ./home.nix; - - users.users.seb.shell = pkgs.zsh; - programs.zsh.enable = true; -} diff --git a/users/seb/default.nix b/users/seb/default.nix deleted file mode 100644 index 8ea413f..0000000 --- a/users/seb/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, ... }: -{ - sops.secrets."seb-password".neededForUsers = true; - - users.users.seb = { - isNormalUser = true; - description = "Sebastian Stork"; - hashedPasswordFile = config.sops.secrets."seb-password".path; - extraGroups = [ "wheel" ]; - }; -}