Personal configuration files for Linux development environments. Includes shell, editor, terminal, and Claude Code plugin setup.
- Nix & Home Manager: Reproducible environment setup using Nix flakes and Home Manager (
flake.nix,home.nix,configuration.nix). (work in progress) - Shell Customization: Zsh (with Oh My Zsh), custom functions, and AI-powered helpers (see
dot-zsh-functions/). - Neovim: Lua-based configuration with plugins and custom keybindings (
nvim/). - Tmux: Custom tmux and tmuxp session management (
tmux/). - WezTerm: Terminal emulator configuration (
wezterm/). - Claude Code Plugin: Auto-formatting hooks and TDD agents available as a Claude Code marketplace plugin (see
claude-plugin/). - Setup Script:
setup.shautomates stowing configs, installing dependencies, and setting up the environment.
This repository also functions as a Gemini CLI extension, providing custom TDD agents, context from GEMINI.md, and specialized development workflows.
From your Terminal:
gemini extensions install https://github.com/Anthony-Bible/dotfiles --auto-updateFrom within Gemini CLI:
/extensions install https://github.com/Anthony-Bible/dotfiles --auto-update- TDD Agents: Ported from the Claude plugin, available as sub-agents in Gemini CLI.
- Contextual Knowledge: Automatically includes
GEMINI.mdfor project-specific rules and instructions. - Deadpool Mode: Experience the "Uncensored Chaos Edition" for a more... colorful development experience.
This repo acts as a Claude Code plugin marketplace. The dotfiles-dev-tools plugin provides:
- Auto-formatting hooks that run after every file write/edit:
- Go (
gofmt/goimports) - Shell scripts (
shfmt) - Protobuf (
clang-format) - OpenAPI specs (linting)
- Go (
- TDD agents for the full red-green-refactor cycle:
red-phase-tester— writes failing tests before implementationgreen-phase-implementer— writes minimal code to pass teststdd-refactor-specialist— cleans up code after tests go greentdd-review-agent— verifies completeness after refactoringsecurity-auditor— finds vulnerabilities in code
1. Add this repo as a marketplace:
claude plugin marketplace add Anthony-Bible/dotfiles2. Install the plugin:
claude plugin install dotfiles-dev-tools@anthony-bible-dotfilesOr from within Claude Code interactive mode:
/plugin install dotfiles-dev-tools@anthony-bible-dotfiles
The marketplace is defined by .claude-plugin/marketplace.json at the root of this repo. It lists available plugins and points to their source directories.
Each plugin lives in its own subdirectory (e.g., claude-plugin/) and contains:
| Path | Purpose |
|---|---|
.claude-plugin/plugin.json |
Plugin metadata (name, version, description) |
hooks/hooks.json |
PostToolUse/PreToolUse hooks with shell commands |
agents/*.md |
Custom agents with frontmatter metadata |
.mcp.json |
MCP servers bundled with the plugin |
.lsp.json |
LSP servers bundled with the plugin |
When Claude Code installs a plugin, it copies the plugin directory to ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/ and activates hooks, agents, MCP servers, and LSP servers from that directory. The ${CLAUDE_PLUGIN_ROOT} environment variable is set to the installed plugin path at runtime.
.claude-plugin/
marketplace.json # Marketplace index listing all plugins
claude-plugin/ # dotfiles-dev-tools plugin source
.claude-plugin/
plugin.json # Plugin metadata
hooks/
hooks.json # Auto-format hooks (PostToolUse)
agents/
red-phase-tester.md
green-phase-implementer.md
tdd-refactor-specialist.md
tdd-review-agent.md
security-auditor.md
scripts/
goformat.sh
shellformat.sh
protoformat.sh
openapi-lint.sh
format-common.sh
.mcp.json # MCP servers (sequential-thinking)
.lsp.json # LSP servers (gopls)
# List all registered marketplaces
claude plugin marketplace list
# Update marketplace plugin listings
claude plugin marketplace update anthony-bible-dotfiles
# Remove the marketplace
claude plugin marketplace remove anthony-bible-dotfiles
# Validate the plugin/marketplace structure
claude plugin validate ..claude-plugin/ # Claude Code marketplace definition
claude-plugin/ # Claude Code plugin (dotfiles-dev-tools)
configuration.nix # NixOS or Home Manager configuration
flake.nix # Nix flake for reproducible setup
home.nix # Home Manager user configuration
setup.sh # Setup and bootstrap script
.lsp.json # Global LSP configuration (gopls)
.mcp.json # Global MCP server configuration
dot-oh-my-zsh/ # Oh My Zsh themes and customizations
dot-zsh-functions/ # Custom Zsh functions and widgets
nvim/ # Neovim configuration (Lua)
tmux/ # Tmux and tmuxp configuration
wezterm/ # WezTerm configuration
The dot-zsh-functions/ directory enhances the shell experience:
dot-zsh-functions: Aliases, environment variables, andCheckIfDotDirFilesChanged.dot-ai-functions: AI-powered shell helpers via Claude:command_not_found_handler: Suggests commands for unknown input.explain/explain:: Explains a given command.Alt-eZLE widget: Sends current command line to Claude and replaces it with the result.ai_commit_msg/Alt-g: Generates commit messages from staged changes usingfzf+ Claude.
dot-tcn-functions: Work-specific helpers (DokuWiki, PostgreSQL, Kamailio, GCP IAM).
- Nix (with flakes enabled)
- Home Manager
- GNU Stow
- Claude Code (for the plugin features)
-
Clone the repository:
git clone https://github.com/Anthony-Bible/dotfiles.git cd dotfiles -
Run the setup script:
./setup.sh
-
Activate Home Manager configuration:
nix run .#homeConfigurations.$USER.activationPackage -
Install the Claude Code plugin (see Installing the Plugin above).
MIT License. See individual files for copyright.