nebelhaus

An opinionated macOS, raised in the fog.

macOS arranged like a tiling Linux rig but native to the grain of the Mac — one Nix flake raises the whole house. Fog-grey, quiet, and reproducible: wipe the machine, run one command, and the house stands again exactly as it was.

You never edit the rice to use it. The installer scaffolds a thin config of your own at ~/.config/nix that consumes it as an input, so your machine stays yours and the rice stays upstream.

Install

curl -fsSL https://nebelhaus.com/init.sh | bash

Or straight from the flake, once Nix is installed: nix run github:hausfold/haus#bootstrap

It installs the prerequisites and scaffolds a host file for this machine, then stops — it won't switch a config you haven't personalised, so the first run hands the machine back to you. Once you've made it yours, that first switch puts haus on your PATH: haus rebuild to apply a change, haus rollback to undo one, haus plan to see what a rebuild would do before it does it.

What it looks like

the desktop — tiled, with the bar
[ shot not taken yet ]
pounce, mid-launch
[ shot not taken yet ]
the terminal — zsh, helix, lazygit
[ shot not taken yet ]

What's in it

The house is built from composable nix-darwin modules. Take the whole thing, or import one room into a config of your own.

den
macOS defaults, the Homebrew framework, core CLI tools, fonts
prowl
AeroSpace tiling, launched at boot, Caps Lock as the leader key
sill
a SketchyBar bar perched on the top edge
hearth
zsh, a tinted starship prompt, git, helix and a themed toolbelt
collar
Touch ID for sudo, and rebuilds that don't stop to ask twice
secrets
declarative secrets — projects commit which, never the values
pounce
the launcher on ⌘Space, its permissions intact across rebuilds
perch
the notch file shelf, installed and kept at a fixed path
hush
one hotkey for Focus, with optional shell and Slack hooks
theme
the wallpaper and a wordmark derived from your accent
apps
the picks a finished machine gets, one switch each

Four presets ship with it — minimal, everyday, full and large-print — plus a writing pack. A preset is data, not code: you can read one in a minute and know the worst it can do.

What it needs

macOS
the installer stops on anything that isn't a Mac
Xcode CLT
installed for you if it isn't there
Nix
Determinate Nix, installed for you. An existing Nix that Determinate doesn't own has to be removed first.
an admin account
the first switch needs sudo

Elsewhere