Personal dotfiles for macOS, Linux, and WSL (Windows Subsystem for Linux).
| File/Dir | Description |
|---|---|
.zshrc |
Zsh entry point — loads env, plugins, prompt, and keybindings |
.zsh_plugins.txt |
Plugin list managed by antidote |
.p10k.zsh |
Powerlevel10k prompt config |
.tmux.conf |
Tmux terminal multiplexer settings |
.wezterm.lua |
WezTerm terminal emulator config (Catppuccin Mocha, Nerd Font, pane/tab keybindings) |
.gitconfig |
Git config with aliases and settings |
.gitignore |
Global gitignore |
.editorconfig |
Consistent coding style across editors |
.config/nvim/ |
Neovim config (init.lua + plugins) |
.config/zellij/ |
Zellij terminal multiplexer config with Catppuccin theme |
.config/alacritty/ |
Alacritty terminal emulator config |
.scripts/ |
Helper scripts sourced by .zshrc (env, evals, keybindings) |
.docker/config.json |
Docker CLI config |
.claude/ |
Claude Code global settings, context, statusline, and skills |
.copilot/ |
GitHub Copilot CLI global rules and context |
.codex/ |
Codex CLI global rules, settings, approval rules, context, and skills |
zsh-syntax-highlighting— real-time command syntax coloringzsh-autosuggestions— fish-like inline suggestionszsh-completions— extended completion definitions- oh-my-zsh plugins:
git,fzf,docker,docker-compose,nvm,yarn,vi-mode,sudo,tmux, and more
| Tool | Purpose |
|---|---|
| fzf | Fuzzy finder |
| zoxide | Smarter cd |
| atuin | Shell history sync & search |
| nvm | Node version manager |
| pyenv | Python version manager |
Install these before running install.sh.
# Ubuntu/Debian
sudo apt install zsh
chsh -s $(which zsh)Verify: echo $SHELL should output /usr/bin/zsh (re-login if needed).
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Works on both Linux and macOS. See brew.sh for details.
The WezTerm config uses MonaspiceNe Nerd Font Mono (MonaspiceNe Nerd Font Mono on Linux, MonaspiceNeNFM on Windows).
Download from nerdfonts.com or via the Nerd Fonts GitHub releases. Install the font and set it in your terminal emulator.
Download from wezfurlong.org/wezterm.
The install script automatically copies .wezterm.lua to your Windows user profile (%USERPROFILE%) when running inside WSL.
git clone https://github.com/your-username/dotfiles.git ~/code/dotfiles
cd ~/code/dotfiles
./install.shThe script will:
- Verify you are running Zsh
- Install oh-my-zsh if not present
- Check Homebrew is available
- Copy all dotfiles from
home/to$HOME(viarsync) - Copy
.wezterm.luato the Windows profile (WSL only) - Install APT packages (Linux only)
- Install Homebrew packages
- Install standalone binaries to
~/.local/bin - Reload
.zshrc
APT (Linux only)
curl htop iperf3 lsof rsync vim wget progress gcc
Homebrew — Linux
fzf zoxide antidote nvm pyenv yarn atuin neovim delta eza zellij rust docker docker-compose shfmt pnpm
Homebrew — macOS
fzf zoxide antidote nvm pyenv yarn atuin neovim delta rust docker docker-compose iperf3 shfmt pnpm
Already-installed packages are skipped automatically — safe to re-run.
