Dotfiles

A familiar shell, assembled one feature at a time. Choose the aliases, keyboard bindings, tool settings and app integrations you want on this machine.

Install

Download the installer, review its plan, then choose the features for this machine.

curl -fsSL https://dotfiles.bolte.sh/install.sh -o /tmp/bolte-install.sh
sh /tmp/bolte-install.sh --features shell --dry-run
sh /tmp/bolte-install.sh

Or start the interactive flow directly:

curl -fsSL https://dotfiles.bolte.sh/install.sh | sh

Choose your features

The terminal picker starts with shell ergonomics only. Move with arrows or j/k, toggle with Space, and press Enter to review. Every feature is independent; there are no machine presets.

FeatureAdds
shellBash/Zsh aliases, vim editing keys, history, completion and a compact prompt.
gitAliases and diff preferences, preserving your identity and local policy.
vimNavigation, indentation and search without plugins.
tmuxBacktick prefix, pane navigation and clipboard support.
terminalGhostty colors on macOS.
devSmall local development helpers.
monoA command to open the installed macOS app.
wikiA notes command for your existing wiki client.
packagesPython/Rust registry commands using your environment or stored API key.

Use flags for a precise selection or to adjust your saved choices:

The package guide (Markdown) covers authenticated installation, publishing and GitHub Actions.

bolte-dotfiles install --features shell,git,vim --dry-run
bolte-dotfiles install --feature shell --feature tmux --yes
bolte-dotfiles install --with git --without vim --dry-run
bolte-dotfiles list

Keep control

Installation preserves existing shell content and backs up replaced files. Selection lives in ~/.bolte/config.json; credentials remain separate. No telemetry, automatic package installation, cron jobs, SSH rules or Git identity changes are included.

Keep private customizations in ~/.bolte/env or ~/.bolte/post-install.sh. Empty local templates are created once. The post-install script runs only when you explicitly select it; private contents are never published.

bolte-dotfiles status
bolte-dotfiles uninstall --dry-run
bolte-dotfiles uninstall

Python 3.9 or later is enough. If it is missing, the installer offers an explicit private Python runtime using uv, without sudo or changes to shell startup files. On managed machines, use your organization’s approved runtime.