Skip to content

Latest commit

 

History

History
500 lines (376 loc) · 8.2 KB

File metadata and controls

500 lines (376 loc) · 8.2 KB

Setup Guide - CLI Tools & Plugins

This document lists all CLI applications, plugins, and tools used in this dotfiles repository.

Table of Contents


Core Shell

Zsh

Installation:

brew install zsh

Oh My Zsh

Installation:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Plugins Used:

  • git - Git aliases and functions
  • z - Jump around directories
  • history - History aliases
  • aliases - Alias management
  • dotenv - Automatically load .env files
  • httpie - HTTPie command completion

Zsh Plugins

zsh-autosuggestions

Installation:

brew install zsh-autosuggestions

Configuration: Enabled in ~/.zshrc


Terminal & Multiplexers

Tmux

Installation:

brew install tmux

Configuration: tmux/tmux.conf

Features:

  • Prefix key: Backtick (`)
  • Vim-style navigation
  • Mouse support
  • Vi-mode copy/paste with pbcopy integration

Text Editors

Vim

Installation: (Pre-installed on macOS, or via Homebrew)

brew install vim

vim-plug (Plugin Manager)

Installation: Auto-installed by vim/init.sh

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Vim Plugins Used:

vimwiki

Personal wiki/note-taking plugin

Plug 'vimwiki/vimwiki'

fzf.vim

Fuzzy file finder integration

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'

Version Control

Git

Installation:

brew install git

Delta

Syntax-highlighting pager for git Installation:

brew install git-delta

Configuration: Set as git pager in git/.gitconfig


Fuzzy Finders & Search

fzf

Command-line fuzzy finder Installation:

brew install fzf

Integration: Used in Vim and shell

Ripgrep

Fast grep replacement Installation:

brew install ripgrep

Usage:

  • Vim: :Rg command via fzf.vim
  • Shell: rg command
  • Configured as Vim's grepprg

Zoxide

Smarter cd command (replacement for z) Installation:

brew install zoxide

Configuration: Initialized in ~/.zshrc with cd as command


Programming Languages & Runtimes

Python

Python 3

Installation:

brew install python

Aliases:

  • pythonpython3
  • pippip3

pyenv

Python version management Installation:

brew install pyenv

Configuration: Initialized in ~/.zshrc

Java

jenv

Java version management Installation:

brew install jenv

Configuration:

  • Initialized in ~/.zshrc
  • JAVA_HOME set to Corretto 21.0.1

Node.js

Installation:

brew install node

Detection: Starship shows Node.js version in directories with:

  • package.json
  • .node-version
  • node_modules/
  • .js, .mjs, .cjs, .ts files

Container Tools

Docker

Installation:

brew install --cask docker

Extensive aliases in zsh/aliases.zsh:

  • Basic: dk, dkr, dkps, dki, etc.
  • Container: dkC* aliases
  • Image: dkI* aliases
  • Volume: dkV* aliases
  • Network: dkN* aliases

Docker Compose

Installation: Included with Docker Desktop

Aliases: dkc, dkcb, dkcu, dkcd, etc.

Note: Linux uses docker-compose, macOS uses docker compose

Docker Machine

Installation:

brew install docker-machine

Aliases: dkm, dkma, dkms, dkmsh, etc.

Mutagen

File synchronization for containerized development Installation:

brew install mutagen-io/mutagen/mutagen

Aliases: mg, mgc, mgcu, mgcd, etc.


Build Tools

Gradle

Aliases for Gradle Wrapper (./gradlew):

  • gw - Run gradlew
  • gwb - Build
  • gwt - Test
  • gwc - Clean
  • gwda - Assemble debug
  • gwra - Assemble release
  • gwtree - Show dependencies
  • gwtasks - List tasks
  • gwbootRun - Run Spring Boot app

Infrastructure & DevOps

Ansible

Installation:

brew install ansible

Aliases:

  • a - ansible
  • ap - ansible-playbook
  • al - ansible-pull
  • avc, ave, avr - ansible-vault commands
  • aga* - ansible-galaxy commands

Terraform

Installation:

brew install terraform

Alias: tf

Kubernetes

Detection: Starship shows k8s context (disabled by default)

Tools typically used:

brew install kubectl
brew install helm

AWS CLI

Installation:

brew install awscli

Detection: Starship shows AWS profile (disabled by default)

Google Cloud

Installation:

brew install --cask google-cloud-sdk

Configuration: USE_GKE_GCLOUD_AUTH_PLUGIN=True set in ~/.zshrc


Utilities

Starship

Cross-shell prompt Installation:

brew install starship

Configuration: starship/starship.toml

Features:

  • Two-line prompt with separators
  • Git branch/status indicators
  • Language/environment detection
  • Command duration timing
  • Vim mode indicators

HTTPie

Modern HTTP client Installation:

brew install httpie

Integration: Oh My Zsh plugin for completion

libpq (PostgreSQL client)

Installation:

brew install libpq

Configuration: Added to PATH in ~/.zshrc

watchdog

Python file monitoring tool Installation:

pip install watchdog

Alias: wd

web3j

Ethereum development tool Installation: Via installer

Configuration: Source script in ~/.zshrc if present


Installation Order

For a fresh macOS setup, install in this order:

# 1. Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. Install core tools
brew install git zsh tmux vim

# 3. Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 4. Install shell enhancements
brew install zsh-autosuggestions starship zoxide fzf ripgrep

# 5. Install programming language managers
brew install pyenv jenv

# 6. Install version control tools
brew install git-delta

# 7. Install container tools
brew install --cask docker
brew install docker-machine
brew install mutagen-io/mutagen/mutagen

# 8. Install infrastructure tools (optional)
brew install ansible terraform kubectl awscli
brew install --cask google-cloud-sdk

# 9. Install additional utilities
brew install httpie libpq

# 10. Install Python tools
pip3 install watchdog

# 11. Clone dotfiles and run init scripts
git clone <your-dotfiles-repo>
cd dotfiles
./zsh/init.sh
./vim/init.sh
./tmux/init.sh
./git/init.sh
./starship/init.sh

# 12. Install Vim plugins
vim +PlugInstall +qall

Environment Variables

Set in ~/.zshrc:

  • JAVA_HOME - Java installation path
  • STARSHIP_CONFIG - Starship configuration path
  • USE_GKE_GCLOUD_AUTH_PLUGIN - GKE authentication plugin
  • PATH - Custom paths for Homebrew, Python, JEnv, pyenv, libpq

Optional Language Tools

Rust

brew install rust

Go

brew install go

Ruby

brew install ruby

PHP

brew install php

Elixir

brew install elixir

All these languages are detected by Starship when present in the project.


Maintenance

Update all tools

# Homebrew
brew update && brew upgrade

# Oh My Zsh
omz update

# Vim plugins
vim +PlugUpdate +qall

# Python packages
pip3 list --outdated
pip3 install --upgrade <package>

# Starship
brew upgrade starship

Check installed versions

# Shell and tools
zsh --version
tmux -V
vim --version
git --version

# Language runtimes
python3 --version
java -version
node --version

# DevOps tools
docker --version
terraform --version
ansible --version
kubectl version --client