More consistency and bringing debian script on par with arch
This commit is contained in:
113
debian-setup.sh
113
debian-setup.sh
@@ -11,6 +11,14 @@ install_packages() {
|
||||
done
|
||||
}
|
||||
|
||||
# Function name: Install package
|
||||
# Description: Install a package
|
||||
# Arguments:
|
||||
# $1: Package name
|
||||
install_package() {
|
||||
sudo apt-get install -y "$1"
|
||||
}
|
||||
|
||||
# Function name: Add repositories
|
||||
# Description: Add repositories from an array
|
||||
# Arguments:
|
||||
@@ -75,7 +83,8 @@ update_system() {
|
||||
# Function name: Setup plymouth
|
||||
# Description: Setup plymouth
|
||||
setup_plymouth() {
|
||||
sudo apt-get install -y plymouth plymouth-themes
|
||||
install_package plymouth
|
||||
install_package plymouth-themes
|
||||
sudo plymouth-set-default-theme -R spinner
|
||||
}
|
||||
|
||||
@@ -129,6 +138,10 @@ containers_packages=(
|
||||
waydroid
|
||||
lxc
|
||||
)
|
||||
thunderbird_packages=(
|
||||
thunderbird
|
||||
thunderbird-l10n-all
|
||||
)
|
||||
|
||||
# Function name: Setup browser
|
||||
# Description: Setup browser
|
||||
@@ -152,31 +165,31 @@ setup_browser() {
|
||||
for browser in $selected_browsers; do
|
||||
case $browser in
|
||||
"\"Firefox\"")
|
||||
sudo apt-get install -y firefox-esr
|
||||
install_package firefox-esr
|
||||
;;
|
||||
"\"Chromium\"")
|
||||
sudo apt-get install -y chromium
|
||||
install_package chromium
|
||||
;;
|
||||
"\"Brave\"")
|
||||
sudo apt-get install -y brave-browser
|
||||
install_package brave-browser
|
||||
;;
|
||||
"\"Google Chrome\"")
|
||||
sudo apt-get install -y google-chrome-stable
|
||||
install_package google-chrome-stable
|
||||
;;
|
||||
"\"Tor Browser\"")
|
||||
sudo apt-get install -y torbrowser-launcher
|
||||
install_package torbrowser-launcher
|
||||
;;
|
||||
"\"Mullvad Browser\"")
|
||||
sudo apt-get install -y mullvad-browser
|
||||
install_package mullvad-browser
|
||||
;;
|
||||
"\"Edge Stable\"")
|
||||
sudo apt-get install -y microsoft-edge-stable
|
||||
install_package microsoft-edge-stable
|
||||
;;
|
||||
"\"LibreWolf\"")
|
||||
sudo apt-get install -y librewolf
|
||||
install_package librewolf
|
||||
;;
|
||||
"\"Links\"")
|
||||
sudo apt-get install -y links
|
||||
install_package links
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -185,16 +198,26 @@ setup_browser() {
|
||||
# Function name: Setup U2F
|
||||
# Description: Setup U2F
|
||||
setup_u2f() {
|
||||
sudo apt-get install -y libpam-u2f
|
||||
install_package pamu2fcfg
|
||||
install_package libpam-u2f
|
||||
mkdir -p ~/.config/Yubico
|
||||
pamu2fcfg > ~/.config/Yubico/u2f_keys
|
||||
echo "auth required pam_u2f.so" | sudo tee -a /etc/pam.d/common-auth
|
||||
sudo touch /etc/pam.d/u2f-required
|
||||
sudo touch /etc/pam.d/u2f-sufficient
|
||||
echo "auth required pam_u2f.so cue origin=pam://$HOST appid=pam://$HOST" | sudo tee -a /etc/pam.d/u2f-required
|
||||
echo "auth sufficient pam_u2f.so cue origin=pam://$HOST appid=pam://$HOST" | sudo tee -a /etc/pam.d/u2f-sufficient
|
||||
sudo sed -i '/^password\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/su
|
||||
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/sudo
|
||||
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/passwd
|
||||
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/system-login
|
||||
sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1
|
||||
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/polkit-1
|
||||
}
|
||||
|
||||
# Function name: Setup OpenRGB
|
||||
# Description: Setup OpenRGB
|
||||
setup_openrgb() {
|
||||
sudo apt-get install -y openrgb
|
||||
install_package openrgb
|
||||
sudo gpasswd -a "$USER" plugdev
|
||||
sudo systemctl enable --now openrgb
|
||||
}
|
||||
@@ -214,10 +237,11 @@ install_packages_group() {
|
||||
"Containers" "Install Containers packages" OFF
|
||||
"U2F" "Setup U2F" OFF
|
||||
"OpenRGB" "Setup OpenRGB" OFF
|
||||
"Thunderbird" "Install Thunderbird" OFF
|
||||
)
|
||||
|
||||
selected_groups=$(whiptail --title "Install Packages Group" --checklist \
|
||||
"Choose the packages group you want to install:" 20 78 11 \
|
||||
"Choose the packages group you want to install:" 20 78 10 \
|
||||
"${options[@]}" 3>&1 1>&2 2>&3)
|
||||
|
||||
for group in $selected_groups; do
|
||||
@@ -255,12 +279,71 @@ install_packages_group() {
|
||||
"\"OpenRGB\"")
|
||||
setup_openrgb
|
||||
;;
|
||||
"\"Thunderbird\"")
|
||||
install_packages thunderbird_packages[@]
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# Function name: Setup flatpak
|
||||
# Description: Setup flatpak
|
||||
setup_flatpak() {
|
||||
if whiptail --title "Setup Flatpak" --yesno "Would you like to setup Flatpak?" 10 60; then
|
||||
install_package flatpak
|
||||
flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
fi
|
||||
}
|
||||
|
||||
# function name : setup_kdeconnect
|
||||
# Description: setup kdeconnect
|
||||
setup_kdeconnect() {
|
||||
if whiptail --title "Setup KDE Connect" --yesno "Would you like to setup KDE Connect?" 10 60; then
|
||||
options=(
|
||||
"kdeconnect" "Install KDE Connect" OFF
|
||||
"gsconnect" "Install GSConnect" OFF
|
||||
)
|
||||
selected_option=$(whiptail --title "Setup KDE Connect" --radiolist "Choose the package you want to install:" 20 78 2 "${options[@]}" 3>&1 1>&2 2>&3)
|
||||
case $selected_option in
|
||||
"\"kdeconnect\"")
|
||||
install_package kdeconnect
|
||||
;;
|
||||
"\"gsconnect\"")
|
||||
install_package gnome-shell-extension-gsconnect
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# function name : setup_office_suite
|
||||
# Description: setup office suite
|
||||
setup_office_suite() {
|
||||
options=(
|
||||
"LibreOffice" "Install LibreOffice" OFF
|
||||
"OnlyOffice" "Install OnlyOffice" OFF
|
||||
"WPS Office" "Install WPS Office" OFF
|
||||
"FreeOffice" "Install FreeOffice" OFF
|
||||
)
|
||||
selected_option=$(whiptail --title "Setup Office Suite" --radiolist "Choose the office suite you want to install:" 20 78 4 "${options[@]}" 3>&1 1>&2 2>&3)
|
||||
case $selected_option in
|
||||
"\"LibreOffice\"")
|
||||
install_package libreoffice-fresh
|
||||
;;
|
||||
"\"OnlyOffice\"")
|
||||
install_package onlyoffice-bin
|
||||
;;
|
||||
"\"WPS Office\"")
|
||||
install_package wps-office
|
||||
;;
|
||||
"\"FreeOffice\"")
|
||||
install_package freeoffice
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Main script
|
||||
update_system
|
||||
setup_plymouth
|
||||
setup_browser
|
||||
install_packages_group
|
||||
install_packages_group
|
||||
setup_flatpak
|
||||
Reference in New Issue
Block a user