A curated collection of custom utility scripts used for system management, productivity, and entertainment, tracked with Git and symlinked system-wide for easy access.
- ๐ Setup & Installation
- ๐ฐ Money Git CLI (money.py)
- ๐ก Morse Generator (morsegen.py)
- ๐ฎ Game Launcher (run.sh)
- ๐ DDLC Mod Launcher (ddlclauncher.sh)
- ๐ฅ YouTube Downloader (ytvideo.sh)
- ๐ Waybar Restarter (barr.sh)
- ๐ Rofi Entry Creator (mkrofi.sh)
- ๐ Script Linker (scrlink.sh)
These scripts are intended to be stored locally and symlinked to /usr/local/bin using the included scrlink.sh utility for system-wide execution.
# Example: Link money.py to /usr/local/bin/money
sudo ./scrlink.sh money.py moneyA Git-inspired terminal ledger to track your finances with speed, clarity, and discipline. It stores data locally in a hidden .moneygit/ folder.
- Shorthand Quick Entry: Record transactions instantly with syntax like
money +500 Salaryormoney -90 Burger @cafe(use@to separate optional notes from the source). - Reservation System: Mentally lock/reserve funds (e.g., for rent, bills) to see your actual available balance.
- Detailed Log: View complete transaction history in a cleanly formatted ASCII table.
- Search & Filter: Search transactions by source, action, timestamp, or notes.
- Undo & Delete: Quickly remove the last transaction using
undoor delete specific transactions via ID prefixes.
money init # Initialize a new ledger in the current directory
money status # View total, reserved, and available balance
money balance # Print current total balance value only
money log # Display history of all transactions
money commit --source <src> --action <act> ... # Record transaction with specific flags
money commit "<source>, <action>, <amount>" # Record transaction with legacy comma-separated text
money reserve <amount> <identifier> # Lock funds under a specific label
money reserves # List all active reservations
money settle <identifier> # Settle a reservation (converts to spend transaction)
money delete <id_prefix> # Delete transaction matching ID prefix
money undo # Remove the last recorded transaction
money search <query> # Search ledger history
money config --currency <USD/BDT/etc> # Configure display currencymoney +1500 Freelance Pay # Records BDT 1500 income
money -25 Coffee @coffeebar # Records BDT 25 expense with note "coffeebar"
money reserve 1200 Rent # Reserves BDT 1200 for Rent
money settle Rent # Settles the reserve and logs BDT 1200 expenseA flexible, bi-directional Morse code encoder and decoder supporting custom symbols and distinct characters validation.
- Subcommand & Flag Modes: Use either descriptive subcommands or quick flags.
- Bi-directional: Easily convert plain text to Morse code or decode Morse code back to text.
- Custom Symbols: Configure custom characters for dots, dashes, and separators.
- Distinct Characters Validation: Ensures the dot, dash, and separator symbols are distinct and do not overlap.
# Encode text (using subcommand)
python3 morsegen.py encode "HELLO WORLD"
# Decode Morse code (using flags)
python3 morsegen.py -d ".... . .-.. .-.. --- / .-- --- .-. .-.. -.."
# Encode text using custom symbols
python3 morsegen.py encode "HELLO" --dot "." --dash "_" --sep "/"An interactive game launcher utilizing fzf to browse, launch, and manage native games.
- Interactive Search Menu: Quickly browse and launch games inside your Games directory.
- Ignore list support: Press
TABto add any executable to a local.runignorefile, hiding it from future launcher lists. - Automatic Compat/Wayland Fixes: Detects if game requires custom wrappers. If a script starts with
# ICON: ๐ป, it runs directly; otherwise, it forces X11 mode (SDL_VIDEODRIVER=x11) to ensure game engine compatibility on Wayland.
# Launch interactive menu (defaults to ~/Games)
./run.sh
# Specifying custom games directory
./run.sh /path/to/my/gamesA thematic interactive manager for Doki Doki Literature Club mods, offering easy launcher creation and execution.
- Mod Directory Scanning: Automatically scans
~/DDLC Modsfor directories and identifies executable entry points (.sh,.py,.exevia Wine). - Auto-Generated Launchers: Walks you through creating a permanent launcher config stored under
.launchers/. - Polish UI: Uses
fzfwith randomized thematic emojis (๐, ๐ฉธ, ๐ง , ๐ธ, etc.) matching the DDLC aesthetic. - Mod Management: Press
TABwithin the selection menu to instantly delete a mod launcher configuration.
# Run scanning & interactive mod selection menu
./ddlclauncher.shA robust, high-performance wrapper for yt-dlp configured with sensible defaults and multi-threaded downloading.
- High-Speed Downloads: Uses
aria2cunder the hood with 8 split connections for maximum bandwidth usage. - Smart Profiles:
video(Default): Downloads 1080p H.265 MKV video, embeds the PNG thumbnail, and merges English subtitles.music: Extracts high-quality MP3 (quality level 0), crops album artwork to a square format, and embeds full metadata.podcast: Extracts audio-only Opus format, embeds metadata and thumbnail.archive: Downloads the maximum quality available and embeds all subtitles.
- Format Selection Helper: Use the
--listcommand to quickly inspect all available formats for a video. - Duplicate Prevention: Maintains a download archive at
~/.cache/ytvideo/archive.txtto skip already-downloaded videos.
# Download a video in 1080p (default video profile)
./ytvideo.sh "https://www.youtube.com/watch?v=..."
# Download high-quality audio / music
./ytvideo.sh music "https://www.youtube.com/watch?v=..."
# Download podcast (Opus audio format)
./ytvideo.sh podcast "https://www.youtube.com/watch?v=..."
# Download maximum quality video with all subtitles
./ytvideo.sh archive "https://www.youtube.com/watch?v=..."
# List formats only
./ytvideo.sh --list "https://www.youtube.com/watch?v=..."A simple helper script to cleanly terminate and restart Waybar. Ideal for applying Wayland configuration changes.
./barr.shQuickly generate compliant desktop launcher configuration files (.desktop) to make custom terminal commands searchable in application menus.
- Guided Configuration: Prompts you for App Name, command paths, icon choices, categories, and terminal execution preference.
- Standard Compliant: Automatically registers the entry in
~/.local/share/applications/and marks it executable.
./mkrofi.shUtility tool to easily symlink any script in this collection to /usr/local/bin for system-wide command access.
sudo ./scrlink.sh <script_file> <target_command_name>
# Example: Link ytvideo.sh as 'ytvideo'
sudo ./scrlink.sh ytvideo.sh ytvideoAll scripts are tracked via Git. They are maintained to optimize personal productivity, system workflows, and terminal-centric gaming environments.