# Docs - [Documentation](/docs): Four trees: the haus layer your Mac is built on, and the small native apps that live inside it and mostly run fine without it. - haus: The macOS layer - **Start** - [What haus is](/docs/haus): One file describes your Mac. One command makes the Mac match it. Everything else here is detail. - [Install](/docs/haus/install): One line scaffolds your config. A second command activates it. Nothing is activated without your say-so. - [Keeping it current](/docs/haus/keeping-it-current): The everyday loop (edit, rebuild, update, roll back) and the payoff it buys, a new Mac that becomes the old one in two commands. - [Leaving](/docs/haus/leaving): Switch off one room, roll back a generation, or take the whole house down. Each exit in turn, smallest first. - **Desktops** - [Choose a desktop](/docs/haus/desktops/choosing): haus supplies rooms; a desktop curates them; your host file makes one yours. Exactly one desktop per Mac. Here are the four that ship, and how to switch. - [hacker](/docs/haus/desktops/hacker): An opinionated macOS, raised in the fog: tiling windows, a bar, a themed terminal. The desktop most people install haus by installing. - [everyday](/docs/haus/desktops/everyday): A Mac for someone who doesn't write code: a better menu bar, a search box that opens anything, and none of the developer tooling. - [minimal](/docs/haus/desktops/minimal): Just the themed shell: the prompt, the toolbelt and the colours, on an otherwise stock macOS. Few rooms, not few tools. - [Start blank](/docs/haus/desktops/blank): The from-scratch desktop: no optional rooms, no claimed hotkeys, nothing that changes how the Mac behaves. Then add rooms one at a time. - [Customize a desktop](/docs/haus/desktops/customizing): One file holds every choice you make: the dials worth knowing, the rooms you can switch off, and how to beat anything your desktop set. - [Create a desktop](/docs/haus/desktops/creating): A desktop is one file whose only top-level key is haus. The closed format, what it may and may not set, and how to prove it before anyone else runs it. - [Share a desktop](/docs/haus/desktops/sharing): Publishing a desktop someone can read before they run it: what the repository holds, what the README owes them, and the checklist before you hand it out. - **Rooms** - [Apps](/docs/haus/rooms/apps): Every app, font and CLI tool on the machine in one list: where each one installs from, what key launches it, and the packs that bring a whole set at once. - [Appearance](/docs/haus/rooms/appearance): One silver-mist palette across every tool: the accent, the contrast, light mode, the generated wallpaper, and one line for bigger type. - [Displays](/docs/haus/rooms/displays): Per-screen scaling, said as an intent rather than a pixel count, and addressed by which screen you mean, never by a serial number you'd have to look up twice. - [Development](/docs/haus/rooms/development): The terminal, the shell, the multiplexer and the editor, plus Git tooling, the CLI toolbelt and language runtimes. The command line haus sets up, and the keys that drive it. - [Windows](/docs/haus/rooms/windows): Tiling, named workspaces and window navigation from the keyboard. How prowl arranges the Mac, and how to keep the arranging without the key claims. - [Bar](/docs/haus/rooms/bar): Workspace pills, weather, media and a status light. What the bar carries, what each pill does, and how to turn any of it off. - [Launcher](/docs/haus/rooms/launcher): Pounce on ⌘Space. The room that installs the palette, hands it the key Spotlight was holding, and keeps its Accessibility grant alive across rebuilds. - [Shelf](/docs/haus/rooms/shelf): Perch, a shelf that drops out of the notch mid-drag to catch files, so you never have to dig the destination window out first. - [Focus](/docs/haus/rooms/focus): One quiet switch (bar pill, palette command and CLI) for macOS Do Not Disturb, your Slack status, and your own hooks on both edges. - [AI](/docs/haus/rooms/ai): Coding agents as a room: the clients this machine installs, holt giving each agent its own checkout, and the lifecycle around them. Any git repo, any client. - [Changing your Mac with an agent](/docs/haus/rooms/agent-rebuilds): Your machine is text and every rebuild is reversible, so an AI agent can reconfigure it safely: the skill haus ships, the loop it follows, and the one rebuild it refuses. - [Text expansion](/docs/haus/rooms/text-expansion): Type a short trigger, get the long thing, in any app, terminals and Electron included, from a table you keep in your host file. - [Security](/docs/haus/rooms/security): Touch ID for sudo, even inside a multiplexer, plus lock behaviour, the firewall, and where this machine gets its secrets. - **Reference** - [haus.* options](/docs/haus/reference/options): Every option you can set in your host file — types, defaults, and what each one changes. - [The haus CLI](/docs/haus/reference/haus): Every haus command. Apply, update, undo, and the read-only ones that show you a change before you make it. - [Troubleshooting](/docs/haus/reference/troubleshooting): The handful of things that go sideways on macOS (a wedged agent, a missing grant, a stubborn cask), and the exact command that unsticks each one. - **Internals** - [How the flakes fit together](/docs/haus/internals/flakes): Nothing on your Mac changes until you say so. This is the machinery behind that, from the config the installer scaffolds to the exact commit every input is pinned at. - [Contributing](/docs/haus/internals/contributing): The workshop checkout, the bench CLI, and the loop that takes a change from an edit to a release. Try it without pushing, feel the whole PR queue at once, then ripple it down the chain. - pounce: The launcher you teach - **Start** - [What pounce is](/docs/pounce): A native, keyboard-first command palette for macOS where every command is a file. Free, MIT, no account. Summon, aim, pounce. - [Install](/docs/pounce/install): Homebrew or a DMG, the one macOS permission pounce asks for, and how to free ⌘Space from Spotlight. - [Using the palette](/docs/pounce/using): Summoning it, the keys that move you around, how ranking picks the first row, and the questions it answers inline. - [Beyond launching](/docs/pounce/beyond-launching): Two opt-in behaviours that aren't a palette: an MRU window switcher, and asking an app to quit when its last window closes. - **Commands** - [Commands](/docs/pounce/commands): What ships in the palette out of the box, the plugin shelf that's off by default, and how a command in your own folder shadows one of ours. - [Writing your own command](/docs/pounce/writing-commands): One shell script with an optional comment header. No SDK, no manifest, no build step. Plus submenus, chaining, and pounce as a generic picker. - **Reference** - [Config reference](/docs/pounce/config): Every key in ~/.config/pounce/config.json, what it defaults to, the three blocks that need a restart, and where every file lives. - [CLI reference](/docs/pounce/cli): Every pounce flag and subcommand: the palette, the built-in windows, pickers, drafts, transforms and housekeeping. - perch: A shelf in the notch - **Start** - [What perch is](/docs/perch): A shelf that drops out of the notch mid-drag to catch whatever you're carrying. Native, quiet, and it never touches your originals. - [Install](/docs/perch/install): One brew command, or a signed download, and the one macOS setting that steals the drop if you leave it on. - [Using the shelf](/docs/perch/using): Catching a drag, carrying the stack out, and what stays on the shelf when you walk away. - trill: Notifications, filtered. In the incubator - [What trill is](/docs/trill): A notification compositor for macOS: one place for what interrupts you, and a filter in front of it. In the incubator; nothing to install yet.