My macOS setup

Since I started my latest job, I began documenting (mostly) everything I installed on my work volume (I dual boot between a personal and a work volume). As I like skimming through other peoples’ similar lists I thought I would publish mine. I’ll attempt to keep this updated as I go.

Link to this section Installation

Link to this section Apps

Link to this section Brew

  • Lua-languge-server
  • antibody (zsh plugin management)
  • antidote
  • bash
  • bat
  • btop (pretty top)
  • composer
  • ctags (brew install –HEAD universal-ctags/universal-ctags/universal-ctags)
  • exa
  • exiftool
  • fd
  • ffmpeg
  • figlet (large ascii text!)
  • fzf and then $(brew --prefix)/opt/fzf/install
  • gawk (for fingers tmux plugin)
  • git
  • git-delta
  • gsed (normal sed instead of weird mac sed)
  • htop
  • httpie
  • hugo (blog software)
  • imagemagick
  • jq
  • lazydocker
  • lazygit
  • lolcat (colour the cli)
  • luarocks
  • ncdu (space calculator)
  • neofetch
  • neovim
  • numi-cli (for converting units on the command line)
  • nvm (after .zshrc file placed)
  • pandoc
  • php@8.0 (work specific)
  • pkg-config
  • prettyping (better ping)
  • procs
  • qview (simple image viewer)
  • ranger
  • reattach-to-user-namespace (fixes tmux)
  • rg
  • sd
  • sketchybar
  • snyk (for work, security scanning)
  • terminal-notifier
  • thyme (pomodor timer)
  • tldr
  • tmux
  • transcrypt (git secrets)
  • vale (grammar and spelling)
  • volta (node management)
  • yabai (window management)
  • yadm (dot files manager)
  • youtube-dl
  • fasd zoxide (smarter directory opening)

Install oh-my-zsh: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)” For plugins install antidote via brew.

Link to this section Fonts

FiraCode font from https://github.com/tonsky/FiraCode

Link to this section PHP and extensions

pecl install redis pecl install imagick (needs brew install png-config) and (brew install imagemagick)

Link to this section Settings

Link to this section System preferences

  • Set display to correct resolution
  • Turn off HDR, scaling on and correct text size, small
  • Install SwitchResX if it’s a high resolution ultra wide which macOS doesn’t support
  • Mouse direction set to not natural (old habits never die)
  • Turn off indexing in spotlight of old volume in spotlight privacy preferences, add in the folder / volume – taken care of by the .macos file
  • Run all the things in .macos (TBD link to this)

Rando other system settings:

  • full disk access
    • zsh
    • sh
    • nfsd
    • alfred
    • bartender
  • developer tools
    • terminal
    • kitty
  • apple advertising
    • turn off
  • analytics
    • all off

Link to this section Misc

  • Copy ssh files from other volume, id_dsa and id_dsa.pub
  • Give kitty full disk access and add it to developer tools in security and privacy – might need to install Xcode for that to show up?
  • Pull in dotfiles using yadm
  • Fixing mysql db lower case names issue
  • Just remove the data directory, restart

Link to this section Neovim

I have now shifted to using lazy.nvim and mason which simplifies pretty much everything including language server installation. My dotfiles include pulling in lazy.nvim if it doesn’t yet exist.

Tools that sit outside of the above:

  • Lua language: brew install lua-language-server
  • Python provider: python3 -m pip install pynvim
  • Ruby provider: Sudo gem install neovim
  • Node provider: npm install -g neovim Also jdtls but didn’t write that one down.

Link to this section tmux

Plugin installation git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm. Need to have installed reattach-to-user-namespace. To install plugins, prefix+I (capital I).

Link to this section Other

Link to this section Misc

Hosts updates

Brew:

  • aptible
  • awscli
  • snyk