Restructure flake into per-host modules

Move host-specific files under hosts/<name>/ so a second machine can be
added without forking the repo. Split system/users.nix and
system/display-manager.nix into per-option subfolders, separate the
home-manager packages list into a shared base and a personal bundle,
extract networking.hostName out of the shared networking module, and
inline the git identity into the per-host home.nix. Add .gitignore
guardrails to keep secrets out.
This commit is contained in:
2026-06-29 18:52:53 +02:00
parent c2d233b3fa
commit 3ae5cba9a6
14 changed files with 81 additions and 59 deletions

View File

@@ -9,20 +9,27 @@
};
};
outputs = { self, nixpkgs, home-manager, ... }: {
nixosConfigurations.hivebrain = nixpkgs.lib.nixosSystem {
outputs = { self, nixpkgs, home-manager, ... }:
let
mkHost = { hostPath, username, homePath }: nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
hostPath
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.marvin = import ./home.nix;
users.${username} = import homePath;
backupFileExtension = "backup";
};
}
];
};
in {
nixosConfigurations.hivebrain = mkHost {
hostPath = ./hosts/hivebrain;
username = "marvin";
homePath = ./hosts/hivebrain/home.nix;
};
};
}