One flake raises the whole Mac.
pre-release · Nothing here changes your Mac without a way back: every rebuild is a Nix generation haus rollback returns to, and macOS's own settings — the one thing a rollback can't reach — are what haus capture and haus revert-settings are for. That's the intent, not a warranty: run it on a machine you can afford to rebuild, and tell us what breaks.
Tiling windows, a status bar, a ⌘Space palette, the terminal, Touch ID for
sudo, and every app you actually use — declared in one file, applied by one
command, native to the grain of the Mac rather than a Linux desktop bolted onto
it. Wipe the machine, run one line, and the house stands again exactly as it
was, down to the fog-grey.
haus is the layer: nix-darwin modules, the haus.* options you set, the
haus CLI you run. A desktop is one complete set of answers to those
options. hacker is the first desktop — grey, quiet, developer-shaped.
This repo ships both; hausfold is the org that makes them, which is why the
repo is hausfold/haus.
curl -fsSL https://hausfold.co/haus.sh | bashThat asks which desktop you want, puts the prerequisites in place, and
scaffolds a thin config of your own at ~/.config/nix. You never edit this repo
to use it.
📖 hausfold.co/docs/haus — and it only
lives there: installing,
choosing a desktop,
what each room does,
every haus command,
every option,
keeping it current and
leaving.
Taking one room into a flake of your own — the tiling, the bar — is how the flakes fit together. Changing your Mac by asking an agent is the AI room.
AGENTS.md— hacking on the housedocs/model.md— the contract the modules are written against: layer, room, desktop, host, and what each one may owndocs/macos-settings.md— what a desktop can actually set, measured domain by domaindocs/focus.md— how the focus room flips a real macOS Focus with no public API, and what it deliberately won't do