mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-09-14 06:02:35 +00:00
System-Wide Refactor & Critical Fixes
- Resolved NVIDIA driver management issues by expanding package detection patterns (including nvidia-open and nvidia-kernel-open-dkms), enhancing purge process to ensure clean uninstallation of v590/595 drivers, and adding conditional skip for manage menu when no driver is installed. - Enhanced Firefox variant selection in internet.sh using exact token matching (grep -qx) instead of substring search to prevent incorrect removal or unintended ESR/Firefox conflicts. - New XFCE install option with 4 options - Restructured Desktop Environment into two-level menu system with dispatcher and Xfce sub-menu for scalability, enabling future additions like GNOME/KDE without disrupting existing flows. - Added Polkit rules in desktop_display.sh to grant suspend permissions without password prompts on laptops, including idempotent group (backlight) creation and user membership management with || true fallbacks. - Enforced LC_ALL=C LANGUAGE=C environment variables for all dpkg-reconfigure commands across System Preferences and utils.sh to ensure native dialogues run consistently in English. - Fixed kernel backports menu option availability to only appear on Debian 13, preventing errors on Debian 12 where backports repositories are EOL. - Improved ZRAM module initialization sequence by ensuring swapoff and zram module removal occur before writing new configuration files to prevent race conditions during system setup.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
# system_prefs.sh — System Preferences: time, locale, keyboard, audio
|
||||
|
||||
_prefs_date_time() {
|
||||
echo -e "${YELLOW}Current system date/time:${NC} $(date '+%Y-%m-%d %H:%M')"
|
||||
echo -e "${YELLOW}Timezone:${NC} $(timedatectl show -p Timezone --value 2>/dev/null || echo unknown)"
|
||||
|
||||
if _confirm "Timezone" "Change the system timezone (dpkg-reconfigure tzdata)?"; then
|
||||
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure tzdata || true
|
||||
echo -e "${GREEN}Timezone: $(timedatectl show -p Timezone --value 2>/dev/null)${NC}"
|
||||
fi
|
||||
_ensure_time_synced
|
||||
}
|
||||
|
||||
_prefs_locale_keyboard() {
|
||||
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure locales || true
|
||||
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure keyboard-configuration || true
|
||||
echo -e "${GREEN}Language, locales and keyboard configured.${NC}"
|
||||
}
|
||||
|
||||
_prefs_audio() { _prefs_audio_menu; }
|
||||
|
||||
_system_preferences_menu() {
|
||||
while true; do
|
||||
local choice
|
||||
choice=$(_menu "System Preferences" "Select a preference group:" \
|
||||
$TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
|
||||
"1" "Date, Time & Timezone" \
|
||||
"2" "Language, Locales & Keyboard" \
|
||||
"3" "Audio & Sound Stack" \
|
||||
"4" "Back to main menu")
|
||||
[ -z "$choice" ] && return
|
||||
clear
|
||||
case "$choice" in
|
||||
1) _prefs_date_time ;;
|
||||
2) _prefs_locale_keyboard ;;
|
||||
3) _prefs_audio ;;
|
||||
4) return ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
Reference in New Issue
Block a user