My developer setup for 2021

Here's my terminal setup updated as of June 2021.

My developer setup for 2021

As developers, we spend a lot of time working directly in the terminal, so it's best to configure it to our liking. Here's my terminal setup updated as of June 2021.

I typically start off my build with Z Shell + Oh My Zsh.

ohmyzsh/ohmyzsh
🙃 A delightful community-driven (with 1800+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, OSX, hub, docker, homebrew, node, php, python,...

If I'm running OSX, I'll pick up Homebrew.

Homebrew
The Missing Package Manager for macOS (or Linux).

Then next get NVM setup with the latest version of node.

nvm-sh/nvm
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - nvm-sh/nvm

Fira Code font with ligatures for VSCode.

tonsky/FiraCode
Free monospaced font with programming ligatures. Contribute to tonsky/FiraCode development by creating an account on GitHub.

Powerline10k Oh My Zsh theme with Meslo LGS font.

romkatv/powerlevel10k
A Zsh theme. Contribute to romkatv/powerlevel10k development by creating an account on GitHub.

...and some additional Oh My Zsh plugins for a better terminal experience.

zsh-users/zsh-autosuggestions
Fish-like autosuggestions for zsh. Contribute to zsh-users/zsh-autosuggestions development by creating an account on GitHub.
zsh-users/zsh-syntax-highlighting
Fish shell like syntax highlighting for Zsh. Contribute to zsh-users/zsh-syntax-highlighting development by creating an account on GitHub.

A bunch of aliases for my ~/.zshrc config file.

alias zc="code ~/.zshrc"

alias dockerkillall='docker container kill $(docker ps -q)'

alias pretti='npm i --save-dev prettier eslint prettier-eslint eslint-config-prettier && npx eslint --init'
alias pretty='yarn add -D prettier eslint prettier-eslint eslint-config-prettier && yarn run eslint --init'

alias gs="git status"
alias gm="git diff-index --quiet HEAD -- || gitmoji -c"
alias agm="git add -A && gm"
alias agmp="git add -A && gm && git push"
alias gmp="gm && git push"

# AWS Profile aliases
export AWS_PROFILE=pointblankdev
alias pointblankdev="export AWS_PROFILE=pointblankdev && echo AWS_PROFILE=\$AWS_PROFILE"
alias default="export AWS_PROFILE=default && echo AWS_PROFILE=\$AWS_PROFILE"
alias signal="export AWS_PROFILE=signal && echo AWS_PROFILE=\$AWS_PROFILE"
alias ochre="export AWS_PROFILE=ochre && echo AWS_PROFILE=\$AWS_PROFILE"
alias use1="export AWS_REGION=us-east-1"
alias usw1="export AWS_REGION=us-west-1"
alias afs1="export AWS_REGION=af-south-1"

# new lib factory
alias new-lib='~/new-lib.zsh'



Finally, my custom block of settings for VSCode.

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.quickSuggestions": { "strings": true },
  "editor.fontFamily": "Fira Code",
  "editor.fontLigatures": true,
  "editor.suggest.showWords": false,
  "terminal.integrated.fontWeightBold": "normal",
  "terminal.integrated.fontSize": 12,
  "terminal.integrated.fontFamily": "MesloLGS NF",
  "git.autofetch": true,
  "git.confirmSync": false,
  "workbench.iconTheme": "vscode-icons",
  "explorer.compactFolders": false,
  "diffEditor.ignoreTrimWhitespace": true
}

That's it! Hope this was an insightful guide for getting your own workstation setup.