No description
Modified krops.nix to switch to a git-based nixpkgs source, noting the initial download cost. Updated shared.nix to change module imports to absolute paths and enabled experimental Nix features. Adjusted configuration.nix to import shared configuration from an absolute path and updated the domain name for machine1. These changes enhance clarity, maintainability, and functionality in the NixOS setup. |
||
|---|---|---|
| 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