nix flake · reproducible fleet

One flake. Every device.

A single Nix configuration managing an entire fleet — NixOS workstations, Macs, cloud servers, a Raspberry Pi, WSL, even an Android phone. Every machine rebuilds identically from one git clone.

View on GitHub About the Author

The Fleet

Seven platform classes, one entry point.

NixOS

Workstations

Daily drivers running NixOS with Hyprland on Wayland, declarative desktops down to the wallpaper.

pc · vivobook
nix-darwin

Macs

macOS managed declaratively: system defaults, Homebrew casks, Aerospace tiling, Sketchybar — all in Nix.

beast · 2 work machines
nixos-anywhere

Cloud Servers

VPS hosts provisioned from zero with nixos-anywhere: disk partitioning, hardening, nginx, and production client workloads — fully declared, deployed over SSH.

hostinger · digitalocean
ARM

Raspberry Pi

Same flake, aarch64 target. The Pi gets the identical base profile as every other machine.

raspi
WSL

Windows via WSL

NixOS-WSL brings the full home-manager environment onto Windows machines without dual-booting.

wsl
nix-on-droid

Android

Even the phone is in the flake — a declarative shell environment running on Android.

honor

The Graph

How one flake fans out to nine machines. Hover to trace a path, click any node for details.

How It Fits Together

Layered profiles and per-platform modules, shared where it counts.

.
├── flake.nix            # single entry point for every host
├── hosts/               # workstation · darwin · vps · raspi · wsl · android
├── profiles/            # base → workstation / server (hardened SSH, nginx)
├── modules/
│   ├── nixos/           # boot, desktop, audio, networking, git-sync
│   ├── darwin/          # macOS defaults, homebrew, aerospace, sketchybar
│   └── home/            # home-manager: shared dotfiles, per-OS packages
├── secrets/             # sops-encrypted, decrypted only on target hosts
└── templates/           # devenv project templates: rust · nodejs · laravel

Why This Setup

The properties that make it worth maintaining.