Bootstrap the terminal setup currently used on this Mac:
- Ghostty with the Dracula theme, cursor warp, typed scramble, and subtle noise.
- Zsh with Oh My Zsh,
git,zsh-autosuggestions, andzsh-syntax-highlighting. - Starship with a lean Dracula palette.
- Modern CLI tooling:
fzf,fd,bat,eza,zoxide,glow. - Optional local files for aliases, tokens, and work-specific settings.
This project does not version secrets. Tokens, private keys, and sensitive environment variables should live in:
~/.config/ramon-terminal/zsh/secrets.zsh- Clone/download this repository and run the bootstrap.
cd ~/Developer/personal/python/macos-terminal-bootstrap
./install.shinstall.sh installs Homebrew when needed, installs asdf, installs Python and uv through ASDF, and then runs the installer through uv run.
- Open Ghostty or reload the config with
Cmd+R.
To review before applying:
uv run ramon-terminal-bootstrap plan
uv run ramon-terminal-bootstrap install --dry-runuv run ramon-terminal-bootstrap plan
uv run ramon-terminal-bootstrap install
uv run ramon-terminal-bootstrap install --dry-run
uv run ramon-terminal-bootstrap doctorAfter installing in editable mode:
uv pip install -e .
ramon-terminal-bootstrap doctor- Installs Homebrew when called through
./install.sh. - Installs
asdfthrough Homebrew before running the bootstrap. - Installs Python and
uvthrough ASDF before executing the project. - Installs Homebrew packages when
brewis available:git,starship,asdf,fzf,fd,bat,eza,zoxide,glow,pipx,ghostty, andfont-hack-nerd-font. - Clones Oh My Zsh and custom plugins when they do not exist.
- Adds ASDF plugins for
rust,uv,nodejs,python, andterraform, then runsasdf install. - Copies configs to:
~/.config/ghostty/config~/.config/ghostty/typed_scramble.glsl~/.config/ghostty/ghostty-cursor-shaders/cursor_warp.glsl~/.config/ghostty/ghostty-shaders/mnoise.glsl~/.config/starship.toml~/.config/glow/dracula-preview.json~/.zshrc~/.zprofile~/.tool-versions
- Backs up any existing file before overwriting it:
~/.terminal-bootstrap-backups/<timestamp>/The installed .zshrc loads these files when they exist:
~/.config/ramon-terminal/zsh/local.zsh
~/.config/ramon-terminal/zsh/secrets.zshUse local.zsh for aliases and functions that do not contain secrets. Use secrets.zsh for tokens and sensitive environment variables. The installer only creates a safe local.zsh when it does not already exist.
This repository does not configure Git identity, GitHub CLI authentication, commit signing, or SSH keys. That should live in a separate personal Git/SSH bootstrap so terminal appearance and shell setup stay separate from credentials and identity.
Manual checklist after installing this repository:
- Create or restore the personal SSH key.
- Add the public key to the personal GitHub account.
- Run
gh auth loginwith the personal account. - Configure
git config --global user.nameandgit config --global user.email. - Fill
~/.config/ramon-terminal/zsh/secrets.zshwith the required tokens.
uv run python -m unittest discover -s tests
uv run python -m compileall src tests