This commit is contained in:
2025-09-09 17:10:33 +02:00
parent 6f36ca0848
commit 0e137633e4

View File

@@ -118,7 +118,7 @@ setup_pacman() {
sudo sed -i 's/#ILoveCandy/ILoveCandy/' /etc/pacman.conf
sudo sed -i 's/#VerbosePkgLists/VerbosePkgLists/' /etc/pacman.conf
sudo sed -i 's/#CheckSpace/CheckSpace/' /etc/pacman.conf
#sudo sed -i 's/#PrettyProgressBar/PrettyProgressBar/' /etc/pacman.conf
sudo sed -i 's/#PrettyProgressBar/PrettyProgressBar/' /etc/pacman.conf
sudo sed -i 's/#ParallelDownloads = 5/ParallelDownloads = 10/' /etc/pacman.conf
sudo sed -i 's/#DisableDownloadTimeout/DisableDownloadTimeout/' /etc/pacman.conf
}
@@ -221,14 +221,12 @@ setup_gpu() {
fi
;;
"\"nouveau\"")
install_dependencies mesa
install_package vulkan-nouveau
install_dependencies mesa vulkan-nouveau
;;
esac
;;
*AMD*)
install_dependencies mesa
install_package vulkan-radeon
install_dependencies mesa vulkan-radeon
;;
*Intel*)
install_dependencies intel-media-driver vulkan-intel
@@ -242,7 +240,8 @@ setup_gpu() {
setup_plymouth() {
if whiptail --title "Setup Plymouth" --yesno "Would you like to setup Plymouth?" 10 60; then
echo "quiet splash" | sudo tee -a /etc/kernel/cmdline
sudo pacman -S --needed --noconfirm plymouth plymouth-kcm
sudo sed -i 's/^HOOKS=(base udev autodetect microcode/HOOKS=(base udev autodetect microcode plymouth /' /etc/mkinitcpio.conf
install_package plymouth
if pacman -Qs plymouth-theme-catppuccin-mocha-git > /dev/null; then
sudo plymouth-set-default-theme -R catppuccin-mocha
else
@@ -273,46 +272,52 @@ setup_bluetooth() {
# function name : setup u2f
# Description: setup pam-u2f for login using Yubikey
setup_u2f() {
install_package pam-u2f
mkdir ~/.config/Yubico
echo "Registering U2F device..."
pamu2fcfg -o "pam://$HOST" -i "pam://$HOST" > ~/.config/Yubico/u2f_keys
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
if [ ! -f /etc/pam.d/polkit-1 ]; then
sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1
if whiptail --title "Setup U2F" --yesno "Would you like to setup U2F (Yubikey) authentication?" 10 60; then
install_package pam-u2f
mkdir -p ~/.config/Yubico
echo "Registering U2F device..."
pamu2fcfg -o "pam://$HOST" -i "pam://$HOST" > ~/.config/Yubico/u2f_keys
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
if [ ! -f /etc/pam.d/polkit-1 ]; then
sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1
fi
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/polkit-1
fi
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/polkit-1
}
# function name : setup fprint
# Description: setup fprint for login using fingerprint reader
setup_fprint() {
install_package fprintd
install_dependencies imagemagick
sudo systemctl enable --now fprintd
sudo sed -i '/^auth\s*include\s*system-login/i auth [success=1 default=ignore] pam_succeed_if.so service in sudo:su:su-l tty in :unknown' /etc/pam.d/system-local-login
sudo sed -i '/^auth\s*include\s*system-login/i auth sufficient pam_fprintd.so' /etc/pam.d/system-local-login
if [ ! -f /etc/pam.d/polkit-1 ]; then
sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1
if whiptail --title "Setup Fprint" --yesno "Would you like to setup fingerprint authentication (fprintd)?" 10 60; then
install_package fprintd
install_dependencies imagemagick
sudo systemctl enable --now fprintd
sudo sed -i '/^auth\s*include\s*system-login/i auth [success=1 default=ignore] pam_succeed_if.so service in sudo:su:su-l tty in :unknown' /etc/pam.d/system-local-login
sudo sed -i '/^auth\s*include\s*system-login/i auth sufficient pam_fprintd.so' /etc/pam.d/system-local-login
if [ ! -f /etc/pam.d/polkit-1 ]; then
sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1
fi
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/polkit-1
fprintd-enroll
fi
sudo sed -i '/^auth\s*include\s*system-auth/i auth include u2f-sufficient' /etc/pam.d/polkit-1
fprintd-enroll
}
# function name : setup SmartCard [WIP]
# Description: setup pcscd for login using smartcard reader
setup_smartcard() {
install_package opensc
sudo systemctl enable --now pcscd
sudo systemctl enable --now pcscd.socket
if whiptail --title "Setup SmartCard" --yesno "Would you like to setup SmartCard (pcscd) authentication?" 10 60; then
install_package opensc
sudo systemctl enable --now pcscd
sudo systemctl enable --now pcscd.socket
fi
}
# function name : setup firewall
@@ -584,8 +589,8 @@ setup_containers() {
# Description: Install and setup Plasma KDE
setup_plasma_kde() {
if whiptail --title "Setup Plasma KDE" --yesno "Would you like to setup Plasma KDE?" 10 60; then
install_package plasma-meta gwenview kate okular kcalc gparted kdeconnect
install_dependencies qt6-quick3d
install_package plasma-meta gwenview kate okular kcalc gparted kdeconnect ark dolphin
install_dependencies qt6-quick3d flatpak-kcm plymouth-kcm sddm-kcm
if pacman -Qs sddm > /dev/null; then
sudo systemctl enable sddm
if [ -f /etc/sddm.conf.d/10-wayland.conf ]; then