Personal dotfiles managed with chezmoi. macOS only.
curl -fsSL https://raw.githubusercontent.com/supakornn/dotfiles/main/install.sh | bash- Fish β shell
- Starship β prompt
- Ghostty β terminal
- Neovim β editor (LazyVim)
- Zed β editor
- Tmux β terminal multiplexer
- Lazygit β git TUI
- ghq β repository manager
- mise β runtime version manager
- uv β Python toolchain
- btop β system monitor
- Spicetify β Spotify customization
- Karabiner-Elements β keyboard remapping
All language runtimes managed by mise β no fnm, pyenv, or chruby needed:
mise install # install everything in ~/.config/mise/config.toml
mise install node # install single tool
mise use node@22 # switch version globallyPython is managed entirely by uv:
uv python install 3.13
uv run script.pyBuilt on LazyVim with Catppuccin.
Neovim auto-switches flavor based on macOS system appearance (Macchiato = dark, Latte = light).
All other apps follow catppuccin_flavor in ~/.config/chezmoi/chezmoi.toml β changed via the theme command.
Neovim config inspired by craftzdog/dotfiles-public.
Switch Catppuccin flavor across all apps (Ghostty, Zed, Fish, Tmux, bat, btop, lazygit, Starship):
theme # toggle dark/light
theme dark # Catppuccin Macchiato
theme macchiato # Catppuccin Macchiato
theme mocha # Catppuccin Mocha
theme frappe # Catppuccin Frappe
theme light # Catppuccin LatteRequires catppuccin_flavor set in ~/.config/chezmoi/chezmoi.toml:
[data]
wakatimeApiKey = "your-key-here"
catppuccin_flavor = "macchiato"All repos managed by ghq under ~/src:
get <user/repo> # clone a repo (ghq get)
repos # list all managed repos
repo # fzf picker β fuzzy select and cd into a repo# Edit a file normally, then sync to chezmoi:
chezmoi add ~/.config/fish/config.fish
# Edit directly in chezmoi source:
chezmoi edit ~/.config/ghostty/config
chezmoi apply
# Check what's changed:
chezmoi diff
chezmoi status~/.config/chezmoi/chezmoi.toml is local only, not tracked:
[data]
wakatimeApiKey = "your-key-here"
catppuccin_flavor = "macchiato"