This is a collection of Bash scripts that I use on Linux. Hosted on GitHub, see the repository here .
- For configuration information and a list of required dependencies, be sure to check the README files associated with each script.
- Scripts executed from the command line do not have an extension. Scripts executed by hotkeys and graphical applications have a
.shextension. - Most scripts rely on functions defined in my .bash_functions file, especially for error handling and debugging. I have tried to include the required functions in each script, and information about any optional functions in the script’s README.
General Purpose Scripts
agent
User-friendly wrapper for the age encryption tool.cpicker
Terminal color picker utility for Wayland.photo-rename
Renames photos based on their location metadata.playnow
Searches (locally) for a song and plays it in a new window with mpv.terminal-header.sh
A simple script that displays information in the terminal.verify256
User-friendly script to quickly verify SHA256 checksums.
Scripts that backup stuff
bak
Creates a timestamped copy of a file or directory with various options.bakcloud
Backs up files to cloud storage using rclone.bakhome
Backs up the home directory to an external drive using rsync.
Scripts for Sway Window Manager
See the Sway Window Manager Scripts README for more information.
libremute.sh
Toggles mute/unmute for a specific application using PulseAudio.gammatoggle.sh
Toggles Gammastep (blue light filter) on and off.move-workspace-next.sh & move-workspace-prev.sh
Moves the focused workspace to the next/previous workspace in sequence.swayshot.sh
Takes a screenshot of a selected area, saves it with a timestamp, and copies it to the clipboard.nameshot.sh
Similar toswayshotbut allows custom filename specification.
Thunar Custom Actions
See the Thunar Custom Actions README for more information.
thunar-bak.sh
Creates a timestamped backup of a file or directory. Filemanager version of bak .thunar-mp3oncat.sh
Concatenates multiple audio files into a single file.thunar-swapname.sh
Swaps the names of two selected files or folders.thunar-verify256.sh
Verifies the SHA256 checksum of a file. Filemanager version of verify256 .
Scripts that add content to Markdown files (for Obsidian)
See the Obsidian Scripts README for more information.
todo
A command-line tool for managing todo list entries in markdown table format with urgency level and status tracking.obsidian_todo.sh
Adds new todo items to a markdown table. Seetodofor more information.copyspace.sh
Appends selected text to an Obsidian copyspace file (or any other file) with a notification.shoplist.sh
Quickly adds items to your Obsidian shopping list as unchecked tasks.
License
Scripts are licensed under the MIT License. See the LICENSE file on GitHub for details.