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'
|
[dwm]='dwm'
|
||||||
[i3-gaps]='i3'
|
[i3-gaps]='i3'
|
||||||
[bspwm]='bspwm'
|
[bspwm]='bspwm'
|
||||||
[xfce4]='startxfce4'
|
|
||||||
[plasma]='startkde'
|
[plasma]='startkde'
|
||||||
|
[xfce4]='startxfce4'
|
||||||
[gnome]='gnome-session'
|
[gnome]='gnome-session'
|
||||||
|
[fluxbox]='startfluxbox'
|
||||||
[openbox]='openbox-session'
|
[openbox]='openbox-session'
|
||||||
[cinnamon]='cinnamon-session'
|
[cinnamon]='cinnamon-session'
|
||||||
)
|
)
|
||||||
@ -138,6 +139,7 @@ declare -A WM_SESSIONS=(
|
|||||||
# additional packages installed for each wm/de
|
# additional packages installed for each wm/de
|
||||||
declare -A WM_EXT=(
|
declare -A WM_EXT=(
|
||||||
[gnome]=""
|
[gnome]=""
|
||||||
|
[fluxbox]="menumaker"
|
||||||
[plasma]="kdebase-meta"
|
[plasma]="kdebase-meta"
|
||||||
[bspwm]="sxhkd archlabs-skel-bspwm rofi archlabs-polybar"
|
[bspwm]="sxhkd archlabs-skel-bspwm rofi archlabs-polybar"
|
||||||
[i3-gaps]="i3status perl-anyevent-i3 archlabs-skel-i3-gaps 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"
|
[vlc]="qt4"
|
||||||
[mpd]="mpc"
|
[mpd]="mpc"
|
||||||
[mupdf]="mupdf-tools"
|
[mupdf]="mupdf-tools"
|
||||||
[qutebrowser]="qt5ct qt5-styleplugins"
|
|
||||||
[qt5ct]="qt5-styleplugins"
|
[qt5ct]="qt5-styleplugins"
|
||||||
[vlc]="qt5ct qt5-styleplugins"
|
[vlc]="qt5ct qt5-styleplugins"
|
||||||
[zathura]="zathura-pdf-poppler"
|
[zathura]="zathura-pdf-poppler"
|
||||||
[noto-fonts]="noto-fonts-emoji"
|
[noto-fonts]="noto-fonts-emoji"
|
||||||
[cairo-dock]="cairo-dock-plug-ins"
|
[cairo-dock]="cairo-dock-plug-ins"
|
||||||
|
[qutebrowser]="qt5ct qt5-styleplugins"
|
||||||
[qbittorrent]="qt5ct qt5-styleplugins"
|
[qbittorrent]="qt5ct qt5-styleplugins"
|
||||||
|
[transmission-qt]="qt5ct qt5-styleplugins"
|
||||||
[kdenlive]="kdebase-meta dvdauthor frei0r-plugins breeze breeze-gtk 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
|
# mkfs command to format a partition as a given file system
|
||||||
declare -A FS_CMDS=(
|
declare -A FS_CMDS=(
|
||||||
[ext2]="mkfs.ext2 -q"
|
|
||||||
[ext3]="mkfs.ext3 -q"
|
|
||||||
[ext4]="mkfs.ext4 -q"
|
|
||||||
[f2fs]="mkfs.f2fs"
|
[f2fs]="mkfs.f2fs"
|
||||||
[jfs]="mkfs.jfs -q"
|
[jfs]="mkfs.jfs -q"
|
||||||
[xfs]="mkfs.xfs -f"
|
[xfs]="mkfs.xfs -f"
|
||||||
|
[ntfs]="mkfs.ntfs -q"
|
||||||
|
[ext2]="mkfs.ext2 -q"
|
||||||
|
[ext3]="mkfs.ext3 -q"
|
||||||
|
[ext4]="mkfs.ext4 -q"
|
||||||
[vfat]="mkfs.vfat -F32"
|
[vfat]="mkfs.vfat -F32"
|
||||||
[nilfs2]="mkfs.nilfs2 -q"
|
[nilfs2]="mkfs.nilfs2 -q"
|
||||||
[ntfs]="mkfs.ntfs -q"
|
|
||||||
[reiserfs]="mkfs.reiserfs -q"
|
[reiserfs]="mkfs.reiserfs -q"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -251,7 +254,7 @@ main()
|
|||||||
5) mnt_menu || SELECTED=$((SELECTED - 1)) ;;
|
5) mnt_menu || SELECTED=$((SELECTED - 1)) ;;
|
||||||
6) prechecks 0 && { mkuser || SELECTED=$((SELECTED - 1)); } ;;
|
6) prechecks 0 && { mkuser || SELECTED=$((SELECTED - 1)); } ;;
|
||||||
7) prechecks 1 && { cfg_menu || 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)); } ;;
|
9) prechecks 2 && { select_packages || SELECTED=$((SELECTED - 1)); } ;;
|
||||||
10) prechecks 2 && show_cfg ;;
|
10) prechecks 2 && show_cfg ;;
|
||||||
11) prechecks 2 && install ;;
|
11) prechecks 2 && install ;;
|
||||||
@ -468,7 +471,7 @@ select_timezone()
|
|||||||
yesno "$_TimeZTitle" "$_TimeZQ $ZONE/$SUBZONE?\n" || select_timezone
|
yesno "$_TimeZTitle" "$_TimeZQ $ZONE/$SUBZONE?\n" || select_timezone
|
||||||
}
|
}
|
||||||
|
|
||||||
select_wm_or_de()
|
select_sessions()
|
||||||
{
|
{
|
||||||
LOGIN_CHOICES=""
|
LOGIN_CHOICES=""
|
||||||
|
|
||||||
@ -482,7 +485,8 @@ select_wm_or_de()
|
|||||||
"gnome" "A desktop environment that aims to be simple and easy to use" off \
|
"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 \
|
"cinnamon" "A desktop environment combining traditional desktop with modern effects" off \
|
||||||
"plasma" "A kde software project currently comprising a full desktop environment" 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
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -538,34 +542,41 @@ select_packages()
|
|||||||
SAVED=$SELECTED
|
SAVED=$SELECTED
|
||||||
SELECTED=1
|
SELECTED=1
|
||||||
CURRENT_MENU="packages"
|
CURRENT_MENU="packages"
|
||||||
elif (( SELECTED < 9 )); then
|
elif (( SELECTED < 13 )); then
|
||||||
((SELECTED++)) # increment the highlighted menu item
|
((SELECTED++)) # increment the highlighted menu item
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tput civis
|
tput civis
|
||||||
SELECTED=$(dialog --cr-wrap --no-cancel --stdout \
|
SELECTED=$(dialog --cr-wrap --stdout --backtitle "$BT" --title " $_Packages " \
|
||||||
--backtitle "$BT" --title " $_Packages " \
|
|
||||||
--default-item $SELECTED --menu "$_PackageMenu" 0 0 0 \
|
--default-item $SELECTED --menu "$_PackageMenu" 0 0 0 \
|
||||||
1 "Browsers" \
|
1 "Web Browsers" \
|
||||||
2 "Editors" \
|
2 "Text Editors" \
|
||||||
3 "Terminals" \
|
3 "File Management" \
|
||||||
4 "Multimedia" \
|
4 "Terminal Emulators" \
|
||||||
5 "Chat/Mail" \
|
5 "Music & Video Players" \
|
||||||
6 "Professional" \
|
6 "Chat & Mail Clients" \
|
||||||
7 "System" \
|
7 "Office & Professional" \
|
||||||
8 "Miscellaneous" \
|
8 "Image & PDF Viewers" \
|
||||||
9 "$_Done")
|
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
|
case $SELECTED in
|
||||||
1) PACKAGES+=" $(select_browsers)" ;;
|
1) PACKAGES+=" $(select_browsers)" ;;
|
||||||
2) PACKAGES+=" $(select_editors)" ;;
|
2) PACKAGES+=" $(select_editors)" ;;
|
||||||
3) PACKAGES+=" $(select_terminals)" ;;
|
3) PACKAGES+=" $(select_files)" ;;
|
||||||
4) PACKAGES+=" $(select_multimedia)" ;;
|
4) PACKAGES+=" $(select_terms)" ;;
|
||||||
5) PACKAGES+=" $(select_mailchat)" ;;
|
5) PACKAGES+=" $(select_media)" ;;
|
||||||
6) PACKAGES+=" $(select_prof)" ;;
|
6) PACKAGES+=" $(select_mail)" ;;
|
||||||
7) PACKAGES+=" $(select_managment)" ;;
|
7) PACKAGES+=" $(select_prof)" ;;
|
||||||
8) PACKAGES+=" $(select_extra)" ;;
|
8) PACKAGES+=" $(select_viewers)" ;;
|
||||||
|
9) PACKAGES+=" $(select_fonts)" ;;
|
||||||
|
10) PACKAGES+=" $(select_torrent)" ;;
|
||||||
|
11) PACKAGES+=" $(select_sys)" ;;
|
||||||
|
12) PACKAGES+=" $(select_extra)" ;;
|
||||||
esac
|
esac
|
||||||
select_packages
|
select_packages
|
||||||
fi
|
fi
|
||||||
@ -686,7 +697,20 @@ select_editors()
|
|||||||
printf "%s" "$pkgs"
|
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=""
|
local pkgs=""
|
||||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||||
@ -702,7 +726,7 @@ select_terminals()
|
|||||||
printf "%s" "$pkgs"
|
printf "%s" "$pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
select_multimedia()
|
select_media()
|
||||||
{
|
{
|
||||||
local pkgs=""
|
local pkgs=""
|
||||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||||
@ -720,7 +744,7 @@ select_multimedia()
|
|||||||
printf "%s" "$pkgs"
|
printf "%s" "$pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
select_mailchat()
|
select_mail()
|
||||||
{
|
{
|
||||||
local pkgs=""
|
local pkgs=""
|
||||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||||
@ -746,32 +770,58 @@ select_prof()
|
|||||||
"inkscape" "Professional vector graphics editor" off \
|
"inkscape" "Professional vector graphics editor" off \
|
||||||
"krita" "Edit and paint images" off \
|
"krita" "Edit and paint images" off \
|
||||||
"obs-studio" "Free opensource streaming/recording software" 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 \
|
"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 \
|
"audacity" "A program that lets you manipulate digital audio waveforms" off \
|
||||||
"guvcview" "Capture video from camera devices" off \
|
"guvcview" "Capture video from camera devices" off \
|
||||||
"simplescreenrecorder" "A feature-rich screen recorder" off)"
|
"simplescreenrecorder" "A feature-rich screen recorder" off)"
|
||||||
printf "%s" "$pkgs"
|
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=""
|
local pkgs=""
|
||||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
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-disk-utility" "Disk Management Utility" off \
|
||||||
"gnome-system-monitor" "View current processes and monitor system state" off \
|
"gnome-system-monitor" "View current processes and monitor system state" off \
|
||||||
"qt5ct" "GUI for managing Qt based application themes, icons, and fonts" 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)"
|
|
||||||
printf "%s" "$pkgs"
|
printf "%s" "$pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -779,20 +829,12 @@ select_extra()
|
|||||||
{
|
{
|
||||||
local pkgs=""
|
local pkgs=""
|
||||||
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
pkgs="$(checkbox "$_Packages" "$_PackageBody" \
|
||||||
"steam" "A popular game distribution platform by Valve" off \
|
"steam" "A popular game distribution platform by Valve" off \
|
||||||
"deluge" "A BitTorrent client written in python" off \
|
"gpick" "Advanced color picker using GTK+ toolkit" off \
|
||||||
"transmission-gtk" "Free BitTorrent client GTK+ GUI" off \
|
"gcolor2" "A simple GTK+2 color selector" off \
|
||||||
"qbittorrent" "An advanced BitTorrent client" off \
|
"plank" "An elegant, simple, and clean dock" off \
|
||||||
"evince" "A document viewer" off \
|
"docky" "Full fledged dock for opening applications and managing windows" off \
|
||||||
"zathura" "Minimalistic document viewer" off \
|
"cairo-dock" "Light eye-candy fully themable animated dock" 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)"
|
|
||||||
printf "%s" "$pkgs"
|
printf "%s" "$pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user