This commit is contained in:
Your Name 2023-07-15 18:18:08 -06:00
parent 362001c0b3
commit 7cc348e1c6

View File

@ -39,7 +39,7 @@ FLATPAKS+=(io.exodus.Exodus com.nextcloud.desktopclient.nextcloud com.tutanota.T
#Packages
BASE_PACKAGES=" linux-image-amd64 grub-efi efibootmgr plymouth plymouth-themes btrfs-progs cryptsetup-initramfs linux-headers-amd64 firmware-iwlwifi firmware-linux firmware-linux-nonfree podman-compose podman-toolbox cockpit cockpit-podman packagekit cockpit-packagekit cockpit-storaged shfmt aardvark-dns power-profiles-daemon iptables-persistent resolvconf wireguard wireguard-tools nmap libsecret-tools libglu1-mesa preload flatpak powertop acpi btop inotify-tools debootstrap cups apt-transport-https samba samba-common nfs-common nfs-kernel-server linux-cpupower locales zram-tools acpid podman 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 "
#DESKTOP_ENV=" calligra print-manager plasma-discover-backend-flatpak kwin-addons kde-standard konsole dolphin kde-spectacle "
DESKTOP_ENV=" gnome gnome-tweaks gnome-software-plugin-flatpak gimp "
DESKTOP_ENV=" gnome gnome-shell-extension-gsconnect gnome-tweaks synaptic gimp "
SHARED_DESKTOP_APPS=" handbrake yt-dlp "
VIRTUALIZATION=" virt-manager qemu-system libvirt-daemon-system ovmf cockpit-machines"
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$DESKTOP_ENV
@ -58,7 +58,9 @@ partitionDetection() {
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)
BTRFS=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -3 | tail -1)
SWAP=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -4 | tail -1)
}
partitionDetection
auto_login() {
@ -70,11 +72,23 @@ auto_login() {
echo "Session=plasma.desktop" >>$TARGET/etc/sddm.conf.d/autologin
echo "Relogin=false" >>$TARGET/etc/sddm.conf.d/autologin
else
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 AutomaticLoginEnable=True' $TARGET/etc/gdm3/daemon.conf
sed -i "/daemon/a AutomaticLogin = $USER" $TARGET/etc/gdm3/daemon.conf
fi
}
hibernate-setup() {
echo "[Sleep]" >/etc/systemd/sleep.conf
echo "AllowSuspend=yes" >>/etc/systemd/sleep.conf
echo "AllowHibernation=yes" >>/etc/systemd/sleep.conf
echo "AllowSuspendThenHibernate=yes" >>/etc/systemd/sleep.conf
echo "HibernateState=disk" >>/etc/systemd/sleep.conf
echo "HibernateMode=shutdown" >>/etc/systemd/sleep.conf
echo "HibernateDelaySec=300" >>/etc/systemd/sleep.conf
echo "HandleLidSwitch=suspend-then-hibernate" >>/etc/systemd/logind.conf
echo "HandleLidSwitchExternalPower=suspend-then-hibernate" >>/etc/systemd/logind.conf
}
create-os-snapshots() {
echo
mkdir $2
@ -264,8 +278,28 @@ desktop() {
systemctl disable --now $i
done
apt -y purge apparmor
apt remove unattended-upgrades firefox-esr chromium chromium-common chromium-sandbox epiphany-browser epiphany-browser-data -y
if [[ $DESKTOP_ENV == *"plasma"* ]]; then
echo
echo "Performing KDE Bloat Removal"
echo
else
echo
echo "Performing GNOME Bloat Removal"
echo
chmod -x /usr/lib/evolution/evolution-calendar-factory
chmod -x /usr/lib/evolution/evolution-source-registry
chmod -x /usr/lib/evolution/evolution-addressbook-factory
chmod -x /usr/libexec/evolution-data-server/evolution-alarm-notify
mv /usr/lib/evolution-data-server /usr/lib/evolution-data-server-disabled
mv /usr/lib/evolution /usr/lib/evolution-disabled
BLOAT_APPS+=(iagno aisleriot gnome-mahjongg gnome-software lightsoff zutty gnome-taquin gnome-tetravex simple-scan gnome-text-editor gnome-chess gnome-contacts gnome-clocks unattended-upgrades apparmor gnome-sound-recorder hitori shotwell quadrapassel quadrapassel gnome-sudoku swell-foop gnome-maps transmission-gtk cheese libgnome-games-support-common firefox-esr chromium chromium-common chromium-sandbox epiphany-browser epiphany-browser-data)
for i in "${BLOAT_APPS[@]}"; do
echo "Removing: $i"
apt remove --purge -y $i
apt autoremove -y
done
fi
installBrowser
installElement
installCodium
@ -322,9 +356,10 @@ bootloader() {
fi
/sbin/update-initramfs -c -k all
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash\"" >/etc/default/grub
echo "GRUB_CMDLINE_LINUX=cryptdevice=UUID=$(/sbin/blkid | grep $BTRFS | cut -d '"' -f2):$ROOT_MAPPER_NAME root=UUID=$(/sbin/blkid | grep $ROOT_MAPPER_NAME | cut -d '"' -f4) rootflags=subvol@${ROOT_NAME} mitigations=-off" >>/etc/default/grub
echo "GRUB_CMDLINE_LINUX=resume=UUID=$(/sbin/blkid | grep $SWAP | cut -d '"' -f2) cryptdevice=UUID=$(/sbin/blkid | grep $BTRFS | cut -d '"' -f2):$ROOT_MAPPER_NAME root=UUID=$(/sbin/blkid | grep $ROOT_MAPPER_NAME | cut -d '"' -f4) rootflags=subvol@${ROOT_NAME} mitigations=-off" >>/etc/default/grub
echo "GRUB_ENABLE_CRYPTODISK=n" >>/etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >>/etc/default/grub
echo "GRUB_TIMEOUT=1" >>/etc/default/grub
/sbin/grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian
/sbin/update-grub
fi
@ -334,6 +369,7 @@ bootloader() {
function setup_script() {
cp -f debian.sh $TARGET/usr/bin/
#sed -i 's/most/dep/i' $TARGET/etc/initramfs-tools/initramfs.conf
echo 'bash /usr/bin/debian.sh hibernate' >>$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 grub-snapshots' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh accounts' >>$TARGET/setup.sh
@ -375,10 +411,16 @@ installBrowser() {
#apt install brave-browser -y
#Vivaldi
curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor | tee /usr/share/keyrings/vivaldi.gpg > /dev/null
echo deb [arch=amd64,armhf signed-by=/usr/share/keyrings/vivaldi.gpg] https://repo.vivaldi.com/archive/deb/ stable main | sudo tee /etc/apt/sources.list.d/vivaldi.list
apt update
apt install -y vivaldi-stable
#curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor | tee /usr/share/keyrings/vivaldi.gpg >/dev/null
#echo deb [arch=amd64,armhf signed-by=/usr/share/keyrings/vivaldi.gpg] https://repo.vivaldi.com/archive/deb/ stable main | sudo tee /etc/apt/sources.list.d/vivaldi.list
#apt update
#apt install -y vivaldi-stable
#Edge
curl -fSsL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /usr/share/keyrings/microsoft-edge.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/microsoft-edge.gpg] https://packages.microsoft.com/repos/edge stable main' | tee /etc/apt/sources.list.d/microsoft-edge.list
apt update -y
apt install microsoft-edge-stable -y
}
installElement() {
@ -435,6 +477,7 @@ partitions() {
echo y | mkfs.vfat $EFI
echo "Formatting $BOOT"
echo y | mkfs.ext4 $BOOT
mkswap -f $SWAP
mounts
fstab
else
@ -460,6 +503,7 @@ fstab() {
echo "/dev/mapper/$ROOT_MAPPER_NAME /home btrfs noatime,nodiratime,autodefrag,$COMPRESSION,subvol=@home 0 1" >>$TARGET/etc/fstab
echo "/dev/mapper/$ROOT_MAPPER_NAME /root btrfs noatime,nodiratime,autodefrag,$COMPRESSION,subvol=@root 0 1" >>$TARGET/etc/fstab
echo "/dev/mapper/$ROOT_MAPPER_NAME /var/lib/containers btrfs noatime,nodiratime,autodefrag,$COMPRESSION,subvol=@containers 0 1" >>$TARGET/etc/fstab
echo "/dev/mapper/$SWAP none swap 0 0" >>$TARGET/etc/fstab
}
accounts() {
@ -507,7 +551,8 @@ initialize-disk() {
parted -a optimal /dev/$HARD_DISK mkpart primary fat32 1MiB 200MiB
parted -a optimal /dev/$HARD_DISK mkpart primary ext3 200MiB 700MiB
parted -a optimal /dev/$HARD_DISK set 1 esp on
parted -a optimal /dev/$HARD_DISK mkpart P2 ext3 700MiB 100%
parted -a optimal /dev/$HARD_DISK mkpart P2 ext3 700MiB 98%
parted -a optimal /dev/$HARD_DISK mkpart P2 ext3 98% 100%
partitionDetection
printf "$DISK_PASSWORD\n$DISK_PASSWORD" | cryptsetup luksFormat ${BTRFS}
printf "$DISK_PASSWORD" | cryptsetup open ${BTRFS} $ROOT_MAPPER_NAME
@ -659,6 +704,8 @@ elif [ "$1" = "wifi" ]; then
wifi
elif [ "$1" = "accounts" ]; then
accounts
elif [ "$1" = "hibernate" ]; then
hibernate-setup
elif [ "$1" = "flatpaks" ]; then
flatpaks
elif [ "$1" = "bootloader" ]; then