More consistency and bringing debian script on par with arch
This commit is contained in:
@@ -11,6 +11,22 @@ install_packages() {
|
|||||||
done
|
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
|
# Function name: Check whiptail
|
||||||
# Description: Check if whiptail is installed else install it
|
# Description: Check if whiptail is installed else install it
|
||||||
check_whiptail() {
|
check_whiptail() {
|
||||||
@@ -344,7 +360,7 @@ setup_browser() {
|
|||||||
# function name : setup u2f
|
# function name : setup u2f
|
||||||
# Description: setup u2f
|
# Description: setup u2f
|
||||||
setup_u2f() {
|
setup_u2f() {
|
||||||
sudo pacman -S --needed --noconfirm pam-u2f
|
install_package pam-u2f
|
||||||
mkdir ~/.config/Yubico
|
mkdir ~/.config/Yubico
|
||||||
echo "Registering U2F device..."
|
echo "Registering U2F device..."
|
||||||
pamu2fcfg -o "pam://$HOST" -i "pam://$HOST" > ~/.config/Yubico/u2f_keys
|
pamu2fcfg -o "pam://$HOST" -i "pam://$HOST" > ~/.config/Yubico/u2f_keys
|
||||||
@@ -364,7 +380,7 @@ setup_u2f() {
|
|||||||
# function name : setup OpenRGB
|
# function name : setup OpenRGB
|
||||||
# Description: setup OpenRGB
|
# Description: setup OpenRGB
|
||||||
setup_openrgb() {
|
setup_openrgb() {
|
||||||
sudo pacman -S --needed --noconfirm openrgb
|
install_package openrgb
|
||||||
sudo gpasswd -a "$USER" plugdev
|
sudo gpasswd -a "$USER" plugdev
|
||||||
sudo systemctl enable --now openrgb
|
sudo systemctl enable --now openrgb
|
||||||
}
|
}
|
||||||
@@ -428,7 +444,7 @@ install_packages_group() {
|
|||||||
install_packages containers_packages[@]
|
install_packages containers_packages[@]
|
||||||
# if nvidia gpu is detected
|
# if nvidia gpu is detected
|
||||||
if lspci | grep -Ei "nvidia" > /dev/null; then
|
if lspci | grep -Ei "nvidia" > /dev/null; then
|
||||||
sudo pacman -S --needed --noconfirm nvidia-container-toolkit
|
install_package nvidia-container-toolkit
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"\"U2F\"")
|
"\"U2F\"")
|
||||||
@@ -457,19 +473,21 @@ setup_firewall() {
|
|||||||
|
|
||||||
case $selected_groups in
|
case $selected_groups in
|
||||||
"ufw")
|
"ufw")
|
||||||
sudo pacman -S --needed --noconfirm ufw ufw-extras
|
install_package ufw
|
||||||
|
install_dependencies ufw-extras
|
||||||
sudo systemctl enable --now ufw
|
sudo systemctl enable --now ufw
|
||||||
sudo ufw enable
|
sudo ufw enable
|
||||||
;;
|
;;
|
||||||
"firewalld")
|
"firewalld")
|
||||||
sudo pacman -S --needed --noconfirm firewalld
|
install_package firewalld
|
||||||
sudo systemctl enable --now firewalld
|
sudo systemctl enable --now firewalld
|
||||||
;;
|
;;
|
||||||
"iptables")
|
"iptables")
|
||||||
sudo pacman -S --needed --noconfirm iptables
|
install_package iptables
|
||||||
;;
|
;;
|
||||||
"nftables")
|
"nftables")
|
||||||
sudo pacman -S --needed --noconfirm nftables iptables-nft
|
install_package nftables
|
||||||
|
install_package iptables-nft
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -478,7 +496,7 @@ setup_firewall() {
|
|||||||
# Description: setup flatpak
|
# Description: setup flatpak
|
||||||
setup_flatpak() {
|
setup_flatpak() {
|
||||||
if whiptail --title "Setup Flatpak" --yesno "Would you like to setup Flatpak?" 10 60; then
|
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
|
flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -487,7 +505,8 @@ setup_flatpak() {
|
|||||||
# Description: setup fwupd
|
# Description: setup fwupd
|
||||||
setup_fwupd() {
|
setup_fwupd() {
|
||||||
if whiptail --title "Setup fwupd" --yesno "Would you like to setup fwupd?" 10 60; then
|
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
|
||||||
sudo systemctl enable --now fwupd-refresh
|
sudo systemctl enable --now fwupd-refresh
|
||||||
fi
|
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)
|
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
|
case $selected_option in
|
||||||
"\"kdeconnect\"")
|
"\"kdeconnect\"")
|
||||||
sudo pacman -S --needed --noconfirm kdeconnect
|
install_package kdeconnect
|
||||||
;;
|
;;
|
||||||
"\"gsconnect\"")
|
"\"gsconnect\"")
|
||||||
sudo yay -S --needed --noconfirm gsconnect gnome-shell-extension-gsconnect
|
install_package gnome-shell-extension-gsconnect
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
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)
|
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
|
case $selected_option in
|
||||||
"\"LibreOffice\"")
|
"\"LibreOffice\"")
|
||||||
sudo pacman -S --needed --noconfirm libreoffice-fresh
|
install_package libreoffice-fresh
|
||||||
;;
|
;;
|
||||||
"\"OnlyOffice\"")
|
"\"OnlyOffice\"")
|
||||||
sudo pacman -S --needed --noconfirm onlyoffice-bin
|
install_package onlyoffice-bin
|
||||||
;;
|
;;
|
||||||
"\"WPS Office\"")
|
"\"WPS Office\"")
|
||||||
sudo pacman -S --needed --noconfirm wps-office
|
install_package wps-office
|
||||||
;;
|
;;
|
||||||
"\"FreeOffice\"")
|
"\"FreeOffice\"")
|
||||||
sudo pacman -S --needed --noconfirm freeoffice
|
install_package freeoffice
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|||||||
111
debian-setup.sh
111
debian-setup.sh
@@ -11,6 +11,14 @@ install_packages() {
|
|||||||
done
|
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
|
# Function name: Add repositories
|
||||||
# Description: Add repositories from an array
|
# Description: Add repositories from an array
|
||||||
# Arguments:
|
# Arguments:
|
||||||
@@ -75,7 +83,8 @@ update_system() {
|
|||||||
# Function name: Setup plymouth
|
# Function name: Setup plymouth
|
||||||
# Description: Setup plymouth
|
# Description: Setup plymouth
|
||||||
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
|
sudo plymouth-set-default-theme -R spinner
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,6 +138,10 @@ containers_packages=(
|
|||||||
waydroid
|
waydroid
|
||||||
lxc
|
lxc
|
||||||
)
|
)
|
||||||
|
thunderbird_packages=(
|
||||||
|
thunderbird
|
||||||
|
thunderbird-l10n-all
|
||||||
|
)
|
||||||
|
|
||||||
# Function name: Setup browser
|
# Function name: Setup browser
|
||||||
# Description: Setup browser
|
# Description: Setup browser
|
||||||
@@ -152,31 +165,31 @@ setup_browser() {
|
|||||||
for browser in $selected_browsers; do
|
for browser in $selected_browsers; do
|
||||||
case $browser in
|
case $browser in
|
||||||
"\"Firefox\"")
|
"\"Firefox\"")
|
||||||
sudo apt-get install -y firefox-esr
|
install_package firefox-esr
|
||||||
;;
|
;;
|
||||||
"\"Chromium\"")
|
"\"Chromium\"")
|
||||||
sudo apt-get install -y chromium
|
install_package chromium
|
||||||
;;
|
;;
|
||||||
"\"Brave\"")
|
"\"Brave\"")
|
||||||
sudo apt-get install -y brave-browser
|
install_package brave-browser
|
||||||
;;
|
;;
|
||||||
"\"Google Chrome\"")
|
"\"Google Chrome\"")
|
||||||
sudo apt-get install -y google-chrome-stable
|
install_package google-chrome-stable
|
||||||
;;
|
;;
|
||||||
"\"Tor Browser\"")
|
"\"Tor Browser\"")
|
||||||
sudo apt-get install -y torbrowser-launcher
|
install_package torbrowser-launcher
|
||||||
;;
|
;;
|
||||||
"\"Mullvad Browser\"")
|
"\"Mullvad Browser\"")
|
||||||
sudo apt-get install -y mullvad-browser
|
install_package mullvad-browser
|
||||||
;;
|
;;
|
||||||
"\"Edge Stable\"")
|
"\"Edge Stable\"")
|
||||||
sudo apt-get install -y microsoft-edge-stable
|
install_package microsoft-edge-stable
|
||||||
;;
|
;;
|
||||||
"\"LibreWolf\"")
|
"\"LibreWolf\"")
|
||||||
sudo apt-get install -y librewolf
|
install_package librewolf
|
||||||
;;
|
;;
|
||||||
"\"Links\"")
|
"\"Links\"")
|
||||||
sudo apt-get install -y links
|
install_package links
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -185,16 +198,26 @@ setup_browser() {
|
|||||||
# Function name: Setup U2F
|
# Function name: Setup U2F
|
||||||
# Description: Setup U2F
|
# Description: Setup U2F
|
||||||
setup_u2f() {
|
setup_u2f() {
|
||||||
sudo apt-get install -y libpam-u2f
|
install_package pamu2fcfg
|
||||||
|
install_package libpam-u2f
|
||||||
mkdir -p ~/.config/Yubico
|
mkdir -p ~/.config/Yubico
|
||||||
pamu2fcfg > ~/.config/Yubico/u2f_keys
|
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
|
# Function name: Setup OpenRGB
|
||||||
# Description: Setup OpenRGB
|
# Description: Setup OpenRGB
|
||||||
setup_openrgb() {
|
setup_openrgb() {
|
||||||
sudo apt-get install -y openrgb
|
install_package openrgb
|
||||||
sudo gpasswd -a "$USER" plugdev
|
sudo gpasswd -a "$USER" plugdev
|
||||||
sudo systemctl enable --now openrgb
|
sudo systemctl enable --now openrgb
|
||||||
}
|
}
|
||||||
@@ -214,10 +237,11 @@ install_packages_group() {
|
|||||||
"Containers" "Install Containers packages" OFF
|
"Containers" "Install Containers packages" OFF
|
||||||
"U2F" "Setup U2F" OFF
|
"U2F" "Setup U2F" OFF
|
||||||
"OpenRGB" "Setup OpenRGB" OFF
|
"OpenRGB" "Setup OpenRGB" OFF
|
||||||
|
"Thunderbird" "Install Thunderbird" OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
selected_groups=$(whiptail --title "Install Packages Group" --checklist \
|
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)
|
"${options[@]}" 3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
for group in $selected_groups; do
|
for group in $selected_groups; do
|
||||||
@@ -255,12 +279,71 @@ install_packages_group() {
|
|||||||
"\"OpenRGB\"")
|
"\"OpenRGB\"")
|
||||||
setup_openrgb
|
setup_openrgb
|
||||||
;;
|
;;
|
||||||
|
"\"Thunderbird\"")
|
||||||
|
install_packages thunderbird_packages[@]
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
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
|
# Main script
|
||||||
update_system
|
update_system
|
||||||
setup_plymouth
|
setup_plymouth
|
||||||
setup_browser
|
setup_browser
|
||||||
install_packages_group
|
install_packages_group
|
||||||
|
setup_flatpak
|
||||||
Reference in New Issue
Block a user