archinstall is a Python application and library for automated and interactive installation of Arch Linux. In production it runs as a root-level CLI/TUI wizard via the `archinstall` console script, guiding users through disk partitioning, LUKS/LVM encryption, BTRFS subvolumes, bootloader installation (systemd-boot, GRUB, limine), network configuration, user/sudo creation, mirror selection, pacman settings, and desktop/server profile installation. The same core is exposed as a reusable library, with entry points in `archinstall/scripts/guided.py`, `minimal.py`, and `only_hd.py`, and JSON configuration/credentials files enabling fully automated, headless installs. The installer orchestrates real system tools such as `parted`, `lsblk`, `pacman`, `systemd-nspawn`, `btrfs`, and `lvm`, and validates configuration with Pydantic and dataclass models.
NVM for Windows is a Node.js version manager for Windows, providing CLI, shim/link mode, background sync, and Windows-native integrations (Event Log, Registry, Notifications). The repository contains the build system, installer (Inno Setup with extensive Pascal scripting), and a Zig-based elevated migration helper. The actual application logic (CLI, shim, sync) resides in separate submodules (cli, shim, sync, common) not included in this analysis. The visible code demonstrates high craftsmanship: the installer handles complex migration from v1, ACL hardening, silent install policies, and scheduled task management. The Zig updater is a clean, self-contained elevated cleanup tool. The build scripts are well-structured PowerShell with parameterized steps and CI/CD integration. The project is actively maintained with a recent v2 rewrite, modern CI workflows, and a large user base.
This repository provides a collection of shell scripts to automate the setup and management of an IPsec VPN server on Linux. It supports multiple VPN protocols (IPsec/L2TP, IPsec/XAuth, IKEv2) and a wide range of Linux distributions including Ubuntu, Debian, CentOS, Rocky Linux, AlmaLinux, Oracle Linux, and Alpine Linux. The main entry point is `vpnsetup.sh`, which detects the OS and runs the appropriate installer. The project also includes helper scripts for user management, IKEv2 certificate handling, upgrades, and uninstallation. Additionally, it offers an Azure ARM template for cloud deployment. The code is well-structured with OS-specific installers, common bash utility functions, and extensive documentation in multiple languages. It is a mature, widely-used DevOps tool for system administrators.
This repository contains a collection of shell scripts and supporting files for building Void Linux live ISOs, root filesystem tarballs, platform-specific disk images, netboot tarballs, and an interactive installer. The core scripts (mkrootfs.sh, mkplatformfs.sh, mkimage.sh, mklive.sh, mkiso.sh, mknet.sh) orchestrate XBPS (Void's package manager), dracut, GRUB, syslinux, xorriso, and QEMU user-static to produce bootable images for multiple architectures (x86_64, i686, aarch64, ARM variants) and platforms (generic, Raspberry Pi, Pinebook Pro, GCP, etc.). The repository also includes dracut modules for live environment customization, a dialog-based installer (installer.sh), Packer configurations for cloud and Vagrant images, and GitHub Actions workflows for CI/CD. The code is well-structured with a shared library (lib.sh) handling cross-architecture concerns, binfmt registration, and chroot operations. While tightly coupled to Void Linux's ecosystem, the patterns demonstrated are instructive for anyone building distribution images or live environments.
This repository provides automated installation scripts for Pterodactyl Panel and Wings, which together form a game server management system. The project consists of modular shell scripts that handle OS detection, dependency installation, service configuration, and user interaction across multiple Linux distributions (Ubuntu, Debian, Rocky Linux, AlmaLinux). The architecture centers around a core library (lib.sh) that provides cross-distribution abstractions for package management, system services, user input, and common operations, which is sourced by all installer and UI scripts. The system follows a sequential installation flow: gather user input via UI scripts, install OS-specific dependencies, download and configure Pterodactyl components, set up web server (nginx), database (MariaDB), caching (Redis), and systemd services, with optional features like SSL via Let's Encrypt and firewall configuration.
DxAutoInstaller is a Windows desktop application (GUI) and command-line tool (CLI) that automates the installation and uninstallation of DevExpress VCL components into Embarcadero RAD Studio, Delphi, and C++Builder IDEs. It is driven by a YAML manifest file defining component groups, their required and optional packages, and dependencies. The tool compiles packages using the Delphi compiler, registers design-time packages, manages IDE library paths and environment variables, and handles platform- and architecture-specific configurations (Win32, Win64, Win64x). The architecture consists of a shared core library (Core, DevExpress, Installations, Options, Utils, Tasks) and two front-end projects: a VCL Forms GUI using DevExpress components and a console CLI using a third-party command-line parser. The system is actively maintained with recent commits and supports the latest RAD Studio versions. The code is well-structured, modular, and demonstrates good engineering practices such as separation of concerns, use of modern Delphi features (generics, anonymous methods), and conditional compilation for shared logic.
Scoop is a command-line installer for Windows that manages application installation, updates, and dependencies through JSON manifests. It uses a modular PowerShell architecture with core libraries (lib/) handling manifest parsing, dependency resolution, downloading, and installation, while command-specific scripts (libexec/) implement user-facing operations like scoop-install and scoop-update. The system creates shims for PATH isolation, supports automatic updates via checkver/autoupdate, and maintains a SQLite cache for performance. External dependencies include PowerShell, 7zip, aria2, and Git for bucket management.
This is a CLI tool for installing multiple Ruby implementations (CRuby, JRuby, TruffleRuby, mruby) from source. It auto-detects the operating system, package manager, and downloader, then downloads, verifies checksums, applies patches, compiles, and installs the Ruby. The architecture is a collection of sourced bash scripts organized into a plugin system: each Ruby implementation has its own `functions.sh` and `dependencies.sh` that override generic steps. The main entry point is `bin/ruby-install`, which orchestrates the process using utility functions from `share/ruby-install/`. The codebase is well-structured with extensive test coverage using shunit2, and follows a strict coding style. It does not handle data pipelines or analytics; it is purely a system administration tool.
This repository provides a comprehensive, modular set of Bash scripts to automate the installation and configuration of Apache Guacamoleβan open-source remote desktop gateway. The primary orchestrator '1-setup.sh' handles interactive prompts and silent install variables to deploy Guacamole server and client from source, integrate MySQL/MariaDB as the backend database, set up Nginx as a reverse proxy, and optionally configure TLS (self-signed or Let's Encrypt), multi-factor authentication (TOTP, Duo, LDAP), and extra UI features like quick-connect and session recording storage. The scripts are well-structured with extensive error checking, logging, distro-specific workarounds, and support for modular post-install add-ons. Though not a library for reuse, the code demonstrates solid shell scripting craftsmanship, security hardening (fail2ban integration, firewall rules), and separation of concerns. The repository serves as a turnkey deployment toolkit for production-grade Guacamole environments.
This repository contains a single bash script (`wireguard-install.sh`) that serves as an interactive installer and manager for a WireGuard VPN server on Linux. It automates the full lifecycle: detecting the OS (Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora), installing WireGuard (or BoringTun for containerized environments), configuring firewall rules (firewalld or iptables), enabling IP forwarding, generating server and client configurations, and providing a menu to add/remove clients or uninstall. The script is designed to be run as a one-liner and handles many edge cases such as NAT detection, multiple IP addresses, and containerized kernels lacking the WireGuard module. It is a mature, battle-tested tool with thousands of stars and no open issues, but it is a monolithic script with no modular components or tests, limiting reusability beyond its intended purpose.
This repository contains a comprehensive set of Bash scripts to automate the installation and configuration of the Hyprland window manager on Arch Linux, along with associated desktop components (waybar, rofi, sddm, pipewire, fonts, GTK themes, etc.). The main entry point is `install.sh`, which presents an interactive whiptail-based menu to let users select desired features (NVIDIA setup, Bluetooth, Thunar, ZSH, dotfiles, etc.). It orchestrates over 30 modular sub-scripts in `install-scripts/` that handle package installation via pacman and AUR helpers, service enabling, configuration file copying (including the popular KooL Hyprland dotfiles from a separate repository), and system modifications. The codebase is well-structured for its purpose: it uses a centralized logging system, progress indicators, and a global functions library (`Global_functions.sh`) that encapsulates package installation and error handling. Additional utility scripts provide battery, disk, and temperature monitoring as optional systemd user services. The project is actively maintained with changelog updates and issue templates, though it is tightly coupled to the Arch Linux ecosystem and the KooL Hyprland dotfiles. It is not a reusable library but serves as a polished, user-friendly deployment tool for end-users.
This repository serves as the distribution and documentation hub for the Sage application, a proprietary local AI inference engine. It does not contain the source code of the engine itself, which is distributed as compiled binaries via GitHub Releases. Instead, the repository provides platform-specific installation scripts (PowerShell for Windows, shell for macOS), detailed API documentation, release notes, and legal information. The Sage application enables users to run AI models locally on their machines, exposing OpenAI-compatible and Ollama-native APIs through a local server. The documentation outlines how to interact with the server, including endpoints for chat completions, embeddings, and model management. The installation scripts automate the download and setup process, handling platform-specific considerations such as clearing quarantine flags on macOS and ensuring proper TLS settings for Windows PowerShell. While the repository lacks the application's source code, it maintains high-quality documentation and functional installation scripts that facilitate the deployment and use of the Sage desktop application. The project is actively maintained, with recent updates reflecting new features and platform support.
This repository is a distribution bundle of third-party reverse engineering and malware analysis tools for Windows, packaged with an installer and updater. The tools are organized into categories such as Analysis, Decompilers, Disassemblers, Hex Editors, Network Monitors, Unpackers, and more. The project provides Inno Setup scripts for building installers, a custom updater executable, and CI/CD workflows (GitHub Actions) for automated builds and signing. The custom code (Python scripts for installer generation, batch files for tool updates) is functional but tightly coupled to this specific packaging project. The repository serves as a convenient, curated collection of tools rather than an original software application, making it valuable for analysts who need a ready-to-use toolkit.
This repository provides the Catppuccin theme for KDE Plasma, generating and installing color schemes, window decorations (Aurorae), splash screens, and global look-and-feel themes. It does not contain any running application, service, or API; instead, it is a static asset generation and distribution project. The core workflow uses Tera templates rendered by Whiskers (Catppuccin's own tool) into pre-generated assets stored under `generated/`, which are then installed by a POSIX shell script (`install.sh`) into KDE's XDG configuration directories. The project supports 4 flavors (Latte, Frappe, Macchiato, Mocha) and 14 accent colors, producing 56 color scheme variants and dozens of theme variants. The codebase is well-tested with a sandboxed test suite, includes drift detection for templates vs generated output, and follows good practices with CI, EditorConfig, and ShellCheck. There is no data analysis or research component.
This repository contains the HF Patch installer for AI-Syoujyo/AI-Shoujo, a comprehensive mod and update pack for the Illusion game. It uses Inno Setup to create a modular installer that updates the game, installs plugins, translations, mods, and uncensors. The patch supports both Steam and Japanese versions, performs game file validation, and offers component selection. The repository itself does not contain the actual mod files (they are too large), but rather the installer configuration and a helper library submodule. It is not a typical software application but an installer definition, with the core logic in Inno Setup scripts.