This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a personal dotfiles repository for a macOS development environment using Nix-darwin for system management. The configuration includes development tools, window management, terminal setup, and application configurations.
# Rebuild Nix-darwin configuration
darwin-rebuild switch --flake ~/dotfiles/nix#savory
# Alternative rebuild command (first-time setup)
nix run nix-darwin --extra-experimental-features "nix-command flakes" -- switch --flake ~/dotfiles/nix#savory
# Apply all dotfile configurations using GNU Stow
stow .
# Initialize environment (install TPM, set up configs, reload everything)
chmod +x source.sh && ./source.sh# Tmux
tmux source-file ~/dotfiles/tmux/tmux.conf
# AeroSpace
aerospace reload-config
# Ghostty (if supported)
ghostty reload-config
# Rebuild bat cache
bat cache --build- Lua formatting: Use
stylua(configured innvim/stylua.toml) - Package management: Managed via Nix (
nix/flake.nix) - Shell scripting: Bash scripts throughout for automation
- Central system configuration using Nix flakes
- Manages Homebrew casks, packages, and system settings
- Defines user applications, fonts, and development tools
- Supports both Intel and Apple Silicon Macs
- AeroSpace tiling window manager configuration
- i3-inspired keybindings and workspace management
- Application-specific floating window rules
- Multi-monitor support with workspace assignments
- Tmux: Extensive plugin ecosystem via TPM, session management, custom status bar with Catppuccin theme
- Ghostty: Modern terminal emulator configuration
- Starship: Cross-shell prompt configuration
- Neovim: Lua-based configuration with LazyVim, extensive plugin ecosystem, LSP support
- NuShell: Modern shell replacement with structured data support
- Editor: Zed editor configurations
- Modern terminal file manager with custom themes and keybindings
- Custom Zsh configuration with ZDOTDIR setup
- Automated environment initialization script
- Tool integration and path management
- All configurations use modern tooling and syntax
- Heavy use of Nix flakes for reproducible environments
- Catppuccin color scheme across multiple tools
- Plugin-based architecture (tmux, nvim)
- Automation scripts for common tasks
- Git-tracked configuration with selective deployment
source.shis the main setup script that initializes all components- TPM (Tmux Plugin Manager) auto-installs if not present
- Configurations are organized by tool/application
- Many external plugins are vendored in
tmux/plugins/ - Development tools are declared in
nix/flake.nix