# nebelhaus > An opinionated macOS rice, raised in the fog: silver-grey, keyboard-first, and reproducible. The whole machine — system settings, window tiling, menu bar, shell, launcher — is declarative Nix (nix-darwin), consumed as a pinned flake input. One `curl` scaffolds a personal config; one `haus rebuild` applies it; `haus rollback` undoes it atomically. Orienting facts, so you don't have to infer them: - A user's own config is a thin flake at `~/.config/nix` that pins the rice. The only file they edit is `hosts//default.nix`, where they set `nebelhaus.*` options. They never edit the rice itself. - `haus` is the end-user CLI: `rebuild`, `update`, `rollback`, `generations`, `status`, `edit`, `doctor`. It always builds before it switches, so a broken config never reaches the running system. - The options reference below is generated from the rice's module system, so it is authoritative — but it documents the LATEST rice. A given machine is pinned to a revision and may not have the newest options; `haus status` says how far behind it is. - On an installed machine the rice ships a Claude Code skill at `~/.claude/skills/nebelhaus` whose option reference is generated from that machine's own pinned revision. Prefer it over this site when advising on a specific machine. - macOS only, Apple Silicon only. ## Start here - [What is nebelhaus?](https://nebelhaus.com/start/what-is-nebelhaus/): An opinionated macOS rice — silver-grey, keyboard-first, reproducible, and Nix-native. What it is, who it's for, and what you actually get. - [Install](https://nebelhaus.com/start/install/): The one-liner, exactly what it does, and how to run it safely — from a fresh Mac to a fully built system. - [First run](https://nebelhaus.com/start/first-run/): Your first ten minutes after switching in — the muscle memory that makes nebelhaus click. - [The family](https://nebelhaus.com/start/the-family/): The repos that make up nebelhaus, what each one owns, and how they feed each other. ## Guides - [Making it yours](https://nebelhaus.com/guides/making-it-yours/): The one file you edit, the opinions worth knowing, and a cookbook of every knob — from accents to workspaces to turning whole rooms off. - [Sharing a rice](https://nebelhaus.com/guides/sharing-a-rice/): Author, validate, and publish a data-only nebelhaus rice that other people can inspect, compose, and trust. - [Changing it with an agent](https://nebelhaus.com/guides/ai-agent/): Your machine is declarative, so an AI agent can reconfigure it safely — the nebelhaus skill, the build-then-switch loop, and the one thing it will refuse to do. - [Adding apps & tools](https://nebelhaus.com/guides/adding-apps/): The whole decision tree — a GUI app with its own launcher key, a plain cask, or a CLI tool from nixpkgs, and where each one belongs. - [Window management (prowl)](https://nebelhaus.com/guides/window-management/): Tiling windows and the Caps-Lock launcher — how prowl arranges your Mac like a keyboard-driven tiling rig. - [The bar (sill)](https://nebelhaus.com/guides/the-bar/): The SketchyBar status bar — workspace pills, weather, media, and how it reflects your tiling in real time. - [The shell (hearth)](https://nebelhaus.com/guides/the-shell/): The terminal experience — Ghostty, zellij, zsh, starship, yazi, helix, and a toolbelt of themed CLI tools. - [Coding agents (wt)](https://nebelhaus.com/guides/claude-agents/): The rice ships wt — safe, resumable agent worktrees for any git repo and any of Claude Code, Codex or OpenCode, with a live statusline HUD. A productivity feature, not a nebelhaus-only tool. - [Touch ID for sudo (collar)](https://nebelhaus.com/guides/touch-id/): Fingerprint authentication for sudo — even inside tmux or zellij — via collar. - [Focus & DND (hush)](https://nebelhaus.com/guides/hush/): One quiet switch — bar pill, palette command, and CLI — for macOS Do Not Disturb, your Slack status, and your own hooks. - [Pounce — the launcher](https://nebelhaus.com/guides/pounce/): A native, keyboard-first command palette for macOS. Summon, aim, pounce — and every command is just a file. - [Writing pounce commands](https://nebelhaus.com/guides/pounce-commands/): Every command is a file. How to add your own commands to Pounce with a shell script and an optional metadata header. - [Messages (trill)](https://nebelhaus.com/guides/trill/): A native, keyboard-first iMessage/SMS/RCS client that reads chat.db read-only — install, the one-time permissions, the feature tour, and the privacy posture. - [Theming & accents (nebelung)](https://nebelhaus.com/guides/theming/): One silver-mist palette across every app — swapping the accent, raising the contrast, and switching to light mode. - [Keeping in sync (haus)](https://nebelhaus.com/guides/staying-in-sync/): Daily driving — updating, rebuilding, rolling back, and keeping your machine current with the haus CLI. - [Moving to a new Mac](https://nebelhaus.com/guides/new-mac/): Your whole setup is text in git — restore it in a few commands, plus the short list of things Nix deliberately leaves outside itself. - [Leaving nebelhaus](https://nebelhaus.com/guides/leaving/): Remove one room, roll back a generation, or take down the whole house — cleanly, in the smallest move that solves the problem. ## Reference - [nebelhaus.* options](https://nebelhaus.com/reference/options/): Every option you can set in your host file — types, defaults, and what each one changes. - [Keybindings cheatsheet](https://nebelhaus.com/reference/keybindings/): Every default shortcut across tiling, the launcher, the terminal, and Pounce — in one place. - [Pounce config & CLI](https://nebelhaus.com/reference/pounce/): Every config key, CLI flag, and file path for the Pounce command palette. - [The nebelung palette](https://nebelhaus.com/reference/palette/): Every colour in the silver-mist palette, with hex values, plus how to use nebelung in your own tools. - [The haus CLI](https://nebelhaus.com/reference/haus/): The end-user haus command — rebuild, update, rollback, and diagnose your machine. - [Troubleshooting](https://nebelhaus.com/reference/troubleshooting/): The handful of things that go sideways on macOS — a wedged agent, a missing grant, a stubborn cask — and the exact command to unstick each one. ## Under the hood - [How the flakes fit together](https://nebelhaus.com/internals/flakes/): The consumer config, the mkNebelhaus builder, and why pinned flake inputs mean nothing changes until you say so. - [Contributing & worktrees](https://nebelhaus.com/internals/contributing/): How the family repos fit together, the workshop bench CLI, and the hack → test → ship → release flow. ## Other pages - [nebelhaus](https://nebelhaus.com/): The project landing page. - [pounce](https://nebelhaus.com/pounce/): The command palette — product page. - [trill](https://nebelhaus.com/trill/): The Messages client — product page. - [perch](https://nebelhaus.com/perch/): The notch file shelf — product page. ## Optional - [llms-full.txt](https://nebelhaus.com/llms-full.txt): every page above, inlined as one document. - [The rice itself](https://github.com/nebelhaus/nebelhaus): the source of every option on this site.