Personal configuration files for daily development tools.
The repo uses Makefile as the source of truth for what gets linked into $HOME.
make install: auto-detect platform and link managed dotfilesmake macos: link macOS-specific shell configmake arch: link Arch Linux-specific shell configmake clean: remove only repo-managed symlinks
These paths are currently managed by Makefile:
.tmux.conf->~/.tmux.conf.config/nvim/->~/.config/nvim.config/ghostty/->~/.config/ghostty.config/kitty/->~/.config/kitty.config/starship.toml->~/.config/starship.tomlzshrc/macos/.zshrc->~/.zshrcon macOSzshrc/arch-i3/.zshrc->~/.zshrcon Arch Linux
.tmux.conf: tmux configuration.config/nvim/: Neovim configuration.config/ghostty/: Ghostty terminal configuration.config/kitty/: Kitty terminal configuration.config/starship.toml: Starship prompt configurationzshrc/macos/.zshrc: macOS Zsh configurationzshrc/arch-i3/.zshrc: Arch Linux Zsh configuration
Neovim is organized by responsibility instead of by plugin.
init.lua: top-level load order for config moduleslua/config/options.lua: editor optionslua/config/keymaps.lua: general keymaps and toggleslua/config/autocmds.lua: autocommandslua/config/completion.lua: completion and Supermaven setuplua/config/formatting.lua: formatting toolslua/config/linting.lua: linting setuplua/config/lsp.lua: LSP and diagnostics behaviorlua/plugins/pack.lua: plugin installation viavim.packlua/plugins/editor.lua: editor/plugin runtime setuplua/plugins/theme.lua: colorscheme and theme config
See .config/nvim/README.md for the Neovim-specific layout.
See AGENTS.md for the repo-wide edit map for automated changes.