Skip to content

querkmachine/dotfiles

Repository files navigation

dotfiles

My dotfiles. Aka, my preferred configuration for things on my Macs.

That doesn't mean I use identical configs everywhere (differentiation can be nice!) but most all of these things are kept the same for smooth operation.

Using the dotfiles (and other terminal things I like)

Install Homebrew

Having Homebrew will make your life a lot easier going forward.

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

Install zsh

zshell is now default with macOS and this step is probably skippable for future me, but just in case it's not around for some reason:

brew install zsh

Install basically everything through Homebrew

Installs:

brew install bat git-delta powerlevel10k stow zoxide

Clone this repo into the home directory

git clone git@github.com:querkmachine/dotfiles.git ~/dotfiles

Run Stow

cd ~/dotfiles
stow .

Setting up a new Mac

Why trawl through menus of stuff when you can do stuff with terminal commands?

Grant the terminal full disk access

macOS has an extra layer of security when touching parts of the OS that even sudo cannot overcome.

To overcome them, go to System Settings → Privacy → Full Disk Access and grant whatever terminal application is being used that permission. The terminal will need to be restarted.

Run the script

cd ~/dotfiles
sh macos-config.sh

There might be a few warnings and maybe a few errors (it's not uncommon for these commands to change between macOS versions) but the script should keep running regardless.

Downloading all the things

More Homebrewing

There are other Homebrew utilities I tend to have installed but which aren't required for getting started on a new computer. These are here just so I have an easy reference for them.

  • yt-dlp, for downloading video
  • ffmpeg, for video and audio conversion
  • imagemagick, for image conversion
  • gitmoji, for annotating git commits with ✨fun✨
  • nvm, for managing Node versions
  • pyenv, for managing Python versions
  • chruby, for managing Ruby versions
brew install yt-dlp ffmpeg imagemagick gitmoji nvm pyenv chruby

Casks are more akin to full desktop applications rather than command line programs, and need to be installed slightly differently. This command installs:

brew install --cask 1password raycast karabiner-elements arc firefox google-chrome microsoft-edge discord telegram nova sublime-text

Updating

To update the dotfiles, simply pull the latest changes to the repo and run the stow command again.

cd ~/dotfiles
git pull origin main
stow .

Updates for Brew, Ruby, npm and macOS have all been bundled into a single command within the .zshrc file.

update

This will ask for sudo permissions as they are required for updating some Rubygems and macOS itself.