This file answers what this project is and what it contains.
How things are done: see AI.md.
A curated collection of bash scripts for system administration, development tooling, and personal automation. Scripts are self-contained, portable across Linux distributions, and installable as a dotfiles suite. Every script follows a consistent header format, UX conventions (--help, --version, --debug, --no-color), and documentation triple (inline help, man page, bash completion).
project_name: scripts
project_org: casjay-dotfiles
internal_name: scripts
internal_org: casjaysdev
author: Jason Hempstead
contact: jason@casjaysdev.pro
license: WTFPL
repo: https://github.com/casjay-dotfiles/scripts
- One script per concern — no monolithic tools
- Self-contained: no runtime deps beyond bash 4+ and standard POSIX utilities
- Consistent UX: every script supports
--help,--version,--debug,--no-color NO_COLORenv var honored per no-color.org spec- Portable across
linux/amd64,linux/arm64,linux/arm(armv7l) - Installable system-wide or per-user via
install.sh
bin/ executable scripts (one per tool)
functions/ shared function libraries (sourced during migration only)
completions/ bash completions: _{script}_completions.bash
man/ man pages: {script}.1
templates/ script generation templates (gen-script/gen-header output)
tests/ test scripts
containers/ Dockerfiles + docker-compose.yml for distro testing
System administration
pkmgr— unified package manager wrapper (apt/dnf/pacman/apk/brew/etc.)sysusage— system resource usage summarysetupmgr— install third-party tools not in distro repos (binary/archive/npm/pip)detectostype— OS/distro/arch detection (safe to source)captive-auth— captive portal detection and login automationupdate-lecerts— Let's Encrypt certificate renewal automationproxmox-cli— Proxmox VE management helpers
Development tooling
gitcommit— sign + commit + push wrapper (the only commit path)gitadmin— git repository administration helpersgen-changelog— generate changelogs from git historybuildx— multi-arch container image builder (Docker BuildKit wrapper)dockermgr— Docker image/container managementcomposemgr— Docker Compose project managementapimgr— multi-provider container registry + git forge API client (18 providers)gen-script— scaffold new scripts from templatesgen-header— generate/update script headers and boilerplate
Networking & security
anonymize— anonymity tooling (Tor, I2P, VPN, MAC randomization)cloudflare— Cloudflare DNS/tunnel managementpastebin— upload snippets to pastebin services
Environment & desktop
dotfiles— unified dotfiles manager (delegates to dfmgr, desktopmgr, etc.)randomwallpaper— rotating desktop wallpaper daemontmux-new— tmux session/window launcher with config templateszellij-new— zellij session launchernotifications— desktop notification helper
Utilities
dictionary— offline word lookupreqpkgs— check/install required packages for a scriptgen-nginx— generate nginx vhost configslatest-iso— fetch latest distro ISO URLs
Every script begins with:
#!/usr/bin/env bash
# shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : YYYYMMDDHHMM-git
# @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.pro
# @@License : LICENSE.md
# @@ReadME : {script} --help
# @@Copyright : Copyright: (c) {year} Jason Hempstead, Casjays Developments
# @@Created : {date}
# @@File : {script}
# @@Description : {one-line description}
# @@Changelog : {what changed}
# @@TODO : Better documentation
# @@Other :
# @@Resource :
# @@Terminal App : no
# @@sudo/root : no
# @@Template : bash/{type}
# - - - - - - - - - - - - - - - - - - - - - - - - -
# shellcheck disable=SC1001,SC1003,SC2001,SC2003,SC2016,SC2031,SC2090,SC2115,SC2120,SC2155,SC2199,SC2229,SC2317,SC2329~/.config/myscripts/{scriptname}/ per-user config
~/.local/log/{scriptname}/ per-user logs
/etc/casjaysdev/{scriptname}/ system-wide config (root installs)
Scripts detect and adapt to whatever is available:
- Package managers: apt, dnf, pacman, apk, brew, zypper, xbps
- Init systems: systemd, openrc, s6, runit
- Container runtimes: docker, podman, incus, lxc
- Display servers: X11, Wayland, headless
No hard runtime dependencies beyond bash 4+ and standard POSIX utilities.
bash install.shCopies bin/* to /usr/local/bin/, man pages to /usr/local/man/man1/,
completions to /etc/bash_completion.d/.
linux/amd64(x86_64)linux/arm64(aarch64)linux/arm(armv7l)