Skip to content

HellFireAE/dotfiles

Repository files navigation

dotfiles

Idempotent bootstrap for WSL2/Ubuntu dev environments. Installs system tools, CLI utilities, and symlinks dotfiles via GNU Stow.

Quick Install

curl -fsSL https://raw.githubusercontent.com/jonathanhfmills/dotfiles/master/install.sh | bash

Clones the repo to ~/dotfiles and runs make install. Idempotent — safe to re-run.

After install, the dotfiles command is available:

dotfiles help     # list all targets
dotfiles gemini   # install Google Gemini CLI
dotfiles go       # install Go + gopls LSP

Prerequisites

Install WSL2 with Ubuntu from PowerShell (run as Administrator):

wsl --install

Restart when prompted, then complete Ubuntu first-run setup.

Manual Installation

git clone https://github.com/jonathanhfmills/dotfiles.git ~/dotfiles
cd ~/dotfiles && make install

make install is idempotent — safe to run multiple times or on an existing machine.

What Gets Installed

make install installs only the essentials:

Category Tools
System jq, tmux, git, curl, make, wget, stow, ripgrep, bubblewrap, socat, unzip
Node nvm, node 24, @anthropic-ai/sandbox-runtime
Docker docker-ce, docker compose
Claude Code claude CLI + caveman skill + oh-my-claudecode plugins

AI Tools

Claude Code is installed by default with caveman + oh-my-claudecode plugins, oh-my-claude-sisyphus (OMC), and Lucid Memory MCP server.

Other AI CLIs are opt-in:

make codex   # @openai/codex
make gemini  # @google/gemini-cli
make qwen    # @qwen-code/qwen-code

Languages + LSPs

Each target installs the runtime, LSP binary, and Claude Code LSP plugin together:

make php     # PHP-FPM + composer + intelephense + php-lsp plugin
make go      # Go + gopls + gopls-lsp plugin
make rust    # Rust + rust-analyzer + rust-analyzer-lsp plugin
make csharp  # .NET (LTS + 8) + PowerShell + csharp-ls + csharp-lsp plugin
make java    # OpenJDK + jdtls + jdtls-lsp plugin
make python  # ty (Astral) + pyright-lsp plugin
make lua     # lua-language-server + lua-lsp plugin

make lsp-servers  # all of the above at once

LSP binaries land in ~/.local/bin (already in PATH). Plugins install automatically when claude is in PATH.

Note: kotlin-lsp and swift-lsp have no Linux binary. Install manually if needed.

Fonts (opt-in)

make source-code-pro  # Adobe Source Code Pro OTF → ~/.fonts
make caveman          # caveman token-compression skill for 30+ AI editors

Other Commands

make update     # apt-get update && upgrade
make link       # re-stow dotfiles (git, tmux, bin, .claude, .codex, .gemini, .qwen)
make proxy      # start Caddy reverse proxy stack
make apt-repos  # register third-party apt repos/keys (gh, claude-code, docker)
make github     # GitHub CLI + auth + git identity setup
make bun        # Bun JavaScript runtime
make ssh        # openssh-server on port 2222 (Claude Desktop Remote SSH)
make lucid      # Lucid Memory MCP server (also auto-installed via make claude-plugins)

Git Configuration

make link symlinks dotfiles and seeds global AI config. Also copies git/.gitconfig.example to git/.gitconfig if absent — fill in your personal values:

# git/.gitconfig — gitignored, local only
[user]
    name = Your Name
    email = you@example.com
    signingkey = ssh-rsa AAAA...

Contributions

See CONTRIBUTING.md.

Security

See SECURITY.md.

Contributors