No description
Find a file
steffen da219a52ec fix forgejo-runner: use local URL instead of public FQDN
Runner on the same host cannot reach Forgejo via the public HTTPS URL
during boot (ACME certs not ready, nginx not fully up). Use the local
HTTP endpoint instead.
2026-03-14 12:52:46 +01:00
.forgejo/workflows Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00
apps fix: use --sudo --ask-sudo-password instead of deprecated --use-remote-sudo 2026-03-14 12:11:21 +01:00
docs fix forgejo admin create command to use shell alias 2026-03-14 12:36:13 +01:00
hosts fix forgejo-runner: use local URL instead of public FQDN 2026-03-14 12:52:46 +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
.gitignore add .gitignore, fix headscale CLI to use numeric user IDs 2026-03-14 12:28:47 +01:00
.sops.yaml rename admin_key to steffen_key, add forgejo admin account step 2026-03-14 12:33:09 +01:00
AGENTS.md fix: use --sudo --ask-sudo-password instead of deprecated --use-remote-sudo 2026-03-14 12:11:21 +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.