Tags: dotfiles zsh zshrc powerlevel10k starship iterm2 herdr zellij opencode
claude-code agents agents-md ai-coding-agents mcp copilot cursor zed antigravity
helix vscode intellij jetbrains lazygit mise direnv ripgrep bat fd ruff
themes color-schemes macos pop-os ubuntu homebrew config development terminal
shell ide editor
A curated collection of development configuration files, themes, agent setups, and bootstrap scripts for macOS and Pop!_OS development environments.
- GitHub: @mcdougald
- Email: mcdougald.job@gmail.com
- Website: trev.fyi
This repository contains my personal dotfiles and development configurations, organized for easy setup and sharing. It covers the shell, the terminal, editors and IDEs, the CLI tooling that sits between them, and the AI coding agents that now do a lot of the typing β kept consistent across machines and operating systems.
- Shell: Zsh with Powerlevel10k (
.zshrc,p10k.customizations.zsh) or Starship - Terminal: iTerm2 with custom color schemes
- Multiplexers: Herdr (agent-aware), Zellij
- AI agents: opencode, Claude Code,
GitHub Copilot, Cursor, Antigravity β with a shared
AGENTS.mdconvention - Editors / IDEs: Zed, Helix, VS Code, Cursor, IntelliJ IDEA
- CLI tooling: ripgrep, fd, bat, lazygit, delta, jq, mise, direnv, ruff, taplo
- Package managers: Homebrew (
Brewfile), mise for runtimes - Operating systems: macOS (Darwin), Pop!_OS / Ubuntu Linux
My terminal setup featuring the DoomOne theme with Powerlevel10k prompt
βββ .config/ # XDG configs β see .config/README.md
β βββ opencode/ # opencode: config, TUI, AGENTS.md, agents, commands
β βββ claude/ # Claude Code settings
β βββ agents/ # AGENTS.md template for any repo
β βββ copilot/ # GitHub Copilot settings fragment
β βββ antigravity/ # Antigravity User settings + keybindings
β βββ herdr/ # Herdr multiplexer: config, plugins, helper scripts
β βββ zed/ helix/ zellij/ # Editors and multiplexer
β βββ bat/ fd/ ripgrep/ # CLI tooling
β βββ git/ gh/ lazygit/ # Git stack
β βββ mise/ direnv/ # Runtimes and per-directory environments
β βββ ruff/ taplo/ # Formatters/linters
β βββ iterm2/ raycast/ # macOS apps
β βββ starship.toml # Starship prompt
β βββ link-macos.sh # One-shot symlink installer
βββ scripts/
β βββ ai/ # AI/dev environment checks
β βββ cloud/ # aws / gcp / fly / vercel / k8s "who am I" helpers
β βββ macos/ # kill-port, flush-dns, listening-ports, open-repo
β βββ keep-awake.sh # Keep the machine awake
βββ setups/
β βββ setup_new.sh # New-machine bootstrap
β βββ setup_pop_os_2026.sh # Full Pop!_OS provisioning
β βββ pop-os # Entrypoint wrapper (all | terminal | setup | zshrc)
βββ themes/
β βββ iterm/ # iTerm2 color schemes
β βββ *.icls # IntelliJ IDEA color schemes
βββ assets/ # Screenshots and images
βββ .zshrc # macOS Zsh config
βββ .zshrc-ubuntu # Pop!_OS / Ubuntu Zsh config
βββ p10k.customizations.zsh # Powerlevel10k prompt customizations
βββ Brewfile # Homebrew package list
βββ macos-defaults.sh # macOS system defaults
βββ dotfiles.code-workspace # VS Code workspace
-
Clone this repository:
git clone https://github.com/trevormcdougald/dotfiles.git cd dotfiles -
Link the app configs (macOS):
bash .config/link-macos.sh
Links Zed, Herdr, Claude Code, opencode, and Antigravity. It retargets existing symlinks and backs up any real file it replaces. Read it first β see
.config/README.mdfor what is intentionally not linked (Raycast, Cursor/VS Code). -
Install packages:
brew bundle --file=Brewfile
-
Install iTerm2 themes:
- iTerm2 β Preferences β Profiles β Colors
- "Color Presets" β "Import" β
themes/iterm/DoomOne.itermcolors
-
Install IDE themes:
- IntelliJ IDEA β Settings β Editor β Color Scheme
- Gear icon β "Import Scheme" β any
.iclsfile inthemes/
Agent config is first-class here, and the tools are wired to share one set of conventions.
| Tool | Config | Notes |
|---|---|---|
| opencode | .config/opencode/ |
Runtime + TUI config, global AGENTS.md, custom subagents (@review, @debug) and commands (/commit, /review, /test, /explain). |
| Claude Code | .config/claude/settings.json |
Model, effort level, statusline, plugin marketplaces. |
| GitHub Copilot | .config/copilot/, .config/.vscode/user-settings.json |
Settings fragment for VS Code / Cursor. |
| Antigravity | .config/antigravity/User/ |
VS Codeβstyle settings and keybindings. |
| Any repo | .config/agents/AGENTS.md |
Drop-in template for shared, tool-agnostic project instructions. |
opencode's instructions setting also pulls in CLAUDE.md, .cursor/rules/*.md, and
.github/copilot-instructions.md, so a repo's conventions apply no matter which agent is reading
them.
Permissions are an allowlist. opencode's bash rules start at ask, then open up read-only
inspection, git history, gh reads, and test/build/lint runners. Mutating git, network fetches,
and infra tools stay on ask; sudo, force pushes, rm -rf /, and pipe-to-shell are denied.
Credentials never live in this repo β opencode keeps them in
~/.local/share/opencode/auth.json.
Herdr is the agent-aware multiplexer driving the day-to-day setup:
.config/herdr/ carries the config, plugin configs, an install script, and helper scripts for
theme picking, the file explorer, and sidebar patching. See
.config/herdr/README.md for install, reload, keybindings, and
worktree integration. Zellij config lives alongside it in .config/zellij/.
scripts/keep-awake.sh # keep the machine awake
scripts/macos/kill-port.sh 3000 # free a port
scripts/macos/listening-ports.sh # what is listening
scripts/macos/flush-dns.sh # flush the DNS cache
scripts/cloud/cloud-whoami.sh # identity across aws / gcp / azure / kubectl
scripts/cloud/saas-whoami.sh # identity across vercel / fly / netlify / railway / cloudflare / doppler
scripts/cloud/k8s-context.sh # current kube context
scripts/cloud/tls-expiry.sh host # TLS certificate expiry (defaults to :443)
scripts/ai/ai-dev-check.sh # AI/dev toolchain health check- DoomOne β dark theme inspired by Doom Emacs, perfect for coding sessions
- Neo Light β clean, modern light theme for IntelliJ IDEA
- Neo Night β dark counterpart with excellent contrast
- Ppy Light β alternative light theme with subtle color variations
- Ppy Light2 β enhanced version of the Ppy light theme
Use the single entrypoint script: setups/pop-os.
# from repo root
chmod +x setups/pop-os
./setups/pop-osThis default all mode will:
- Run the full Pop!_OS machine setup via
setups/setup_pop_os_2026.sh - Apply
./.zshrc-ubuntuto~/.zshrc(with automatic backup) - Install enhanced terminal UX stack: Oh My Zsh + Powerlevel10k + Meslo Nerd Font + plugin suite
Optional modes:
# terminal-only fast path (recommended for shell UX upgrades)
./setups/pop-os terminal
# setup only (packages/dev tooling)
./setups/pop-os setup
# zshrc only
./setups/pop-os zshrc
# help
./setups/pop-os helpAfter running setup:
- Restart shell:
exec zsh - Set your terminal font to
MesloLGS NFfor Powerlevel10k glyphs - Run first-time prompt wizard:
p10k configure - If added to docker group, log out/in once
- Verify key tools:
brew doctor && docker --version && gh --version
bash macos-defaults.sh # developer-friendly system defaults (review it first)
bash setups/setup_new.sh # new-machine bootstrapOpen source under the MIT License. A LICENSE file has
not been committed yet.
Feel free to submit issues, fork the repository, and create pull requests for any improvements.
Last updated: 2026-08-21
