From af8d71cc7091b96882305d982becc0c3ea90671e Mon Sep 17 00:00:00 2001 From: Leonhard Kost Date: Sat, 31 Jan 2026 13:42:01 +0100 Subject: [PATCH] feat: add config for new device --- flake.nix | 37 +++++++++++++++++--------------- home-manager/server/leonhard.nix | 17 +++++++++++++++ nixos/base.nix | 11 ---------- nixos/desktop/default.nix | 8 +++++++ nixos/server/default.nix | 21 ++++++++++++++++++ 5 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 home-manager/server/leonhard.nix create mode 100644 nixos/server/default.nix diff --git a/flake.nix b/flake.nix index e5382f0..75c1d0f 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,21 @@ inherit (self) outputs; system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; + + mkNixosConfig = name: modules: { + "${name}" = nixpkgs.lib.nixosSystem { + inherit modules; + specialArgs = { inherit inputs outputs; }; + }; + }; + + mkHomeConfig = name: modules: { + "${name}" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + inherit modules; + extraSpecialArgs = { inherit inputs outputs; }; + }; + }; in { packages = import ./pkgs pkgs; @@ -29,23 +44,11 @@ nixosModules = import ./modules/nixos; homeManagerModules = import ./modules/home-manager; - nixosConfigurations = { - desktop = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs outputs; }; - modules = [ - ./nixos/desktop - ]; - }; - }; + nixosConfigurations = + (mkNixosConfig "desktop" [ ./nixos/desktop ]) // (mkNixosConfig "server" [ ./nixos/server ]); - homeConfigurations = { - "leonhard@desktop" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - extraSpecialArgs = { inherit inputs outputs; }; - modules = [ - ./home-manager/desktop/leonhard.nix - ]; - }; - }; + homeConfigurations = + (mkHomeConfig "leonhard@desktop" [ ./home-manager/desktop/leonhard.nix ]) + // (mkHomeConfig "leonhard@server" [ ./home-manager/server/leonhard.nix ]); }; } diff --git a/home-manager/server/leonhard.nix b/home-manager/server/leonhard.nix new file mode 100644 index 0000000..05f5203 --- /dev/null +++ b/home-manager/server/leonhard.nix @@ -0,0 +1,17 @@ +{ + inputs, + outputs, + ... +}: +{ + imports = [ + (import ../base.nix { inherit inputs outputs; }) + ]; + + home = { + username = "leonhard"; + homeDirectory = "/home/leonhard"; + }; + + kekleo.graphical = false; +} diff --git a/nixos/base.nix b/nixos/base.nix index 07f934e..1829f3d 100644 --- a/nixos/base.nix +++ b/nixos/base.nix @@ -72,17 +72,6 @@ LC_TIME = "de_DE.UTF-8"; }; - users.users = { - leonhard = { - # You can set an initial password for your user. - # If you do, you can skip setting a root password by passing '--no-root-passwd' to nixos-install. - # Be sure to change it (using passwd) after rebooting! - initialPassword = "leonhard"; - isNormalUser = true; - extraGroups = [ "wheel" ]; - }; - }; - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "25.11"; } diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix index 9a109de..6545ec8 100644 --- a/nixos/desktop/default.nix +++ b/nixos/desktop/default.nix @@ -27,5 +27,13 @@ # pulse.enable = true; # }; + users.users = { + leonhard = { + initialPassword = "leonhard"; + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + }; + networking.hostName = "desktop"; } diff --git a/nixos/server/default.nix b/nixos/server/default.nix new file mode 100644 index 0000000..9b90508 --- /dev/null +++ b/nixos/server/default.nix @@ -0,0 +1,21 @@ +{ + inputs, + outputs, + ... +}: +{ + imports = [ + (import ../base.nix { inherit inputs outputs; }) + ./hardware-configuration.nix + ]; + + users.users = { + leonhard = { + initialPassword = "leonhard"; + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + }; + + networking.hostName = "server"; +}