Skip to content

norens/dotfiles

Repository files navigation

dotfiles

macOS development environment managed with chezmoi.

macOS chezmoi

What's Inside

Shell — zsh + starship prompt (Gruvbox Dark) + tmux with vi-keys

TerminalGhostty with TokyoNight Storm theme and CRT shaders

Window ManagementAeroSpace tiling WM (super = ctrl+alt+cmd)

Status BarSketchyBar with Lua config (workspaces, media, system widgets)

KeyboardKarabiner-Elements via Goku

Gitlazygit (Catppuccin theme), global config, aliases

Packages — Brewfile with all formulae, casks, and Mac App Store apps

IDE — Custom JetBrains keymap shared across all IDEs

Structure

~/.zshrc                        # shell config, plugins, PATH
~/.zsh_aliases                  # aliases (cz, lg, etc.)
~/.tmux.conf                    # tmux + TPM
~/.gitconfig                    # git user/aliases
~/.config/
├── aerospace/aerospace.toml    # tiling WM
├── ghostty/
│   ├── config                  # terminal settings
│   └── shaders/                # CRT, bloom, cursor effects
├── starship.toml               # prompt theme
├── sketchybar/                 # status bar (Lua)
├── goku/karabiner.edn          # keyboard remaps (source of truth)
├── karabiner/karabiner.json    # generated — do not edit
├── lazygit/config.yml          # git TUI
├── brewfile/Brewfile           # all packages
├── jetbrains-keymaps/          # shared IDE keymap
├── git/ignore                  # global gitignore
├── gh/config.yml               # GitHub CLI
└── thefuck/settings.py         # command correction
~/.ssh/config                   # SSH (no keys)
~/scripts/
├── setup.sh                    # bootstrap a new Mac
├── merge_pr.sh                 # interactive PR merge helper
└── script_manager.sh           # alias/script manager

Install on a New Mac

# 1. Install chezmoi and pull dotfiles
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply norens

# 2. Run bootstrap script
~/scripts/setup.sh

Daily Usage

# See what chezmoi would change
cz diff

# Track a new config file
cz add ~/.config/app/config.yml

# Edit and apply
cz edit ~/.zshrc
cz apply

# Commit and push
cz cd && git add -A && git commit -m "description" && git push

# Update Brewfile after installing packages
brew bundle dump --file=~/.config/brewfile/Brewfile --force

# Regenerate Karabiner config after editing goku
goku

Key Bindings

Context Key Action
AeroSpace super + h/j/k/l Focus window
AeroSpace super + shift + h/j/k/l Move window
AeroSpace super + 1-9 Switch workspace
AeroSpace super + ; Service mode
tmux ctrl-a Prefix

Notes

  • Karabiner: Always edit ~/.config/goku/karabiner.edn, never karabiner.json directly
  • SketchyBar helpers: Rebuild with cd ~/.config/sketchybar/helpers && bash install.sh
  • JetBrains keymap: Single source at ~/.config/jetbrains-keymaps/macOS_mod.xml, distributed via setup.sh
  • Secrets: Auth tokens, SSH keys, and API keys are never tracked

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published