Skip to content

thedavidharris/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

137 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

David's Dotfiles

Managed with Chezmoi. This setup is fish-first, with zsh kept as a secondary shell.

Quick Start

sh -c "$(curl -fsLS get.chezmoi.io)" -- -b ~/.local/bin
chezmoi init --apply https://github.com/thedavidharris/dotfiles.git
exec fish

Daily Workflow

chezmoi diff                 # Preview changes
chezmoi apply                # Apply changes
chezmoi edit ~/.config/fish/config.fish
chezmoi status               # Check source vs target drift

Stack

  • Shell: fish (primary), zsh (secondary)
  • Editor: Neovim (LazyVim)
  • Prompt/theme: Starship + Catppuccin Macchiato
  • Tool/runtime manager: mise
  • Secrets and signing: 1Password CLI + SSH agent
  • Package managers:
    • macOS: Homebrew (packages.yaml -> Brewfile.tmpl)
    • WSL/Linux: apt (base dependencies) + Homebrew (shared CLI tools)

Machine-Specific Data

Use local machine overrides in ~/.config/chezmoi/chezmoi.toml for values that must differ across systems.

[data]
# Optional profile hint: macos | wsl | linux
profile = "wsl"

# Optional overrides used by templates.
ssh_signing_program = "/opt/1Password/op-ssh-sign"
ssh_agent_sock = "~/.1password/agent.sock"

Template defaults are already defined for macOS and Linux/WSL, and these keys allow per-machine overrides when paths differ.

WSL2 Quick Start

See docs/WSL.md for full setup, including apt bootstrap, optional Linuxbrew, chezmoi initialization, and SSH signing verification.

Repository Snapshot

  • dot_config/fish: primary fish shell config and plugin setup
  • dot_config/zsh: secondary zsh compatibility config
  • dot_config/mise: runtime/tool versions and env injection
  • dot_config/git: git behavior, aliases, and signing config
  • dot_config/brew: Brewfile template rendered from package data
  • dot_config/nvim: Neovim (LazyVim) configuration
  • dot_agents: home-synced agent rules and skills
  • docs: repo documentation and privacy policy
  • bin: executable helper scripts
  • .chezmoidata: data inputs for templates and package inventory

Fish Plugins

  • catppuccin/fish
  • franciscolourenco/done
  • jorgebucaran/autopair.fish
  • jorgebucaran/fisher
  • mattmc3/macos.fish
  • mattmc3/magic-enter.fish
  • mattmc3/up.fish

Privacy

See docs/PRIVACY.md for the current privacy/work-config policy and local-only patterns for internal endpoints and credentials.

Keep Docs Updated

docs-gen
docs-lint

docs-gen refreshes generated sections in README.md and AGENTS.md. docs-lint checks that generated docs are current and referenced paths exist.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors