Skip to content

What is nebelhaus?

nebelhaus turns a Mac into a quiet, keyboard-first, fog-grey workstation — arranged like a tiling Linux rig, but native to the grain of the Mac. It is a small family of tools tied together by one Nix flake. Run one command and the whole house rises: a tiling window manager, a status bar, a themed shell, a command palette, Touch-ID sudo, and a single muted colour scheme painted across every app you own.

Wipe the machine and rebuild it, and it stands again — bar, windows, theme, and all — because the entire system is described in text and pinned to exact commits.

An opinionated macOS, raised in the fog. Silver-grey · keyboard-first · reproducible · nix-native.

Grey is the point. The default palette — nebelung — is a muted dark theme for people who find most themes too loud, named for a cat breed the colour of high fog. It also comes in a light mode and a high-contrast one, if soft grey isn’t what your eyes want.

  • You like tiling window managers and keyboard-driven workflows, and wish the Mac felt more like one without fighting it.
  • You want your machine to be reproducible — describable in git, restorable on a fresh laptop in one command.
  • You appreciate a calm, cohesive look across the terminal, editor, git, and browser instead of a different accent colour in every app.
  • You’re comfortable in a terminal. You do not need to know Nix going in — the installer scaffolds everything — but you’ll get more out of it over time.

If you’ve never touched Nix, that’s fine. Nix is what makes the setup reproducible: the whole machine is described in text files, and one command makes reality match them.

PieceCodenameWhat it does
Tiling & launcherprowlAeroSpace tiling, driven from the home row; tap Caps-Lock to launch or throw windows
Status barsillSketchyBar with workspace pills, weather, media, battery, clock
Shell & terminalhearthzsh + starship + Ghostty + zellij + yazi + helix, all themed
Touch-ID sudocollarfingerprint auth for sudo — even inside a terminal multiplexer
Command palettepouncea native ⌘Space launcher where every command is a file
Messages clienttrilla native iMessage/SMS/RCS window, reading chat.db read-only
File shelfpercha native tray that grows out of the notch to catch drag-drops and fling them out as a group
The coloursnebelungone silver-mist palette rendered onto 20+ tools
System coredenmacOS defaults, Homebrew policy, the haus CLI

Each piece also stands on its own — you can take the whole rice, or just pounce, or just the palette.

An opinionated system only works if you’re never stranded in it. nebelhaus is built so there’s always a hand to grab:

  • Forgot a key? Tap then / — the live cheatsheet, generated from your roster, is one tap away. (Or the written one.)
  • Something feels off? haus doctor checks Nix, the agents, and the permissions in one shot, and tells you the exact command to unstick each.
  • Made a mess? haus rollback returns to the previous generation atomically. A failed build never activates in the first place.
  • Nothing is destructive. The installer snapshots before it starts, backs up any dotfile it touches, and never deletes an app you installed — walking away is as supported as moving in.
  • The docs meet you where you are — from the first ten minutes to every option to the exact fix for the five things that ever go wrong.
Terminal window
# 1. Scaffold your config (installs Nix if needed, interviews you, writes files)
curl -fsSL https://nebelhaus.com/init.sh | bash
# 2. Build and switch into it
cd ~/.config/nix
nix build .#darwinConfigurations.$(scutil --get LocalHostName).system \
&& sudo ./result/sw/bin/darwin-rebuild switch --flake .

The Install page walks through exactly what the one-liner does — and how to read it first if you’d rather not pipe curl into bash blind.

The rice is generic, complete, and identity-free. Your name, keys, secrets, and private app list live in a thin config you own at ~/.config/nix — never edited into the rice itself. The rice stays upstream, where nix flake update pulls new versions. See The family and How the flakes fit together for the full picture.

Ready? Head to Install.