No description
Find a file
steffen 10bb0c8e34 add deploy/create/install apps, fix templates and docs
- Add apps: create (scaffold host from template), deploy (multi-host
  deployment with -n filter), install (NixOS installation from live ISO)
- Register all apps in flake.nix (create, deploy, install, rebuild)
- Add deploy.json config (cryodev-main, SSH port 2299)
- Fix generic-server template: was using Pi hardware/boot config,
  now correct x86_64 with systemd-boot, UEFI, ROOT/BOOT/SWAP labels
- Fix template networking.nix: use HOSTNAME placeholder instead of
  hardcoded cryodev-pi (both templates)
- Fix headplane upstream pnpm-deps hash mismatch via overlay
- Fix all docs: replace root@ with user@, --ssh-option with
  NIX_SSHOPTS, add deploy app references, update first-install guide
  to use create app and document service deactivation steps
2026-03-14 12:08:30 +01:00
.forgejo/workflows Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00
apps add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
docs add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
hosts added not tested isntall script and some secrets 2026-03-14 11:33:59 +01:00
lib Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00
modules/nixos add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
overlays Initial commit 2026-03-06 08:31:13 +01:00
pkgs Initial commit 2026-03-06 08:31:13 +01:00
scripts Initial commit 2026-03-06 08:31:13 +01:00
templates add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
users Initial commit 2026-03-06 08:31:13 +01:00
.sops.yaml updated pubkey for server, reenabled services, updated docs 2026-03-14 11:19:48 +01:00
AGENTS.md add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
constants.nix Initial commit 2026-03-06 08:31:13 +01:00
deploy.json add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
digest.txt updated docs and ai shit 2026-03-14 11:44:41 +01:00
flake.lock Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00
flake.nix add deploy/create/install apps, fix templates and docs 2026-03-14 12:08:30 +01:00
README.md Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00

cryodev NixOS Configuration

Declarative NixOS infrastructure for the cryodev environment, managed with Nix Flakes.

Quick Start

# Clone repository
git clone https://git.cryodev.xyz/steffen/cryodev-server.git
cd cryodev-server

# Check configuration
nix flake check

# Build a host
nix build .#nixosConfigurations.cryodev-main.config.system.build.toplevel

Hosts

Host Architecture Deployment Description
cryodev-main x86_64 Push (deploy-rs) Main server
cryodev-pi aarch64 Pull (Comin) Raspberry Pi client

Services

Service Domain Description
Headscale headscale.cryodev.xyz Self-hosted Tailscale server
Headplane headplane.cryodev.xyz Headscale web UI
Forgejo git.cryodev.xyz Git hosting with CI/CD
Netdata netdata.cryodev.xyz Monitoring dashboard
Mail mail.cryodev.xyz Email (Postfix/Dovecot)

Raspberry Pi SD Images

SD card images for Raspberry Pi clients are built automatically on every push to main.

Download from: Releases

# Flash to SD card
zstd -d cryodev-pi-sd-image.img.zst
sudo dd if=cryodev-pi-sd-image.img of=/dev/sdX bs=4M status=progress

See Adding a new Raspberry Pi for the full workflow.

Documentation

Full documentation is available in the docs/ directory:

Directory Structure

.
├── flake.nix           # Flake entry point
├── constants.nix       # Central configuration
├── hosts/              # Host configurations
├── modules/            # Reusable NixOS modules
├── pkgs/               # Custom packages
├── overlays/           # Nixpkgs overlays
├── templates/          # Host templates
├── scripts/            # Helper scripts
├── apps/               # Nix apps (rebuild)
├── lib/                # Helper functions
└── docs/               # Documentation

Commands

# Format code
nix fmt

# Run checks
nix flake check

# Update dependencies
nix flake update

# Enter dev shell
nix develop

# Build Pi SD image locally
nix build .#nixosConfigurations.cryodev-pi.config.system.build.sdImage

License

Private repository.