Personal configuration files and shell environment optimized for macOS and Linux.
This repository manages configuration files for Zsh, Alacritty, Tmux, Git, and Neovim, with a modular architecture that separates concerns and supports cross-platform setups (macOS / Linux).
.dotfiles/
├── alacritty/ # Alacritty terminal emulator configuration
│ ├── alacritty.toml # Main configuration (font, window, theme imports)
│ ├── catppuccin-*.toml # Catppuccin theme flavors (Mocha, Frappe, Latte, Macchiato)
│ └── github_light.toml # GitHub Light theme
├── git/ # Git global configurations
│ ├── gitconfig # Global git settings, rich aliases, diff colors
│ └── gitignore_global # Global ignore rules
├── tmux/ # Tmux configuration (based on .tmux)
│ ├── tmux.conf # Core tmux configuration
│ └── tmux.conf.local # Local customizations & status bar settings
├── zshrc # Main Zsh startup script & Powerlevel10k integration
├── zshrc.d/ # Modular Zsh scripts
│ ├── alias.sh # Common aliases (Docker/Podman, git, eza, bat, btop)
│ ├── completions.sh # Shell completions (ngrok, etc.)
│ ├── fn.sh # Utility functions (archive extraction, git branch parsing)
│ ├── k8s.sh # Kubernetes helpers (ssh-k8s)
│ ├── nerdstorm.sh # Platform deployment toolkit & cicd launcher resolution
│ ├── os.sh # OS-specific paths (Homebrew, Cargo, Anaconda, Node)
│ └── python-venv.sh # Python virtual environment management
├── install # Automated installation and symlink script
└── README.md # Documentation
- Theme & Prompt: Powerlevel10k prompt with instant-prompt initialization.
alias.sh:- Modern CLI replacements:
ls→eza,cat→bat,top→btop. - Container shortcuts: Auto-detects
dockerorpodmanand aliasesc→compose,cup→compose up -d,cl→logs -f,clj→ JSON log parser. - Git and system shortcuts (
g,gs,gsh,gd,gp,tfor tmux session attach/new).
- Modern CLI replacements:
python-venv.sh: Helper functionsvenv-setup <path> [python_version],venv-activate <path>, andvenv-deactivate.k8s.sh:ssh-k8s <namespace> <pod> [container]for fast container shells.nerdstorm.sh: Automatically resolves and exposes thecicdlauncher from the platform deployment toolkit.fn.sh:ex <file>universal archive extractor (tar, zip, bz2, 7z, gz, etc.),noproxy,svndiff.
- GPU-accelerated terminal configured with MesloLGS Nerd Font (size 13.0).
- Includes Catppuccin color schemes (defaulting to Catppuccin Mocha) with live config reloading.
- Enhanced tmux setup with dual prefix keys (
Ctrl-bandCtrl-a). - Intuitive pane splitting (
-for horizontal,_for vertical), vi-mode copying, and system clipboard integration (pbcopy,xclip,wl-copy). - Custom status bar and theme configuration in
tmux/tmux.conf.local.
- Global
gitconfigfeaturing:- Pretty log graphs:
git lg,git ll,git me,git wk. - Stage/unstage helpers:
git us,git usa,git uf. - Colored diffs and diff-highlight support.
- Neovim as default editor (
editor = nvim).
- Pretty log graphs:
To set up the dotfiles on a new machine:
-
Clone the repository to
~/.dotfiles:git clone git@github.com:purinda/dotfiles.git ~/.dotfiles cd ~/.dotfiles
-
Run the installer:
./install
- Backs up any existing
~/.zshrcto~/.zshrc.orig. - Creates symlinks:
~/.zshrc→.dotfiles/zshrc~/.zshrc.d→.dotfiles/zshrc.d~/.gitconfig→.dotfiles/git/gitconfig~/.gitignore→.dotfiles/git/gitignore_global~/.config/alacritty→.dotfiles/alacritty~/.config/tmux→.dotfiles/tmux
- Installs dependencies:
- Linux (Debian/Ubuntu): Installs
eza,bat,neovim, andngrok. - macOS: Installs
neovim,eza,bat, andngrokvia Homebrew.
- Linux (Debian/Ubuntu): Installs
- Clones/updates Powerlevel10k in
~/.powerlevel10k.
- Restart your terminal session or run:
If configuring Powerlevel10k for the first time, run
source ~/.zshrc
p10k configure.