At a Glance
| Metric | Value |
|---|---|
| Total scripts | 129 |
| Directories | 18 |
| Require root / sudo | 70 / 129 |
| Interactive | 23 / 129 |
| Idempotent (always / mostly / no) | 119 / 8 / 2 |
| Scripts with dependencies | 6 / 129 |
| Directory | Scripts |
|---|---|
| standalone/apt/cli | 21 |
| standalone/apt/gui | 21 |
| standalone/chmod | 4 |
| standalone/cleanup | 13 |
| standalone/docker | 1 |
| standalone/flatpak | 3 |
| standalone/git | 2 |
| standalone/inventory/network | 16 |
| standalone/inventory/system | 19 |
| standalone/lsp | 3 |
| standalone/maintenance | 4 |
| standalone/pipx | 3 |
| standalone/server | 6 |
| standalone/showcase | 1 |
| standalone/utilities | 3 |
| standalone/yt-dlp | 3 |
| workflows | 5 |
| workflows/deploy-server | 1 |
Repository Structure
shell-toolkit/
├── .github/
│ └── workflows/
│ ├── bash-syntax-check.yml
│ └── generate-documentation.yml
├── docs/
│ ├── index.html
│ └── metadata-guidelines.md
├── standalone/
│ ├── apt/
│ │ ├── cli/
│ │ │ ├── install-bash-completion.sh
│ │ │ ├── install-bat.sh
│ │ │ ├── install-chafa.sh
│ │ │ ├── install-cpp.sh
│ │ │ ├── install-docker.sh
│ │ │ ├── install-eza.sh
│ │ │ ├── install-firewalld-cli.sh
│ │ │ ├── install-flatpak.sh
│ │ │ ├── install-fzf.sh
│ │ │ ├── install-git.sh
│ │ │ ├── install-htop.sh
│ │ │ ├── install-npm.sh
│ │ │ ├── install-nvidia-driver.sh
│ │ │ ├── install-php.sh
│ │ │ ├── install-pipx.sh
│ │ │ ├── install-python.sh
│ │ │ ├── install-ranger.sh
│ │ │ ├── install-ripgrep.sh
│ │ │ ├── install-veracrypt-cli.sh
│ │ │ ├── install-virtualbox-guest-additions.sh
│ │ │ └── install-zoxide.sh
│ │ └── gui/
│ │ ├── install-blender.sh
│ │ ├── install-firefox.sh
│ │ ├── install-firewalld-gui.sh
│ │ ├── install-flameshot.sh
│ │ ├── install-ghostwriter.sh
│ │ ├── install-gimp.sh
│ │ ├── install-inkscape.sh
│ │ ├── install-kate.sh
│ │ ├── install-kdevelop.sh
│ │ ├── install-kio-admin.sh
│ │ ├── install-krusader.sh
│ │ ├── install-obs-studio.sh
│ │ ├── install-okular.sh
│ │ ├── install-protonvpn.sh
│ │ ├── install-qbittorrent.sh
│ │ ├── install-qwinff.sh
│ │ ├── install-remmina.sh
│ │ ├── install-tor-browser.sh
│ │ ├── install-veracrypt-gui.sh
│ │ ├── install-virtualbox.sh
│ │ └── install-vlc.sh
│ ├── chmod/
│ │ ├── chmod-add-x.sh
│ │ ├── chmod-remove-x.sh
│ │ ├── chmod-set-644.sh
│ │ └── chmod-set-755.sh
│ ├── cleanup/
│ │ ├── cleanup-apt.sh
│ │ ├── cleanup-browser-brave.sh
│ │ ├── cleanup-browser-chrome.sh
│ │ ├── cleanup-browser-chromium.sh
│ │ ├── cleanup-browser-edge.sh
│ │ ├── cleanup-browser-firefox.sh
│ │ ├── cleanup-browser-opera.sh
│ │ ├── cleanup-browser-vivaldi.sh
│ │ ├── cleanup-docker.sh
│ │ ├── cleanup-kernels.sh
│ │ ├── cleanup-logs.sh
│ │ ├── cleanup-temp.sh
│ │ └── cleanup-thumbnails.sh
│ ├── docker/
│ │ └── update-docker-compose-stacks.sh
│ ├── flatpak/
│ │ ├── install-discord.sh
│ │ ├── install-steam.sh
│ │ └── install-telegram.sh
│ ├── git/
│ │ ├── git-clone-all.sh
│ │ └── git-rewrite-identity.sh
│ ├── inventory/
│ │ ├── network/
│ │ │ ├── get-bandwidth-summary.sh
│ │ │ ├── get-connectivity.sh
│ │ │ ├── get-dns-info.sh
│ │ │ ├── get-established-connections.sh
│ │ │ ├── get-firewall-status.sh
│ │ │ ├── get-interface-statistics.sh
│ │ │ ├── get-listening-ports.sh
│ │ │ ├── get-neighbors.sh
│ │ │ ├── get-network-interfaces.sh
│ │ │ ├── get-network-services.sh
│ │ │ ├── get-network-statistics.sh
│ │ │ ├── get-network-summary.sh
│ │ │ ├── get-public-ip.sh
│ │ │ ├── get-routing.sh
│ │ │ ├── get-vpn-status.sh
│ │ │ └── get-wifi-status.sh
│ │ └── system/
│ │ ├── get-cpu-info.sh
│ │ ├── get-directory-tree.sh
│ │ ├── get-dmi-info.sh
│ │ ├── get-docker-info.sh
│ │ ├── get-host-info.sh
│ │ ├── get-installed-packages.sh
│ │ ├── get-journal-errors.sh
│ │ ├── get-kernel-log.sh
│ │ ├── get-kernel-parameters.sh
│ │ ├── get-local-users.sh
│ │ ├── get-logged-in-users.sh
│ │ ├── get-memory-info.sh
│ │ ├── get-nginx-info.sh
│ │ ├── get-pci-devices.sh
│ │ ├── get-services-info.sh
│ │ ├── get-storage-info.sh
│ │ ├── get-top-processes.sh
│ │ ├── get-usb-devices.sh
│ │ └── get-user-crontab.sh
│ ├── lsp/
│ │ ├── install-bash-language-server.sh
│ │ ├── install-markdown-language-server.sh
│ │ └── install-python-language-server.sh
│ ├── maintenance/
│ │ ├── create-swap-file.sh
│ │ ├── grant-sudo.sh
│ │ ├── set-bashrc-default.sh
│ │ └── ufw-firewalld-migration.sh
│ ├── pipx/
│ │ ├── install-gallery-dl.sh
│ │ ├── install-spotdl.sh
│ │ └── install-yt-dlp.sh
│ ├── server/
│ │ ├── deploy-filebrowser.sh
│ │ ├── deploy-grafana.sh
│ │ ├── deploy-nginx.sh
│ │ ├── deploy-portainer.sh
│ │ ├── deploy-ssh.sh
│ │ └── server-bootstrap.sh
│ ├── showcase/
│ │ └── showcase-bash-qol.sh
│ ├── utilities/
│ │ ├── discord-attachments-dl.sh
│ │ ├── download-java.sh
│ │ └── prompt-cli.sh
│ └── yt-dlp/
│ ├── yt-dlp-all-formats.sh
│ ├── yt-dlp-audio-only.sh
│ └── yt-dlp-best-format.sh
├── workflows/
│ ├── deploy-server/
│ │ ├── .env.example
│ │ └── deploy-server.sh
│ ├── setup-bash-qol.sh
│ ├── setup-dev-env.sh
│ ├── setup-flatpak.sh
│ ├── setup-oh-my-bash.sh
│ └── setup-pipx.sh
├── LICENSE
├── README.md
└── generate-docs.py
All Scripts
| Directory | Script | Summary | Sudo | Interactive | Idempotent | Deps |
|---|---|---|---|---|---|---|
| standalone/apt/cli | install-bash-completion.sh | Install bash-completion from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-bat.sh | Install bat (cat clone with syntax highlighting) from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-chafa.sh | Install chafa (terminal image/GIF viewer) from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-cpp.sh | Install the C and C++ development environment. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-docker.sh | Install Docker Engine and the Docker Compose plugin. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-eza.sh | Install eza (modern ls replacement), adding the official apt repo if needed. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-firewalld-cli.sh | Install firewalld. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-flatpak.sh | Install flatpak, add the Flathub remote, optionally enable KDE Discover integration. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-fzf.sh | Install fzf from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-git.sh | Install git from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-htop.sh | Install htop from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-npm.sh | Install Node.js and npm. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-nvidia-driver.sh | NVIDIA GPU driver install (auto-detect, apt package, or .run), with nouveau blacklist. | ✅ | ✅ | ⚠️ | — |
| standalone/apt/cli | install-php.sh | Install PHP and common extensions. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-pipx.sh | Install pipx and ensure ~/.local/bin is on PATH. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-python.sh | Install the Python development environment. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-ranger.sh | Install ranger from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-ripgrep.sh | Install ripgrep from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-veracrypt-cli.sh | Install VeraCrypt CLI from the official PPA. | ✅ | ❌ | ⚠️ | — |
| standalone/apt/cli | install-virtualbox-guest-additions.sh | Install VirtualBox Guest Additions from apt. | ✅ | ❌ | ✅ | — |
| standalone/apt/cli | install-zoxide.sh | Install zoxide (smarter cd command) from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-blender.sh | Install Blender from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-firefox.sh | Install Firefox from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-firewalld-gui.sh | Install firewalld with its GUI configuration tool (firewall-config). | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-flameshot.sh | Install Flameshot from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-ghostwriter.sh | Install the Ghostwriter Markdown editor. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-gimp.sh | Install GIMP from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-inkscape.sh | Install Inkscape from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-kate.sh | Install the Kate text editor and official plugins. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-kdevelop.sh | Install the KDevelop IDE. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-kio-admin.sh | Install kio-admin for Dolphin root access. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-krusader.sh | Install Krusader from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-obs-studio.sh | Install OBS Studio from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-okular.sh | Install the Okular document viewer. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-protonvpn.sh | Install the ProtonVPN from the official Proton apt repository. | ✅ | ✅ | ⚠️ | — |
| standalone/apt/gui | install-qbittorrent.sh | Install qBittorrent from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-qwinff.sh | Install QwinFF from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-remmina.sh | Install Remmina from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/apt/gui | install-tor-browser.sh | Install Tor Browser via the official Tor Project apt repository. | ✅ | ❌ | ⚠️ | — |
| standalone/apt/gui | install-veracrypt-gui.sh | Install VeraCrypt GUI from the official PPA. | ✅ | ❌ | ⚠️ | — |
| standalone/apt/gui | install-virtualbox.sh | Install VirtualBox from the official Oracle apt repository. | ✅ | ❌ | ⚠️ | — |
| standalone/apt/gui | install-vlc.sh | Install VLC from the distribution repositories. | ✅ | ❌ | ✅ | — |
| standalone/chmod | chmod-add-x.sh | Recursively add execute permission to .sh files in a path. | ❌ | ✅ | ✅ | — |
| standalone/chmod | chmod-remove-x.sh | Recursively remove execute permission from .sh files in a path. | ❌ | ✅ | ✅ | — |
| standalone/chmod | chmod-set-644.sh | Recursively set permissions to 644 on files in a path. | ❌ | ✅ | ✅ | — |
| standalone/chmod | chmod-set-755.sh | Recursively set permissions to 755 on files in a path. | ❌ | ✅ | ✅ | — |
| standalone/cleanup | cleanup-apt.sh | Clean APT cache and remove orphaned packages. | ✅ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-brave.sh | Clear cache, cookies, and history for Brave. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-chrome.sh | Clear cache, cookies, and history for Google Chrome. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-chromium.sh | Clear cache, cookies, and history for Chromium. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-edge.sh | Clear cache, cookies, and history for Microsoft Edge. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-firefox.sh | Clear cache, cookies, and history for Firefox. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-opera.sh | Clear cache, cookies, and history for Opera. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-browser-vivaldi.sh | Clear cache, cookies, and history for Vivaldi. | ❌ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-docker.sh | Clean unused Docker data (images, containers, volumes). | ✅ | ✅ | ✅ | — |
| standalone/cleanup | cleanup-kernels.sh | Remove old kernel packages (keeping current kernel). | ✅ | ✅ | ✅ | — |
| standalone/cleanup | cleanup-logs.sh | Clean old journald logs and rotated logs. | ✅ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-temp.sh | Clean temporary files in /tmp and /var/tmp. | ✅ | ❌ | ✅ | — |
| standalone/cleanup | cleanup-thumbnails.sh | Clear thumbnail caches for all users. | ✅ | ❌ | ✅ | — |
| standalone/docker | update-docker-compose-stacks.sh | Pull and redeploy all Docker Compose stacks under /opt/*. | ✅ | ❌ | ✅ | — |
| standalone/flatpak | install-discord.sh | Install Discord from Flathub. | ❌ | ❌ | ✅ | — |
| standalone/flatpak | install-steam.sh | Install Steam from Flathub. | ❌ | ❌ | ✅ | — |
| standalone/flatpak | install-telegram.sh | Install Telegram Desktop from Flathub. | ❌ | ❌ | ✅ | — |
| standalone/git | git-clone-all.sh | Clone all public repositories from a GitHub user/profile. | ❌ | ❌ | ✅ | — |
| standalone/git | git-rewrite-identity.sh | Rewrite author/committer name and email across all commits in a Git repository. | ❌ | ✅ | ❌ | — |
| standalone/inventory/network | get-bandwidth-summary.sh | Per-interface link speed, duplex, carrier state, and MTU. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-connectivity.sh | Same checks as network-summary.sh plus DNS query time and IPv6 internet reachability. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-dns-info.sh | resolvectl status or /etc/resolv.conf, active nameservers, and search domains. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-established-connections.sh | Established TCP connections with local/remote endpoints and owning process. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-firewall-status.sh | Status across UFW, Firewalld, nftables, and iptables — whichever are installed. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-interface-statistics.sh | Per-interface RX/TX bytes, packets, errors, drops, and collisions. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-listening-ports.sh | Listening TCP/UDP ports with the owning process, via ss. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-neighbors.sh | ARP table (IPv4) and neighbor cache (IPv6). | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-network-interfaces.sh | Per-interface state, MAC, MTU, driver, speed, and IPv4/IPv6 addresses. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-network-services.sh | Active state of NetworkManager, systemd-networkd/-resolved, dhcpcd, wpa_supplicant, iwd. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-network-statistics.sh | TCP congestion control algorithm, IPv4/IPv6 forwarding, and BBR status via sysctl. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-network-summary.sh | One-shot pass/fail overview: gateway, DNS, internet, public IPv4/IPv6. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-public-ip.sh | Public IPv4/IPv6 via ipify, falling back to ifconfig.me/ifconfig.co. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-routing.sh | IPv4/IPv6 routing tables and the default gateway/interface. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-vpn-status.sh | WireGuard/TUN/TAP interfaces, Tailscale status, and ZeroTier status. | ❌ | ❌ | ✅ | — |
| standalone/inventory/network | get-wifi-status.sh | SSID, signal, bitrate, and frequency for wireless interfaces via iw or nmcli. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-cpu-info.sh | CPU architecture, model, core, and thread information. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-directory-tree.sh | Displays structural hierarchy of common server directories. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-dmi-info.sh | System-level DMI/SMBIOS hardware component info. | ✅ | ❌ | ✅ | — |
| standalone/inventory/system | get-docker-info.sh | Docker containers, networks, volumes, and system info. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-host-info.sh | Hostname, OS release, kernel version, and uptime. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-installed-packages.sh | Count of installed OS packages (dpkg or rpm). | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-journal-errors.sh | Recent critical/error entries from the system journal. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-kernel-log.sh | Recent kernel ring buffer messages (dmesg). | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-kernel-parameters.sh | Kernel runtime parameters via sysctl (truncated preview). | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-local-users.sh | Non-system local user accounts from /etc/passwd. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-logged-in-users.sh | Currently logged-in users and recent login history. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-memory-info.sh | System memory usage (RAM and swap). | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-nginx-info.sh | Nginx version, compilation flags, and configuration check. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-pci-devices.sh | PCI device inventory. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-services-info.sh | Running and enabled Systemd services. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-storage-info.sh | Disk usage per mount point and block device layout. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-top-processes.sh | Top 10 processes by CPU usage. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-usb-devices.sh | USB device inventory. | ❌ | ❌ | ✅ | — |
| standalone/inventory/system | get-user-crontab.sh | Current user's crontab entries. | ❌ | ❌ | ✅ | — |
| standalone/lsp | install-bash-language-server.sh | Install bash-language-server via npm for editor/IDE LSP integration. | ❌ | ❌ | ✅ | — |
| standalone/lsp | install-markdown-language-server.sh | Install markdown-language-server via npm for editor/IDE LSP integration. | ✅ | ❌ | ✅ | — |
| standalone/lsp | install-python-language-server.sh | Install python-lsp-server (pylsp) via pipx for editor/IDE LSP integration. | ❌ | ❌ | ✅ | — |
| standalone/maintenance | create-swap-file.sh | Create and activate a swap file of any size. | ✅ | ✅ | ✅ | — |
| standalone/maintenance | grant-sudo.sh | Add a user to the sudo group. | ✅ | ❌ | ✅ | — |
| standalone/maintenance | set-bashrc-default.sh | Reset ~/.bashrc to the distribution default. | ❌ | ✅ | ✅ | — |
| standalone/maintenance | ufw-firewalld-migration.sh | Remove UFW and replace it with Firewalld. | ✅ | ❌ | ⚠️ | — |
| standalone/pipx | install-gallery-dl.sh | Install gallery-dl via pipx. | ❌ | ❌ | ✅ | — |
| standalone/pipx | install-spotdl.sh | Install spotdl via pipx. | ❌ | ❌ | ✅ | — |
| standalone/pipx | install-yt-dlp.sh | Install yt-dlp via pipx. | ❌ | ❌ | ✅ | — |
| standalone/server | deploy-filebrowser.sh | File Browser web file manager via Docker. | ✅ | ✅ | ✅ | — |
| standalone/server | deploy-grafana.sh | Grafana + Prometheus + Node Exporter via Docker. | ✅ | ✅ | ✅ | — |
| standalone/server | deploy-nginx.sh | Production Nginx + optional PHP-FPM, Grafana & Portainer proxy. | ✅ | ✅ | ✅ | — |
| standalone/server | deploy-portainer.sh | Portainer CE container management UI via Docker. | ✅ | ✅ | ✅ | — |
| standalone/server | deploy-ssh.sh | Install & harden OpenSSH Server, optional Firewalld rule. | ✅ | ✅ | ✅ | — |
| standalone/server | server-bootstrap.sh | Initial server hardening and configuration. | ✅ | ✅ | ✅ | — |
| standalone/showcase | showcase-bash-qol.sh | Demo for the Bash QOL terminal styling. | ❌ | ✅ | ✅ | — |
| standalone/utilities | discord-attachments-dl.sh | Download attachments from a Discord data export. | ✅ | ✅ | ✅ | — |
| standalone/utilities | download-java.sh | Eclipse Temurin JDK/JRE installer (v8, 17, 21, 25). | ✅ | ✅ | ⚠️ | — |
| standalone/utilities | prompt-cli.sh | Gemini-based CLI assistant with markdown rendering; exposed as ask. | ✅ | ✅ | ✅ | — |
| standalone/yt-dlp | yt-dlp-all-formats.sh | Download every resolution tier (480p-8K) via yt-dlp. | ✅ | ❌ | ✅ | — |
| standalone/yt-dlp | yt-dlp-audio-only.sh | Download audio only as MP3 via yt-dlp. | ✅ | ❌ | ✅ | — |
| standalone/yt-dlp | yt-dlp-best-format.sh | Download best quality video as MP4 via yt-dlp. | ✅ | ❌ | ✅ | — |
| workflows/deploy-server | deploy-server.sh | Full-stack workflow: bootstrap → nginx → grafana → portainer from a single .env. | ✅ | ✅ | ❌ | 4 |
| workflows | setup-bash-qol.sh | Install shell quality-of-life tools and configure Bash. | ✅ | ❌ | ✅ | 6 |
| workflows | setup-dev-env.sh | Install a full C++/Python/PHP/Node dev environment + LSP servers in one step. | ✅ | ❌ | ✅ | 11 |
| workflows | setup-flatpak.sh | Install Flatpak + Flathub + Discord, Steam, Telegram in one step. | ❌ | ❌ | ✅ | 4 |
| workflows | setup-oh-my-bash.sh | Install oh-my-bash with interactive theme selection. | ✅ | ✅ | ✅ | 2 |
| workflows | setup-pipx.sh | Install yt-dlp, gallery-dl, spotdl via pipx in one step. | ❌ | ❌ | ✅ | 4 |
standalone/apt/cli/#
standalone/apt/cli/install-bash-completion.sh#
Installs bash-completion via apt. Programmable completion is normally auto-sourced by /etc/bash.bashrc on Debian/Ubuntu once the package is present — no manual .bashrc edit needed.
standalone/apt/cli/install-bat.sh#
Installs bat via apt.
- On Ubuntu/Debian the binary ships as
batcat(to avoid a name clash
with an unrelated bat package). This script adds a bat symlink to /usr/local/bin/bat when only batcat is present, so bat works out of the box.
standalone/apt/cli/install-cpp.sh#
Installs build-essential, gcc, g++, clang, cmake, ninja-build, gdb, lldb.
standalone/apt/cli/install-docker.sh#
Installs Docker Engine (docker.io) and the Docker Compose plugin; enables and starts the service.
standalone/apt/cli/install-eza.sh#
Installs eza via apt.
- eza only reached Debian's own repos in Debian 13 (Trixie) / recent
Ubuntu. On releases where the apt package is unavailable, this script adds the official third-party repository, deb.gierens.de (https://eza.rocks / https://github.com/eza-community/eza/blob/main/INSTALL.md), signed with its published GPG key, then installs from there.
standalone/apt/cli/install-firewalld-cli.sh#
Installs firewalld.
- Enables and starts the
firewalldservice. - Note: if
ufwis active, it should be disabled to avoid conflicting
netfilter rules; this script does not do that automatically.
standalone/apt/cli/install-flatpak.sh#
Installs flatpak, adds the Flathub remote, optionally enables KDE Discover integration.
standalone/apt/cli/install-nvidia-driver.sh#
Installs an NVIDIA GPU driver, either from the distro's apt repository or from a legacy/manual .run installer.
- Usage:
sudo ./install-nvidia-driver.sh --detect(auto-detects the recommended package viaubuntu-driversornvidia-detect),--package <nvidia-driver-XXX>, or--run <path-to-.run> - Blacklists the
nouveaudriver and refreshesinitramfsbefore installing - Stops the display manager and switches to
multi-user.targetso X/Wayland is fully down before the driver installs or builds — asks for confirmation first - Warns if a process is still holding
/dev/nvidia*before proceeding - Installs via
apt-get install(package mode) or runs the.runfile with--silent --dkms --no-x-check(manual mode) - Offers to reboot at the end, or prints how to return to
graphical.targetmanually
⚠️ Idempotency caveat: re-running always stops the graphical session and prompts for a reboot again, even if the driver is already installed — run it from an SSH session or TTY, not from inside the graphical session it's about to stop.
standalone/apt/cli/install-php.sh#
Installs php, php-cli, php-fpm, and common PHP extensions.
standalone/apt/cli/install-pipx.sh#
Installs pipx and ensures ~/.local/bin is on PATH.
standalone/apt/cli/install-python.sh#
Installs python3, python3-pip, python3-venv.
standalone/apt/cli/install-veracrypt-cli.sh#
Installs VeraCrypt CLI (Console Only) from the official PPA.
standalone/apt/cli/install-virtualbox-guest-additions.sh#
Installs VirtualBox Guest Additions from the distribution's apt repository.
- Supports Debian, Ubuntu, Linux Mint, Pop!_OS, and Kali
- Installs
virtualbox-guest-x11andvirtualbox-guest-utils - Reminds the user to reboot to activate the additions
standalone/apt/cli/install-zoxide.sh#
Installs zoxide via apt.
zoxidelanded in Debian/Ubuntu repos only in recent releases
(Debian 12+, Ubuntu 22.10+). On older releases where the apt package is unavailable, this script falls back to the official upstream install script (installs to ~/.local/bin for the invoking user via SUDO_USER, or root's home if run directly as root).
standalone/apt/gui/#
standalone/apt/gui/install-firefox.sh#
Installs Firefox via apt.
- Uses the
firefoxpackage where available (Ubuntu's apt repos install
the Snap transitional package on stock Ubuntu; Debian ships a real deb).
- Falls back to
firefox-esr, the package name used on Debian stable
when the plain firefox package does not exist in the configured repos.
standalone/apt/gui/install-firewalld-gui.sh#
Installs firewalld and firewall-config, its GTK graphical configuration tool.
- Enables and starts the
firewalldservice. - Note: if
ufwis active, it should be disabled to avoid conflicting
netfilter rules; this script does not do that automatically.
standalone/apt/gui/install-flameshot.sh#
Installs Flameshot via apt.
standalone/apt/gui/install-ghostwriter.sh#
Installs the Ghostwriter Markdown editor.
standalone/apt/gui/install-kate.sh#
Installs the Kate text editor along with the official plugin collection (kate-plugins).
standalone/apt/gui/install-kio-admin.sh#
Installs kio-admin for Dolphin root access.
standalone/apt/gui/install-obs-studio.sh#
Installs OBS Studio via apt.
standalone/apt/gui/install-okular.sh#
Installs the Okular document viewer.
standalone/apt/gui/install-protonvpn.sh#
Installs the ProtonVPN from the official Proton apt repository.
standalone/apt/gui/install-qbittorrent.sh#
Installs qBittorrent via apt.
standalone/apt/gui/install-tor-browser.sh#
Installs Tor Browser via the official Tor Project apt repository.
standalone/apt/gui/install-veracrypt-gui.sh#
Installs VeraCrypt GUI (Graphical Interface) from the official PPA.
standalone/apt/gui/install-virtualbox.sh#
Installs VirtualBox from the official Oracle apt repository.
standalone/chmod/#
standalone/chmod/chmod-add-x.sh#
Recursively adds the execute bit on all .sh files under a given path.
- Usage:
./chmod-add-x.sh <path> - No root required unless the target path requires elevated access
standalone/chmod/chmod-remove-x.sh#
Recursively removes the execute bit from all .sh files under a given path.
- Usage:
./chmod-remove-x.sh <path> - No root required unless the target path requires elevated access
standalone/chmod/chmod-set-644.sh#
Recursively sets file permissions to 644 under a given path.
- Usage:
./chmod-set-644.sh <path> - No root required unless the target path requires elevated access
standalone/chmod/chmod-set-755.sh#
Recursively sets file permissions to 755 under a given path.
- Usage:
./chmod-set-755.sh <path> - No root required unless the target path requires elevated access
standalone/cleanup/#
standalone/cleanup/cleanup-apt.sh#
Runs apt-get autoremove, autoclean, and clean to free disk space.
standalone/cleanup/cleanup-browser-brave.sh#
Stops Brave and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-browser-chrome.sh#
Stops Chrome and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-browser-chromium.sh#
Stops Chromium and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-browser-edge.sh#
Stops Edge and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-browser-firefox.sh#
Stops Firefox and clears cookies, history, cache, session data.
standalone/cleanup/cleanup-browser-opera.sh#
Stops Opera and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-browser-vivaldi.sh#
Stops Vivaldi and clears cookies, history, cache, etc.
standalone/cleanup/cleanup-docker.sh#
Prunes Docker system with interactive confirmations.
standalone/cleanup/cleanup-kernels.sh#
Detects and optionally removes old Linux kernels.
standalone/cleanup/cleanup-logs.sh#
Vacuums journald and removes rotated logs older than 7 days.
standalone/cleanup/cleanup-temp.sh#
Removes files older than 7 days from temporary directories.
standalone/cleanup/cleanup-thumbnails.sh#
Removes thumbnail cache from all home directories.
standalone/docker/#
standalone/docker/update-docker-compose-stacks.sh#
Updates and redeploys every Docker Compose stack found under /opt/*.
- Lists currently running containers before starting
- Detects
docker-compose.yml,compose.yml,compose.yaml, anddocker-compose.yaml - Runs
docker compose pullfollowed bydocker compose up -dfor each stack - Detects whether new images were actually pulled
- Skips directories with no compose file or where the pull fails
- Prints a final summary of updated, unchanged, and skipped stacks
standalone/flatpak/#
standalone/flatpak/install-telegram.sh#
Installs Telegram Desktop from Flathub.
standalone/git/#
standalone/git/git-clone-all.sh#
Clones every public repository belonging to a GitHub user or organization.
- Usage:
./git-clone-all.sh <github-username-or-url> [target-dir] - Accepts either a bare username or a full
github.com/<user>URL - Paginates through the GitHub API to fetch all repositories
- Clones each repo into the target directory (default
./repos) - Skips repositories that are already cloned locally
- No root required
standalone/git/git-rewrite-identity.sh#
Uses git-filter-repo to replace a given author/committer name and/or email with new values across the entire commit history of a repository. Useful when commits were made under an OS-level username instead of the intended account identity. Rewrites all refs; commit hashes change. The 'origin' remote is removed by git-filter-repo as a safety measure and is automatically re-added at the end if it was present.
standalone/inventory/network/#
standalone/inventory/network/get-bandwidth-summary.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Per-interface link speed, duplex, carrier state, and MTU
standalone/inventory/network/get-connectivity.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Same checks as
network-summary.shplus DNS query time and IPv6 internet reachability
standalone/inventory/network/get-dns-info.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
resolvectlstatus or/etc/resolv.conf, active nameservers, and search domains
standalone/inventory/network/get-established-connections.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Established TCP connections with local/remote endpoints and owning process
Running as sudo gives fuller process detail on this script; it still works without root, but with a warning and reduced detail.
standalone/inventory/network/get-firewall-status.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Status across UFW, Firewalld, nftables, and iptables — whichever are installed
Running as sudo gives fuller process detail on this script; it still works without root, but with a warning and reduced detail.
standalone/inventory/network/get-interface-statistics.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Per-interface RX/TX bytes, packets, errors, drops, and collisions from
/sys/class/net
standalone/inventory/network/get-listening-ports.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Listening TCP/UDP ports with the owning process, via
ss
Running as sudo gives fuller process detail on this script; it still works without root, but with a warning and reduced detail.
standalone/inventory/network/get-neighbors.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- ARP table (IPv4) and neighbor cache (IPv6)
standalone/inventory/network/get-network-interfaces.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Per-interface state, MAC, MTU, driver, speed, and IPv4/IPv6 addresses
standalone/inventory/network/get-network-services.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Active state of NetworkManager, systemd-networkd/-resolved, dhcpcd, wpa_supplicant, iwd
standalone/inventory/network/get-network-statistics.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- TCP congestion control algorithm, IPv4/IPv6 forwarding, and BBR status via
sysctl
standalone/inventory/network/get-network-summary.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- One-shot pass/fail overview: gateway, DNS, internet, public IPv4/IPv6
standalone/inventory/network/get-public-ip.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- Public IPv4/IPv6 via ipify, falling back to ifconfig.me/ifconfig.co
standalone/inventory/network/get-routing.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- IPv4/IPv6 routing tables and the default gateway/interface
standalone/inventory/network/get-vpn-status.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- WireGuard/TUN/TAP interfaces, Tailscale status, and ZeroTier status
standalone/inventory/network/get-wifi-status.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; colored output degrades gracefully to plain text when not attached to a terminal.
- SSID, signal, bitrate, and frequency for wireless interfaces via
iwornmcli
standalone/inventory/system/#
standalone/inventory/system/get-cpu-info.sh#
Read-only status and diagnostic script. Works without root.
- Collects architecture, model name, core/thread counts via
lscpu.
standalone/inventory/system/get-directory-tree.sh#
Read-only status and diagnostic script. Works without root.
- Displays a 2-level deep tree for /srv, /opt, and /var/www.
Running as sudo prevents "Permission denied" errors in restricted folders.
standalone/inventory/system/get-dmi-info.sh#
Read-only status and diagnostic script.
- Collects system manufacturer/model/serial info via
dmidecode -t system.
Running assudois required;dmidecodereturns no data for non-root users.
standalone/inventory/system/get-docker-info.sh#
Read-only status and diagnostic script.
- Collects docker ps, network ls, volume ls, and docker info.
Running assudois required unless the user is part of thedockergroup.
standalone/inventory/system/get-host-info.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root.
- Collects
hostnamectl,/etc/os-release,uname -a, anduptime.
standalone/inventory/system/get-installed-packages.sh#
Read-only status and diagnostic script. Works without root.
- Counts installed packages via
dpkg-query(Debian/Ubuntu) orrpmfallback.
standalone/inventory/system/get-journal-errors.sh#
Read-only status and diagnostic script.
- Collects the last 15 critical/error priority events via
journalctl -p 3 -xb.
Running as sudo is required to read full system journal logs.
standalone/inventory/system/get-kernel-log.sh#
Read-only status and diagnostic script — does not modify system configuration.
- Collects the last 20 lines of
dmesg.
Running assudois required on systems withkernel.dmesg_restrictenabled.
standalone/inventory/system/get-kernel-parameters.sh#
Read-only status and diagnostic script — does not modify system configuration. Works without root; some restricted parameters may be hidden.
- Collects the first 20 lines of
sysctl -afor a quick preview.
standalone/inventory/system/get-local-users.sh#
Read-only status and diagnostic script. Works without root.
- Lists local users with UID >= 1000 (excluding
nobody) from/etc/passwd.
standalone/inventory/system/get-logged-in-users.sh#
Read-only status and diagnostic script. Works without root.
- Collects currently logged-in users (
w) and the last 10 logins (last).
standalone/inventory/system/get-memory-info.sh#
Read-only status and diagnostic script. Works without root.
- Collects RAM and swap usage via
free -h.
standalone/inventory/system/get-nginx-info.sh#
Read-only status and diagnostic script.
- Collects nginx -V and checks config syntax.
Running assudois required to read SSL certificates or specific config files duringnginx -t.
standalone/inventory/system/get-pci-devices.sh#
Read-only status and diagnostic script. Works without root.
- Collects the PCI device list via
lspci.
standalone/inventory/system/get-services-info.sh#
Read-only status and diagnostic script. Works without root.
- Collects currently running services and enabled systemd units.
standalone/inventory/system/get-storage-info.sh#
Read-only status and diagnostic script. Works without root.
- Collects filesystem usage via
df -hand block device layout vialsblk.
standalone/inventory/system/get-top-processes.sh#
Read-only status and diagnostic script. Works without root.
- Collects the top 10 processes by CPU usage via
ps aux --sort=-%cpu.
standalone/inventory/system/get-usb-devices.sh#
Read-only status and diagnostic script. Works without root.
- Collects the USB device list via
lsusb.
standalone/inventory/system/get-user-crontab.sh#
Read-only status and diagnostic script.
- Collects the crontab entries for the current user via
crontab -l.
Running as sudo reads root's crontab instead of the invoking user's.
standalone/lsp/#
standalone/lsp/install-bash-language-server.sh#
Installs bash-language-server via npm into ~/.local/npm; adds to ~/.bashrc.
- Idempotent — uses a marker block in
~/.bashrcand skips installation if the server is already present
standalone/lsp/install-markdown-language-server.sh#
Installs markdown-language-server via npm into ~/.local/npm; adds to ~/.bashrc.
- Idempotent — uses a marker block in
~/.bashrcand skips installation if the server is already present - Must be run as root so it can resolve the real user's home directory via
SUDO_USER
standalone/lsp/install-python-language-server.sh#
Installs python-lsp-server (pylsp) for the current user, with all optional providers (Rope, Pyflakes, McCabe, pycodestyle, pydocstyle, autopep8, YAPF) enabled via the [all] extra.
- Installs via
pipx - Adds
~/.local/binto PATH in.bashrcand.profile - Idempotent — skips installation if
pylspis already available
standalone/maintenance/#
standalone/maintenance/create-swap-file.sh#
Creates and activates a swap file at /swapfile.
- Usage:
./create-swap-file.sh <size>(e.g.4G,8192M,2GiB) - Accepts G, GB, GiB, M, MB, MiB, T, TB, TiB units
- Detects and safely handles an existing swap file with a confirmation prompt
- Enables the new swap immediately and persists it via
/etc/fstab
standalone/maintenance/grant-sudo.sh#
Adds an existing user to the sudo group.
- Usage:
./grant-sudo.sh <username>or run assudo(inheritsSUDO_USERautomatically) - Validates that the target user exists and is not
root
standalone/maintenance/set-bashrc-default.sh#
Restores ~/.bashrc to the distro default.
- Backs up the current
~/.bashrcwith a timestamp before overwriting - Restores the file from
/etc/skel/.bashrc - Requires explicit confirmation before making changes
standalone/maintenance/ufw-firewalld-migration.sh#
Replaces UFW with Firewalld on Debian/Ubuntu systems.
- Disables and removes UFW
- Installs Firewalld and enables it on boot
- Opens SSH in the default zone before finishing so the session is not dropped
⚠️ Idempotency caveat: safe to run on a system that still has UFW, but a no-op if UFW is already gone and Firewalld is already running — it will not reconfigure an existing Firewalld setup.
standalone/pipx/#
standalone/server/#
standalone/server/deploy-filebrowser.sh#
Deploys File Browser — a lightweight web UI for browsing and managing files on the server.
- Managed via Docker Compose, using the official filebrowser/filebrowser image
- Bootstraps the database and admin account via the
filebrowserCLI before first start, instead of relying on the image's auto-generated one-time password - Uses a dedicated secret for the admin password
- Persists data under
/opt/filebrowser-stack/ - Served files live under
/opt/filebrowser-stack/srv/
Default binding:127.0.0.1:8080— usedeploy-nginx.shto expose it externally.
Change the default admin password immediately after first login.
Recommended for Debian 12/13 and Ubuntu 22.04/24.04 LTS.
standalone/server/deploy-grafana.sh#
Deploys a full observability stack: Grafana + Prometheus + Node Exporter.
- Managed via Docker Compose
- Uses a dedicated secret for the Grafana admin password
- Pre-configures Prometheus to scrape Node Exporter metrics
- Attempts to auto-import the Node Exporter Full dashboard (ID 19937)
- Persists data under
/opt/grafana-stack/
Default binding:127.0.0.1:3000— usedeploy-nginx.shto expose it externally.
Change the default admin password immediately after first login.
Recommended for Debian 12/13 and Ubuntu 22.04/24.04 LTS.
standalone/server/deploy-nginx.sh#
Deploys a hardened, production-ready Nginx web server.
- Installs Nginx with optional PHP-FPM integration
- Generates a clean virtual host with security headers and other baseline best practices
- Optionally installs avahi-daemon for mDNS /
.localhostname resolution on the LAN - Can add reverse proxies for Grafana at
/grafanaand Portainer at/portainer - Configures Firewalld for HTTP, HTTPS, and mDNS
- Creates a clean default
index.html
Recommended for Debian 12/13 and Ubuntu 22.04/24.04 LTS.
standalone/server/deploy-portainer.sh#
Deploys Portainer CE — a lightweight web UI for managing Docker containers.
- Managed via Docker Compose
- Uses a dedicated secret for the Portainer admin password
- Stores data under
/opt/portainer-stack/
Default binding:127.0.0.1:9000— usedeploy-nginx.shto expose it externally.
Change the default admin password immediately after first login.
Recommended for Debian 12/13 and Ubuntu 22.04/24.04 LTS.
standalone/server/deploy-ssh.sh#
Installs and enables OpenSSH Server, with optional firewall configuration.
- Installs
openssh-serverand enables thesshservice - Optionally installs Firewalld and opens the SSH service in the
publiczone - Validates
sshdconfiguration withsshd -tbefore restarting the service — aborts on a bad config instead of dropping the session - Prints a summary of service status, startup state, and firewall configuration
Recommended for Debian 12/13 and Ubuntu 22.04/24.04 LTS.
standalone/server/server-bootstrap.sh#
Initial hardening and configuration for a fresh server.
- Installs essential admin tools such as
htop,ranger,git,curl,wget, and more - Offers optional hardware diagnostic utilities
- Creates and configures a sudo-enabled user account
- Sets up Firewalld with sensible default rules
- Configures Fail2Ban for SSH brute-force protection
- Prints a full system summary at the end
standalone/showcase/#
standalone/showcase/showcase-bash-qol.sh#
A standalone demonstration of the Bash QOL terminal styling.
- Creates a temporary sandbox with sample files
- Shows off formatted output and terminal UI behavior
- Useful as a preview before committing to
bash-qol.sh - No root required
standalone/utilities/#
standalone/utilities/discord-attachments-dl.sh#
Downloads media attachments from a local Discord data export.
- Scans all
c*/channel folders inside the export directory - Parses
messages.jsonusing jq to extract attachment URLs - Downloads files to an
attachments/subdirectory per channel - Skips already-downloaded files
- Logs failed downloads for review
standalone/utilities/download-java.sh#
Downloads and installs multiple Eclipse Temurin (Adoptium) JDK/JRE builds.
- Supported versions: 8, 17, 21, 25
- Downloads both JDK and JRE for each version
- Installs to
/opt/java/temurin/ - Updates shell configuration so the installed Java versions can be used easily
⚠️ Idempotency caveat: hardcodes x64 in the Adoptium API URL — will fail on ARM. Re-running will re-download and overwrite existing installations without prompting.
standalone/utilities/prompt-cli.sh#
A terminal-based assistant client for the Google Gemini API with markdown rendering.
- Usage:
ask [--model NAME] <prompt text> - Self-installs into
~/.local/bin/on first run - Stores the API key in
~/.config/prompt-cli/keys.env - Renders markdown directly in the terminal
- Includes
--setup,--reset,--uninstall, and--help - Uses the
askcommand name becausepromptis already taken by oh-my-bash
standalone/yt-dlp/#
standalone/yt-dlp/yt-dlp-all-formats.sh#
All three scripts share the same conventions: they install jq and wget if missing, use Firefox cookies and a Node.js JS runtime for restricted videos, and retry up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID. No root required.
- Usage:
./yt-dlp-all-formats.sh <URL> [extra yt-dlp options] - Targets 480p, 720p, 1080p, 1440p, 2160p (4K), and 4320p (8K) with
bestaudio[ext=m4a] - Falls back to
best[ext=mp4]/bestif no matching tier is available - Output filename also includes the resolution
standalone/yt-dlp/yt-dlp-audio-only.sh#
All three scripts share the same conventions: they install jq and wget if missing, use Firefox cookies and a Node.js JS runtime for restricted videos, and retry up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID. No root required.
- Usage:
./yt-dlp-audio-only.sh <URL> [extra yt-dlp options] - Extracts audio at the best available quality (
--audio-quality 0) and converts to MP3
standalone/yt-dlp/yt-dlp-best-format.sh#
All three scripts share the same conventions: they install jq and wget if missing, use Firefox cookies and a Node.js JS runtime for restricted videos, and retry up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID. No root required.
- Usage:
./yt-dlp-best-format.sh <URL> [extra yt-dlp options] - Prefers
bestvideo[ext=mp4]+bestaudio[ext=m4a], falling back to the best overall format
workflows/#
workflows/setup-bash-qol.sh#
Installs shell quality-of-life tools and configures the current user's Bash environment.
- Runs
install-bash-completion.sh,install-fzf.sh,install-zoxide.sh,
install-ripgrep.sh, install-bat.sh, install-eza.sh from standalone/apt/cli/
- Updates
~/.bashrcand~/.inputrcwith a managed block - Adds aliases, completion tweaks, and history improvements
- Designed to be re-run safely
- Located in
workflows/
Modifies shell startup files such as ~/.bashrc.
workflows/setup-dev-env.sh#
Installs a complete development environment by chaining scripts from apt/ and lsp/.
- Runs in order:
install-cpp.sh,install-python.sh,install-php.sh,install-kate.sh,install-kdevelop.sh,install-npm.sh,install-ghostwriter.sh,install-docker.sh - Then installs
install-bash-language-server.sh,install-markdown-language-server.shandinstall-python-language-server.sh - Each subscript is executed individually so a failure is isolated and traceable
- Located in
workflows/
standalone/apt/cli/install-cpp.shstandalone/apt/cli/install-python.shstandalone/apt/cli/install-php.shstandalone/apt/cli/install-npm.shstandalone/apt/cli/install-docker.shstandalone/apt/gui/install-kate.shstandalone/apt/gui/install-kdevelop.shstandalone/apt/gui/install-ghostwriter.shstandalone/lsp/install-bash-language-server.shstandalone/lsp/install-markdown-language-server.shstandalone/lsp/install-python-language-server.sh
workflows/setup-flatpak.sh#
Installs Flatpak and a standard set of GUI applications in one step.
- Runs in order:
install-flatpak.sh(Flatpak + Flathub),install-telegram.sh,install-discord.sh,install-steam.sh - Located in
workflows/
workflows/setup-oh-my-bash.sh#
Installs oh-my-bash and lets the user pick a theme via an interactive preview.
- Runs
install-chafa.shandinstall-git.shfromstandalone/apt/cli/for dependencies - Uses theme screenshots rendered in the terminal with chafa
- Supports both upstream installation and a manual integration mode
- Preserves existing Bash customizations in manual mode
- Updates only the managed block when re-run
- Located in
workflows/
Modifies shell startup files such as ~/.bashrc.
workflows/setup-pipx.sh#
Installs a curated set of Python CLI tools via pipx in one step.
- Runs in order:
install-pipx.sh,install-gallery-dl.sh,install-yt-dlp.sh,install-spotdl.sh - Located in
workflows/
workflows/deploy-server/#
workflows/deploy-server/deploy-server.sh#
Orchestrates a full server deployment by running four scripts in sequence from a single .env config file.
- Validates all
.envvariables before starting — fails fast with clear errors - Pipes answers to each subscript via
printf, safely handling special characters in credentials - Handles sudo user creation between the bootstrap and Nginx steps
- Prints a deployment plan before running and confirms before proceeding
- Located in
workflows/deploy-server/alongside its.env.exampleconfig template
Designed for fresh deployments only — re-running on an existing system breaks prompt ordering in the subscripts.
Generated by generate-docs.py on 2026-07-21 05:10 UTC ·
129 scripts documented.