More consistency and bringing debian script on par with arch
This commit is contained in:
@@ -11,6 +11,22 @@ install_packages() {
|
||||
done
|
||||
}
|
||||
|
||||
# Function name: Install package
|
||||
# Description: Install a package
|
||||
# Arguments:
|
||||
# $1: Package name
|
||||
install_package() {
|
||||
sudo pacman -S --needed --noconfirm "$1"
|
||||
}
|
||||
|
||||
# Function name: Install dependencies
|
||||
# Description: Install dependencies
|
||||
# Arguments:
|
||||
# $1: Package name
|
||||
install_dependencies() {
|
||||
sudo pacman -S --needed --noconfirm --asdeps "$1"
|
||||
}
|
||||
|
||||
# Function name: Check whiptail
|
||||
# Description: Check if whiptail is installed else install it
|
||||
check_whiptail() {
|
||||
@@ -344,7 +360,7 @@ setup_browser() {
|
||||
# function name : setup u2f
|
||||
# Description: setup u2f
|
||||
setup_u2f() {
|
||||
sudo pacman -S --needed --noconfirm pam-u2f
|
||||
install_package pam-u2f
|
||||
mkdir ~/.config/Yubico
|
||||
echo "Registering U2F device..."
|
||||
pamu2fcfg -o "pam://$HOST" -i "pam://$HOST" > ~/.config/Yubico/u2f_keys
|
||||
@@ -364,7 +380,7 @@ setup_u2f() {
|
||||
# function name : setup OpenRGB
|
||||
# Description: setup OpenRGB
|
||||
setup_openrgb() {
|
||||
sudo pacman -S --needed --noconfirm openrgb
|
||||
install_package openrgb
|
||||
sudo gpasswd -a "$USER" plugdev
|
||||
sudo systemctl enable --now openrgb
|
||||
}
|
||||
@@ -428,7 +444,7 @@ install_packages_group() {
|
||||
install_packages containers_packages[@]
|
||||
# if nvidia gpu is detected
|
||||
if lspci | grep -Ei "nvidia" > /dev/null; then
|
||||
sudo pacman -S --needed --noconfirm nvidia-container-toolkit
|
||||
install_package nvidia-container-toolkit
|
||||
fi
|
||||
;;
|
||||
"\"U2F\"")
|
||||
@@ -457,19 +473,21 @@ setup_firewall() {
|
||||
|
||||
case $selected_groups in
|
||||
"ufw")
|
||||
sudo pacman -S --needed --noconfirm ufw ufw-extras
|
||||
install_package ufw
|
||||
install_dependencies ufw-extras
|
||||
sudo systemctl enable --now ufw
|
||||
sudo ufw enable
|
||||
;;
|
||||
"firewalld")
|
||||
sudo pacman -S --needed --noconfirm firewalld
|
||||
install_package firewalld
|
||||
sudo systemctl enable --now firewalld
|
||||
;;
|
||||
"iptables")
|
||||
sudo pacman -S --needed --noconfirm iptables
|
||||
install_package iptables
|
||||
;;
|
||||
"nftables")
|
||||
sudo pacman -S --needed --noconfirm nftables iptables-nft
|
||||
install_package nftables
|
||||
install_package iptables-nft
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -478,7 +496,7 @@ setup_firewall() {
|
||||
# Description: setup flatpak
|
||||
setup_flatpak() {
|
||||
if whiptail --title "Setup Flatpak" --yesno "Would you like to setup Flatpak?" 10 60; then
|
||||
sudo pacman -S --needed --noconfirm flatpak
|
||||
install_package flatpak
|
||||
flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
fi
|
||||
}
|
||||
@@ -487,7 +505,8 @@ setup_flatpak() {
|
||||
# Description: setup fwupd
|
||||
setup_fwupd() {
|
||||
if whiptail --title "Setup fwupd" --yesno "Would you like to setup fwupd?" 10 60; then
|
||||
sudo pacman -S --needed fwupd fwupd-efi
|
||||
install_package fwupd
|
||||
install_dependencies fwupd-efi
|
||||
sudo systemctl enable --now fwupd
|
||||
sudo systemctl enable --now fwupd-refresh
|
||||
fi
|
||||
@@ -504,10 +523,10 @@ setup_kdeconnect() {
|
||||
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\"")
|
||||
sudo pacman -S --needed --noconfirm kdeconnect
|
||||
install_package kdeconnect
|
||||
;;
|
||||
"\"gsconnect\"")
|
||||
sudo yay -S --needed --noconfirm gsconnect gnome-shell-extension-gsconnect
|
||||
install_package gnome-shell-extension-gsconnect
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@@ -525,16 +544,16 @@ setup_office_suite() {
|
||||
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\"")
|
||||
sudo pacman -S --needed --noconfirm libreoffice-fresh
|
||||
install_package libreoffice-fresh
|
||||
;;
|
||||
"\"OnlyOffice\"")
|
||||
sudo pacman -S --needed --noconfirm onlyoffice-bin
|
||||
install_package onlyoffice-bin
|
||||
;;
|
||||
"\"WPS Office\"")
|
||||
sudo pacman -S --needed --noconfirm wps-office
|
||||
install_package wps-office
|
||||
;;
|
||||
"\"FreeOffice\"")
|
||||
sudo pacman -S --needed --noconfirm freeoffice
|
||||
install_package freeoffice
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
111
debian-setup.sh
111
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
|
||||
setup_flatpak
|
||||
Reference in New Issue
Block a user