Split package selection up to be more granular, more minor reordering
This commit is contained in:
parent
98c56c9334
commit
94054f9ada
@ -128,9 +128,10 @@ declare -A WM_SESSIONS=(
|
||||
[dwm]='dwm'
|
||||
[i3-gaps]='i3'
|
||||
[bspwm]='bspwm'
|
||||
[xfce4]='startxfce4'
|
||||
[plasma]='startkde'
|
||||
[xfce4]='startxfce4'
|
||||
[gnome]='gnome-session'
|
||||
[fluxbox]='startfluxbox'
|
||||
[openbox]='openbox-session'
|
||||
[cinnamon]='cinnamon-session'
|
||||
)
|
||||
@ -138,6 +139,7 @@ declare -A WM_SESSIONS=(
|
||||
# additional packages installed for each wm/de
|
||||
declare -A WM_EXT=(
|
||||
[gnome]=""
|
||||
[fluxbox]="menumaker"
|
||||
[plasma]="kdebase-meta"
|
||||
[bspwm]="sxhkd archlabs-skel-bspwm rofi archlabs-polybar"
|
||||
[i3-gaps]="i3status perl-anyevent-i3 archlabs-skel-i3-gaps rofi archlabs-polybar"
|
||||
@ -168,27 +170,28 @@ declare -A PKG_EXT=(
|
||||
[vlc]="qt4"
|
||||
[mpd]="mpc"
|
||||
[mupdf]="mupdf-tools"
|
||||
[qutebrowser]="qt5ct qt5-styleplugins"
|
||||
[qt5ct]="qt5-styleplugins"
|
||||
[vlc]="qt5ct qt5-styleplugins"
|
||||
[zathura]="zathura-pdf-poppler"
|
||||
[noto-fonts]="noto-fonts-emoji"
|
||||
[cairo-dock]="cairo-dock-plug-ins"
|
||||
[qutebrowser]="qt5ct qt5-styleplugins"
|
||||
[qbittorrent]="qt5ct qt5-styleplugins"
|
||||
[transmission-qt]="qt5ct qt5-styleplugins"
|
||||
[kdenlive]="kdebase-meta dvdauthor frei0r-plugins breeze breeze-gtk qt5ct qt5-styleplugins"
|
||||
)
|
||||
|
||||
# mkfs command to format a partition as a given file system
|
||||
declare -A FS_CMDS=(
|
||||
[ext2]="mkfs.ext2 -q"
|
||||
[ext3]="mkfs.ext3 -q"
|
||||
[ext4]="mkfs.ext4 -q"
|
||||
[f2fs]="mkfs.f2fs"
|
||||
[jfs]="mkfs.jfs -q"
|
||||
[xfs]="mkfs.xfs -f"
|
||||
[ntfs]="mkfs.ntfs -q"
|
||||
[ext2]="mkfs.ext2 -q"
|
||||
[ext3]="mkfs.ext3 -q"
|
||||
[ext4]="mkfs.ext4 -q"
|
||||
[vfat]="mkfs.vfat -F32"
|
||||
[nilfs2]="mkfs.nilfs2 -q"
|
||||
[ntfs]="mkfs.ntfs -q"
|
||||
[reiserfs]="mkfs.reiserfs -q"
|
||||
)
|
||||
|
||||
@ -251,7 +254,7 @@ main()
|
||||
5) mnt_menu || SELECTED=$((SELECTED - 1)) ;;
|
||||
6) prechecks 0 && { mkuser || SELECTED=$((SELECTED - 1)); } ;;
|
||||
7) prechecks 1 && { cfg_menu || SELECTED=$((SELECTED - 1)); } ;;
|
||||
8) prechecks 2 && { select_wm_or_de || SELECTED=$((SELECTED - 1)); } ;;
|
||||
8) prechecks 2 && { select_sessions || SELECTED=$((SELECTED - 1)); } ;;
|
||||
9) prechecks 2 && { select_packages || SELECTED=$((SELECTED - 1)); } ;;
|
||||
10) prechecks 2 && show_cfg ;;
|
||||
11) prechecks 2 && install ;;
|
||||
@ -468,7 +471,7 @@ select_timezone()
|
||||
yesno "$_TimeZTitle" "$_TimeZQ $ZONE/$SUBZONE?\n" || select_timezone
|
||||
}
|
||||
|
||||
select_wm_or_de()
|
||||
select_sessions()
|
||||
{
|
||||
LOGIN_CHOICES=""
|
||||
|
||||
@ -482,7 +485,8 @@ select_wm_or_de()
|
||||
"gnome" "A desktop environment that aims to be simple and easy to use" off \
|
||||
"cinnamon" "A desktop environment combining traditional desktop with modern effects" off \
|
||||
"plasma" "A kde software project currently comprising a full desktop environment" off \
|
||||
"xfce4" "A lightweight and modular desktop environment based on gtk+2/3" off)"; then
|
||||
"xfce4" "A lightweight and modular desktop environment based on gtk+2/3" off \
|
||||
"fluxbox" "A lightweight and highly-configurable window manager" off)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
@ -538,34 +542,41 @@ select_packages()
|
||||
SAVED=$SELECTED
|
||||
SELECTED=1
|
||||
CURRENT_MENU="packages"
|
||||
elif (( SELECTED < 9 )); then
|
||||
elif (( SELECTED < 13 )); then
|
||||
((SELECTED++)) # increment the highlighted menu item
|
||||
fi
|
||||
|
||||
tput civis
|
||||
SELECTED=$(dialog --cr-wrap --no-cancel --stdout \
|
||||
--backtitle "$BT" --title " $_Packages " \
|
||||
SELECTED=$(dialog --cr-wrap --stdout --backtitle "$BT" --title " $_Packages " \
|
||||
--default-item $SELECTED --menu "$_PackageMenu" 0 0 0 \
|
||||
1 "Browsers" \
|
||||
2 "Editors" \
|
||||
3 "Terminals" \
|
||||
4 "Multimedia" \
|
||||
5 "Chat/Mail" \
|
||||
6 "Professional" \
|
||||
7 "System" \
|
||||
8 "Miscellaneous" \
|
||||
9 "$_Done")
|
||||
1 "Web Browsers" \
|
||||
2 "Text Editors" \
|
||||
3 "File Management" \
|
||||
4 "Terminal Emulators" \
|
||||
5 "Music & Video Players" \
|
||||
6 "Chat & Mail Clients" \
|
||||
7 "Office & Professional" \
|
||||
8 "Image & PDF Viewers" \
|
||||
9 "Additional Fonts" \
|
||||
10 "Torrent Clients" \
|
||||
11 "System Management" \
|
||||
12 "Miscellaneous" \
|
||||
13 "$_Done")
|
||||
|
||||
if [[ $SELECTED -lt 9 ]]; then
|
||||
if [[ $SELECTED -lt 13 ]]; then
|
||||
case $SELECTED in
|
||||
1) PACKAGES+=" $(select_browsers)" ;;
|
||||
2) PACKAGES+=" $(select_editors)" ;;
|
||||
3) PACKAGES+=" $(select_terminals)" ;;
|
||||
4) PACKAGES+=" $(select_multimedia)" ;;
|
||||
5) PACKAGES+=" $(select_mailchat)" ;;
|
||||
6) PACKAGES+=" $(select_prof)" ;;
|
||||
7) PACKAGES+=" $(select_managment)" ;;
|
||||
8) PACKAGES+=" $(select_extra)" ;;
|
||||
1) PACKAGES+=" $(select_browsers)" ;;
|
||||
2) PACKAGES+=" $(select_editors)" ;;
|
||||
3) PACKAGES+=" $(select_files)" ;;
|
||||
4) PACKAGES+=" $(select_terms)" ;;
|
||||
5) PACKAGES+=" $(select_media)" ;;
|
||||
6) PACKAGES+=" $(select_mail)" ;;
|
||||
7) PACKAGES+=" $(select_prof)" ;;
|
||||
8) PACKAGES+=" $(select_viewers)" ;;
|
||||
9) PACKAGES+=" $(select_fonts)" ;;
|
||||
10) PACKAGES+=" $(select_torrent)" ;;
|
||||
11) PACKAGES+=" $(select_sys)" ;;
|
||||
12) PACKAGES+=" $(select_extra)" ;;
|
||||
esac
|
||||
select_packages
|
||||
fi
|
||||
@ -686,7 +697,20 @@ select_editors()
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_terminals()
|
||||
select_files()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"thunar" "A modern file manager for the Xfce Desktop Environment" off \
|
||||
"pcmanfm" "A fast and lightweight file manager based in Lxde" off \
|
||||
"nautilus" "The default file manager for Gnome" off \
|
||||
"gparted" "A GUI frontend for creating and manipulating partition tables" off \
|
||||
"file-roller" "Create and modify archives" off \
|
||||
"xarchiver" "A GTK+ frontend to various command line archivers" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_terms()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
@ -702,7 +726,7 @@ select_terminals()
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_multimedia()
|
||||
select_media()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
@ -720,7 +744,7 @@ select_multimedia()
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_mailchat()
|
||||
select_mail()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
@ -746,32 +770,58 @@ select_prof()
|
||||
"inkscape" "Professional vector graphics editor" off \
|
||||
"krita" "Edit and paint images" off \
|
||||
"obs-studio" "Free opensource streaming/recording software" off \
|
||||
"openshot" "An open-source, non-linear video editor for Linux based on MLT framework" off \
|
||||
"kdenlive" "A non-linear video editor for Linux using the MLT video framework" off \
|
||||
"openshot" "An open-source, non-linear video editor for Linux based on MLT framework" off \
|
||||
"audacity" "A program that lets you manipulate digital audio waveforms" off \
|
||||
"guvcview" "Capture video from camera devices" off \
|
||||
"simplescreenrecorder" "A feature-rich screen recorder" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_managment()
|
||||
select_fonts()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"ttf-hack" "A hand groomed and optically balanced typeface based on Bitstream Vera Mono" off \
|
||||
"ttf-anonymous-pro" "A family of four fixed-width fonts designed especially with coding in mind" off \
|
||||
"ttf-font-awesome" "Iconic font designed for Bootstrap" off \
|
||||
"ttf-fira-code" "Monospaced font with programming ligatures" off \
|
||||
"noto-fonts" "Google Noto fonts" off \
|
||||
"noto-fonts-cjk" "Google Noto CJK fonts (Chinese, Japanese, Korean)" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_viewers()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"evince" "A document viewer" off \
|
||||
"zathura" "Minimalistic document viewer" off \
|
||||
"qpdfview" "A tabbed PDF viewer" off \
|
||||
"mupdf" "Lightweight PDF and XPS viewer" off \
|
||||
"gpicview" "Lightweight image viewer" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_torrent()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"deluge" "A BitTorrent client written in python" off \
|
||||
"qbittorrent" "An advanced BitTorrent client" off \
|
||||
"transmission-gtk" "Free BitTorrent client GTK+ GUI" off \
|
||||
"transmission-qt" "Free BitTorrent client Qt GUI" off \
|
||||
"transmission-cli" "Free BitTorrent client CLI" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
select_sys()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"thunar" "A modern file manager for the Xfce Desktop Environment" off \
|
||||
"pcmanfm" "A fast and lightweight file manager based in Lxde" off \
|
||||
"gparted" "A GUI frontend for creating and manipulating partition tables" off \
|
||||
"gnome-disk-utility" "Disk Management Utility" off \
|
||||
"gnome-system-monitor" "View current processes and monitor system state" off \
|
||||
"qt5ct" "GUI for managing Qt based application themes, icons, and fonts" off \
|
||||
"file-roller" "Create and modify archives" off \
|
||||
"xarchiver" "A GTK+ frontend to various command line archivers" off \
|
||||
"ttf-hack" "A hand groomed and optically balanced typeface based on Bitstream Vera Mono" off \
|
||||
"ttf-anonymous-pro" "A family of four fixed-width fonts designed especially with coding in mind" off \
|
||||
"ttf-font-awesome" "Iconic font designed for Bootstrap" off \
|
||||
"ttf-fira-code" "Monospaced font with programming ligatures" off \
|
||||
"noto-fonts" "Google Noto fonts" off \
|
||||
"noto-fonts-cjk" "Google Noto CJK fonts (Chinese, Japanese, Korean)" off)"
|
||||
"qt5ct" "GUI for managing Qt based application themes, icons, and fonts" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
@ -779,20 +829,12 @@ select_extra()
|
||||
{
|
||||
local pkgs=""
|
||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||
"steam" "A popular game distribution platform by Valve" off \
|
||||
"deluge" "A BitTorrent client written in python" off \
|
||||
"transmission-gtk" "Free BitTorrent client GTK+ GUI" off \
|
||||
"qbittorrent" "An advanced BitTorrent client" off \
|
||||
"evince" "A document viewer" off \
|
||||
"zathura" "Minimalistic document viewer" off \
|
||||
"qpdfview" "A tabbed PDF viewer" off \
|
||||
"mupdf" "Lightweight PDF and XPS viewer" off \
|
||||
"gpicview" "Lightweight image viewer" off \
|
||||
"gpick" "Advanced color picker using GTK+ toolkit" off \
|
||||
"gcolor2" "A simple GTK+2 color selector" off \
|
||||
"plank" "An elegant, simple, and clean dock" off \
|
||||
"docky" "Full fledged dock for opening applications and managing windows" off \
|
||||
"cairo-dock" "Light eye-candy fully themable animated dock" off)"
|
||||
"steam" "A popular game distribution platform by Valve" off \
|
||||
"gpick" "Advanced color picker using GTK+ toolkit" off \
|
||||
"gcolor2" "A simple GTK+2 color selector" off \
|
||||
"plank" "An elegant, simple, and clean dock" off \
|
||||
"docky" "Full fledged dock for opening applications and managing windows" off \
|
||||
"cairo-dock" "Light eye-candy fully themable animated dock" off)"
|
||||
printf "%s" "$pkgs"
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user