Olivia Bahr

macOS Setup

Settings

Accessibility > Trackpad Options > Dragging Style > Three Finger Drag

Accessibility > Double-click speed > 8

Trackpad > Point & Click > Tap to click > on

Trackpad > Scroll & Zoom > Natural scrolling > off

Trackpad > More Gestures > Swipe between fullscreen applications > Left or Right Four Fingers

Trackpad > More Gestures > Mission Control > Swipe up with four fingers

Initial Setup

Brew

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

Basic Apps

brew install --cask arc ghostty gh raycast
brew install just

SSH Keys

Generate and use new key

ssh-keygen -t ed25519 -C "EMAIL"
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Add to GitHub

# copy to clipboard
pbcopy < ~/.ssh/id_ed25519.pub
# open github Link
open -a "Arc" "https://github.com/settings/keys"

Pull dotfiles from github

gh auth login
mkdir -p ~/.config
cd ~/.config
git init -b main
git remote add origin git@github.com:oliviaBahr/dotfiles.git
gh repo sync
# symlink _home_syms -> ~ and _other_syms -> /
just link_all

Add to allowed signers

echo "$(git config user.name) <$(git config user.email)> $(cat ~/.ssh/id_ed25519.pub)" >> ~/.config/git/allowed_signers

Installs

Packages

# terminal utils
brew install bat bat-extras btop most zoxide fastfetch sl
brew install pass tldr mas trash
brew install tmux jandedobbeleer/oh-my-posh/oh-my-posh
# network
brew install nmap speedtest-cli
# dev
brew install git-lfs lazygit cmake
# languages
brew install miniconda uv
brew install deno npm pnpm
brew install golang
brew install kotlin kdoctor

Apps

# keeb
brew install --cask logitech-g-hub
brew install --cask nikitabobko/tap/aerospace
# system
brew install --cask vorssaint
brew install --cask displaylink monitorcontrol
brew install --cask jordanbaird-ice raycast shottr xykong/tap/flux-markdown
brew install --cask font-maple-mono-nf
# utils
brew install --cask grandperspective
brew install --cask balenaetcher
brew install --cask surfshark
# browsers
brew install --cask arc google-chrome zen
# productivity & dev
brew install --cask obsidian zotero
brew install --cask zed cursor visual-studio-code
brew install --cask warp ghostty
brew install --cask claude chatgpt
# social & games
brew install --cask slack signal zoom
brew install --cask discord legcord
brew install --cask steam curseforge
mas lucky RunCatNeo
https://skyloongtech.com/skyloong-keyboard-software/

Kanata (DriverKit only — do not install Karabiner-Elements)

Kanata needs Karabiner-DriverKit-VirtualHIDDevice, not full Karabiner-Elements. KE and Kanata fight over exclusive keyboard grab. Use driver v8.0.0 with a Kanata build that supports VirtualHID protocol 7 (brew install --HEAD kanata until Homebrew ships >= 1.13.0).

# install VirtualHIDDevice v8.0.0
curl -L -o /tmp/Karabiner-DriverKit-VirtualHIDDevice-8.0.0.pkg \
  https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice/releases/download/v8.0.0/Karabiner-DriverKit-VirtualHIDDevice-8.0.0.pkg
sudo installer -pkg /tmp/Karabiner-DriverKit-VirtualHIDDevice-8.0.0.pkg -target /

# activate system extension
sudo /Applications/.Karabiner-VirtualHIDDevice-Manager.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Manager activate

System Settings > General > Login Items & Extensions > Driver Extensions enable org.pqrs.Karabiner-DriverKit-VirtualHIDDevice

# kanata binary with v8 client
brew unlink kanata 2>/dev/null || true
brew install --HEAD kanata

# permissions: add /opt/homebrew/bin/kanata via Cmd+Shift+G
open "x-apple.systempreferences:com.apple.preference.security?Privacy_ListenEvent"
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
# angel + LaunchDaemons (plists pulled with dotfiles under ~/.config/angel/system/)
cargo install --git https://github.com/oliviaBahr/angel.git
sudo mkdir -p /Library/Logs/Kanata
angel install ~/.config/angel/system/org.pqrs.Karabiner-VirtualHIDDevice-Daemon.plist
angel install ~/.config/angel/system/com.friday.kanata.plist

Hard requirements:

Aesthetics

Dock Spacers

# width = 1
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}';
# width = 1/2
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="small-spacer-tile";}';

Dock AutoHide Delay

# time before animation starts
defaults write com.apple.dock autohide-delay -int 0
# length of animation
defaults write com.apple.dock autohide-time-modifier -float 0.7

Hide Folders in Finder

chflags hidden ~/Library ~/Documents ~/Movies ~/Pictures ~/Music