No description
Introduces a shared configuration file to streamline machine-specific settings for NixOS deployments. This includes: - Hostname configuration - Common system packages (vim, git, htop) - SSH service enablement - Nginx setup with virtual host configuration - Firewall rules for HTTP/HTTPS access Updates machine-specific configurations to import shared settings, reducing redundancy and improving maintainability. 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|---|---|---|
| config | ||
| web-app | ||
| .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