Personal macOS dev environment — Neovim (LazyVim), zsh + Powerlevel10k, iTerm2 with JetBrainsMono Nerd Font, and a curated Homebrew bundle.
git clone https://github.com/paucolomesparta/dotfiles.git ~/dotfiles && ~/dotfiles/install.shThe installer is idempotent — re-running it skips anything already in place.
Formulae: neovim, git, gh, fzf, ripgrep, bat, eza, fd, lazygit, jq, tmux, tree, htop, wget, shellcheck
Casks: iterm2, font-jetbrains-mono-nerd-font, font-meslo-lg-nerd-font
Bootstraps lazy.nvim and pulls LazyVim plus the following extras:
ai.claudecodecoding.luasnipeditor.neo-treeformatting.prettierlang.docker,lang.git,lang.java,lang.json,lang.kotlin,lang.markdown,lang.typescriptlinting.eslintvscode
Custom plugins:
hardtime.nvim— hint when you keep mashingh/j/k/lwhich-key.nvim— discoverability for keymaps
Custom config under nvim/lua/config/:
options.lua— relative numbers, scrolloff, 2-space indent, system clipboard, persistent undokeymaps.lua— save/quit, buffer nav, centred half-page scrolling, paste without yankautocmds.lua— yank highlight, trim trailing whitespace (skips markdown), treat*.gradle.ktsas Kotlin
oh-my-zshwith plugins:git,zsh-autosuggestions,zsh-syntax-highlighting,you-should-use,npm,node,brew,macos,fzfpowerlevel10ktheme (config inzsh/.p10k.zsh)- NVM with
.nvmrcauto-switching - Quality-of-life aliases (
ll,gs,gp,brewup,cat → bat,find → fd,grep → rg, …)
Installed via the official install script (v0.40.3). Node itself is not installed automatically — see manual steps.
Profile name Sparta, exported from the live setup. Uses JetBrainsMono Nerd Font and the current colour scheme.
- Open iTerm2 → Preferences → Profiles and set Sparta as the default profile.
- Install Node:
nvm install --lts
- (Optional) Re-tune the prompt:
p10k configure
- Reload the shell:
exec zsh
dotfiles/
├── install.sh # idempotent installer
├── Brewfile # curated formulae + casks
├── nvim/ # symlinked to ~/.config/nvim
│ ├── init.lua
│ ├── lazy-lock.json
│ ├── lazyvim.json
│ └── lua/
│ ├── config/ # options, keymaps, autocmds, lazy bootstrap
│ └── plugins/ # hardtime, which-key
├── zsh/
│ ├── .zshrc # symlinked to ~/.zshrc
│ ├── .p10k.zsh # symlinked to ~/.p10k.zsh
│ └── .zprofile # symlinked to ~/.zprofile
├── iterm/
│ └── Sparta.json # iTerm2 dynamic profile
└── README.md
cd ~/dotfiles && git pull
# symlinks mean nvim config changes are live immediately
# for zsh changes: exec zshinstall.shbacks up any pre-existing real files (e.g.~/.zshrc) to<file>.backup-YYYYMMDDbefore linking.- The script targets Apple Silicon (
/opt/homebrew). It will warn on Intel Macs but will still attempt to continue. - LSPs, language toolchains beyond Node, and cloud CLIs are intentionally not in the
Brewfile— keep this repo lean and install those per-project.