NixOS · Home Manager · operating policy

One personal system, made legible.

Sinnix versions the workstation as a whole: hosts, desktop behavior, services, storage and recovery, observability, local evidence capture, developer environments, and the control surfaces used by coding agents.

Composition

Reproducible without pretending the machine is generic

The repository keeps reusable policy in modules and leaves concrete hardware, roles, and service choices visible at the host boundary.

01 · Flake

Assemble

flake-parts wires hosts, packages, scripts, checks, overlays, and deployment outputs.

02 · Modules

Describe policy

Features, services, profiles, persistence, networking, storage, and runtime governance compose through typed options.

03 · Hosts

Choose the machine

The workstation, headless replica, and OpenWrt router remain explicit final composition boundaries.

04 · Runtime

Observe and recover

Systemd inventory, resource classes, telemetry, snapshots, backups, and restore drills keep the live system answerable.

What the repository owns

Configuration, behavior, and operational truth in one place

Daily workstation

A specific desktop, deliberately

Hyprland and Noctalia, NVIDIA/Intel modes, audio, terminals, browsers, editors, local models, capture tools, and actively edited dotfiles.

Runtime control

Resource policy is service design

Typed inventory drives systemd slices, memory and IO posture, scoped command wrappers, live observation, and evaluation-time consistency checks.

Local evidence stack

Capture systems are composed services

Sinex, Polylogue, Lynchpin, ActivityWatch, terminal capture, and machine telemetry share explicit ownership and lifecycle boundaries.

State and recovery

Durable, rebuildable, and bulk data diverge

Impermanence, persistence declarations, Btrfs, Borg, staging, and restore exercises encode different recovery contracts for different data classes.

Documentation

Read it as a system, not a module catalog

Sinnix is a personal configuration, not a supported NixOS framework. Its reusable value is the way the boundaries fit together.