No description
Find a file
steffen 33bc9f5e33
Some checks failed
Deploy / flake-check (push) Successful in 44s
Deploy / build-hosts (push) Successful in 32s
Deploy / build-pi-images (cryodev-pi) (push) Successful in 3m35s
Deploy / create-release (push) Failing after 17s
Merge pull request 'develop' (#2) from develop into main
Reviewed-on: #2
2026-03-14 15:44:13 +01:00
.forgejo/workflows fix SD image CI: use find -L to follow symlinks in Nix store 2026-03-14 15:38:42 +01:00
apps fix: use --sudo --ask-sudo-password instead of deprecated --use-remote-sudo 2026-03-14 12:11:21 +01:00
docs translate all docs to English 2026-03-14 15:31:50 +01:00
hosts fix Pi build: force initrd modules to exclude x86 hardware 2026-03-14 15:04:29 +01:00
lib Add SD image pipeline, documentation overhaul, and fix module issues 2026-03-11 08:41:58 +01:00
modules/nixos remove markdown-preview plugin, re-enable Pi builds in CI 2026-03-14 15:12:24 +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 fix Pi build and CI pipeline ordering 2026-03-14 14:56:10 +01:00
users remove cryotherm user from all hosts and templates 2026-03-14 14:18:05 +01:00
.gitignore remove sid.ovh and clean up gitignore 2026-03-14 14:44:44 +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 rewrite AGENTS.md: comprehensive agent guidelines 2026-03-14 15:36:18 +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 digingest 2026-03-14 15:37:09 +01:00
flake.lock remove deploy-rs completely 2026-03-14 14:47:49 +01:00
flake.nix remove deploy-rs completely 2026-03-14 14:47:49 +01:00
README.md remove all deploy-rs references from docs and config 2026-03-14 14:52:30 +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.git
cd cryodev

# 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 Pull (Comin) 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.