Personal configuration files for macOS development environment.
.zshrc Zsh shell configuration (prompt, plugins)
zsh/
.zsh_aliases Shell aliases (eza, etc.)
nvim/
init.lua Neovim entry point
lua/
options.lua Editor options (indentation, UI, etc.)
keymaps.lua Global key mappings
plugins.lua Plugin declarations (packer.nvim)
plugins/
treesitter.lua Syntax highlighting + language indent settings
lualine.lua Status line
nvim-tree.lua File explorer
bufferline.lua Buffer tabs
telescope.lua Fuzzy finder
spectre.lua Project-wide search and replace
gitsigns.lua Git diff signs in gutter
lsp.lua LSP, Mason, diagnostics
cmp.lua Autocompletion (nvim-cmp + LuaSnip)
autopairs.lua Auto bracket/tag pairing
git/
.gitconfig Git user, aliases, editor settings
ignore Global gitignore
alacritty/
alacritty.toml Alacritty terminal configuration
wezterm/
wezterm.lua WezTerm terminal configuration
symlink.sh Script to create all symbolic links
-
Clone this repo to
~/dotfiles -
Run the symlink script:
chmod +x symlink.sh ./symlink.sh
This creates the following symlinks:
~/.config/alacritty/alacritty.toml ~/.config/wezterm/wezterm.lua ~/.config/nvim -> nvim/ ~/.gitconfig ~/.config/git/ignore ~/.zsh_aliases ~/.zshrc -
Open Neovim. On first launch, packer.nvim bootstraps itself and installs all plugins. Run
:PackerSyncto ensure everything is up to date. -
Mason (LSP installer) will install language servers automatically. To manage them manually:
:Mason
| Key | Action |
|---|---|
<leader>e |
Toggle file explorer (nvim-tree) |
| Key | Action |
|---|---|
<Tab> / <S-Tab> |
Next / previous buffer |
<leader>l / h |
Next / previous buffer |
<leader>d / D |
Delete buffer (normal / force) |
| Key | Action |
|---|---|
<leader>ff |
Find files |
<leader>fg |
Live grep |
<leader>fb |
Find open buffers |
<leader>fh |
Find help tags |
| Key | Action |
|---|---|
<leader>sr |
Open project-wide search/replace |
<leader>sw |
Search current word |
| Key | Action |
|---|---|
<leader>gh |
Preview hunk |
<leader>gd |
Diff current file |
<leader>gb |
Toggle line blame |
<leader>gs / gu |
Stage / undo stage hunk |
]h / [h |
Next / previous hunk |
| Key | Action |
|---|---|
jd / jD |
Go to definition / declaration |
ji / jr |
Go to implementation / references |
K |
Hover documentation |
<leader>rn |
Rename symbol |
<leader>ca |
Code action |
<leader>f |
Format file |
]d / [d |
Next / previous diagnostic |
| Key | Action |
|---|---|
<C-h/j/k/l> |
Move between splits |
# Disable .DS_Store on network drives
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
# Fast key repeat
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 15
# Show hidden files in Finder
defaults write com.apple.finder AppleShowAllFiles ON
# Disable press-and-hold for key repeat (needed for nvim, etc.)
defaults write -g ApplePressAndHoldEnabled -bool false