This commit is contained in:
Your Name 2023-07-31 18:43:02 -06:00
parent 2091536535
commit 74da4397c1

105
debian.sh
View File

@ -43,14 +43,15 @@ DISK_PASSWORD='123456'
COMPRESSION='compress=zstd:10'
AUTO_DECRYPT='True'
FLATPAKS+=(io.exodus.Exodus)
DESKTOP="KDE"
#Packages
BASE_PACKAGES=" neofetch vlc nextcloud-desktop 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 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=" krita libdbus-glib-1-2 calligra print-manager plasma-discover-backend-flatpak kwin-addons kde-standard konsole dolphin kde-spectacle "
#DESKTOP_ENV=" gnome gnome-shell-extension-weather gnome-shell-extension-dashtodock gnome-shell-extension-appindicator 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
BASE_PACKAGES=" neofetch 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 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 "
KDE_DESKTOP_ENV=" krita libdbus-glib-1-2 calligra print-manager plasma-discover-backend-flatpak kwin-addons kde-standard konsole dolphin kde-spectacle "
GNOME_DESKTOP_ENV=" gnome gnome-shell-extension-weather gnome-shell-extension-dashtodock gnome-shell-extension-appindicator gnome-shell-extension-gsconnect gnome-tweaks synaptic gimp "
SHARED_DESKTOP_APPS=" handbrake vlc nextcloud-desktop yt-dlp "
#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"
installVPN() {
@ -73,13 +74,15 @@ partitionDetection
auto_login() {
if [[ $DESKTOP_ENV == *"plasma"* ]]; then
if [ -f "$TARGET/usr/bin/sddm" ]; then
mkdir -p $TARGET/etc/sddm.conf.d
echo "[Autologin]" >$TARGET/etc/sddm.conf.d/autologin
echo "User=$USER" >>$TARGET/etc/sddm.conf.d/autologin
echo "Session=plasma.desktop" >>$TARGET/etc/sddm.conf.d/autologin
echo "Relogin=false" >>$TARGET/etc/sddm.conf.d/autologin
else
fi
if [ -f "$TARGET/usr/bin/gdm3" ]; then
sed -i '/daemon/a AutomaticLoginEnable=True' $TARGET/etc/gdm3/daemon.conf
sed -i "/daemon/a AutomaticLogin = $USER" $TARGET/etc/gdm3/daemon.conf
fi
@ -290,17 +293,19 @@ desktop() {
systemctl disable --now $i
done
if [[ $DESKTOP_ENV == *"plasma"* ]]; then
if [ -f "/usr/bin/sddm" ]; then
echo
echo "Performing KDE Bloat Removal"
echo
BLOAT_APPS+=( dragonplayer akregator kate konqueror kdeconnect kdepim* )
BLOAT_APPS+=(dragonplayer akregator kate konqueror kdeconnect kdepim*)
for i in "${BLOAT_APPS[@]}"; do
echo "Removing: $i"
apt remove --purge -y $i
apt autoremove -y
done
else
fi
if [ -f "/usr/bin/gdm3" ]; then
echo
echo "Performing GNOME Bloat Removal"
echo
@ -310,7 +315,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+=( gnome-calendar evolution gnome-music four-in-a-row 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 chromium chromium-common chromium-sandbox epiphany-browser epiphany-browser-data)
BLOAT_APPS+=(gnome-calendar evolution gnome-music four-in-a-row 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 chromium chromium-common chromium-sandbox epiphany-browser epiphany-browser-data)
for i in "${BLOAT_APPS[@]}"; do
echo "Removing: $i"
apt remove --purge -y $i
@ -422,31 +427,47 @@ installCodium() {
apt install codium -y
}
installBrowser() {
#Brave
#curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
#echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list
#apt update
#apt install brave-browser -y
installFirefoxNightly() {
cd /tmp
rm -rf /opt/firefox-nightly
apt remove firefox-esr -y
apt install libdbus-glib-1-2 -y
#apt install -y firefox-esr
#Firefox Nightly
wget -O /tmp/firefox.tar.gz "https://download.mozilla.org/?product=firefox-nightly-latest-ssl&os=linux64&lang=en-US"
tar xf /tmp/firefox.tar.gz -C /tmp/
mv /tmp/firefox /opt/firefox-nightly
rm -rf /tmp/firefox*
#Firefox
echo "[Desktop Entry]" >/usr/share/applications/firefox-nightly.desktop
echo "Name=Firefox Nightly" >>/usr/share/applications/firefox-nightly.desktop
echo "Comment=Web Browser" >>/usr/share/applications/firefox-nightly.desktop
echo "Exec=/opt/firefox-nightly/firefox %u" >>/usr/share/applications/firefox-nightly.desktop
echo "Terminal=false" >>/usr/share/applications/firefox-nightly.desktop
echo "Type=Application" >>/usr/share/applications/firefox-nightly.desktop
echo "Icon=/opt/firefox-nightly/browser/chrome/icons/default/default128.png" >>/usr/share/applications/firefox-nightly.desktop
echo "Categories=Network;WebBrowser;" >>/usr/share/applications/firefox-nightly.desktop
echo "MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;" >>/usr/share/applications/firefox.desktop
echo "StartupNotify=true" >>/usr/share/applications/firefox-nightly.desktop
echo "Actions=Private;" >>/usr/share/applications/firefox-nightly.desktop
echo "[Desktop Action Private]" >>/usr/share/applications/firefox-nightly.desktop
echo "Exec=/opt/firefox-nightly/firefox --private-window %u" >>/usr/share/applications/firefox-nightly.desktop
echo "Name=Open in private mode" >>/usr/share/applications/firefox-nightly.desktop
}
installFirefox() {
cd /tmp
rm -rf /opt/firefox
apt remove firefox-esr -y
apt install libdbus-glib-1-2 -y
#Firefox Stable
#wget -O /tmp/firefox.tar.gz "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US"
#tar xvf /tmp/firefox.tar.gz -C /opt/
#Firefox Nightly
wget -O /tmp/firefox.tar.gz "https://download.mozilla.org/?product=firefox-nightly-latest-ssl&os=linux64&lang=en-US"
tar xvf /tmp/firefox.tar.gz -C /opt/
wget -O /tmp/firefox.tar.gz "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US"
tar xf /tmp/firefox.tar.gz -C /opt/
unlink /usr/bin/firefox
ln -s /opt/firefox/firefox /usr/bin/firefox
rm -rf /tmp/firefox*
#Desktop/App Icon
echo "[Desktop Entry]" >/usr/share/applications/firefox.desktop
echo "Name=Firefox Stable" >>/usr/share/applications/firefox.desktop
@ -462,6 +483,20 @@ installBrowser() {
echo "[Desktop Action Private]" >>/usr/share/applications/firefox.desktop
echo "Exec=/opt/firefox/firefox --private-window %u" >>/usr/share/applications/firefox.desktop
echo "Name=Open in private mode" >>/usr/share/applications/firefox.desktop
}
installBrowser() {
#Brave
#curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
#echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list
#apt update
#apt install brave-browser -y
#apt install -y firefox-esr
#Firefox
#installFirefox
installFirefoxNightly
#Vivaldi
#curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor | tee /usr/share/keyrings/vivaldi.gpg >/dev/null
@ -656,6 +691,12 @@ menu() {
echo
echo
read -p 'Debian Version: ' -e -i "stable" DEBIAN_RELEASE
read -p 'KDE or GNOME: ' -e -i "KDE" DESKTOP
if [[ $DESKTOP = *KDE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV
else
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV
fi
set-devices
install "$HARD_DISK"
elif [[ $choice = 2 ]]; then
@ -693,6 +734,12 @@ menu() {
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 or GNOME: ' -e -i "KDE" DESKTOP
if [[ $DESKTOP = *KDE* ]]; then
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$KDE_DESKTOP_ENV
else
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV
fi
ROOT_MAPPER_NAME="/dev/foo"
make-image "$image_directory"
elif [[ $choice = 5 ]]; then