mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 04:46:41 +00:00
1.8 KiB
1.8 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
Personal dotfiles repository for macOS and Linux. Configuration files are
symlinked to $HOME with a . prefix (e.g., zshrc becomes ~/.zshrc).
Commands
Installation
./install.sh # Install symlinks and initialize shell
./install.sh symlinks # Only install symlinks
./install.sh terminfo # Install terminfo entries
./install.sh launch-agents # Install macOS LaunchAgents
Nix packages
nix-env -if ~/.dotfiles/default.nix # Install/update global Nix packages
nix flake update # Update nixpkgs lock
Hammerspoon
cd hammerspoon && make install # Fetch Spoons and dependencies
cd hammerspoon && make update # Update all dependencies
Structure
install.sh- Main installer, manages symlinks to$HOMEflake.nix/default.nix- Nix package management (nixfmt, nil LSP)zshrc/zshenv/zprofile- ZSH configuration entry pointszsh/- Modular ZSH configs loaded by topic (aliases, kubernetes, golang, etc.)zsh/zshrc.funcs.zsh- Helper functions used throughout ZSH configbin/- Personal scripts added to PATHconfig/- XDG config files (ghostty, kitty, mise, starship, etc.)hammerspoon/- macOS automation with Hammerspoontmux/- Tmux config and plugins (git submodules)private/- Private dotfiles (separate repo, gitignored)
Shell Setup
- Uses zinit for ZSH plugin management
- Uses mise for runtime version management
- Uses starship for prompt
- PATH construction happens in
zshenv, interactive setup inzshrc
Code Style
Shell scripts: 2-space indent, bash-style (see .editorconfig for shfmt
settings).