Shell-Toolkit — Script Documentation

Auto-generated from the # ---DOC-START--- / # ---DOC-END--- metadata block at the top of every script. Do not edit this file by hand — edit the metadata in the scripts and re-run generate-docs.py instead.

At a Glance

MetricValue
Total scripts221
Directories24
Require root / sudo145 / 221
Interactive31 / 221
Idempotent (always / mostly / no) 213 / 7 / 1
Scripts with dependencies13 / 221
DirectoryScripts
standalone/chmod4
standalone/cleanup14
standalone/ffmpeg1
standalone/firewall6
standalone/firewall/firewalld1
standalone/firewall/firewalld/ports12
standalone/firewall/firewalld/services12
standalone/firewall/ufw/ports24
standalone/git6
standalone/group-management8
standalone/install7
standalone/install/apt/cli24
standalone/install/apt/gui15
standalone/install/flatpak3
standalone/install/kde-plasma5
standalone/install/lsp4
standalone/install/pipx5
standalone/inventory/network16
standalone/inventory/system23
standalone/maintenance5
standalone/sources4
standalone/update5
standalone/yt-dlp4
workflows13

Repository Structure

shell-toolkit/
├── .github/
│   └── workflows/
│       ├── bash-syntax-check.yml
│       ├── chmod-add.yml
│       └── generate-documentation.yml
├── docs/
│   ├── index.html
│   └── metadata-guidelines.md
├── standalone/
│   ├── 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-flatpak.sh
│   │   ├── cleanup-kernels.sh
│   │   ├── cleanup-logs.sh
│   │   ├── cleanup-temp.sh
│   │   └── cleanup-thumbnails.sh
│   ├── ffmpeg/
│   │   └── convert-webm-mp4.sh
│   ├── firewall/
│   │   ├── firewalld/
│   │   │   ├── ports/
│   │   │   │   ├── close-localsend.sh
│   │   │   │   ├── close-minecraft.sh
│   │   │   │   ├── close-plex.sh
│   │   │   │   ├── close-syncthing.sh
│   │   │   │   ├── close-transmission.sh
│   │   │   │   ├── close-wireguard.sh
│   │   │   │   ├── open-localsend.sh
│   │   │   │   ├── open-minecraft.sh
│   │   │   │   ├── open-plex.sh
│   │   │   │   ├── open-syncthing.sh
│   │   │   │   ├── open-transmission.sh
│   │   │   │   └── open-wireguard.sh
│   │   │   ├── services/
│   │   │   │   ├── close-dns.sh
│   │   │   │   ├── close-http.sh
│   │   │   │   ├── close-https.sh
│   │   │   │   ├── close-mdns.sh
│   │   │   │   ├── close-samba.sh
│   │   │   │   ├── close-ssh.sh
│   │   │   │   ├── open-dns.sh
│   │   │   │   ├── open-http.sh
│   │   │   │   ├── open-https.sh
│   │   │   │   ├── open-mdns.sh
│   │   │   │   ├── open-samba.sh
│   │   │   │   └── open-ssh.sh
│   │   │   └── get-firewalld-list.sh
│   │   ├── ufw/
│   │   │   └── ports/
│   │   │       ├── close-dns.sh
│   │   │       ├── close-http.sh
│   │   │       ├── close-https.sh
│   │   │       ├── close-localsend.sh
│   │   │       ├── close-mdns.sh
│   │   │       ├── close-minecraft.sh
│   │   │       ├── close-plex.sh
│   │   │       ├── close-samba.sh
│   │   │       ├── close-ssh.sh
│   │   │       ├── close-syncthing.sh
│   │   │       ├── close-transmission.sh
│   │   │       ├── close-wireguard.sh
│   │   │       ├── open-dns.sh
│   │   │       ├── open-http.sh
│   │   │       ├── open-https.sh
│   │   │       ├── open-localsend.sh
│   │   │       ├── open-mdns.sh
│   │   │       ├── open-minecraft.sh
│   │   │       ├── open-plex.sh
│   │   │       ├── open-samba.sh
│   │   │       ├── open-ssh.sh
│   │   │       ├── open-syncthing.sh
│   │   │       ├── open-transmission.sh
│   │   │       └── open-wireguard.sh
│   │   ├── disable-firewalld.sh
│   │   ├── disable-ufw.sh
│   │   ├── enable-firewalld.sh
│   │   ├── enable-ufw.sh
│   │   ├── remove-firewalld.sh
│   │   └── remove-ufw.sh
│   ├── git/
│   │   ├── bootstrap-git.sh
│   │   ├── git-clone-all.sh
│   │   ├── git-commit-all.sh
│   │   ├── git-pull-all.sh
│   │   ├── git-push-all.sh
│   │   └── git-rewrite-identity.sh
│   ├── group-management/
│   │   ├── grant-kvm.sh
│   │   ├── grant-libvirt.sh
│   │   ├── grant-sudo.sh
│   │   ├── grant-vboxusers.sh
│   │   ├── revoke-kvm.sh
│   │   ├── revoke-libvirt.sh
│   │   ├── revoke-sudo.sh
│   │   └── revoke-vboxusers.sh
│   ├── install/
│   │   ├── apt/
│   │   │   ├── cli/
│   │   │   │   ├── install-cpp.sh
│   │   │   │   ├── install-docker.sh
│   │   │   │   ├── install-firewalld-cli.sh
│   │   │   │   ├── install-flatpak.sh
│   │   │   │   ├── install-git.sh
│   │   │   │   ├── install-npm.sh
│   │   │   │   ├── install-php.sh
│   │   │   │   ├── install-pipx.sh
│   │   │   │   ├── install-pkgs-apps.sh
│   │   │   │   ├── install-pkgs-audio.sh
│   │   │   │   ├── install-pkgs-core.sh
│   │   │   │   ├── install-pkgs-cryptsetup.sh
│   │   │   │   ├── install-pkgs-graphics.sh
│   │   │   │   ├── install-pkgs-network.sh
│   │   │   │   ├── install-pkgs-notify.sh
│   │   │   │   ├── install-pkgs-storage.sh
│   │   │   │   ├── install-pkgs-system-helpers.sh
│   │   │   │   ├── install-pkgs-theming.sh
│   │   │   │   ├── install-pkgs-wayland-core.sh
│   │   │   │   ├── install-python.sh
│   │   │   │   ├── install-qemu-kvm.sh
│   │   │   │   ├── install-ranger.sh
│   │   │   │   ├── install-ufw.sh
│   │   │   │   └── install-veracrypt-cli.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-obs-studio.sh
│   │   │       ├── install-protonvpn.sh
│   │   │       ├── install-qbittorrent.sh
│   │   │       ├── install-qwinff.sh
│   │   │       ├── install-remmina.sh
│   │   │       ├── install-veracrypt-gui.sh
│   │   │       ├── install-virtualbox.sh
│   │   │       └── install-vlc.sh
│   │   ├── flatpak/
│   │   │   ├── install-discord.sh
│   │   │   ├── install-steam.sh
│   │   │   └── install-telegram.sh
│   │   ├── kde-plasma/
│   │   │   ├── install-kate.sh
│   │   │   ├── install-kdevelop.sh
│   │   │   ├── install-kio-admin.sh
│   │   │   ├── install-krusader.sh
│   │   │   └── install-okular.sh
│   │   ├── lsp/
│   │   │   ├── install-bash-language-server.sh
│   │   │   ├── install-clang-language-server.sh
│   │   │   ├── install-markdown-language-server.sh
│   │   │   └── install-python-language-server.sh
│   │   ├── pipx/
│   │   │   ├── install-ansible.sh
│   │   │   ├── install-gallery-dl.sh
│   │   │   ├── install-git-filter-repo.sh
│   │   │   ├── install-spotdl.sh
│   │   │   └── install-yt-dlp.sh
│   │   ├── install-java.sh
│   │   ├── install-nerd-fonts.sh
│   │   ├── install-nvidia-driver.sh
│   │   ├── install-ranger-devicons.sh
│   │   ├── install-tor-browser.sh
│   │   ├── install-vbox-guest-additions.sh
│   │   └── install-zafiro-icons.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-disk-health.sh
│   │       ├── get-dmi-info.sh
│   │       ├── get-docker-info.sh
│   │       ├── get-gpu-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-ssl-cert-expiry.sh
│   │       ├── get-storage-info.sh
│   │       ├── get-systemd-timers.sh
│   │       ├── get-top-processes.sh
│   │       ├── get-usb-devices.sh
│   │       └── get-user-crontab.sh
│   ├── maintenance/
│   │   ├── create-swap.sh
│   │   ├── create-user.sh
│   │   ├── purge-virtualbox.sh
│   │   ├── restore-bashrc.sh
│   │   └── restore-profile.sh
│   ├── sources/
│   │   ├── edit-sources-list-d-list.sh
│   │   ├── edit-sources-list-d-sources.sh
│   │   ├── edit-sources-list.sh
│   │   └── get-sources-list.sh
│   ├── update/
│   │   ├── update-apt.sh
│   │   ├── update-docker-compose-stacks.sh
│   │   ├── update-flatpak.sh
│   │   ├── update-grub.sh
│   │   └── update-pipx.sh
│   └── yt-dlp/
│       ├── yt-dlp-all-formats.sh
│       ├── yt-dlp-audio-only.sh
│       ├── yt-dlp-best-format.sh
│       └── yt-dlp-playlist-480p.sh
├── workflows/
│   ├── cleanup-system.sh
│   ├── setup-development-environment.sh
│   ├── setup-downloaders.sh
│   ├── setup-firewalld.sh
│   ├── setup-git.sh
│   ├── setup-proprietary-software.sh
│   ├── setup-qemu-kvm.sh
│   ├── setup-ranger.sh
│   ├── setup-ufw.sh
│   ├── setup-virtualbox.sh
│   ├── uninstall-firewalld.sh
│   ├── uninstall-ufw.sh
│   └── update-system.sh
├── LICENSE
├── README.md
└── generate-docs.py

All Scripts

DirectoryScriptSummarySudoInteractiveIdempotentDeps
standalone/chmodchmod-add-x.shRecursively add execute permission to files in a path.
standalone/chmodchmod-remove-x.shRecursively remove execute permission from files in a path.
standalone/chmodchmod-set-644.shRecursively set permissions to 644 on files in a path.
standalone/chmodchmod-set-755.shRecursively set permissions to 755 on files in a path.
standalone/cleanupcleanup-apt.shClean APT cache and remove orphaned packages.
standalone/cleanupcleanup-browser-brave.shClear cache, cookies, and history for Brave.
standalone/cleanupcleanup-browser-chrome.shClear cache, cookies, and history for Google Chrome.
standalone/cleanupcleanup-browser-chromium.shClear cache, cookies, and history for Chromium.
standalone/cleanupcleanup-browser-edge.shClear cache, cookies, and history for Microsoft Edge.
standalone/cleanupcleanup-browser-firefox.shClear cache, cookies, and history for Firefox.
standalone/cleanupcleanup-browser-opera.shClear cache, cookies, and history for Opera.
standalone/cleanupcleanup-browser-vivaldi.shClear cache, cookies, and history for Vivaldi.
standalone/cleanupcleanup-docker.shClean unused Docker data (images, containers, volumes).
standalone/cleanupcleanup-flatpak.shRemove unused Flatpak runtimes and clear Flatpak cache.
standalone/cleanupcleanup-kernels.shRemove old kernel packages (keeping current kernel).
standalone/cleanupcleanup-logs.shClean old journald logs and rotated logs.
standalone/cleanupcleanup-temp.shClean temporary files in /tmp and /var/tmp.
standalone/cleanupcleanup-thumbnails.shClear thumbnail caches for all users.
standalone/ffmpegconvert-webm-mp4.shBatch-convert .webm files to .mp4 using ffmpeg
standalone/firewalldisable-firewalld.shDisable Firewalld.
standalone/firewalldisable-ufw.shDisable UFW.
standalone/firewallenable-firewalld.shEnable Firewalld.
standalone/firewallenable-ufw.shEnable UFW.
standalone/firewall/firewalldget-firewalld-list.shDisplay firewalld ports and services for public and home zones
standalone/firewall/firewalld/portsclose-localsend.shClose firewalld port for localsend
standalone/firewall/firewalld/portsclose-minecraft.shClose firewalld port for minecraft
standalone/firewall/firewalld/portsclose-plex.shClose firewalld port for plex
standalone/firewall/firewalld/portsclose-syncthing.shClose firewalld port for syncthing
standalone/firewall/firewalld/portsclose-transmission.shClose firewalld port for transmission
standalone/firewall/firewalld/portsclose-wireguard.shClose firewalld port for wireguard
standalone/firewall/firewalld/portsopen-localsend.shOpen firewalld port for localsend
standalone/firewall/firewalld/portsopen-minecraft.shOpen firewalld port for minecraft
standalone/firewall/firewalld/portsopen-plex.shOpen firewalld port for plex
standalone/firewall/firewalld/portsopen-syncthing.shOpen firewalld port for syncthing
standalone/firewall/firewalld/portsopen-transmission.shOpen firewalld port for transmission
standalone/firewall/firewalld/portsopen-wireguard.shOpen firewalld port for wireguard
standalone/firewall/firewalld/servicesclose-dns.shClose firewalld service dns
standalone/firewall/firewalld/servicesclose-http.shClose firewalld service http
standalone/firewall/firewalld/servicesclose-https.shClose firewalld service https
standalone/firewall/firewalld/servicesclose-mdns.shClose firewalld service mdns
standalone/firewall/firewalld/servicesclose-samba.shClose firewalld service samba
standalone/firewall/firewalld/servicesclose-ssh.shClose firewalld service ssh
standalone/firewall/firewalld/servicesopen-dns.shOpen firewalld service dns
standalone/firewall/firewalld/servicesopen-http.shOpen firewalld service http
standalone/firewall/firewalld/servicesopen-https.shOpen firewalld service https
standalone/firewall/firewalld/servicesopen-mdns.shOpen firewalld service mdns
standalone/firewall/firewalld/servicesopen-samba.shOpen firewalld service samba
standalone/firewall/firewalld/servicesopen-ssh.shOpen firewalld service ssh
standalone/firewallremove-firewalld.shRemove Firewalld.
standalone/firewallremove-ufw.shRemove UFW.
standalone/firewall/ufw/portsclose-dns.shClose ufw port for dns
standalone/firewall/ufw/portsclose-http.shClose ufw port for http
standalone/firewall/ufw/portsclose-https.shClose ufw port for https
standalone/firewall/ufw/portsclose-localsend.shClose ufw port for localsend
standalone/firewall/ufw/portsclose-mdns.shClose ufw port for mdns
standalone/firewall/ufw/portsclose-minecraft.shClose ufw port for minecraft
standalone/firewall/ufw/portsclose-plex.shClose ufw port for plex
standalone/firewall/ufw/portsclose-samba.shClose ufw port for samba
standalone/firewall/ufw/portsclose-ssh.shClose ufw port for ssh
standalone/firewall/ufw/portsclose-syncthing.shClose ufw port for syncthing
standalone/firewall/ufw/portsclose-transmission.shClose ufw port for transmission
standalone/firewall/ufw/portsclose-wireguard.shClose ufw port for wireguard
standalone/firewall/ufw/portsopen-dns.shOpen ufw port for dns
standalone/firewall/ufw/portsopen-http.shOpen ufw port for http
standalone/firewall/ufw/portsopen-https.shOpen ufw port for https
standalone/firewall/ufw/portsopen-localsend.shOpen ufw port for localsend
standalone/firewall/ufw/portsopen-mdns.shOpen ufw port for mdns
standalone/firewall/ufw/portsopen-minecraft.shOpen ufw port for minecraft
standalone/firewall/ufw/portsopen-plex.shOpen ufw port for plex
standalone/firewall/ufw/portsopen-samba.shOpen ufw port for samba
standalone/firewall/ufw/portsopen-ssh.shOpen ufw port for ssh
standalone/firewall/ufw/portsopen-syncthing.shOpen ufw port for syncthing
standalone/firewall/ufw/portsopen-transmission.shOpen ufw port for transmission
standalone/firewall/ufw/portsopen-wireguard.shOpen ufw port for wireguard
standalone/gitbootstrap-git.shBootstrap Git configuration for a GitHub account.
standalone/gitgit-clone-all.shClone all public repositories from a GitHub user/profile.
standalone/gitgit-commit-all.shCommit local changes for all Git repositories in a directory.
standalone/gitgit-pull-all.shPull updates for all Git repositories in a directory.
standalone/gitgit-push-all.shPush updates for all Git repositories in a directory.
standalone/gitgit-rewrite-identity.shRewrite author/committer name and email across all commits in a Git repository.
standalone/group-managementgrant-kvm.shAdd an existing user to the kvm group.
standalone/group-managementgrant-libvirt.shAdd an existing user to the libvirt group.
standalone/group-managementgrant-sudo.shAdd an existing user to the sudo group.
standalone/group-managementgrant-vboxusers.shAdd an existing user to the vboxusers group.
standalone/group-managementrevoke-kvm.shRemove an existing user from the kvm group.
standalone/group-managementrevoke-libvirt.shRemove an existing user from the libvirt group.
standalone/group-managementrevoke-sudo.shRemove an existing user from the sudo group.
standalone/group-managementrevoke-vboxusers.shRemove an existing user from the vboxusers group.
standalone/install/apt/cliinstall-cpp.shInstall the C and C++ development environment.
standalone/install/apt/cliinstall-docker.shInstall Docker Engine and the Docker Compose plugin.
standalone/install/apt/cliinstall-firewalld-cli.shInstall firewalld.
standalone/install/apt/cliinstall-flatpak.shInstall flatpak, add the Flathub repository.
standalone/install/apt/cliinstall-git.shInstall git from the distribution repositories.
standalone/install/apt/cliinstall-npm.shInstall Node.js and npm.
standalone/install/apt/cliinstall-php.shInstall PHP and common extensions.
standalone/install/apt/cliinstall-pipx.shInstall pipx and ensure ~/.local/bin is on PATH.
standalone/install/apt/cliinstall-pkgs-apps.shInstall user-facing applications.
standalone/install/apt/cliinstall-pkgs-audio.shInstall the audio stack (PipeWire/WirePlumber).
standalone/install/apt/cliinstall-pkgs-core.shInstall base system and CLI utilities.
standalone/install/apt/cliinstall-pkgs-cryptsetup.shInstall CryptSetup and disk encryption tooling.
standalone/install/apt/cliinstall-pkgs-graphics.shInstall graphics/GL libraries and diagnostics tools.
standalone/install/apt/cliinstall-pkgs-network.shInstall network and Bluetooth management tools.
standalone/install/apt/cliinstall-pkgs-notify.shInstall notification, screenshot, and speech tools.
standalone/install/apt/cliinstall-pkgs-storage.shInstall disk, filesystem, and removable media tools.
standalone/install/apt/cliinstall-pkgs-system-helpers.shInstall the polkit agent and system hotkey helpers.
standalone/install/apt/cliinstall-pkgs-theming.shInstall Qt/GTK theming integration tools.
standalone/install/apt/cliinstall-pkgs-wayland-core.shInstall the Wayland/Sway core environment.
standalone/install/apt/cliinstall-python.shInstall the Python development environment.
standalone/install/apt/cliinstall-qemu-kvm.shInstall the QEMU/KVM virtualization stack.
standalone/install/apt/cliinstall-ranger.shInstall ranger from the distribution repositories.
standalone/install/apt/cliinstall-ufw.shInstall UFW.
standalone/install/apt/cliinstall-veracrypt-cli.shInstall VeraCrypt CLI from the official PPA.⚠️
standalone/install/apt/guiinstall-blender.shInstall Blender from the distribution repositories.
standalone/install/apt/guiinstall-firefox.shInstall Firefox from the distribution repositories.
standalone/install/apt/guiinstall-firewalld-gui.shInstall firewalld with its GUI configuration tool (firewall-config).
standalone/install/apt/guiinstall-flameshot.shInstall Flameshot from the distribution repositories.
standalone/install/apt/guiinstall-ghostwriter.shInstall the Ghostwriter Markdown editor.
standalone/install/apt/guiinstall-gimp.shInstall GIMP from the distribution repositories.
standalone/install/apt/guiinstall-inkscape.shInstall Inkscape from the distribution repositories.
standalone/install/apt/guiinstall-obs-studio.shInstall OBS Studio from the distribution repositories.
standalone/install/apt/guiinstall-protonvpn.shInstall the ProtonVPN from the official Proton apt repository.⚠️
standalone/install/apt/guiinstall-qbittorrent.shInstall qBittorrent from the distribution repositories.
standalone/install/apt/guiinstall-qwinff.shInstall QwinFF from the distribution repositories.
standalone/install/apt/guiinstall-remmina.shInstall Remmina from the distribution repositories.
standalone/install/apt/guiinstall-veracrypt-gui.shInstall VeraCrypt GUI from the official PPA.⚠️
standalone/install/apt/guiinstall-virtualbox.shInstall VirtualBox from the official Oracle apt repository.⚠️
standalone/install/apt/guiinstall-vlc.shInstall VLC from the distribution repositories.
standalone/install/flatpakinstall-discord.shInstall Discord from Flathub.
standalone/install/flatpakinstall-steam.shInstall Steam from Flathub.
standalone/install/flatpakinstall-telegram.shInstall Telegram Desktop from Flathub.
standalone/installinstall-java.shEclipse Temurin JDK/JRE installer (v8, 17, 21, 25).
standalone/installinstall-nerd-fonts.shInstall popular Nerd Fonts from the official releases.
standalone/installinstall-nvidia-driver.shNVIDIA GPU driver installer (auto-detect, apt package, or .run).⚠️
standalone/installinstall-ranger-devicons.shInstall ranger_devicons for ranger.
standalone/installinstall-tor-browser.shInstall Tor Browser via the official Tor Project apt repository.⚠️
standalone/installinstall-vbox-guest-additions.shInstall VirtualBox Guest Additions from the mounted ISO.
standalone/installinstall-zafiro-icons.shInstall the latest Zafiro icon themes from the official GitHub releases.
standalone/install/kde-plasmainstall-kate.shInstall the Kate text editor.
standalone/install/kde-plasmainstall-kdevelop.shInstall the KDevelop IDE.
standalone/install/kde-plasmainstall-kio-admin.shInstall kio-admin for Dolphin root access.
standalone/install/kde-plasmainstall-krusader.shInstall Krusader from the distribution repositories.
standalone/install/kde-plasmainstall-okular.shInstall the Okular document viewer.
standalone/install/lspinstall-bash-language-server.shInstall bash-language-server via npm for editor/IDE LSP integration.
standalone/install/lspinstall-clang-language-server.shInstall clangd (LLVM C/C++ language server) for editor/IDE LSP integration.
standalone/install/lspinstall-markdown-language-server.shInstall marksman Markdown language server for editor/IDE LSP integration.
standalone/install/lspinstall-python-language-server.shInstall python-lsp-server (pylsp) via pipx for editor/IDE LSP integration.
standalone/install/pipxinstall-ansible.shInstall Ansible via pipx.
standalone/install/pipxinstall-gallery-dl.shInstall gallery-dl via pipx.
standalone/install/pipxinstall-git-filter-repo.shInstall git-filter-repo via pipx.
standalone/install/pipxinstall-spotdl.shInstall spotdl via pipx.
standalone/install/pipxinstall-yt-dlp.shInstall yt-dlp via pipx.
standalone/inventory/networkget-bandwidth-summary.shPer-interface link speed, duplex, carrier state, and MTU.
standalone/inventory/networkget-connectivity.shSame checks as network-summary.sh plus DNS query time and IPv6 internet reachability.
standalone/inventory/networkget-dns-info.shresolvectl status or /etc/resolv.conf, active nameservers, and search domains.
standalone/inventory/networkget-established-connections.shEstablished TCP connections with local/remote endpoints and owning process.
standalone/inventory/networkget-firewall-status.shStatus across UFW, Firewalld, nftables, and iptables — whichever are installed.
standalone/inventory/networkget-interface-statistics.shPer-interface RX/TX bytes, packets, errors, drops, and collisions.
standalone/inventory/networkget-listening-ports.shListening TCP/UDP ports with the owning process, via ss.
standalone/inventory/networkget-neighbors.shARP table (IPv4) and neighbor cache (IPv6).
standalone/inventory/networkget-network-interfaces.shPer-interface state, MAC, MTU, driver, speed, and IPv4/IPv6 addresses.
standalone/inventory/networkget-network-services.shActive state of NetworkManager, systemd-networkd/-resolved, dhcpcd, wpa_supplicant, iwd.
standalone/inventory/networkget-network-statistics.shTCP congestion control algorithm, IPv4/IPv6 forwarding, and BBR status via sysctl.
standalone/inventory/networkget-network-summary.shOne-shot pass/fail overview: gateway, DNS, internet, public IPv4/IPv6.
standalone/inventory/networkget-public-ip.shPublic IPv4/IPv6 via ipify, falling back to ifconfig.me/ifconfig.co.
standalone/inventory/networkget-routing.shIPv4/IPv6 routing tables and the default gateway/interface.
standalone/inventory/networkget-vpn-status.shWireGuard/TUN/TAP interfaces, Tailscale status, and ZeroTier status.
standalone/inventory/networkget-wifi-status.shSSID, signal, bitrate, and frequency for wireless interfaces via iw or nmcli.
standalone/inventory/systemget-cpu-info.shCPU architecture, model, core, and thread information.
standalone/inventory/systemget-directory-tree.shDisplays structural hierarchy of common server directories.
standalone/inventory/systemget-disk-health.shSMART health status for all detected physical disks.
standalone/inventory/systemget-dmi-info.shSystem-level DMI/SMBIOS hardware component info.
standalone/inventory/systemget-docker-info.shDocker containers, networks, volumes, and system info.
standalone/inventory/systemget-gpu-info.shGPU hardware detection and live NVIDIA driver metrics.
standalone/inventory/systemget-host-info.shHostname, OS release, kernel version, and uptime.
standalone/inventory/systemget-installed-packages.shCount of installed OS packages (dpkg or rpm).
standalone/inventory/systemget-journal-errors.shRecent critical/error entries from the system journal.
standalone/inventory/systemget-kernel-log.shRecent kernel ring buffer messages (dmesg).
standalone/inventory/systemget-kernel-parameters.shKernel runtime parameters via sysctl (truncated preview).
standalone/inventory/systemget-local-users.shNon-system local user accounts from /etc/passwd.
standalone/inventory/systemget-logged-in-users.shCurrently logged-in users and recent login history.
standalone/inventory/systemget-memory-info.shSystem memory usage (RAM and swap).
standalone/inventory/systemget-nginx-info.shNginx version, compilation flags, and configuration check.
standalone/inventory/systemget-pci-devices.shPCI device inventory.
standalone/inventory/systemget-services-info.shRunning and enabled Systemd services.
standalone/inventory/systemget-ssl-cert-expiry.shSSL/TLS certificate expiry status for one or more domains.
standalone/inventory/systemget-storage-info.shDisk usage per mount point and block device layout.
standalone/inventory/systemget-systemd-timers.shAll systemd timers and the health of the units they activate.
standalone/inventory/systemget-top-processes.shTop 10 processes by CPU usage.
standalone/inventory/systemget-usb-devices.shUSB device inventory.
standalone/inventory/systemget-user-crontab.shCurrent user's crontab entries.
standalone/maintenancecreate-swap.shCreate and activate a swap file of any size.
standalone/maintenancecreate-user.shCreate a new local user.
standalone/maintenancepurge-virtualbox.shPurge all installed VirtualBox packages and Extension Packs.
standalone/maintenancerestore-bashrc.shReset ~/.bashrc to the distribution default.
standalone/maintenancerestore-profile.shReset ~/.profile to the distribution default.
standalone/sourcesedit-sources-list-d-list.shOpen all .list files in /etc/apt/sources.list.d/.
standalone/sourcesedit-sources-list-d-sources.shOpen all .sources files in /etc/apt/sources.list.d/.
standalone/sourcesedit-sources-list.shOpen /etc/apt/sources.list in Nano.
standalone/sourcesget-sources-list.shDisplay all configured APT repositories.
standalone/updateupdate-apt.shUpdates the APT package index and upgrades all installed packages.⚠️
standalone/updateupdate-docker-compose-stacks.shPull and redeploy all Docker Compose stacks.
standalone/updateupdate-flatpak.shUpdates all installed Flatpak applications and runtimes.
standalone/updateupdate-grub.shUpdate the GRUB bootloader configuration.
standalone/updateupdate-pipx.shUpgrades all Python packages installed via pipx.
standalone/yt-dlpyt-dlp-all-formats.shDownload every resolution tier (480p-8K) via yt-dlp.
standalone/yt-dlpyt-dlp-audio-only.shDownload audio only as MP3 via yt-dlp.
standalone/yt-dlpyt-dlp-best-format.shDownload best quality video as MP4 via yt-dlp.
standalone/yt-dlpyt-dlp-playlist-480p.shDownload playlists up to 480p via yt-dlp.
workflowscleanup-system.shRun one or more cleanup tasks.14
workflowssetup-development-environment.shInstall a full C++/Python/PHP/Node dev environment + LSP servers in one step.8
workflowssetup-downloaders.shInstall yt-dlp, gallery-dl, spotdl via pipx in one step.4
workflowssetup-firewalld.shInstall and enable Firewalld.2
workflowssetup-git.shInstall Git and perform the initial Git configuration.2
workflowssetup-proprietary-software.shInstall Flatpak + Flathub + Discord, Steam, Telegram in one step.4
workflowssetup-qemu-kvm.shInstall QEMU/KVM and grant required group memberships.3
workflowssetup-ranger.shInstall and configure ranger with Nerd Fonts and ranger_devicons.3
workflowssetup-ufw.shInstall and enable UFW.2
workflowssetup-virtualbox.shInstall VirtualBox and grant vboxusers group membership.2
workflowsuninstall-firewalld.shDisable and uninstall Firewalld.2
workflowsuninstall-ufw.shDisable and uninstall UFW.2
workflowsupdate-system.shUpdate APT, Flatpak and pipx packages in one step.3

standalone/chmod/

standalone/chmod/chmod-add-x.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Recursively adds the execute bit on all files under a given path.

  • Usage: ./chmod-add-x.sh [--path <path>] [--dry-run] [--yes]
  • If --path is omitted, the directory containing this script is used.
  • No root required unless the target path requires elevated access
Dependencies: none
Used by: none

standalone/chmod/chmod-remove-x.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Recursively removes the execute bit from all files under a given path.

  • Usage: ./chmod-remove-x.sh [--path <path>] [--dry-run] [--yes]
  • If --path is omitted, the directory containing this script is used.
  • No root required unless the target path requires elevated access
Dependencies: none
Used by: none

standalone/chmod/chmod-set-644.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Recursively sets file permissions to 644 under a given path.

  • Usage: ./chmod-set-644.sh [--path <path>] [--dry-run] [--yes]
  • If --path is omitted, the directory containing this script is used.
  • No root required unless the target path requires elevated access
Dependencies: none
Used by: none

standalone/chmod/chmod-set-755.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Recursively sets file permissions to 755 under a given path.

  • Usage: ./chmod-set-755.sh [--path <path>] [--dry-run] [--yes]
  • If --path is omitted, the directory containing this script is used.
  • No root required unless the target path requires elevated access
Dependencies: none
Used by: none

standalone/cleanup/

standalone/cleanup/cleanup-apt.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Runs apt-get autoremove, autoclean, and clean to free disk space.

  • Usage: ./cleanup-apt.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-brave.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Brave and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-brave.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-chrome.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Google Chrome and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-chrome.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-chromium.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Chromium and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-chromium.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-edge.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Microsoft Edge and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-edge.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-firefox.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Firefox and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-firefox.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-opera.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Opera and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-opera.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-browser-vivaldi.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stops Vivaldi and clears cookies, history, cache, etc.

  • Usage: ./cleanup-browser-vivaldi.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-docker.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Prunes Docker system with confirmation prompts.

  • Usage: ./cleanup-docker.sh [--yes] [--dry-run]
  • Basic prune removes dangling images, stopped containers, and unused networks
  • --yes also confirms the more destructive removal of unused images and volumes
Dependencies: none

standalone/cleanup/cleanup-flatpak.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Removes unused Flatpak runtimes with flatpak uninstall --unused and clears cached repository data under the user's and system's Flatpak cache directories.

  • Usage: ./cleanup-flatpak.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-kernels.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Detects and optionally removes old Linux kernels.

  • Usage: ./cleanup-kernels.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-logs.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Vacuums journald and removes rotated logs older than 7 days.

  • Usage: ./cleanup-logs.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-temp.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Removes files older than 7 days from temporary directories.

  • Usage: ./cleanup-temp.sh [--yes] [--dry-run]
Dependencies: none

standalone/cleanup/cleanup-thumbnails.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Removes thumbnail cache from all home directories.

  • Usage: ./cleanup-thumbnails.sh [--yes] [--dry-run]
Dependencies: none

standalone/ffmpeg/

standalone/ffmpeg/convert-webm-mp4.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Recursively or non-recursively converts all .webm files in a target directory to .mp4 (H.264/AAC), skipping files that already have a converted output unless --force is given.

Dependencies: none
Used by: none

standalone/firewall/

standalone/firewall/disable-firewalld.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Stops the Firewalld service and disables it from starting at boot.

Dependencies: none

standalone/firewall/disable-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Disables UFW.

Dependencies: none

standalone/firewall/enable-firewalld.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Enables and starts Firewalld.

  • Enables the Firewalld service to start at boot.
  • Starts the Firewalld service immediately.
  • Note: if UFW is active, it should be disabled to avoid conflicting

netfilter rules; this script does not do that automatically.

Dependencies: none

standalone/firewall/enable-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Enables UFW (Uncomplicated Firewall).

  • Enables UFW immediately.
  • Note: if Firewalld is active, it should be disabled to avoid conflicting

netfilter rules; this script does not do that automatically.

Dependencies: none

standalone/firewall/remove-firewalld.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Completely removes Firewalld.

  • Removes the Firewalld package
  • Removes automatically installed unused dependencies
Dependencies: none

standalone/firewall/remove-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Completely removes UFW.

  • Resets all UFW rules
  • Removes the UFW package
  • Removes automatically installed unused dependencies
Dependencies: none

standalone/firewall/firewalld/

standalone/firewall/firewalld/get-firewalld-list.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Lists configured ports and services for the public and home firewalld zones.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/

standalone/firewall/firewalld/ports/close-localsend.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by LocalSend file transfer as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/close-minecraft.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Minecraft game server as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/close-plex.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Plex media server as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/close-syncthing.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Syncthing file synchronization as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/close-transmission.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Transmission BitTorrent client as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/close-wireguard.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by WireGuard VPN as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-localsend.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by LocalSend file transfer as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-minecraft.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Minecraft game server as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-plex.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Plex media server as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-syncthing.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Syncthing file synchronization as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-transmission.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Transmission BitTorrent client as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/ports/open-wireguard.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by WireGuard VPN as permanent firewalld rule(s) and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/

standalone/firewall/firewalld/services/close-dns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'dns' (DNS resolution service) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/close-http.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'http' (HTTP web server) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/close-https.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'https' (HTTPS web server) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/close-mdns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'mdns' (mDNS/Avahi service discovery) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/close-samba.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'samba' (Samba/CIFS file sharing) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/close-ssh.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the predefined firewalld service 'ssh' (SSH remote access) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-dns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'dns' (DNS resolution service) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-http.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'http' (HTTP web server) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-https.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'https' (HTTPS web server) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-mdns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'mdns' (mDNS/Avahi service discovery) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-samba.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'samba' (Samba/CIFS file sharing) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/firewalld/services/open-ssh.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the predefined firewalld service 'ssh' (SSH remote access) as a permanent rule and reloads firewalld.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/

standalone/firewall/ufw/ports/close-dns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by DNS resolution service via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-http.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by HTTP web server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-https.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by HTTPS web server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-localsend.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by LocalSend file transfer via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-mdns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by mDNS/Avahi service discovery via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-minecraft.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Minecraft game server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-plex.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Plex media server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-samba.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Samba/CIFS file sharing via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-ssh.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by SSH remote access via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-syncthing.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Syncthing file synchronization via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-transmission.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by Transmission BitTorrent client via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/close-wireguard.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Closes the port(s) used by WireGuard VPN via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-dns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by DNS resolution service via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-http.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by HTTP web server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-https.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by HTTPS web server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-localsend.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by LocalSend file transfer via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-mdns.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by mDNS/Avahi service discovery via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-minecraft.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Minecraft game server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-plex.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Plex media server via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-samba.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Samba/CIFS file sharing via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-ssh.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by SSH remote access via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-syncthing.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Syncthing file synchronization via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-transmission.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by Transmission BitTorrent client via ufw.

Dependencies: none
Used by: none

standalone/firewall/ufw/ports/open-wireguard.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Opens the port(s) used by WireGuard VPN via ufw.

Dependencies: none
Used by: none

standalone/git/

standalone/git/bootstrap-git.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Configures Git user identity and optionally stores GitHub HTTPS credentials for automatic authentication.

  • Sets global user name and email.
  • Sets the default branch name.
  • Optionally enables credential.helper store.
  • Optionally stores a GitHub Personal Access Token (PAT).
Dependencies: none

standalone/git/git-clone-all.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Clones every public repository belonging to a GitHub user or organization.

  • Usage: ./git-clone-all.sh <github-username-or-url> [--path <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 ./<username>)
  • Skips repositories that are already cloned locally
Dependencies: none
Used by: none

standalone/git/git-commit-all.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Stages changes and opens an editor to write a commit message for every Git repository located directly inside the target directory.

  • Usage: ./git-commit-all.sh <github-username-or-url> [--path <dir>]
  • Accepts either a bare username or a full github.com/<user> URL
  • Defaults to the ./<username> directory produced by git-clone-all.sh
  • Runs git add . then git commit in each existing Git repository
  • Opens nano for the commit message unless the repo already sets its own editor
  • Skips directories that are not Git repositories
  • Skips repositories with no changes to commit
Dependencies: none
Used by: none

standalone/git/git-pull-all.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Updates every Git repository located directly inside the target directory.

  • Usage: ./git-pull-all.sh <github-username-or-url> [--path <dir>]
  • Accepts either a bare username or a full github.com/<user> URL
  • Defaults to the ./<username> directory produced by git-clone-all.sh
  • Pulls the latest changes for each existing Git repository
  • Skips directories that are not Git repositories
  • Skips repositories with uncommitted changes
Dependencies: none
Used by: none

standalone/git/git-push-all.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Pushes local commits from every Git repository located directly inside the target directory.

  • Usage: ./git-push-all.sh <github-username-or-url> [--path <dir>]
  • Accepts either a bare username or a full github.com/<user> URL
  • Defaults to the ./<username> directory produced by git-clone-all.sh
  • Pushes commits from each existing Git repository
  • Skips directories that are not Git repositories
  • Skips repositories with no commits to push
Dependencies: none
Used by: none

standalone/git/git-rewrite-identity.sh

Sudo: ❌ Interactive: ✅ Idempotent: ❌ (false)

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.

Dependencies: none
Used by: none

standalone/group-management/

standalone/group-management/grant-kvm.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Adds an existing local user to the kvm group required for hardware-assisted virtualization with QEMU/KVM.

  • Usage: sudo ./grant-kvm.sh [username]

Safe to re-run — users already in the kvm group are skipped.

Dependencies: none

standalone/group-management/grant-libvirt.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Adds an existing local user to the libvirt group required for managing virtual machines with libvirt without root privileges.

  • Usage: sudo ./grant-libvirt.sh [username]

Safe to re-run — users already in the libvirt group are skipped.

Dependencies: none

standalone/group-management/grant-sudo.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Adds an existing local user to the sudo group.

  • Usage: sudo ./grant-sudo.sh [username]

Safe to re-run — users already in the sudo group are skipped.

Dependencies: none
Used by: none

standalone/group-management/grant-vboxusers.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Adds an existing local user to the vboxusers group required by VirtualBox for accessing USB devices and other VirtualBox features without root.

  • Usage: sudo ./grant-vboxusers.sh [username]

Safe to re-run — users already in the vboxusers group are skipped.

Dependencies: none

standalone/group-management/revoke-kvm.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Removes an existing local user from the kvm group used for hardware-assisted virtualization with QEMU/KVM.

  • Usage: sudo ./revoke-kvm.sh [username]

Safe to re-run — users not in the kvm group are skipped.

Dependencies: none
Used by: none

standalone/group-management/revoke-libvirt.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Removes an existing local user from the libvirt group used for managing virtual machines with libvirt without root privileges.

  • Usage: sudo ./revoke-libvirt.sh [username]

Safe to re-run — users not in the libvirt group are skipped.

Dependencies: none
Used by: none

standalone/group-management/revoke-sudo.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Removes an existing local user from the sudo group.

  • Usage: sudo ./revoke-sudo.sh [username]

Safe to re-run — users not in the sudo group are skipped.

Dependencies: none
Used by: none

standalone/group-management/revoke-vboxusers.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Removes an existing local user from the vboxusers group used by VirtualBox for accessing USB devices and other VirtualBox features without root.

  • Usage: sudo ./revoke-vboxusers.sh [username]

Safe to re-run — users not in the vboxusers group are skipped.

Dependencies: none
Used by: none

standalone/install/

standalone/install/install-java.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Downloads and installs multiple Eclipse Temurin (Adoptium) JDK/JRE builds. Install path: /opt/java/temurin/

  • Supported versions: 8, 17, 21, 25
  • Downloads both JDK and JRE variants
  • Updates the current user's shell configuration
  • Requires sudo only for system-wide installation

Usage: ./install-temurin.sh ./install-temurin.sh --force

Dependencies: none
Used by: none

standalone/install/install-nerd-fonts.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Downloads and installs several popular Nerd Fonts from the official Nerd Fonts GitHub releases. Install path: /usr/local/share/fonts/NerdFonts

Installed fonts:

  • JetBrainsMono
  • FiraCode
  • Hack
  • Meslo
  • SourceCodePro
Dependencies: none

standalone/install/install-nvidia-driver.sh

Sudo: ✅ Interactive: ✅ Idempotent: ⚠️ (mostly)

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 via ubuntu-drivers or nvidia-detect), --package <nvidia-driver-XXX>, or --run <path-to-.run>
  • Blacklists the nouveau driver before installing
  • Must be run from a text TTY (not from X11/Wayland)
  • Refuses to continue if a graphical session is detected
  • Warns if a process is still holding /dev/nvidia* before proceeding
  • Installs via apt-get install (package mode) or runs the .run file with --silent --dkms --no-x-check (manual mode)
Dependencies: none
Used by: none

standalone/install/install-ranger-devicons.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs ranger_devicons into the current user's ranger configuration. Install path: $HOME/.config/ranger/plugins/ranger_devicons

  • Downloads the latest plugin archive from GitHub.
  • Enables default_linemode devicons in $HOME/.config/ranger/rc.conf.
  • Requires a Nerd Font configured in your terminal.
Dependencies: none

standalone/install/install-tor-browser.sh

Sudo: ✅ Interactive: ❌ Idempotent: ⚠️ (mostly)

Installs Tor Browser via the official Tor Project apt repository. Install path: $HOME/.local/bin

Dependencies: none
Used by: none

standalone/install/install-vbox-guest-additions.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs VirtualBox Guest Additions by running the vendor installer from the mounted Guest Additions ISO.

  • Run this inside the guest VM, not on the host.
  • Before running: mount the Guest Additions ISO first. In the VirtualBox VM window, use Devices -> Insert Guest Additions CD image... (or attach VBoxGuestAdditions.iso manually), then re-run this script.
  • Installs dkms, build-essential, and a matching kernel headers package via apt, then runs the vendor installer from the mounted image.
Dependencies: none
Used by: none

standalone/install/install-zafiro-icons.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Downloads the latest Zafiro Icons Dark and Light archives from the official GitHub releases and installs them into the user's local icon directory.

Install path:

  • ${XDG_DATA_HOME:-$HOME/.local/share}/icons

Installed themes:

  • Zafiro-Icons-Dark
  • Zafiro-Icons-Light
Dependencies: none
Used by: none

standalone/install/apt/cli/

standalone/install/apt/cli/install-cpp.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs build-essential, gcc, g++, clang, cmake, ninja-build, gdb, lldb.

Dependencies: none

standalone/install/apt/cli/install-docker.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Docker Engine and the Docker Compose plugin from Docker's official apt repository (not the Debian/Ubuntu docker.io package); enables and starts the service.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-firewalld-cli.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs firewalld.

  • Note: if ufw is active, it should be disabled to avoid conflicting

netfilter rules; this script does not do that automatically.

Dependencies: none

standalone/install/apt/cli/install-flatpak.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs flatpak, adds the Flathub repository and configures Flatpak environment variables.

Dependencies: none

standalone/install/apt/cli/install-git.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs git via apt.

Dependencies: none

standalone/install/apt/cli/install-npm.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs nodejs, npm.

Dependencies: none

standalone/install/apt/cli/install-php.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs php, php-cli, php-fpm, and common PHP extensions.

Dependencies: none

standalone/install/apt/cli/install-pipx.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs pipx and ensures ~/.local/bin is on PATH.

Dependencies: none

standalone/install/apt/cli/install-pkgs-apps.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs firefox-esr, thunar, thunar-archive-plugin, thunar-volman, xarchiver, python3-pil, tty-clock, chafa, cmus, nsxiv, cava, vlc, flameshot, copyq, wl-clipboard, fastfetch.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-audio.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs pipewire, pipewire-pulse, wireplumber, alsa-utils.

This stack is required for the wpctl/pactl commands used in audio.conf and waybar.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-core.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs sudo, git, ranger, htop, tree, curl, wget, unzip, zip, p7zip-full, rsync, less, nano, ripgrep, fd-find, fzf, jq, bc, file, tar, xdg-user-dirs, zoxide, bash-completion, pciutils, usbutils, xdg-utils, acl.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-cryptsetup.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs cryptsetup, cryptsetup-bin, cryptsetup-initramfs, keyutils.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-graphics.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs libegl1, libgl1, libgles2, mesa-utils for software rendering support and GL diagnostics.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-network.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs network-manager, network-manager-gnome, blueman, bluez, bluez-tools, firewalld, firewall-config.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-notify.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs sway-notification-center, grim, slurp, speech-dispatcher, libnotify-bin.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-storage.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs udisks2, gvfs, gvfs-backends, gvfs-fuse, gnome-disk-utility, e2fsprogs, btrfs-progs, xfsprogs, dosfstools, ntfs-3g, smartmontools, nvme-cli.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-system-helpers.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs lxpolkit, brightnessctl.

lxpolkit is the polkit authentication agent, started in autostart.conf. brightnessctl backs the brightness hotkeys.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-theming.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs qt5ct, qt6ct, nwg-look, adwaita-qt, adwaita-qt6, kde-style-breeze.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-pkgs-wayland-core.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs sway, swaybg, wofi, waybar, xwayland, xdg-desktop-portal-wlr, xdg-desktop-portal-gtk, fuse3, libfuse2t64, libnss3, qt6-wayland, qtwayland5.

Dependencies: none
Used by: none

standalone/install/apt/cli/install-python.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs python3, python3-pip, python3-venv.

Dependencies: none

standalone/install/apt/cli/install-qemu-kvm.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the complete QEMU/KVM virtualization environment.

Includes:

  • QEMU system emulator and utilities
  • libvirt daemon and client tools
  • Virt-Manager GUI
  • UEFI firmware (OVMF) and SeaBIOS
  • SPICE support
  • TPM emulator (swtpm)
  • Network bridge utilities
  • Cloud image utilities

Enables and starts the libvirtd service after installation.

Dependencies: none

standalone/install/apt/cli/install-ranger.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs ranger via apt.

Dependencies: none

standalone/install/apt/cli/install-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs UFW.

  • Note: if Firewalld is active, it should be disabled to avoid conflicting

netfilter rules; this script does not do that automatically.

Dependencies: none

standalone/install/apt/cli/install-veracrypt-cli.sh

Sudo: ✅ Interactive: ❌ Idempotent: ⚠️ (mostly)

Installs VeraCrypt CLI (Console Only) from the official PPA.

  • Note: the CLI and GUI VeraCrypt packages are mutually exclusive. Install only one of them.
Dependencies: none
Used by: none

standalone/install/apt/gui/

standalone/install/apt/gui/install-blender.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Blender via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-firefox.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Firefox via apt.

  • Uses the firefox package 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.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-firewalld-gui.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs firewalld and firewall-config, its GTK graphical configuration tool.

  • Enables and starts the firewalld service.
  • Note: if ufw is active, it should be disabled to avoid conflicting

netfilter rules; this script does not do that automatically.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-flameshot.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Flameshot via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-ghostwriter.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the Ghostwriter Markdown editor.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-gimp.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs GIMP via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-inkscape.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Inkscape via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-obs-studio.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs OBS Studio via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-protonvpn.sh

Sudo: ✅ Interactive: ✅ Idempotent: ⚠️ (mostly)

Installs the ProtonVPN from the official Proton apt repository.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-qbittorrent.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs qBittorrent via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-qwinff.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs QwinFF via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-remmina.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Remmina via apt.

Dependencies: none
Used by: none

standalone/install/apt/gui/install-veracrypt-gui.sh

Sudo: ✅ Interactive: ❌ Idempotent: ⚠️ (mostly)

Installs VeraCrypt GUI (Graphical Interface) from the official PPA.

  • Note: the CLI and GUI VeraCrypt packages are mutually exclusive. Install only one of them.
Dependencies: none
Used by: none

standalone/install/apt/gui/install-virtualbox.sh

Sudo: ✅ Interactive: ❌ Idempotent: ⚠️ (mostly)

Installs VirtualBox from the official Oracle apt repository.

Dependencies: none

standalone/install/apt/gui/install-vlc.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs VLC via apt.

Dependencies: none
Used by: none

standalone/install/flatpak/

standalone/install/flatpak/install-discord.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs Discord from Flathub.

Dependencies: none

standalone/install/flatpak/install-steam.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs Steam from Flathub.

Dependencies: none

standalone/install/flatpak/install-telegram.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs Telegram Desktop from Flathub.

Dependencies: none

standalone/install/kde-plasma/

standalone/install/kde-plasma/install-kate.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the Kate text editor.

Dependencies: none
Used by: none

standalone/install/kde-plasma/install-kdevelop.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the KDevelop IDE.

Dependencies: none
Used by: none

standalone/install/kde-plasma/install-kio-admin.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs kio-admin for Dolphin root access (KDE-only utility).

Dependencies: none
Used by: none

standalone/install/kde-plasma/install-krusader.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Krusader via apt.

Dependencies: none
Used by: none

standalone/install/kde-plasma/install-okular.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the Okular document viewer.

Dependencies: none
Used by: none

standalone/install/lsp/

standalone/install/lsp/install-bash-language-server.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs bash-language-server via npm. Install path: $HOME/.local/npm Marker block path: ~/.bashrc ~/.profile

Dependencies: none

standalone/install/lsp/install-clang-language-server.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs the LLVM Clang Language Server (clangd) from the Debian repositories.

  • Installs via apt
  • Provides LSP support for C, C++, Objective-C and Objective-C++
  • Idempotent — skips installation if clangd is already available
Dependencies: none

standalone/install/lsp/install-markdown-language-server.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs marksman into for the current user. Install path: $HOME/.local/bin

  • Adds ~/.local/bin to .bashrc and .profile
  • Idempotent — skips installation if marksman is already present
  • Requires curl to be available
Dependencies: none

standalone/install/lsp/install-python-language-server.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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. Install path: $HOME/.local/npm Marker block path: ~/.bashrc ~/.profile

Dependencies: none

standalone/install/pipx/

standalone/install/pipx/install-ansible.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs the latest Ansible using pipx with all command-line tools exposed, including ansible-playbook, ansible-galaxy, ansible-vault, ansible-config, ansible-doc, ansible-console, ansible-inventory, ansible-pull, and ansible-test.

If Ansible is already installed via pipx, it is removed and reinstalled with --include-deps to ensure all CLI tools are available.

Dependencies: none
Used by: none

standalone/install/pipx/install-git-filter-repo.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs git-filter-repo.

Dependencies: none
Used by: none

standalone/install/pipx/install-spotdl.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs spotdl.

Dependencies: none

standalone/install/pipx/install-yt-dlp.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs yt-dlp.

Dependencies: none

standalone/inventory/network/

standalone/inventory/network/get-bandwidth-summary.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-connectivity.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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.sh plus DNS query time and IPv6 internet reachability
Dependencies: none
Used by: none

standalone/inventory/network/get-dns-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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.

  • resolvectl status or /etc/resolv.conf, active nameservers, and search domains
Dependencies: none
Used by: none

standalone/inventory/network/get-established-connections.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/inventory/network/get-firewall-status.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/inventory/network/get-interface-statistics.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-listening-ports.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/inventory/network/get-neighbors.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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)
Dependencies: none
Used by: none

standalone/inventory/network/get-network-interfaces.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-network-services.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-network-statistics.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-network-summary.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-public-ip.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-routing.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-vpn-status.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Dependencies: none
Used by: none

standalone/inventory/network/get-wifi-status.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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 iw or nmcli
Dependencies: none
Used by: none

standalone/inventory/system/

standalone/inventory/system/get-cpu-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects architecture, model name, core/thread counts via lscpu.
Dependencies: none
Used by: none

standalone/inventory/system/get-directory-tree.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/inventory/system/get-disk-health.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script.

  • Enumerates physical disks via lsblk and reports SMART overall

health, temperature, power-on hours, and reallocated/pending sector counts via smartctl (SATA, SAS, and NVMe).

  • Complements get-storage-info.sh, which reports filesystem usage

rather than drive health.

Running as sudo is required; smartctl returns limited or no
data for non-root users.
Dependencies: none
Used by: none

standalone/inventory/system/get-dmi-info.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script.

  • Collects system manufacturer/model/serial info via dmidecode -t system.
Running as sudo is required; dmidecode returns no data for non-root users.
Dependencies: none
Used by: none

standalone/inventory/system/get-docker-info.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script.

  • Collects docker ps, network ls, volume ls, and docker info.
Running as sudo is required unless the user is part of the docker group.
Dependencies: none
Used by: none

standalone/inventory/system/get-gpu-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Detects GPU devices via lspci (VGA/3D/display controllers).
  • If nvidia-smi is present, also shows driver/CUDA version, per-GPU

temperature, utilization, memory usage, power draw, and active compute processes.

If no NVIDIA driver is found, run install-nvidia-driver.sh first.
Dependencies: none
Used by: none

standalone/inventory/system/get-host-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script — does not modify system configuration. Works without root.

  • Collects hostnamectl, /etc/os-release, uname -a, and uptime.
Dependencies: none
Used by: none

standalone/inventory/system/get-installed-packages.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Counts installed packages via dpkg-query (Debian/Ubuntu) or rpm fallback.
Dependencies: none
Used by: none

standalone/inventory/system/get-journal-errors.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/inventory/system/get-kernel-log.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script — does not modify system configuration.

  • Collects the last 20 lines of dmesg.
Running as sudo is required on systems with kernel.dmesg_restrict enabled.
Dependencies: none
Used by: none

standalone/inventory/system/get-kernel-parameters.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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 -a for a quick preview.
Dependencies: none
Used by: none

standalone/inventory/system/get-local-users.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Lists local users with UID >= 1000 (excluding nobody) from /etc/passwd.
Dependencies: none
Used by: none

standalone/inventory/system/get-logged-in-users.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects currently logged-in users (w) and the last 10 logins (last).
Dependencies: none
Used by: none

standalone/inventory/system/get-memory-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects RAM and swap usage via free -h.
Dependencies: none
Used by: none

standalone/inventory/system/get-nginx-info.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script.

  • Collects nginx -V and checks config syntax.
Running as sudo is required to read SSL certificates or specific config files during nginx -t.
Dependencies: none
Used by: none

standalone/inventory/system/get-pci-devices.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects the PCI device list via lspci.
Dependencies: none
Used by: none

standalone/inventory/system/get-services-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects currently running services and enabled systemd units.
Dependencies: none
Used by: none

standalone/inventory/system/get-ssl-cert-expiry.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Connects to each domain (default port 443, or host:port) via

openssl s_client and reports the certificate's expiry date and days remaining.

  • Domains are given as CLI arguments, or edited into the domains

array at the top of the script.

Dependencies: none
Used by: none

standalone/inventory/system/get-storage-info.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects filesystem usage via df -h and block device layout via lsblk.
Dependencies: none
Used by: none

standalone/inventory/system/get-systemd-timers.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Lists every systemd timer via systemctl list-timers, showing next

and last run times and the unit each one activates.

  • Cross-checks each activated unit and flags any currently in a

failed state.

  • Complements crontab-based scheduling reports, which do not cover

systemd timers.

Dependencies: none
Used by: none

standalone/inventory/system/get-top-processes.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects the top 10 processes by CPU usage via ps aux --sort=-%cpu.
Dependencies: none
Used by: none

standalone/inventory/system/get-usb-devices.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Read-only status and diagnostic script. Works without root.

  • Collects the USB device list via lsusb.
Dependencies: none
Used by: none

standalone/inventory/system/get-user-crontab.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

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.
Dependencies: none
Used by: none

standalone/maintenance/

standalone/maintenance/create-swap.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Creates and activates a swap file at /swapfile.

  • Usage: ./create-swap.sh --size <size> [--dry-run] [--yes]
  • --size accepts G, GB, GiB, M, MB, MiB, T, TB, TiB units (e.g. 4G, 8192M, 2GiB)
  • --dry-run shows what would be done without making any changes
  • --yes skips the confirmation prompt when creating/resizing the swap file
  • Detects and safely handles an existing swap file, prompting for confirmation

before a destructive create/resize (unless --yes or --dry-run is used)

  • Enables the new swap immediately and persists it via /etc/fstab
Dependencies: none
Used by: none

standalone/maintenance/create-user.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Creates a new local user and optionally sets a password.

  • Usage: ./create-user.sh <username> [password]
  • Password is optional; omit it to create the user without one.

Safe to re-run — existing users are skipped.

Dependencies: none
Used by: none

standalone/maintenance/purge-virtualbox.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Removes all installed VirtualBox packages from both Debian and Oracle repositories, purges leftover configuration files, removes all installed VirtualBox Extension Packs, and cleans unused dependencies.

This script does not remove VirtualBox repositories, GPG keys, virtual machines, or user data.

Dependencies: none
Used by: none

standalone/maintenance/restore-bashrc.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Restores ~/.bashrc to the distro default.

  • Usage: ./restore-bashrc.sh [--yes]
  • Backs up the current ~/.bashrc with a timestamp before overwriting
  • Restores the file from /etc/skel/.bashrc
  • Requires explicit confirmation before making changes, unless --yes is passed
Dependencies: none
Used by: none

standalone/maintenance/restore-profile.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Restores ~/.profile to the distro default.

  • Usage: ./restore-profile.sh [--yes]
  • Backs up the current ~/.profile with a timestamp before overwriting
  • Restores the file from /etc/skel/.profile
  • Requires explicit confirmation before making changes, unless --yes is passed
Dependencies: none
Used by: none

standalone/sources/

standalone/sources/edit-sources-list-d-list.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Opens every APT source file with the .list extension found in /etc/apt/sources.list.d/ using the Nano text editor.

  • Verifies the script is run as root
  • Verifies that Nano is installed
  • Verifies that at least one .list file exists
  • Opens all matching files in Nano
Dependencies: none
Used by: none

standalone/sources/edit-sources-list-d-sources.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Opens every APT source file with the .sources extension found in /etc/apt/sources.list.d/ using the Nano text editor.

  • Verifies the script is run as root
  • Verifies that Nano is installed
  • Verifies that at least one .sources file exists
  • Opens all matching files in Nano
Dependencies: none
Used by: none

standalone/sources/edit-sources-list.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Opens the main APT sources file in the Nano text editor.

  • Verifies the script is run as root
  • Verifies that Nano is installed
  • Verifies that the sources.list file exists
  • Opens the file in Nano
Dependencies: none
Used by: none

standalone/sources/get-sources-list.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Displays every configured APT repository from the standard source locations.

  • Shows the contents of /etc/apt/sources.list
  • Shows every .list file in /etc/apt/sources.list.d/
  • Shows every .sources file in /etc/apt/sources.list.d/
  • Skips files that do not exist
Dependencies: none
Used by: none

standalone/update/

standalone/update/update-apt.sh

Sudo: ✅ Interactive: ❌ Idempotent: ⚠️ (mostly)

Runs apt-get update to refresh the package index, then apt-get upgrade -y to install all available updates.

Dependencies: none

standalone/update/update-docker-compose-stacks.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Updates and redeploys every Docker Compose stack detected on the system.

  • Lists currently running containers before starting
  • Automatically discovers Docker Compose projects via Docker labels
  • Runs docker compose pull followed by docker compose up -d for each stack
  • Detects whether new images were actually pulled
  • Skips stacks where the pull fails
  • Prints a final summary of updated, unchanged, and skipped stacks
Dependencies: none
Used by: none

standalone/update/update-flatpak.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Runs flatpak update -y to upgrade every installed Flatpak application and runtime to its latest available version.

Dependencies: none

standalone/update/update-grub.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Regenerates the GRUB configuration file by detecting installed kernels and operating systems. Useful after kernel updates, bootloader changes, or modifying GRUB settings.

Dependencies: none
Used by: none

standalone/update/update-pipx.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Runs pipx upgrade-all to upgrade every application installed through pipx to its latest available version.

Dependencies: none

standalone/yt-dlp/

standalone/yt-dlp/yt-dlp-all-formats.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Checks that yt-dlp is installed, uses Firefox cookies and a Node.js JS runtime for restricted videos, and retries up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID.

  • 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] / best if no matching tier is available
  • Output filename also includes the resolution
Dependencies: none
Used by: none

standalone/yt-dlp/yt-dlp-audio-only.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Checks that yt-dlp is installed, uses Firefox cookies and a Node.js JS runtime for restricted videos, and retries up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID.

  • 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
Dependencies: none
Used by: none

standalone/yt-dlp/yt-dlp-best-format.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Checks that yt-dlp is installed, uses Firefox cookies and a Node.js JS runtime for restricted videos, and retries up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID.

  • 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
Dependencies: none
Used by: none

standalone/yt-dlp/yt-dlp-playlist-480p.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Checks that yt-dlp is installed, uses Firefox cookies and a Node.js JS runtime for restricted videos, and retries up to 100 times with randomized sleep intervals. Output filenames always include uploader, upload date, title, and video ID where applicable.

  • Usage: ./yt-dlp-playlist-480p.sh <URL> [extra yt-dlp options]
  • Downloads every video in a playlist
  • Limits video quality to 480p or lower
  • Prefers separate video/audio streams, falling back to the best available format
  • Saves videos into a directory named after the playlist
  • Prefixes filenames with the playlist index
Dependencies: none
Used by: none

workflows/

workflows/cleanup-system.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Executes cleanup scripts from the standalone/cleanup directory.

  • Multiple cleanup tasks may be specified at once.
  • --all runs every available cleanup script.
  • --yes and --dry-run are forwarded to each cleanup subscript.

Example: ./cleanup-system.sh --all --yes ./cleanup-system.sh --all --dry-run ./cleanup-system.sh --all --dry-run --yes

Used by: none

workflows/setup-development-environment.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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-npm.sh
  • Then installs install-bash-language-server.sh, install-markdown-language-server.sh, install-python-language-server.sh and install-clang-language-server.sh
Used by: none

workflows/setup-downloaders.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Used by: none

workflows/setup-firewalld.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs Firewalld and enables the service.

  • Runs in order: install-firewalld-cli.sh, enable-firewalld.sh
Used by: none

workflows/setup-git.sh

Sudo: ❌ Interactive: ✅ Idempotent: ✅ (true)

Sets up a complete Git environment by chaining standalone scripts.

  • Installs Git from the distribution repositories.
  • Runs the Git bootstrap configuration.

Example: ./setup-git.sh \ --username USERNAME \ --email EMAIL \ --default-branch main \ --token ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ --store-credentials

Used by: none

workflows/setup-proprietary-software.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

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
Used by: none

workflows/setup-qemu-kvm.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Installs QEMU/KVM and adds an existing user to the required virtualization groups.

  • Runs in order: install-qemu-kvm.sh, grant-libvirt.sh, grant-kvm.sh
Used by: none

workflows/setup-ranger.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Installs a complete ranger environment by chaining standalone scripts.

  • Installs ranger.
  • Installs popular Nerd Fonts.
  • Installs and configures ranger_devicons.
Used by: none

workflows/setup-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Installs UFW and enables the firewall.

  • Runs in order: install-ufw.sh, enable-ufw.sh
Used by: none

workflows/setup-virtualbox.sh

Sudo: ✅ Interactive: ✅ Idempotent: ✅ (true)

Installs VirtualBox and adds an existing user to the vboxusers group.

  • Runs in order: install-virtualbox.sh, grant-vboxusers.sh
Used by: none

workflows/uninstall-firewalld.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Disables the Firewalld service and removes the package.

  • Runs in order: disable-firewalld.sh, remove-firewalld.sh
Used by: none

workflows/uninstall-ufw.sh

Sudo: ✅ Interactive: ❌ Idempotent: ✅ (true)

Disables UFW and removes the package.

  • Runs in order: disable-ufw.sh, remove-ufw.sh
Used by: none

workflows/update-system.sh

Sudo: ❌ Interactive: ❌ Idempotent: ✅ (true)

Updates all supported package managers by chaining standalone update scripts.

  • Runs in order: update-apt.sh, update-flatpak.sh, update-pipx.sh
Used by: none

Generated by generate-docs.py on 2026-08-28 15:18 UTC · 221 scripts documented.