Environment customizations for a POSIX shell and macOS system configuration. This is made with macOS in mind but most of it is POSIX compliant and should work on Linux/Unix machines.
git clone https://github.com/TrystanKaes/.dotfiles.git
cd .dotfiles/ && sh setup.shGlobal pnpm packages are tracked as a real pnpm project in packages/pnpm-global/.
setup.sh installs that project automatically by calling bin/install-pnpm-globals. The installer first runs bin/ensure-pnpm-global-links, which resolves the active global project directory dynamically from pnpm root -g and repairs the symlinks if needed, then runs pnpm install.
When you add, remove, or update a global package manually, refresh the tracked project files with:
bin/sync-pnpm-globalsruncom/- Shell configuration files (.bashrc,.tmux.conf,.curlrc,.inputrc)profiles/- Shell profile files (.bash_profile,.profile)- MacOS (for instance) doesn't do
.bashrcs. WTF Mac?
- MacOS (for instance) doesn't do
git/- Git configuration (.gitconfig,.gitignore_global)system/- Core system files (.functions,.alias,.path,.prompt)
preferences/- macOS system preferences and plist configurationsbrewfile- Homebrew package definitionsmisc/- Hardware configurations (Keychron Q2 keyboard, Terminal profiles)
bin/- Custom shell scripts and utilitieslocal/- Local-only files (excluded from git, sourced on terminal load)
ihp- "I Hate Python" - Simplified Python virtual environment managementgopen- Open current git repository in browsergpr- GitHub PR management (create/open)- Might work with other git providers... I think it does.
new_branch- Create and push new feature branchescleanup_branches- Enhanced branch cleanup with safety checksbpr- Quick PR creation from current branch- IS THIS A DUPE?
backupToUsb- Backup Documents, Projects, Downloads, and Work to USBhello- Infinite text-to-speech loop (with Asimov's Laws of Robotics)clearKafkaTopics- Interactive Kafka topic cleanup
- Navigation:
..,...,....for quick directory traversal - Git shortcuts:
ga,gc,wip,gri,gr,gco,gush,gull,gup,gs,gp - Docker:
doc,dc,deef,drmi,dvol,dclean,dprune - Kubernetes:
k,kc - System:
mem,ttop,hosts,pingoo,rmds_store
- Shows username, hostname, current directory, and git status
- Color-coded git information (branch, commits ahead/behind, changed files)
- Truncated path display for long directories
- Exit code indication
The setup script automatically applies:
- Homebrew installation and package management
- App Store app management via
mas - System preferences via
osxdefaults - Plist configurations via
apply_plist_preferences.sh
- Keychron Q2 keyboard - Custom key mappings and layers
- Terminal profiles - Custom terminal appearance settings
The setup script includes macOS-specific options that are automatically enabled on macOS:
######## BEGIN MacOS Specific Options ########
# Homebrew installation
# App Store app management via mas
# Package installation from Brewfile
# System preferences application
# Strip Dock of all apps (optional but useful for all that faff that is included by default on new laptops)
######## END MacOS Specific Options ########Files in the local/ directory are:
- Excluded from git pushes
- Automatically sourced on terminal load if prefixed with
.
Useful for machine-specific configurations and sensitive data.
# Git workflow
new_branch branch_name
# ... work on thing ...
ga && gc
# or
wip
# Python development
ihp init
ihp start
# or
ihp bam
# Docker development
deef # Stop, remove, rebuild, and start containers
# System utilities
backupToUsb # Backup to USB drive