Major refactor. Now uses Dialog
This commit is contained in:
parent
9577625e94
commit
56f678dea9
3 changed files with 248 additions and 158 deletions
36
push.sh
Executable file
36
push.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/bash
|
||||
#set -e
|
||||
##################################################################################################################
|
||||
# Written to be used on 64 bits computers
|
||||
# Author : DarkXero
|
||||
# Website : http://xerolinux.github.io
|
||||
##################################################################################################################
|
||||
# change a commit comment
|
||||
# git commit --amend -m "more info"
|
||||
# git push --force origin
|
||||
|
||||
echo "Deleting the work folder if one exists"
|
||||
[ -d work ] && rm -rf work
|
||||
|
||||
# Below command will backup everything inside the project folder
|
||||
git add --all .
|
||||
|
||||
# Give a comment to the commit if you want
|
||||
echo "####################################"
|
||||
echo "Write your commit comment!"
|
||||
echo "####################################"
|
||||
|
||||
read input
|
||||
|
||||
# Committing to the local repository with a message containing the time details and commit text
|
||||
|
||||
git commit -m "$input"
|
||||
|
||||
# Push the local files to github
|
||||
|
||||
git push -f -u origin main
|
||||
|
||||
|
||||
echo "################################################################"
|
||||
echo "################### Git Push Done ######################"
|
||||
echo "################################################################"
|
114
test.sh
Executable file
114
test.sh
Executable file
|
@ -0,0 +1,114 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##################################################################################################################
|
||||
# Author : DarkXero
|
||||
# Website : https://xerolinux.xyz
|
||||
# To be used in Arch-Chroot (After installing Base packages via ArchInstall)
|
||||
##################################################################################################################
|
||||
|
||||
# Check if dialog is installed, if not, install it
|
||||
if ! command -v dialog &> /dev/null; then
|
||||
echo "dialog is not installed. Installing dialog..."
|
||||
pacman -S --noconfirm dialog
|
||||
fi
|
||||
|
||||
# Function to install packages
|
||||
install_packages() {
|
||||
packages=$1
|
||||
pacman -S --needed --noconfirm $packages
|
||||
}
|
||||
|
||||
# Function to selectively install packages
|
||||
selective_install() {
|
||||
packages=$1
|
||||
pacman -S --needed $packages
|
||||
}
|
||||
|
||||
# Main menu using dialog
|
||||
main_menu() {
|
||||
CHOICE=$(dialog --stdout --title "XeroLinux Plasma Install" --menu "Zb\Z1Centered Text Message Here\Zn" 20 60 4 \
|
||||
1 "Minimal : Minimal install (Older PCs)." \
|
||||
2 "Complete : Full install (Bloated Install)." \
|
||||
3 "Curated : Xero's Curated set of Plasma packages." \
|
||||
4 "Selective: Individual package selection (Advanced).")
|
||||
|
||||
case "$CHOICE" in
|
||||
1)
|
||||
install_packages "plasma-meta konsole kate dolphin ark plasma-workspace egl-wayland flatpak-kcm breeze-grub spectacle dolphin-plugins falkon nano"
|
||||
;;
|
||||
2)
|
||||
install_packages "nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk"
|
||||
;;
|
||||
3)
|
||||
install_packages "nano kf6 qt6 jq xmlstarlet plasma-desktop packagekit-qt6 packagekit dolphin kcron khelpcenter kio-admin ksystemlog breeze discover plasma-workspace plasma-workspace-wallpapers powerdevil plasma-nm kaccounts-integration kdeplasma-addons plasma-pa plasma-integration plasma-browser-integration plasma-wayland-protocols plasma-systemmonitor kpipewire keysmith krecorder kweather plasmatube plasma-pass ocean-sound-theme qqc2-breeze-style plasma5-integration kdeconnect kdenetwork-filesharing kget kio-extras kio-gdrive kio-zeroconf colord-kde gwenview kamera kcolorchooser kdegraphics-thumbnailers kimagemapeditor kolourpaint okular spectacle svgpart ark kate kcalc kcharselect kdebugsettings kdf kdialog keditbookmarks kfind kgpg konsole markdownpart yakuake audiotube elisa ffmpegthumbs plasmatube dolphin-plugins pim-data-exporter pim-sieve-editor emoji-font ttf-joypixels gcc-libs glibc icu kauth kbookmarks kcmutils kcodecs kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio kirigami kirigami-addons kitemmodels kitemviews kjobwidgets kmenuedit knewstuff knotifications knotifyconfig kpackage krunner kservice ksvg kwidgetsaddons kwindowsystem kxmlgui libcanberra libksysguard libplasma libx11 libxcb libxcursor libxi libxkbcommon libxkbfile plasma-activities plasma-activities-stats plasma5support polkit-kde-agent qt6-5compat qt6-base qt6-declarative qt6-wayland sdl2 solid sonnet systemsettings wayland xcb-util-keysyms xdg-user-dirs scim extra-cmake-modules intltool wayland-protocols xf86-input-libinput sddm-kcm bluedevil breeze-gtk drkonqi kde-gtk-config kdeplasma-addons kinfocenter kscreen ksshaskpass oxygen oxygen-sounds xdg-desktop-portal-kde breeze-grub flatpak-kcm falkon"
|
||||
;;
|
||||
4)
|
||||
selective_install "nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk"
|
||||
;;
|
||||
*)
|
||||
if [ "$CHOICE" == "" ]; then
|
||||
clear
|
||||
exit 0
|
||||
else
|
||||
dialog --msgbox "Invalid option. Please select 1, 2, 3, or 4." 10 40
|
||||
main_menu
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Display main menu
|
||||
main_menu
|
||||
|
||||
# Prompt for adding XeroLinux repo using dialog
|
||||
if dialog --stdout --title "XeroLinux Repository" --yesno "Would you like to add the XeroLinux repository?" 10 40; then
|
||||
echo "Adding XeroLinux Repository..."
|
||||
echo -e '\n[xerolinux]\nSigLevel = Optional TrustAll\nServer = https://repos.xerolinux.xyz/$repo/$arch' | tee -a /etc/pacman.conf
|
||||
sed -i '/^\s*#\s*\[multilib\]/,/^$/ s/^#//' /etc/pacman.conf
|
||||
fi
|
||||
|
||||
# Prompt for installing Paru/Toolkit using dialog
|
||||
if dialog --stdout --title "Install Paru & Xero-Toolkit" --yesno "Would you like to install Paru & the Xero-Toolkit?" 10 40; then
|
||||
echo "Installing Paru/Toolkit..."
|
||||
pacman -Syy --noconfirm paru-bin xlapit-cli
|
||||
fi
|
||||
|
||||
echo "Installing PipeWire packages..."
|
||||
install_packages "gstreamer gst-libav gst-plugins-bad gst-plugins-base gst-plugins-ugly libdvdcss alsa-utils alsa-firmware pavucontrol lib32-pipewire-jack libpipewire pipewire-v4l2 pipewire-x11-bell pipewire-zeroconf realtime-privileges sof-firmware ffmpeg ffmpegthumbs ffnvcodec-headers"
|
||||
|
||||
echo "Installing Bluetooth packages..."
|
||||
install_packages "bluez bluez-utils bluez-plugins bluez-hid2hci bluez-cups bluez-libs bluez-tools"
|
||||
systemctl enable bluetooth.service
|
||||
|
||||
echo "Adding support for OS-Prober"
|
||||
install_packages "os-prober"
|
||||
sed -i 's/#\s*GRUB_DISABLE_OS_PROBER=false/GRUB_DISABLE_OS_PROBER=false/' '/etc/default/grub'
|
||||
os-prober
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
echo "Installing other useful applications..."
|
||||
install_packages "meld timeshift elisa mpv gnome-disk-utility btop"
|
||||
|
||||
echo "Detecting if you are using a VM"
|
||||
result=$(systemd-detect-virt)
|
||||
case $result in
|
||||
oracle)
|
||||
echo "Installing virtualbox-guest-utils..."
|
||||
install_packages "virtualbox-guest-utils"
|
||||
;;
|
||||
kvm)
|
||||
echo "Installing qemu-guest-agent and spice-vdagent..."
|
||||
install_packages "qemu-guest-agent spice-vdagent qemu-hw-display-qxl xf86-video-qxl"
|
||||
;;
|
||||
vmware)
|
||||
echo "Installing xf86-video-vmware and open-vm-tools..."
|
||||
install_packages "xf86-video-vmware open-vm-tools xf86-input-vmmouse"
|
||||
systemctl enable vmtoolsd.service
|
||||
;;
|
||||
*)
|
||||
echo "You are not running in a VM."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
dialog --msgbox "Installation Complete. Done, now exit and reboot. For further customization, if you opted to install our Toolkit, please find it in AppMenu under System or by typing xero-cli in terminal." 10 40
|
256
xero-plasma.sh
Normal file → Executable file
256
xero-plasma.sh
Normal file → Executable file
|
@ -1,174 +1,114 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
|
||||
##################################################################################################################
|
||||
# Author : DarkXero
|
||||
# Website : https://xerolinux.xyz
|
||||
# Author : DarkXero
|
||||
# Website : https://xerolinux.xyz
|
||||
# To be used in Arch-Chroot (After installing Base packages via ArchInstall)
|
||||
##################################################################################################################
|
||||
|
||||
echo
|
||||
echo "############################################"
|
||||
echo " KDE-Plasma Install "
|
||||
echo "############################################"
|
||||
echo
|
||||
echo "This is where you choose how to install Plasma."
|
||||
echo "------------------------------------------------"
|
||||
echo
|
||||
echo "1. Minimal : Minimal install. (For older PCs only)."
|
||||
echo "2. Complete : Full install, includes everything. (Bloated)."
|
||||
echo "3. Curated : Curated set of Plasma packages (Best for all systems)."
|
||||
echo "4. Selective : Allows you to select individual packages. (Advanced Users)."
|
||||
echo
|
||||
|
||||
read -p "Enter your choice [1-4]: " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
pacman -S --needed --noconfirm plasma-meta konsole kate dolphin ark plasma-workspace egl-wayland flatpak-kcm breeze-grub spectacle dolphin-plugins falkon nano
|
||||
;;
|
||||
2)
|
||||
pacman -S --needed --noconfirm nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk
|
||||
;;
|
||||
3)
|
||||
pacman -S --needed --noconfirm nano kf6 qt6 jq xmlstarlet plasma-desktop packagekit-qt6 packagekit dolphin kcron khelpcenter kio-admin ksystemlog breeze discover plasma-workspace plasma-workspace-wallpapers powerdevil plasma-nm kaccounts-integration kdeplasma-addons plasma-pa plasma-integration plasma-browser-integration plasma-wayland-protocols plasma-systemmonitor kpipewire keysmith krecorder kweather plasmatube plasma-pass ocean-sound-theme qqc2-breeze-style plasma5-integration kdeconnect kdenetwork-filesharing kget kio-extras kio-gdrive kio-zeroconf colord-kde gwenview kamera kcolorchooser kdegraphics-thumbnailers kimagemapeditor kolourpaint okular spectacle svgpart ark kate kcalc kcharselect kdebugsettings kdf kdialog keditbookmarks kfind kgpg konsole markdownpart yakuake audiotube elisa ffmpegthumbs plasmatube dolphin-plugins pim-data-exporter pim-sieve-editor emoji-font ttf-joypixels gcc-libs glibc icu kauth kbookmarks kcmutils kcodecs kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio kirigami kirigami-addons kitemmodels kitemviews kjobwidgets kmenuedit knewstuff knotifications knotifyconfig kpackage krunner kservice ksvg kwidgetsaddons kwindowsystem kxmlgui libcanberra libksysguard libplasma libx11 libxcb libxcursor libxi libxkbcommon libxkbfile plasma-activities plasma-activities-stats plasma5support polkit-kde-agent qt6-5compat qt6-base qt6-declarative qt6-wayland sdl2 solid sonnet systemsettings wayland xcb-util-keysyms xdg-user-dirs scim extra-cmake-modules intltool wayland-protocols xf86-input-libinput sddm-kcm bluedevil breeze-gtk drkonqi kde-gtk-config kdeplasma-addons kinfocenter kscreen ksshaskpass oxygen oxygen-sounds xdg-desktop-portal-kde breeze-grub flatpak-kcm falkon
|
||||
;;
|
||||
4)
|
||||
pacman -S --needed nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option. Please select 1, 2, 3 or 4."
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
echo "Activating SDDM..."
|
||||
echo
|
||||
systemctl enable sddm.service
|
||||
echo
|
||||
sleep 3
|
||||
echo "#############################################"
|
||||
echo " Installing nVidia Drivers "
|
||||
echo " Not for Hybrid only Single Modern GPU "
|
||||
echo " 'multilib' repo is required. Otherwise fail "
|
||||
echo "#############################################"
|
||||
echo
|
||||
# Function to install regular dkms NVIDIA drivers
|
||||
install_regular_dkms() {
|
||||
pacman -S --noconfirm --needed linux-headers nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader egl-wayland opencl-nvidia lib32-opencl-nvidia libvdpau-va-gl libvdpau
|
||||
}
|
||||
|
||||
# Function to install Open-DKMS NVIDIA drivers
|
||||
install_open_dkms() {
|
||||
pacman -S --noconfirm --needed linux-headers nvidia-open-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader egl-wayland opencl-nvidia lib32-opencl-nvidia libvdpau-va-gl libvdpau
|
||||
}
|
||||
|
||||
# Function to install Intel drivers
|
||||
install_intel() {
|
||||
pacman -S --noconfirm --needed mesa lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader intel-media-driver intel-gmmlib onevpl-intel-gpu mesa-vdpau lib32-mesa-vdpau gstreamer-vaapi libva-mesa-driver lib32-libva-mesa-driver intel-gmmlib
|
||||
}
|
||||
|
||||
# Detect NVIDIA GPU
|
||||
lspci_output="$(lspci | grep -oP '^.*VGA[^:]+:\s*\K.*NVIDIA.*\](?=\s*\(.*)' | sed -E 's/(\[)/\1[0;1;91m/g ; s/(\])/[0m\1/g' | grep -v '^\s*$' || :)"
|
||||
if [[ -n "${lspci_output:-}" ]]; then
|
||||
printf '%s\n' \
|
||||
'' \
|
||||
"The following nVidia GPU was detected :" \
|
||||
'' \
|
||||
"$lspci_output"
|
||||
echo
|
||||
# Prompt user to choose NVIDIA driver type
|
||||
read -p "Select driver to install. Enter 'r' for regular or 'o' for Open-DKMS : " driver_type
|
||||
|
||||
# Check user input and install corresponding drivers
|
||||
if [[ $driver_type == "r" ]]; then
|
||||
install_regular_dkms
|
||||
elif [[ $driver_type == "o" ]]; then
|
||||
install_open_dkms
|
||||
else
|
||||
echo "Invalid input. Please enter 'r' or 'o'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configuration steps common to NVIDIA driver types
|
||||
echo "Configuring Modules..."
|
||||
echo
|
||||
sed -i '/^MODULES=(/ s/)$/ nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
|
||||
sleep 3
|
||||
systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service nvidia-powerd.service
|
||||
sleep 3
|
||||
echo -e 'options nvidia NVreg_UsePageAttributeTable=1 NVreg_InitializeSystemMemoryAllocations=0 NVreg_DynamicPowerManagement=0x02' | tee -a /etc/modprobe.d/nvidia.conf
|
||||
echo -e 'options nvidia_drm modeset=1 fbdev=1' | tee -a /etc/modprobe.d/nvidia.conf
|
||||
mkinitcpio -P
|
||||
sleep 3
|
||||
else
|
||||
echo "${LF}Hello ${USER:=$(whoami)}, no nVidia GPUs detected. Defaulting to Intel drivers."
|
||||
echo
|
||||
install_intel
|
||||
# Check if dialog is installed, if not, install it
|
||||
if ! command -v dialog &> /dev/null; then
|
||||
echo "dialog is not installed. Installing dialog..."
|
||||
pacman -S --noconfirm dialog
|
||||
fi
|
||||
echo
|
||||
echo "##############################################"
|
||||
echo " Adding XeroLinux Repo, Bluetooth & More. "
|
||||
echo "##############################################"
|
||||
echo
|
||||
echo "Adding XeroLinux Repository..."
|
||||
echo
|
||||
echo -e '\n[xerolinux]\nSigLevel = Optional TrustAll\nServer = https://repos.xerolinux.xyz/$repo/$arch' | tee -a /etc/pacman.conf
|
||||
sed -i '/^\s*#\s*\[multilib\]/,/^$/ s/^#//' /etc/pacman.conf
|
||||
echo
|
||||
echo "Installing Paru/Toolkit..."
|
||||
echo
|
||||
pacman -Syy --noconfirm paru-bin xlapit-cli
|
||||
echo
|
||||
|
||||
# Function to install packages
|
||||
install_packages() {
|
||||
packages=$1
|
||||
pacman -S --needed --noconfirm $packages
|
||||
}
|
||||
|
||||
# Function to selectively install packages
|
||||
selective_install() {
|
||||
packages=$1
|
||||
pacman -S --needed $packages
|
||||
}
|
||||
|
||||
# Main menu using dialog
|
||||
main_menu() {
|
||||
CHOICE=$(dialog --stdout --title ">> XeroLinux Plasma Install <<" --menu "\nChoose how to install Plasma:" 15 60 4 \
|
||||
1 "Minimal : Minimal install (Older PCs)." \
|
||||
2 "Complete : Full Plasma install (All Packages)." \
|
||||
3 "Curated : Xero's Curated set of Plasma packages." \
|
||||
4 "Selective: Individual package selection (Advanced).")
|
||||
|
||||
case "$CHOICE" in
|
||||
1)
|
||||
install_packages "plasma-meta konsole kate dolphin ark plasma-workspace egl-wayland flatpak-kcm breeze-grub spectacle dolphin-plugins falkon nano"
|
||||
;;
|
||||
2)
|
||||
install_packages "nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk"
|
||||
;;
|
||||
3)
|
||||
install_packages "nano kf6 qt6 jq xmlstarlet plasma-desktop packagekit-qt6 packagekit dolphin kcron khelpcenter kio-admin ksystemlog breeze discover plasma-workspace plasma-workspace-wallpapers powerdevil plasma-nm kaccounts-integration kdeplasma-addons plasma-pa plasma-integration plasma-browser-integration plasma-wayland-protocols plasma-systemmonitor kpipewire keysmith krecorder kweather plasmatube plasma-pass ocean-sound-theme qqc2-breeze-style plasma5-integration kdeconnect kdenetwork-filesharing kget kio-extras kio-gdrive kio-zeroconf colord-kde gwenview kamera kcolorchooser kdegraphics-thumbnailers kimagemapeditor kolourpaint okular spectacle svgpart ark kate kcalc kcharselect kdebugsettings kdf kdialog keditbookmarks kfind kgpg konsole markdownpart yakuake audiotube elisa ffmpegthumbs plasmatube dolphin-plugins pim-data-exporter pim-sieve-editor emoji-font ttf-joypixels gcc-libs glibc icu kauth kbookmarks kcmutils kcodecs kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio kirigami kirigami-addons kitemmodels kitemviews kjobwidgets kmenuedit knewstuff knotifications knotifyconfig kpackage krunner kservice ksvg kwidgetsaddons kwindowsystem kxmlgui libcanberra libksysguard libplasma libx11 libxcb libxcursor libxi libxkbcommon libxkbfile plasma-activities plasma-activities-stats plasma5support polkit-kde-agent qt6-5compat qt6-base qt6-declarative qt6-wayland sdl2 solid sonnet systemsettings wayland xcb-util-keysyms xdg-user-dirs scim extra-cmake-modules intltool wayland-protocols xf86-input-libinput sddm-kcm bluedevil breeze-gtk drkonqi kde-gtk-config kdeplasma-addons kinfocenter kscreen ksshaskpass oxygen oxygen-sounds xdg-desktop-portal-kde breeze-grub flatpak-kcm falkon"
|
||||
;;
|
||||
4)
|
||||
selective_install "nano kf6 qt6 plasma-meta kde-applications-meta kdeconnect packagekit-qt6 kde-cli-tools kdeplasma-addons plasma-activities polkit-kde-agent flatpak-kcm bluedevil glib2 ibus kaccounts-integration kscreen libaccounts-qt plasma-nm plasma-pa scim extra-cmake-modules kaccounts-integration kdoctools libibus wayland-protocols plasma-applet-window-buttons plasma-workspace appmenu-gtk-module kwayland-integration plasma5-integration xdg-desktop-portal-gtk"
|
||||
;;
|
||||
*)
|
||||
if [ "$CHOICE" == "" ]; then
|
||||
clear
|
||||
exit 0
|
||||
else
|
||||
dialog --msgbox "Invalid option. Please select 1, 2, 3, or 4." 10 40
|
||||
main_menu
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Display main menu
|
||||
main_menu
|
||||
|
||||
# Prompt for adding XeroLinux repo using dialog
|
||||
if dialog --stdout --title "XeroLinux Repository" --yesno "Would you like to add the XeroLinux repository?" 10 40; then
|
||||
echo "Adding XeroLinux Repository..."
|
||||
echo -e '\n[xerolinux]\nSigLevel = Optional TrustAll\nServer = https://repos.xerolinux.xyz/$repo/$arch' | tee -a /etc/pacman.conf
|
||||
sed -i '/^\s*#\s*\[multilib\]/,/^$/ s/^#//' /etc/pacman.conf
|
||||
fi
|
||||
|
||||
# Prompt for installing Paru/Toolkit using dialog
|
||||
if dialog --stdout --title "Install Paru & Xero-Toolkit" --yesno "Would you like to install Paru & the Xero-Toolkit?" 10 40; then
|
||||
echo "Installing Paru/Toolkit..."
|
||||
pacman -Syy --noconfirm paru-bin xlapit-cli
|
||||
fi
|
||||
|
||||
echo "Installing PipeWire packages..."
|
||||
echo
|
||||
pacman -S --needed --noconfirm gstreamer gst-libav gst-plugins-bad gst-plugins-base gst-plugins-ugly gst-plugins-good libdvdcss alsa-utils alsa-firmware pavucontrol lib32-pipewire-jack libpipewire pipewire-v4l2 pipewire-x11-bell pipewire-zeroconf realtime-privileges sof-firmware ffmpeg ffmpegthumbs ffnvcodec-headers
|
||||
echo
|
||||
install_packages "gstreamer gst-libav gst-plugins-bad gst-plugins-base gst-plugins-ugly gst-plugins-good libdvdcss alsa-utils alsa-firmware pavucontrol lib32-pipewire-jack libpipewire pipewire-v4l2 pipewire-x11-bell pipewire-zeroconf realtime-privileges sof-firmware ffmpeg ffmpegthumbs ffnvcodec-headers"
|
||||
|
||||
echo "Installing Bluetooth packages..."
|
||||
echo
|
||||
pacman -S --needed --noconfirm bluez bluez-utils bluez-plugins bluez-hid2hci bluez-cups bluez-libs bluez-tools
|
||||
install_packages "bluez bluez-utils bluez-plugins bluez-hid2hci bluez-cups bluez-libs bluez-tools"
|
||||
systemctl enable bluetooth.service
|
||||
echo
|
||||
|
||||
echo "Adding support for OS-Prober"
|
||||
echo
|
||||
pacman -S --noconfirm --needed os-prober
|
||||
install_packages "os-prober"
|
||||
sed -i 's/#\s*GRUB_DISABLE_OS_PROBER=false/GRUB_DISABLE_OS_PROBER=false/' '/etc/default/grub'
|
||||
os-prober
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
echo
|
||||
sleep 3
|
||||
echo
|
||||
echo "Installing other useful applications..."
|
||||
echo
|
||||
pacman -S --needed --noconfirm meld timeshift elisa mpv gnome-disk-utility btop
|
||||
echo
|
||||
echo "Detecting if you are using a VM"
|
||||
echo
|
||||
result=$(systemd-detect-virt)
|
||||
|
||||
echo "Installing other useful applications..."
|
||||
install_packages "meld timeshift elisa mpv gnome-disk-utility btop"
|
||||
|
||||
echo "Detecting if you are using a VM"
|
||||
result=$(systemd-detect-virt)
|
||||
case $result in
|
||||
oracle)
|
||||
echo "Installing virtualbox-guest-utils..."
|
||||
pacman -S --noconfirm --needed virtualbox-guest-utils
|
||||
;;
|
||||
kvm)
|
||||
echo "Installing qemu-guest-agent and spice-vdagent..."
|
||||
pacman -S --noconfirm --needed qemu-guest-agent spice-vdagent qemu-hw-display-qxl xf86-video-qxl
|
||||
;;
|
||||
vmware)
|
||||
echo "Installing xf86-video-vmware and open-vm-tools..."
|
||||
pacman -S --noconfirm --needed xf86-video-vmware open-vm-tools xf86-input-vmmouse
|
||||
echo
|
||||
echo "Enabling vmtoolsd.service..."
|
||||
systemctl enable vmtoolsd.service
|
||||
;;
|
||||
*)
|
||||
echo "You are not running in a VM."
|
||||
exit 1
|
||||
;;
|
||||
oracle)
|
||||
echo "Installing virtualbox-guest-utils..."
|
||||
install_packages "virtualbox-guest-utils"
|
||||
;;
|
||||
kvm)
|
||||
echo "Installing qemu-guest-agent and spice-vdagent..."
|
||||
install_packages "qemu-guest-agent spice-vdagent qemu-hw-display-qxl xf86-video-qxl"
|
||||
;;
|
||||
vmware)
|
||||
echo "Installing xf86-video-vmware and open-vm-tools..."
|
||||
install_packages "xf86-video-vmware open-vm-tools xf86-input-vmmouse"
|
||||
systemctl enable vmtoolsd.service
|
||||
;;
|
||||
*)
|
||||
echo "You are not running in a VM."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
echo
|
||||
echo "#############################################"
|
||||
echo " Done, now exit and reboot "
|
||||
echo " For further customization, plz use XeroCLI. "
|
||||
echo "#############################################"
|
||||
sleep 6
|
||||
|
||||
dialog --msgbox "Installation Complete. Done, now exit and reboot. For further customization, if you opted to install our Toolkit, please find it in AppMenu under System or by typing xero-cli in terminal." 10 40
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue