.dotfiles

Reference

Support Matrix

Where the dotfiles run and what CI actually exercises. Minimum versions and their reasons are kept in MINIMUM-TOOLCHAIN.md; this page summarises them and must agree with it.

"CI tested" means a GitHub Actions job runs the suite on that platform for changes to code or configuration (see the table at the end for each workflow's triggers). Everything else is expected to work but is not verified by CI.

Operating Systems

OS Version Architecture Status CI
macOS 14 (Sonoma) or later aarch64 (Apple Silicon) Supported, primary development platform Yes: macos-14 and macos-latest (macOS 26), both Apple Silicon
macOS 14 (Sonoma) or later x86_64 (Intel) Supported No Intel runner; templates handle the /usr/local Homebrew prefix
Ubuntu 22.04 or later x86_64 Supported Yes: ubuntu-latest (24.04)
Ubuntu 22.04 or later aarch64 Supported No
Debian 12 or later x86_64 Supported No; same package versions as Ubuntu
WSL2 Ubuntu 22.04 or later x86_64 Supported, with a clipboard bridge No
NixOS 23.11 or later x86_64, aarch64 Supported, via the Nix flake nix flake check in CI when Nix files change
Fedora 41 or later x86_64 Community No
Arch Linux Rolling x86_64 Community; AUR package published No
Windows 10 / 11 x86_64 PowerShell parity surface (see below) Yes: windows-latest (PowerShell 7.6)

Shells

Shell Minimum Status Coverage Notes
Fish 4.0 Supported Core CLI The default login shell (default_shell in .chezmoidata.toml). Native dot, dm, da, dmc, datt, and a cached alias bridge
Zsh 5.8 Supported Full All features
Bash 5.0 interactive; 3.2 for the dot CLI and scripts Supported Full The shared logic core; the CLI runs on macOS's stock /bin/bash 3.2
Nushell 0.98 Supported Core CLI Native d, dm, da, dmc, datt for core workflows; complex aliases are skipped
PowerShell 7.4 LTS or 7.5 and later Supported Core CLI Managed profile, dot wrapper, listing helpers and attestation aliases. CI runs PowerShell 7.6 on windows-latest; 7.4 itself is not exercised in CI

Terminal Emulators

Terminal Status Notes
Ghostty Supported Primary; config in defaults/dot_config/ghostty/
iTerm2 Supported macOS only; a Dynamic Profile is installed by run_onchange_22-iterm2-profile.sh.tmpl (pick the "dotfiles" profile)
Alacritty Supported Theme-driven; config in defaults/dot_config/alacritty/
Kitty Supported Theme-driven; config in defaults/dot_config/kitty/
WezTerm Supported Theme-driven; config in defaults/dot_config/wezterm/
Foot Supported Linux/Wayland; off by default, enabled with features.foot; config in defaults/dot_config/foot/
Warp Supported Theme-driven; deploys ~/.warp/themes/dotfiles.yaml (pick "dotfiles" in Settings → Appearance → Themes)
Windows Terminal Supported WSL2 profile
tmux Supported Config in defaults/dot_config/tmux/

Key Tools

Tool Minimum Required Notes
chezmoi 2.72.2 Yes The pinned, checksum-verified version install.sh downloads
git 2.34 Yes The first release with SSH commit and tag signing
curl — Yes Used by the bootstrap installer
Neovim 0.11.2 No Enforced by init.lua; the config refuses to load on older versions
Starship, mise, fzf, zoxide, atuin, pueue and other CLI tools pinned No Versions are pinned in mise.toml and mise.lock, not held to a separate floor
Nix — No Only for the Nix flake route

CI Environments

Workflow Platforms Runs on
ci.yml ubuntu-latest, macos-latest, windows-latest Pull requests that change code, config or workflows; pushes to main; scheduled
reliability-gate.yml ubuntu-latest, macos-latest, macos-14 Every pull request and push to main
cross-platform-test.yml ubuntu-latest, macos-latest, macos-14 Pull requests that change code or config; pushes to main; scheduled
ci-enforced.yml ubuntu-latest Every pull request and push; stricter checks
devcontainer-prebuild.yml ubuntu-latest Pre-built development images

Both macOS labels are Apple Silicon: macos-14 runs macOS 14 and macos-latest runs macOS 26. There is no Intel macOS runner in CI.

Known Limitations

Platform Limitation Workaround
WSL2 No native clipboard clip.exe / powershell.exe bridge aliases
NixOS System packages can conflict Use the Nix flake exclusively
Fish < 4.0 No keyboard protocol Upgrade to Fish 4
Nushell Complex aliases skipped The core dot workflow remains first-class
macOS Intel Homebrew lives in /usr/local, not /opt/homebrew; not covered by CI Templates handle both prefixes