Files
debianito-post-install/README.md
T
stornic56 63ef2e7343 dual-gpu fix & nvme
- Replaced the restrictive head -n1 hardware parsing with a dynamic while read loop. The script now fully detects and registers multiple coexisting GPUs (Intel+Nvidia / AMD+Nvidia).
- Rewrote install_gpu_drivers() in modules/gpu.sh from a mutually exclusive case block to independent, sequential if conditions. Laptops now install both integrated firmware (Intel/AMD with non-free VA-API acceleration) and dedicated graphics stacks (Nvidia driver + 32-bit libs for Steam) seamlessly in a single pass.
- Improved Nvidia Kepler architecture guards under Debian 13 (Trixie). The script now safely skips missing legacy Nvidia packages without aborting or crashing the remaining Intel/AMD configurations.
- Added nvme-cli utility installation across all Debian versions. For Bookworm and Trixie, it features dynamic hardware validation via lsblk transport filtering and interactive, real-time SMART log viewing with an execution screen-pause.
- Created a brand new standalone module (modules/extras/dev/jellyfin.sh) to cleanly inject Jellyfin Media Server across Debian 11, 12, and 13 using its official setup script, protected by strict SHA256 checksum validations and guaranteed error-cleanup.
- Added OpenRGB to the Gaming menu for Debian 12 and 13. Implemented secure curl downloads with an emulated Chrome User-Agent to bypass Codeberg bot blocks, complete with automatic i2c-dev module configuration, user groups provisioning, and udev permission rules execution.
- Standardized menu headers across 15 separate files using a centralized readonly SCROLL_HINT=" [↑↓]" variable, replacing messy hardcoded strings with clean, uniform Whiptail instructions.
- update README.md
2026-06-16 16:20:30 -05:00

9.2 KiB
Raw Blame History

Debianito - Post-Installation Automation for Debian

Debianito is a user-friendly post-installation automation script for Debian 11 (Bullseye), Debian 12 (Bookworm) and Debian 13 (Trixie). It streamlines system configuration, driver installation (including NVIDIA drivers with legacy support via rescue environment), repository setup with backports support, gaming tools integration, and more with an interactive menu-driven interface.

License: GPL v3


System Requirements

Requirement Specification
OS Debian 11 (Bullseye), Debian 12 (Bookworm), Debian 13 (Trixie)
Privileges Normal user with sudo access, script validates root/sudo in utils.sh
Terminal Any modern terminal emulator supporting ANSI colors and UTF-8 box-drawing characters
Dependencies Standard Debian packages (whiptail, lsb-release); auto-installed if missing

Installation Instructions

Clone the repository, make the script executable, and run it:

git clone https://github.com/stornic56/debianito-post-install
cd debianito-post-install
chmod +x debianito.sh && ./debianito.sh

⚠️ Do not run as root. The script checks for non-root execution and requires sudo privileges.


Usage

After running the script:

  1. Select Option: Use arrow keys or type 1-10.
  2. Navigation: Use Arrow Keys (Up↑/Down↓) to move between list options and ENTER key to confirm selection.
  3. Confirm Actions: Installation prompts use whiptail for TUI confirmations.
  4. Review System Info: Header displays detected Debian version and hardware summary before each action.
  5. Repeat as Needed: Return to main menu at any time or exit when done.
Option Description What it does
1 System Info Show detected OS, CPU, RAM, GPU and hardware details
2 User Privileges & Feedback Configure sudo group membership, enable passwordless sudo for frequent tasks, repair home directory ownership issues, and toggle visual password feedback (asterisks) in terminal
3 Configure Repositories Setup official repos with/without backports (deb822 or classic format) and non-free/contrib
4 Setup Wireless & Firmware Install WiFi firmware for Broadcom, Intel, and other chipsets
5 Configure Graphics Stack AMD/Intel/NVIDIA drivers + monitoring tools
6 Update Kernel to Backports Install latest kernel from Debian backports
7 Gaming Setup and Performance Steam, Heroic Games Launcher, GameMode, MangoHud, OpenRGB Java JRE (Temurin 8/17/21)
8 Install ZRAM (compressed swap) Configure compressed RAM for memory optimization
9 Install Programs and Software Selection from several categories (Development, Themes, System, etc.)
10 Exit Return to terminal

Install Programs and Software (Option 9)

The submenu offers the next categories:

Option Category Title Description
0 Essential Pack Quick install of common tools (compression, system info, VLC, MS fonts)
1 Customization System Desktop themes, icon themes, cursor themes, and fonts
2 Download & Network Downloaders (aria2, ytdlp, FileZilla) + Torrent clients (qBittorrent, Deluge, Transmission)
3 Internet (Browsers, Email Clients, VPN Tools) Web browsers (Firefox/Mozilla, LibreWolf, Floorp, Chromium, Brave, Tor), email clients (Thunderbird), and VPN tools including Riseup
4 Media Players Multimedia playback with VLC media player and MPV for advanced video/audio support
5 Multimedia & Design image editing (GIMP), video editing (Kdenlive, HandBrake), 3D modeling (Blender), audio recording (Audacity), and graphics design (Inkscape)
6 Code Editors & IDEs vim, vim-gtk3, Neovim, Helix, nano, Emacs, Kate, Mousepad, Gedit, Geany, GNOME Text Editor, and VSCodium (VS Code open-source)
7 Servers & Dev Tools Web servers (Nginx/Apache), databases (PostgreSQL/MariaDB), Java Development Kit (Temurin 17/21/25 JDK), Docker, Python, SSH tools, fail2ban, Jellyfin Server and essential utilities
8 Security & Networking Wireshark, tcpdump, Zenmap, ClamAV, UFW, Fail2ban
9 Software Centers Choose a software store to install
10 System Tools htop/btop, ncdu, Timeshift, tmux/screen, nvme-cli Flatpak support, extension repository manager and qemu/virtmanager
11 Fetch / System Info fastfetch/neofetch, hyfetch, Linux logo and screenfetch
12 Back to Main Menu Return directly to the main Debianito menu (exit submenu)

User Privileges & Feedback

Admin rights, passwordless commands, and file ownership fixes—optimized for Debian users.

1. Sudo Group Membership

If you just installed Debian and cant install software or change system settings (you get "Permission denied"), this option adds your user to the sudo group. This gives you admin privileges so you can manage your system. Changes take effect after you log out and back in.

2. Passwordless Sudo for Frequent Tasks

Every time you run sudo apt install or sudo reboot, Linux asks for your password. This option lets you skip typing your password for common commands like installing/updating software (apt), restarting or shutting down (systemctl).

  • ⚠️ Security Note: While convenient, this reduces security if someone else uses your PC physically.

3. Repair Home Directory Ownership

Sometimes, when you use sudo incorrectly (e.g., installing games or apps), files get "stolen" by the system (root) instead of your user. This causes apps to fail (e.g., saving settings or game progress). This option fixes ownership so all your files and folders belong to you again.

4. Sudo Password Feedback (Asterisks)

By default, Debians terminal hides your password (no asterisks or feedback). This option adds visual feedback (e.g., ****) so you can see how many characters youve typed. Toggle it on/off as needed.


File Structure

Directory/File Description
./debianito.sh Main entry point; handles menu navigation and system detection.
/modules/ Modular scripts for specific tasks: sudo config, repos, firmware, gpu, kernel, gaming, zram.
/modules/extras/ Split-by-category sub-modules for the "Install Programs and Software" menu (Option 9).
├── debianito.sh
├── modules
│   ├── bullseye
│   │   ├── extras.sh
│   │   ├── legacy.sh
│   │   └── repos.sh
│   ├── extras
│   │   ├── design
│   │   │   └── design.sh
│   │   ├── dev
│   │   │   ├── dev.sh
│   │   │   └── jellyfin.sh
│   │   ├── download
│   │   │   └── download.sh
│   │   ├── essential
│   │   │   └── essential.sh
│   │   ├── fetch
│   │   │   └── fetch.sh
│   │   ├── _helpers.sh
│   │   ├── internet
│   │   │   └── internet.sh
│   │   ├── java.sh
│   │   ├── players
│   │   │   └── players.sh
│   │   ├── programming
│   │   │   └── programming.sh
│   │   ├── security
│   │   │   └── security.sh
│   │   ├── system
│   │   │   ├── software_centers.sh
│   │   │   └── system.sh
│   │   └── themes
│   │       ├── cursors
│   │       │   └── cursors.sh
│   │       ├── desktop-themes
│   │       │   └── desktop-themes.sh
│   │       ├── fonts
│   │       │   └── fonts.sh
│   │       ├── icons
│   │       │   └── icons.sh
│   │       └── themes.sh
│   ├── extras.sh
│   ├── firmware.sh
│   ├── gaming
│   │   ├── _helpers.sh
│   │   ├── heroic.sh
│   │   ├── steam.sh
│   │   └── tools.sh
│   ├── gaming.sh
│   ├── gpu
│   │   ├── amd_intel.sh
│   │   ├── _helpers.sh
│   │   └── nvidia.sh
│   ├── gpu.sh
│   ├── kernel.sh
│   ├── repos
│   │   └── repo_detect.sh
│   ├── repos.sh
│   ├── sudo_config.sh
│   ├── utils.sh
│   └── zram.sh
└── README.md

🤖 AI-Assisted Development Note
This project was developed with assistance from large language models for code generation, documentation and testing suggestions. The author takes full responsibility for the accuracy of all scripts included in this repository. All modifications have been reviewed manually before inclusion to ensure compatibility with Debian systems.