Personal shell + terminal setup for macOS and Linux. Powerlevel10k, oh-my-zsh, tmux with one-key Claude/Codex spawning, Ghostty, git+delta.
| File | Purpose |
|---|---|
zshrc |
p10k, plugins, cc / cx agent launchers, auto-source ~/.secrets |
tmux.conf |
M-c Claude / M-x Codex / M-t shell, vim pane nav, Catppuccin |
gitconfig |
delta as pager, side-by-side diffs, diff3 conflict style |
config/ghostty/config |
left-Option-as-Alt, 94×28 default window, new windows open in $HOME |
install.sh |
idempotent installer |
Install Ghostty, then:
git clone https://github.com/lukasec/luka-dotfiles.git ~/Developer/luka-dotfiles
~/Developer/luka-dotfiles/install.shExisting dotfiles are backed up to *.bak.<timestamp>. After it finishes:
- Set your git user —
git config --global user.name "..." && git config --global user.email "..." - (Optional) API keys — put them in
~/.secrets(chmod 600); auto-loaded by zsh, gitignored by default
Paste this into Claude Code (or any coding agent) and let it set everything up:
Set up my dev environment using https://github.com/lukasec/luka-dotfiles.
1. On macOS, install Ghostty if missing: `brew install --cask ghostty`.
2. Clone the repo to ~/Developer/luka-dotfiles if it isn't already there.
3. Run ~/Developer/luka-dotfiles/install.sh.
4. When it finishes, ask me for my git name + email, then run:
git config --global user.name "<name>"
git config --global user.email "<email>"
Don't create ~/.secrets — I'll add my own API keys there afterwards.
Press M-/ inside any pane for the cheatsheet popup. M = ⌥ left.
PERSIST M-d detach │ ta X attach │ tk X kill
SPAWN M-c/x/t new pane (claude/codex/shell)
NAVIGATE M-hjkl pane │ M-Tab cycle │ M-o session
CLOSE M-w pane │ M-q session (confirm)
PROMPTS M-m new session │ M-s rename session
Forked from gregpr07/dotfiles — original tmux config and install scaffolding by Greg.