Modular, production-grade post-installation automation suite featuring an archinstall-style interactive TUI, hardware auto-detection, PTY command streaming, JSON profile management, and modular scripts for Arch Linux, Debian / Ubuntu, Fedora, Kali Linux, and Termux.
- โจ Features & Highlights
- ๐ Quick Start
- ๐ฅ๏ธ System Architecture & Directory Layout
- ๐ฎ Interactive TUI & Keyboard Shortcuts
- โ๏ธ CLI Options & Environment Reference
- ๐ Complete Component & Distribution Guide
- 1. Desktop Environments (KDE Plasma & Tiling WM)
- 2. Hardware Drivers & Laptop Optimization
- 3. Virtualization & Containers (KVM, VMware, Docker)
- 4. Developer Toolchain & Coding Stack
- 5. Cybersecurity Suite (Kali Linux & Burp Pro)
- 6. Gaming & Multimedia Stack
- 7. AI / ML ROCm Acceleration
- 8. Productivity, Browsers & Tools
- 9. Android Termux Mobile Setup
- 10. Standalone Root Utilities
- ๐ ๏ธ Deep Dive: Flutter SDK on Arch Linux
- ๐ JSON Configuration Schema Reference
โ ๏ธ Important Notes & Operational Quirks- ๐ License
archinstall-Style Interactive TUI: Built with Textual featuring a blue title bar, split menu with a live configuration preview pane, quick-toggle checkboxes, modal dialogs,/live fuzzy search, and real-time execution step checklist. Includes an autonomous, zero-dependency curses fallback when Textual is unavailable.- Hardware & Laptop Auto-Detection:
- Auto-identifies ASUS ROG & TUF laptops (
asusctl, fan curves for Quiet/Balanced/Performance, custom battery charge thresholds). - CPU microcode & P-State management: AMD (
amd64-microcode/amd-ucode,amd_pstate=active amd_prefcore=enablekernel arguments), Intel (intel-ucode, media drivers). - GPU graphics acceleration: AMD (Mesa 32/64-bit, Vulkan-Radeon, Freeworld VA-API codecs, optional AMD Pro proprietary AUR stack), Intel (Mesa, Vulkan-Intel, VA-API
intel-media-driver), and NVIDIA (nvidia-open-dkms/akmod-nvidia, D3 dynamic power managementNVreg_DynamicPowerManagement=0x02, systemd power/suspend services). - Precision touchpad configuration (tapping, natural scrolling toggle, horizontal edge scroll, flat acceleration profile).
- Auto-identifies ASUS ROG & TUF laptops (
- Package Manager & Repository Optimization:
- Arch Linux: Strict India mirror ranking via
reflectorwith timeouts, parallel connections, and AUR helper management (Paru, Yay, or Both side-by-side). - Fedora: Automatic
dnf.conf/dnf5.conftuning (max_parallel_downloads=10,fastestmirror=True,defaultyes=True), RPM Fusion (free/nonfree), COPR repositories, and fullffmpegcodec swapping. - Debian / Ubuntu: Nala frontend integration,
contrib,non-free,non-free-firmware, 32-bit multiarch (i386), and Pacstall package manager.
- Arch Linux: Strict India mirror ranking via
- PTY Real-Time Execution Engine:
- Child processes run under a pseudo-terminal (
pty.openpty()), streaming progress output without buffer deadlocks. - Automatic filtering of transient progress bars (pacman, apt, nala, curl, pip) and terminal escape sequences.
- Session execution logging to
/tmp/post-install-YYYYmmdd_HHMMSS.log(symlinked to/tmp/post-install-latest.log).
- Child processes run under a pseudo-terminal (
- Comprehensive Software Ecosystem:
- Virtualization: KVM / QEMU (
libvirt,virt-manager, UEFI OVMF, swtpm, bridge networking) and VMware Workstation Host (DKMS / kernel module compilation). - Containerization: Official Docker Engine CE, Compose plugin, Buildx, user group permissions, and Lazydocker TUI (
lzdalias). - Developer Tools: Neovim (source build on Debian, package on Arch/Fedora), VS Code, Cursor AI, Claude Code, Android Studio, Flutter SDK, Google Antigravity tooling, and MarkItDown CLI (with OCR and OpenAI plugins via
uv tool). - Security Suite: Burp Suite Professional automated patcher/installer with Java 21, Kali metapackages (
everything,large,labs), SearchSploit DB, and RTL8821AU USB WiFi DKMS driver. - Gaming Suite: Wine-Staging, Winetricks, Lutris, GameMode (
gamemoded.service), MangoHud, GOverlay, DXVK async / umu-launcher, and Steam. - AI / ML Stack: AMD ROCm SDK, ROCm SMI, HIP compiler, PyTorch ROCm, and ONNX Runtime ROCm.
- Virtualization: KVM / QEMU (
- Reproducible JSON Profiles: Export, import, and share automated installation configurations (
--save-config/--config). - Safe Dry-Run Simulation: Inspect planned steps, script invocations, and shell commands without altering the system (
--dry-run).
Clone the repository and run the universal launcher:
git clone https://github.com/Aadishx07/post_install.git
cd post_install
chmod +x install.sh
./install.shinstall.sh automatically checks prerequisites, initializes PTY session logging in /tmp/, detects your hardware and distribution, and launches the Archinstall-style interactive TUI. 100% pure Bash with zero Python or pip dependencies.
Launch the full interactive TUI with Vim keybindings (j/k navigate, h/l buttons, Space toggle, Enter confirm):
# Launch interactive TUI
./install.sh
# Force interactive TUI mode explicitly
./install.sh --tuiPreview all actions and planned shell execution commands without modifying your system:
# Preview planned execution steps
./install.sh --dry-runRun automated post-installation non-interactively using detected hardware defaults:
# Automated headless installation
./install.sh --cli
# Target a specific distribution profile
./install.sh --cli --distro archIf Python 3 is not installed or you prefer executing direct shell scripts:
# Arch Linux
cd arch && ./arch.sh
# Debian / Ubuntu
cd debian && ./debian.sh
# Fedora
cd fedora && ./fedora.sh
# Kali Linux
cd kali && ./kali.sh
# Android Termux
cd termux && ./termux.shpost_install/
โโโ install.sh # Pure Bash universal launcher & Archinstall-style TUI
โโโ README.md # Comprehensive documentation and usage guide
โโโ LICENSE # MIT License
โโโ vmtools.sh # Multi-distro VMware Guest Tools installer
โโโ extract-ssh.sh # Secure SSH archive extraction & permission hardening
โโโ theme_and_font.sh # Standalone Nerd Font installer
โโโ arch/ # Arch Linux Modular Suite
โ โโโ arch.sh # Interactive master installer
โ โโโ apps/ # Modular application installers
โ โ โโโ burp/ # Burp Suite Pro loader, assets & desktop launcher
โ โ โ โโโ install.sh
โ โ โ โโโ images.png
โ โ โโโ docker.sh # Docker CE, compose, buildx & group configuration
โ โ โโโ flutter.sh # Flutter SDK user group & unionfs cache cleaner
โ โ โโโ gaming.sh # Wine-staging, Lutris, GameMode, Proton & DXVK async
โ โ โโโ paru.sh # Paru AUR Helper (paru-bin fallback)
โ โ โโโ yay.sh # Yay AUR Helper (yay-bin fallback)
โ โ โโโ xdm.sh # Xtreme Download Manager GitHub installer
โ โโโ desktop/ # Desktop environments
โ โ โโโ kde.sh # KDE Plasma 6 desktop & Wayland/X11 suite
โ โ โโโ tiling.sh # X11 Tiling WM (Polybar, Picom, Rofi, Kitty, i3lock-color)
โ โโโ hardware/ # Hardware enablement
โ โ โโโ asus.sh # ASUS ROG/TUF tools, fan curves & charge limits
โ โ โโโ touchpad.sh # Libinput precision touchpad configuration
โ โ โโโ gpu/ # GPU driver stacks
โ โ โโโ amd.sh # AMD microcode, Mesa, Vulkan, amd_pstate, optional AMD Pro
โ โ โโโ intel.sh # Intel microcode, Mesa, Vulkan-Intel, VA-API
โ โ โโโ nvidia.sh # nvidia-open-dkms, power management & laptop suspend
โ โโโ virt/ # Virtualization stacks
โ โโโ kvm-qemu.sh # KVM/QEMU, libvirt, virt-manager, OVMF UEFI & swtpm
โ โโโ vmware-workstation.sh # VMware Workstation Host installer & kernel modules
โโโ debian/ # Debian & Ubuntu Modular Suite
โ โโโ debian.sh # Interactive master installer
โ โโโ lib/
โ โ โโโ common.sh # Shared helpers (apt_install, pacstall, uv_tool, simulation)
โ โโโ system/ # Core system components
โ โ โโโ repos.sh # Apt repos (contrib, non-free, i386, Nala frontend)
โ โ โโโ base.sh # Base utilities, PipeWire, fonts, build headers, Starship
โ โ โโโ pacstall.sh # Pacstall AUR-like package manager installer
โ โ โโโ flatpak.sh # Flatpak runtime & Flathub remote
โ โ โโโ shell.sh # Zsh shell, Starship configuration & portal services
โ โโโ hardware/ # Hardware enablement
โ โ โโโ asus.sh # ASUS ROG asusctl source build & fan curves
โ โ โโโ touchpad.sh # X11 precision touchpad configuration
โ โ โโโ gpu/
โ โ โโโ amd.sh # AMD microcode, amd_pstate, 32/64-bit Mesa & Vulkan
โ โ โโโ intel.sh # Intel microcode, 32/64-bit Mesa, Vulkan & VA-API
โ โ โโโ nvidia.sh # NVIDIA open kernel DKMS / ubuntu-drivers & power config
โ โโโ desktop/
โ โ โโโ kde.sh # KDE Plasma suite, SDDM & Obsidian
โ โ โโโ tiling.sh # X11 Tiling WM, Dracula GTK & JetBrains Mono Nerd Font
โ โโโ virt/
โ โ โโโ kvm-qemu.sh # KVM/QEMU, libvirt daemon, bridge network & virt-manager
โ โ โโโ vmware-workstation.sh # VMware Workstation Pro bundle installer & host modules
โ โโโ apps/ # Application suite
โ โโโ aiml.sh # AMD ROCm SDK, SMI, HIP & PyTorch ROCm venv
โ โโโ coding.sh # Neovim, VS Code, Cursor, Claude Code, Flutter, Antigravity
โ โโโ docker.sh # Docker CE official repo, compose, buildx & group
โ โโโ gaming.sh # Wine, Lutris, GameMode, umu-launcher, Steam
โ โโโ lazydocker.sh # Lazydocker release binary installer & lzd alias
โ โโโ markitdown.sh # Microsoft MarkItDown via uv tool with OCR/OpenAI
โ โโโ neovim.sh # Neovim stable source compilation & installation
โ โโโ productivity.sh # Thorium Browser, Zen Browser, Obsidian, LocalSend, Vesktop
โ โโโ xdm.sh # Xtreme Download Manager GitHub installer
โโโ fedora/ # Fedora Modular Suite
โ โโโ fedora.sh # Interactive master installer
โ โโโ lib/
โ โ โโโ common.sh # Shared helpers (dnf_install, copr, swap_ffmpeg, grubby)
โ โโโ config/
โ โ โโโ dnf.conf # Tuned DNF configuration (parallel downloads, fast mirrors)
โ โโโ system/
โ โ โโโ dnf.sh # DNF / DNF5 configuration injection
โ โ โโโ repos.sh # RPM Fusion free/nonfree, COPRs & swap_ffmpeg
โ โ โโโ base.sh # Base utilities, PipeWire, build tools, Starship, Yazi
โ โ โโโ flatpak.sh # Flatpak runtime & Flathub remote
โ โ โโโ shell.sh # Zsh shell, Starship configuration & portal services
โ โโโ hardware/
โ โ โโโ asus.sh # ASUS ROG via Terra COPR, fan curves & charge limits
โ โ โโโ touchpad.sh # X11 precision touchpad configuration
โ โ โโโ gpu/
โ โ โโโ amd.sh # AMD microcode, grubby amd_pstate, Freeworld codecs
โ โ โโโ intel.sh # Intel microcode, 32/64-bit Mesa, Vulkan & media drivers
โ โ โโโ nvidia.sh # RPM Fusion akmod-nvidia, akmods build & dynamic power
โ โโโ desktop/
โ โ โโโ kde.sh # KDE Plasma suite, SDDM & graphical target
โ โ โโโ tiling.sh # X11 Tiling WM, Dracula GTK & JetBrains Mono Nerd Font
โ โโโ virt/
โ โ โโโ kvm-qemu.sh # KVM/QEMU, modular virtqemud/virtnetworkd sockets
โ โ โโโ vmware-workstation.sh # VMware Workstation Pro bundle installer & host modules
โ โโโ apps/ # Application suite
โ โโโ aiml.sh # Fedora native ROCm packages, SMI, HIP, rocblas & MIOpen
โ โโโ coding.sh # Neovim, VS Code, Cursor, Claude Code, Flutter, Antigravity
โ โโโ docker.sh # Docker CE official repo, compose, buildx & group
โ โโโ gaming.sh # Wine, Lutris, GameMode, umu-launcher, Steam
โ โโโ lazydocker.sh # Lazydocker release binary installer & lzd alias
โ โโโ markitdown.sh # Microsoft MarkItDown via uv tool with OCR/OpenAI
โ โโโ productivity.sh # Thorium (AVX2/SSE4 RPM), Zen, Obsidian, LocalSend, Vesktop
โ โโโ xdm.sh # Xtreme Download Manager GitHub installer
โโโ kali/ # Kali Linux Cybersecurity Suite
โ โโโ kali.sh # Interactive master installer
โ โโโ hardware/
โ โ โโโ wifi.sh # Realtek RTL8821AU USB WiFi DKMS driver installer
โ โโโ system/
โ โ โโโ user.sh # Hardened pentest user creation & kali user removal
โ โโโ apps/
โ โโโ burp/ # Burp Suite Pro loader, assets & desktop launcher
โ โ โโโ install.sh
โ โ โโโ images.png
โ โโโ docker.sh # Docker CE from official Debian Bookworm repository
โ โโโ lazydocker.sh # Lazydocker release binary installer & lzd alias
โโโ termux/ # Android Termux Mobile Suite
โโโ termux.sh # Core packages, storage access, Zsh, Starship & dotfiles
โโโ system/
โโโ font.sh # JetBrains Mono Nerd Font installer (~/.termux/font.ttf)
Both the modern Textual and autonomous Curses interfaces support full Vim navigation and keyboard ergonomics:
| Keybinding | Action | Context |
|---|---|---|
j / โ |
Move cursor down | Menus, Dialogs, Checklists |
k / โ |
Move cursor up | Menus, Dialogs, Checklists |
h / Esc / q |
Go back / Cancel / Focus Left | Navigation & Dialogs |
l / Enter |
Select / Open Submenu / Confirm | Menus & Dialogs |
g / Home |
Jump to first item | Menus & Checklists |
G / End |
Jump to last item | Menus & Checklists |
Ctrl+d / PageDown |
Scroll half-page down | Menus & Progress Log |
Ctrl+u / PageUp |
Scroll half-page up | Menus & Progress Log |
Space / x |
Quick-toggle checkbox [โ] |
Checklists & Quick Toggles |
a |
Select all options | Multi-select dialogs |
c |
Clear / Deselect all options | Multi-select dialogs |
/ |
Search & filter menu items in real-time | Textual Main Menu |
s |
Export current configuration to JSON profile | Main Menu |
o |
Import and load configuration from JSON profile | Main Menu |
y / n |
Confirm (Yes) / Cancel (No) |
Confirmation Dialogs |
F1 |
Show / Hide keyboard shortcuts & help panel | Textual Interface |
Ctrl+q |
Quit installer | Anywhere in TUI |
Usage: install.sh [OPTIONS]
Options:
--tui Force launch interactive TUI (dialog/whiptail)
--cli, --headless Run non-interactively using detected hardware defaults
--dry-run, -d Simulate and display execution plan without running commands
--distro <distro> Override distribution (arch, debian, fedora, kali, termux)
-h, --help Show help message and exit
Examples:
./install.sh # Launch interactive Archinstall TUI
./install.sh --dry-run # Preview execution plan without modifications
./install.sh --cli # Run automated unattended installation
./install.sh --distro arch # Force Arch Linux profile
POST_INSTALL_LOG_FILE: Points to the active session log in/tmp/generated byinstall.sh.POST_INSTALL_LOGGED: Guard variable preventing recursive PTY allocation loops.POST_INSTALL_ORIG_TTY: Preserves original interactive terminal status beforescriptPTY allocation.
- KDE Plasma 6 Suite:
- Arch Linux (
arch/desktop/kde.sh): Installsplasma-meta, Wayland/X11 sessions, Dolphin, Kate, Konsole, Ark, Kdenlive, Okular, LibreOffice Fresh, Obsidian, KDE Connect, and SDDM display manager. - Debian / Ubuntu (
debian/desktop/kde.sh): Installskde-plasma-desktop, Plasma Discover Flatpak backend, SDDM Breeze theme, Gwenview, Kdenlive, and Obsidian. - Fedora (
fedora/desktop/kde.sh): Installsplasma-desktop,sddm-kcm, PowerDevil, BlueDevil, Elisa player, and configuressystemctl set-default graphical.target.
- Arch Linux (
- X11 Tiling Window Manager:
- Configures a streamlined, lightweight X11 workspace across Arch, Debian, and Fedora (
arch/desktop/tiling.sh,debian/desktop/tiling.sh,fedora/desktop/tiling.sh). - Includes
picom(compositor),polybar,rofi,dunst(notifications),kitty(terminal),feh,flameshot,gammastep(blue light filter),zathura(PDF viewer), andi3lock-color. - Automatically deploys Dracula GTK theme and JetBrains Mono Nerd Font.
- Configures a streamlined, lightweight X11 workspace across Arch, Debian, and Fedora (
- ASUS ROG / TUF Gaming Laptops:
- Arch Linux (
arch/hardware/asus.sh): Deploysasusctlandrog-control-centerfrom the Archextrarepo. - Fedora (
fedora/hardware/asus.sh): Configures Fyra Labs Terra repository, installsasusctlandasusctl-rog-gui, and safely maskstuned-ppd/power-profiles-daemonto prevent daemon collisions withasusd. - Debian (
debian/hardware/asus.sh): Compilesasusctlfrom source using Rustcargoand enablesasusd.service. - Battery & Fan Curves: Applies custom battery charging thresholds (default
85%) and fan curves (Quiet,Performance,Balanced) with safe IPC delays.
- Arch Linux (
- AMD CPU & GPU:
- Installs
amd-ucode/amd64-microcode. - Injects
amd_pstate=active amd_prefcore=enableinto kernel parameters via GRUB (Debian/Arch) orgrubby(Fedora). - Installs 32-bit and 64-bit Mesa drivers, Vulkan-Radeon,
radeontop, and Freeworld VA-API codecs on Fedora. - Optional AMD Pro proprietary components on Arch (
--proflag inarch/hardware/gpu/amd.sh).
- Installs
- Intel CPU & GPU:
- Installs Intel microcode, 32-bit and 64-bit Mesa, Vulkan-Intel, and VA-API hardware video drivers (
intel-media-driver).
- Installs Intel microcode, 32-bit and 64-bit Mesa, Vulkan-Intel, and VA-API hardware video drivers (
- NVIDIA GPU:
- Deploys official drivers:
nvidia-open-dkms(Arch),nvidia-open-kernel-dkms(Debian),ubuntu-drivers(Ubuntu), orakmod-nvidia(Fedora). - Configures dynamic power management (
options nvidia NVreg_DynamicPowerManagement=0x02in/etc/modprobe.d/). - Enables systemd services:
nvidia-suspend,nvidia-hibernate,nvidia-resume, andnvidia-powerd.
- Deploys official drivers:
- Precision Touchpad:
- Writes
/etc/X11/xorg.conf.d/90-touchpad.confwith tap-to-click, horizontal edge scrolling, clickfinger, palm detection, and flat acceleration.
- Writes
- KVM / QEMU / virt-manager (
arch/virt/kvm-qemu.sh,debian/virt/kvm-qemu.sh,fedora/virt/kvm-qemu.sh):- Full virtualization stack:
qemu,libvirt,virt-manager,virt-viewer,bridge-utils,swtpm(TPM 2.0 emulation for Windows 11), and OVMF UEFI firmware. - Automatically adds the active user to
kvmandlibvirtgroups. - Grants socket permissions (
0770inlibvirtd.conf), starts the daemon/sockets (virtqemud.socketon Fedora,libvirtd.socketon Arch,libvirtd.serviceon Debian), and autostarts the default NAT virtual network.
- Full virtualization stack:
- VMware Workstation Pro Host (
arch/virt/vmware-workstation.sh,debian/virt/vmware-workstation.sh,fedora/virt/vmware-workstation.sh):- Automates installation of VMware Workstation bundles or AUR packages.
- Compiles and loads kernel modules (
vmmon,vmnet,vmw_vmci) viavmware-modconfigand enablesvmware/vmware-networks/vmware-usbarbitratorsystemd services.
- Docker CE & Lazydocker (
arch/apps/docker.sh,debian/apps/docker.sh,fedora/apps/docker.sh):- Removes conflicting legacy packages (
podman-docker,docker.io,moby-engine). - Configures official Docker CE upstream repositories, installs
docker-ce,docker-ce-cli,containerd.io,docker-compose-plugin, anddocker-buildx-plugin. - Enables
docker.socketfor on-demand daemon activation and adds the user to thedockergroup for rootless CLI execution. - Installs Lazydocker terminal UI with the global alias
lzd.
- Removes conflicting legacy packages (
Configured via apps/coding.sh across distributions:
- Neovim:
- Debian: Compiles stable Neovim from source (
neovim/neovim.git, branchstable) to/usr/localto guarantee the latest release on older Debian bases. - Arch / Fedora: Installs official upstream packages (
neovim,python3-neovim).
- Debian: Compiles stable Neovim from source (
- VS Code & Cursor AI:
- VS Code configured via official Microsoft APT/YUM repositories or Arch AUR (
visual-studio-code-bin). - Cursor AI downloaded and installed directly from upstream golden
.deb/.rpmbuilds or AUR (cursor-bin).
- VS Code configured via official Microsoft APT/YUM repositories or Arch AUR (
- Claude Code:
- Installs Anthropic's Claude Code CLI via native installer script (
claude.ai/install.sh) or npm global package (@anthropic-ai/claude-code).
- Installs Anthropic's Claude Code CLI via native installer script (
- Android Studio & Flutter SDK:
- Android Studio installed via Pacstall, Flathub, or AUR with 32-bit execution libraries.
- Flutter SDK deployed to
~/development/fluttervia Google's stable release manifest (or AURflutter-binon Arch) with PATH configured in~/.zshrcand~/.bashrc.
- Google Antigravity Tooling:
- Configured via official Google APT/YUM repositories (includes custom GPG verification handling on Fedora 40+ to bypass
rpm-sequoiaSHA-1 key rejections) or AUR (antigravity,antigravity-cli,antigravity-ide).
- Configured via official Google APT/YUM repositories (includes custom GPG verification handling on Fedora 40+ to bypass
- MarkItDown CLI:
- Deployed in an isolated environment via Astral's
uv tool(uv tool install --with markitdown-ocr --with openai "markitdown[all]"). - Converts PDF, Word, Excel, PowerPoint, audio, images, HTML, and YouTube to Markdown with OCR and LLM plugins.
- Deployed in an isolated environment via Astral's
- Kali Linux Post-Install Master (
kali/kali.sh):- Creates the dedicated workspace
~/cybersec/. - Bootstraps
nalaAPT frontend for accelerated, structured downloads. - Installs Kali metapackages:
kali-linux-everything,kali-linux-large, orkali-linux-labs. - Clones user dotfiles and sets default shell to Zsh with Starship prompt.
- Updates the Exploit Database (
searchsploit -u).
- Creates the dedicated workspace
- Burp Suite Professional Automated Installer (
arch/apps/burp/install.sh,kali/apps/burp/install.sh):- Installs OpenJDK 21 and configures system Java alternatives.
- Downloads the Burp Suite Pro JAR using multi-connection
aria2c. - Generates launcher script
~/.local/bin/burpsuitepro(symlinked to/usr/local/bin/burpsuitepro) with JVM reflection open flags and Java agent loader (-javaagent:loader.jar -noverify). - Creates a desktop application launcher (
burpsuitepro.desktop) with custom icon integration.
- Realtek RTL8821AU USB WiFi Driver (
kali/hardware/wifi.sh):- Installs kernel headers and builds DKMS drivers for Realtek RTL8821AU/RTL8811AU chipsets with monitor mode and packet injection support.
- Hardened Pentest User Management (
kali/system/user.sh):- Creates a custom pentest user with
sudo,wireshark,docker, and network groups. - Optionally deletes the default
kali:kaliuser credentials and configures LightDM autologin for the new user.
- Creates a custom pentest user with
Configured via apps/gaming.sh:
- Compatibility Layer: Installs
wine-staging,winetricks,lutris, and Steam. - Performance Tuning: Installs Feral Interactive's
gamemode, adds user to thegamemodegroup, and enables the user systemd servicegamemoded.service. - Proton & DXVK: Installs
umu-launcher(unified Proton launcher) from upstream release assets, MangoHud overlay, GOverlay GUI, and DXVK async runtimes. - Full Codecs: Ensures complete GStreamer and FFmpeg codecs across all distributions (swaps
ffmpeg-freeto full RPM Fusionffmpegon Fedora).
Configured via apps/aiml.sh:
- AMD ROCm SDK: Deploys
rocminfo,rocm-smi,hipcc,rocblas,miopen, and OpenCL development headers. - GPU Permissions: Automatically adds the user to
renderandvideogroups for direct DRI GPU compute access without root privileges. - PyTorch & ONNX:
- Arch Linux: Installs native
python-pytorch-rocmandpython-onnxruntime-rocm. - Debian: Creates an isolated virtual environment at
~/.venvs/rocmand installs official PyTorch ROCm wheels (torch,torchvision,torchaudio). - Fedora: Installs native Fedora ROCm packages with DNF
--allowerasingto prevent Mesa OpenCL conflicts.
- Arch Linux: Installs native
Configured via apps/productivity.sh:
- Browsers:
- Thorium Browser: Fast Chromium fork. Debian uses the official APT repo; Fedora dynamically checks
/proc/cpuinfofor AVX2/SSE4 flags and downloads the optimized RPM; Arch dynamically checks/proc/cpuinfofor AVX2/AVX/SSE4 to install the optimal AUR variant (thorium-browser-avx2-bin, etc.). - Zen Browser: Modern Firefox-based browser installed via Flathub, Pacstall, or AUR.
- Thorium Browser: Fast Chromium fork. Debian uses the official APT repo; Fedora dynamically checks
- Productivity & Communication:
- Obsidian: Markdown knowledge base installed via Flathub, Pacstall, or AUR.
- LocalSend: Cross-platform local network file sharing.
- Vesktop: Enhanced Discord desktop client.
- AnyDesk: Remote desktop client via official vendor repositories.
- ani-cli: Anime CLI streaming player with MPV and yt-dlp integration.
- gallery-dl: Image gallery and media downloader via
uv tool.
- Xtreme Download Manager (XDM) (
arch/apps/xdm.sh,debian/apps/xdm.sh,fedora/apps/xdm.sh):- Automatically queries the GitHub API (
subhra74/xdm), downloads the latest release archive, installs to/opt/xdman, and integrates with the desktop menu.
- Automatically queries the GitHub API (
termux/termux.sh:- Upgrades Termux packages and installs modern CLI utilities:
zsh,tmux,fzf,zoxide,starship,neovim,lsd,bat,ani-cli. - Requests Android shared storage permissions via
termux-setup-storage. - Clones user dotfiles and sets Zsh as the default shell.
- Upgrades Termux packages and installs modern CLI utilities:
termux/system/font.sh:- Downloads JetBrains Mono Nerd Font from GitHub releases, copies it to
~/.termux/font.ttf, and callstermux-reload-settingsto apply powerline glyphs immediately.
- Downloads JetBrains Mono Nerd Font from GitHub releases, copies it to
vmtools.sh:- Multi-distribution VMware Guest Tools installer supporting Arch, Debian/Ubuntu, and Fedora/RHEL. Installs
open-vm-tools,open-vm-tools-desktop, and enablesvmtoolsd.service.
- Multi-distribution VMware Guest Tools installer supporting Arch, Debian/Ubuntu, and Fedora/RHEL. Installs
extract-ssh.sh:- Extracts a zip archive containing SSH keys with strict POSIX file permissions: sets
.sshdirectory to700, private key (id_ed25519) to600, and public key (id_ed25519.pub) to644. - Usage:
./extract-ssh.sh <archive.zip> [destination_dir]
- Extracts a zip archive containing SSH keys with strict POSIX file permissions: sets
theme_and_font.sh:- Standalone Nerd Font updater. Queries GitHub releases for Fira Mono Nerd Font, extracts to
~/.local/share/fonts, and rebuilds font cache viafc-cache -f.
- Standalone Nerd Font updater. Queries GitHub releases for Fira Mono Nerd Font, extracts to
Arch Linux installs the Flutter SDK to /opt/flutter via the flutter-bin AUR package. The package launcher (/opt/flutter/bin/aur_init.sh) enforces two modes of operation:
-
Direct Access via
flutterGroup (Recommended & Automated):- When your user belongs to the
fluttergroup, Flutter operates directly inside/opt/flutterwith native permissions. arch/apps/flutter.shautomatically adds your user to this group:sudo usermod -aG flutter $USER- Benefits: Zero FUSE/unionfs overhead, faster compilation, and zero locked cache conflicts during package upgrades.
- When your user belongs to the
-
Unionfs Fallback & Cache Cleanup:
- If a user is not in the
fluttergroup, writes are redirected to an active FUSE overlay at~/.cache/flutter_sdk. - After updating
flutter-bin, any stale unionfs mount must be unmounted and purged:fusermount -u -z ~/.cache/flutter_sdk 2>/dev/null || true rm -rf ~/.cache/{flutter_sdk,flutter_local}
- If a user is not in the
When exporting configurations via --save-config or using profiles via --config, the following keys are supported:
| Key | Type | Default | Description |
|---|---|---|---|
distro |
string |
"arch" |
Distribution key: "arch", "debian", "fedora", "kali", or "termux". |
distro_name |
string |
"Arch Linux" |
Display name for the target distribution. |
desktop_environment |
string |
"kde" |
Desktop to install: "kde", "tiling", or "none". |
hardware_asus |
boolean |
false |
Enable ASUS ROG/TUF tools (asusctl, fan curves, charge limits). |
hardware_asus_battery_limit |
integer |
85 |
Battery charge percentage threshold (50 to 100). |
hardware_amd_gpu |
boolean |
false |
Enable AMD microcode, 32/64-bit Mesa, Vulkan, and AMD P-State. |
hardware_amd_pro |
boolean |
false |
Enable AMD Pro proprietary AUR graphics stack (Arch only). |
hardware_intel_gpu |
boolean |
false |
Enable Intel microcode, Mesa, Vulkan-Intel, and VA-API media drivers. |
hardware_nvidia_gpu |
boolean |
false |
Enable NVIDIA proprietary drivers, DKMS, and power management. |
hardware_kali_wifi |
boolean |
false |
Enable Realtek RTL8821AU USB WiFi DKMS driver (Kali only). |
virt_kvm_qemu |
boolean |
false |
Enable KVM/QEMU, libvirt, virt-manager, OVMF, and swtpm. |
virt_vmware_workstation |
boolean |
false |
Enable VMware Workstation host services and kernel modules. |
docker_enabled |
boolean |
false |
Enable Docker CE, Buildx, Compose plugin, and user group. |
coding_enabled |
boolean |
false |
Enable developer tools and programming environments. |
coding_tools |
array[string] |
["neovim", "vscode", ...] |
Tools to install: "neovim", "vscode", "cursor", "claude_code", "android_studio", "flutter", "antigravity". |
security_burp |
boolean |
false |
Enable Burp Suite Professional installer with Java 21 loader. |
security_kali_metapackages |
array[string] |
[] |
Kali metapackages to install: "everything", "large", "labs". |
security_searchsploit_update |
boolean |
false |
Run searchsploit -u database update. |
gaming_enabled |
boolean |
false |
Enable Wine-staging, Lutris, GameMode, umu-launcher, and Steam. |
ai_ml_enabled |
boolean |
false |
Enable AMD ROCm SDK, PyTorch ROCm, and ONNX Runtime. |
productivity_enabled |
boolean |
false |
Enable Thorium, Zen Browser, Obsidian, LocalSend, and Vesktop. |
extra_scripts |
array[string] |
[] |
Stem names of auto-discovered scripts in <distro>/apps/ to run. |
repos_mirror_ranking |
boolean |
true |
Rank fastest mirrors via Reflector (Arch Linux only). |
aur_helper |
string |
"paru" |
AUR helper: "paru", "yay", "both", or "none". |
repos_pacstall |
boolean |
false |
Enable Pacstall package manager (Debian only). |
repos_flatpak |
boolean |
false |
Enable Flatpak runtime and Flathub remote. |
theme_nerd_fonts |
boolean |
true |
Install JetBrains Mono Nerd Font. |
{
"distro": "arch",
"distro_name": "Arch Linux",
"desktop_environment": "kde",
"hardware_asus": true,
"hardware_asus_battery_limit": 80,
"hardware_amd_gpu": true,
"hardware_amd_pro": false,
"hardware_intel_gpu": false,
"hardware_nvidia_gpu": false,
"hardware_kali_wifi": false,
"virt_kvm_qemu": true,
"virt_vmware_workstation": false,
"docker_enabled": true,
"coding_enabled": true,
"coding_tools": [
"neovim",
"vscode",
"cursor",
"claude_code",
"flutter"
],
"security_burp": false,
"gaming_enabled": true,
"ai_ml_enabled": true,
"productivity_enabled": true,
"repos_mirror_ranking": true,
"aur_helper": "paru",
"repos_flatpak": true,
"theme_nerd_fonts": true
}- Display Manager Restart in Touchpad Script:
Executing
arch/hardware/touchpad.shdirectly restarts the display manager (systemctl restart display-manager). If run from inside an active X11 GUI session, this will immediately terminate the session. It is best run from a TTY or via the full installation pipeline before starting a desktop session. - User Groups & Session Refresh:
Adding users to groups such as
docker,libvirt,kvm,render,video,gamemode, andflutterrequires logging out and back in (or runningnewgrp <group>) before group permissions take effect. - WiFi Driver Prerequisites on Kali:
Building the RTL8821AU DKMS driver in
kali/hardware/wifi.shrequires kernel headers and git packages. Ensure temporary network access (Ethernet or USB tethering) is available during installation. - VMware Workstation Pro Bundles:
On Debian and Fedora, VMware Workstation Pro requires downloading the official
.bundleinstaller from the Broadcom Support Portal into~/Downloads/. The script detects the bundle file automatically. - Reboot Recommended:
Kernel parameter updates (
amd_pstate), GPU driver installations, microcode updates, and virtualization module changes require a full system reboot to become fully active.
Distributed under the MIT License.