Skip to content

joshvera/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

590 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors