Heavy improvements on package selections, and logic.
This commit is contained in:
parent
230e062a3e
commit
7beb991905
|
@ -16,54 +16,88 @@ else
|
|||
echo "Let's start!"
|
||||
fi
|
||||
|
||||
# Define upstream peer
|
||||
urel_orig=$(lsb_release -sc)
|
||||
if [ "$urel_orig" = "flidas" ]; then
|
||||
urel="xenial"
|
||||
elif [ "$urel_orig" = "etiona" ]; then
|
||||
urel="bionic"
|
||||
elif [ "$urel_orig" = "nabia" ]; then
|
||||
urel="focal"
|
||||
else
|
||||
urel="$(lsb_release -sc)"
|
||||
# Office use?
|
||||
while [[ "$OFFICE_USE" != "yes" && "$OFFICE_USE" != "no" ]]
|
||||
do
|
||||
read -p "> Is this planned to be for office use: (yes or no)"$'\n' -r OFFICE_USE
|
||||
if [ "$OFFICE_USE" = "no" ]; then
|
||||
echo "Ok, some extra packages will be added."
|
||||
elif [ "$OFFICE_USE" = "yes" ]; then
|
||||
echo "Ok, we'll stick to the office related packages only."
|
||||
fi
|
||||
done
|
||||
|
||||
# External AppImages
|
||||
## Nextcloud
|
||||
while [[ "$NC_APPIMAGE" != "yes" && "$NC_APPIMAGE" != "no" ]]
|
||||
do
|
||||
read -p "> Do you want to setup Nextcloud AppImage: (yes or no)"$'\n' -r NC_APPIMAGE
|
||||
if [ "$NC_APPIMAGE" = "yes" ]; then
|
||||
echo "Ok, Nextcloud AppImage will be added."
|
||||
elif [ "$NC_APPIMAGE" = "no" ]; then
|
||||
echo "Nextcloud AppImage won't be setup."
|
||||
fi
|
||||
done
|
||||
|
||||
DIST="$(lsb_release -sc)"
|
||||
rename_distro() {
|
||||
if [ "$DIST" = "$1" ]; then
|
||||
DIST="$2"
|
||||
fi
|
||||
}
|
||||
#Trisquel distro renaming
|
||||
rename_distro flidas xenial
|
||||
rename_distro etiona bionic
|
||||
rename_distro nabia focal
|
||||
|
||||
# Functions
|
||||
install_bundle_packages() {
|
||||
for i in $1
|
||||
do
|
||||
do
|
||||
if [ "$(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed")" == "1" ]; then
|
||||
echo " > Package $i already installed."
|
||||
else
|
||||
if [ -z "$(apt-cache madison $i 2>/dev/null)" ]; then
|
||||
echo " > Package $i not available on repo."
|
||||
else
|
||||
echo " > Add package $i to the install list"
|
||||
iPackages="$iPackages $i"
|
||||
fi
|
||||
done
|
||||
echo "$iPackages"
|
||||
if [ -z "$iPackages" ]; then
|
||||
fi
|
||||
done
|
||||
echo "$iPackages"
|
||||
if [ -z "$iPackages" ]; then
|
||||
echo "Nothing to install..."
|
||||
else
|
||||
else
|
||||
echo "Installing packages..."
|
||||
sudo apt-get -y install $iPackages
|
||||
fi
|
||||
fi
|
||||
}
|
||||
remove_bundle_packages() {
|
||||
for i in $1
|
||||
do
|
||||
do
|
||||
if [ "$(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed")" == "0" ]; then
|
||||
echo " > Package $i is not installed."
|
||||
else
|
||||
echo " > Add package $i to the remove list"
|
||||
rPackages="$rPackages $i"
|
||||
fi
|
||||
done
|
||||
echo "$rPackages"
|
||||
if [ "$(wc -w <<< $rPackages)" = "1" ]; then
|
||||
done
|
||||
echo "$rPackages"
|
||||
if [ "$(wc -w <<< $rPackages)" = "0" ]; then
|
||||
echo "Nothing to remove..."
|
||||
else
|
||||
else
|
||||
echo "Removing packages..."
|
||||
sudo apt-get -y remove $rPackages
|
||||
fi
|
||||
fi
|
||||
}
|
||||
set_once() {
|
||||
if [ -z "$(awk '!/^ *#/ && NF {print}' "$2"|grep $(echo $1|awk -F '=' '{print$1}'))" ]; then
|
||||
echo "Setting "$1" on "$2"..."
|
||||
echo "$1" | sudo tee -a "$2"
|
||||
else
|
||||
echo " \"$(echo $1|awk -F '=' '{print$1}')\" seems present, skipping setting this variable"
|
||||
fi
|
||||
}
|
||||
change_background() {
|
||||
if [ "$(lsb_release -si)" = "$1" ]; then
|
||||
|
@ -74,6 +108,17 @@ if [ "$(lsb_release -si)" = "$1" ]; then
|
|||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$DIST" = "bionic" ] || \
|
||||
[ "$DIST" = "focal" ]; then
|
||||
echo "OS: $(lsb_release -sd)"
|
||||
echo "Good, this is a supported platform!"
|
||||
else
|
||||
echo "OS: $(lsb_release -sd)"
|
||||
echo "Sorry, this platform is not supported... exiting"
|
||||
exit
|
||||
fi
|
||||
|
||||
sudo apt-get update
|
||||
install_bundle_packages "curl \
|
||||
net-tools \
|
||||
|
@ -114,23 +159,44 @@ HB_REPO="$(apt-cache policy | \
|
|||
awk '/handbrake/{print$2}' | \
|
||||
awk -F "/" 'NR==1{print$5}')"
|
||||
##Custom locale
|
||||
lcl="$(env | grep LANGUAGE | awk -F ':' '{print $2}')"
|
||||
lcl="$(env|awk -F ':' '/LANGUAGE/{print$2}')"
|
||||
|
||||
# == Setup ==
|
||||
echo "Remove discouraged packages from system..."
|
||||
remove_bundle_packages "celluloid \
|
||||
evolution \
|
||||
pidgin \
|
||||
snapd \
|
||||
transmission-gtk \
|
||||
viewnior"
|
||||
|
||||
echo "Removing unused snap bits."
|
||||
if [ -d $HOME/snap ]; then
|
||||
rm -rf $HOME/snap
|
||||
fi
|
||||
|
||||
# Remove unnecesary locales
|
||||
if [ "$(lsb_release -si)" = "Trisquel" ]; then
|
||||
sudo apt-get -y remove "abrowser-locale-*[!(en|$lcl)]" \
|
||||
abrowser-locale-cs \
|
||||
abrowser-locale-de \
|
||||
abrowser-locale-he \
|
||||
abrowser-locale-nn \
|
||||
abrowser-locale-zh-hans
|
||||
abrowser_l10n="$(apt-cache search abrowser-locale|awk '{print$1}'|xargs)"
|
||||
ab_l10n_array=( $abrowser_l10n )
|
||||
for a in "${ab_l10n_array[@]}"; do
|
||||
if [ "$(dpkg-query -W -f='${Status}' $a 2>/dev/null | grep -c "ok installed")" == "0" ]; then
|
||||
echo " > Package $a is not installed.">/dev/null
|
||||
elif [ $a != abrowser-locale-$lcl ] && [ $a != abrowser-locale-en ]; then
|
||||
echo " > Add package $a to the remove list"
|
||||
rAbrowser="$rAbrowser $a"
|
||||
else
|
||||
echo "> Keeping $a..."
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$(wc -w <<< $rAbrowser)" = "0" ]; then
|
||||
echo "Nothing to remove..."
|
||||
else
|
||||
echo "Removing abrowser locale packages..."
|
||||
sudo apt-get -y remove $rAbrowser
|
||||
fi
|
||||
#--
|
||||
sudo apt-get -y remove "icedove-locale-*[!(en|$lcl)]"
|
||||
sudo apt-get -y remove "libreoffice-l10n-*[!(en|$lcl)]"
|
||||
fi
|
||||
|
@ -144,7 +210,6 @@ fi
|
|||
install_bundle_packages "apt-file \
|
||||
clementine \
|
||||
cheese \
|
||||
evolution \
|
||||
filezilla \
|
||||
font-manager \
|
||||
git \
|
||||
|
@ -152,7 +217,6 @@ install_bundle_packages "apt-file \
|
|||
gnome-disk-utility \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gthumb \
|
||||
inkscape \
|
||||
kolourpaint4 \
|
||||
mpv \
|
||||
pdfarranger \
|
||||
|
@ -163,47 +227,51 @@ install_bundle_packages "apt-file \
|
|||
unar \
|
||||
vlc \
|
||||
vokoscreen"
|
||||
sudo apt-file update
|
||||
|
||||
#Devel env
|
||||
if [ "$devel-env" = "yes" ]; then
|
||||
if [ "$OFFICE_USE" = "no" ]; then
|
||||
install_bundle_packages "audacity \
|
||||
bmon \
|
||||
deluge \
|
||||
exfalso \
|
||||
geany \
|
||||
htop"
|
||||
htop \
|
||||
inkscape"
|
||||
|
||||
sudo apt-get install -y --no-install-recommends texlive-extra-utils
|
||||
fi
|
||||
sudo apt-file update
|
||||
|
||||
# Install custom software
|
||||
## - libreoffice
|
||||
if [ -z "$LIBO_REPO" ]; then
|
||||
if [ "$(lsb_release -si)" = "Ubuntu" ] && [ -z "$LIBO_REPO" ]; then
|
||||
echo "Installing LibreOffice Fresh"
|
||||
sudo apt-key adv -q --keyserver keyserver.ubuntu.com --recv-keys "$gpg_libo"
|
||||
echo "deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu ${urel} main
|
||||
deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu ${urel} main" | \
|
||||
echo "deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu ${DIST} main
|
||||
deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu ${DIST} main" | \
|
||||
sudo tee /etc/apt/sources.list.d/libo-fresh.list
|
||||
fi
|
||||
sudo apt-get update -q2
|
||||
rm -rf $HOME/.config/libreoffice/
|
||||
sudo apt-get -yq install libreoffice
|
||||
|
||||
## - mpv
|
||||
if [ -z "$MPV_REPO" ]; then
|
||||
echo "Installing MPV PPA"
|
||||
sudo apt-key adv -q --keyserver keyserver.ubuntu.com --recv-keys "$gpg_mpv"
|
||||
echo "deb http://ppa.launchpad.net/mc3man/mpv-tests/ubuntu ${urel} main
|
||||
deb-src http://ppa.launchpad.net/mc3man/mpv-tests/ubuntu ${urel} main" | \
|
||||
echo "deb http://ppa.launchpad.net/mc3man/mpv-tests/ubuntu ${DIST} main
|
||||
deb-src http://ppa.launchpad.net/mc3man/mpv-tests/ubuntu ${DIST} main" | \
|
||||
sudo tee /etc/apt/sources.list.d/mpv-ppa.list
|
||||
fi
|
||||
sudo apt-get update -q2
|
||||
sudo apt-get -yq install mpv
|
||||
|
||||
# - handbreak
|
||||
if [ "$(lsb_release -si)" = "Ubuntu" && -z "$HB_REPO" ]; then
|
||||
if [ "$(lsb_release -si)" = "Ubuntu" ] && [ -z "$HB_REPO" ]; then
|
||||
echo "Installing Handbreak PPA"
|
||||
sudo apt-key adv -q --keyserver keyserver.ubuntu.com --recv-keys $gpg_hb
|
||||
echo "deb http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu $urel main
|
||||
deb-src http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu $urel main" | \
|
||||
sudo apt-key adv -q --keyserver keyserver.ubuntu.com --recv-keys "$gpg_hb"
|
||||
echo "deb http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu $DIST main
|
||||
deb-src http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu $DIST main" | \
|
||||
sudo tee /etc/apt/sources.list.d/hb-ppa.list
|
||||
fi
|
||||
sudo apt-get update -q2
|
||||
|
@ -226,9 +294,6 @@ else
|
|||
fi
|
||||
fi
|
||||
|
||||
sudo apt-get -y install libdvd-pkg
|
||||
sudo dpkg-reconfigure libdvd-pkg
|
||||
|
||||
# Further customization
|
||||
## Hardcode Terminator
|
||||
if [ "$(mate-terminal -v 2>/dev/null | grep -c "terminator")" == "1" ]; then
|
||||
|
@ -240,38 +305,40 @@ fi
|
|||
|
||||
## inotify_watch 2^18 (default 8192)
|
||||
sudo sysctl -w fs.inotify.max_user_watches=262144
|
||||
if [ "$(grep -c "max_user_watches=262144" /etc/sysctl.conf)" = "0" ]; then
|
||||
echo 'fs.inotify.max_user_watches=262144' | sudo tee -a /etc/sysctl.conf
|
||||
else
|
||||
echo "iNotify already set."
|
||||
fi
|
||||
set_once "fs.inotify.max_user_watches=262144" "/etc/sysctl.conf"
|
||||
|
||||
# AI binaries
|
||||
## Nextcloud
|
||||
if [ ! -f $HOME/AI/$NCAppImageBIN ];then
|
||||
if [ "$NC_APPIMAGE" = "yes" ]; then
|
||||
if [ ! -f $HOME/AI/$NCAppImageBIN ];then
|
||||
echo "Setting Nextcloud AppImage"
|
||||
mkdir ~/AI
|
||||
cd ~/AI
|
||||
wget -cP /tmp $NC_ASC
|
||||
wget -c $NCAppImageDL
|
||||
if [ $(lsb_release -sc) = "focal" ] || \
|
||||
[ $(lsb_release -sc) = "nabia" ]; then
|
||||
if [ "$(lsb_release -sc)" = "focal" ] || \
|
||||
[ "$(lsb_release -sc)" = "nabia" ]; then
|
||||
nc_fpr="$(gpg --show-keys /tmp/nextcloud.asc|awk '!/[psub]/{print$1}'|awk NF)"
|
||||
elif [ $(lsb_release -sc) = "bionic" ] || \
|
||||
[ $(lsb_release -sc) = "etiona" ]; then
|
||||
elif [ "$(lsb_release -sc)" = "bionic" ] || \
|
||||
[ "$(lsb_release -sc)" = "etiona" ]; then
|
||||
nc_fpr="$(gpg 2>/dev/null /tmp/nextcloud.asc|awk '!/[psub]/{print$1}'|awk NF)"
|
||||
fi
|
||||
gpg --import /tmp/nextcloud.asc
|
||||
echo -e "5\ny\n" | gpg --command-fd 0 --expert --edit-key $nc_fpr trust
|
||||
gpg --verify $NCAppImageASC $NCAppImageBIN
|
||||
|
||||
echo "
|
||||
|------------------ Checking Nextcloud AI client GPG Signature ------------------|"
|
||||
gpg --verify $NCAppImageASC $NCAppImageBIN
|
||||
echo " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|--------------------------------------------------------------------------------|
|
||||
"
|
||||
chmod +x $NCAppImageBIN
|
||||
rm /tmp/nextcloud.asc
|
||||
rm $NCAppImageASC
|
||||
else
|
||||
else
|
||||
echo "Nextcloud AppImage seems already there, skiping..."
|
||||
fi
|
||||
fi
|
||||
|
||||
#Change background
|
||||
change_background Ubuntu /usr/share/backgrounds/ubuntu-mate-photos/sebastian-muller-52.jpg
|
||||
change_background Trisquel /usr/share/backgrounds/belenos3.png
|
||||
|
|
Loading…
Reference in New Issue