mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-07-16 05:49:49 +00:00
872f92d6b4
- Created dedicated `extras/java.sh` module for modular Temurin/Adoptium repository handling and isolated GPG key management. - Implemented selective JRE/JDK installation paths: Gaming (Minecraft) vs Development environments with version control selectors. - Enhanced user group membership logic (`_ensure_sudo_group`) to auto-configure administrative privileges on fresh installs. - Introduced maintenance-friendly passwordless sudo for `apt`, `systemctl`, and shutdown commands via `/etc/sudoers.d/`. - Added home directory ownership repair utility to fix root-owned files in user directories after improper `sudo` usage. - Enabled visual password feedback (`pwfeedback`) toggle for enhanced terminal usability during authentication prompts. - Refactored Debian 13/Trixie repository sourcing logic to ensure idempotency and prevent backports/duplicate sources conflicts. - Updated Bullseye legacy modules (extras.sh, repos.sh) to exclude deprecated packages (`hx`, `vscodium`) and enforce Firefox ESR defaults. - Cleaned repository configurations by removing obsolete `bullseye-updates` source entries to prevent dependency conflicts. - Implemented NVTOP conditional detection logic ensuring display only on active Nvidia drivers or supported architectures (Trixie/Bookworm). - Corrected `/modules/bullseye/extras.sh` menu mappings (Programming, Dev Tools) and verified package lists excluding incompatible tools (`hx`, `vscodium`). - Integrated ClamAV security module with daemon state management and background scan execution flows in all Security menus. - update README.md
66 lines
2.0 KiB
Bash
66 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
# extras.sh — Dispatcher: loads extras category modules and shows submenu
|
|
|
|
_EXTRAS_DIR="${MODULES_DIR}/extras"
|
|
|
|
_load_extras() {
|
|
[ -n "${_EXTRAS_LOADED:-}" ] && return
|
|
[ -f "${_EXTRAS_DIR}/_helpers.sh" ] && source "${_EXTRAS_DIR}/_helpers.sh"
|
|
shopt -s nullglob
|
|
for _mod in "${_EXTRAS_DIR}"/*/*.sh "${_EXTRAS_DIR}"/*/*/*.sh; do
|
|
[ -f "$_mod" ] || continue
|
|
source "$_mod"
|
|
done
|
|
shopt -u nullglob
|
|
unset _mod
|
|
_EXTRAS_LOADED=1
|
|
}
|
|
|
|
install_extras() {
|
|
_load_extras
|
|
|
|
echo -e "${YELLOW}Extra software installation...${NC}"
|
|
|
|
if _is_headless; then
|
|
_msg "Headless Mode" "No graphical display detected.\n\nOnly terminal-friendly packages will be shown.\nGUI applications (browsers, media players, design tools)\nwill be skipped automatically." 12 60
|
|
fi
|
|
|
|
while true; do
|
|
local cat_choice
|
|
cat_choice=$(whiptail --title "Extra Software" --menu \
|
|
"Select a category:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
|
|
"0" "Essential Pack" \
|
|
"1" "Customization System" \
|
|
"2" "Download & Network" \
|
|
"3" "Internet (Browsers, Email, VPN)" \
|
|
"4" "Media Players" \
|
|
"5" "Multimedia & Design" \
|
|
"6" "Code Editors & IDEs" \
|
|
"7" "Servers & Dev Tools" \
|
|
"8" "Security & Networking" \
|
|
"9" "System Tools" \
|
|
"10" "Fetch / System Info" \
|
|
"11" "Back to main menu" \
|
|
3>&1 1>&2 2>&3)
|
|
|
|
[ -z "$cat_choice" ] && return
|
|
clear
|
|
|
|
case "$cat_choice" in
|
|
0) _quick_install ;;
|
|
1) _cat_customization ;;
|
|
2) _cat_download ;;
|
|
3) _cat_internet ;;
|
|
4) _cat_players ;;
|
|
5) _cat_design ;;
|
|
6) _cat_programming ;;
|
|
7) _cat_dev ;;
|
|
8) _cat_security ;;
|
|
9) _cat_general ;;
|
|
10) _cat_fetch ;;
|
|
11) return ;;
|
|
esac
|
|
clear
|
|
done
|
|
}
|