update CLAUDE.md philosophy, set fish as default shell, improve tmux config
CLAUDE.md: add nix-only rule, verify-after-change rule, teach-debugging rule. darwin: set fish as default user shell. tmux: configure better-mouse-mode, fix catppuccin status, add extended keys. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,8 +14,10 @@ This repo strives for the **best possible macOS setup** with seamless UX:
|
||||
- **Batteries included** — tools, shell plugins, keybindings, and integrations should work out of the box. No manual post-install steps.
|
||||
- **Rice it** — the setup should look and feel polished. Consistent theming, clean status bars, good typography.
|
||||
- **Research before implementing** — when adding or changing something, check the internet for the best current practices, latest options, and what power users recommend. Don't guess.
|
||||
- **Test it works** — after making changes, run `darwin-rebuild switch` and verify the setting actually took effect (e.g. `defaults read` for macOS prefs). The UX should be seamless.
|
||||
- **Test it works** — after making changes, run `darwin-rebuild switch` and verify the setting actually took effect (e.g. `defaults read` for macOS prefs, `which <pkg>` for packages, checking service status for daemons). Never assume a fix works — always confirm.
|
||||
- **Teach debugging** — always explain *how* you verified something works and *how* the user can check it themselves. Show the proof: the command to run, what the output should look like, and what it means. The user should learn to debug and verify on their own, not just trust the output.
|
||||
- **Stay current** — nix-darwin, home-manager, and macOS evolve. When touching a module, check if there are newer/better options available.
|
||||
- **Nix-only** — never use `brew install`, `nix-env -i`, or any imperative package management. Everything goes through the flake: system packages in `darwin/configuration.nix`, user packages in `home-manager/modules/`. If it's not declared in Nix, it doesn't exist.
|
||||
|
||||
## Build Commands
|
||||
|
||||
|
||||
Reference in New Issue
Block a user