Skip to main content

Overview

This collection includes various custom command-line utilities designed to streamline system administration, dotfile management, development workflows, and entertainment tasks. All utilities are shell scripts optimized for Unix-like systems.

Available Commands

Core System Management

stot

Dotfile management wrapper for symlinking and copying configuration files

update

System-wide update utility for packages, tools, and plugins

radio

Interactive internet radio streaming with station selection

pass

Secure random password generator using /dev/urandom

Development Utilities

ccl

Quick compile and run wrapper for C programs

cclp

Quick compile and run wrapper for C++ programs

git-remote

Simplified git remote repository setup and push

gpt-import

GPG key import utility for package verification

System Utilities

color

Display ANSI color codes chart for terminal customization

PATH

Pretty-print PATH environment variable

systemctl-enable

Interactive systemctl service enabler with status display

echo_separate

Print formatted section headers for terminal output

Window Manager & Desktop

i3-layout-save

Save i3 window manager workspace layouts

i3load

Load saved i3 workspace layouts

wallpaper

Set animated wallpapers using xwinwrap and mpv

wallpaper-convert

Convert MP4 videos to optimized WebM format

Quick Reference

Password Generator

pass
pass
Generates a 42-character random password and copies it to clipboard.

C Compiler Wrapper

ccl
ccl program.c
Compiles and immediately runs a C program.

C++ Compiler Wrapper

cclp
cclp program.cpp
Compiles and immediately runs a C++ program with standard library support.

Git Remote Helper

git-remote
git-remote https://github.com/user/repo.git
Adds remote origin and pushes to main branch.

GPG Key Importer

gpt-import
gpt-import KEY_ID
Imports GPG keys from keyserver pool for package verification.

Terminal Color Chart

color
color
Displays comprehensive ANSI color code reference.

PATH Viewer

PATH
PATH
Displays PATH entries one per line for easy reading.

Systemctl Helper

systemctl-enable
systemctl-enable service-name
Enables, restarts, and displays status of a systemd service.

Formatted Output

echo_separate
echo_separate "Section Title"
Prints a formatted header with equal signs for visual separation.

i3 Layout Save

i3-layout-save
i3-layout-save 1
i3-layout-save 1 custom-name
Saves current i3 workspace layout to JSON file.

i3 Layout Load

i3load
i3load 1
i3load 1 custom-name
Loads saved i3 workspace layout.

Animated Wallpaper

wallpaper
wallpaper /path/to/video.mp4
Sets video as animated wallpaper on dual monitors.

Video Converter

wallpaper-convert
wallpaper-convert inputfile
Converts inputfile.mp4 to inputfile.webm with VP9 codec.

Installation

1

Clone Repository

Clone the source repository containing all utilities:
git clone <repository-url> ~/workspace/source
2

Add to PATH

Add the bin directory to your PATH in your shell configuration:
echo 'export PATH="$HOME/workspace/source/bin:$PATH"' >> ~/.bashrc
# or for zsh
echo 'export PATH="$HOME/workspace/source/bin:$PATH"' >> ~/.zshrc
3

Reload Shell

Reload your shell configuration:
source ~/.bashrc
# or for zsh
source ~/.zshrc
4

Verify Installation

Test that commands are available:
which stot
stot -h

Requirements

Different utilities have different dependencies:

Core Requirements

  • Bash 4.0+
  • Zsh (for update utility)
  • Standard Unix utilities (ln, cp, mkdir, etc.)

Optional Dependencies

  • mpv: Required for radio and wallpaper commands
  • xwinwrap: Required for animated wallpapers
  • ffmpeg: Required for video conversion
  • yay/pacman: Required for update command (Arch Linux)
  • tldr: Enhanced for update command
  • zinit: Enhanced for update command
  • i3-save-tree/i3-msg: Required for i3 utilities
  • xsel: Required for password utility
  • notify-send: Required for notifications

Common Use Cases

Setting Up Dotfiles

Use stot to symlink configuration files from your dotfiles repository:
stot -l .vimrc
stot -l .config/i3
stot -l .zshrc

System Updates

Run the comprehensive update utility:
update
# or with all packages
update --all

Development Workflow

Quickly test C/C++ programs during development:
ccl test.c
cclp algorithm.cpp

Entertainment

Listen to internet radio while working:
radio
# Select station with arrow keys

Contributing

These utilities are designed to be simple, readable, and easily customizable. Feel free to:
  • Fork and modify for your needs
  • Add new radio stations to the radio script
  • Customize the update script for your package manager
  • Adapt stot for your dotfiles structure

Dotfile Management

Deep dive into the stot utility

System Updates

Complete guide to the update utility

Radio Streaming

Configure and use the radio utility

Build docs developers (and LLMs) love