A dotfiles configuration using chezmoi.
-
A mostly consistent cross-platform terminal emulator using Wezterm
-
A mostly consistent cross-platform terminal multiplexer using tmux and psmux (Windows)
- Android and non-GUI Linux use tmux directly
-
A consistent nerd font, Caskaydia Cove
-
A consistent cross-shell prompt using Starship
-
A mostly consistent cross-shell Vi mode using ble.sh and PSReadLine
- PSReadLine lacks many Vi mode features, but you can edit the current command externally
-
Bash autocomplete, syntax highlighting, and more with ble.sh
-
Latest vanilla Vim with autocomplete, syntax highlighting, LSP support, and more
-
Native cross-platform SSH agent configurations
- macOS uses Keychain to persist restarts
-
Consistent cross-tool AI agent preferences and skills
-
Windows Subsystem for Linux (WSL) support
-
SSH agent forwarding to host
-
Git GPG forwarding to host (no global forwarding yet)
-
Shellception:
win pwsh->wsl bash->wsl pwsh
-
-
Only Android, Windows, Linux, and macOS platforms are supported
-
I don't use iOS, and it's too limited for terminal emulation (AFAIK)
-
Linux support only tested on Ubuntu WSL (for now)
-
-
Only Bash and PowerShell (
pwsh.exe) shells are supported-
Bash is available almost everywhere, and ble.sh makes it just as good as other shells
-
CMD and Windows PowerShell are effectively in maintenance mode. Long live PowerShell!
-
On macOS, ZSH is replaced by the latest Bash for consistency
-
- Chezmoi
- Windows:
winget install -e --id twpayne.chezmoi - macOS:
brew install chezmoi - Ubuntu/Snap:
snap install --classic chezmoi
- Windows:
- Chezmoi Modify Manager: Unzip release and add to PATH
- macOS:
xattr -d com.apple.quarantine "$HOME/bin/chezmoi_modify_manager"
- macOS:
- PowerShell (Windows only):
winget install -e --id Microsoft.PowerShell - Dashlane CLI (Work only): Unzip release and add to PATH
-
Reset WinGet if needed (Windows only, see workaround):
Reset-AppxPackage -Package 'Microsoft.DesktopAppInstaller_1.26.430.0_x64__8wekyb3d8bbwe' -
Restart shell or reload environment variables
-
dcli sync(Work only) -
chezmoi init --apply gtbuchanan
WinGet intermittently fails with RPC errors. To retry from the repo root
(cmcd):
winget configure -f dist/winget.yaml --suppress-initial-details --accept-configuration-agreements
Alternatively, clear the script cache and re-run chezmoi apply:
chezmoi state delete-bucket --bucket=scriptState