This commit is contained in:
Your Name 2024-08-05 00:00:55 -06:00
parent f125077b01
commit ccfdda300e

274
debian.sh
View File

@ -6,7 +6,7 @@
# 1. BTRFS with Grub Snapshots # 1. BTRFS with Grub Snapshots
# 2. Full-disk-encryption # 2. Full-disk-encryption
# 3. Hibernation # 3. Hibernation
# 4. GNOME or KDE Desktop # 4. Hyprland, GNOME or KDE Desktop
# 5. The ability to build a custom and deployable image onto any machine # 5. The ability to build a custom and deployable image onto any machine
# 6. Easily create a bootable USB drive # 6. Easily create a bootable USB drive
# 7. Automatic Partitioning # 7. Automatic Partitioning
@ -47,9 +47,11 @@ AUTO_DECRYPT='False'
DESKTOP="GNOME" DESKTOP="GNOME"
BROWSER="librewolf" BROWSER="librewolf"
#Packages #Packages
BASE_PACKAGES=" syncthing tor firmware-realtek screenfetch linux-image-amd64 grub-efi efibootmgr plymouth plymouth-themes duperemove btrfs-compsize btrfs-progs cryptsetup-initramfs linux-headers-amd64 firmware-iwlwifi firmware-linux firmware-linux-nonfree packagekit cockpit-packagekit cockpit-storaged shfmt aardvark-dns power-profiles-daemon resolvconf wireguard wireguard-tools nmap libsecret-tools libglu1-mesa preload powertop acpi btop inotify-tools debootstrap cups apt-transport-https samba samba-common nfs-common nfs-kernel-server linux-cpupower locales zram-tools acpid ghostscript cifs-utils ntp vim-airline rsync screen base udev git network-manager cryptsetup network-manager-openvpn ntp screen docbook-xsl alsa-utils sysstat fuse3 build-essential unzip bash-completion parted dosfstools wget curl " BASE_PACKAGES=" nyx syncthing tor firmware-realtek screenfetch linux-image-amd64 grub-efi efibootmgr plymouth plymouth-themes duperemove btrfs-compsize btrfs-progs cryptsetup-initramfs linux-headers-amd64 firmware-iwlwifi firmware-linux firmware-linux-nonfree packagekit cockpit-packagekit cockpit-storaged shfmt aardvark-dns power-profiles-daemon resolvconf wireguard wireguard-tools nmap libsecret-tools libglu1-mesa preload powertop acpi btop inotify-tools debootstrap cups apt-transport-https samba samba-common nfs-common nfs-kernel-server linux-cpupower locales zram-tools acpid ghostscript cifs-utils ntp vim-airline rsync screen base udev git network-manager cryptsetup network-manager-openvpn ntp screen docbook-xsl alsa-utils sysstat fuse3 build-essential unzip bash-completion parted dosfstools wget curl "
KDE_DESKTOP_ENV=" krita libdbus-glib-1-2 korganizer print-manager kwin-addons kde-standard konsole dolphin kde-spectacle " KDE_DESKTOP_ENV=" krita libdbus-glib-1-2 korganizer print-manager kwin-addons kde-standard konsole dolphin kde-spectacle "
GNOME_DESKTOP_ENV=" gnome-calendar xournalpp gnome-core gdm3 gnome-shell-extension-tiling-assistant gnome-tweaks synaptic " GNOME_DESKTOP_ENV=" gnome-calendar xournalpp gnome-core gdm3 gnome-shell-extension-tiling-assistant gnome-tweaks synaptic "
HYPRLAND_DESKTOP_ENV=" wl-clipboard grim slurp hyprpaper network-manager-gnome pavucontrol wofi kitty thunar waybar swayidle xdg-desktop-portal-gtk wlogout "
SWAY_DESKTOP_ENV=" sway xwayland xdg-desktop-portal-wlr wl-clipboard grim slurp network-manager-gnome pavucontrol wofi thunar waybar swayidle xdg-desktop-portal-gtk wlogout "
SHARED_DESKTOP_APPS=" krita obs-studio keepassxc telegram-desktop handbrake vlc yt-dlp " SHARED_DESKTOP_APPS=" krita obs-studio keepassxc telegram-desktop handbrake vlc yt-dlp "
VIRTUALIZATION=" virt-manager qemu-system libvirt-daemon-system ovmf cockpit-machines" VIRTUALIZATION=" virt-manager qemu-system libvirt-daemon-system ovmf cockpit-machines"
PACKAGES="" PACKAGES=""
@ -58,6 +60,7 @@ SWAP_CHOICE=""
partitionDetection() { partitionDetection() {
#This is used for the installer to do script-based actions #This is used for the installer to do script-based actions
/usr/sbin/blkid -p /dev/$HARD_DISK
EFI=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -1 | tail -1) EFI=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -1 | tail -1)
BOOT=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -2 | tail -1) BOOT=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -2 | tail -1)
BTRFS=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -3 | tail -1) BTRFS=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -3 | tail -1)
@ -66,6 +69,196 @@ partitionDetection() {
partitionDetection partitionDetection
buildHyprland() {
DEPS=(
build-essential
cmake
cmake-extras
curl
gawk
gettext
gir1.2-graphene-1.0
git
glslang-tools
gobject-introspection
golang
hwdata
jq
libavcodec-dev
libavformat-dev
libavutil-dev
libcairo2-dev
libdeflate-dev
libdisplay-info-dev
libdrm-dev
libegl1-mesa-dev
libgbm-dev
libgdk-pixbuf-2.0-dev
libgdk-pixbuf2.0-bin
libgirepository1.0-dev
libgl1-mesa-dev
libgraphene-1.0-0
libgraphene-1.0-dev
libgtk-3-dev
libgulkan-0.15-0t64
libgulkan-dev
libinih-dev
libinput-dev
libjbig-dev
libjpeg-dev
libjpeg62-turbo-dev
liblerc-dev
libliftoff-dev
liblzma-dev
libnotify-bin
libpam0g-dev
libpango1.0-dev
libpipewire-0.3-dev
libqt6svg6
libseat-dev
libstartup-notification0-dev
libswresample-dev
libsystemd-dev
libtiff-dev
libtiffxx6
libtomlplusplus-dev
libudev-dev
libvkfft-dev
libvulkan-dev
libvulkan-volk-dev
libwayland-dev
libwebp-dev
libxcb-composite0-dev
libxcb-cursor-dev
libxcb-dri3-dev
libxcb-ewmh-dev
libxcb-icccm4-dev
libxcb-present-dev
libxcb-render-util0-dev
libxcb-res0-dev
libxcb-util-dev
libxcb-xinerama0-dev
libxcb-xinput-dev
libxcb-xkb-dev
libxkbcommon-dev
libxkbcommon-x11-dev
libxkbregistry-dev
libxml2-dev
libxxhash-dev
meson
ninja-build
openssl
psmisc
python3-mako
python3-markdown
python3-markupsafe
python3-yaml
python3-pyquery
qt6-base-dev
scdoc
seatd
spirv-tools
vulkan-validationlayers
vulkan-utility-libraries-dev
wayland-protocols
xdg-desktop-portal
xwayland
libsdbus-c++-dev
libzip-dev
librsvg2-dev
libpugixml-dev
libxcb-errors-dev
bison
flex
pandoc
doxygen
cppcheck
libmpdclient-dev
libnl-3-dev
libasound2-dev
)
for i in "${DEPS[@]}"; do
apt install -y $i
done
cd /tmp
git clone https://github.com/hyprwm/hyprutils.git --depth=1
cd hyprutils/
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
cmake --install build
cd /tmp
git clone https://github.com/hyprwm/hyprlang.git --depth=1
cd hyprlang/
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target hyprlang -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
cmake --install build
cd /tmp
git clone https://github.com/hyprwm/hyprcursor.git --depth=1
cd hyprcursor
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
cmake --install build
cd /tmp
git clone https://github.com/hyprwm/hyprwayland-scanner.git --depth=1
cd hyprwayland-scanner
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build -j $(nproc)
cmake --install build
cd /tmp
git clone https://github.com/hyprwm/aquamarine.git --depth=1
cd aquamarine
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
cmake --install build
cd /tmp
git clone --recursive https://github.com/hyprwm/Hyprland.git --depth=1
cd Hyprland
make all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
make install -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
cd /tmp
git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland --depth=1
cd xdg-desktop-portal-hyprland/
sudo sed -i '8,9 s/^/#/'./src/shared/ScreencopyShared.hpp
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build
cmake --install build
cd /tmp
git clone https://github.com/lbonn/rofi.git --depth=1
cd rofi
meson setup build
ninja -C build
ninja -C build install
}
torConfig() {
echo "Configuring TOR"
echo
echo "EntryNodes {us}" >/etc/tor/torrc
echo "ExitNodes {us}" >>/etc/tor/torrc
echo "AvoidDiskWrites 1" >>/etc/tor/torrc
echo "HardwareAccel 1" >>/etc/tor/torrc
echo "NumCPUs 4" >>/etc/tor/torrc
chown -R debian-tor:debian-tor /etc/tor
}
autoLoginGetty() {
GETTY_DIR="$TARGET/etc/systemd/system/getty@tty1.service.d"
GETTY="$GETTY_DIR/override.conf"
mkdir -p $GETTY_DIR
echo "[Service]" >$GETTY
echo "ExecStart=" >>$GETTY
echo "ExecStart=-/sbin/agetty --autologin $USER --noclear %I /usr/bin/bash" >>$GETTY
}
auto_login() { auto_login() {
if [ -f "$TARGET/usr/bin/sddm" ]; then if [ -f "$TARGET/usr/bin/sddm" ]; then
@ -76,6 +269,14 @@ auto_login() {
echo "Relogin=false" >>$TARGET/etc/sddm.conf.d/autologin echo "Relogin=false" >>$TARGET/etc/sddm.conf.d/autologin
fi fi
if [ -f "$TARGET/usr/bin/hyprland" ]; then
autoLoginGetty
fi
if [ -f "$TARGET/usr/bin/sway" ]; then
autoLoginGetty
fi
if [ -f "$TARGET/usr/sbin/gdm3" ]; then if [ -f "$TARGET/usr/sbin/gdm3" ]; then
sed -i '/daemon/a AutomaticLoginEnable=True' $TARGET/etc/gdm3/daemon.conf sed -i '/daemon/a AutomaticLoginEnable=True' $TARGET/etc/gdm3/daemon.conf
sed -i "/daemon/a AutomaticLogin = $USER" $TARGET/etc/gdm3/daemon.conf sed -i "/daemon/a AutomaticLogin = $USER" $TARGET/etc/gdm3/daemon.conf
@ -176,11 +377,17 @@ liveOSrestore() {
echo echo
rm -f $TARGET/boot/* rm -f $TARGET/boot/*
rsync -av --delete /boot/ $TARGET/boot/ rsync -av --delete /boot/ $TARGET/boot/
echo "bash /usr/bin/debian.sh bootloader $1 $5 $2" >$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh accounts' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh btrfsTweaks' >>$TARGET/setup.sh
chmod +x $TARGET/usr/bin/debian.sh chmod +x $TARGET/usr/bin/debian.sh
chroot $TARGET /usr/bin/debian.sh bootloader $1 $5 $2 chmod +x $TARGET/setup.sh
chroot $TARGET /usr/bin/debian.sh btrfsTweaks chroot $TARGET /setup.sh
chroot $TARGET /usr/bin/debian.sh accounts rm -f $TARGET/setup.sh
read -p 'Would you like to run your UserTweaks? :' -e -i 'y' user_tweaks
read -p 'Would you like to run your UserTweaks: ' -e -i 'y' user_tweaks
if [[ $user_tweaks = *y* ]]; then if [[ $user_tweaks = *y* ]]; then
userTweaks userTweaks
@ -198,15 +405,28 @@ liveOSrestore() {
userTweaks() { userTweaks() {
mkdir $TARGET/home/$USER/.librewolf mkdir $TARGET/home/$USER/.librewolf
mkdir -p $TARGET/home/$USER/.config/waybar
mkdir -p $TARGET/home/$USER/.config/sway
mkdir -p $TARGET/home/$USER/.config/autostart mkdir -p $TARGET/home/$USER/.config/autostart
mkdir -p $TARGET/home/$USER/.config/hypr
mkdir -p $TARGET/home/$USER/.config/rofi
mkdir -p $TARGET/home/$USER/Documents/keys/keepass mkdir -p $TARGET/home/$USER/Documents/keys/keepass
mkdir -p $TARGET/home/$USER/dotfiles mkdir -p $TARGET/home/$USER/dotfiles
mkdir -p $TARGET/home/$USER/server mkdir -p $TARGET/home/$USER/server
mkdir -p $TARGET/home/$USER/.config/Exodus mkdir -p $TARGET/home/$USER/.config/Exodus
mkdir -p $TARGET/home/$USER/.config/evolution mkdir -p $TARGET/home/$USER/.config/evolution
mkdir -p $TARGET/home/$USER/.config/goa-1.0 mkdir -p $TARGET/home/$USER/.config/goa-1.0
mkdir -p $TARGET/home/$USER/.local/share/fonts
$TARGET/home/$USER/.local/share/fonts/
cp -f /home/$USER/.bash* $TARGET/home/$USER/
rsync -av --delete /home/$USER/server/ $TARGET/home/$USER/server/ rsync -av --delete /home/$USER/server/ $TARGET/home/$USER/server/
rsync -av --delete /home/$USER/.local/share/fonts/ $TARGET/home/$USER/.local/share/fonts/
rsync -av --delete /home/$USER/.config/hypr/ $TARGET/home/$USER/.config/hypr/
rsync -av --delete /home/$USER/.config/sway/ $TARGET/home/$USER/.config/sway/
rsync -av --delete /home/$USER/.config/waybar/ $TARGET/home/$USER/.config/waybar/
rsync -av --delete /home/$USER/.config/rofi/ $TARGET/home/$USER/.config/rofi/
rsync -av --delete /home/$USER/.config/Exodus/ $TARGET/home/$USER/.config/Exodus/ rsync -av --delete /home/$USER/.config/Exodus/ $TARGET/home/$USER/.config/Exodus/
rsync -av --delete /home/$USER/.config/evolution/ $TARGET/home/$USER/.config/evolution/ rsync -av --delete /home/$USER/.config/evolution/ $TARGET/home/$USER/.config/evolution/
rsync -av --delete /home/$USER/.config/goa-1.0/ $TARGET/home/$USER/.config/goa-1.0/ rsync -av --delete /home/$USER/.config/goa-1.0/ $TARGET/home/$USER/.config/goa-1.0/
@ -302,6 +522,9 @@ makeImage() {
echo "bash /usr/bin/debian.sh bootloader $1 $ROOT_NAME $ROOT_MAPPER_NAME" >>$TARGET/setup.sh echo "bash /usr/bin/debian.sh bootloader $1 $ROOT_NAME $ROOT_MAPPER_NAME" >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh grubSnapshotss' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh grubSnapshotss' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh desktop' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh desktop' >>$TARGET/setup.sh
if [[ $DESKTOP = *Hyprland* ]]; then
echo 'bash /usr/bin/debian.sh buildHyprland' >>$TARGET/setup.sh
fi
echo '/usr/bin/apt clean all' >>$TARGET/setup.sh echo '/usr/bin/apt clean all' >>$TARGET/setup.sh
chmod +x $TARGET/usr/bin/debian.sh chmod +x $TARGET/usr/bin/debian.sh
chmod +x $TARGET/setup.sh chmod +x $TARGET/setup.sh
@ -356,13 +579,14 @@ stableDiffusion() {
clear clear
VERSION="3.10.6" VERSION="3.10.6"
STABLE_VERSION="1.10.0-RC" STABLE_VERSION="1.10.0-RC"
#installPython installPython
cd /home/$USER cd /home/$USER
wget https://github.com/AUTOMATIC1111/stable-diffusion-webui/archive/refs/tags/v$STABLE_VERSION.zip wget https://github.com/AUTOMATIC1111/stable-diffusion-webui/archive/refs/tags/v$STABLE_VERSION.zip
unzip "v$STABLE_VERSION.zip" unzip "v$STABLE_VERSION.zip"
cd /home/$USER/stable-diffusion-webui-$STABLE_VERSION cd /home/$USER/stable-diffusion-webui-$STABLE_VERSION
/usr/local/bin/python3.10 -m venv venv /usr/local/bin/python3.10 -m venv venv
chown -R root:root /home/$USER/stable-diffusion-webui-$STABLE_VERSION chown -R root:root /home/$USER/stable-diffusion-webui-$STABLE_VERSION
. venv/bin/activate
} }
desktop() { desktop() {
@ -405,6 +629,8 @@ desktop() {
installLibreWolf installLibreWolf
installCodium installCodium
installSteam installSteam
torConfig
if [[ $SWAP_CHOICE = *y* ]]; then if [[ $SWAP_CHOICE = *y* ]]; then
hibernation hibernation
fi fi
@ -454,7 +680,7 @@ bootloader() {
ROOT_MAPPER_NAME="$3" ROOT_MAPPER_NAME="$3"
ROOT_NAME="$2" ROOT_NAME="$2"
#plymouth-set-default-theme -r #plymouth-set-default-theme -r
/sbin/plymouth-set-default-theme spacefun --rebuild-initrd /sbin/plymouth-set-default-theme solar --rebuild-initrd
echo "$ROOT_MAPPER_NAME UUID=$(/sbin/blkid | grep $BTRFS | cut -d '"' -f2) none luks" >/etc/crypttab echo "$ROOT_MAPPER_NAME UUID=$(/sbin/blkid | grep $BTRFS | cut -d '"' -f2) none luks" >/etc/crypttab
if [ "$AUTO_DECRYPT" == "True" ]; then if [ "$AUTO_DECRYPT" == "True" ]; then
decryptBoot "${BTRFS}" decryptBoot "${BTRFS}"
@ -469,7 +695,14 @@ bootloader() {
echo "GRUB_ENABLE_CRYPTODISK=n" >>/etc/default/grub echo "GRUB_ENABLE_CRYPTODISK=n" >>/etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >>/etc/default/grub echo "GRUB_DISABLE_OS_PROBER=true" >>/etc/default/grub
echo "GRUB_TIMEOUT=1" >>/etc/default/grub echo "GRUB_TIMEOUT=1" >>/etc/default/grub
echo
echo
read -p 'Install GRUB to a removable DRIVE: ' -e -i "n" REMOVEABLE
if [[ $REMOVEABLE = *y* ]]; then
/sbin/grub-install --removable --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian /sbin/grub-install --removable --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian
else
/sbin/grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian
fi
/sbin/update-grub /sbin/update-grub
fi fi
@ -483,6 +716,9 @@ setupScript() {
echo 'bash /usr/bin/debian.sh grubSnapshotss' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh grubSnapshotss' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh accounts' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh accounts' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh desktop' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh desktop' >>$TARGET/setup.sh
if [[ $DESKTOP = *Hyprland* ]]; then
echo 'bash /usr/bin/debian.sh buildHyprland' >>$TARGET/setup.sh
fi
echo 'bash /usr/bin/debian.sh btrfsTweaks' >>$TARGET/setup.sh echo 'bash /usr/bin/debian.sh btrfsTweaks' >>$TARGET/setup.sh
chmod +x $TARGET/usr/bin/debian.sh chmod +x $TARGET/usr/bin/debian.sh
@ -526,6 +762,7 @@ Signed-By: /usr/share/keyrings/librewolf.gpg
EOF EOF
apt update apt update
apt install -y librewolf apt install -y librewolf
apt remove firefox-esr -y
} }
installSteam() { installSteam() {
@ -624,6 +861,7 @@ accounts() {
gpasswd -a $USER libvirt gpasswd -a $USER libvirt
gpasswd -a $USER netdev gpasswd -a $USER netdev
gpasswd -a $USER adm gpasswd -a $USER adm
gpasswd -a $USER debian-tor
echo "$USER ALL=(ALL) ALL" >/etc/sudoers echo "$USER ALL=(ALL) ALL" >/etc/sudoers
echo "root ALL=(ALL) ALL" >>/etc/sudoers echo "root ALL=(ALL) ALL" >>/etc/sudoers
echo echo
@ -780,9 +1018,13 @@ tweaks() {
read -p 'Location to Store Image: ' -e -i "/home/$USER" image_directory read -p 'Location to Store Image: ' -e -i "/home/$USER" image_directory
read -p 'Image File Name: ' -e -i "debian" ROOT_NAME read -p 'Image File Name: ' -e -i "debian" ROOT_NAME
read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE
read -p 'KDE or GNOME: ' -e -i "GNOME" DESKTOP read -p 'Sway, Hyprland, KDE, or GNOME: ' -e -i "sway" DESKTOP
if [[ $DESKTOP = *KDE* ]]; then if [[ $DESKTOP = *KDE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV$VIRTUALIZATION PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV$VIRTUALIZATION
elif [[ $DESKTOP = *sway* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$SWAY_DESKTOP_ENV$VIRTUALIZATION
elif [[ $DESKTOP = *Hyprland* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$HYPRLAND_DESKTOP_ENV$VIRTUALIZATION
else else
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV$VIRTUALIZATION PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV$VIRTUALIZATION
fi fi
@ -831,11 +1073,15 @@ menu() {
echo echo
echo echo
read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE
read -p 'KDE or GNOME: ' -e -i "GNOME" DESKTOP read -p 'Sway, Hyprland, KDE, or GNOME: ' -e -i "sway" DESKTOP
if [[ $DESKTOP = *KDE* ]]; then if [[ $DESKTOP = *KDE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV$VIRTUALIZATION
elif [[ $DESKTOP = *sway* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$SWAY_DESKTOP_ENV$VIRTUALIZATION
elif [[ $DESKTOP = *Hyprland* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$HYPRLAND_DESKTOP_ENV$VIRTUALIZATION
else else
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV$VIRTUALIZATION
fi fi
setDevices setDevices
install "$HARD_DISK" install "$HARD_DISK"
@ -939,12 +1185,16 @@ elif [ "$1" = "flatpaks" ]; then
flatpaks flatpaks
elif [ "$1" = "bootloader" ]; then elif [ "$1" = "bootloader" ]; then
bootloader "$2" "$3" "$4" bootloader "$2" "$3" "$4"
elif [ "$1" = "buildHyprland" ]; then
buildHyprland
elif [ "$1" = "snapshot" ]; then elif [ "$1" = "snapshot" ]; then
snapshots snapshots
elif [ "$1" = "grubSnapshotss" ]; then elif [ "$1" = "grubSnapshotss" ]; then
grubSnapshotss grubSnapshotss
elif [ "$1" = "btrfsTweaks" ]; then elif [ "$1" = "btrfsTweaks" ]; then
btrfsTweaks btrfsTweaks
elif [ "$1" = "tor" ]; then
torConfig
elif [ "$1" = "remove-snapshot" ]; then elif [ "$1" = "remove-snapshot" ]; then
removeSnapshots removeSnapshots
elif [ "$1" = "help" ]; then elif [ "$1" = "help" ]; then