Skip to content

hockeybuggy/dotfiles

Repository files navigation

My dotfiles

This repository is for managing my configuration files.

Installation

1. Clone this repo

Clone the repo. I like to put it at ~/.dotfiles

git clone git@github.com:hockeybuggy/dotfiles.git .dotfiles && cd .dotfiles

2. Install the tools

setup.sh installs the dependencies listed below. It works on macOS (via Homebrew) and Debian/Ubuntu (via apt plus a few official installers). It only installs tools -- it does not link any config.

./setup.sh

3. Automagically Link the files

./bootstrap.sh

Agent skills

The agents/skills/ directory holds Agent Skills (one SKILL.md per subdirectory) shared by Claude Code and the Pi coding agent. bootstrap.sh links each into ~/.claude/skills/ for Claude and points ~/.pi/agent/skills at the directory for Pi.

Checking a machine with doctor.sh

Run the doctor after installation to check required tools, linked config, shell setup, environment variables, Git configuration, and optional dependencies:

./doctor.sh

Checks report OK, WARN, or FAIL with a suggested fix. The command exits non-zero for any required failure. Use --strict to also treat warnings as failures, or --ci to skip checks that only apply to a personal machine.

Testing setup.sh

You can exercise setup.sh on a clean Debian container. This builds a minimal image, runs setup.sh and bootstrap.sh inside it, then drives a tmux session to confirm each tool actually runs:

./test/run.sh

Pass --interactive to provision the container and drop into a shell so you can poke around in tmux yourself:

./test/run.sh --interactive

Dependencies

  1. Executables
    1. neovim - 11.0
    2. tmux - 3.5
    3. iterm2
  2. command line utils
    1. zsh - 5.0
    2. reattach-to-user-namespace
    3. Inconsolata font (nerdfont variant)
    4. starship
    5. zoxide
    6. uutils-coreutils
    7. ripgrep -- Grep replacement
    8. fd -- find replacement
    9. fzf -- Fuzzy finder
    10. bat -- cat replacement
    11. eza -- ls replacement
    12. bottom -- top replacement (btm)
  3. Language things
    1. rustup, cargo, rustc
    2. Python 3.14, ruff, ty, pgcli
    3. node, fnm, prettier
    4. luarocks, stylua
    5. rbenv, rubocop, solargraph
  4. Coding agents
    1. Claude Code
    2. Pi
  5. markdownlint-cli
  6. Git related
    1. gnupg
    2. gpg-agent
    3. diff-so-fancy

About

My ever evolving dotfiles

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages