Ben's local shell and prompt setup, kept in git.
zsh/-> links into$HOMEgit/-> links into$HOMEconfig/-> links into$HOME/.confighome/-> links into$HOMEfor anything else you want to archive later
Keep machine-only and secret stuff out of the repo.
~/.zshrc.local.env*- private keys, cert bundles, keychains, sqlite/db files
.cloudflared/- anything with tokens or credentials in it
./install.sh
exec zsh -lThe installer backs up existing non-symlink files into backups/<timestamp>/ before linking the repo into $HOME.
The Hyprland setup keeps Plasma installed as the default fallback and documents the rollback path for this MacBook Air M1:
docs/hyprland-quickstart.mdhas the current login, keybinding, and rollback card.docs/2026-05-22-hyprland-asahi-migration.mdrecords the backup/snapshot anchors.hypr-readinessis the read-only audit before any real login-screen attempt.Hyprland (Recovery Terminal)is the terminal-first test session.Plasma (Rollback Hyprland)disables~/.config/hyprfrom the login screen.
Hyprland implementation rule: anything newly built for this desktop should be Rust-based by default. Use shell/Python/Lua only as glue around existing tools, for one-off migrations, or where the runtime must be embedded in another program.
Use scripts/auto-sync.sh to keep this repo archived to GitHub.
What it does:
- stages updates, deletions, and new non-ignored files
- blocks common secret file types and obvious token/key material
- creates a timestamped
chore: sync dotfiles (...)commit - pushes to
origin main
If it sees something secret-looking, it aborts instead of pushing.
Use handoff before a Codex or Claude Code session runs low on context or
limits. It writes a Markdown report under docs/, then prints a compact
/goal prompt that tells the next agent to read that file first.
See docs/agent-context-handoff.md.
Your live machine-specific shell helpers stay in ~/.zshrc.local.
A starter example lives at zsh/.zshrc.local.example.