No description
Find a file
padreug c27fb73f3e Refactor shared Nix configuration to improve hostname handling and enable experimental features
Updated the shared Nix configuration to replace dots in the domain with hyphens for hostname setting, enhancing clarity. Additionally, enabled experimental Nix features, including 'nix-command' and 'flakes', to improve functionality and flexibility in the NixOS setup.
2025-10-09 18:07:46 +02:00
config Refactor shared Nix configuration to improve hostname handling and enable experimental features 2025-10-09 18:07:46 +02:00
.gitignore gitignore 2025-10-09 18:07:46 +02:00
DEPLOYMENT-GUIDE.md Update deployment guide and krops configuration for improved clarity and consistency 2025-10-08 18:00:28 +02:00
README.md Add krops multi-machine deployment configuration for nix-25.05 2025-09-30 11:05:52 +02:00

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

  1. Update target hostnames/IPs in krops.nix:

    • Change root@machine1.example.com to your machine1 address
    • Change root@machine2.example.com to your machine2 address
  2. Customize NixOS configurations in config/machine1/configuration.nix and config/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