Refer to the docs/ folder for detailed guides:
docs/karabiner/— Karabiner keyboard shortcutsdocs/nix/— Adding packages (nix, brew, casks, node, Mac App Store)docs/raycast/— Creating Raycast scriptsdocs/scripts/— Creating new scripts (docblock format, structure)docs/shell/— Shell command portability and aliasesdocs/vscode-and-cursor/— Custom shortcuts and settings
Almost every file under config/ (shell, editors, macos, git, agents) is symlinked into place by home-manager with mkOutOfStoreSymlink (see config/nix/system/symlinks.nix). Editing those files takes effect immediately — never suggest running rebuild after editing them.
rebuild is only needed when config/nix/ itself changes:
packages/*.nix— packages added or removedsystem/symlinks.nix— symlink entries added, removed, or repointedsystem/macos-defaults.nix,flake.nix
Special cases:
karabiner.edn→ rungoku(never editkarabiner.json)- Shell config (aliases, functions, zshrc) → only affects new shell sessions
- If you think it makes sense to split something into separate commits, go ahead and do it.
- Do not autocommit