Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

108 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dev Tools Configuration

Quick Start

Run the automated setup script — it will detect the OS and prompt before installing each tool:

bash setup.sh

macOS Setup

Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Common commands:

  • brew install [formula] — install a package
  • brew uninstall [formula] — uninstall a package
  • brew update — update Homebrew itself
  • brew upgrade [formula] — upgrade a package
  • brew list — list installed packages
  • brew search [text] — search packages

iTerm2

brew install --cask iterm2

Install Nerd Font (required for Powerline):

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh

Linux / Windows (WSL) Setup

zsh

sudo apt update && sudo apt install -y zsh
chsh -s $(which zsh)

Install Nerd Font (required for Powerline):

sudo apt install -y fonts-powerline

All Platforms

Oh-my-zsh

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

Set theme in ~/.zshrc:

ZSH_THEME="agnoster"

Oh-my-zsh Plugins

git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Enable in ~/.zshrc:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Node.js (nvm)

Installation

macOS — install via Homebrew:

brew install nvm

Add to ~/.zshrc:

export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"

Linux / Windows (WSL) — install via curl:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

Add to ~/.zshrc:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

Common Commands

nvm install --lts       # install latest LTS version
nvm use --lts           # use latest LTS version
nvm ls                  # list installed versions

Go (gvm)

Prerequisites

macOS:

brew install bison

Linux / Windows (WSL):

sudo apt update && sudo apt install -y curl git make binutils bison gcc build-essential

Installation (all platforms)

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

Add to ~/.zshrc:

[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"

Common Commands

gvm listall                    # list all available Go versions
gvm install go1.21             # install a specific version
gvm use go1.21 --default       # use a version and set as default
gvm list                       # list installed versions

Python (Miniconda)

Installation

macOS (Apple Silicon):

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
bash Miniconda3-latest-MacOSX-arm64.sh

Linux / Windows (WSL):

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

Configuration & Common Commands (all platforms)

conda init zsh

Restart the terminal, then:

conda create -n myenv python=3.11  # create a new environment
conda activate myenv               # activate environment
conda deactivate                   # deactivate environment
conda env list                     # list all environments
conda install <package>            # install a package via conda
pip install <package>              # install a package via pip (inside active env)

Neovim

Download the latest release from the Neovim releases page.

Installation

macOS (Apple Silicon):

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-macos-arm64.tar.gz
xattr -c nvim-macos-arm64.tar.gz   # remove macOS quarantine attribute
tar xzf nvim-macos-arm64.tar.gz
mv nvim-macos-arm64 ~/.local/nvim

Linux / Windows (WSL):

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
tar xzf nvim-linux-x86_64.tar.gz
mv nvim-linux-x86_64 ~/.local/nvim

PATH Setup (all platforms)

Add to ~/.zshrc:

export PATH="$HOME/.local/nvim/bin:$PATH"

Then reload:

source ~/.zshrc

Verify:

nvim --version

AWS CLI

The official AWS Command Line Interface for interacting with AWS services.

Installation

macOS:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o /tmp/AWSCLIV2.pkg
sudo installer -pkg /tmp/AWSCLIV2.pkg -target /

Linux / Windows (WSL):

bash install_aws.sh

Or run manually:

# x86_64
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o awscliv2.zip
# arm64
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o awscliv2.zip

unzip awscliv2.zip
sudo ./aws/install
rm -rf awscliv2.zip aws/

Verify:

aws --version

Configuration

aws configure

You will be prompted for:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region (e.g. us-east-1)
  • Default output format (json, yaml, or text)

Credentials are stored in ~/.aws/credentials and config in ~/.aws/config.

Common Commands

aws sts get-caller-identity          # verify current credentials/identity
aws s3 ls                            # list S3 buckets
aws s3 cp <file> s3://<bucket>/      # upload a file to S3
aws ec2 describe-instances           # list EC2 instances
aws logs tail <log-group> --follow   # stream CloudWatch logs
aws configure list-profiles          # list all configured profiles
aws --profile <profile> <command>    # run command with a specific profile

lazygit

A terminal UI for git commands.

Installation

macOS:

brew install lazygit

Linux / Windows (WSL):

bash install_lazygit.sh

Or run manually (auto-detects latest version and architecture):

LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": *"v\K[^"]*')
LAZYGIT_ARCH=$(uname -m | sed -e 's/aarch64/arm64/')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_${LAZYGIT_ARCH}.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/
rm -f lazygit lazygit.tar.gz

Verify:

lazygit --version

About

Personal develop tools configuration

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages