dotfiles

Dotfiles

Dotfiles Banner

GitHub Repo stars GitHub forks Ubuntu macOS Windows Homebrew APT Snap Winget


Package Management

Cross-platform package setup


Dotfiles Management

Apply dotfiles via symlinkr:

# Install
brew install veerendra2/tap/symlinkr

# Apply
symlinkr --config symlinkr.yaml -f

# Uninstall (remove) symlinks
symlinkr --config symlinkr.yaml -r

Installation

macOS & Linux

curl -fsSL https://raw.githubusercontent.com/veerendra2/dotfiles/main/bootstrap | bash

Windows

irm https://raw.githubusercontent.com/veerendra2/dotfiles/refactor-to-make-monorepo/windows/install.ps1 | iex

Custom Cheat Sheets via navi

Terminal cheatsheet integration:

Manage cheatsheet repositories:

navi repo --help
Manages cheatsheet repositories

Usage: navi repo <COMMAND>

Commands:
  add     Imports cheatsheets from a repo
  browse  Browses for featured cheatsheet repos
  help    Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help

Tips for Machine-Specific Dotfiles

These files are not tracked in git — use them for machine-specific overrides that shouldn’t be shared or committed.

Env

shell/common/.extra

# Put local Homebrew path(`~/.local/Homebrew`) first
export LOCAL_HOMEBREW=1

# Override Claude Code settings for 9Router
export ANTHROPIC_BASE_URL="REDACTED"
export NINE_ROUTER_API_KEY="REDACTED"
export ANTHROPIC_AUTH_TOKEN="$NINE_ROUTER_API_KEY"
export ANTHROPIC_MODEL="gh/claude-sonnet-4.6"

# Override Claude Code settings for Openrouter
export ANTHROPIC_API_KEY="YOUR_API_KEY"
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
export ANTHROPIC_MODEL="z-ai/glm-5.3-flash"
export ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY"
export ANTHROPIC_API_KEY=""

export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1

# Overide default Claude models, if required
export ANTHROPIC_DEFAULT_FABLE_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_OPUS_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$ANTHROPIC_MODEL"
export CLAUDE_CODE_SUBAGENT_MODEL="$ANTHROPIC_MODEL"

# Add the system CA bundle to Node.js trusted certificates.
export NODE_EXTRA_CA_CERTS=/etc/ssl/cert.pem

Ghostty Config

tools/ghostty/local

# Launch a custom command or shell on Ghostty start
# Useful here for forcing bash to launch
command = ~/.local/Homebrew/bin/bash -l

Git Config

tools/git/.extra-gitconfig

# e.g. use a custom email for commits on this machine
[user]
  email = your-custom-email@example.com

Testing Locally

docker build --no-cache --tag dotfiles:latest .
...

docker run -it --rm -v ./:/home/dotfiles/dotfiles dotfiles:latest
dotfiles@135ec4adbe1c:~$ ./dotfiles/bootstrap
[sudo] password for dotfiles:
...