joshvera/dotfiles
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Dotfiles Personal configuration files for macOS development environment. ## Contents - **Brewfile** - Homebrew package management - **zsh/** - Shell configuration, aliases, and plugins (including `fzf-tab` submodule) - **git_template/** - Git hooks and configuration - **vscode/** - Visual Studio Code settings and keybindings - **zellij/** - Terminal multiplexer configuration (keyboard-driven, vim-style) - **.agents/** - Shared agent skills (canonical repo-backed source for model-agnostic skills) - **.claude/** - Claude Code configuration (commands, hooks, agents) - **.codex/** - Codex-specific and system skills tracked in-repo - **skills/** - Shared slash-command definitions - **emacs** - Emacs configuration - **DefaultKeyBinding.dict** - macOS key bindings ## Quick Setup 1. Clone this repository: ```bash git clone https://github.com/yourusername/dotfiles.git ~/github/dotfiles cd ~/github/dotfiles ``` 2. Install core command-center packages: ```bash brew bundle --file Brewfile ``` 3. Link core dotfiles safely (backs up non-symlink files first, links Claude hooks, installs shared `~/.agents/skills`, mirrors `~/.claude/skills` to it, and installs Codex-specific skills): ```bash ./scripts/bootstrap-core.sh ``` 4. Optional profiles: ```bash brew bundle --file Brewfile.dev brew bundle --file Brewfile.desktop ``` 5. Strict bootstrap (opinionated, fail-fast): ```bash ./scripts/bootstrap-strict.sh ``` This enforces required shell deps, including: - Java 21 (`temurin@21`) - `fzf-tab` plugin submodule under `zsh/plugins/fzf-tab` - clean interactive zsh startup 6. Optional extra symlinks: ```bash # Zellij config mkdir -p ~/.config/zellij ln -s ~/github/dotfiles/zellij/config.kdl ~/.config/zellij/config.kdl # VS Code (macOS) ln -s ~/github/dotfiles/vscode/settings.json ~/Library/Application\ Support/Code/User/settings.json ln -s ~/github/dotfiles/vscode/keybindings.json ~/Library/Application\ Support/Code/User/keybindings.json # Claude Code (backup existing first) mv ~/.claude ~/.claude.bak # if exists ln -s ~/github/dotfiles/.claude ~/.claude # Restore runtime state from backup cp ~/.claude.bak/history.jsonl ~/.claude/ cp -r ~/.claude.bak/{todos,plans,plugins,cache,statsig} ~/.claude/ ``` ## Key Features - Minimal, keyboard-driven Zellij configuration with vim-style navigation - Network utilities (sniff, httpdump) with interface selection - Git aliases and automatic ctags generation - VS Code with GitHub Light theme and extensive customizations - Organized package management via Brewfile ## Usage Notes - Network sniffing functions (`sniff`, `httpdump`) now accept interface names as arguments - Zellij is aliased to `z` for quick access - The repository includes a comprehensive `.gitignore` for security - `bootstrap-core.sh` links `~/.tmux.conf` from `tmux/tmux.conf` (falls back to legacy `./.tmux.conf`) - `bootstrap-core.sh` treats `.gitconfig` and `.fzf.zsh` as dotfiles-managed (when present in repo) - `bootstrap-core.sh` links `~/.agents/skills` to the repo-managed shared skills directory - `bootstrap-core.sh` mirrors `~/.claude/skills` to `~/.agents/skills` - `bootstrap-core.sh` links `~/.codex/skills` to the repo-managed Codex-specific skill directory