A modern, modular dotfiles setup for macOS (Sonoma and newer) and Zsh. Focused on productivity, clean shell experience, and easy extensibility. Includes a rich set of aliases and functions for daily development and system tasks.
- Optimized for macOS & Zsh: No Bash cruft, works out-of-the-box on modern macOS.
- Productivity aliases: Fast navigation, Git, Finder, system, and more.
- Handy functions: Notes, Reminders, Trello, Todoist, archives, DNS, and more.
- Modular: All config split into
.aliases,.functions,.exports,.zshrc,.zprofile. - Easy install & update: One script to sync everything.
./bootstrap.sh- This will sync all dotfiles to your home directory.
- You can force overwrite with
./bootstrap.sh --force. - After install, restart your terminal or run
source ~/.zshrc.
Just pull the latest changes and re-run ./bootstrap.sh.
Some functions require API tokens/IDs (for Trello and Todoist). This is handled via a local .secrets file:
- .secrets.example – template with variable names and instructions (committed to git)
- .secrets – your real secrets (NOT committed, in .gitignore)
How to use:
- Copy
.secrets.exampleto.secretsin your dotfiles directory. - Fill in your real API keys and IDs.
- Functions like
trelloandtodowill load.secretsautomatically.
| Alias | Command / Description |
|---|---|
| .. | cd .. |
| ... | cd ../.. |
| .... | cd ../../.. |
| ..... | cd ../../../.. |
| ~ | cd ~ |
| - | cd - |
| dl | cd ~/Downloads |
| dt | cd ~/Desktop |
| w | cd ~/Work |
| g | git |
| gc | git checkout |
| gcb | git checkout -b |
| gp | git pull |
| gpr | git pull --rebase |
| gps | git push |
| gb | git branch -av |
| gv | git branch -vv |
| gm | git merge |
| grs | git reset --hard |
| gpsall | git remote | xargs -L 1 git push |
| h | history |
| j | jobs |
| v | vim |
| m | mate . |
| s | subl . |
| o | open |
| oo | open . |
| l | ls -lG |
| ll | ls -laG |
| lsd | ls -alG | grep "^d" |
| ls | command ls -G |
| sudo | sudo (preserves aliases) |
| gurl | curl --compressed |
| update | system & package update |
| ip | public IP (dig) |
| localip | local IP (auto iface) |
| ips | all IPs (ifconfig) |
| whois | whois -h whois-servers.net |
| flush | flush DNS cache |
| lscleanup | clean Finder "Open With" |
| sniff | HTTP traffic (ngrep) |
| httpdump | HTTP dump (tcpdump) |
| hd | hexdump -C |
| md5sum | md5 |
| sha1sum | shasum |
| cleanup | delete .DS_Store |
| emptytrash | empty Trash & logs |
| show | show hidden files |
| hide | hide hidden files |
| hidedesktop | hide desktop icons |
| showdesktop | show desktop icons |
| urlencode | URL-encode string |
| Function | Description |
|---|---|
| mkd | Create a new directory and enter it. Usage: mkd mydir |
| fs | Show size of file or directory (human-readable). Usage: `fs [file |
| diff | Git diff with color (if git present). Usage: diff file1 file2 |
| digga | Show all DNS info for a domain. Usage: digga example.com |
| note | Add a note to Notes.app (macOS). Usage: note 'text' or `echo 'text' |
| remind | Add a reminder to Reminders.app (macOS). Usage: remind 'text' or `echo 'text' |
| extract | Extract almost any archive file. Usage: extract file.zip |
| trello | Add a card to Trello. Usage: trello "Task title" "Optional description" (requires .secrets) |
| todo | Add a task to Todoist. Usage: todo "Task title" (requires .secrets) |
- macOS Sonoma and newer
- Zsh (default shell on macOS)
- You can add your own aliases/functions to
.aliases/.functions. - For advanced prompt and plugins, try Oh My Zsh or Powerlevel10k.
MIT © 2024 Alex Popek
Enjoy your productive shell!