This repository contains all of my personal automation scripts and tools.
| Script Folder | Global Command | Description |
|---|---|---|
| 📁 repo-updater | update |
Automatically loops through multiple local repositories and fast-forwards all active branches. |
| 📁 (More Coming Soon...) |
I store all of my scripts in this central repository and execute them globally by symlinking them to my ~/.local/bin/ directory.
When on a new machine, you can symlink a script like this so you can run it from anywhere in your terminal:
# 1. Make sure your local bin directory exists
mkdir -p ~/.local/bin
# 2. Create a symlink to the script inside the repo
ln -s ~/project/Scripts/repo-updater/update ~/.local/bin/update
# 3. Make sure the original script is executable
chmod +x ~/project/Scripts/repo-updater/updateWarning
Broken Symlinks (Moving the Project)
Symlinks use absolute, exact paths. If you ever move this repository to a different folder (e.g. from ~/project/ to ~/Documents/), the symlink will break and your commands will stop working (outputting a command not found error). If this happens, simply delete the old link and recreate it pointing to the new location:
rm ~/.local/bin/update
ln -s ~/Documents/Scripts/repo-updater/update ~/.local/bin/updateIf you've never used ~/.local/bin/ before, your terminal needs to know to look there for commands.
For Zsh (most common):
- Open your zsh config file in your terminal:
nano ~/.zshrc - Scroll to the very bottom of the file and paste this exact line:
export PATH="$HOME/.local/bin:$PATH"
- Save the file (if using nano, press
Ctrl+O, thenEnter, thenCtrl+Xto exit). - Reload your terminal so the changes take effect immediately:
source ~/.zshrc
Once your PATH is set up and the script is symlinked, you can execute it from any folder simply by typing its name!
For example, to run the repo updater, just type:
updateFor Bash:
(Follow the exact same steps, but use ~/.bashrc instead).
- Do not commit actual
.conffiles. Always use.conf-exampletemplates and keep your local, personal configurations excluded from Git. - Add
*.confto a global.gitignoreor this repository's.gitignoreto prevent accidentally uploading sensitive paths or usernames.