diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 index 7985c5f..3f1ab84 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,4 @@ backup/* deb/* .remote-sync.json *.sync-conflict-* -utils/* -TODO.txt +utils/* \ No newline at end of file diff --git a/.whitesource b/.whitesource deleted file mode 100755 index c15191b..0000000 --- a/.whitesource +++ /dev/null @@ -1,8 +0,0 @@ -{ - "generalSettings": { - "shouldScanRepo": true - }, - "checkRunSettings": { - "vulnerableCheckRunConclusionLevel": "success" - } -} \ No newline at end of file diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 index 7a0adb3..8e05058 --- a/README.md +++ b/README.md @@ -1,42 +1,31 @@ -# Yggdrasil-NG - ![yggdrasil](logo.png) -> **Notice** : this script is no longer maintain ! +About +----- -The purpose of this script is to provide a tool to install, customize and tweak a fresh installation of Linux Mint / Ubuntu. +!! Warnings : this is a early beta version !! -## Installation +The purpose of this script is to provide a full set of tools to install, customize and tweak a fresh installation of Linux Mint 18.x, Ubuntu 16.04 and derivatives -### Linux Mint 20 / Ubuntu 20.04 (Yggdrasil >= 0.6.1-b21) +Installation +------------ -```shell -curl -L https://packagecloud.io/makoto/stable/gpgkey | sudo apt-key add - -echo "deb https://packagecloud.io/makoto/stable/ubuntu/ focal main" | sudo tee /etc/apt/sources.list.d/makoto.list -sudo apt-get update -sudo apt-get install yggdrasil +``` +git clone https://github.com/shakasan/yggdrasil_ng.git +cd yggdrasil_ng +chmod +x yggdrasil.sh +./yggdrasil.sh ``` -### Linux Mint 19 / Ubuntu 18.04 (Yggdrasil <= 0.6.1-b19) +Credits +------- -> - As Linux Mint 20 is released for a while already, this version of Yggdrasil is End of Life and thus is frozen as it. -> - No bugs fixed, features or any changes will be made on this branch anymore. -> - If you still need it, use it at your own risk and without guarantee third parties repositories are still available -> - The latest version of Yggdrasil for this branch is : 0.6.1-b19 +This script has been written by Francois B. (Makotosan) -```shell -curl -L https://packagecloud.io/makoto/stable/gpgkey | sudo apt-key add - -echo "deb https://packagecloud.io/makoto/stable/ubuntu/ bionic main" | sudo tee /etc/apt/sources.list.d/makoto.list -sudo apt-get update -sudo apt-get install yggdrasil=0.6.1-b19 -``` +* Email : shakasan@sirenacorp.be +* Website : https://makotonoblog.be/ -## Credits +Licence +------- -- Author : Francois B. (Makoto) -- Email : -- Website : - -## Licence - -The script is licensed under the terms of the GPL-3.0 +The script is licensed under the terms of the GPLv3 diff --git a/core_functions.sh b/core_functions.sh old mode 100755 new mode 100644 index 6a6089c..f916408 --- a/core_functions.sh +++ b/core_functions.sh @@ -1,14 +1,14 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# -#-----------------------------------------------------------------------------# -# core functions # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# core functions # +#------------------------------------------------------------------------------# # # display a simple message + CR @@ -79,9 +79,9 @@ function pressKey () { } # -# check if OS is Mint 18 +# check if OS is Mint # -function isMint18 () { +function isMint () { OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` if [[ $OS == *"Linux Mint 18"* ]]; then return 0 @@ -90,66 +90,6 @@ function isMint18 () { fi } -# -# check if OS is Ubuntu 16.04 -# -function isUbuntu1604 () { - OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` - if [[ $OS == *"Ubuntu 16.04"* ]]; then - return 0 - else - return 1 - fi -} - -# -# check if OS is Mint 19 -# -function isMint19 () { - OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` - if [[ $OS == *"Linux Mint 19"* ]]; then - return 0 - else - return 1 - fi -} - -# -# check if OS is Ubuntu 18.04 -# -function isUbuntu1804 () { - OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` - if [[ $OS == *"Ubuntu 18.04"* ]]; then - return 0 - else - return 1 - fi -} - -# -# check if OS is Mint 20 -# -function isMint20 () { - OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` - if [[ $OS == *"Linux Mint 20"* ]]; then - return 0 - else - return 1 - fi -} - -# -# check if OS is Ubuntu 20.04 -# -function isUbuntu2004 () { - OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` - if [[ $OS == *"Ubuntu 20.04"* ]]; then - return 0 - else - return 1 - fi -} - # # check if DE is Mate # @@ -161,34 +101,98 @@ function isMate () { fi } -# -# heck if DE is Cinnamon -# -function isCinnamon () { - if [[ $DESKTOP_SESSION == *"cinnamon"* ]]; then - return 0 - else - return 1 - fi -} - # # check and install required dependencies for Yggdrasil # function yggInit () { - msg "Performing some Initializing steps" + typeset ret_code + printf "[INIT]" runCmd "echo sience-config science-config/group select '$myHomedir ($myHomedir)' | sudo debconf-set-selections" \ "apply settings for science-config pkg" if ! dpkg --print-foreign-architectures | grep -qi i386; then + printf "[INIT]" runCmd "sudo dpkg --add-architecture i386" \ "adding i386 architecture" else - printf "i386 architecture already added [ "$BOLDVERT"OK"$NORMAL" ] \n" + printf "[INIT] i386 architecture already added [ "$BOLDVERT"OK"$NORMAL" ] \n" fi - installAppsFromList init + if ! grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -q ubuntu-make; then + printf "[INIT][UMAKE] PPA not found, adding PPA...\n" + printf "[INIT][UMAKE] PPA not found, adding PPA...\n" &>> $logFile + addPPA "ubuntu-desktop/ubuntu-make" + else + printf "[INIT][UMAKE] PPA found [ "$BOLDVERT"OK"$NORMAL" ] \n" + fi + + printf "[INIT][APT] update " + printf "\n[INIT][APT] update\n" &>> $logFile + sudo apt-get update &>> $logFile + ret_code=$? + retCode $ret_code + + printf "[INIT]" + installPackage apt "apt-transport-https" + + if ! which umake >/dev/null; then + printf "[INIT][UMAKE] not found, installing...\n" + printf "\n[INIT][UMAKE] not found, installing...\n" &>> $logFile + installPackage apt "ubuntu-make" + else + printf "[INIT][UMAKE] found [ "$BOLDVERT"OK"$NORMAL" ] \n" + fi + + if ! which gem >/dev/null; then + printf "[INIT][GEM] not found, installing...\n" + printf "\n[INIT][GEM] not found, installing...\n" &>> $logFile + installPackage apt "ruby-dev" + else + printf "[INIT][GEM] found [ "$BOLDVERT"OK"$NORMAL" ] \n" + fi + + if ! which snap >/dev/null; then + printf "[INIT][SNAP] not found, installing...\n" + printf "\n[INIT][SNAP] not found, installing...\n" &>> $logFile + installPackage apt "snapd" + else + printf "[INIT][SNAP] found [ "$BOLDVERT"OK"$NORMAL" ] \n" + fi + + if ! which npm >/dev/null; then + printf "[INIT][NPM] not found, installing...\n" + printf "\n[INIT][NPM] not found, installing...\n" &>> $logFile + installPackage apt "nodejs" + else + printf "[INIT][NPM] found [ "$BOLDVERT"OK"$NORMAL" ] \n" + fi + + if ! which pip3 >/dev/null; then + printf "[INIT][PIP] not found, installing...\n" + printf "\n[INIT][PIP] not found, installing...\n" &>> $logFile + printf "[INIT]" + installPackage apt "python3-pip" + printf "[INIT]" + installPackage pip "pip" + printf "[INIT]" + installPackage pip "setuptools" + else + printf "[INIT][PIP] found [ "$BOLDVERT"OK"$NORMAL" ] \n" + printf "[INIT]" + installPackage pip "pip" + printf "[INIT]" + installPackage pip "setuptools" + fi +} + +# +# update kernel to the latest version +# +function kernelUpdate () { + checkAndInstallDep apt ukuu ukuu \ + && runCmd "sudo ukuu --install-latest --yes" \ + "installing latest kernel" } # @@ -224,14 +228,6 @@ function updateSystem () { retCode $ret_code fi - if which flatpak >/dev/null; then - printf "[FLATPAK] update " - printf "\n[FLATPAK] update\n" &>> $logFile - sudo flatpak update -y &>> $logFile - ret_code=$? - retCode $ret_code - fi - repoAdded=0 } @@ -249,11 +245,7 @@ function addPPA () { if ! grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -q ${str2search}; then printf "[PPA] adding : $* " printf "\n[PPA] adding $*\n" &>> $logFile - if isUbuntu2004; then - sudo add-apt-repository -yn $* &>> $logFile - else - sudo add-apt-repository -y $* &>> $logFile - fi + sudo add-apt-repository -y $* &>> $logFile ret_code=$? retCode $ret_code else @@ -293,21 +285,17 @@ function addKey () { # function addRepo () { typeset ret_code - if [ ! -f /etc/apt/sources.list.d/$1 ]; then - printf "[REPO] adding : $2 in $1 " - printf "\n[REPO] adding $2 in $1\n" &>> $logFile - echo $2 | sudo tee /etc/apt/sources.list.d/$1 &>> $logFile + printf "[REPO] adding : $2 in $1 " + printf "\n[REPO] adding $2 in $1\n" &>> $logFile + echo $2 | sudo tee /etc/apt/sources.list.d/$1 &>> $logFile + ret_code=$? + retCode $ret_code + if [ "$#" -eq 3 ]; then + printf "[REPO] adding : $3 in $1 " + printf "\n[REPO] adding $3 in $1\n" &>> $logFile + echo $3 | sudo tee -a /etc/apt/sources.list.d/$1 &>> $logFile ret_code=$? retCode $ret_code - if [ "$#" -eq 3 ]; then - printf "[REPO] adding : $3 in $1 " - printf "\n[REPO] adding $3 in $1\n" &>> $logFile - echo $3 | sudo tee -a /etc/apt/sources.list.d/$1 &>> $logFile - ret_code=$? - retCode $ret_code - fi - else - printf "[REPO] already added [ "$BOLDVERT"OK"$NORMAL" ] \n" fi } @@ -320,7 +308,8 @@ function installPackageDpkg () { printf "\n[PKG] installing $2 from $1\n" &>> $logFile cd /tmp \ && wget -q -O $2 $1 &>> $logFile \ - && sudo apt-get install -fy /tmp/$2 &>> $logFile + && sudo dpkg -i $2 &>> $logFile + sudo apt-get install -fy &>> $logFile ret_code=$? retCode $ret_code if [ "$3" == "yes" ]; then @@ -332,7 +321,7 @@ function installPackageDpkg () { # install package from repositories # input : package manager, package name # package manager available : apt, pip, npm, gem, snap -# TODO: add apm, code, flatpak, umake?, use yarn instead of npm ? +# TODO: add apm, flatpak, umake?, use yarn instead of npm ? # function installPackage () { typeset pkg="$2" @@ -359,7 +348,7 @@ function installPackage () { if which npm >/dev/null; then printf "[NPM] Installing $pkg " printf "\n[NPM] installing $pkg\n" &>> $logFile - npm install -g $pkg &>> $logFile + sudo npm install -g $pkg &>> $logFile ret_code=$? retCode $ret_code fi @@ -382,15 +371,6 @@ function installPackage () { retCode $ret_code fi ;; - "flatpak") - if which flatpak >/dev/null; then - printf "[FLATPAK] Installing $pkg " - printf "\n[FLATPAK] installing $pkg\n" &>> $logFile - sudo flatpak install -y $pkg &>> $logFile - ret_code=$? - retCode $ret_code - fi - ;; esac } @@ -418,9 +398,6 @@ function checkAndInstallDep () { "snap") installPackage snap $2 ;; - "flatpak") - installPackage flatpak $2 - ;; esac fi } @@ -433,7 +410,8 @@ function addSpecificRepoFct () { for i in $AppsRepo; do appRepo=(${i//;/ }) if [ "${appRepo[0]}" == "$1" ]; then - printf "[ADD_REPO_PPA][$1][${appRepo[1]}]...\n" + printf "[ADD] package -- $1 -- repo/ppa " + printf "added by function -- ${appRepo[1]}\n" eval "${appRepo[1]}" repoAdded=$(($repoAdded+1)) fi @@ -447,28 +425,17 @@ function addSpecificRepoFct () { # # find and execute Pre/Post install functions for a specific app -# input : unique ID, pre/post +# input : unique ID # function processAppTrtFct () { - typeset i - if [ "$2" == "post" ]; then - for i in $AppsPostTrtFct; do - appPostTrtFct=(${i//;/ }) - if [ "${appPostTrtFct[0]}" == "$1" ]; then - printf "[TRT][POST][$1][${appPostTrtFct[1]}]" - eval "${appPostTrtFct[1]}" - fi - done - else - for i in $AppsPreTrtFct; do - appPreTrtFct=(${i//;/ }) - if [ "${appPreTrtFct[0]}" == "$1" ]; then - printf "[TRT][PRE][$1][${appPreTrtFct[1]}]" - eval "${appPreTrtFct[1]}" - fi - done - fi - unset i + for i in $AppsTrtFct; do + appTrtFct=(${i//;/ }) + if [ "${appTrtFct[0]}" == "$1" ]; then + printf "[TRT] package -- $1 -- " + printf "post install processed by -- ${appTrtFct[1]}\n" + eval "${appTrtFct[1]}" + fi + done } # @@ -491,9 +458,8 @@ function installAppsFromList () { for i in $Apps; do app=(${i//;/ }) if [ "${app[2]}" == "$1" ]; then - processAppTrtFct ${app[3]} "pre" installPackage ${app[1]} ${app[0]} - processAppTrtFct ${app[3]} "post" + processAppTrtFct ${app[3]} fi done } @@ -536,9 +502,8 @@ function installAppsFromListMenu () { for i in $Apps; do app=(${i//;/ }) if [ "${app[3]}" == "${pkgToInstall//\"}" ]; then - processAppTrtFct ${app[3]} "pre" installPackage ${app[1]} ${app[0]} - processAppTrtFct ${app[3]} "post" + processAppTrtFct ${app[3]} fi done done @@ -596,9 +561,8 @@ function dispLogo () { printf " ╚██╔╝ ██║ ██║██║ ██║██║ ██║██╔══██╗██╔══██║╚════██║██║██║ \n" printf " ██║ ╚██████╔╝╚██████╔╝██████╔╝██║ ██║██║ ██║███████║██║███████╗\n" printf " ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝╚══════╝\n" - printf "$BOLDROUGE Customize Linux Mint & Ubuntu made easier\n" + printf "$BOLDROUGE Customize Linux Mint & Ubuntu derivatives made easier\n" printf "$BOLDBLANC ver "$version" - GPLv3 - Francois B. (Makotosan) - makotonoblog.be\n" - printf $NORMAL printf "\n" } @@ -606,6 +570,7 @@ function dispLogo () { # show usage for headless mode # function usage () { + dispLogo dispSysInfos printf "\n" printf $NORMAL @@ -618,12 +583,12 @@ function usage () { printf " "$BOLDVERT"-q"$NORMAL" : install cardreader apps\n" printf " "$BOLDVERT"-s"$NORMAL" : install Solaar for Logitech Unifying devices\n" printf " "$BOLDVERT"-t"$NORMAL" : install TLP for Laptops and low energy usage\n" - printf " "$BOLDVERT"-k"$NORMAL" : install HWE (Ubuntu's Hardware Enablement Stack)(newer kernel+xorg)\n" - printf " "$BOLDVERT"-g"$NORMAL" : install/unlock SNAP + Store (not recommanded ;-))\n" - printf " "$BOLDVERT"-j"$NORMAL" : install/enable unattended-upgrades (security auto update))\n" + printf " "$BOLDVERT"-n"$NORMAL" : install lastest Nvidia graphic drivers\n" + printf " "$BOLDVERT"-g"$NORMAL" : install lastest free graphic drivers (nouveau, amdgpu, ati, intel), mesa, ...\n" + printf " "$BOLDVERT"-k"$NORMAL" : update system to the latest kernel\n" printf " "$BOLDVERT"-u"$NORMAL" : update system (apt,snap,...)\n" printf " "$BOLDVERT"-p"$NORMAL" : clean useless packages\n" - printf " "$BOLDVERT"-v"$NORMAL" : show version number\n" + printf " "$BOLDVERT"-v"$NORMAL" : show verison number\n" printf " "$BOLDVERT"-h"$NORMAL" : show help & informations\n" printf "\n" } diff --git a/install_functions.sh b/install_functions.sh new file mode 100644 index 0000000..491ffa7 --- /dev/null +++ b/install_functions.sh @@ -0,0 +1,966 @@ +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# + +#-----------------------------------------------------------------------------# +# install functions # +#-----------------------------------------------------------------------------# + +# +# install Base Apps (headless) +# +function installBase () { + installAppsFromList base +} + +# +# install Base Apps (Menu) +# +function installBaseMenu () { + installAppsFromListMenu base +} + +# +# install Office Apps (headless) +# +function installOffice () { + installAppsFromList office +} + +# +# install Office Apps (Menu) +# +function installOfficeMenu () { + installAppsFromListMenu office +} + +# +# install Multimedia Apps (headless) +# +function installMultimedia () { + installAppsFromList multimedia +} + +# +# install Multimedia Apps (Menu) +# +function installMultimediaMenu () { + installAppsFromListMenu multimedia +} + +# +# install eBook Apps (headless) +# +function installEbook () { + installAppsFromList ebook +} + +# +# install eBook Apps (Menu) +# +function installEbookMenu () { + installAppsFromListMenu ebook +} + +# +# install Internet Apps (headless) +# +function installInternet () { + runCmd "echo opera-stable opera-stable/add-deb-source boolean false | sudo debconf-set-selections" \ + "setting as do not add repo" + installAppsFromList internet +} + +# +# install Internet Apps (Menu) +# +function installInternetMenu () { + runCmd "echo opera-stable opera-stable/add-deb-source boolean false | sudo debconf-set-selections" \ + "setting as do not add repo" + installAppsFromListMenu internet +} + +# +# Viber (headless) +# +function installViber () { + installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ + viber.deb \ + no +} + +# +# Viber (Menu) +# +function installViberMenu () { + installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ + viber.deb \ + yes +} + +# +# Franz (headless) +# +function installFranz () { + installPackageDpkg https://github.com/meetfranz/franz/releases/download/v5.0.0-beta.17/franz_5.0.0-beta.17_amd64.deb \ + franz.deb \ + no +} + +# +# Franz (Menu) +# +function installFranzMenu () { + installPackageDpkg https://github.com/meetfranz/franz/releases/download/v5.0.0-beta.17/franz_5.0.0-beta.17_amd64.deb \ + franz.deb \ + yes +} + +# +# install Misc Utilities Apps (headless) +# +function installMiscUtilities () { + installAppsFromList utilities +} + +# +# install Misc Utilities Apps (Menu) +# +function installMiscUtilitiesMenu () { + installAppsFromListMenu utilities +} + +# +# install Wine Build (headless) +# +function installWine () { + installAppsFromList wine +} + +# +# install Wine Build (Menu) +# +function installWineMenu () { + installAppsFromListMenu wine +} + +# +# install Game Apps (headless) +# +function installGames () { + installAppsFromList games +} + +# +# install Game Apps (Menu) +# +function installGamesMenu () { + installAppsFromListMenu games +} + +# +# Steam (headless) +# +function installSteam () { + runCmd "echo steam steam/purge note | sudo debconf-set-selections" \ + "accepting steam licence" + + runCmd "echo steam steam/license note | sudo debconf-set-selections" \ + "accepting steam licence 2/3" + + runCmd "echo steam steam/question select I AGREE | sudo debconf-set-selections" \ + "accepting steam licence 3/3" + installPackage apt steam +} + +# +# Steam (Menu) +# +function installSteamMenu () { + runCmd "echo steam steam/purge note | sudo debconf-set-selections" \ + "accepting steam licence" + + runCmd "echo steam steam/license note | sudo debconf-set-selections" \ + "accepting steam licence 2/3" + + runCmd "echo steam steam/question select I AGREE | sudo debconf-set-selections" \ + "accepting steam licence 3/3" + installPackage apt steam +} + +# +# install Burning Apps (headless) +# +function installBurningTools () { + installAppsFromList burningtools +} + +# +# install Burning Apps (Menu) +# +function installBurningToolsMenu () { + installAppsFromListMenu burningtools +} + +# +# install Network Apps (headless) +# +function installNetTools () { + runCmd "echo wireshark-common wireshark-common/install-setuid boolean true | sudo debconf-set-selections" \ + "setting Wireshark as root only" + installAppsFromList nettools +} + +# +# install Network Apps (Menu) +# +function installNetToolsMenu () { + runCmd "echo wireshark-common wireshark-common/install-setuid boolean true | sudo debconf-set-selections" \ + "setting Wireshark as root only" + installAppsFromListMenu nettools +} + +# +# install Caja Plugins (headless) +# +function installCajaPlugins () { + installAppsFromList cajaplugins +} + +# +# install Caja Plugins (Menu) +# +function installCajaPluginsMenu () { + installAppsFromListMenu cajaplugins +} + +# +# install Nautilus Apps + plugins (headless) +# +function installNautilusAndPlugins () { + installAppsFromList nautilus +} + +# +# install Nautilus Apps + plugins (Menu) +# +function installNautilusAndPluginsMenu () { + installAppsFromListMenu nautilus +} + +# +# install Gimp plugins (headless) +# +function installGimpPlugins () { + installAppsFromList gimp +} + +# +# install Gimp plugins (Menu) +# +function installGimpPluginsMenu () { + installAppsFromListMenu gimp +} + +# +# install RhythmBox plugins (headless) +# +function installRhythmBoxPlugins () { + installAppsFromList rhythmbox +} + +# +# install RhythmBox plugins (Menu) +# +function installRhythmBoxPluginsMenu () { + installAppsFromListMenu rhythmbox +} + +# +# install Pidgin plugins (headless) +# +function installPidginPlugins () { + installAppsFromList pidgin +} + +# +# install Pidgin plugins (Menu) +# +function installPidginPluginsMenu () { + installAppsFromListMenu pidgin +} + +# +# install Nitrogen app (headless) +# +function installNitrogen () { + installAppsFromList nitrogen +} + +# +# install Nitrogen app (Menu) +# +function installNitrogenMenu () { + installAppsFromListMenu nitrogen +} + +# +# install Beta Apps (headless) +# +function installBeta () { + installAppsFromList beta +} + +# +# install Beta Apps (Menu) +# +function installBetaMenu () { + installAppsFromListMenu beta +} + +# +# install Nightly Apps (headless) +# +function installNightly () { + installAppsFromList nightly +} + +# +# install Nightly Apps (Menu) +# +function installNightlyMenu () { + installAppsFromListMenu nightly +} + +# +# install GTK Themes (headless) +# +function installThemes () { + installAppsFromList gtkthemes +} + +# +# install GTK Themes (Menu) +# +function installThemesMenu () { + installAppsFromListMenu gtkthemes +} + +# +# install Icon Themes (headless) +# +function installIcons () { + installAppsFromList icons +} + +# +# install Icon Themes (Menu) +# +function installIconsMenu () { + installAppsFromListMenu icons +} + +# +# install Solaar App (headless) +# +function installSolaar () { + installAppsFromList solaar +} + +# +# install Solaar App (Menu) +# +function installSolaarMenu () { + installAppsFromListMenu solaar +} + +# +# install CardReader Apps (headless) +# +function installCardReader () { + installAppsFromList cardreader +} + +# +# install CardReader Apps (Menu) +# +function installCardReaderMenu () { + installAppsFromListMenu cardreader +} + +# +# update AMD/Intel CPU Microcode +# +function updateMicrocode () { + oldMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1` + intel=`cat /proc/cpuinfo | grep -i Intel | wc -l` + amd=`cat /proc/cpuinfo | grep -i Amd | wc -l` + if [ "$intel" -gt "0" ]; then + installPackage apt intel-microcode + elif [ "$amd" -gt "0" ]; then + installPackage apt amd64-microcode + fi + newMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1` + printf "[INFO] Microcode updated from "$oldMicrocode" version to "$newMicrocode" version" + printf "\n" +} + +# +# fix some config issue with Intel Wireless 6320 cards +# +function fixWirelessIntel6320 () { + runCmd "sudo cp /etc/modprobe.d/iwlwifi.conf /etc/modprobe.d/iwlwifi.conf.bak" \ + "backing up config file" + runCmd "echo options iwlwifi bt_coex_active=0 swcrypto=1 11n_disable=8 | sudo tee /etc/modprobe.d/iwlwifi.conf" \ + "applying new config" + printf "[INFO] reboot required !!!" + printf "\n" +} + +# +# install Webcam Apps (headless) +# +function installWebcam () { + installAppsFromList webcam +} + +# +# install Webcam Apps (Menu) +# +function installWebcamMenu () { + installAppsFromListMenu webcam +} + +# +# install latest versions of graphic drivers, mesa, .... (headless) +# +function installOibaf () { + addRepo_Oibaf +} + +# +# install latest versions of graphic drivers, mesa, .... (Menu) +# +function installOibafMenu () { + addRepo_Oibaf +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia370 () { + installAppsFromList nvidia-370 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia370Menu () { + installAppsFromListMenu nvidia-370 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia375 () { + installAppsFromList nvidia-375 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia375Menu () { + installAppsFromListMenu nvidia-375 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia378 () { + installAppsFromList nvidia-378 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia378Menu () { + installAppsFromListMenu nvidia-378 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia381 () { + installAppsFromList nvidia-381 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia381Menu () { + installAppsFromListMenu nvidia-381 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia384 () { + installAppsFromList nvidia-384 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia384Menu () { + installAppsFromListMenu nvidia-384 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia387 () { + installAppsFromList nvidia-387 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia387Menu () { + installAppsFromListMenu nvidia-387 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia390 () { + installAppsFromList nvidia-390 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia390Menu () { + installAppsFromListMenu nvidia-390 +} + +# +# install Nvidia Drivers (headless) +# +function installNvidia396 () { + installAppsFromList nvidia-396 +} + +# +# install Nvidia Drivers (Menu) +# +function installNvidia396Menu () { + installAppsFromListMenu nvidia-396 +} + +# +# install TLP App (headless) +# +function installTLP () { + installAppsFromList tlp +} + +# +# install TLP App (Menu) +# +function installTLPMenu () { + installAppsFromListMenu tlp +} + +#TODO: +function installKeyIDuDev () { + sudo sh -c "echo '# this udev file should be used with udev 188 and newer\n\ +ACTION!=\"add|change\", GOTO=\"u2f_end\"\n\ +\n\ +# Key-ID FIDO U2F\n\ +KERNEL==\"hidraw*\", SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"096e\", ATTRS{idProduct}==\"0850|0880\", TAG+=\"uaccess\"\n\ +\n\ +LABEL=\"u2f_end\"' > /etc/udev/rules.d/70-u2f.rules" + + runCmd "sudo service udev restart" \ + "restarting UDEV service" +} + +# +# install Dev Apps (headless) +# +function installDevApps () { + installAppsFromList dev +} + +# +# install Dev Apps (Menu) +# +function installDevAppsMenu () { + installAppsFromListMenu dev +} + + +# +# install Javascript env (headless) +# +function installJavascript () { + installAppsFromList javascript +} + +# +# install Javascript env (Menu) +# +function installJavascriptMenu () { + installAppsFromListMenu javascript +} + +# +# install JAVA 10 (headless) +# +function installJava10 () { + runCmd "echo oracle-java10-installer shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections" \ + "accepting Oracle Java SE 10 licence agreement" + installAppsFromList java10 +} + +# +# install JAVA 10 (Menu) +# +function installJava10Menu () { + runCmd "echo oracle-java10-installer shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections" \ + "accepting Oracle Java SE 10 licence agreement" + installAppsFromListMenu java10 +} + +# +# install Mongo DB 3 CE (headless) +# +function installMongo3CE () { + installAppsFromList mongodb +} + +# +# install Mongo DB 3 CE (Menu) +# +function installMongo3CEMenu () { + installAppsFromListMenu mongodb +} + +# +# install Python Apps (headless) +# +function installPython () { + installAppsFromList python +} + +# +# install Python Apps (Menu) +# +function installPythonMenu () { + installAppsFromListMenu python +} + +# +# install PHP Apps (headless) +# +function installPHP () { + installAppsFromList php +} + +# +# install PHP Apps (Menu) +# +function installPHPMenu () { + installAppsFromListMenu php +} + +# +# install QT Apps/tools (headless) +# +function installQT () { + installAppsFromList qt +} + +# +# install QT Apps/tools (Menu) +# +function installQTMenu () { + installAppsFromListMenu qt +} + +# +# install LUA Apps (headless) +# +function installLUA () { + installAppsFromList lua +} + +# +# install LUA Apps (Menu) +# +function installLUAMenu () { + installAppsFromListMenu lua +} + +# +# install Ruby Apps (headless) +# +function installRuby () { + installAppsFromList ruby +} + +# +# install Ruby Apps (Menu) +# +function installRubyMenu () { + installAppsFromListMenu ruby +} + +#TODO: +function installAndroidEnv () { + msg="Installing Android environment" + + runCmd "touch /home/$myHomedir/.bashrc" \ + "creating .bashrc file if necessary" + sh -c "echo '\n\nexport PATH=${PATH}:/home/'$myHomedir'/Android/Sdk/tools:/home/'$myHomedir'/Android/Sdk/platform-tools' >> /home/$myHomedir/.bashrc" + + msg "Adding UDEV rules" + sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0502\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Acer\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0b05\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Asus\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"413c\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Dell\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0489\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Foxconn\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"04c5\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Fujitsu\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"04c5\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Fujitsu-Toshiba\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"091e\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Garmin-Asus\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"18d1\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Google-Nexus\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"201E\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Haier\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"109b\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Hisense\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0bb4\", MODE=\"0666\", OWNER=\""$myHomedir"\" # HTC\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"12d1\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Huawei\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Intel\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"24e3\", MODE=\"0666\", OWNER=\""$myHomedir"\" # K-Touch\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2116\", MODE=\"0666\", OWNER=\""$myHomedir"\" # KT Tech\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0482\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Kyocera\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"17ef\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Lenovo\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1004\", MODE=\"0666\", OWNER=\""$myHomedir"\" # LG\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"22b8\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Motorola\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0e8d\", MODE=\"0666\", OWNER=\""$myHomedir"\" # MTK\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0409\", MODE=\"0666\", OWNER=\""$myHomedir"\" # NEC\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2080\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Nook\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0955\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Nvidia\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2257\", MODE=\"0666\", OWNER=\""$myHomedir"\" # OTGV\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"10a9\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Pantech\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1d4d\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Pegatron\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0471\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Philips\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"04da\", MODE=\"0666\", OWNER=\""$myHomedir"\" # PMC-Sierra\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"05c6\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Qualcomm\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1f53\", MODE=\"0666\", OWNER=\""$myHomedir"\" # SK Telesys\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"04e8\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Samsung\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"04dd\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Sharp\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"054c\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Sony\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0fce\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Sony Ericsson\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0fce\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Sony Mobile Communications\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2340\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Teleepoch\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0930\", MODE=\"0666\", OWNER=\""$myHomedir"\" # Toshiba\n\ +SUBSYSTEM==\"usb\", ATTR{idVendor}==\"19d2\", MODE=\"0666\", OWNER=\""$myHomedir"\" # ZTE' > /etc/udev/rules.d/99-android.rules" + + runCmd "sudo service udev restart" \ + "restarting UDEV service" + + createAppShortcut "/home/"$myHomedir"/tools/Android/Sdk/tools/android" \ + "/home/"$myHomedir"/.icons/android.png" \ + "GNOME;GTK;Development;IDE" \ + "Android SDK" \ + "local" \ + update-menus +} + +# +# install Atom App (headless) +# +function installAtom () { + installAppsFromList atom +} + +# +# install Atom App (menu) +# +function installAtomMenu () { + installAppsFromListMenu atom +} + +# +# install Anjuta Apps (headless) +# +function installAnjuta () { + installAppsFromList anjuta +} + +# +# install Anjuta Apps (Menu) +# +function installAnjutaMenu () { + installAppsFromListMenu anjuta +} + +# +# install Brackets Apps (headless) +# +function installBrackets () { + installAppsFromList brackets +} + +# +# install Brackets Apps (Menu) +# +function installBracketsMenu () { + installAppsFromListMenu brackets +} + +# +# install CodeBlocks Apps (headless) +# +function installCodeBlocks () { + installAppsFromList codeblocks +} + +# +# install CodeBlocks Apps (Menu) +# +function installCodeBlocksMenu () { + installAppsFromListMenu codeblocks +} + +# +# install Geany Apps (headless) +# +function installGeany () { + installAppsFromList geany +} + +# +# install Geany Apps (Menu) +# +function installGeanyMenu () { + installAppsFromListMenu geany +} + +# +# install IDEA Apps (headless) +# +function installIdea () { + installAppsFromList idea +} + +# +# install IDEA Apps (Menu) +# +function installIdeaMenu () { + installAppsFromListMenu idea +} + +# +# install Pycharm Apps (headless) +# +function installPyCharm () { + installAppsFromList pycharm +} + +# +# install Pycharm Apps (Menu) +# +function installPyCharmMenu () { + installAppsFromListMenu pycharm +} + +# +# install Visual Studio Code Apps (headless) +# +function installVisualStudioCode () { + installAppsFromList code +} + +# +# install Visual Studio Code Apps (Menu) +# +function installVisualStudioCodeMenu () { + installAppsFromListMenu code +} + +# +# install Android-Studio Apps (headless) +# +function installAndroidStudio () { + installAppsFromList androidstudio +} + +# +# install Android-Studio Apps (Menu) +# +function installAndroidStudioMenu () { + installAppsFromListMenu androidstudio +} + +# +# install SublimeText Apps (headless) +# +function installSublimeText() { + installAppsFromList sublime-text +} + +# +# install SublimeText Apps (Menu) +# +function installSublimeTextMenu() { + installAppsFromListMenu sublime-text +} + +# +# install CAD Apps (headless) +# +function installCAD () { + installAppsFromList cad +} + +# +# install CAD Apps (Menu) +# +function installCADMenu () { + installAppsFromListMenu cad +} + +# +# install Teamviewer 13 (headless) +# +function installTeamViewer13 () { + installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ + teamviewer13.deb \ + no +} + +# +# install Teamviewer 13 (Menu) +# +function installTeamViewer13Menu () { + installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ + teamviewer13.deb \ + yes +} + +# +# install/enable Unboud (headless) +# +function enableUnbound () { + installAppsFromList unbound +} + +# +# install/enable Unboud (Menu) +# +function enableUnboundMenu () { + installAppsFromListMenu unbound +} \ No newline at end of file diff --git a/install_functions_ub1804.sh b/install_functions_ub1804.sh deleted file mode 100755 index 6a0327d..0000000 --- a/install_functions_ub1804.sh +++ /dev/null @@ -1,206 +0,0 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 18.04 / Linux Mint 19 # -# # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# install functions # -#-----------------------------------------------------------------------------# - -# -# Viber (headless) -# -function installViber () { - installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ - viber.deb \ - no -} - -# -# Viber (Menu) -# -function installViberMenu () { - installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ - viber.deb \ - yes -} - -# -# Slack (headless) -# -function installSlack () { - installPackageDpkg https://downloads.slack-edge.com/linux_releases/slack-desktop-4.3.2-amd64.deb \ - slack.deb \ - no -} - -# -# Slack (Menu) -# -function installSlackMenu () { - installPackageDpkg https://downloads.slack-edge.com/linux_releases/slack-desktop-4.3.2-amd64.deb \ - slack.deb \ - yes -} - -# -# XnViewMP (headless) -# -function installXnViewMP () { - installPackageDpkg https://download.xnview.com/XnViewMP-linux-x64.deb \ - xnviewmp.deb \ - no -} - -# -# XnViewMP (Menu) -# -function installXnViewMPMenu () { - installPackageDpkg https://download.xnview.com/XnViewMP-linux-x64.deb \ - xnviewmp.deb \ - yes -} - -# -# update AMD/Intel CPU Microcode -# -function updateMicrocode () { - msg "CPU Microcode updating" - oldMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - intel=`cat /proc/cpuinfo | grep -i Intel | wc -l` - amd=`cat /proc/cpuinfo | grep -i Amd | wc -l` - if [ "$intel" -gt "0" ]; then - installPackage apt intel-microcode - newMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - printf "[INFO] Microcode updated from "$oldMicrocode" version to "$newMicrocode" version" - elif [ "$amd" -gt "0" ]; then - installPackage apt amd64-microcode - newMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - printf "[INFO] Microcode updated from "$oldMicrocode" version to "$newMicrocode" version" - else - printf "[INFO] No Intel/AMD CPU found" - fi - printf "\n" -} - -# -# Key-ID USB Fido U2F device udev rules -# -function installKeyIDuDev () { - printf "[CMD] Adding Key-ID device UDEV rules " - -cat << EOF | sudo tee /etc/udev/rules.d/70-u2f.rules -# this udev file should be used with udev 188 and newer\n\ -ACTION!="add|change", GOTO="u2f_end" - -# Key-ID FIDO U2F -KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0880", TAG+="uaccess" - -LABEL="u2f_end" -EOF - - ret_code=$? - retCode $ret_code - - runCmd "sudo service udev restart" \ - "restarting UDEV service" -} - -# -# install Teamviewer 13 (headless) -# -function installTeamViewer13 () { - installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ - teamviewer13.deb \ - no -} - -# -# install Teamviewer 13 (Menu) -# -function installTeamViewer13Menu () { - installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ - teamviewer13.deb \ - yes -} - -# -# install Compass (headless) -# -function installCompass () { - installPackageDpkg https://downloads.mongodb.com/compass/mongodb-compass_1.20.5_amd64.deb \ - compass.deb \ - no -} - -# -# install Compass (Menu) -# -function installCompassMenu () { - installPackageDpkg https://downloads.mongodb.com/compass/mongodb-compass_1.20.5_amd64.deb \ - compass.deb \ - yes -} - -# -# Boostnotes (headless) -# -function installBoostnotes () { - installPackageDpkg https://github.com/BoostIO/boost-releases/releases/download/v0.14.0/boostnote_0.14.0_amd64.deb \ - boostnotes.deb \ - no -} - -# -# Boostnotes (Menu) -# -function installBoostnotesMenu () { - installPackageDpkg https://github.com/BoostIO/boost-releases/releases/download/v0.14.0/boostnote_0.14.0_amd64.deb \ - boostnotes.deb \ - yes -} - -# -# Vagrant (headless) -# -function installVagrant () { - installPackageDpkg https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb \ - vagrant.deb \ - no -} - -# -# Vagrant (Menu) -# -function installVagrantMenu () { - installPackageDpkg https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb \ - vagrant.deb \ - yes -} - -# -# AppImage Launcher (headless) -# -function installAppImageLauncher () { - installPackageDpkg https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.1.1/appimagelauncher_2.1.1-travis931.f6d5926.bionic_amd64.deb \ - appimagelauncher.deb \ - no -} - -# -# AppImage Launcher (Menu) -# -function installAppImageLauncherMenu () { - installPackageDpkg https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.1.1/appimagelauncher_2.1.1-travis931.f6d5926.bionic_amd64.deb \ - appimagelauncher.deb \ - yes -} \ No newline at end of file diff --git a/install_functions_ub2004.sh b/install_functions_ub2004.sh deleted file mode 100755 index d2b658b..0000000 --- a/install_functions_ub2004.sh +++ /dev/null @@ -1,206 +0,0 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 20.04 / Linux Mint 20 # -# # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# install functions # -#-----------------------------------------------------------------------------# - -# -# Viber (headless) -# -function installViber () { - installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ - viber.deb \ - no -} - -# -# Viber (Menu) -# -function installViberMenu () { - installPackageDpkg http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb \ - viber.deb \ - yes -} - -# -# Slack (headless) -# -function installSlack () { - installPackageDpkg https://downloads.slack-edge.com/linux_releases/slack-desktop-4.4.2-amd64.deb \ - slack.deb \ - no -} - -# -# Slack (Menu) -# -function installSlackMenu () { - installPackageDpkg https://downloads.slack-edge.com/linux_releases/slack-desktop-4.4.2-amd64.deb \ - slack.deb \ - yes -} - -# -# XnViewMP (headless) -# -function installXnViewMP () { - installPackageDpkg https://download.xnview.com/XnViewMP-linux-x64.deb \ - xnviewmp.deb \ - no -} - -# -# XnViewMP (Menu) -# -function installXnViewMPMenu () { - installPackageDpkg https://download.xnview.com/XnViewMP-linux-x64.deb \ - xnviewmp.deb \ - yes -} - -# -# update AMD/Intel CPU Microcode -# -function updateMicrocode () { - msg "CPU Microcode updating" - oldMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - intel=`cat /proc/cpuinfo | grep -i Intel | wc -l` - amd=`cat /proc/cpuinfo | grep -i Amd | wc -l` - if [ "$intel" -gt "0" ]; then - installPackage apt intel-microcode - newMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - printf "[INFO] Microcode updated from "$oldMicrocode" version to "$newMicrocode" version" - elif [ "$amd" -gt "0" ]; then - installPackage apt amd64-microcode - newMicrocode=`cat /proc/cpuinfo | grep -i --color microcode -m 1 | awk -F': ' '{print $2}'` - printf "[INFO] Microcode updated from "$oldMicrocode" version to "$newMicrocode" version" - else - printf "[INFO] No Intel/AMD CPU found" - fi - printf "\n" -} - -# -# Key-ID USB Fido U2F device udev rules -# -function installKeyIDuDev () { - printf "[CMD] Adding Key-ID device UDEV rules " - -cat << EOF | sudo tee /etc/udev/rules.d/70-u2f.rules -# this udev file should be used with udev 188 and newer\n\ -ACTION!="add|change", GOTO="u2f_end" - -# Key-ID FIDO U2F -KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0880", TAG+="uaccess" - -LABEL="u2f_end" -EOF - - ret_code=$? - retCode $ret_code - - runCmd "sudo service udev restart" \ - "restarting UDEV service" -} - -# -# install Teamviewer 13 (headless) -# -function installTeamViewer13 () { - installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ - teamviewer13.deb \ - no -} - -# -# install Teamviewer 13 (Menu) -# -function installTeamViewer13Menu () { - installPackageDpkg https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \ - teamviewer13.deb \ - yes -} - -# -# install Compass (headless) -# -function installCompass () { - installPackageDpkg https://downloads.mongodb.com/compass/mongodb-compass_1.20.5_amd64.deb \ - compass.deb \ - no -} - -# -# install Compass (Menu) -# -function installCompassMenu () { - installPackageDpkg https://downloads.mongodb.com/compass/mongodb-compass_1.20.5_amd64.deb \ - compass.deb \ - yes -} - -# -# Boostnotes (headless) -# -function installBoostnotes () { - installPackageDpkg https://github.com/BoostIO/BoostNote.next/releases/download/v0.4.1/boost-note-linux.deb \ - boostnotes.deb \ - no -} - -# -# Boostnotes (Menu) -# -function installBoostnotesMenu () { - installPackageDpkg https://github.com/BoostIO/BoostNote.next/releases/download/v0.4.1/boost-note-linux.deb \ - boostnotes.deb \ - yes -} - -# -# Vagrant (headless) -# -function installVagrant () { - installPackageDpkg https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb \ - vagrant.deb \ - no -} - -# -# Vagrant (Menu) -# -function installVagrantMenu () { - installPackageDpkg https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb \ - vagrant.deb \ - yes -} - -# -# AppImage Launcher (headless) -# -function installAppImageLauncher () { - installPackageDpkg https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.1.3/appimagelauncher_2.1.3-travis975.7408819.bionic_amd64.deb \ - appimagelauncher.deb \ - no -} - -# -# AppImage Launcher (Menu) -# -function installAppImageLauncherMenu () { - installPackageDpkg https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.1.3/appimagelauncher_2.1.3-travis975.7408819.bionic_amd64.deb \ - appimagelauncher.deb \ - yes -} \ No newline at end of file diff --git a/logo.png b/logo.png old mode 100755 new mode 100644 diff --git a/menus_functions_ub2004.sh b/menus_functions.sh old mode 100755 new mode 100644 similarity index 68% rename from menus_functions_ub2004.sh rename to menus_functions.sh index acb6e78..9e80cf0 --- a/menus_functions_ub2004.sh +++ b/menus_functions.sh @@ -1,16 +1,10 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 20.04 / Linux Mint 20 # -# # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# #-----------------------------------------------------------------------------# # menus functions # @@ -56,19 +50,35 @@ function showConfigMenu () { --title "Yggdrasil $version - System Config" \ --menu "System Config" \ 25 80 16 \ + "Ufw" "Enable Firewall (ufw)" \ + "NumLockX" "NumLock Enabled at boot time" \ "TmpRAM" "/tmp stored in RAM" \ "screenfetch" "screenfetch added to .bashrc" \ "historyTS" "TimeStamp enabled in Shell History" \ "unattendedUpgrades" "Enable automatic security updates" \ - "Unbound" "Enable Unbound DNS Cache server" \ "Back" "Back" 3>&1 1>&2 2>&3) case $configMenuOptions in + "Ufw") + clear + enableUFW + pressKey + ;; + "NumLockX") + clear + enableNumLockX + pressKey + ;; "TmpRAM") clear enableTmpRAM pressKey ;; + "screenfetch") + clear + addScreenfetchBashrc + pressKey + ;; "historyTS") clear enableHistoryTS @@ -76,12 +86,7 @@ function showConfigMenu () { ;; "unattendedUpgrades") clear - installAppsFromList unattended-upgrades - pressKey - ;; - "Unbound") - clear - installAppsFromList unbound + installUnattendedUpgrades pressKey ;; "Back") @@ -105,7 +110,9 @@ function showSysToolsMenu () { "inxi" "System informations" \ "speedtest-cli" "Bandwidth test" \ "packetloss" "Packetloss test (ping)" \ + "OptimizeFirefox" "Firefox SQLite databases optimization" \ "Autoremove" "Remove useless Deb packages" \ + "CleanOldKernels" "Removing old kernels (keep 2 last kernels)" \ "SoundCardsDetection" "Sound Cards Detection" \ "Back" "Back" 3>&1 1>&2 2>&3) @@ -119,9 +126,15 @@ function showSysToolsMenu () { "packetloss") clear; toolPacketLoss; pressKey ;; + "OptimizeFirefox") + clear; toolOptimizeFirefox; pressKey + ;; "Autoremove") clear; toolAutoremove; pressKey ;; + "CleanOldKernels") + clear; toolClearOldKernels; pressKey + ;; "SoundCardsDetection") clear; toolSoundCardsDetection; pressKey ;; @@ -149,10 +162,10 @@ function showThemesInstallMenu () { case $themesInstallMenuOptions in "themes") - installAppsFromListMenu gtkthemes + installThemesMenu ;; "icons") - installAppsFromListMenu icons + installIconsMenu ;; "Back") break @@ -173,9 +186,9 @@ function showDevInstallMenu () { --menu "Install Dev apps from different submenus" \ 25 80 16 \ "devbase" "dev apps and tools" \ - "java11" "OpenJDK Java 11 dev env" \ + "java10" "Java 10 dev env" \ "javascript" "JavaScript dev env" \ - "mongodb" "MongoDB CE 4" \ + "mongodb3ce" "MongoDB 3 CE" \ "php" "PHP dev env" \ "lua" "Lua dev env" \ "ruby" "Ruby dev env" \ @@ -186,87 +199,79 @@ function showDevInstallMenu () { "brackets" "Brackets" \ "codeblocks" "CodeBlocks" \ "geany" "Geany" \ + "idea" "Idea" \ + "pycharm" "PyCharm" \ "vsc" "Visual Studio Code" \ "androidstudio" "Android Studio" \ "sublimetext" "Sublime Text" \ "cad" "CAD tools" \ "teamviewer13" "Teamviewer 13" \ - "boostnotes" "Boostnotes Markdown wiki app" \ - "compass" "MongoDB Compass GUI" \ - "gitkraken" "Gitkraken git gui" \ - "vagrant" "Vagrant" \ "Back" "Back" 3>&1 1>&2 2>&3) case $devInstallMenuOptions in "devbase") - installAppsFromListMenu dev + installDevAppsMenu ;; - "java11") - installAppsFromListMenu java11 + "java10") + installJava10 ;; "javascript") - installAppsFromListMenu javascript + installJavascriptMenu ;; - "mongodb") - installAppsFromListMenu mongodb + "mongodb3ce") + installMongo3CEMenu ;; "php") - installAppsFromListMenu php + installPHPMenu ;; "lua") - installAppsFromListMenu lua + installLUAMenu ;; "ruby") - installAppsFromListMenu ruby + installRubyMenu ;; "qt") - installAppsFromListMenu qt + installQTMenu ;; "python") - installAppsFromListMenu python + installPythonMenu ;; "atom") - installAppsFromListMenu atom + installAtomMenu ;; "anjuta") - installAppsFromListMenu anjuta + installAnjutaMenu ;; "brackets") - installAppsFromListMenu brackets + installBracketsMenu ;; "codeblocks") - installAppsFromListMenu codeblocks + installCodeBlocksMenu ;; "geany") - installAppsFromListMenu geany + installGeanyMenu + ;; + "idea") + installIdeaMenu + ;; + "pycharm") + installPyCharmMenu ;; "vsc") - installAppsFromListMenu code + installVisualStudioCodeMenu ;; "androidstudio") - installAppsFromListMenu androidstudio + installAndroidStudioMenu ;; "sublimetext") - installAppsFromListMenu sublime-text + installSublimeTextMenu ;; "cad") - installAppsFromListMenu cad + installCADMenu ;; "teamviewer13") installTeamViewer13Menu ;; - "boostnotes") - installBoostnotesMenu - ;; - "compass") - installCompassMenu - ;; - "gitkraken") - installAppsFromListMenu gitkraken - ;; - "vagrant") - installVagrantMenu - ;; "Back") break ;; @@ -288,7 +293,6 @@ function showAppInstallMenu () { "base" "Base Apps" \ "office" "Office Apps" \ "multimedia" "Multimedia Apps" \ - "ebook" "eBook Apps" \ "internet" "Internet Apps" \ "utilities" "Misc Utilities" \ "games" "Games & tools" \ @@ -297,89 +301,66 @@ function showAppInstallMenu () { "nettools" "Network tools" \ "cajaplugins" "Caja Plugins" \ "nautilus" "Nautilus and plugins" \ - "thunar" "Thunar file manager" \ "gimp" "Gimp plugins" \ "rhythmbox" "RhythmBox plugins" \ "pidgin" "Pidgin plugins" \ "nitrogen" "Nitrogen WP Manager" \ "wine" "Wine Builds" \ - "snap" "Unlock/Install SNAP + Store" \ "viber" "Viber IM desktop app" \ - "slack" "Slack App" \ - "appimagelauncher" "AppImage Launcher" \ - "xnviewmp" "XNView MP" \ "Back" "Back" 3>&1 1>&2 2>&3) case $appsInstallMenuOptions in "base") - installAppsFromListMenu base + installBaseMenu ;; "office") - installAppsFromListMenu office + installOfficeMenu ;; "multimedia") - installAppsFromListMenu multimedia - ;; - "ebook") - installAppsFromListMenu ebook + installMultimediaMenu ;; "internet") - installAppsFromListMenu internet + installInternetMenu ;; "utilities") - installAppsFromListMenu utilities + installMiscUtilitiesMenu ;; "games") - installAppsFromListMenu games + installGamesMenu ;; "steam") - installAppsFromListMenu steam + installSteamMenu ;; "burningtools") - installAppsFromListMenu burningtools + installBurningToolsMenu ;; "nettools") - installAppsFromListMenu nettools + installNetToolsMenu ;; "cajaplugins") - installAppsFromListMenu cajaplugins + installCajaPluginsMenu ;; "nautilus") - installAppsFromList nautilus - ;; - "thunar") - installAppsFromListMenu thunar + installNautilusAndPluginsMenu ;; "gimp") - installAppsFromListMenu gimp + installGimpPluginsMenu ;; "rhythmbox") - installAppsFromListMenu rhythmbox + installRhythmBoxPluginsMenu ;; "pidgin") - installAppsFromListMenu pidgin + installPidginPluginsMenu ;; "nitrogen") - installAppsFromListMenu nitrogen + installNitrogenMenu ;; "wine") - installAppsFromListMenu wine - ;; - "snap") - installAppsFromListMenu snap + installWineMenu ;; "viber") installViberMenu ;; - "slack") - installSlackMenu - ;; - "appimagelauncher") - installAppImageLauncherMenu - ;; - "xnviewmp") - installXnViewMPMenu - ;; "Back") break ;; @@ -388,6 +369,20 @@ function showAppInstallMenu () { done } +# +# show menu to install beta apps from different categories +# +function showAppBetaInstallMenu () { + installBetaMenu +} + +# +# show menu to install nightly apps from different categories +# +function showAppNightlyInstallMenu () { + installNightlyMenu +} + # # show menu about install/config hardware # @@ -398,38 +393,72 @@ function showHardwareMenu () { --title "Yggdrasil $version - System Tools" \ --menu "System tools to diagnose and optimize" \ 25 80 16 \ - "HWE" "Ubuntu Hardware Enablement Stack (newer kernel+xorg)" \ "cardreader" "Apps/tools needed for cardreaders" \ "solaar" "Solaar for Logitech Unifying devices" \ "webcam" "Install webcam neede apps" \ "microcode" "Update Intel/AMD CPU microcode" \ + "oibaf" "latest version of free graphic drivers, mesa, ..." \ + "nvidia370" "Install Nvidia 370 graphic drivers" \ + "nvidia375" "Install Nvidia 375 graphic drivers" \ + "nvidia378" "Install Nvidia 378 graphic drivers" \ + "nvidia381" "Install Nvidia 381 graphic drivers" \ + "nvidia384" "Install Nvidia 384 graphic drivers" \ + "nvidia387" "Install Nvidia 387 graphic drivers" \ + "nvidia390" "Install Nvidia 390 graphic drivers" \ + "nvidia396" "Install Nvidia 396 graphic drivers" \ "tlp" "Install/Enable TLP for better power management " \ "keyid" "Add udev rules for Key-ID FIDO U2F usb key" \ + "WI6320" "Fix Intel Wireless 6320 card config problem" \ "Back" "Back" 3>&1 1>&2 2>&3) case $hardwareMenuOptions in - "HWE") - installAppsFromListMenu hwe - ;; "cardreader") - installAppsFromListMenu cardreader + installCardReaderMenu ;; "solaar") - installAppsFromListMenu solaar + installAppsFromListMenu ;; "webcam") - installAppsFromListMenu webcam + installWebcamMenu ;; "microcode") updateMicrocode - pressKey + ;; + "oibaf") + installOibafMenu + ;; + "nvidia370") + installNvidia370Menu + ;; + "nvidia375") + installNvidia375Menu + ;; + "nvidia378") + installNvidia378Menu + ;; + "nvidia381") + installNvidia381Menu + ;; + "nvidia384") + installNvidia384Menu + ;; + "nvidia387") + installNvidia387Menu + ;; + "nvidia390") + installNvidia390Menu + ;; + "nvidia396") + installNvidia396Menu ;; "tlp") - installAppsFromListMenu tlp + installTLPMenu ;; "keyid") installKeyIDuDev - pressKey + ;; + "WI6320") + fixWirelessIntel6320 ;; "Back") break @@ -437,4 +466,4 @@ function showHardwareMenu () { esac done -} +} \ No newline at end of file diff --git a/menus_functions_ub1804.sh b/menus_functions_ub1804.sh deleted file mode 100755 index c828e5a..0000000 --- a/menus_functions_ub1804.sh +++ /dev/null @@ -1,440 +0,0 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 18.04 / Linux Mint 19 # -# # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# menus functions # -#-----------------------------------------------------------------------------# - -# -# show about dialog box -# -function showAboutBoxMenu () { -whiptail \ ---title "About" \ ---msgbox "\n - Author : Francois B. (Makotosan) - Email : shakasan@sirenacorp.be -Website : https://makotonoblog.be/ - Github : https://github.com/shakasan/yggdrasil_ng -Licence : GPLv3 -Version : $version\n -At the beginning, this script has been written to makes my life easier when I have to (re)install my personal computers ;-) -Advices and remarks are welcome ^^" \ -20 80 -} - -# -# show reboot menu -# -function showRebootBoxMenu () { - if (whiptail \ - --title "Yggdrasil $version - WARNING - ReBoot" \ - --yesno "Are you sure to reboot this computer ?" \ - 7 42) then - sudo reboot - fi -} - -# -# show menu to config system -# -function showConfigMenu () { - while true; do - - configMenuOptions=$(whiptail \ - --title "Yggdrasil $version - System Config" \ - --menu "System Config" \ - 25 80 16 \ - "TmpRAM" "/tmp stored in RAM" \ - "screenfetch" "screenfetch added to .bashrc" \ - "historyTS" "TimeStamp enabled in Shell History" \ - "unattendedUpgrades" "Enable automatic security updates" \ - "Unbound" "Enable Unbound DNS Cache server" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $configMenuOptions in - "TmpRAM") - clear - enableTmpRAM - pressKey - ;; - "historyTS") - clear - enableHistoryTS - pressKey - ;; - "unattendedUpgrades") - clear - installAppsFromList unattended-upgrades - pressKey - ;; - "Unbound") - clear - installAppsFromList unbound - pressKey - ;; - "Back") - break - ;; - esac - - done -} - -# -# show menu to install system tools -# -function showSysToolsMenu () { - while true; do - - sysToolsMenuOptions=$(whiptail \ - --title "Yggdrasil $version - System Tools" \ - --menu "System tools to diagnose and optimize" \ - 25 80 16 \ - "inxi" "System informations" \ - "speedtest-cli" "Bandwidth test" \ - "packetloss" "Packetloss test (ping)" \ - "Autoremove" "Remove useless Deb packages" \ - "SoundCardsDetection" "Sound Cards Detection" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $sysToolsMenuOptions in - "inxi") - clear; toolInxi; pressKey - ;; - "speedtest-cli") - clear; toolSpeedtestCli; pressKey - ;; - "packetloss") - clear; toolPacketLoss; pressKey - ;; - "Autoremove") - clear; toolAutoremove; pressKey - ;; - "SoundCardsDetection") - clear; toolSoundCardsDetection; pressKey - ;; - "Back") - break - ;; - esac - - done -} - -# -# show menu to install themes/icons -# -function showThemesInstallMenu () { - while true; do - - themesInstallMenuOptions=$(whiptail \ - --title "Yggdrasil $version - Themes/Icons Install" \ - --menu "Install themes/icons from different submenus" \ - 25 80 16 \ - "themes" "GTK themes" \ - "icons" "Icons" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $themesInstallMenuOptions in - "themes") - installAppsFromListMenu gtkthemes - ;; - "icons") - installAppsFromListMenu icons - ;; - "Back") - break - ;; - esac - - done -} - -# -# show menu to install dev apps -# -function showDevInstallMenu () { - while true; do - - devInstallMenuOptions=$(whiptail \ - --title "Yggdrasil $version - Dev Install" \ - --menu "Install Dev apps from different submenus" \ - 25 80 16 \ - "devbase" "dev apps and tools" \ - "java11" "OpenJDK Java 11 dev env" \ - "javascript" "JavaScript dev env" \ - "mongodbce" "MongoDB CE" \ - "php" "PHP dev env" \ - "lua" "Lua dev env" \ - "ruby" "Ruby dev env" \ - "qt" "QT dev env" \ - "python" "Python dev env" \ - "atom" "Atom" \ - "anjuta" "Anjuta" \ - "brackets" "Brackets" \ - "codeblocks" "CodeBlocks" \ - "geany" "Geany" \ - "vsc" "Visual Studio Code" \ - "androidstudio" "Android Studio" \ - "sublimetext" "Sublime Text" \ - "cad" "CAD tools" \ - "teamviewer13" "Teamviewer 13" \ - "boostnotes" "Boostnotes Markdown wiki app" \ - "compass" "MongoDB Compass GUI" \ - "gitkraken" "Gitkraken git gui" \ - "vagrant" "Vagrant" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $devInstallMenuOptions in - "devbase") - installAppsFromListMenu dev - ;; - "java11") - installAppsFromListMenu java11 - ;; - "javascript") - installAppsFromListMenu javascript - ;; - "mongodbce") - installAppsFromListMenu mongodb - ;; - "php") - installAppsFromListMenu php - ;; - "lua") - installAppsFromListMenu lua - ;; - "ruby") - installAppsFromListMenu ruby - ;; - "qt") - installAppsFromListMenu qt - ;; - "python") - installAppsFromListMenu python - ;; - "atom") - installAppsFromListMenu atom - ;; - "anjuta") - installAppsFromListMenu anjuta - ;; - "brackets") - installAppsFromListMenu brackets - ;; - "codeblocks") - installAppsFromListMenu codeblocks - ;; - "geany") - installAppsFromListMenu geany - ;; - "vsc") - installAppsFromListMenu code - ;; - "androidstudio") - installAppsFromListMenu androidstudio - ;; - "sublimetext") - installAppsFromListMenu sublime-text - ;; - "cad") - installAppsFromListMenu cad - ;; - "teamviewer13") - installTeamViewer13Menu - ;; - "boostnotes") - installBoostnotesMenu - ;; - "compass") - installCompassMenu - ;; - "gitkraken") - installAppsFromListMenu gitkraken - ;; - "vagrant") - installVagrantMenu - ;; - "Back") - break - ;; - esac - - done -} - -# -# show menu to install apps from different categories -# -function showAppInstallMenu () { - while true; do - - appsInstallMenuOptions=$(whiptail \ - --title "Yggdrasil $version - Apps Install" \ - --menu "Install apps from different submenus" \ - 25 80 16 \ - "base" "Base Apps" \ - "office" "Office Apps" \ - "multimedia" "Multimedia Apps" \ - "ebook" "eBook Apps" \ - "internet" "Internet Apps" \ - "utilities" "Misc Utilities" \ - "games" "Games & tools" \ - "steam" "Steam" \ - "burningtools" "Disc Burning and tools" \ - "nettools" "Network tools" \ - "cajaplugins" "Caja Plugins" \ - "nautilus" "Nautilus and plugins" \ - "thunar" "Thunar file manager" \ - "gimp" "Gimp plugins" \ - "rhythmbox" "RhythmBox plugins" \ - "pidgin" "Pidgin plugins" \ - "nitrogen" "Nitrogen WP Manager" \ - "wine" "Wine Builds" \ - "snap" "Unlock/Install SNAP + Store" \ - "viber" "Viber IM desktop app" \ - "slack" "Slack App" \ - "appimagelauncher" "AppImage Launcher" \ - "xnviewmp" "XNView MP" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $appsInstallMenuOptions in - "base") - installAppsFromListMenu base - ;; - "office") - installAppsFromListMenu office - ;; - "multimedia") - installAppsFromListMenu multimedia - ;; - "ebook") - installAppsFromListMenu ebook - ;; - "internet") - installAppsFromListMenu internet - ;; - "utilities") - installAppsFromListMenu utilities - ;; - "games") - installAppsFromListMenu games - ;; - "steam") - installAppsFromListMenu steam - ;; - "burningtools") - installAppsFromListMenu burningtools - ;; - "nettools") - installAppsFromListMenu nettools - ;; - "cajaplugins") - installAppsFromListMenu cajaplugins - ;; - "nautilus") - installAppsFromList nautilus - ;; - "thunar") - installAppsFromListMenu thunar - ;; - "gimp") - installAppsFromListMenu gimp - ;; - "rhythmbox") - installAppsFromListMenu rhythmbox - ;; - "pidgin") - installAppsFromListMenu pidgin - ;; - "nitrogen") - installAppsFromListMenu nitrogen - ;; - "wine") - installAppsFromListMenu wine - ;; - "snap") - installAppsFromListMenu snap - ;; - "viber") - installViberMenu - ;; - "slack") - installSlackMenu - ;; - "appimagelauncher") - installAppImageLauncherMenu - ;; - "xnviewmp") - installXnViewMPMenu - ;; - "Back") - break - ;; - esac - - done -} - -# -# show menu about install/config hardware -# -function showHardwareMenu () { - while true; do - - hardwareMenuOptions=$(whiptail \ - --title "Yggdrasil $version - System Tools" \ - --menu "System tools to diagnose and optimize" \ - 25 80 16 \ - "HWE" "Ubuntu Hardware Enablement Stack (newer kernel+xorg)" \ - "cardreader" "Apps/tools needed for cardreaders" \ - "solaar" "Solaar for Logitech Unifying devices" \ - "webcam" "Install webcam neede apps" \ - "microcode" "Update Intel/AMD CPU microcode" \ - "tlp" "Install/Enable TLP for better power management " \ - "keyid" "Add udev rules for Key-ID FIDO U2F usb key" \ - "Back" "Back" 3>&1 1>&2 2>&3) - - case $hardwareMenuOptions in - "HWE") - installAppsFromListMenu hwe - ;; - "cardreader") - installAppsFromListMenu cardreader - ;; - "solaar") - installAppsFromListMenu solaar - ;; - "webcam") - installAppsFromListMenu webcam - ;; - "microcode") - updateMicrocode - pressKey - ;; - "tlp") - installAppsFromListMenu tlp - ;; - "keyid") - installKeyIDuDev - pressKey - ;; - "Back") - break - ;; - esac - - done -} diff --git a/notify.mp3 b/notify.mp3 old mode 100755 new mode 100644 diff --git a/repo_functions_ub1804.sh b/repo_functions.sh old mode 100755 new mode 100644 similarity index 55% rename from repo_functions_ub1804.sh rename to repo_functions.sh index 820d86b..49041bc --- a/repo_functions_ub1804.sh +++ b/repo_functions.sh @@ -1,16 +1,10 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 18.04 / Linux Mint 19 # -# # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# #-----------------------------------------------------------------------------# # list of apps with required package manager and category # @@ -20,20 +14,7 @@ # List of packages available # fields : package name, package manager, category, unique ID for external functions # -Apps="apt-transport-https;apt;init;apt-transport-https -flatpak;apt;init;flatpak -ubuntu-make;apt;init;ubuntu-make -gcc-8 g++-8;apt;init;gcc8 -ruby-dev;apt;init;ruby-dev -nodejs;apt;init;nodejslts -python3-pip;apt;init;python3-pip -python3-distutils;apt;init;python3-distutils -pip;pip;init;setuptools -setuptools;pip;init;setuptools -unattended-upgrades;apt;unattended-upgrades;unattended-upgrades -snapd;apt;snap;snapd -snap-store;snap;snap;snap-store -cifs-utils;apt;base;cifs-utils +Apps="cifs-utils;apt;base;cifs-utils xterm;apt;base;xterm curl;apt;base;curl mc;apt;base;mc @@ -50,20 +31,23 @@ iptraf;apt;base;iptraf mpg123;apt;base;mpg123 debconf-utils;apt;base;debconf-utils idle3-tools;apt;base;idle3-tools +snapd;apt;base;snapd sysstat;apt;base;sysstat -dcfldd;apt;base;dcfldd -mdadm;apt;base;mdadm -ncdu;apt;base;ncdu -com.spotify.Client;flatpak;multimedia;spotify +spotify;snap;multimedia;spotify +slowmovideo;apt;multimedia;slowmovideo sayonara;apt;multimedia;sayonara qmmp;apt;multimedia;qmmp qmmp-plugin-projectm;apt;multimedia;qmmp-plugin-projectm -org.shotcut.Shotcut;flatpak;multimedia;shotcut +shotcut;apt;multimedia;shotcut audacious;apt;multimedia;audacious dia;apt;multimedia;dia mpv;apt;multimedia;mpv picard;apt;multimedia;picard inkscape;apt;multimedia;inkscape +aegisub;apt;multimedia;aegisub +aegisub-l10n;apt;multimedia;aegisub-l10n +mypaint;apt;multimedia;mypaint +mypaint-data-extras;apt;multimedia;mypaint-data-extras audacity;apt;multimedia;audacity blender;apt;multimedia;blender kodi;apt;multimedia;kodi @@ -72,6 +56,7 @@ synfigstudio;apt;multimedia;synfigstudio mkvtoolnix-gui;apt;multimedia;mkvtoolnix-gui rawtherapee;apt;multimedia;rawtherapee hugin;apt;multimedia;hugin +xnview;apt;multimedia;xnview asunder;apt;multimedia;asunder milkytracker;apt;multimedia;milkytracker pitivi;apt;multimedia;pitivi @@ -79,8 +64,9 @@ openshot;apt;multimedia;openshot smplayer;apt;multimedia;smplayer smplayer-themes;apt;multimedia;smplayer-themes smplayer-l10n;apt;multimedia;smplayer-l10n -handbrake-cli;apt;multimedia;handbrake-cli -handbrake-gtk;apt;multimedia;handbrake-gtk +selene;apt;multimedia;selene +gnome-mplayer;apt;multimedia;gnome-mplayer +handbrake;apt;multimedia;handbrake avidemux2.6-qt;apt;multimedia;avidemux2.6-qt avidemux2.6-plugins-qt;apt;multimedia;avidemux2.6-plugins-qt mjpegtools;apt;multimedia;mjpegtools @@ -104,11 +90,10 @@ simplescreenrecorder-lib:i386;apt;multimedia;simplescreenrecorder-lib:i386 cuetools;apt;multimedia;cuetools shntool;apt;multimedia;shntool flac;apt;multimedia;flac -org.entangle_photo.Manager;flatpak;multimedia;entangle +entangle;apt;multimedia;entangle krita;apt;multimedia;krita soundconverter;apt;multimedia;soundconverter gimp;apt;multimedia;gimp -gimp-help-fr;apt;multimedia;gimp vidcutter;apt;multimedia;vidcutter green-recorder;apt;multimedia;green-recorder radiotray;apt;multimedia;radiotray @@ -118,45 +103,43 @@ python-musicbrainz2;apt;multimedia;python-musicbrainz2 gmusicbrowser;apt;multimedia;gmusicbrowser peek;apt;multimedia;peek bino;apt;multimedia;bino -kdenlive;apt;multimedia;kdenlive -com.github.huluti.ImCompressor;flatpak;multimedia;ImCompressor +owncloud-client;apt;internet;owncloud-client +syncthing-gtk;apt;internet;syncthing-gtk syncthing;apt;internet;syncthing -syncthing-gtk;apt;internet;syncthinggtk insync;apt;internet;insync -megasync;apt;internet;megasync -megacmd;apt;internet;megacmd -com.discordapp.Discord;flatpak;internet;discord -com.teamspeak.TeamSpeak;flatpak;internet;TeamSpeak +discord;snap;internet;discord quiterss;apt;internet;quiterss opera-stable;apt;internet;opera-stable google-chrome-stable;apt;internet;google-chrome-stable +xchat-gnome;apt;internet;xchat-gnome +xchat-gnome-indicator;apt;internet;xchat-gnome-indicator chromium-browser;apt;internet;chromium-browser chromium-browser-l10n;apt;internet;chromium-browser-l10n +dropbox;apt;internet;dropbox filezilla;apt;internet;filezilla hexchat;apt;internet;hexchat mumble;apt;internet;mumble +imagedownloader;apt;internet;imagedownloader +california;apt;internet;california +midori;apt;internet;midori geary;apt;internet;geary -birdtray;apt;internet;birdtray +corebird;apt;internet;corebird telegram;apt;internet;telegram skypeforlinux;apt;internet;skypeforlinux -nextcloud-desktop;apt;internet;nextcloud-desktop +nextcloud-client;apt;internet;nextcloud-client +nextcloud-client-caja;apt;internet;nextcloud-client-caja deluge-gtk;apt;internet;deluge-gtk deluge-torrent;apt;internet;deluge-torrent vivaldi-stable;apt;internet;vivaldi-stable transmission-gtk;apt;internet;transmission-gtk -iridium-browser;apt;internet;iridiumbrowser -youtube-dl;pip;internet;youtube-dl -youtube-dlg;apt;internet;youtube-dlg -gallery-dl;pip;internet;gallery-dl -cawbird;apt;internet;cawbird -us.zoom.Zoom;flatpak;internet;zoom qtqr;apt;utilities;qtqr +gqrcode;apt;utilities;gqrcode cpu-g;apt;utilities;cpu-g screenfetch;apt;utilities;screenfetch xcalib;apt;utilities;xcalib +conky-manager;apt;utilities;conky-manager conky-all;apt;utilities;conky-all plank;apt;utilities;plank -docky;apt;utilities;docky indicator-sound-switcher;apt;utilities;indicator-sound-switcher y-ppa-manager;apt;utilities;y-ppa-manager synapse;apt;utilities;synapse @@ -169,65 +152,49 @@ bleachbit;apt;utilities;bleachbit gparted;apt;utilities;gparted gsmartcontrol;apt;utilities;gsmartcontrol terminator;apt;utilities;terminator -tilix;apt;utilities;tilix +aptik;apt;utilities;aptik gufw;apt;utilities;gufw numlockx;apt;utilities;numlockx grub-customizer;apt;utilities;grub-customizer +unetbootin;apt;utilities;unebootin zim;apt;utilities;zim diodon;apt;utilities;diodon +pyrenamer;apt;utilities;pyrenamer qt5ct;apt;utilities;qt5ct qt4-qtconfig;apt;utilities;qt4-qtconfig byobu;apt;utilities;byobu mupdf;apt;utilities;mupdf mupdf-tools;apt;utilities;mupdf-tools -pdfarranger;apt;utilities;pdfarranger +ukuu;apt;utilities;ukuu fcrackzip;apt;utilities;fcrackzip rarcrack;apt;utilities;rarcrack pdfcrack;apt;utilities;pdfcrack figlet;apt;utilities;figlet alltray;apt;utilities;alltray -kdocker;apt;utilities;kdocker cheat;pip;utilities;cheat +mate-sensors-applet-nvidia;apt;utilities;mate-sensors-applets-nvidia woeusb;apt;utilities;woeusb screenkey;apt;utilities;screenkey +tmsu;apt;utilities;tmsu +etcher-electron;apt;utilities;etcher-electron pdfgrep;apt;utilities;pdfgrep coinmon;npm;utilities;coinmon tldr;pip;utilities;tldr gyazo;apt;utilities;gyazo fdupes;apt;utilities;fdupes -balena-etcher-electron;apt;utilities;balena-etcher-electron -org.gabmus.hydrapaper;flatpak;utilities;hydrapaper -nvme-cli;apt;utilities;nvme-cli -font-manager;apt;utilities;font-manager -com.github.tchx84.Flatseal;flatpak;utilities;flatseal +vulkan-utils;apt;utilities;vulkan-utils python3-dev;apt;python;python3-dev +python3-pip;apt;python;python3-pip python3-pyqt5;apt;python;python3-pyqt5 pyqt5-dev-tools;apt;python;pyqt5-dev-tools -idle3;apt;python;idle3 -python-gi;apt;python;python-gi -python-gi-cairo;apt;python;python-gi-cairo -python3-gi;apt;python;python3-gi -python3-gi-cairo;apt;python;python3-gi-cairo -python3-venv;apt;python;python3-venv -python3-wheel;apt;python;python3-wheel -libgirepository1.0-dev;apt;python;libgirepository1.0-dev -libbz2-dev;apt;python;libbz2-dev -libreadline-dev;apt;python;libreadline-dev -libssl-dev;apt;python;libssl-dev -zlib1g-dev;apt;python;zlib1g-dev -libsqlite3-dev;apt;python;libsqlite3-dev -llvm;apt;python;llvm -libncurses5-dev;apt;python;libncurses5-dev -libncursesw5-dev;apt;python;libncursesw5-dev -xz-utils;apt;python;xz-utils -tk-dev;apt;python;tk-dev -libcairo2-dev;apt;python;libcairo2-dev -virtualenv;pip;python;virtualenv -pipenv;pip;python;pipenv +pip;pip;python;setuptools +setuptools;pip;python;setuptools +PyOpenGL;pip;python;PyOpenGL +tweepy;pip;python;tweepy +weppy;pip;python;weppy +py-term;pip;python;py-term jstest-gtk;apt;games;jstest-gtk dosbox;apt;games;dosbox -lutris;apt;games;lutris -steam;apt;steam;steam brasero;apt;burningtools;brasero k3b;apt;burningtools;k3b k3b-extrathemes;apt;burningtools;k3b-extrathemes @@ -242,9 +209,10 @@ dsniff;apt;nettools;dsniff aircrack-ng;apt;nettools;aricrack-ng SpoofMAC;pip;nettools;SpoofMAC speedtest-cli;pip;nettools;speedtest-cli +whatportis;pip;nettools;whatportis +droopescan;pip;nettools;droopescan nethogs;apt;nettools;nethogs ssh_scan;gem;nettools;sshscan -whatismyip;npm;nettools;whatismyip caja-share;apt;cajaplugins;caja-share caja-wallpaper;apt;cajaplugins;caja-wallpaper caja-sendto;apt;cajaplugins;caka-sendto @@ -253,8 +221,10 @@ insync-caja;apt;cajaplugins;insync-caja nautilus;apt;nautilus;nautilus file-roller;apt;nautilus;file-roller nautilus-emblems;apt;nautilus;nautilus-emblems +nautilus-image-manipulator;apt;nautilus;nautilus-image-manipulator nautilus-image-converter;apt;nautilus;nautilus-image-converter nautilus-compare;apt;nautilus;nautilus-compare +nautilus-actions;apt;nautilus;nautilus-actions nautilus-sendto;apt;nautilus;nautilus-sendto nautilus-share;apt;nautilus;nautilus-share nautilus-wipe;apt;nautilus;nautilus-wipe @@ -265,11 +235,8 @@ nautilus-ideviceinfo;apt;nautilus;nautilus-ideviceinfo ooo-thumbnailer;apt;nautilus;ooo-thumbnailer nautilus-dropbox;apt;nautilus;nautilus-dropbox nautilus-script-manager;apt;nautilus;nautilus-script-manager +nautilus-columns;apt;nautilus;nautilus-columns insync-nautilus;apt;nautilus;insync-nautilus -thunar;apt;thunar;thunar -thunar-archive-plugin;apt;thunar;thunar-archive-plugin -thunar-gtkhash;apt;thunar;thunar-gtkhash -thunar-volman;apt;thunar;thunar-volman gtkam-gimp;apt;gimp;gtkam-gimp gimp-gluas;apt;gimp;gimp-gluas pandora;apt;gimp;pandora @@ -278,11 +245,14 @@ gimp-lensfun;apt;gimp;gimp-lensfun gimp-gmic;apt;gimp;gimp-gmic gimp-ufraw;apt;gimp;gimp-ufraw gimp-texturize;apt;gimp;gimp-texturize +gimp-plugin-registry;apt;gimp;gimp-plugin-registry rhythmbox-plugin-alternative-toolbar;apt;rhythmbox;rhythmbox-plugin-alternative-toolbar rhythmbox-plugin-artdisplay;apt;rhythmbox;rhythmbox-plugin-artdisplay rhythmbox-plugin-cdrecorder;apt;rhythmbox;rhythmbox-plugin-cdrecorder rhythmbox-plugin-close-on-hide;apt;rhythmbox;rhythmbox-plugin-close-on-hide rhythmbox-plugin-countdown-playlist;apt;rhythmbox;rhythmbox-plugin-countdown-playlist +rhythmbox-plugin-coverart-browser;apt;rhythmbox;rhythmbox-plugin-coverart-browser +rhythmbox-plugin-coverart-search;apt;rhythmbox;rhythmbox-pluginn-coverart-search rhythmbox-plugin-desktopart;apt;rhythmbox;rhythmbox-plugin-desktopart rhythmbox-plugin-equalizer;apt;rhythmbox;rhythmbox-plugin-equalizer rhythmbox-plugin-fileorganizer;apt;rhythmbox;rhythmbox-plugin-fileorganizer @@ -304,27 +274,87 @@ rhythmbox-plugin-screensaver;apt;rhythmbox;rhythmbox-plugin-screensaver rhythmbox-plugin-smallwindow;apt;rhythmbox;rhythmbox-plugin-smallwindow rhythmbox-plugin-spectrum;apt;rhythmbox;rhythmbox-plugin-spectrum rhythmbox-plugin-suspend;apt;rhythmbox;rhythmbox-plugin-suspend +rhythmbox-plugin-tray-icon;apt;rhythmbox;rhythmbox-plugin-tray-icon +rhythmbox-plugin-visualizer;apt;rhythmbox;rhythmbox-plugin-visualizer rhythmbox-plugin-wikipedia;apt;rhythmbox;rhythmbox-plugin-wikipedia rhythmbox-plugins;apt;rhythmbox;rhythmbox-plugins +telegram-purple;apt;pidgin;telegram-purple pidgin-skype;apt;pidgin;pidgin-skype purple-facebook;apt;pidgin;purple-facebook +purple-hangouts;apt;pidgin;purple-hangouts +pidgin-hangouts;apt;pidgin;pidgin-hangouts +pidgin-skypeweb;apt;pidgin;pidgin-skypeweb +purple-skypeweb;apt;pidgin;purple-skypeweb unbound;apt;unbound;unbound +ambiance-crunchy;apt;gtkthemes;ambiance-crunchy arc-theme;apt;gtkthemes;arc-theme +ambiance-colors;apt;gtkthemes;ambiance-colors +radiance-colors;apt;gtkthemes;radiance-colors +ambiance-flat-colors;apt;gtkthemes;ambiance-flat-colors +vivacious-colors-gtk-dark;apt;gtkthemes;vivacious-colors-gtk-dark +vivacious-colors-gtk-light;apt;gtkthemes;vivacious-colors-gtk-light +yosembiance-gtk-theme;apt;gtkthemes;yosembiance-gtk-theme +ambiance-blackout-colors;apt;gtkthemes;ambiance-blackout-colors +ambiance-blackout-flat-colors;apt;gtkthemes;ambiance-blackout-flat-colors +radiance-flat-colors;apt;gtkthemes;radiance-flat-colors +vibrancy-colors;apt;gtkthemes;vibrancy-colors +vivacious-colors;apt;gtkthemes;vivacious-colors numix-gtk-theme;apt;gtkthemes;numix-gtk-theme -plata-theme;apt;gtkthemes;plata-theme +arc-icons;apt;icons;arc-icons +ultra-flat-icons;apt;icons;ultra-flat-icons +myelementary;apt;icons;myelementary +ghost-flat-icons;apt;icons;ghost-flat-icons faenza-icon-theme;apt;icons;faenza-icon-theme +faience-icon-theme;apt;icons;faience-icon-theme +vibrantly-simple-icon-theme;apt;icons;vibrantly-simple-icon-theme +rave-x-colors-icons;apt;icons;rave-x-colors-icons +ravefinity-x-icons;apt;icons;ravefinity-x-icons numix-icon-theme;apt;icons;numix-icon-theme numix-icon-theme-circle;apt;icons;numix-icon-theme-circle solaar;apt;solaar;solaar pcscd;apt;cardreader;pcscd pcsc-tools;apt;cardreader;pcsc-tools +libacr38u;apt;cardreader;libacr38u guvcview;apt;webcam;guvcview cheese;apt;webcam;cheese +nvidia-370;apt;nvidia-370;nvidia-370 +nvidia-settings;apt;nvidia-370;nvidia-settings +nvidia-opencl-icd-370;apt;nvidia-370;nvidia-opencl-icd-370 +nvidia-375;apt;nvidia-375;nvidia-375 +nvidia-settings;apt;nvidia-375;nvidia-settings +nvidia-opencl-icd-375;apt;nvidia-375;nvidia-opencl-icd-375 +nvidia-378;apt;nvidia-378;nvidia-378 +nvidia-settings;apt;nvidia-378;nvidia-settings +nvidia-opencl-icd-378;apt;nvidia-378;nvidia-opencl-icd-378 +libcuda1-378;apt;nvidia-378;libcuda1-378 +nvidia-381;apt;nvidia-381;nvidia-381 +nvidia-settings;apt;nvidia-381;nvidia-settings +nvidia-opencl-icd-381;apt;nvidia-381;nvidia-opencl-icd-381 +libcuda1-381;apt;nvidia-381;libcuda1-381 +nvidia-384;apt;nvidia-384;nvidia-384 +nvidia-settings;apt;nvidia-384;nvidia-settings +nvidia-opencl-icd-384;apt;nvidia-384;nvidia-opencl-icd-384 +libcuda1-384;apt;nvidia-384;libcuda1-384 +nvidia-387;apt;nvidia-387;nvidia-387 +nvidia-settings;apt;nvidia-387;nvidia-settings +nvidia-opencl-icd-387;apt;nvidia-387;nvidia-opencl-icd-387 +libcuda1-387;apt;nvidia-387;libcuda1-387 +nvidia-390;apt;nvidia-390;nvidia-390 +nvidia-settings;apt;nvidia-390;nvidia-settings +nvidia-opencl-icd-390;apt;nvidia-390;nvidia-opencl-icd-390 +libcuda1-390;apt;nvidia-390;libcuda1-390 +nvidia-396;apt;nvidia-396;nvidia-396 +nvidia-settings;apt;nvidia-396;nvidia-settings +nvidia-opencl-icd-396;apt;nvidia-396;nvidia-opencl-icd-396 +libcuda1-396;apt;nvidia-396;libcuda1-396 tlp;apt;tlp;tlp notepadqq;apt;dev;notepadqq +agave;apt;dev;agave +utext;apt;dev;utext gpick;apt;dev;gpick -virtualbox-6.1;apt;dev;virtualbox-6.1 +virtualbox-5.2;apt;dev;virtualbox-5.2 build-essential;apt;dev;build-essential +ubuntu-make;apt;dev;ubuntu-make ghex;apt;dev;ghex glade;apt;dev;glade eric;apt;dev;eric @@ -335,33 +365,23 @@ shellcheck;apt;dev;shellcheck umbrello;apt;dev;umbrello ack-grep;apt;dev;ack-grep ansible;apt;dev;ansible -docker.io;apt;dev;dockerio +docker-ce;apt;dev;docker-ce remark-lint;npm;dev;remark-lint beautysh;pip;dev;beautysh mycli;pip;dev;mycli sqlitebrowser;apt;dev;sqlitebrowser -mysql-workbench;apt;dev;mysql-workbench -jq;apt;dev;jq -tig;apt;dev;tig -com.getpostman.Postman;flatpak;dev;postman +nodejs;apt;javascript;nodejs8lts javascript-common;apt;javascript;javascript-common yarn;npm;javascript;yarn emma-cli;npm;javascript;emma-cli jshint;npm;javascript;jshint -typescript;npm;javascript;typescript -@angular/cli;npm;javascript;angularcli -ionic;npm;javascript;ionic -cordova;npm;javascript;cordova -eslint;npm;javascript;eslint -web-ext;npm;javascript;web-ext -openjdk-11-jdk;apt;java11;openjdk-11-jdk -php7.2-cli;apt;php;php7.2-cli +oracle-java10-installer;apt;java10;oracle-java10-installer +oracle-java10-set-default;apt;java10;oracle-java10-set-default +php7.0-cli;apt;php;php7.0-cli php-pear;apt;php;php-pear composer;apt;php;composer luajit;apt;lua;luajit ruby-dev;apt;ruby;ruby-dev -ruby-full;apt;ruby;ruby-full -ruby-rainbow;apt;ruby;ruby-rainbow anjuta;apt;anjuta;anjuta anjuta-extras;apt;anjuta;anjuta-extras brackets;apt;brackets;brackets @@ -369,6 +389,8 @@ codeblocks;apt;codeblocks;codeblocks codeblocks-contrib;apt;codeblocks;codeblocks-contrib geany;apt;geany;geany geany-plugins;apt;geany;geany-plugins +geany-plugin-markdown;apt;geany;geany-plugin-markdown +pycharm-community;snap;pycharm;pycharm sublime-text;apt;sublime-text;sublime-text kicad;apt;cad;kicad kicad-locale-fr;apt;cad;kicad-locale-fr @@ -376,13 +398,18 @@ librecad;apt;cad;librecad freecad;apt;cad;freecad code;apt;code;code atom;apt;atom;atom +sync-settings;apm;atom;sync-settings sqlparse;pip;atom;sqlparse flake8;pip;atom;flake8 autopep8;pip;atom;autopep8 htmlbeautifier;gem;atom;htmlbeautifier +kodi;apt;beta;kodi-beta +kodi;apt;nightly;kodi-nightly nitrogen;apt;nitrogen;nitrogen -libreoffice;apt;office;libreoffice -winehq-stable;apt;wine;winehq-stable +firefox-trunk;apt;nightly;firefox-trunk +firefox-trunk-locale-fr;apt;nightly;firefox-trunk-locale-fr +libreoffice;apt;office;libreoffice6 +winehq-devel;apt;wine;winehq-devel winetricks;apt;wine;winetricks playonlinux;apt;wine;playonlinux mongodb-org;apt;mongodb;mongodb @@ -396,10 +423,7 @@ qttools5-doc-html;apt;qt;qttools5-doc-html fbreader;apt;ebook;fbreader calibre;apt;ebook;calibre android-studio;apt;androidstudio;androidstudio -com.axosoft.GitKraken;flatpak;gitkraken;gitkraken -xserver-xorg-hwe-18.04;apt;hwe;xserver-xorg-hwe-18.04 -xserver-xorg-video-all-hwe-18.04;apt;hwe;xserver-xorg-video-all-hwe-18.04 -linux-generic-hwe-18.04;apt;hwe;linux-generic-hwe-18.04" +intellij-idea-community;snap;idea;idea" #-----------------------------------------------------------------------------# # Specific Repo list and functions # @@ -411,43 +435,54 @@ linux-generic-hwe-18.04;apt;hwe;linux-generic-hwe-18.04" # AppsRepo="kodi-beta;addRepo_KodiBeta kodi-nightly;addRepo_KodiNightly -libreoffice;addRepo_Libreoffice -mongodb;addRepo_MongoDB_CE +libreoffice6;addRepo_Libreoffice6 +winehq-devel;addRepo_Wine +mongodb;addRepo_MongoDB3CE gyazo;addRepo_Gyazo code;addRepo_VSCode androidstudio;addRepo_AndroidStudio +docker-ce;addRepo_DockerCE ansible;addRepo_Ansible +etcher-electron;addRepo_Etcher sublime-text;addRepo_SublimeText vivaldi-stable;addRepo_Vivaldi -virtualbox-6.1;addRepo_VirtualBox -syncthing;addRepo_Syncthing -syncthinggtk;addRepo_SyncthingGtk +virtualbox-5.2;addRepo_VirtualBox +owncloud-client;addRepo_OwnCloud +syncthing-gtk;addRepo_Syncthing opera-stable;addRepo_Opera insync;addRepo_Insync google-chrome-stable;addRepo_ChromeStable atom;addRepo_Atom -nextcloud-desktop;addRepo_NextCloud +nextcloud-client;addRepo_NextCloud wireshark;addRepo_WireShark darktable;addRepo_DarkTable brackets;addRepo_Brackets kicad;addRepo_Kicad -nodejslts;addRepo_NodeLts +nodejs8lts;addRepo_NodeLts8 telegram;addRepo_Telegram skypeforlinux;addRepo_SkypeForLinux shotwell;addRepo_Shotwell peek;addRepo_Peek sqlitebrowser;addRepo_SQLiteBrowser +ukuu;addRepo_Teejee2008 +aptik;addRepo_Teejee2008 +conky-manager;addRepo_Teejee2008 avidemux2.6-plugins-qt;addRepo_Avidemux2.6 avidemux2.6-qt;addRepo_Avidemux2.6 +tmsu;addRepo_Tmsu quiterss;addRepo_Quiterss transmission-gtk;addRepo_Transmissionbt -handbrake-cli;addRepo_Handbrake -handbrake-gtk;addRepo_Handbrake +handbrake;addRepo_Handbrake notepadqq;addRepo_Notepadqq +mumble;addRepo_Mumble +utext;addRepo_Utext flacon;addRepo_Flacon y-ppa-manager;addRepo_YPPAManager +shotcut;addRepo_Shotcut diodon;addRepo_Diodon sayonara;addRepo_Sayonara +zeal;addRepo_Zeal +corebird;addRepo_Corebird deluge-torrent;addRepo_Deluge deluge-gtk;addRepo_Deluge kodi;addRepo_Kodi @@ -455,17 +490,41 @@ indicator-sound-switcher;addRepo_IndicatorSoundSwitcher krita;addRepo_Krita gimp-gmic;addRepo_Gimp gimp;addRepo_Gimp +geary;addRepo_Geary vidcutter;addRepo_Vidcutter +ambiance-crunchy;addRepo_NoobslabThemes +arc-theme;addRepo_NoobslabThemes +ambiance-colors;addRepo_Ravefinity +radiance-colors;addRepo_Ravefinity +ambiance-flat-colors;addRepo_Ravefinity +vivacious-colors-gtk-dark;addRepo_Ravefinity +vivacious-colors-gtk-light;addRepo_Ravefinity +yosembiance-gtk-theme;addRepo_NoobslabThemes +ambiance-blackout-colors;addRepo_Ravefinity +ambiance-blackout-flat-colors;addRepo_Ravefinity +radiance-flat-colors;addRepo_Ravefinity +vibrancy-colors;addRepo_Ravefinity +vivacious-colors;addRepo_NoobslabThemes +arc-icons;addRepo_NoobslabIcons +ultra-flat-icons;addRepo_NoobslabIcons +myelementary;addRepo_NoobslabIcons +ghost-flat-icons;addRepo_NoobslabIcons +faenza-icon-theme;addRepo_NoobslabIcons +vibrantly-simple-icon-theme;addRepo_Ravefinity +rave-x-colors-icons;addRepo_Ravefinity +ravefinity-x-icons;addRepo_Ravefinity oracle-java10-installer;addRepo_Java10 oracle-java10-set-default;addRepo_Java10 green-recorder;addRepo_GreenRecorder +hugin;addRepo_Hugin simplescreenrecorder;addRepo_SimpleScreenRecorder simplescreenrecorder-lib;addRepo_SimpleScreenRecorder simplescreenrecorder-lib:i386;addRepo_SimpleScreenRecorder +slowmovideo;addRepo_Slowmovideo zim;addRepo_Zim grub-customizer;addRepo_GrubCustomizer +vlc;addRepo_VLC numix-gtk-theme;addRepo_Numix -plata-theme;addRepo_Plata numix-icon-theme;addRepo_Numix numix-icon-theme-circle;addRepo_Numix rhythmbox-plugin-alternative-toolbar;addRepo_Rhythmbox @@ -473,6 +532,8 @@ rhythmbox-plugin-artdisplay;addRepo_Rhythmbox rhythmbox-plugin-cdrecorder;addRepo_Rhythmbox rhythmbox-plugin-close-on-hide;addRepo_Rhythmbox rhythmbox-plugin-countdown-playlist;addRepo_Rhythmbox +rhythmbox-plugin-coverart-browser;addRepo_Rhythmbox +rhythmbox-plugin-coverart-search;addRepo_Rhythmbox rhythmbox-plugin-desktopart;addRepo_Rhythmbox rhythmbox-plugin-equalizer;addRepo_Rhythmbox rhythmbox-plugin-fileorganizer;addRepo_Rhythmbox @@ -494,195 +555,74 @@ rhythmbox-plugin-screensaver;addRepo_Rhythmbox rhythmbox-plugin-smallwindow;addRepo_Rhythmbox rhythmbox-plugin-spectrum;addRepo_Rhythmbox rhythmbox-plugin-suspend;addRepo_Rhythmbox +rhythmbox-plugin-tray-icon;addRepo_Rhythmbox +rhythmbox-plugin-visualizer;addRepo_Rhythmbox rhythmbox-plugin-wikipedia;addRepo_Rhythmbox rhythmbox-plugins;addRepo_Rhythmbox +vulkan-utils;addRepo_NvidiaDrivers +nvidia-settings;addRepo_NvidiaDrivers +nvidia-370;addRepo_NvidiaDrivers +nvidia-opencl-icd-370;addRepo_NvidiaDrivers +nvidia-375;addRepo_NvidiaDrivers +nvidia-opencl-icd-375;addRepo_NvidiaDrivers +nvidia-378;addRepo_NvidiaDrivers +nvidia-opencl-icd-378;addRepo_NvidiaDrivers +libcuda1-378;addRepo_NvidiaDrivers +nvidia-381;addRepo_NvidiaDrivers +nvidia-opencl-icd-381;addRepo_NvidiaDrivers +libcuda1-381;addRepo_NvidiaDrivers +nvidia-384;addRepo_NvidiaDrivers +nvidia-opencl-icd-384;addRepo_NvidiaDrivers +libcuda1-384;addRepo_NvidiaDrivers +nvidia-387;addRepo_NvidiaDrivers +nvidia-opencl-icd-387;addRepo_NvidiaDrivers +libcuda1-387;addRepo_NvidiaDrivers +nvidia-390;addRepo_NvidiaDrivers +nvidia-opencl-icd-390;addRepo_NvidiaDrivers +libcuda1-390;addRepo_NvidiaDrivers +nvidia-396;addRepo_NvidiaDrivers +nvidia-opencl-icd-396;addRepo_NvidiaDrivers +libcuda1-396;addRepo_NvidiaDrivers rawtherapee;addRepo_DhorMyWay +entangle;addRepo_DhorMyWay mkvtoolnix-gui;addRepo_MKVToolnix purple-facebook;addRepo_Jgeboski +cpu-g;addRepo_Atareao +gqrcode;addRepo_Atareao +imagedownloader;addRepo_Atareao audacious;addRepo_Webupd8 +nautilus-columns;addRepo_Webupd8 +nautilus-terminal;addRepo_Webupd8 +purple-hangouts;addRepo_Webupd8 +purple-skypeweb;addRepo_Webupd8 qt5ct;addRepo_Webupd8 +syncthing-gtk;addRepo_Webupd8 +telegram-purple;addRepo_Webupd8 screenkey;addRepo_Webupd8 yad;addRepo_Webupd8 -woeusb;addRepo_Webupd8 -youtube-dlg;addRepo_Webupd8 -cpu-g;addRepo_Atareao -iridiumbrowser;addRepo_Iridium -picard;addRepo_Picard -birdtray;addRepo_Linuxuprising -pdfarranger;addRepo_Linuxuprising -kdenlive;addRepo_KDEnlive -megasync;addRepo_MEGA -lutris;addRepo_Lutris -guake;addRepo_LinuxUprising_Guake -winehq-stable;addRepo_WineHQ -flatpak;addRepo_flatpak -balena-etcher-electron;addRepo_Belena -font-manager;addRepo_FontManager -cawbird;addRepo_Cawbird -ubuntu-make;addRepo_UbuntuMake -audacity;addRepo_Audacity" +woeusb;addRepo_Webupd8" # -# Audacity -# -function addRepo_Audacity () { - addPPA ppa:ubuntuhandbook1/audacity -} - -# -# Ubuntu Make -# -function addRepo_UbuntuMake () { - addPPA ppa:ubuntu-desktop/ubuntu-make -} - -# -# Cawbird -# -function addRepo_Cawbird () { - addKey "https://download.opensuse.org/repositories/home:IBBoard:cawbird/xUbuntu_18.04/Release.key" - addRepo cawbird.list \ - "deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_18.04/ /" -} - -# -# Font Manager -# -function addRepo_FontManager () { - addPPA ppa:font-manager/staging -} - - -# -# Flatpak -# -function addRepo_flatpak () { - addPPA ppa:alexlarsson/flatpak -} - - -# -# Belena Etcher -# -function addRepo_Belena () { - addKey "keyserver.ubuntu.com" \ - "379CE192D401AB61" - addRepo balena-etcher.list \ - "deb https://deb.etcher.io stable etcher" -} - - -# -# Wine HQ -# -function addRepo_WineHQ () { - addPPA ppa:cybermax-dexter/sdl2-backport - addKey "https://dl.winehq.org/wine-builds/winehq.key" - addRepo winehq.list \ - "deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main" -} - -# -# Lutris -# -function addRepo_Lutris () { - addPPA ppa:lutris-team/lutris -} - -# -# MEGASync -# -function addRepo_MEGA () { - addKey "https://mega.nz/linux/MEGAsync/xUbuntu_18.04/Release.key" - addRepo megasync.list \ - "deb https://mega.nz/linux/MEGAsync/xUbuntu_18.04/ ./" -} - -# -# KDEnlive -# -function addRepo_KDEnlive () { - addPPA ppa:kdenlive/kdenlive-stable -} - -# -# Makoto no blog repo -# -function addRepo_Makoto () { - addKey "https://packagecloud.io/makoto/stable/gpgkey" - addRepo makoto.list \ - "deb https://packagecloud.io/makoto/stable/ubuntu/ bionic main" -} - -# -# Plata Theme -# -function addRepo_Plata () { - addPPA ppa:tista/plata-theme -} - -# -# LinuxUpRising repo (Birdtray (for Thunderbird), PDFArranger) -# -function addRepo_Linuxuprising () { - addPPA ppa:linuxuprising/apps -} - -# -# MusicBrainz Picard -# -function addRepo_Picard () { - addPPA ppa:musicbrainz-developers/stable -} - -# -# Iridium-Browser -# -function addRepo_Iridium () { - addKey "https://downloads.iridiumbrowser.de/ubuntu/iridium-release-sign-01.pub" - addRepo iridium-browser.list \ - "deb [arch=amd64] https://downloads.iridiumbrowser.de/deb/ stable main" \ - "deb-src https://downloads.iridiumbrowser.de/deb/ stable main" -} - -# -# Atareao ppa -# -function addRepo_Atareao () { - addPPA ppa:atareao/atareao -} - -# -# Syncthing-GTK -# -function addRepo_SyncthingGtk () { - addKey "https://download.opensuse.org/repositories/home:kozec/xUbuntu_18.04/Release.key" - addRepo syncthinggtk.list \ - "deb http://download.opensuse.org/repositories/home:/kozec/xUbuntu_18.04/ /" -} - -# -# Linux Uprising (Guake) -# - -function addRepo_LinuxUprising_Guake () { - addPPA ppa:linuxuprising/guake -} - -# -# Webupd8 (Audacious, ...) +# Audacious, Guake # function addRepo_Webupd8 () { addPPA ppa:nilarimogard/webupd8 } +# +# cpu-g, gqrcode, imagedownloader +# +function addRepo_Atareao () { + addPPA ppa:atareao/atareao +} + # # purple facebook # function addRepo_Jgeboski () { addKey "https://jgeboski.github.io/obs.key" addRepo jgeboski.list \ - "deb http://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_18.04/ ./" + "deb http://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_16.04/ ./" } # @@ -691,8 +631,8 @@ function addRepo_Jgeboski () { function addRepo_MKVToolnix () { addKey "https://mkvtoolnix.download/gpg-pub-moritzbunkus.txt" addRepo mkv.list \ - "deb https://mkvtoolnix.download/ubuntu/ bionic main" \ - "deb-src https://mkvtoolnix.download/ubuntu/ bionic main" + "deb https://mkvtoolnix.download/ubuntu/ xenial main" \ + "deb-src https://mkvtoolnix.download/ubuntu/ xenial main" } # @@ -702,10 +642,27 @@ function addRepo_DhorMyWay () { addPPA ppa:dhor/myway } +# +# Oibaf +# - newest versions of free/open GPU drivers +# - newest versions of Mesa, .... +# +function addRepo_Oibaf () { + addPPA ppa:oibaf/graphics-drivers +} + +# +# Nvidia drivers +# +function addRepo_NvidiaDrivers () { + addPPA ppa:graphics-drivers/ppa +} + # # Rhythmbox # function addRepo_Rhythmbox () { + addPPA ppa:fossfreedom/rhythmbox addPPA ppa:fossfreedom/rhythmbox-plugins } @@ -716,6 +673,20 @@ function addRepo_Numix () { addPPA ppa:numix/ppa } +# +# ravefinity themes +# +function addRepo_Ravefinity () { + addPPA ppa:ravefinity-project/ppa +} + +# +# VLC +# +function addRepo_VLC () { + addPPA ppa:videolan/stable-daily +} + # # Grub-Customizer # @@ -730,6 +701,13 @@ function addRepo_Zim () { addPPA ppa:jaap.karssenberg/zim } +# +# Slowmovideo +# +function addRepo_Slowmovideo () { + addPPA ppa:ubuntuhandbook1/slowmovideo +} + # # Simple-Screen-Recorder # @@ -737,6 +715,13 @@ function addRepo_SimpleScreenRecorder () { addPPA ppa:maarten-baert/simplescreenrecorder } +# +# Hugin +# +function addRepo_Hugin () { + addPPA ppa:hugin/hugin-builds +} + # # Green-Recorder # @@ -751,6 +736,20 @@ function addRepo_Java10 () { addPPA ppa:linuxuprising/java } +# +# Noobslab icons +# +function addRepo_NoobslabIcons () { + addPPA ppa:noobslab/icons +} + +# +# Noobslab themes +# +function addRepo_NoobslabThemes () { + addPPA ppa:noobslab/themes +} + # # Vidcutter # @@ -758,11 +757,19 @@ function addRepo_Vidcutter () { addPPA ppa:ozmartian/apps } + +# +# Geary +# +function addRepo_Geary () { + addPPA ppa:geary-team/releases +} + # # Gimp / Gmic # function addRepo_Gimp () { - addPPA ppa:otto-kesselgulasch/gimp +addPPA ppa:otto-kesselgulasch/gimp } # @@ -783,14 +790,28 @@ function addRepo_IndicatorSoundSwitcher () { # Kodi / XBMC # function addRepo_Kodi () { - addPPA ppa:team-xbmc/ppa +addPPA ppa:team-xbmc/ppa } # # Deluge # function addRepo_Deluge () { - addPPA ppa:deluge-team/ppa +addPPA ppa:deluge-team/ppa +} + +# +# Corebird +# +function addRepo_Corebird () { +addPPA ppa:ubuntuhandbook1/corebird +} + +# +# Zeal +# +function addRepo_Zeal () { + addPPA ppa:zeal-developers/ppa } # @@ -807,6 +828,13 @@ function addRepo_Diodon () { addPPA ppa:diodon-team/stable } +# +# Shotcut +# +function addRepo_Shotcut () { + addPPA ppa:haraldhv/shotcut +} + # # Y-PPA-Manager # @@ -821,6 +849,20 @@ function addRepo_Flacon () { addPPA ppa:flacon/ppa } +# +# Utext +# +function addRepo_Utext () { + addPPA ppa:atareao/utext +} + +# +# Mumble +# +function addRepo_Mumble () { + addPPA ppa:mumble/release +} + # # Notepadqq # @@ -849,6 +891,13 @@ function addRepo_Quiterss () { addPPA ppa:quiterss/quiterss } +# +# TMSU +# +function addRepo_Tmsu () { + addPPA ppa:tmsu/ppa +} + # # Avidemux # @@ -857,7 +906,7 @@ function addRepo_Avidemux2.6 () { } # -# conky-manager, selene, timeshift +# aptik, conky-manager, selene, timeshift, ukuu # function addRepo_Teejee2008 () { addPPA ppa:teejee2008/ppa @@ -896,18 +945,18 @@ function addRepo_Telegram () { # function addRepo_SkypeForLinux () { addKey "https://repo.skype.com/data/SKYPE-GPG-KEY" - addRepo "skype-stable.list" \ + addRepo "skypeforlinux.list" \ "deb [arch=amd64] https://repo.skype.com/deb stable main" } # -# NodeJS LTS +# Node 8 LTS # -function addRepo_NodeLts () { +function addRepo_NodeLts8 () { addKey "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" addRepo "nodesource.list" \ - "deb https://deb.nodesource.com/node_12.x bionic main" \ - "deb-src https://deb.nodesource.com/node_12.x bionic main" + "deb https://deb.nodesource.com/node_8.x xenial main" \ + "deb-src https://deb.nodesource.com/node_8.x xenial main" } # @@ -935,7 +984,7 @@ function addRepo_DarkTable () { # WireShark # function addRepo_WireShark () { - addPPA ppa:wireshark-dev/stable +addPPA ppa:wireshark-dev/stable } # @@ -967,10 +1016,9 @@ function addRepo_ChromeStable () { # Insync # function addRepo_Insync () { - addKey "keyserver.ubuntu.com" \ - "ACCAF35C" + addKey "https://d2t3ff60b2tol4.cloudfront.net/services@insynchq.com.gpg.key" addRepo insync.list \ - "deb http://apt.insync.io/ubuntu bionic non-free contrib" + "deb http://apt.insynchq.com/ubuntu xenial non-free contrib" } # @@ -991,6 +1039,15 @@ function addRepo_Syncthing () { "deb http://apt.syncthing.net/ syncthing release" } +# +# OwnCloud +# +function addRepo_OwnCloud () { + addKey "http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_16.04/Release.key" + addRepo owncloud-client.list \ + "deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /" +} + # # VirtualBox # @@ -998,7 +1055,7 @@ function addRepo_VirtualBox () { addKey "http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc" addKey "http://download.virtualbox.org/virtualbox/debian/oracle_vbox_2016.asc" addRepo virtualbox.list \ - "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian bionic contrib" + "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" } # @@ -1019,6 +1076,16 @@ function addRepo_SublimeText () { "deb https://download.sublimetext.com/ apt/dev/" } +# +# Etcher +# +function addRepo_Etcher () { + addKey "hkp://pgp.mit.edu:80" \ + "379CE192D401AB61" + addRepo "etcher.list" \ + "deb https://dl.bintray.com/resin-io/debian stable etcher" +} + # # Ansible # @@ -1026,29 +1093,47 @@ function addRepo_Ansible () { addPPA ppa:ansible/ansible } +# +# Docker CE +# +function addRepo_DockerCE () { + addKey "https://download.docker.com/linux/ubuntu/gpg" + addRepo "docker.list" \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" +} + # # Gyazo # function addRepo_Gyazo () { addKey "https://packagecloud.io/gyazo/gyazo-for-linux/gpgkey" addRepo "gyazo_gyazo-for-linux.list" \ - "deb https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ bionic main" \ - "deb-src https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ bionic main" + "deb https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ xenial main" \ + "deb-src https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ xenial main" } # -# MongoDB 4 CE +# MongoDB 3 CE # -function addRepo_MongoDB_CE () { - addKey "https://www.mongodb.org/static/pgp/server-4.2.asc" - addRepo "mongodb-org-4.2.list" \ - "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" +function addRepo_MongoDB3CE () { + addKey "https://www.mongodb.org/static/pgp/server-3.6.asc" + addRepo "mongodb-org-3.6.list" \ + "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" } # -# LibreOffice +# Wine Build # -function addRepo_Libreoffice () { +function addRepo_Wine () { + addKey "https://dl.winehq.org/wine-builds/Release.key" + addRepo "winehq.list" \ + "deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main" +} + +# +# LibreOffice 6 +# +function addRepo_Libreoffice6 () { addPPA ppa:libreoffice/ppa } @@ -1082,46 +1167,6 @@ function addRepo_AndroidStudio () { addPPA ppa:maarten-fonville/android-studio } -#-----------------------------------------------------------------------------# -# Package pre install functions list # -#-----------------------------------------------------------------------------# - -# -# list of pre install functions -# fields : unique ID, function to process before install -# -AppsPreTrtFct="opera-stable;opera_PreTrtFct -steam;steam_PreTrtFct -wireshark;wireshark_PreTrtFct" - -# -# Opera -# -function opera_PreTrtFct () { - runCmd "echo opera-stable opera-stable/add-deb-source boolean false | sudo debconf-set-selections" \ - "setting as do not add repo" -} - -# -# Steam -# -function steam_PreTrtFct () { - runCmd "echo \"steam steam/purge note\" | sudo debconf-set-selections" \ - "accepting steam licence" - runCmd "echo \"steam steam/license note\" | sudo debconf-set-selections" \ - "accepting steam licence 2/3" - runCmd "echo \"steam steam/question select I AGREE\" | sudo debconf-set-selections" \ - "accepting steam licence 3/3" -} - -# -# Wireshark -# -function wireshark_PreTrtFct () { - runCmd "echo wireshark-common wireshark-common/install-setuid boolean true | sudo debconf-set-selections" \ - "setting Wireshark as root only" -} - #-----------------------------------------------------------------------------# # Package post install functions list # #-----------------------------------------------------------------------------# @@ -1130,238 +1175,15 @@ function wireshark_PreTrtFct () { # list of post install functions # fields : unique ID, function to process after install # -AppsPostTrtFct="nitrogen;nitrogen_PostTrtFct -mongodb;mongodb_PostTrtFct -qttools5-dev-tools;qt_PostTrtFct -plank;plank_PostTrtFct -androidstudio;android_PostTrtFct -nodejslts;nodejslts_PostTrtFct -angularcli;angularcli_PostTrtFct -dockerio;dockerio_PostTrtFct -megasync;megasync_PostTrtFct -nextcloud-desktop;nextcloud_PostTrtFct -flatpak;flatpak_PostTrtFct -gcc8;gcc8_PostTrtFct -ruby-dev;ruby-dev_PostTrtFct -virtualbox-6.1;virtualbox-6.1_PostTrtFct -gufw;gufw_PostTrtFct -numlockx;numlockx_PostTrtFct -screenfetch;screenfetch_PostTrtFct" - -# -# screenfetch in .bashrc -# -function screenfetch_PostTrtFct () { - runCmd "touch /home/$myHomedir/.bashrc" \ - "creating .bashrc file if necessary" - runCmd "echo 'screenfetch -t' | tee -a /home/$myHomedir/.bashrc" \ - "adding screenfetch to .bashrc" -} - -# -# numlockx -# -function numlockx_PostTrtFct () { - if which lightdm >/dev/null; then - runCmd "sudo touch /etc/lightdm/lightdm.conf.d/70-linuxmint.conf" \ - "creating lightdm config file if necessary" - runCmd "sudo cp /etc/lightdm/lightdm.conf.d/70-linuxmint.conf /etc/lightdm/lightdm.conf.d/70-linuxmint.conf.yggbak" \ - "backing up lightdm original config file" - runCmd "echo -e '\ngreeter-setup-script=/usr/bin/numlockx on' | sudo tee -a /etc/lightdm/lightdm.conf.d/70-linuxmint.conf" \ - "enabling numlockx on in lightdm at boot" - fi -} - -# -# ufw enablement + add rules -# -function gufw_PostTrtFct () { - runCmd "sudo ufw enable"\ - "enabling UFW at boot" - - if which syncthing >/dev/null; then - runCmd "sudo ufw allow syncthing" \ - "adding UFW rules for Syncthing" - fi -} - -# -# virtualbox-6.1 -# -function virtualbox-6.1_PostTrtFct () { - cUser=$(whoami) - runCmd "sudo adduser $cUser vboxusers" \ - "adding user to vboxusers group" -} - -# -# NPM Update -# -function nodejslts_PostTrtFct () { - printf "[NPM] set prefix in ~/.local " - printf "\n[NPM] set prefix in ~/.local\n" &>> $logFile - npm config set prefix /home/$myHomedir/.local &>> $logFile - ret_code=$? - retCode $ret_code - - if [ `grep 'PATH=~/.local/bin/:$PATH' ~/.bashrc | wc -l` -gt 0 ]; then - printf "[NPM] add ~/.local/bin to PATH ... already added [ "$BOLDVERT"OK"$NORMAL" ]\n" - else - printf "[NPM] add ~/.local/bin to PATH " - printf "\n[NPM] add ~/.local/bin to PATH\n" &>> $logFile - echo 'PATH=~/.local/bin/:$PATH' | tee -a ~/.bashrc &>> $logFile - ret_code=$? - retCode $ret_code - fi - - printf "[NPM] update npm " - printf "\n[NPM] update npm\n" &>> $logFile - npm i -g npm &>> $logFile - ret_code=$? - retCode $ret_code -} - -# -# GEM / Ruby Dev -# -function ruby-dev_PostTrtFct () { - printf "[GEM] update --system " - printf "\n[GEM] update --system\n" &>> $logFile - sudo gem update --system &>> $logFile - ret_code=$? - retCode $ret_code -} - -# -# GCC 8 -# -function gcc8_PostTrtFct () { - runCmd "sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7" \ - "adding GCC-7 as alternative" - runCmd "sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8" \ - "adding GCC-8 as alternative by default" -} - -# -# Flatpak -# -function flatpak_PostTrtFct () { - if which flatpak >/dev/null; then - printf "[FLATPAK] Adding Flathub repository " - printf "\n[FLATPAK] Adding Flathub repository\n" &>> $logFile - sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo &>> $logFile - ret_code=$? - retCode $ret_code - fi -} - -# -# MEGASync -# -function megasync_PostTrtFct () { - if which thunar >/dev/null; then - installPackage apt thunar-megasync - fi - if which nautilus >/dev/null; then - installPackage apt nautilus-megasync - fi -} - -# -# Nextcloud -# -function nextcloud_PostTrtFct () { - if which nautilus >/dev/null; then - installPackage apt nextcloud-client-nautilus - fi - if which caja >/dev/null; then - installPackage apt nextcloud-client-caja - fi -} - -# -# Docker -# -function dockerio_PostTrtFct () { - runCmd "sudo systemctl start docker" \ - "start docker service" - runCmd "sudo systemctl enable docker" \ - "add docker service at boot" - runCmd "sudo groupadd docker" \ - "add docker group" - cUser=$(whoami) - runCmd "sudo usermod -aG docker $cUser" \ - "add current user to docker group" -} - -# -# Angular CLI -# -function angularcli_PostTrtFct () { - if which yarn >/dev/null; then - runCmd "ng config -g cli.packageManager yarn" \ - "using yarn instead of npm for angular/cli" - fi -} - -# -# Android Env for adb, fastboot, .... -# -function android_PostTrtFct () { - printf "[CMD] Adding Android devices UDEV rules " - -cat << EOF | sudo tee /etc/udev/rules.d/99-android.rules -SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", OWNER="$myHomedir" # Acer -SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", OWNER="$myHomedir" # Asus -SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", OWNER="$myHomedir" # Dell -SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", OWNER="$myHomedir" # Foxconn -SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="$myHomedir" # Fujitsu -SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="$myHomedir" # Fujitsu-Toshiba -SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", OWNER="$myHomedir" # Garmin-Asus -SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="$myHomedir" # Google-Nexus -SUBSYSTEM=="usb", ATTR{idVendor}=="201E", MODE="0666", OWNER="$myHomedir" # Haier -SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", OWNER="$myHomedir" # Hisense -SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="$myHomedir" # HTC -SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", OWNER="$myHomedir" # Huawei -SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", OWNER="$myHomedir" # Intel -SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", OWNER="$myHomedir" # K-Touch -SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", OWNER="$myHomedir" # KT Tech -SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", OWNER="$myHomedir" # Kyocera -SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", OWNER="$myHomedir" # Lenovo -SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", OWNER="$myHomedir" # LG -SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", OWNER="$myHomedir" # Motorola -SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", OWNER="$myHomedir" # MTK -SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", OWNER="$myHomedir" # NEC -SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", OWNER="$myHomedir" # Nook -SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", OWNER="$myHomedir" # Nvidia -SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", OWNER="$myHomedir" # OTGV -SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", OWNER="$myHomedir" # Pantech -SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", OWNER="$myHomedir" # Pegatron -SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", OWNER="$myHomedir" # Philips -SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", OWNER="$myHomedir" # PMC-Sierra -SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", OWNER="$myHomedir" # Qualcomm -SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", OWNER="$myHomedir" # SK Telesys -SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="$myHomedir" # Samsung -SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", OWNER="$myHomedir" # Sharp -SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", OWNER="$myHomedir" # Sony -SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="$myHomedir" # Sony Ericsson -SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="$myHomedir" # Sony Mobile Communications -SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", OWNER="$myHomedir" # Teleepoch -SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", OWNER="$myHomedir" # Toshiba -SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", OWNER="$myHomedir" # ZTE -EOF - - ret_code=$? - retCode $ret_code - - runCmd "sudo service udev restart" \ - "restarting UDEV service" -} +AppsTrtFct="nitrogen;nitrogen_TrtFct +mongodb;mongodb_TrtFct +qttools5-dev-tools;qt_TrtFct +plank;plank_TrtFct" # # Plank themes -# -function plank_PostTrtFct () { +#TODO: test it +function plank_TrtFct () { typeset ret_code if ! (( $(ps -ef | grep -v grep | grep plank | wc -l) > 0 )); then @@ -1377,7 +1199,6 @@ function plank_PostTrtFct () { && cd plank-themer-master/ \ && rm -fR ~/.config/plank/dock1/theme_index; \ rm -fR ~/.config/plank/dock1/themes-repo; \ - mkdir -p ~/.config/plank/dock1; \ cp -a theme_index/ ~/.config/plank/dock1 \ && cp -a themes-repo/ ~/.config/plank/dock1 \ && cd ~ \ @@ -1390,15 +1211,22 @@ function plank_PostTrtFct () { # # QT5 Dev Tools # -function qt_PostTrtFct () { +function qt_TrtFct () { runCmd "sudo ln -s /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf /usr/lib/x86_64-linux-gnu/qtchooser/default.conf" \ "set QT5 as default" + + createAppShortcut "/usr/bin/designer" \ + "/home/"$myHomedir"/.icons/qtdesigner.png" \ + "GNOME;GTK;Development;IDE" \ + "QT Designer 5" \ + "local" \ + update-menus } # -# MongoDB CE +# MongoDB 3 CE # -function mongodb_PostTrtFct () { +function mongodb_TrtFct () { runCmd "sudo systemctl enable mongod.service" \ "enabling mongod service at boot" runCmd "sudo systemctl start mongod.service" \ @@ -1408,7 +1236,7 @@ function mongodb_PostTrtFct () { # # nitrogen post install function # -function nitrogen_PostTrtFct () { +function nitrogen_TrtFct () { if isMate; then runCmd "gsettings set org.mate.background draw-background false" \ "disabling Caja background management" @@ -1416,26 +1244,13 @@ function nitrogen_PostTrtFct () { "disabling Caja desktop icons management" createAppShortcut "bash -c \"sleep 10; nitrogen --restore\"" \ - "/usr/share/icons/hicolor/48x48/apps/nitrogen.png" \ - "Utility;GTK" \ - "Nitrogen" \ - "local" \ - "start" - update-menus - elif isCinnamon; then - runCmd "gsettings set org.nemo.desktop draw-background false" \ - "disabling Caja background management" - runCmd "gsettings set org.nemo.desktop show-desktop-icons false" \ - "disabling Caja desktop icons management" - - createAppShortcut "bash -c \"sleep 10; nitrogen --restore\"" \ - "/usr/share/icons/hicolor/48x48/apps/nitrogen.png" \ - "Utility;GTK" \ + "/home/"$myHomedir".icons/franz.png" \ + "Network;InstantMessaging" \ "Nitrogen" \ "local" \ "start" update-menus else - printf "[ERR] only Mate/Cinnamon Desktop is currently supported\n" + printf "[ERR] only Mate Desktop is currently supported\n" fi } diff --git a/repo_functions_ub2004.sh b/repo_functions_ub2004.sh deleted file mode 100755 index 11c1b97..0000000 --- a/repo_functions_ub2004.sh +++ /dev/null @@ -1,1347 +0,0 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# # -# Ubuntu 20.04 / Linux Mint 20 # -# # -#-----------------------------------------------------------------------------# - -#-----------------------------------------------------------------------------# -# list of apps with required package manager and category # -#-----------------------------------------------------------------------------# - -# -# List of packages available -# fields : package name, package manager, category, unique ID for external functions -# -Apps="apt-transport-https;apt;init;apt-transport-https -flatpak;apt;init;flatpak -ubuntu-make;apt;init;ubuntu-make -ruby-dev;apt;init;ruby-dev -nodejs;apt;init;nodejslts -python3-pip;apt;init;python3-pip -python3-distutils;apt;init;python3-distutils -pip;pip;init;setuptools -setuptools;pip;init;setuptools -unattended-upgrades;apt;unattended-upgrades;unattended-upgrades -snapd;apt;snap;snapd -snap-store;snap;snap;snap-store -cifs-utils;apt;base;cifs-utils -xterm;apt;base;xterm -curl;apt;base;curl -mc;apt;base;mc -bmon;apt;base;bmon -htop;apt;base;htop -screen;apt;base;screen -dconf-cli;apt;base;dconf -dconf-editor;apt;base;dconf-editor -lnav;apt;base;lnav -exfat-fuse;apt;base;exfat-fuse -exfat-utils;apt;base;exfat-utils -iftop;apt;base;iftop -iptraf;apt;base;iptraf -mpg123;apt;base;mpg123 -debconf-utils;apt;base;debconf-utils -idle3-tools;apt;base;idle3-tools -sysstat;apt;base;sysstat -dcfldd;apt;base;dcfldd -mdadm;apt;base;mdadm -ncdu;apt;base;ncdu -com.spotify.Client;flatpak;multimedia;spotify -qmmp;apt;multimedia;qmmp -org.shotcut.Shotcut;flatpak;multimedia;shotcut -audacious;apt;multimedia;audacious -dia;apt;multimedia;dia -mpv;apt;multimedia;mpv -picard;apt;multimedia;picard -inkscape;apt;multimedia;inkscape -audacity;apt;multimedia;audacity -blender;apt;multimedia;blender -kodi;apt;multimedia;kodi -digikam;apt;multimedia;digikam -synfigstudio;apt;multimedia;synfigstudio -mkvtoolnix-gui;apt;multimedia;mkvtoolnix-gui -rawtherapee;apt;multimedia;rawtherapee -hugin;apt;multimedia;hugin -asunder;apt;multimedia;asunder -milkytracker;apt;multimedia;milkytracker -pitivi;apt;multimedia;pitivi -openshot;apt;multimedia;openshot -smplayer;apt;multimedia;smplayer -smplayer-themes;apt;multimedia;smplayer-themes -smplayer-l10n;apt;multimedia;smplayer-l10n -handbrake-cli;apt;multimedia;handbrake-cli -handbrake;apt;multimedia;handbrake -avidemux2.7-qt5;apt;multimedia;avidemux -mjpegtools;apt;multimedia;mjpegtools -twolame;apt;multimedia;twolame -lame;apt;multimedia;lame -gpicview;apt;multimedia;gpicview -vlc;apt;multimedia;vlc -shotwell;apt;multimedia;shotwell -darktable;apt;multimedia;darktable -ffmpeg;apt;multimedia;ffmpeg -scribus;apt;multimedia;scribus -gnome-font-viewer;apt;multimedia;gnome-font-viewer -moc;apt;multimedia;moc -webp;apt;multimedia;webp -cuetools;apt;multimedia;cuetools -shntool;apt;multimedia;shntool -flac;apt;multimedia;flac -org.entangle_photo.Manager;flatpak;multimedia;entangle -krita;apt;multimedia;krita -soundconverter;apt;multimedia;soundconverter -gimp;apt;multimedia;gimp -gimp-help-fr;apt;multimedia;gimp -quodlibet;apt;multimedia;quodlibet -peek;apt;multimedia;peek -bino;apt;multimedia;bino -kdenlive;apt;multimedia;kdenlive -com.github.huluti.ImCompressor;flatpak;multimedia;ImCompressor -flacon;apt;multimedia;flacon -simplescreenrecorder;apt;multimedia;simplescreenrecorder -com.ozmartians.VidCutter;flatpak;multimedia;vidcutter -com.orama_interactive.Pixelorama;flatpak;multimedia;pixelorama -vainfo;apt;multimedia;vainfo -syncthing;apt;internet;syncthing -syncthing-gtk;apt;internet;syncthinggtk -insync;apt;internet;insync -megasync;apt;internet;megasync -megacmd;apt;internet;megacmd -com.discordapp.Discord;flatpak;internet;discord -com.teamspeak.TeamSpeak;flatpak;internet;TeamSpeak -quiterss;apt;internet;quiterss -opera-stable;apt;internet;opera-stable -google-chrome-stable;apt;internet;google-chrome-stable -chromium-browser;apt;internet;chromium-browser -filezilla;apt;internet;filezilla -hexchat;apt;internet;hexchat -mumble;apt;internet;mumble -geary;apt;internet;geary -birdtray;apt;internet;birdtray -telegram;apt;internet;telegram -skypeforlinux;apt;internet;skypeforlinux -nextcloud-desktop;apt;internet;nextcloud-desktop -deluge-gtk;apt;internet;deluge-gtk -vivaldi-stable;apt;internet;vivaldi-stable -transmission-gtk;apt;internet;transmission-gtk -youtube-dl;pip;internet;youtube-dl -gallery-dl;pip;internet;gallery-dl -cawbird;apt;internet;cawbird -us.zoom.Zoom;flatpak;internet;zoom -qtqr;apt;utilities;qtqr -cpu-g;apt;utilities;cpu-g -screenfetch;apt;utilities;screenfetch -xcalib;apt;utilities;xcalib -conky-all;apt;utilities;conky-all -plank;apt;utilities;plank -indicator-sound-switcher;apt;utilities;indicator-sound-switcher -y-ppa-manager;apt;utilities;y-ppa-manager -synapse;apt;utilities;synapse -acetoneiso;apt;utilities;acetoneiso -guake;apt;utilities;guake -tilda;apt;utilities;tilda -psensor;apt;utilities;psensor -kazam;apt;utilities;kazam -bleachbit;apt;utilities;bleachbit -gparted;apt;utilities;gparted -gsmartcontrol;apt;utilities;gsmartcontrol -terminator;apt;utilities;terminator -tilix;apt;utilities;tilix -gufw;apt;utilities;gufw -numlockx;apt;utilities;numlockx -grub-customizer;apt;utilities;grub-customizer -zim;apt;utilities;zim -diodon;apt;utilities;diodon -qt5ct;apt;utilities;qt5ct -byobu;apt;utilities;byobu -mupdf;apt;utilities;mupdf -mupdf-tools;apt;utilities;mupdf-tools -pdfarranger;apt;utilities;pdfarranger -fcrackzip;apt;utilities;fcrackzip -rarcrack;apt;utilities;rarcrack -pdfcrack;apt;utilities;pdfcrack -figlet;apt;utilities;figlet -alltray;apt;utilities;alltray -kdocker;apt;utilities;kdocker -cheat;pip;utilities;cheat -screenkey;apt;utilities;screenkey -pdfgrep;apt;utilities;pdfgrep -coinmon;npm;utilities;coinmon -tldr;pip;utilities;tldr -fdupes;apt;utilities;fdupes -balena-etcher-electron;apt;utilities;balena-etcher-electron -org.gabmus.hydrapaper;flatpak;utilities;hydrapaper -nvme-cli;apt;utilities;nvme-cli -font-manager;apt;utilities;font-manager -gyazo;apt;utilities;gyazo -inxi;apt;utilities;inxi -com.github.tchx84.Flatseal;flatpak;utilities;flatseal -python3-dev;apt;python;python3-dev -python3-pyqt5;apt;python;python3-pyqt5 -pyqt5-dev-tools;apt;python;pyqt5-dev-tools -idle3;apt;python;idle3 -python-gi;apt;python;python-gi -python-gi-cairo;apt;python;python-gi-cairo -python3-gi;apt;python;python3-gi -python3-gi-cairo;apt;python;python3-gi-cairo -python3-venv;apt;python;python3-venv -python3-wheel;apt;python;python3-wheel -libgirepository1.0-dev;apt;python;libgirepository1.0-dev -libbz2-dev;apt;python;libbz2-dev -libreadline-dev;apt;python;libreadline-dev -libssl-dev;apt;python;libssl-dev -zlib1g-dev;apt;python;zlib1g-dev -libsqlite3-dev;apt;python;libsqlite3-dev -llvm;apt;python;llvm -libncurses5-dev;apt;python;libncurses5-dev -libncursesw5-dev;apt;python;libncursesw5-dev -xz-utils;apt;python;xz-utils -tk-dev;apt;python;tk-dev -libcairo2-dev;apt;python;libcairo2-dev -virtualenv;pip;python;virtualenv -pipenv;pip;python;pipenv -jstest-gtk;apt;games;jstest-gtk -dosbox;apt;games;dosbox -lutris;apt;games;lutris -steam;apt;steam;steam -brasero;apt;burningtools;brasero -k3b;apt;burningtools;k3b -k3b-extrathemes;apt;burningtools;k3b-extrathemes -xfburn;apt;burningtools;xfburn -whois;apt;nettools;whois -iptraf;apt;nettools;iptraf -iperf;apt;nettools;iperf -wireshark;apt;nettools;wireshark -tshark;apt;nettools;tshark -dsniff;apt;nettools;dsniff -aircrack-ng;apt;nettools;aricrack-ng -SpoofMAC;pip;nettools;SpoofMAC -speedtest-cli;pip;nettools;speedtest-cli -nethogs;apt;nettools;nethogs -ssh_scan;gem;nettools;sshscan -whatismyip;npm;nettools;whatismyip -caja-share;apt;cajaplugins;caja-share -caja-wallpaper;apt;cajaplugins;caja-wallpaper -caja-sendto;apt;cajaplugins;caka-sendto -caja-image-converter;apt;cajaplugins;caja-image-converter -insync-caja;apt;cajaplugins;insync-caja -nautilus;apt;nautilus;nautilus -file-roller;apt;nautilus;file-roller -nautilus-image-converter;apt;nautilus;nautilus-image-converter -nautilus-sendto;apt;nautilus;nautilus-sendto -nautilus-share;apt;nautilus;nautilus-share -nautilus-wipe;apt;nautilus;nautilus-wipe -nautilus-script-audio-convert;apt;nautilus;nautilus-script-audio-convert -nautilus-filename-repairer;apt;nautilus;filename-repairer -nautilus-gtkhash;apt;nautilus;nautilus-gtkhash -nautilus-ideviceinfo;apt;nautilus;nautilus-ideviceinfo -ooo-thumbnailer;apt;nautilus;ooo-thumbnailer -nautilus-dropbox;apt;nautilus;nautilus-dropbox -nautilus-script-manager;apt;nautilus;nautilus-script-manager -insync-nautilus;apt;nautilus;insync-nautilus -thunar;apt;thunar;thunar -thunar-archive-plugin;apt;thunar;thunar-archive-plugin -thunar-gtkhash;apt;thunar;thunar-gtkhash -thunar-volman;apt;thunar;thunar-volman -gtkam-gimp;apt;gimp;gtkam-gimp -gimp-gluas;apt;gimp;gimp-gluas -gimp-data-extras;apt;gimp;gimp-data-extras -gimp-lensfun;apt;gimp;gimp-lensfun -gimp-gmic;apt;gimp;gimp-gmic -gimp-texturize;apt;gimp;gimp-texturize -rhythmbox-plugin-alternative-toolbar;apt;rhythmbox;rhythmbox-plugin-alternative-toolbar -rhythmbox-plugin-artdisplay;apt;rhythmbox;rhythmbox-plugin-artdisplay -rhythmbox-plugin-cdrecorder;apt;rhythmbox;rhythmbox-plugin-cdrecorder -rhythmbox-plugin-close-on-hide;apt;rhythmbox;rhythmbox-plugin-close-on-hide -rhythmbox-plugin-countdown-playlist;apt;rhythmbox;rhythmbox-plugin-countdown-playlist -rhythmbox-plugin-desktopart;apt;rhythmbox;rhythmbox-plugin-desktopart -rhythmbox-plugin-equalizer;apt;rhythmbox;rhythmbox-plugin-equalizer -rhythmbox-plugin-fullscreen;apt;rhythmbox;rhythmbox-plugin-fullscreen -rhythmbox-plugin-hide;apt;rhythmbox;rhythmbox-plugin-hide -rhythmbox-plugin-jumptowindow;apt;rhythmbox;rhythmbox-plugin-jumptowindow -rhythmbox-plugin-llyrics;apt;rhythmbox;rhythmbox-plugin-llyrics -rhythmbox-plugin-looper;apt;rhythmbox;rhythmbox-plugin-looper -rhythmbox-plugin-opencontainingfolder;apt;rhythmbox;rhythmbox-plugin-opencontainingfolder -rhythmbox-plugin-parametriceq;apt;rhythmbox;rhythmbox-plugin-parametriceq -rhythmbox-plugin-playlist-import-export;apt;rhythmbox;rhythmbox-plugin-playlist -rhythmbox-plugin-podcast-pos;apt;rhythmbox;rhythmbox-plugin-podcast-pos -rhythmbox-plugin-randomalbumplayer;apt;rhythmbox;rhythmbox-plugin-randomalbumplayer -rhythmbox-plugin-rating-filters;apt;rhythmbox;rhythmbox-plugin-rating-filters -rhythmbox-plugin-remembertherhythm;apt;rhythmbox;rhythmbox-plugin-remembertherhythm -rhythmbox-plugin-repeat-one-song;apt;rhythmbox;rhythmbox-plugin-repeat-one-song -rhythmbox-plugin-rhythmweb;apt;rhythmbox;rhythmbox-plugin-rhythmweb -rhythmbox-plugin-screensaver;apt;rhythmbox;rhythmbox-plugin-screensaver -rhythmbox-plugin-smallwindow;apt;rhythmbox;rhythmbox-plugin-smallwindow -rhythmbox-plugin-spectrum;apt;rhythmbox;rhythmbox-plugin-spectrum -rhythmbox-plugin-suspend;apt;rhythmbox;rhythmbox-plugin-suspend -rhythmbox-plugin-wikipedia;apt;rhythmbox;rhythmbox-plugin-wikipedia -rhythmbox-plugins;apt;rhythmbox;rhythmbox-plugins -unbound;apt;unbound;unbound -arc-theme;apt;gtkthemes;arc-theme -numix-gtk-theme;apt;gtkthemes;numix-gtk-theme -numix-blue-gtk-theme;apt;gtkthemes;numix-blue-gtk-theme -plata-theme;apt;gtkthemes;plata-theme -faenza-icon-theme;apt;icons;faenza-icon-theme -numix-icon-theme;apt;icons;numix-icon-theme -numix-icon-theme-circle;apt;icons;numix-icon-theme-circle -solaar;apt;solaar;solaar -pcscd;apt;cardreader;pcscd -pcsc-tools;apt;cardreader;pcsc-tools -guvcview;apt;webcam;guvcview -cheese;apt;webcam;cheese -tlp;apt;tlp;tlp -notepadqq;apt;dev;notepadqq -gpick;apt;dev;gpick -virtualbox-6.1;apt;dev;virtualbox -build-essential;apt;dev;build-essential -ghex;apt;dev;ghex -glade;apt;dev;glade -eric;apt;dev;eric -bluefish;apt;dev;bluefish -meld;apt;dev;meld -zeal;apt;dev;zeal -shellcheck;apt;dev;shellcheck -umbrello;apt;dev;umbrello -ack-grep;apt;dev;ack-grep -ansible;apt;dev;ansible -docker.io;apt;dev;dockerio -remark-lint;npm;dev;remark-lint -beautysh;pip;dev;beautysh -mycli;pip;dev;mycli -sqlitebrowser;apt;dev;sqlitebrowser -jq;apt;dev;jq -tig;apt;dev;tig -com.getpostman.Postman;flatpak;dev;postman -javascript-common;apt;javascript;javascript-common -yarn;npm;javascript;yarn -emma-cli;npm;javascript;emma-cli -jshint;npm;javascript;jshint -typescript;npm;javascript;typescript -@angular/cli;npm;javascript;angularcli -ionic;npm;javascript;ionic -cordova;npm;javascript;cordova -eslint;npm;javascript;eslint -web-ext;npm;javascript;web-ext -mongodb-org;apt;mongodb;mongodb -openjdk-11-jdk;apt;java11;openjdk-11-jdk -php7.4-cli;apt;php;php7.4-cli -php-pear;apt;php;php-pear -composer;apt;php;composer -luajit;apt;lua;luajit -ruby-dev;apt;ruby;ruby-dev -ruby-full;apt;ruby;ruby-full -ruby-rainbow;apt;ruby;ruby-rainbow -anjuta;apt;anjuta;anjuta -anjuta-extras;apt;anjuta;anjuta-extras -codeblocks;apt;codeblocks;codeblocks -codeblocks-contrib;apt;codeblocks;codeblocks-contrib -geany;apt;geany;geany -geany-plugins;apt;geany;geany-plugins -io.brackets.Brackets;flatpak;brackets;brackets -sublime-text;apt;sublime-text;sublime-text -kicad;apt;cad;kicad -librecad;apt;cad;librecad -freecad;apt;cad;freecad -code;apt;code;code -atom;apt;atom;atom -sqlparse;pip;atom;sqlparse -flake8;pip;atom;flake8 -autopep8;pip;atom;autopep8 -htmlbeautifier;gem;atom;htmlbeautifier -nitrogen;apt;nitrogen;nitrogen -libreoffice;apt;office;libreoffice -winehq-stable;apt;wine;winehq-stable -winetricks;apt;wine;winetricks -playonlinux;apt;wine;playonlinux -qt5-doc;apt;qt;qt5-doc -qttools5-doc;apt;qt;qttools5-doc -qttools5-dev-tools;apt;qt;qttools5-dev-tools -qttools5-examples;apt;qt;qttools5-examples -qttools5-doc-html;apt;qt;qttools5-doc-html -fbreader;apt;ebook;fbreader -calibre;apt;ebook;calibre -android-studio;apt;androidstudio;androidstudio -com.axosoft.GitKraken;flatpak;gitkraken;gitkraken -linux-generic-hwe-20.04;apt;hwe;linux-generic-hwe-20.04" - -#TODO : no focal support yet -#aptik;apt;utilities;aptik -#green-recorder;apt;multimedia;green-recorder - - -#-----------------------------------------------------------------------------# -# Specific Repo list and functions # -#-----------------------------------------------------------------------------# - -# -# list of specific repositories -# fields : unique ID, function to add repo -# -AppsRepo="code;addRepo_VSCode -libreoffice;addRepo_Libreoffice -androidstudio;addRepo_AndroidStudio -sublime-text;addRepo_SublimeText -vivaldi-stable;addRepo_Vivaldi -syncthing;addRepo_Syncthing -opera-stable;addRepo_Opera -insync;addRepo_Insync -google-chrome-stable;addRepo_ChromeStable -atom;addRepo_Atom -nodejslts;addRepo_NodeLts -telegram;addRepo_Telegram -skypeforlinux;addRepo_SkypeForLinux -y-ppa-manager;addRepo_YPPAManager -diodon;addRepo_Diodon -krita;addRepo_Krita -oracle-java10-installer;addRepo_Java10 -oracle-java10-set-default;addRepo_Java10 -plata-theme;addRepo_Plata -rhythmbox-plugin-alternative-toolbar;addRepo_Rhythmbox -rhythmbox-plugin-artdisplay;addRepo_Rhythmbox -rhythmbox-plugin-cdrecorder;addRepo_Rhythmbox -rhythmbox-plugin-close-on-hide;addRepo_Rhythmbox -rhythmbox-plugin-countdown-playlist;addRepo_Rhythmbox -rhythmbox-plugin-desktopart;addRepo_Rhythmbox -rhythmbox-plugin-equalizer;addRepo_Rhythmbox -rhythmbox-plugin-fileorganizer;addRepo_Rhythmbox -rhythmbox-plugin-fullscreen;addRepo_Rhythmbox -rhythmbox-plugin-hide;addRepo_Rhythmbox -rhythmbox-plugin-jumptowindow;addRepo_Rhythmbox -rhythmbox-plugin-llyrics;addRepo_Rhythmbox -rhythmbox-plugin-looper;addRepo_Rhythmbox -rhythmbox-plugin-opencontainingfolder;addRepo_Rhythmbox -rhythmbox-plugin-parametriceq;addRepo_Rhythmbox -rhythmbox-plugin-playlist-import-export;addRepo_Rhythmbox -rhythmbox-plugin-podcast-pos;addRepo_Rhythmbox -rhythmbox-plugin-randomalbumplayer;addRepo_Rhythmbox -rhythmbox-plugin-rating-filters;addRepo_Rhythmbox -rhythmbox-plugin-remembertherhythm;addRepo_Rhythmbox -rhythmbox-plugin-repeat-one-song;addRepo_Rhythmbox -rhythmbox-plugin-rhythmweb;addRepo_Rhythmbox -rhythmbox-plugin-screensaver;addRepo_Rhythmbox -rhythmbox-plugin-smallwindow;addRepo_Rhythmbox -rhythmbox-plugin-spectrum;addRepo_Rhythmbox -rhythmbox-plugin-suspend;addRepo_Rhythmbox -rhythmbox-plugin-wikipedia;addRepo_Rhythmbox -rhythmbox-plugins;addRepo_Rhythmbox -audacious;addRepo_Webupd8 -qt5ct;addRepo_Webupd8 -screenkey;addRepo_Webupd8 -yad;addRepo_Webupd8 -cpu-g;addRepo_Atareao -picard;addRepo_Picard -birdtray;addRepo_Linuxuprising -pdfarranger;addRepo_Linuxuprising -kdenlive;addRepo_KDEnlive -lutris;addRepo_Lutris -balena-etcher-electron;addRepo_Belena -font-manager;addRepo_FontManager -megasync;addRepo_MEGA -deluge-gtk;addRepo_Deluge -cawbird;addRepo_Cawbird -indicator-sound-switcher;addRepo_IndicatorSoundSwitcher -flacon;addRepo_Flacon -gyazo;addRepo_Gyazo -simplescreenrecorder;addRepo_SimpleScreenRecorder -guake;addRepo_LinuxUprising_Guake -peek;addRepo_Peek -quiterss;addRepo_Quiterss -virtualbox;addRepo_VirtualBox -sqlitebrowser;addRepo_SQLiteBrowser -numix-icon-theme;addRepo_Numix -numix-icon-theme-circle;addRepo_Numix -mkvtoolnix-gui;addRepo_MKVToolnix -transmission-gtk;addRepo_Transmissionbt -handbrake-cli;addRepo_Handbrake -handbrake;addRepo_Handbrake -kodi;addRepo_Kodi -avidemux;addRepo_Avidemux -winehq-stable;addRepo_WineHQ -audacity;addRepo_Audacity -ubuntu-make;addRepo_UbuntuMake -chromium-browser;addRepo_ChromiumBrowser -mongodb;addRepo_MongoDB_CE" - -#TODO : no focal support yet / or not needed yet -#rawtherapee;addRepo_DhorMyWay -#entangle;addRepo_DhorMyWay -#woeusb;addRepo_Webupd8 -#selene;addRepo_Teejee2008 -#youtube-dlg;addRepo_Webupd8 -#brackets;addRepo_Brackets -#vidcutter;addRepo_Vidcutter -#notepadqq;addRepo_Notepadqq -#darktable;addRepo_DarkTable -#numix-gtk-theme;addRepo_Numix -#aptik;addRepo_Teejee2008 -#grub-customizer;addRepo_GrubCustomizer -#syncthinggtk;addRepo_SyncthingGtk -#wireshark;addRepo_WireShark -#green-recorder;addRepo_GreenRecorder -#flatpak;addRepo_flatpak - -# -# Chromium Browser BETA (to avoid SNAP version) -# -function addRepo_ChromiumBrowser () { - addPPA ppa:saiarcot895/chromium-beta -} - -# -# Audacity -# -function addRepo_Audacity () { - addPPA ppa:ubuntuhandbook1/audacity -} - -# -# Ubuntu Make -# -function addRepo_UbuntuMake () { - addPPA ppa:lyzardking/ubuntu-make -} - -# -# Cawbird #TODO -# -function addRepo_Cawbird () { - addKey "https://download.opensuse.org/repositories/home:IBBoard:cawbird/xUbuntu_20.04/Release.key" - addRepo cawbird.list \ - "deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_20.04/ /" -} - -# -# Font Manager -# -function addRepo_FontManager () { - addPPA ppa:font-manager/staging -} - - -# -# Flatpak #TODO : no focal support yet -# -# function addRepo_flatpak () { -# addPPA ppa:alexlarsson/flatpak -# } - - -# -# Belena Etcher -# -function addRepo_Belena () { - addKey "keyserver.ubuntu.com" \ - "379CE192D401AB61" - addRepo balena-etcher.list \ - "deb https://deb.etcher.io stable etcher" -} - - -# -# Wine HQ -# -function addRepo_WineHQ () { - addKey "https://dl.winehq.org/wine-builds/winehq.key" - addRepo winehq.list \ - "deb https://dl.winehq.org/wine-builds/ubuntu/ focal main" -} - -# -# Lutris -# -function addRepo_Lutris () { - addPPA ppa:lutris-team/lutris -} - -# -# MEGASync -# -function addRepo_MEGA () { - addKey "https://mega.nz/linux/MEGAsync/xUbuntu_20.04/Release.key" - addRepo megasync.list \ - "deb https://mega.nz/linux/MEGAsync/xUbuntu_20.04/ ./" -} - -# -# KDEnlive -# -function addRepo_KDEnlive () { - addPPA ppa:kdenlive/kdenlive-stable -} - -# -# Makoto no blog repo -# -function addRepo_Makoto () { - addKey "https://packagecloud.io/makoto/stable/gpgkey" - addRepo makoto.list \ - "deb https://packagecloud.io/makoto/stable/ubuntu/ focal main" -} - -# -# Plata Theme -# -function addRepo_Plata () { - addPPA ppa:tista/plata-theme -} - -# -# LinuxUpRising repo (Birdtray (for Thunderbird), PDFArranger) -# -function addRepo_Linuxuprising () { - addPPA ppa:linuxuprising/apps -} - -# -# MusicBrainz Picard -# -function addRepo_Picard () { - addPPA ppa:musicbrainz-developers/stable -} - -# -# Atareao ppa -# -function addRepo_Atareao () { - addPPA ppa:atareao/atareao -} - -# -# Syncthing-GTK #TODO : no focal support yet (repo and app) -# -# function addRepo_SyncthingGtk () { -# addKey "https://download.opensuse.org/repositories/home:kozec/xUbuntu_18.04/Release.key" -# addRepo syncthinggtk.list \ -# "deb http://download.opensuse.org/repositories/home:/kozec/xUbuntu_18.04/ /" -# } - -# -# Linux Uprising (Guake) -# -function addRepo_LinuxUprising_Guake () { - addPPA ppa:linuxuprising/guake -} - -# -# Webupd8 (Audacious, ...) -# -function addRepo_Webupd8 () { - addPPA ppa:nilarimogard/webupd8 -} - -# -# MKVToolnix -# -function addRepo_MKVToolnix () { - addKey "https://mkvtoolnix.download/gpg-pub-moritzbunkus.txt" - addRepo mkv.list \ - "deb [arch=amd64] https://mkvtoolnix.download/ubuntu/ focal main" \ - "deb-src [arch=amd64] https://mkvtoolnix.download/ubuntu/ focal main" -} - -# -# Entangle, Rawtherapee #TODO : no focal support yet ? -# -# function addRepo_DhorMyWay () { -# addPPA ppa:dhor/myway -# } - -# -# Rhythmbox -# -function addRepo_Rhythmbox () { - addPPA ppa:fossfreedom/rhythmbox-plugins -} - -# -# Numix themes/icons -# -function addRepo_Numix () { - addPPA ppa:numix/ppa -} - -# -# Grub-Customizer #TODO : no focal support yet -# -# function addRepo_GrubCustomizer () { -# addPPA ppa:danielrichter2007/grub-customizer -# } - -# -# Simple-Screen-Recorder -# -function addRepo_SimpleScreenRecorder () { - addPPA ppa:maarten-baert/simplescreenrecorder -} - -# -# Green-Recorder #TODO : no focal support yet -# -# function addRepo_GreenRecorder () { -# addPPA ppa:fossproject/ppa -# } - -# -# Oracle JAVA 10 -# -function addRepo_Java10 () { - addPPA ppa:linuxuprising/java -} - -# -# Vidcutter #TODO : no focal support yet -# -# function addRepo_Vidcutter () { -# addPPA ppa:ozmartian/apps -# } - -# -# Krita -# -function addRepo_Krita () { - addPPA ppa:kritalime/ppa -} - -# -# indicator-sound-switcher #TODO -# -function addRepo_IndicatorSoundSwitcher () { - addPPA ppa:yktooo/ppa -} - -# -# Kodi / XBMC -# -function addRepo_Kodi () { - addPPA ppa:team-xbmc/ppa -} - -# -# Deluge #TODO -# -function addRepo_Deluge () { - addPPA ppa:deluge-team/stable -} - -# -# Diodon -# -function addRepo_Diodon () { - addPPA ppa:diodon-team/stable -} - -# -# Y-PPA-Manager -# -function addRepo_YPPAManager () { -addPPA ppa:webupd8team/y-ppa-manager -} - -# -# flacon -# -function addRepo_Flacon () { - addPPA ppa:flacon/ppa -} - -# -# Notepadqq #TODO : no focal support yet -# -# function addRepo_Notepadqq () { -# addPPA ppa:notepadqq-team/notepadqq -# } - -# -# Handbrake -# -function addRepo_Handbrake () { - addPPA ppa:stebbins/handbrake-releases -} - -# -# Transmission-BT -# -function addRepo_Transmissionbt () { - addPPA ppa:transmissionbt/ppa -} - -# -# QuiteRSS -# -function addRepo_Quiterss () { - addPPA ppa:quiterss/quiterss -} - -# -# Avidemux -# -function addRepo_Avidemux () { - addPPA ppa:ubuntuhandbook1/avidemux -} - -# -# conky-manager, selene, timeshift -# -function addRepo_Teejee2008 () { - addPPA ppa:teejee2008/ppa -} - -# -# SQLiteBrowser -# -function addRepo_SQLiteBrowser () { - addPPA ppa:linuxgndu/sqlitebrowser -} - -# -# Peek -# -function addRepo_Peek () { - addPPA ppa:peek-developers/stable -} - -# -# Telegram -# -function addRepo_Telegram () { - addPPA ppa:atareao/telegram -} - -# -# Skype for Linux -# -function addRepo_SkypeForLinux () { - addKey "https://repo.skype.com/data/SKYPE-GPG-KEY" - addRepo "skype-stable.list" \ - "deb [arch=amd64] https://repo.skype.com/deb stable main" -} - -# -# NodeJS LTS -# -function addRepo_NodeLts () { - addKey "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" - addRepo "nodesource.list" \ - "deb https://deb.nodesource.com/node_12.x focal main" \ - "deb-src https://deb.nodesource.com/node_12.x focal main" -} - -# -# Brackets IDE #TODO : no focal support yet and ever ? -# -# function addRepo_Brackets () { -# addPPA ppa:webupd8team/brackets -# } - -# -# Darktable RAW Editor #TODO : no focal support yet -# -# function addRepo_DarkTable () { -# addPPA ppa:pmjdebruijn/darktable-release -# } - -# -# WireShark #TODO : no focal support yet -# -# function addRepo_WireShark () { -# addPPA ppa:wireshark-dev/stable -# } - -# -# Atom IDE -# -function addRepo_Atom () { - addKey "https://packagecloud.io/AtomEditor/atom/gpgkey" - addRepo atom.list \ - "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" -} - -# -# Google Chrome (stable) -# -function addRepo_ChromeStable () { - addKey "https://dl.google.com/linux/linux_signing_key.pub" - addRepo google-chrome.list \ - "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" -} - -# -# Insync -# -function addRepo_Insync () { - addKey "keyserver.ubuntu.com" \ - "ACCAF35C" - addRepo insync.list \ - "deb http://apt.insync.io/ubuntu focal non-free contrib" -} - -# -# Opera (stable) -# -function addRepo_Opera () { - addKey "http://deb.opera.com/archive.key" - addRepo opera.list \ - "deb http://deb.opera.com/opera-stable/ stable non-free" -} - -# -# Syncthing -# -function addRepo_Syncthing () { - addKey "https://syncthing.net/release-key.txt" - addRepo syncthing.list \ - "deb http://apt.syncthing.net/ syncthing release" -} - -# -# VirtualBox -# -function addRepo_VirtualBox () { - addKey "http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc" - addKey "http://download.virtualbox.org/virtualbox/debian/oracle_vbox_2016.asc" - addRepo virtualbox.list \ - "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian focal contrib" -} - -# -# Vivaldi -# -function addRepo_Vivaldi () { - addKey "http://repo.vivaldi.com/stable/linux_signing_key.pub" - addRepo vivaldi.list \ - "deb http://repo.vivaldi.com/stable/deb/ stable main " -} - -# -# SublimeText -# -function addRepo_SublimeText () { - addKey "https://download.sublimetext.com/sublimehq-pub.gpg" - addRepo sublime-text.list \ - "deb https://download.sublimetext.com/ apt/dev/" -} - -# -# Gyazo -# -function addRepo_Gyazo () { - addKey "https://packagecloud.io/gyazo/gyazo-for-linux/gpgkey" - addRepo "gyazo_gyazo-for-linux.list" \ - "deb https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ focal main" \ - "deb-src https://packagecloud.io/gyazo/gyazo-for-linux/ubuntu/ focal main" -} - -# -# MongoDB 4 CE -# -function addRepo_MongoDB_CE () { - addKey "https://www.mongodb.org/static/pgp/server-4.4.asc" - addRepo "mongodb-org-4.4.list" \ - "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" -} - -# -# LibreOffice -# -function addRepo_Libreoffice () { - addPPA ppa:libreoffice/ppa -} - -# -# Visual Studio Code -# -function addRepo_VSCode () { - addKey "https://packages.microsoft.com/keys/microsoft.asc" - addRepo "vscode.list" \ - "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" -} - -# -# Android-Studio -# -function addRepo_AndroidStudio () { - addPPA ppa:maarten-fonville/android-studio -} - -#-----------------------------------------------------------------------------# -# Package pre install functions list # -#-----------------------------------------------------------------------------# - -# -# list of pre install functions -# fields : unique ID, function to process before install -# -AppsPreTrtFct="opera-stable;opera_PreTrtFct -steam;steam_PreTrtFct -wireshark;wireshark_PreTrtFct -snapd;snapd_PreTrtFct -chromium-browser;chromium_PreTrtFct" - -# -# Chromium BETA PPA Pinning -# -function chromium_PreTrtFct () { - if [ ! -f /etc/apt/preferences.d/saiarcot895-chromium-beta.pref ]; then - printf "[CMD] APT Pinning Chromium BETA PPA " - printf "[CMD] APT Pinning Chromium BETA PPA\n" &>> $logFile - topin='# Ensure packages from saiarcot895-chromium-beta PPA have priority\n' - topin+='Package: *\n' - topin+='Pin: release o=LP-PPA-saiarcot895-chromium-beta\n' - topin+='Pin-Priority: 800\n' - echo -e $topin | sudo tee /etc/apt/preferences.d/saiarcot895-chromium-beta.pref &>> $logFile - ret_code=$? - retCode $ret_code - fi -} - -# -# Snap -# -function snapd_PreTrtFct () { - if isMint20; then - runCmd "sudo rm /etc/apt/preferences.d/nosnap.pref" \ - "remove snapd installation restriction [ I'm allergic to it, but need it for some pieces of software... Devs, please provide deb package ;) ]" - fi -} - -# -# Opera -# -function opera_PreTrtFct () { - runCmd "echo opera-stable opera-stable/add-deb-source boolean false | sudo debconf-set-selections" \ - "setting as do not add repo" -} - -# -# Steam -# -function steam_PreTrtFct () { - runCmd "echo \"steam steam/purge note\" | sudo debconf-set-selections" \ - "accepting steam licence" - runCmd "echo \"steam steam/license note\" | sudo debconf-set-selections" \ - "accepting steam licence 2/3" - runCmd "echo \"steam steam/question select I AGREE\" | sudo debconf-set-selections" \ - "accepting steam licence 3/3" -} - -# -# Wireshark -# -function wireshark_PreTrtFct () { - runCmd "echo wireshark-common wireshark-common/install-setuid boolean true | sudo debconf-set-selections" \ - "setting Wireshark as root only" -} - -#-----------------------------------------------------------------------------# -# Package post install functions list # -#-----------------------------------------------------------------------------# - -# -# list of post install functions -# fields : unique ID, function to process after install -# -AppsPostTrtFct="nitrogen;nitrogen_PostTrtFct -mongodb;mongodb_PostTrtFct -qttools5-dev-tools;qt_PostTrtFct -plank;plank_PostTrtFct -androidstudio;android_PostTrtFct -nodejslts;nodejslts_PostTrtFct -angularcli;angularcli_PostTrtFct -dockerio;dockerio_PostTrtFct -megasync;megasync_PostTrtFct -nextcloud-desktop;nextcloud_PostTrtFct -flatpak;flatpak_PostTrtFct -ruby-dev;ruby-dev_PostTrtFct -virtualbox;virtualbox_PostTrtFct -gufw;gufw_PostTrtFct -numlockx;numlockx_PostTrtFct -screenfetch;screenfetch_PostTrtFct" - -# -# screenfetch in .bashrc -# -function screenfetch_PostTrtFct () { - runCmd "touch /home/$myHomedir/.bashrc" \ - "creating .bashrc file if necessary" - runCmd "echo 'screenfetch -t' | tee -a /home/$myHomedir/.bashrc" \ - "adding screenfetch to .bashrc" -} - -# -# numlockx -# -function numlockx_PostTrtFct () { - if which lightdm >/dev/null; then - runCmd "sudo touch /etc/lightdm/lightdm.conf.d/70-linuxmint.conf" \ - "creating lightdm config file if necessary" - runCmd "sudo cp /etc/lightdm/lightdm.conf.d/70-linuxmint.conf /etc/lightdm/lightdm.conf.d/70-linuxmint.conf.yggbak" \ - "backing up lightdm original config file" - runCmd "echo -e '\ngreeter-setup-script=/usr/bin/numlockx on' | sudo tee -a /etc/lightdm/lightdm.conf.d/70-linuxmint.conf" \ - "enabling numlockx on in lightdm at boot" - fi -} - -# -# ufw enablement + add rules -# -function gufw_PostTrtFct () { - runCmd "sudo ufw enable"\ - "enabling UFW at boot" - - if which syncthing >/dev/null; then - runCmd "sudo ufw allow syncthing" \ - "adding UFW rules for Syncthing" - fi -} - -# -# virtualbox -# -function virtualbox_PostTrtFct () { - cUser=$(whoami) - runCmd "sudo adduser $cUser vboxusers" \ - "adding user to vboxusers group" -} - -# -# NPM Update -# -function nodejslts_PostTrtFct () { - printf "[NPM] set prefix in ~/.local " - printf "\n[NPM] set prefix in ~/.local\n" &>> $logFile - npm config set prefix /home/$myHomedir/.local &>> $logFile - ret_code=$? - retCode $ret_code - - if [ `grep 'PATH=~/.local/bin/:$PATH' ~/.bashrc | wc -l` -gt 0 ]; then - printf "[NPM] add ~/.local/bin to PATH ... already added [ "$BOLDVERT"OK"$NORMAL" ]\n" - else - printf "[NPM] add ~/.local/bin to PATH " - printf "\n[NPM] add ~/.local/bin to PATH\n" &>> $logFile - echo 'PATH=~/.local/bin/:$PATH' | tee -a ~/.bashrc &>> $logFile - ret_code=$? - retCode $ret_code - fi - - printf "[NPM] update npm " - printf "\n[NPM] update npm\n" &>> $logFile - npm i -g npm &>> $logFile - ret_code=$? - retCode $ret_code -} - -# -# GEM / Ruby Dev -# -function ruby-dev_PostTrtFct () { - printf "[GEM] update --system " - printf "\n[GEM] update --system\n" &>> $logFile - sudo gem update --system &>> $logFile - ret_code=$? - retCode $ret_code -} - -# -# Flatpak -# -function flatpak_PostTrtFct () { - if which flatpak >/dev/null; then - printf "[FLATPAK] Adding Flathub repository " - printf "\n[FLATPAK] Adding Flathub repository\n" &>> $logFile - sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo &>> $logFile - ret_code=$? - retCode $ret_code - fi -} - -# -# MEGASync -# -function megasync_PostTrtFct () { - if which thunar >/dev/null; then - installPackage apt thunar-megasync - fi - if which nautilus >/dev/null; then - installPackage apt nautilus-megasync - fi -} - -# -# Nextcloud -# -function nextcloud_PostTrtFct () { - if which nautilus >/dev/null; then - installPackage apt nautilus-nextcloud - fi - if which caja >/dev/null; then - installPackage apt caja-nextcloud - fi -} - -# -# Docker -# -function dockerio_PostTrtFct () { - runCmd "sudo systemctl start docker" \ - "start docker service" - runCmd "sudo systemctl enable docker" \ - "add docker service at boot" - runCmd "sudo groupadd --force docker" \ - "add docker group" - cUser=$(whoami) - runCmd "sudo usermod -aG docker $cUser" \ - "add current user to docker group" -} - -# -# Angular CLI -# -function angularcli_PostTrtFct () { - if which yarn >/dev/null; then - runCmd "ng config -g cli.packageManager yarn" \ - "using yarn instead of npm for angular/cli" - fi -} - -# -# Android Env for adb, fastboot, .... -# -function android_PostTrtFct () { - printf "[CMD] Adding Android devices UDEV rules " - -cat << EOF | sudo tee /etc/udev/rules.d/99-android.rules -SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", OWNER="$myHomedir" # Acer -SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", OWNER="$myHomedir" # Asus -SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", OWNER="$myHomedir" # Dell -SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", OWNER="$myHomedir" # Foxconn -SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="$myHomedir" # Fujitsu -SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="$myHomedir" # Fujitsu-Toshiba -SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", OWNER="$myHomedir" # Garmin-Asus -SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="$myHomedir" # Google-Nexus -SUBSYSTEM=="usb", ATTR{idVendor}=="201E", MODE="0666", OWNER="$myHomedir" # Haier -SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", OWNER="$myHomedir" # Hisense -SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="$myHomedir" # HTC -SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", OWNER="$myHomedir" # Huawei -SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", OWNER="$myHomedir" # Intel -SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", OWNER="$myHomedir" # K-Touch -SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", OWNER="$myHomedir" # KT Tech -SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", OWNER="$myHomedir" # Kyocera -SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", OWNER="$myHomedir" # Lenovo -SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", OWNER="$myHomedir" # LG -SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", OWNER="$myHomedir" # Motorola -SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", OWNER="$myHomedir" # MTK -SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", OWNER="$myHomedir" # NEC -SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", OWNER="$myHomedir" # Nook -SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", OWNER="$myHomedir" # Nvidia -SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", OWNER="$myHomedir" # OTGV -SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", OWNER="$myHomedir" # Pantech -SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", OWNER="$myHomedir" # Pegatron -SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", OWNER="$myHomedir" # Philips -SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", OWNER="$myHomedir" # PMC-Sierra -SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", OWNER="$myHomedir" # Qualcomm -SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", OWNER="$myHomedir" # SK Telesys -SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="$myHomedir" # Samsung -SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", OWNER="$myHomedir" # Sharp -SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", OWNER="$myHomedir" # Sony -SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="$myHomedir" # Sony Ericsson -SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="$myHomedir" # Sony Mobile Communications -SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", OWNER="$myHomedir" # Teleepoch -SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", OWNER="$myHomedir" # Toshiba -SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", OWNER="$myHomedir" # ZTE -EOF - - ret_code=$? - retCode $ret_code - - runCmd "sudo service udev restart" \ - "restarting UDEV service" -} - -# -# Plank themes -# -function plank_PostTrtFct () { - typeset ret_code - - if ! (( $(ps -ef | grep -v grep | grep plank | wc -l) > 0 )); then - plank 2&>1 >/dev/null & - sleep 10 - fi - - yes | sh -c "cd ~ \ - && mkdir -p ~/.temp-plank-themer \ - && cd ~/.temp-plank-themer \ - && wget https://github.com/rhoconlinux/plank-themer/archive/master.zip \ - && unzip master.zip \ - && cd plank-themer-master/ \ - && rm -fR ~/.config/plank/dock1/theme_index; \ - rm -fR ~/.config/plank/dock1/themes-repo; \ - mkdir -p ~/.config/plank/dock1; \ - cp -a theme_index/ ~/.config/plank/dock1 \ - && cp -a themes-repo/ ~/.config/plank/dock1 \ - && cd ~ \ - && rm -R ~/.temp-plank-themer \ - && sh ~/.config/plank/dock1/theme_index/plank-on-dock-themer.sh" &>> $logFile - ret_code=$? - retCode $ret_code -} - -# -# QT5 Dev Tools -# -function qt_PostTrtFct () { - runCmd "sudo ln -s /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf /usr/lib/x86_64-linux-gnu/qtchooser/default.conf" \ - "set QT5 as default" -} - -# -# MongoDB CE -# -function mongodb_PostTrtFct () { - runCmd "sudo systemctl enable mongod.service" \ - "enabling mongod service at boot" - runCmd "sudo systemctl start mongod.service" \ - "starting mongod service" -} - -# -# nitrogen post install function -# -function nitrogen_PostTrtFct () { - if isMate; then - runCmd "gsettings set org.mate.background draw-background false" \ - "disabling Caja background management" - runCmd "gsettings set org.mate.background show-desktop-icons false" \ - "disabling Caja desktop icons management" - - createAppShortcut "bash -c \"sleep 10; nitrogen --restore\"" \ - "/usr/share/icons/hicolor/48x48/apps/nitrogen.png" \ - "Utility;GTK" \ - "Nitrogen" \ - "local" \ - "start" - update-menus - elif isCinnamon; then - runCmd "gsettings set org.nemo.desktop draw-background false" \ - "disabling Caja background management" - runCmd "gsettings set org.nemo.desktop show-desktop-icons false" \ - "disabling Caja desktop icons management" - - createAppShortcut "bash -c \"sleep 10; nitrogen --restore\"" \ - "/usr/share/icons/hicolor/48x48/apps/nitrogen.png" \ - "Utility;GTK" \ - "Nitrogen" \ - "local" \ - "start" - update-menus - else - printf "[ERR] only Mate/Cinnamon Desktop is currently supported\n" - fi -} diff --git a/tools_functions.sh b/tools_functions.sh old mode 100755 new mode 100644 index 90ad8f5..adfce03 --- a/tools_functions.sh +++ b/tools_functions.sh @@ -1,15 +1,41 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# #-----------------------------------------------------------------------------# # tools and config functions # #-----------------------------------------------------------------------------# +# +# enable ufw at boot time and add rules for installed apps +# +function enableUFW () { + runCmd "sudo ufw enable"\ + "enabling UFW at boot" + + if which syncthing >/dev/null; then + runCmd "sudo ufw allow syncthing" \ + "adding UFW rules for Syncthing" + fi +} + +# +# enable numlock by default on LightDM +# +function enableNumLockX () { + checkAndInstallDep apt numlockx numlockx + if which lightdm >/dev/null; then + runCmd "sudo cp /etc/lightdm/lightdm.conf.d/70-linuxmint.conf /etc/lightdm/lightdm.conf.d/70-linuxmint.conf.yggbak" \ + "backing up lightdm original config file" + runCmd "echo -e '\ngreeter-setup-script=/usr/bin/numlockx on' | sudo tee -a /etc/lightdm/lightdm.conf.d/70-linuxmint.conf" \ + "enabling numlockx on in lightdm at boot" + fi +} + # # /tmp in RAM by modifying /etc/fstab #TODO: add possibily to choose amount of ram @@ -21,17 +47,35 @@ function enableTmpRAM () { fi } +# +# add screenfetch exec in .bashrc +# +function addScreenfetchBashrc () { + checkAndInstallDep apt screenfetch screenfetch + runCmd "touch /home/$myHomedir/.bashrc" \ + "creating .bashrc file if necessary" \ + runCmd "echo 'screenfetch -t' | tee -a /home/$myHomedir/.bashrc" \ + "adding screenfetch to .bashrc" +} + # # cli history cmd timestamp enable # function enableHistoryTS () { typeset ret_code - printf "[CMD] enabling CLI History TimeStamp " + printf "enabling CLI History TimeStamp " echo "export HISTTIMEFORMAT='%F %T '" | tee -a /home/$myHomedir/.bashrc &>> $logFile ret_code=$? retCode $ret_code } +# +# install/enable auto install of security updates +# +function installUnattendedUpgrades () { + installPackage apt unattended-upgrades +} + # # display useful system/hardware informations # @@ -55,14 +99,41 @@ function toolPacketLoss () { ping -q -c 10 google.com } +# +# Optimization of SQLite databases of Firefox and Firefox Nightly +# +function toolOptimizeFirefox () { + if (whiptail --title "Firefox SQLite DB Optimization" --yesno "Terminate Firefox and proceed ?" 10 60) then + if which firefox >/dev/null; then + printf "Optimizing Firefox" + pkill -9 firefox + for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM; REINDEX;'; done + printf "\n" + fi + if which firefox-trunk >/dev/null; then + printf "Optimizing Firefox Nightly" + pkill -9 firefox-trunk + for f in ~/.mozilla/firefox-trunk/*/*.sqlite; do sqlite3 $f 'VACUUM; REINDEX;'; done + printf "\n" + fi + fi +} + # # remove useless packages (depedencies) # function toolAutoremove () { runCmd "sudo apt-get -y autoremove" \ - "removing useless APT dependencies" - runCmd "sudo flatpak uninstall --unused -y" \ - "removing useless FLATPAK dependencies" + "removing not necessary dependencies" +} + +# +# remove old versions of installed kernels +# +function toolClearOldKernels () { + checkAndInstallDep apt ukuu ukuu \ + && runCmd "sudo ukuu --purge-old-kernels --yes" \ + "removing old kernels" } # diff --git a/vars.sh b/vars.sh old mode 100755 new mode 100644 index b95097d..1ff9b08 --- a/vars.sh +++ b/vars.sh @@ -1,19 +1,19 @@ -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : see documentation or man pages # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# -#-----------------------------------------------------------------------------# -# Script's cons. and vars. # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Script's cons. and vars. # +#------------------------------------------------------------------------------# # # app version number # -version="0.6.1-b21" +version="0.4.0" # # myHomedir is used in full paths to the homedir @@ -36,11 +36,6 @@ cDate=$(date +%d-%m-%Y) # repoAdded=0 -# -# ygginit flag for CLI mode -# -ygginitCount=false - # # shell color codes # diff --git a/yggdrasil.sh b/yggdrasil.sh index db37f1f..c8c6b2a 100755 --- a/yggdrasil.sh +++ b/yggdrasil.sh @@ -1,45 +1,31 @@ #!/bin/bash -#-----------------------------------------------------------------------------# -# Yggdrasil NG # -# compatibility : Mint 19, Ubuntu 18.04 # -# author : Francois B. (Makotosan/Shakasan) # -# licence : GPLv3 # -# website : https://makotonoblog.be/ # -#-----------------------------------------------------------------------------# +#------------------------------------------------------------------------------# +# Yggdrasil NG # +# compatibility : Mint 18, Ubuntu 16.04, Elementary and other derivatives # +# author : Francois B. (Makotosan/Shakasan) # +# licence : GPLv3 # +# website : https://makotonoblog.be/ # +#------------------------------------------------------------------------------# # # include functions and vars from external files # dir=$(dirname $0) -source /opt/yggdrasil/vars.sh || exit 1 -source /opt/yggdrasil/core_functions.sh || exit 1 -source /opt/yggdrasil/tools_functions.sh || exit 1 - -OS=`lsb_release -d | awk -F':' '{print $2}' | awk -F'\t' '{print $2}'` -case $OS in - *"Ubuntu 16.04"* | *"Linux Mint 18"*) - printf "\n" - printf $BOLDROUGE"Yggdrasil for Ubuntu 16.04 / Linux Mint 18 is no longer available.\n"$NORMAL - printf "If you still need it, use an older version of Yggdrasil previous to 0.5.1.\n" - printf "Thanks for using Yggdrasil" - printf "\n" - ;; - *"Ubuntu 18.04"* | *"Linux Mint 19"*) - source /opt/yggdrasil/repo_functions_ub1804.sh || exit 1 - source /opt/yggdrasil/install_functions_ub1804.sh || exit 1 - source /opt/yggdrasil/menus_functions_ub1804.sh || exit 1 - ;; - *"Ubuntu 20.04"* | *"Linux Mint 20"*) - source /opt/yggdrasil/repo_functions_ub2004.sh || exit 1 - source /opt/yggdrasil/install_functions_ub2004.sh || exit 1 - source /opt/yggdrasil/menus_functions_ub2004.sh || exit 1 - ;; - *) - printf "\n" - printf $BOLDROUGE"Linux distro not supported"$NORMAL - printf "\n\n" - ;; -esac +if [ ! $dir == "/opt/yggdrasil" ]; then + source /opt/yggdrasil/vars.sh + source /opt/yggdrasil/core_functions.sh + source /opt/yggdrasil/repo_functions.sh + source /opt/yggdrasil/install_functions.sh + source /opt/yggdrasil/menus_functions.sh + source /opt/yggdrasil/tools_functions.sh +else + source $(dirname $0)/vars.sh + source $(dirname $0)/core_functions.sh + source $(dirname $0)/repo_functions.sh + source $(dirname $0)/install_functions.sh + source $(dirname $0)/menus_functions.sh + source $(dirname $0)/tools_functions.sh +fi # # check if the script is running in root/sudo @@ -61,206 +47,157 @@ echo "--[ Yggdrasil log ]--[ "$cDate" ]--[ "$cTime" ]-----------------------" >> # Headless Mode # #-----------------------------------------------------------------------------# -# display logo in CLI mode -[[ $# -gt 0 ]] && dispLogo - # # arguments/options management with getopts -while getopts ":h,v,f,c,u,a,d,q,s,t,w,g,j,k,p" option; do +while getopts ":h,v,f,c,u,a,d,q,s,t,n,g,w,p,k,T" option; do case "$option" in a) # install all apps - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Apps" - installAppsFromList base - installAppsFromList office - installAppsFromList burningtools - installAppsFromList ebook - installAppsFromList games - installAppsFromList steam - installAppsFromList internet - installAppsFromList java11 - installAppsFromList utilities - installAppsFromList multimedia - installAppsFromList nettools - installAppsFromList wine - installAppsFromList cajaplugins - installAppsFromList nautilus - installAppsFromList thunar - installAppsFromList gimp - installAppsFromList pidgin - installAppsFromList rhythmbox - msg "Installing HW related" - installAppsFromList webcam - updateMicrocode - msg "Applying system customizations" - enableHistoryTS - msg "Installing external apps" - installViber - installBoostnotes - installTeamViewer13 - installAppImageLauncher - installXnViewMP - ;; - f) # full install - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Apps" - installAppsFromList base - installAppsFromList office - installAppsFromList burningtools - installAppsFromList ebook - installAppsFromList games - installAppsFromList steam - installAppsFromList internet - installAppsFromList java11 - installAppsFromList utilities - installAppsFromList multimedia - installAppsFromList nettools - installAppsFromList wine - installAppsFromList cajaplugins - installAppsFromList nautilus - installAppsFromList thunar - installAppsFromList gimp - installAppsFromList pidgin - installAppsFromList rhythmbox - msg "Installing HW related" - installAppsFromList webcam - updateMicrocode - installAppsFromList cardreader - msg "Applying system customizations" - enableHistoryTS - installAppsFromList unbound - msg "Installing additional themes/icons" - installAppsFromList icons - installAppsFromList gtkthemes - msg "Installing external apps" - installViber - installBoostnotes - installTeamViewer13 - installAppImageLauncher - installXnViewMP - ;; - c) # install themes and icons - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Icons/Themes" - installAppsFromList icons - installAppsFromList gtkthemes - ;; - w) # nitrogen - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Nitrogen" - installAppsFromList nitrogen - ;; - d) # install Unbound DNS Cache - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Unbound" - installAppsFromList unbound - ;; - q) # cardreader - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Card Readers Apps" - installAppsFromList cardreader - ;; - s) # solaar for logitech devices - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing Solaar" - installAppsFromList solaar - ;; - t) # tlp (laptop or low energy usage) - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing TLP" - installAppsFromList tlp - ;; - k) # Ubuntu Hardware Enablement Stack - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Installing HWE (newer kernel+xorg)" - installAppsFromList hwe - ;; - g) # Unlock+Install SNAP + Store - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Unlock/Install SNAP + Store" - installAppsFromList snap - ;; - j) # unattended-upgrades - if [ $ygginitCount = false ]; then - msg "Initializing" - yggInit - msg "Updating the system" - updateSystem - ygginitCount=true - fi - msg "Install/Enable unattended-upgrades" - installAppsFromList unattended-upgrades - ;; - u) msg "Initializing" yggInit msg "Updating the system" updateSystem + msg "Installing Apps" + installBase + installOffice + installBurningTools + installEbook + installGames + installSteam + installInternet + installJava9 + installMiscUtilities + installMultimedia + installNetTools + installOffice + installWine + installCajaPlugins + installNautilusAndPlugins + installGimpPlugins + installPidginPlugins + installRhythmBoxPlugins + msg "Installing HW related" + installWebcam + updateMicrocode + msg "Applying system customizations" + enableUFW + enableNumLockX + addScreenfetchBashrc + enableHistoryTS + installUnattendedUpgrades + msg "Installing external apps" + installViber + installFranz + installTeamViewer13 + toolAutoremove + exit + ;; + f) # full install + msg "Initializing" + yggInit + msg "Updating the system" + updateSystem + msg "Installing Apps" + installBase + installOffice + installBurningTools + installEbook + installGames + installSteam + installInternet + installJava9 + installMiscUtilities + installMultimedia + installNetTools + installOffice + installWine + installCajaPlugins + installNautilusAndPlugins + installGimpPlugins + installPidginPlugins + installRhythmBoxPlugins + msg "Installing HW related" + installWebcam + updateMicrocode + installCardReader + msg "Applying system customizations" + enableUFW + enableNumLockX + addScreenfetchBashrc + enableHistoryTS + installUnattendedUpgrades + enableUnbound + msg "Installing additional themes/icons" + installIcons + installThemes + msg "Installing external apps" + installViber + installFranz + installTeamViewer13 + toolAutoremove + exit + ;; + c) # install themes and icons + yggInit + updateSystem + installIcons + installThemes + exit + ;; + w) # nitrogen + yggInit + updateSystem + installNitrogen + exit + ;; + d) # install Unbound DNS Cache + yggInit + updateSystem + enableUnbound + exit + ;; + q) # cardreader + yggInit + updateSystem + installCardReader + exit + ;; + s) # solaar for logitech devices + yggInit + updateSystem + installSolaar + exit + ;; + t) # tlp (laptop or low energy usage) + yggInit + updateSystem + installTLP + exit + ;; + n) # latest nvidia driver (see menus if need older version) + yggInit + updateSystem + installNvidia396 + exit + ;; + g) # latest feee graphic drivers, mesa, ... + yggInit + updateSystem + installOibaf + exit + ;; + k) + yggInit + updateSystem + kernelUpdate + exit + ;; + u) + yggInit + updateSystem exit ;; p) - msg "Removing useless dependencies" toolAutoremove exit ;; @@ -285,9 +222,6 @@ while getopts ":h,v,f,c,u,a,d,q,s,t,w,g,j,k,p" option; do esac done -# if CLI mode, no need to run the menus... -[[ $# -gt 0 ]] && exit - #-----------------------------------------------------------------------------# # Menu Mode # #-----------------------------------------------------------------------------# @@ -321,12 +255,12 @@ mainMenuOptions=$(whiptail \ 25 80 16 \ "1" "System update" \ "2" "Applications" \ -"3" "Themes & Icons" \ -"4" "Dev Apps" \ -"5" "System Config" \ -"6" "Hardware" \ -"7" "System Tools" \ -"8" "Add Makoto no Blog repository" \ +"3" "Applications (BETA)" \ +"4" "Applications (Nightly)" \ +"5" "Themes & Icons" \ +"6" "Dev Apps" \ +"7" "System Config" \ +"8" "System Tools" \ "9" "Reboot this computer" \ "10" "About Yggdrasil" \ "11" "Quit" 3>&1 1>&2 2>&3) @@ -340,22 +274,22 @@ case $mainMenuOptions in showAppInstallMenu ;; "3") - showThemesInstallMenu + showAppBetaInstallMenu ;; "4") - showDevInstallMenu + showAppNightlyInstallMenu ;; "5") - showConfigMenu; + showThemesInstallMenu ;; "6") - showHardwareMenu + showDevInstallMenu ;; "7") - showSysToolsMenu + showConfigMenu; ;; "8") - addRepo_Makoto + showSysToolsMenu ;; "9") showRebootBoxMenu @@ -370,4 +304,4 @@ esac # main menu done # end of main menu loop clear -exit +exit \ No newline at end of file