This commit is contained in:
Your Name 2024-07-05 21:23:42 -06:00
parent 77bf0142c7
commit 54a76c534b

View File

@ -43,8 +43,8 @@ DISK_PASSWORD='123456'
COMPRESSION='compress=zstd:10'
AUTO_DECRYPT='True'
FLATPAKS+=(io.exodus.Exodus us.zoom.Zoom)
DESKTOP="KDE"
BROWSER="firefox"
DESKTOP="GNOME"
BROWSER="firefox-esr"
#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 iptables-persistent 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 "
@ -52,10 +52,11 @@ XFCE_DESKTOP_ENV=" xfce4 xfce4-goodies xfce4-whiskermenu-plugin xfce4-pulseaudio
CINNAMON_DESKTOP_ENV=" cinnamon slim gimp gnome-screenshot gimp "
GNOME_DESKTOP_ENV=" gnome-calendar xournalpp gnome-core gdm3 gnome-shell-extension-arc-menu gnome-shell-extension-desktop-icons-ng gnome-shell-extension-tiling-assistant gnome-shell-extension-no-annoyance gnome-shell-extension-dash-to-panel gnome-shell-extension-weather gnome-shell-extension-dashtodock gnome-shell-extension-appindicator gnome-tweaks synaptic gimp "
SHARED_DESKTOP_APPS=" 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=""
TAR_EXCLUDES=" --exclude=/.snapshots --exclude=/snapshots --exclude=/var/backups --exclude=/volumes/* --exclude=/mnt/* --exclude=/var/tmp/* --exclude=/tmp/* --exclude=/raid/* --exclude=/root/* --exclude=/var/cache/apt/archives/* --exclude=/proc/* --exclude=/.snapshots/* --exclude=/var/lib/libvirt/* --exclude=/dev/* --exclude=/sys/* --exclude=/home/* --exclude=/var/lib/postgresql --exclude=/var/lib/containers "
partitionDetection() {
#This is used for the installer to do script-based actions
EFI=$(blkid | grep $HARD_DISK | sort | cut -d ":" -f1 | head -1 | tail -1)
@ -213,23 +214,15 @@ decryptBoot() {
configure-repository() {
echo 'force-unsafe-io' >$TARGET/etc/dpkg/dpkg.cfg.d/docker-apt-speedup
if [ "$DEBIAN_RELEASE" == "testing" ]; then
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE main contrib non-free non-free-firmware" >$TARGET/etc/apt/sources.list
chroot $TARGET /usr/bin/apt update
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $PACKAGES "
else
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE main contrib non-free non-free-firmware" >$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian-security $DEBIAN_RELEASE-security main" >>$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-updates main " >>$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-backports main contrib non-free-firmware" >>$TARGET/etc/apt/sources.list
chroot $TARGET /usr/bin/apt update
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $PACKAGES "
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt dist-upgrade -y -t $DEBIAN_RELEASE-backports"
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $TROUBLESOME_PACKAGES"
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt auto-remove -y"
fi
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE main contrib non-free non-free-firmware" >$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian-security $DEBIAN_RELEASE-security main" >>$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-updates main " >>$TARGET/etc/apt/sources.list
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-backports main contrib non-free-firmware" >>$TARGET/etc/apt/sources.list
chroot $TARGET /usr/bin/apt update
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $PACKAGES "
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt dist-upgrade -y -t $DEBIAN_RELEASE-backports"
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $TROUBLESOME_PACKAGES"
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt auto-remove -y"
#echo 'DPkg::Post-Invoke {"/usr/bin/debian.sh snapshot";};' >$TARGET/etc/apt/apt.conf
}
@ -281,6 +274,21 @@ install() {
unmount
}
installStableDiffusion(){
VERSION="3.11"
apt update
apt install -y python$VERSION python$VERSION-venv
apt update
apt install -y $STABLE_DIFFUSION
cd /opt
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
python3.11 -m venv venv
source venv/bin/activate
python3.11 -m pip install --upgrade pip wheel
TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python launch.py --precision full --no-half
}
desktop() {
SERVICES+=(pmcd pmie pmlogger pmproxy exim4 cockpit.socket apparmor nfs-server smbd rpbind rpcbind.socket avahi-daemon bluetooth)
for i in "${SERVICES[@]}"; do
@ -327,7 +335,7 @@ desktop() {
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+=(evolution )
BLOAT_APPS+=(evolution)
for i in "${BLOAT_APPS[@]}"; do
echo "Removing: $i"
apt remove --purge -y $i
@ -336,7 +344,6 @@ desktop() {
fi
installBrowser
#installElement
installCodium
installSteam
hibernate-setup
@ -441,17 +448,21 @@ installCodium() {
}
installFirefoxNightly() {
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc >/dev/null
gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}'
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | tee -a /etc/apt/sources.list.d/mozilla.list >/dev/null
apt update
apt install firefox-nightly -y
}
installFirefoxESR() {
apt install -y firefox-esr
}
installFirefox() {
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc >/dev/null
gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}'
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | tee -a /etc/apt/sources.list.d/mozilla.list >/dev/null
apt update
apt install firefox -y
}
@ -501,6 +512,8 @@ installBrowser() {
installBrave
elif [ "$BROWSER" = "edge" ]; then
installEdge
elif [ "$BROWSER" = "firefox-esr" ]; then
installFirefoxESR
elif [ "$BROWSER" = "firefox" ]; then
installFirefox
elif [ "$BROWSER" = "firefox-nightly" ]; then
@ -512,13 +525,6 @@ installBrowser() {
fi
}
installElement() {
wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | tee /etc/apt/sources.list.d/element-io.list
apt update
apt install -y element-desktop
}
mounts() {
echo
echo "Mounting......."
@ -600,6 +606,7 @@ accounts() {
echo
echo "Set Password for $USER"
useradd -m -s /bin/bash $USER
chown -R $USER:$USER /home/$USER
echo "$USER:$USER_PASSWORD" | chpasswd
gpasswd -a $USER wheel
gpasswd -a $USER network
@ -613,8 +620,6 @@ accounts() {
echo "Setting ROOT Password:"
echo "root:$ROOT_PASSWORD" | chpasswd
/usr/bin/hostnamectl set-hostname $ROOT_NAME
#echo "$USER_PASSWORD" | chsh -s /usr/bin/zsh $USER
#echo "$ROOT_PASSWORD" | chsh -s /usr/bin/zsh root
}
btrfs-tweaks() {
@ -708,15 +713,15 @@ tweaks() {
read -p 'Location to Store Image: ' -e -i "/home/$USER" image_directory
read -p 'Image File Name: ' -e -i "debian" ROOT_NAME
read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "KDE" DESKTOP
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "GNOME" DESKTOP
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 = *XFCE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$XFCE_DESKTOP_ENV
elif [[ $DESKTOP = *CINNAMON* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$CINNAMON_DESKTOP_ENV
else
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV$VIRTUALIZATION
fi
ROOT_MAPPER_NAME="/dev/foo"
make-image "$image_directory"
@ -753,7 +758,7 @@ menu() {
echo
echo
read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "KDE" DESKTOP
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "GNOME" DESKTOP
if [[ $DESKTOP = *KDE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV
elif [[ $DESKTOP = *XFCE* ]]; then
@ -841,6 +846,8 @@ elif [ "$1" = "upgrade-system" ]; then
upgrade-system
elif [ "$1" = "wifi" ]; then
wifi
elif [ "$1" = "stable-diffusion" ]; then
stableDiffusion
elif [ "$1" = "accounts" ]; then
accounts
elif [ "$1" = "hibernate" ]; then