No description
Updated the shared Nix configuration to extract the hostname from the domain, enhancing clarity in the setup. Reordered module imports to ensure proper dependency management, including the addition of module arguments for better customization. This change improves the overall organization and maintainability of the NixOS configuration. |
||
|---|---|---|
| config | ||
| .gitignore | ||
| DEPLOYMENT-GUIDE.md | ||
| README.md | ||
Krops Multi-Machine Deployment
This project deploys NixOS configurations to two machines using krops with nix-25.05.
Structure
.
├── krops.nix # Main deployment configuration
└── config/
├── machine1/
│ └── configuration.nix # Machine 1 NixOS config
└── machine2/
└── configuration.nix # Machine 2 NixOS config
Setup
-
Update target hostnames/IPs in
krops.nix:- Change
root@machine1.example.comto your machine1 address - Change
root@machine2.example.comto your machine2 address
- Change
-
Customize NixOS configurations in
config/machine1/configuration.nixandconfig/machine2/configuration.nix
Usage
Deploy to a single machine:
nix-build ./krops.nix -A machine1 && ./result
nix-build ./krops.nix -A machine2 && ./result
Deploy to all machines:
nix-build ./krops.nix -A all && ./result
Requirements
- SSH access to target machines as root
- Target machines running NixOS
- nix installed on the deployment machine