No description
Find a file
padreug ca5b78b561 Add build-local.nix for machine-specific web-app builds and update deployment instructions
Introduced a new example-build-local.nix file to facilitate machine-specific web-app builds, enhancing the deployment process. Updated the .gitignore to include build-local.nix, ensuring user-specific configurations remain untracked. Revised the DEPLOYMENT-GUIDE.md to reflect the addition of build-local.nix and provide clearer instructions for setting up configuration files, improving the onboarding experience for new users.
2025-10-12 08:34:58 +02:00
config Enhance deployment configuration with machine-specific templates and secrets management 2025-10-12 08:16:43 +02:00
.gitignore Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
DEPLOYMENT-GUIDE.md Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
example-build-local.nix Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
example-krops.nix Add initial deployment configuration and setup instructions 2025-10-12 08:25:10 +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