Skip to content

sunanmau5/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

348 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Personal configuration files for macOS, managed with GNU Stow

Setup

# install command line tools
xcode-select --install

# clone repo with submodules
git clone --recurse-submodules git@github.com:sunanmau5/dotfiles.git ~/.dotfiles

# navigate to dotfiles
cd ~/.dotfiles

# install packages from Brewfile
brew bundle

# symlink all configs
stow */

# link shared Codex and Claude skills
./sskills/scripts/link-skills.sh

What's Included

Config Description
zsh Shell configuration
starship Shell prompt
git Git configuration
mise Version manager (node, ruby, etc)
tmux Terminal multiplexer
nvim Neovim config
alacritty / ghostty Terminal emulators
less / ripgrep CLI tool defaults
prettier Global Prettier defaults
lazygit Lazygit config
btop System monitor
karabiner Keyboard customization
hammerspoon macOS automation
cursor / vscode / zed / opencode Editor settings
codex Codex settings
claude Claude Code settings
sskills Shared Codex and Claude skills
docker Docker CLI config
firefox Arkenfox setup and cookie permissions
obsidian Note-taking app
datagrip DataGrip IdeaVim config

Editor Setup

Most editors work automatically with stow, but VSCode and Cursor store configs outside ~/.config, so they need manual symlinks

VSCode:

cd "$HOME/Library/Application\ Support/Code/User"
rm settings.json keybindings.json
ln -s $HOME/.config/vscode/settings.json .
ln -s $HOME/.config/vscode/keybindings.json .

Cursor:

cd "$HOME/Library/Application\ Support/Cursor/User"
rm settings.json keybindings.json
ln -s $HOME/.config/cursor/settings.json .
ln -s $HOME/.config/cursor/keybindings.json .

Firefox (Arkenfox)

Privacy-hardened Firefox using arkenfox user.js. Since Firefox profiles have random names, stow won't work, use the setup script instead

Setup:

# close Firefox first, then run setup (auto-detects all profiles)
~/.dotfiles/firefox/setupArkenfox.sh

# start Firefox once, close it, then add cookie permissions
~/.dotfiles/firefox/addCookiePermissions.sh

What it does:

File Description
user-overrides.js Personal prefs (symlinked to profile)
cookie-sites.txt Sites to stay logged in
setupArkenfox.sh Downloads arkenfox & symlinks config
addCookiePermissions.sh Adds cookie exceptions to Firefox

Edit cookie-sites.txt to manage which sites keep cookies across sessions

Claude Code

Claude Code settings are managed by the claude package and custom scripts

Setup:

# link Claude Code settings
stow claude

# sync Read permissions from variables.zsh
# run once after setup and whenever PROJECT_DIRS or STANDABLE_PROJECTS are updated
sync-claude-permissions

What it does:

File / command Description
~/.claude/settings.json Stowed Claude Code settings file
sync-claude-permissions Syncs Read permissions from variables.zsh

Agent skills are linked by sskills/scripts/link-skills.sh, not stored in the codex or claude packages

Tmux

On macOS, disable the system C-Space shortcut so tmux can receive the prefix:

System Settings -> Keyboard -> Keyboard Shortcuts -> Input Sources -> uncheck Select the previous input source.

Zsh Secrets

The zsh config includes a secrets.zsh.example file. Copy it to create your own secrets file:

cp ~/.config/zsh/secrets.zsh.example ~/.config/zsh/secrets.zsh

Usage

Link everything:

stow */

Link one package:

stow nvim

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors