Unified NixOS and Home Manager configuration monorepo with automated CI matrix builds and Cachix binary caching.
hosts/: NixOS system host definitions (khonsu,ptah,anubis,bes,seth,sobek,wsl).modules/: NixOS system-level modules (DEs, services, drivers, networking).home/: Home Manager configurations and user dotfiles.home/common/: Shared configuration across all systems (shell, git, vim, fastfetch, starship).home/configs/: Target-specific profiles (desktop, dev, debian, wsl, arch, guest).home/files/: Static configuration assets.
To apply on a NixOS host (e.g. khonsu, ptah, anubis, bes, seth, sobek, wsl):
# Local
doas nixos-rebuild switch --flake .#<hostname>
# Remote
doas nixos-rebuild switch --flake github:lennihein/dotfiles#<hostname>Deploy to configured remote nodes (anubis, bes, seth, sobek):
# Deploy all configured nodes
nix run github:serokell/deploy-rs -- .
# Deploy a specific node (e.g. bes)
nix run github:serokell/deploy-rs -- .#bes
# Remote repository deployment
nix run github:serokell/deploy-rs -- github:lennihein/dotfiles
nix run github:serokell/deploy-rs -- github:lennihein/dotfiles#besTo apply standalone Home Manager (e.g. debianwsl, archwsl, debian-headless, nixos):
# Local
home-manager switch --flake .#<profile>
# Remote
home-manager switch --flake github:lennihein/dotfiles#<profile>- Evaluate flake without building:
nix flake check - Update all dependencies:
nix flake update - Update a specific input:
nix flake lock --update-input <input> - CI / Binary Cache: GitHub Actions automatically tests builds across all hosts on push and caches them to Cachix (
lennihein).