The family
nebelhaus is not one repo — it’s a small family, each piece owning one job and usable on its own. The rice (nebelhaus) ties them together, but pounce, trill, perch, and nebelung stand alone too.
The repos
Section titled “The repos”| Repo | Owns | You touch it when… |
|---|---|---|
| 🏠 nebelhaus | the rice — nix-darwin modules for tiling, bar, shell, security, palette wiring | anything about how the system behaves |
| 🐾 pounce | the launcher — a native Swift command palette + its generic command scripts | the palette app or a built-in command changes |
| 🐦 trill | the messages — a native iMessage/SMS/RCS client reading chat.db read-only | you want to change the Messages client |
| 🐈 perch | the shelf — a native notch file tray that stages dropped files and drags them out as one group | you want to change the file shelf |
| 🌫 nebelung | the colours — a silver-mist Catppuccin variant + per-tool theme templates | you want a different shade of fog |
| 🍺 homebrew-tap | the Homebrew tap (brew tap nebelhaus/tap) | almost never — CI bumps it on every release |
| 🧰 workshop | every repo checked out side-by-side + the bench dev CLI | you’re hacking on the family itself |
Your private machine config — identity, secrets, your app roster — lives at
~/.config/nix and is yours, never part of the rice.
The CLIs at a glance
Section titled “The CLIs at a glance”There are four command-line tools in nebelhaus, and knowing which is which saves a lot of confusion. Two jobs, four commands — and if you only use nebelhaus, you only ever need the first one:
| Command | You reach for it to… | Works on | Ships in |
|---|---|---|---|
haus | drive your own machine — rebuild, update, roll back, diagnose | your Mac (~/.config/nix) | the rice — every install has it |
wt | manage agent worktrees — safe parallel agents, resumable panes | any git repo | the rice — every install has it |
bench | move a change across the family repos — try, ship, release | the workshop checkouts | the workshop — contributors only |
zscratch | feel-test a zellij edit with no rebuild | the rice’s zellij config | the rice — for rice contributors |
haus and bench never overlap — they’re named differently on purpose so they
can’t shadow each other. haus knows only your machine; bench knows only
the family repos. wt and zscratch are dev tools the rice puts on your
PATH whether or not you ever contribute — wt especially is worth knowing for
anyone who runs Claude Code, nebelhaus contributor or not.
The rooms, standalone
Section titled “The rooms, standalone”- pounce installs from Homebrew (
brew install pounce) with zero Nix. It’s a general command palette; the rice just wires it up. - perch is a plain menu-bar app — the notch file shelf — that needs none of the rest of the family to run.
- nebelung is a plain colour system. Any tool — Ghostty, bat, lazygit, Slack, Zen — can consume its rendered themes without touching the rest.
- nebelhaus is the whole system, but its
modules (
den,hearth,prowl,sill,collar,pounce,hush,secrets) are exported individually so you can cherry-pick.
How they feed each other
Section titled “How they feed each other”The repos form a chain of pinned flake inputs. Each link is a flake input —
a reference to an exact commit, recorded in the downstream repo’s flake.lock:

The catch that surprises everyone: a flake input is not “whatever is on
GitHub right now” — it’s a frozen commit hash. So pushing a change to nebelung
changes nothing downstream until each downstream flake.lock is bumped to
the new commit. That’s what makes rebuilds reproducible, and it’s why updating
is a deliberate nix flake update, not automatic.
As an end user you rarely feel this — haus update handles it. It matters if
you contribute to the family or want to understand
how the flakes fit together.
Built on
Section titled “Built on”nebelhaus stands on the shoulders of excellent open-source projects:
- Nix & nix-darwin — reproducible system config
- AeroSpace — the tiling window manager
- SketchyBar — the status bar
- Catppuccin — the colour framework nebelung is derived from
- Ghostty, zellij, yazi, helix, starship — the terminal stack
All of nebelhaus is MIT-licensed.