2017-02-17 04:19:17 +00:00
install_de_wm( ) {
# Only show this information box once
if [ [ $SHOW_ONCE -eq 0 ] ] ; then
DIALOG " $_InstDETitle " --msgbox " $_DEInfoBody " 0 0
SHOW_ONCE = 1
fi
# DE/WM Menu
2017-02-27 20:01:55 +00:00
DIALOG " $_InstDETitle " --checklist " \n $_InstDEBody \n\n $_UseSpaceBar " 0 0 12 \
2017-02-17 04:19:17 +00:00
"budgie-desktop" "-" off \
"cinnamon" "-" off \
"deepin" "-" off \
"deepin-extra" "-" off \
"enlightenment + terminology" "-" off \
"gnome-shell" "-" off \
"gnome" "-" off \
"gnome-extra" "-" off \
"plasma-desktop" "-" off \
"plasma" "-" off \
"kde-applications" "-" off \
"lxde" "-" off \
"lxqt + oxygen-icons" "-" off \
"mate" "-" off \
"mate-extra" "-" off \
"mate-gtk3" "-" off \
"mate-extra-gtk3" "-" off \
"xfce4" "-" off \
"xfce4-goodies" "-" off \
"awesome + vicious" "-" off \
"fluxbox + fbnews" "-" off \
"i3-wm + i3lock + i3status" "-" off \
"icewm + icewm-themes" "-" off \
"openbox + openbox-themes" "-" off \
"pekwm + pekwm-themes" "-" off \
"windowmaker" "-" off 2>${ PACKAGES }
# If something has been selected, install
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
clear
sed -i 's/+\|\"//g' ${ PACKAGES }
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-22 00:20:33 +00:00
check_for_error " ${ FUNCNAME } : ${ PACKAGES } " " $? "
2017-02-17 04:19:17 +00:00
# Clear the packages file for installation of "common" packages
echo "" > ${ PACKAGES }
# Offer to install various "common" packages.
2017-02-27 20:01:55 +00:00
DIALOG " $_InstComTitle " --checklist " \n $_InstComBody \n\n $_UseSpaceBar " 0 50 14 \
2017-02-17 04:19:17 +00:00
"bash-completion" "-" on \
"gamin" "-" on \
"gksu" "-" on \
"gnome-icon-theme" "-" on \
"gnome-keyring" "-" on \
"gvfs" "-" on \
"gvfs-afc" "-" on \
"gvfs-smb" "-" on \
"polkit" "-" on \
"poppler" "-" on \
"python2-xdg" "-" on \
"ntfs-3g" "-" on \
"ttf-dejavu" "-" on \
"xdg-user-dirs" "-" on \
"xdg-utils" "-" on \
"xterm" "-" on 2>${ PACKAGES }
# If at least one package, install.
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
clear
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-22 00:20:33 +00:00
check_for_error " basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) " " $? "
2017-02-17 04:19:17 +00:00
fi
fi
}
install_manjaro_de_wm( ) {
# Clear packages after installing base
echo "" > /tmp/.desktop
# DE/WM Menu
2017-02-27 01:06:38 +00:00
DIALOG " $_InstDETitle " --radiolist " \n $_InstManDEBody \n $( evaluate_profiles) \n\n $_UseSpaceBar " 0 0 12 \
2017-02-26 15:35:26 +00:00
$( echo $PROFILES /{ manjaro,community} /* | xargs -n1 | cut -f7 -d'/' | grep -vE "netinstall|architect" | awk '$0=$0" - off"' ) 2> /tmp/.desktop
2017-02-17 04:19:17 +00:00
# If something has been selected, install
if [ [ $( cat /tmp/.desktop) != "" ] ] ; then
2017-02-26 19:46:01 +00:00
check_for_error " selected: [Manjaro- $( cat /tmp/.desktop) ] "
2017-02-18 12:54:09 +00:00
clear
2017-02-17 04:19:17 +00:00
# Source the iso-profile
profile = $( echo $PROFILES /*/$( cat /tmp/.desktop) /profile.conf)
. $profile
overlay = $( echo $PROFILES /*/$( cat /tmp/.desktop) /desktop-overlay/)
echo $displaymanager > /tmp/.display-manager
target_desktop = $( echo $PROFILES /*/$( cat /tmp/.desktop) /Packages-Desktop)
# Parse package list based on user input and remove parts that don't belong to pacman
cat $PROFILES /shared/Packages-Root " $target_desktop " > /tmp/.edition
2017-02-26 19:46:01 +00:00
if [ [ -e /mnt/.openrc ] ] ; then
evaluate_openrc
2017-02-17 04:19:17 +00:00
# Remove any packages tagged with >systemd and remove >openrc tags
sed -i '/>systemd/d' /tmp/.edition
sed -i 's/>openrc //g' /tmp/.edition
else
# Remove any packages tagged with >openrc and remove >systemd tags
sed -i '/>openrc/d' /tmp/.edition
sed -i 's/>systemd //g' /tmp/.edition
fi
if [ [ " $( uname -m) " = = "x86_64" ] ] ; then
# Remove any packages tagged with >i686 and remove >x86_64 tags
sed -i '/>i686/d' /tmp/.edition
sed -i '/>nonfree_i686/d' /tmp/.edition
sed -i 's/>x86_64 //g' /tmp/.edition
else
# Remove any packages tagged with >x86_64 and remove >i686 tags
sed -i '/>x86_64/d' /tmp/.edition
sed -i '/>nonfree_x86_64/d' /tmp/.edition
sed -i 's/>i686 //g' /tmp/.edition
fi
# If multilib repo is enabled, install multilib packages
if grep -q "^[multilib]" ${ MOUNTPOINT } /etc/pacman.conf ; then
# Remove >multilib tags
sed -i 's/>multilib //g' /tmp/.edition
sed -i 's/>nonfree_multilib //g' /tmp/.edition
else
# Remove lines with >multilib tag
sed -i '/>multilib/d' /tmp/.edition
sed -i '/>nonfree_multilib/d' /tmp/.edition
fi
if grep -q ">extra" /tmp/.edition; then
# User to select base|extra profile
2017-02-19 18:38:41 +00:00
DIALOG " $_ExtraTitle " --no-cancel --menu " $_ExtraBody " 0 0 2 \
2017-02-17 04:19:17 +00:00
"1" "full" \
"2" "minimal" 2>/tmp/.version
2017-02-19 18:38:41 +00:00
if [ [ $( cat /tmp/.version) -eq 2 ] ] ; then
2017-02-27 01:06:38 +00:00
check_for_error "selected 'minimal' profile"
2017-02-19 18:38:41 +00:00
touch /tmp/.minimal
else
2017-02-27 01:06:38 +00:00
check_for_error "selected 'full' profile"
2017-02-19 18:38:41 +00:00
[ [ -e /tmp/.minimal ] ] && rm /tmp/.minimal
fi
2017-02-17 04:19:17 +00:00
fi
2017-02-19 18:38:41 +00:00
if [ [ -e /tmp/.minimal ] ] ; then
# Remove >extra tags
sed -i 's/>basic //g' /tmp/.edition
sed -i '/>extra/d' /tmp/.edition
else
# Remove >basic tags
sed -i 's/>extra //g' /tmp/.edition
sed -i '/>basic/d' /tmp/.edition
fi
# remove >manjaro flags and >sonar flags+pkgs until we support it properly
sed -i '/>sonar/d' /tmp/.edition
sed -i 's/>manjaro //g' /tmp/.edition
# Remove commented lines
# remove everything except the first word of every lines
sed -i 's/\s.*$//' /tmp/.edition
# Remove lines with #
sed -i '/#/d' /tmp/.edition
# remove KERNEL variable
sed -i '/KERNEL/d' /tmp/.edition
# Remove empty lines
sed -i '/^\s*$/d' /tmp/.edition
2017-02-17 04:19:17 +00:00
2017-02-19 18:38:41 +00:00
# Remove base-devel and base packages. Base is already installed and base-devel should be decided by the user
# pacman -Sgq base-devel base openrc-base > /tmp/.notincluded
# grep -v -f /tmp/.notincluded /tmp/.edition | grep -v "base-devel" > /tmp/.tmp
# mv /tmp/.tmp /tmp/.edition
# Remove packages that have been dropped from repos
pacman -Ssq > /tmp/.available_packages
grep -f /tmp/.available_packages /tmp/.edition > /tmp/.tmp
mv /tmp/.tmp /tmp/.edition
# remove zsh
sed -i '/^zsh$/d' /tmp/.edition
2017-02-19 20:07:40 +00:00
2017-02-27 01:06:38 +00:00
check_for_error " packages to install: $( cat /tmp/.edition | tr '\n' ' ' ) "
2017-02-27 11:54:03 +00:00
clear
2017-02-19 18:38:41 +00:00
# basestrap the parsed package list to the new root
2017-02-27 16:38:57 +00:00
basestrap -i ${ MOUNTPOINT } $( cat /tmp/.edition /usr/share/manjaro-architect/package-lists/input-drivers | grep -v -f /tmp/.base | sort | uniq) 2>$ERR
2017-02-23 01:42:14 +00:00
check_for_error " install pkgs: $( cat /tmp/.desktop) " " $? "
2017-02-17 04:19:17 +00:00
2017-02-19 18:38:41 +00:00
# copy the profile overlay to the new root
echo "Copying overlay files to the new root"
2017-02-19 20:07:40 +00:00
cp -r " $overlay " * ${ MOUNTPOINT } 2>$ERR
2017-02-23 01:42:14 +00:00
check_for_error "copy overlay" " $? "
2017-02-20 04:07:02 +00:00
# Copy settings to root account
2017-02-23 01:42:14 +00:00
cp -ar $MOUNTPOINT /etc/skel/. $MOUNTPOINT /root/ 2>$ERR
check_for_error "copy root config" " $? "
2017-02-20 04:07:02 +00:00
# copy settings to already created users
if [ [ -e " $( echo /mnt/home/*) " ] ] ; then
for home in $( echo $MOUNTPOINT /home/*) ; do
cp -ar $MOUNTPOINT /etc/skel/. $home /
done
fi
2017-02-19 18:38:41 +00:00
# Enable services in the chosen profile
echo "Enabling services"
2017-02-26 19:46:01 +00:00
if [ [ -e /mnt/.openrc ] ] ; then
2017-02-19 18:38:41 +00:00
eval $( grep -e "enable_openrc=" $profile | sed 's/# //g' )
echo " ${ enable_openrc [@] } " | xargs -n1 > /tmp/.services
echo /mnt/etc/init.d/* | xargs -n1 | cut -d/ -f5 > /tmp/.available_services
grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services
for service in $( cat /tmp/.services) ; do
arch_chroot " rc-update add $service default "
done
2017-02-17 04:19:17 +00:00
2017-02-19 18:38:41 +00:00
# enable display manager for openrc
if [ [ " $( cat /tmp/.display-manager) " = = sddm ] ] ; then
sed -i " s/ $( grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm) /DISPLAYMANAGER=\"sddm\"/g " /mnt/etc/conf.d/xdm
2017-02-20 04:37:13 +00:00
arch_chroot "rc-update add xdm default" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error "add xdm default: sddm" " $? "
2017-02-19 18:38:41 +00:00
set_sddm_ck
elif [ [ " $( cat /tmp/.display-manager) " = = lightdm ] ] ; then
set_lightdm_greeter
2017-02-23 22:40:55 +00:00
sed -i " s/ $( grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm) /DISPLAYMANAGER=\"lightdm\"/g " /mnt/etc/conf.d/xdm
arch_chroot "rc-update add xdm default" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error "add xdm default: lightdm" " $? "
2017-02-23 22:40:55 +00:00
2017-02-19 18:38:41 +00:00
else
echo "no display manager was installed"
sleep 2
fi
2017-02-17 04:19:17 +00:00
else
2017-02-19 18:38:41 +00:00
eval $( grep -e "enable_systemd=" $profile | sed 's/# //g' )
echo " ${ enable_systemd [@] } " | xargs -n1 > /tmp/.services
echo /mnt/usr/lib/systemd/system/* | xargs -n1 | cut -d/ -f7 | sed 's/.service//g' > /tmp/.available_services
grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services
arch_chroot " systemctl enable $( cat /tmp/.services) "
arch_chroot "systemctl disable pacman-init"
# enable display manager for systemd
if [ [ " $( cat /tmp/.display-manager) " = = lightdm ] ] ; then
set_lightdm_greeter
2017-02-19 20:07:40 +00:00
arch_chroot "systemctl enable lightdm" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error "enable lightdm" " $? "
2017-02-19 18:38:41 +00:00
elif [ [ " $( cat /tmp/.display-manager) " = = sddm ] ] ; then
2017-02-19 20:07:40 +00:00
arch_chroot "systemctl enable sddm" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error "enable sddm" " $? "
2017-02-19 18:38:41 +00:00
elif [ [ " $( cat /tmp/.display-manager) " = = gdm ] ] ; then
2017-02-19 20:07:40 +00:00
arch_chroot "systemctl enable gdm" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error "enable gdm" " $? "
2017-02-19 18:38:41 +00:00
else
echo "no display manager was installed"
sleep 2
fi
2017-02-17 04:19:17 +00:00
fi
2017-02-19 18:38:41 +00:00
# Stop for a moment so user can see if there were errors
echo ""
echo ""
echo ""
echo "press Enter to continue"
read
# Clear the packages file for installation of "common" packages
echo "" > ${ PACKAGES }
2017-02-17 04:19:17 +00:00
2017-02-19 18:38:41 +00:00
# Offer to install various "common" packages.
2017-02-17 04:19:17 +00:00
2017-02-19 19:04:27 +00:00
DIALOG " $_InstComTitle " --checklist " $_InstComBody \n\n $_UseSpaceBar " 0 50 20 \
2017-02-19 18:38:41 +00:00
"manjaro-settings-manager" "-" off \
"pamac" "-" off \
"octopi" "-" off \
"pacli" "-" off \
"pacui" "-" off \
"fish" "-" off \
"fisherman" "-" off \
"zsh" "-" on \
"zsh-completions" "-" on \
"manjaro-zsh-config" "-" on \
"grml-zsh-config" "-" off \
"mhwd-chroot" "-" off \
"bmenu" "-" on \
"clonezilla" "-" off \
"snapper" "-" off \
"snap-pac" "-" off \
"manjaro-tools-iso" "-" off \
"manjaro-tools-base" "-" off \
"manjaro-tools-pkg" "-" off 2>${ PACKAGES }
2017-02-17 04:19:17 +00:00
2017-02-19 18:38:41 +00:00
# If at least one package, install.
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
clear
2017-02-19 20:07:40 +00:00
basestrap -i ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error " basestrap -i ${ MOUNTPOINT } $( cat ${ PACKAGES } ) " " $? "
2017-02-19 18:38:41 +00:00
fi
2017-02-17 04:19:17 +00:00
fi
}
install_manjaro_de_wm_pkg( ) {
PROFILES = "/usr/share/manjaro-tools/iso-profiles"
# Only show this information box once
if [ [ $SHOW_ONCE -eq 0 ] ] ; then
2017-02-27 04:03:17 +00:00
DIALOG " $_InstDETitle " --msgbox " \n $_InstPBody \n\n " 0 0
2017-02-17 04:19:17 +00:00
SHOW_ONCE = 1
fi
2017-02-18 12:20:53 +00:00
clear
2017-02-17 04:19:17 +00:00
# install iso-profiles pkgs as needed
local pkgs = ( manjaro-iso-profiles-{ base,official,community} )
for p in ${ pkgs [@] } ; do
inst_needed $p
done
install_manjaro_de_wm
}
install_manjaro_de_wm_git( ) {
2017-02-18 02:12:24 +00:00
PROFILES = " $DATADIR /profiles "
2017-02-17 04:19:17 +00:00
# Only show this information box once
if [ [ $SHOW_ONCE -eq 0 ] ] ; then
2017-02-27 04:03:17 +00:00
DIALOG " $_InstDETitle " --msgbox " \n $_InstPBody \n\n " 0 0
2017-02-17 04:19:17 +00:00
SHOW_ONCE = 1
fi
2017-02-17 23:32:00 +00:00
clear
2017-02-17 04:19:17 +00:00
# install git if not already installed
inst_needed git
# download manjaro-tools.-isoprofiles git repo
if [ [ -f $PROFILES ] ] ; then
git -C $PROFILES pull
else
git clone --depth 1 https://github.com/manjaro/iso-profiles.git $PROFILES
fi
install_manjaro_de_wm
}
# Display Manager
install_dm( ) {
# Save repetition of code
enable_dm( ) {
2017-02-26 19:46:01 +00:00
if [ [ -e /mnt/.openrc ] ] ; then
2017-02-17 04:19:17 +00:00
sed -i " s/ $( grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm) /DISPLAYMANAGER=\" $( cat ${ PACKAGES } ) \"/g " /mnt/etc/conf.d/xdm
2017-02-19 20:07:40 +00:00
arch_chroot "rc-update add xdm default" 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error " $FUNCNAME " " $? "
2017-02-17 04:19:17 +00:00
DM = $( cat ${ PACKAGES } )
DM_ENABLED = 1
else
# enable display manager for systemd
2017-02-19 20:07:40 +00:00
arch_chroot " systemctl enable $( cat ${ PACKAGES } ) " 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error " $FUNCNAME " " $? "
2017-02-17 04:19:17 +00:00
DM = $( cat ${ PACKAGES } )
DM_ENABLED = 1
fi
}
if [ [ $DM_ENABLED -eq 0 ] ] ; then
# Prep variables
echo "" > ${ PACKAGES }
dm_list = "gdm lxdm lightdm sddm"
DM_LIST = ""
DM_INST = ""
# Generate list of DMs installed with DEs, and a list for selection menu
for i in ${ dm_list } ; do
[ [ -e ${ MOUNTPOINT } /usr/bin/${ i } ] ] && DM_INST = " ${ DM_INST } ${ i } "
DM_LIST = " ${ DM_LIST } ${ i } - "
done
DIALOG " $_DmChTitle " --menu " $_AlreadyInst $DM_INST \n\n $_DmChBody " 0 0 4 \
${ DM_LIST } 2>${ PACKAGES }
clear
# If a selection has been made, act
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
# check if selected dm already installed. If so, enable and break loop.
for i in ${ DM_INST } ; do
if [ [ $( cat ${ PACKAGES } ) = = ${ i } ] ] ; then
enable_dm
break;
fi
done
# If no match found, install and enable DM
if [ [ $DM_ENABLED -eq 0 ] ] ; then
# Where lightdm selected, add gtk greeter package
sed -i 's/lightdm/lightdm lightdm-gtk-greeter/' ${ PACKAGES }
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-17 04:19:17 +00:00
# Where lightdm selected, now remove the greeter package
sed -i 's/lightdm-gtk-greeter//' ${ PACKAGES }
enable_dm
fi
fi
fi
# Show after successfully installing or where attempting to repeat when already completed.
[ [ $DM_ENABLED -eq 1 ] ] && DIALOG " $_DmChTitle " --msgbox " $_DmDoneBody " 0 0
}
set_lightdm_greeter( ) {
local greeters = $( ls /mnt/usr/share/xgreeters/*greeter.desktop) name
for g in ${ greeters [@] } ; do
name = ${ g ##*/ }
name = ${ name %%.* }
case ${ name } in
lightdm-gtk-greeter)
break
; ;
lightdm-*-greeter)
sed -i -e " s/^.*greeter-session=.*/greeter-session= ${ name } / " /mnt/etc/lightdm/lightdm.conf
; ;
esac
done
}
set_sddm_ck( ) {
local halt = '/usr/bin/shutdown -h -P now' \
reboot = '/usr/bin/shutdown -r now'
sed -e " s|^.*HaltCommand=.*|HaltCommand= ${ halt } | " \
-e " s|^.*RebootCommand=.*|RebootCommand= ${ reboot } | " \
-e "s|^.*MinimumVT=.*|MinimumVT=7|" \
-i "/mnt/etc/sddm.conf"
arch_chroot "gpasswd -a sddm video &> /dev/null"
}
# Network Manager
install_nm( ) {
# Save repetition of code
enable_nm( ) {
2017-02-26 19:46:01 +00:00
# Add openrc support. If openrcbase was installed, the file /mnt/.openrc should exist.
2017-02-17 04:19:17 +00:00
if [ [ $( cat ${ PACKAGES } ) = = "NetworkManager" ] ] ; then
2017-02-26 19:46:01 +00:00
if [ [ -e /mnt/.openrc ] ] ; then
2017-02-24 02:58:30 +00:00
arch_chroot "rc-update add NetworkManager default" 2>$ERR
else
arch_chroot "systemctl enable NetworkManager NetworkManager-dispatcher" >/tmp/.symlink 2>$ERR
fi
2017-02-17 04:19:17 +00:00
else
2017-02-26 19:46:01 +00:00
if [ [ -e /mnt/.openrc ] ] ; then
2017-02-24 02:58:30 +00:00
arch_chroot " rc-update add $( cat ${ PACKAGES } ) default " 2>$ERR
else
2017-02-19 20:07:40 +00:00
arch_chroot " systemctl enable $( cat ${ PACKAGES } ) " 2>$ERR
2017-02-24 02:58:30 +00:00
fi
2017-02-17 04:19:17 +00:00
fi
2017-02-22 00:09:09 +00:00
check_for_error " $FUNCNAME " " $? "
2017-02-17 04:19:17 +00:00
NM_ENABLED = 1
}
if [ [ $NM_ENABLED -eq 0 ] ] ; then
# Prep variables
echo "" > ${ PACKAGES }
nm_list = "connman CLI dhcpcd CLI netctl CLI NetworkManager GUI wicd GUI"
NM_LIST = ""
NM_INST = ""
# Generate list of DMs installed with DEs, and a list for selection menu
for i in ${ nm_list } ; do
[ [ -e ${ MOUNTPOINT } /usr/bin/${ i } ] ] && NM_INST = " ${ NM_INST } ${ i } "
NM_LIST = " ${ NM_LIST } ${ i } "
done
# Remove netctl from selectable list as it is a PITA to configure via arch_chroot
NM_LIST = $( echo $NM_LIST | sed "s/netctl CLI//" )
DIALOG " $_InstNMTitle " --menu " $_AlreadyInst $NM_INST \n $_InstNMBody " 0 0 4 \
${ NM_LIST } 2> ${ PACKAGES }
clear
# If a selection has been made, act
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
# check if selected nm already installed. If so, enable and break loop.
for i in ${ NM_INST } ; do
[ [ $( cat ${ PACKAGES } ) = = ${ i } ] ] && enable_nm && break
done
# If no match found, install and enable NM
if [ [ $NM_ENABLED -eq 0 ] ] ; then
# Where networkmanager selected, add network-manager-applet
sed -i 's/NetworkManager/networkmanager network-manager-applet/g' ${ PACKAGES }
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-17 04:19:17 +00:00
# Where networkmanager selected, now remove network-manager-applet
sed -i 's/networkmanager network-manager-applet/NetworkManager/g' ${ PACKAGES }
enable_nm
fi
fi
fi
# Show after successfully installing or where attempting to repeat when already completed.
[ [ $NM_ENABLED -eq 1 ] ] && DIALOG " $_InstNMTitle " --msgbox " $_InstNMErrBody " 0 0
}
install_multimedia_menu( ) {
local PARENT = " $FUNCNAME "
install_alsa_pulse( ) {
# Prep Variables
echo "" > ${ PACKAGES }
ALSA = ""
PULSE_EXTRA = ""
alsa = $( pacman -Ss alsa | awk '{print $1}' | grep "/alsa-" | sed "s/extra\///g" | sort -u)
pulse_extra = $( pacman -Ss pulseaudio- | awk '{print $1}' | sed "s/extra\///g" | grep "pulseaudio-" | sort -u)
for i in ${ alsa } ; do
ALSA = " ${ ALSA } ${ i } - off "
done
ALSA = $( echo $ALSA | sed "s/alsa-utils - off/alsa-utils - on/g" | sed "s/alsa-plugins - off/alsa-plugins - on/g" )
for i in ${ pulse_extra } ; do
PULSE_EXTRA = " ${ PULSE_EXTRA } ${ i } - off "
done
DIALOG " $_InstMulSnd " --checklist " $_InstMulSndBody \n\n $_UseSpaceBar " 0 0 6 \
$ALSA "pulseaudio" "-" off $PULSE_EXTRA \
"paprefs" "pulseaudio GUI" off \
"pavucontrol" "pulseaudio GUI" off \
"ponymix" "pulseaudio CLI" off \
"volumeicon" "ALSA GUI" off \
"volwheel" "ASLA GUI" off 2>${ PACKAGES }
clear
# If at least one package, install.
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error " $FUNCNAME " " $? "
2017-02-17 04:19:17 +00:00
fi
}
install_codecs( ) {
# Prep Variables
echo "" > ${ PACKAGES }
GSTREAMER = ""
gstreamer = $( pacman -Ss gstreamer | awk '{print $1}' | grep "/gstreamer" | sed "s/extra\///g" | sed "s/community\///g" | sort -u)
echo $gstreamer
for i in ${ gstreamer } ; do
GSTREAMER = " ${ GSTREAMER } ${ i } - off "
done
2017-02-19 19:04:27 +00:00
DIALOG " $_InstMulCodec " --checklist " $_InstMulCodBody \n\n $_UseSpaceBar " 0 0 14 \
2017-02-17 04:19:17 +00:00
$GSTREAMER "xine-lib" "-" off 2>${ PACKAGES }
2017-02-19 19:30:12 +00:00
clear
2017-02-17 04:19:17 +00:00
# If at least one package, install.
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-22 00:09:09 +00:00
check_for_error " $FUNCNAME " " $? "
2017-02-17 04:19:17 +00:00
fi
}
install_cust_pkgs( ) {
echo "" > ${ PACKAGES }
DIALOG " $_InstMulCust " --inputbox " $_InstMulCustBody " 0 0 "" 2>${ PACKAGES } || install_multimedia_menu
clear
# If at least one package, install.
if [ [ $( cat ${ PACKAGES } ) != "" ] ] ; then
if [ [ $( cat ${ PACKAGES } ) = = "hen poem" ] ] ; then
DIALOG " \"My Sweet Buckies\" by Atiya & Carl " --msgbox "\nMy Sweet Buckies,\nYou are the sweetest Buckies that ever did \"buck\",\nLily, Rosie, Trumpet, and Flute,\nMy love for you all is absolute!\n\nThey buck: \"We love our treats, we are the Booyakka sisters,\"\n\"Sometimes we squabble and give each other comb-twisters,\"\n\"And in our garden we love to sunbathe, forage, hop and jump,\"\n\"We love our freedom far, far away from that factory farm dump,\"\n\n\"For so long we were trapped in cramped prisons full of disease,\"\n\"No sunlight, no fresh air, no one who cared for even our basic needs,\"\n\"We suffered in fear, pain, and misery for such a long time,\"\n\"But now we are so happy, we wanted to tell you in this rhyme!\"\n\n" 0 0
else
2017-02-19 20:07:40 +00:00
basestrap ${ MOUNTPOINT } $( cat ${ PACKAGES } ) 2>$ERR
2017-02-23 22:40:55 +00:00
check_for_error " $FUNCNAME $( cat ${ PACKAGES } ) " " $? "
2017-02-17 04:19:17 +00:00
fi
fi
}
submenu 5
2017-02-20 17:07:58 +00:00
DIALOG " $_InstMultMenuBody " --default-item ${ HIGHLIGHT_SUB } --menu " $_InstMultMenuTitle " 0 0 5 \
2017-02-17 04:19:17 +00:00
"1" " $_InstMulSnd " \
"2" " $_InstMulCodec " \
"3" " $_InstMulAcc " \
"4" " $_InstMulCust " \
"5" " $_Back " 2>${ ANSWER }
HIGHLIGHT_SUB = $( cat ${ ANSWER } )
case $( cat ${ ANSWER } ) in
"1" ) install_alsa_pulse
; ;
"2" ) install_codecs
; ;
"3" ) install_acc_menu
; ;
"4" ) install_cust_pkgs
; ;
*) main_menu_online
; ;
esac
install_multimedia_menu
}