All my config files for macOS.
arken: Firefox Hardening via arkenfox/user.jschrome: Currently unused, but Firefox UI tweakingconfig/.config: anything that expects to land in~/.configaerospace: config for aerospace window managercommit-helper: config options forgenerate-commitscript (Claude-powered conventional commit generator)karabiner: configs for Karabiner Elements with sublayering via mxstbrsketchybar: i3-inspired bottom bar for macOS via sketchybarskhd: keybinds for controlling yabai windows via skhd - OUTDATED, not in useyabai: tiling window manager via yabai - OUTDATED, not in use
defaults: macOS specific settings (noTunes config, wifi toggle script, etc.)git: Default git message, global git ignore, etc.gitmux: tmux statusline git status configtmux: tmux configurationwezterm: wezterm terminal emulator settingsxcode: Xcode keybinds, theme, and cheatsheetzsh: Shell aliases, theming, utils, etc.tests: Unit tests for dotfiles using bats-core testing framework (seetests/README.mdfor setup and usage)
Warning
The following folders are quite outdated.
nvim-old: awful, old, vimscript-based dev setup using Plug package manager. Don't look, don't use.init.el: Emacs stuff, not great, somewhat out of date probably.nvim1: slightly better, Lua-only dev setup using Packer package manager. Don't look, don't use.
- Clone this repo into home directory
- Install homebrew via
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew bundle install --file ./brew/Brewfile- Run
./installto move config files to HOME_DIR. - Open nvim and plugins will start installing
- Close nvim once the plugins are installed
- Reopen nvim and let LSPs install
- Install the few apps listed in Current Favorite Tools that are labeled "not included in brew install script"
- Run
ln -s ~/.dotfiles/susman.zsh-theme ~/.oh-my-zsh/themesto grab my custom OhMyZSH theme - Run
ln -s ~/.dotfiles/git/.gitignore ~/.gitignore && git config --global core.excludesfile ~/.gitignoreto setup worktrees flow - Run
ln -s ~/.dotfiles/config/.config/claude/settings.json ~/.claude/settings.jsonto setup user settings for Claude Code
- Ensure
sourcekit-lspandxcodebuild.nvimare installed in your nvim setup. Ensurexcode-build-serveris on your machine (should've been installed in brew install script). - Navigate to the root directory of your XCode project/workspace.
- Run
xcode-build-server config -scheme <XXX> -workspace *.xcworkspace, where<XXX>is the target you plan to build/run. You can be more specific than*.xcworkspaceif you'd like. - Reopen nvim and LSP/BSP should be working,
<leader>xrshould build and run your project
Here's a running list of things I enjoy using right now. A lot of them are macOS specific, but some are platform agnostic.
- ghostty: fast terminal emulator, written by Mitchell Hashimoto
- lazygit: incredibly powerful git TUI
- aerospace: i3-like tiling window manager for macOS
- sesh: tmux session manager
- Leader Key: app/url launcher with prefix key and breadcrumbs
- gh-dash: GitHub dashboard TUI
- Karabiner Elements: Remap Fn to Hyper, Ctrl+P/Ctrl+n to Arrow Up/Down, mnemonic sublayering for media control, movement, opening browser links, opening applications, etc.
- Maccy: Clipboard manager
- Gifski: Video to Gif converter
- noTunes: Prevent Apple Music from launching
- zoxide: Smarter
cd - ripgrep: More powerful
grep - Firefox Dev Edition: Hopefully self explanatory at this point, source code here
- TinkerTool: Sane macOS defaults, set them once and never open the app again. (NOT INCLUDED IN BREW INSTALL SCRIPT)
- Cleanshot X: Better screenshotting
- Choosy Browser: Send certain links to certain browsers
- 1Password: Password manager