Skip to content
mcdougaldPublic

About

This repository contains my public dotfiles, configs, and other development setup info

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

30 Commits

Folders and files

Repository files navigation

Trev McDougald's Dotfiles

macOS Pop!_OS Zsh Powerlevel10k Starship iTerm2 Herdr Zellij Homebrew mise Git

opencode Claude Code GitHub Copilot Antigravity Cursor Zed VS Code Helix IntelliJ

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.

πŸ“ž Contact

πŸ“‹ Overview

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.

πŸ› οΈ Tools & Technologies

  • 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.md convention
  • 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

πŸ–₯️ Terminal Preview

Terminal Screenshot

My terminal setup featuring the DoomOne theme with Powerlevel10k prompt

πŸ“ Repository Structure

β”œβ”€β”€ .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

πŸš€ Quick Start

  1. Clone this repository:

    git clone https://github.com/trevormcdougald/dotfiles.git
    cd dotfiles
  2. 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.md for what is intentionally not linked (Raycast, Cursor/VS Code).

  3. Install packages:

    brew bundle --file=Brewfile
  4. Install iTerm2 themes:

    • iTerm2 β†’ Preferences β†’ Profiles β†’ Colors
    • "Color Presets" β†’ "Import" β†’ themes/iterm/DoomOne.itermcolors
  5. Install IDE themes:

    • IntelliJ IDEA β†’ Settings β†’ Editor β†’ Color Scheme
    • Gear icon β†’ "Import Scheme" β†’ any .icls file in themes/

πŸ€– AI Coding Agents

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.

πŸ–²οΈ Terminal Multiplexing

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

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

🎨 Available Themes

Terminal Themes

  • DoomOne β€” dark theme inspired by Doom Emacs, perfect for coding sessions

IDE Themes

  • 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

🐧 Pop!_OS Setup

Use the single entrypoint script: setups/pop-os.

# from repo root
chmod +x setups/pop-os
./setups/pop-os

This default all mode will:

  • Run the full Pop!_OS machine setup via setups/setup_pop_os_2026.sh
  • Apply ./.zshrc-ubuntu to ~/.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 help

After running setup:

  • Restart shell: exec zsh
  • Set your terminal font to MesloLGS NF for 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

🍎 macOS Setup

bash macos-defaults.sh      # developer-friendly system defaults (review it first)
bash setups/setup_new.sh    # new-machine bootstrap

Inspirations

πŸ“„ License

Open source under the MIT License. A LICENSE file has not been committed yet.

🀝 Contributing

Feel free to submit issues, fork the repository, and create pull requests for any improvements.


Last updated: 2026-08-21

About

This repository contains my public dotfiles, configs, and other development setup info

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages