Skip to content

CLI tool collection and a step‑by‑step setup guide for your new shell environment.

License

Notifications You must be signed in to change notification settings

boomNDS/B-Vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

B-Vault

Automated macOS Setup

CLI tool collection 🧰 and a step‑by‑step setup guide for your new shell environment.

Overview

This repository is a collection of CLI tool programs and a step‑by‑step guide for bootstrapping a brand‑new macOS environment. It installs and configures:

  • Homebrew and a custom Brewfile (CLI tools & casks)
  • ASDF version manager with plugins for Node.js, Yarn, Bun, Python, Ruby, Erlang, Elixir, and Go
  • Zsh configured with the lightweight Antidote plugin manager
  • A curated desktop stack with Ghostty, Yaak, Cursor, Visual Studio Code, Zed, Figma, Brave, TablePlus, Linear, ClickUp, Notion, Slack, Bear, AirServer, MonitorControl, Vanilla, CleanMyMac, Macs Fan Control, Cloudflare Warp, the official Ookla Speedtest CLI, and more
  • Git global configuration and aliases
  • A Dracula-themed Starship prompt configuration
  • A workspace directory at ~/git for all your projects

Each step is automated via a single setup.sh script, backed by modular config files.

New Mac Setup Guide

  1. Update macOS & install Command Line Tools – Run softwareupdate --install --all, then execute xcode-select --install so Homebrew can build anything it needs.
  2. Sign into Apple ID & App Storemas installs require you to be logged in; open the App Store once and sign in before running the bootstrap script.
  3. Generate/import SSH keys – Copy your existing ~/.ssh contents or create a new key with ssh-keygen -t ed25519 -C "you@example.com" and add it to GitHub/GitLab.
  4. Clone this repogit clone https://github.com/boomNDS/B-Vault ~/.dotfiles (override DOTFILES if you prefer another location).
  5. Review configs – Skim brew/Brewfile, asdf/tool-versions, and zsh/zshrc to add/remove anything specific to you before kicking off the install.
  6. Run the installercd ~/.dotfiles && bash setup.sh; keep the terminal open so you can approve any manual prompts (e.g., App Store downloads).
  7. Verify and sync data – After the script finishes, sign back into services (Slack, Discord, etc.), restore app settings, and rerun brew bundle/asdf install if you tweak configs.

Installation

  1. Clone this repo (override the target directory by exporting DOTFILES=/path/to/dir before running the script):

    git clone https://github.com/boomNDS/B-Vault ~/.dotfiles
  2. Change into the directory and run the installer:

    cd ~/.dotfiles
    bash setup.sh
  3. Restart your terminal or run source ~/.zshrc to apply changes.

Repository Structure

  .
  ├── .gitignore
  ├── setup.sh               # One‑shot bootstrap script
  ├── cursor/
  │   └── extensions.json    # Snapshot of installed Cursor extensions
  ├── asdf/
  │   └── tool-versions      # ASDF global versions file
  ├── brew/
  │   └── Brewfile           # Homebrew formulae, casks, mas apps
  ├── git/
  │   └── gitconfig          # Global Git settings & aliases
  ├── starship.toml          # Dracula-themed prompt configuration
  └── zsh/
      └── zshrc              # Zsh configuration + Antidote plugin list

Usage

  • To update CLI tools & apps:
  brew update && brew bundle --file=brew/Brewfile
  asdf update                                      # update ASDF itself
  asdf plugin-update --all                         # update all ASDF plugins
  asdf install
  • To add a new Homebrew formula or cask: edit brew/Brewfile and rerun brew bundle.
  • To add a new ASDF tool: run asdf plugin-add and update asdf/tool-versions.

Manual installs when a cask or MAS app fails

  1. Re-run brew bundle --file=brew/Brewfile to confirm the failure.
  2. Open brew/Brewfile and copy the URL comment next to the failing entry. Each cask/MAS listing now links to its official download page (e.g., Ghostty → https://ghostty.org/docs, Orbstack → https://orbstack.dev/, Yaak → https://yaak.app/).
  3. Download and install the app manually from that URL.
  4. For MAS apps, open the App Store with the linked URL, sign in, and install from there; mas install <id> will register it afterward.
  5. After manual installation, rerun brew bundle --file=brew/Brewfile so Homebrew marks the dependency as satisfied.

Cursor extensions

  • The current Cursor extension set is tracked in cursor/extensions.json (exported directly from ~/.cursor/extensions/extensions.json).
  • To install everything on a new machine, run:
    jq -r '.[].identifier.id' cursor/extensions.json | xargs -L1 cursor --install-extension
    (replace cursor with code if you prefer using VS Code’s CLI shim).
  • After adding or removing extensions inside Cursor, regenerate the manifest with cp ~/.cursor/extensions/extensions.json cursor/extensions.json && jq -r '.' cursor/extensions.json > cursor/extensions.json.

Customization

  • Zsh & plugins: edit zsh/zshrc (Antidote loads whatever plugin bundle you define there) and rerun source ~/.zshrc
  • Git defaults & aliases: tweak git/gitconfig
  • Prompt: modify starship.toml, then restart your shell
  • Homebrew formulas/casks/mas apps: adjust brew/Brewfile and rerun brew bundle --file=brew/Brewfile

Command history upgrades

  • Default history recall uses fzf on Ctrl+R (see the FZF_DEFAULT_OPTS block in zsh/zshrc).
  • For aggressive de-duplication, timestamps, and a deeper tour of Zsh’s history knobs, follow Supercharged Zsh Command History.
  • Prefer a synced, structured backend? Add Atuin to brew/Brewfile, install it, run atuin import auto to bring in ~/.zsh_history, and enable it with eval "$(atuin init zsh)" in zsh/zshrc.
  • Use the Atuin CLI workflow from their docs (atuin register/login, then atuin sync and atuin search) to keep history encrypted and available across machines.

Atuin setup guide (keep fzf Ctrl+R)

  1. Install: brew bundle --file=brew/Brewfile (installs atuin with the rest of your CLI stack).
  2. Create or log into your Atuin account: atuin register (first machine) or atuin login (subsequent machines).
  3. Import your existing Zsh history: atuin import auto.
  4. Add Atuin to your shell without stealing your fzf Ctrl+R binding. Append to zsh/zshrc:
# Atuin: encrypted, syncable history (keeps fzf Ctrl+R)
export ATUIN_NOBIND=1
eval "$(atuin init zsh)"

Remove ATUIN_NOBIND=1 if you want Atuin to take over Ctrl+R.
5) Sync between machines: atuin sync. Search history anywhere: atuin search <term>.
6) Optional quality-of-life: atuin stats for activity insights; set ATUIN_DEFAULT_BIND=ctrl-r if you prefer Atuin’s search UI on Ctrl+R.

zsh plugins list

  1. valentinocossar/vscode – An Oh My Zsh plugin to open files and directories in Visual Studio Code via the vs/vsa commands.
  2. zsh-users/zsh-autosuggestions – Fish‑like fast, unobtrusive autosuggestions as you type, based on your history and completions.
  3. zsh-users/zsh-syntax-highlighting – Fish‑style real‑time syntax highlighting for the Zsh command line, helping catch typos before you hit Enter.
  4. zsh-users/zsh-completions – Hundreds of additional completion definitions (AWS‑CLI, Docker, Terraform, etc.) to layer on top of Zsh’s built‑in completions.
  5. ajeetdsouza/zoxide – A smarter cd replacement (inspired by z and autojump) that tracks “frecency” and offers fuzzy jumping to your most‑used directories.
  6. decayofmind/zsh-fast-alias-tips – Reminds you of shell aliases you’ve defined whenever you run the equivalent full command. A Go‑accelerated, 10×‑faster fork of alias-tips.

Inspiration And Credit

  1. Migrating Off Oh-My-Zsh and other recent Yak Shavings
  2. Back to the Basics: Zsh without Oh My Zsh

About

CLI tool collection and a step‑by‑step setup guide for your new shell environment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published