Skip to content
ian-pascoePublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

321 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Ian Pascoe's dotfiles for macOS, Linux (including WSL) and Windows, managed with chezmoi.

Install

On a new machine, install chezmoi and apply these dotfiles in one step:

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply ian-pascoe

On Windows (PowerShell):

iex "&{$(irm 'https://get.chezmoi.io/ps1')} -- init --apply ian-pascoe"

If chezmoi is already installed:

chezmoi init --apply ian-pascoe

Prerequisites

  • Git
  • mise: installs the global CLIs and runtimes after apply. Install it first and resolve any config trust prompts yourself.
  • A native package manager: Homebrew on macOS, APT on Linux, or Scoop on Windows.

Update

chezmoi update      # pull the latest changes and apply them
chezmoi diff        # preview what apply would change
chezmoi apply       # apply the source state to $HOME

upgrade-all upgrades the packages installed by every package manager.

What's inside

Area Tools
Shells Zsh, Bash, PowerShell, Starship prompt
Editor Neovim (LazyVim)
Terminals Ghostty, WezTerm, Windows Terminal, Tern, Rex, Herdr
Window management AeroSpace, JankyBorders, Karabiner-Elements, Hammerspoon (macOS); GlazeWM, YASB, AutoHotkey (Windows)
CLI tools bat, btop, fastfetch, k9s, lsd, yazi, spotify-player
Coding agents Pi config, extensions and skills; Plannotator
Themes 100+ coordinated themes with wallpapers, in light and dark variants

Layout

chezmoi source names encode their target paths: dot_config/ deploys to ~/.config/, private_ sets restrictive permissions, executable_ sets the executable bit, and .tmpl files are rendered as templates.

Path Purpose
dot_config/ ~/.config app configuration
dot_local/bin/ Personal scripts: theme switching, package sync, maintenance
dot_themes/ Theme variants deployed to ~/.themes
dot_pi/, dot_agents/ Pi coding-agent config and installed agent skills
.chezmoiscripts/ Post-apply hooks (see docs/chezmoi-hooks.md)
.chezmoiexternal.toml.tmpl Externally fetched assets, such as theme wallpapers
.chezmoiignore Repo-only files and per-OS exclusions
Brewfile macOS Homebrew packages
AppData/, Documents/ Windows-only configuration
Library/ macOS-only configuration and LaunchAgents
tern/ Shared Tern config, included by each OS's config stub
docs/ Design notes, specs and research

Packages

Shared CLI tools and runtimes are declared in dot_config/mise/config.toml and installed by a post-apply hook. OS packages live in the native package manager's manifest:

See docs/package-ownership.md for which manager owns what. install-package-manifests installs from the manifests, and sync-package-manifests snapshots what each host has installed without changing the manifests.

Themes

Every themed app reads its theme through ~/.config/theme, a link to the active variant in ~/.themes/. Switch themes with:

list-themes                       # list available themes
set-theme tokyo-night             # switch theme family, keeping the saved mode
set-theme gruvbox light           # switch family and mode
set-mode toggle                   # switch light/dark for the current theme
random-theme                      # pick a random theme

Windows has PowerShell equivalents (Set-Theme.ps1, List-Themes.ps1, ...). To add a theme, see dot_themes/docs/adding-a-variant.md.

Development

Repo tooling (formatting, linting, tests for themes and scripts) is a pnpm workspace:

pnpm install        # also installs the pre-commit hook
pnpm format         # oxfmt
pnpm lint           # oxlint
pnpm typecheck
pnpm test           # vitest

Acknowledgements

License

My own work in this repo is licensed under the MIT License.

Third-party content keeps its original license and is not covered by it:

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages