skip to content
gill.coffee
Table of Contents

XCode

  • Start by installing xcode-select
  • Afterwards you can install XCode Command Line Tools with xcode-select --install

Package Manager

Terminal window
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Update .zprofile to add brew to your PATH
.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
  • Open a new terminal and verify with brew --version or which brew

Download Terminal Emulator

Terminal window
brew install ghostty

Password Manager

  • Install 1Password utility
Terminal window
brew install 1password
  • And install the browser extension too

Configure SSH Agent

  • Start by adding a new SSH key on GitHub with the help of 1Password:
    • Go to SSH keys settings page on GitHub
    • Select New SSH Key
    • Use 1Password prompt to generate an SSH key; it will automatically be saved into your 1Password vault
  • Make sure 1Password SSH agent is enabled, under 1Password > Settings > Developer
  • Finish configuration by updating .ssh/config to use 1Password as an IdentityAgent
.ssh/config
Host *
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

Configure Dev Environment

Dotfiles

  • I’m using dotbot as a dotfiles manager
  • It works by symlinking files from my /dotfiles repository to the locations required by my system
Terminal window
git clone git@github.com:Amar-Gill/dotfiles.git; cd dotfiles; ./install

Command Prompt

  • I’m using p10k.zsh, a tried and true zsh theme
Terminal window
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
  • Look into Starship as another good choice
Terminal window
curl -sS https://starship.rs/install.sh | sh

Command Line Utilities

  • The following can be installed with brew
    • fzf fuzzy finder utility
    • ripgrep an oxidized alternative for BSD/GNU grep
    • fd an oxidized alternative for BSD/GNU find
    • tealdear an oxidized alternative for tldr
    • thefuck correct mistyped console commands
Terminal window
brew install fzf ripgrep fd tealdeer thefuck

Languages and Runtimes

Terminal window
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
  • Install pnpm; A more performant alternative of npm that leverages a local cache for packages
  • Golang programming language and toolchain
Terminal window
brew install go
  • Rust programming language and toolchain
Terminal window
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • pyenv; A Python version manager
Terminal window
brew install pyenv
  • rbenv; A Ruby version manager
Terminal window
brew install rbenv

Neovim

Terminal window
brew install neovim
  • Thanks to the lazy.nvim plugin manager, my plugins will auto install when first starting up
  • The mason-lspconfig.nvim plugin will auto install the language servers as well
  • Treesitter syntaxes will auto-install thanks to the nvim-treesitter plugin
  • Do a :healthcheck to see if anything else is missing in your Neovim environment

Docker

  • For working with Docker containers I like OrbStack over Docker Desktop
Terminal window
brew install orbstack

Keyboard Remaps

Karabiner Elements

Terminal window
brew install karabiner-elements
  • I don’t make many modifications, only the following:
    • remap caps_lock to left_control
    • remap right_option to right_control
  • Useful when editing with Neovim where the control key is often used

Vial

  • Use Vial to program your external keyboard if it supports QMK firmware
Terminal window
brew install vial

Instantly Show Dock

  • Out of the box, the MacOS dock has a brief delay before it unhides itself when you move your mouse to the edge of the screen
  • There is also an animation which takes up more time as well
  • I like to make the dock reveal itself instantly, which can be done using the following commands in your terminal:
Terminal window
defaults write com.apple.dock autohide-delay -float 0;\
defaults write com.apple.dock autohide-time-modifier -int 0;\
killall Dock;
  • To restore the default settings run the following in a terminal:
Terminal window
defaults delete com.apple.Dock autohide-delay; killall Dock

Window Manager

  • Currently giving OneMenu a try as my window manager
  • Rectangle is another solid choice

Note Taking

  • Obsidian is my go to note taking app
  • Some reasons why:
    • Local first
    • Markdown syntax
    • Native vim bindings
Terminal window
brew install obsidian