fix
This commit is contained in:
parent
77bf0142c7
commit
54a76c534b
85
debian.sh
85
debian.sh
@ -43,8 +43,8 @@ DISK_PASSWORD='123456'
|
|||||||
COMPRESSION='compress=zstd:10'
|
COMPRESSION='compress=zstd:10'
|
||||||
AUTO_DECRYPT='True'
|
AUTO_DECRYPT='True'
|
||||||
FLATPAKS+=(io.exodus.Exodus us.zoom.Zoom)
|
FLATPAKS+=(io.exodus.Exodus us.zoom.Zoom)
|
||||||
DESKTOP="KDE"
|
DESKTOP="GNOME"
|
||||||
BROWSER="firefox"
|
BROWSER="firefox-esr"
|
||||||
#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 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 "
|
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 "
|
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 "
|
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 "
|
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 "
|
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=""
|
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 "
|
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() {
|
partitionDetection() {
|
||||||
#This is used for the installer to do script-based actions
|
#This is used for the installer to do script-based actions
|
||||||
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)
|
||||||
@ -213,23 +214,15 @@ decryptBoot() {
|
|||||||
|
|
||||||
configure-repository() {
|
configure-repository() {
|
||||||
echo 'force-unsafe-io' >$TARGET/etc/dpkg/dpkg.cfg.d/docker-apt-speedup
|
echo 'force-unsafe-io' >$TARGET/etc/dpkg/dpkg.cfg.d/docker-apt-speedup
|
||||||
|
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE main contrib non-free non-free-firmware" >$TARGET/etc/apt/sources.list
|
||||||
if [ "$DEBIAN_RELEASE" == "testing" ]; then
|
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 main contrib non-free non-free-firmware" >$TARGET/etc/apt/sources.list
|
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-updates main " >>$TARGET/etc/apt/sources.list
|
||||||
chroot $TARGET /usr/bin/apt update
|
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-backports main contrib non-free-firmware" >>$TARGET/etc/apt/sources.list
|
||||||
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $PACKAGES "
|
chroot $TARGET /usr/bin/apt update
|
||||||
else
|
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $PACKAGES "
|
||||||
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/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt dist-upgrade -y -t $DEBIAN_RELEASE-backports"
|
||||||
echo "deb https://deb.debian.org/debian-security $DEBIAN_RELEASE-security main" >>$TARGET/etc/apt/sources.list
|
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt install -y $TROUBLESOME_PACKAGES"
|
||||||
echo "deb https://deb.debian.org/debian $DEBIAN_RELEASE-updates main " >>$TARGET/etc/apt/sources.list
|
chroot $TARGET /usr/bin/bash -c "export DEBIAN_FRONTEND=noninteractive;/usr/bin/apt auto-remove -y"
|
||||||
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 'DPkg::Post-Invoke {"/usr/bin/debian.sh snapshot";};' >$TARGET/etc/apt/apt.conf
|
#echo 'DPkg::Post-Invoke {"/usr/bin/debian.sh snapshot";};' >$TARGET/etc/apt/apt.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,6 +274,21 @@ install() {
|
|||||||
unmount
|
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() {
|
desktop() {
|
||||||
SERVICES+=(pmcd pmie pmlogger pmproxy exim4 cockpit.socket apparmor nfs-server smbd rpbind rpcbind.socket avahi-daemon bluetooth)
|
SERVICES+=(pmcd pmie pmlogger pmproxy exim4 cockpit.socket apparmor nfs-server smbd rpbind rpcbind.socket avahi-daemon bluetooth)
|
||||||
for i in "${SERVICES[@]}"; do
|
for i in "${SERVICES[@]}"; do
|
||||||
@ -327,7 +335,7 @@ desktop() {
|
|||||||
chmod -x /usr/libexec/evolution-data-server/evolution-alarm-notify
|
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-data-server /usr/lib/evolution-data-server-disabled
|
||||||
mv /usr/lib/evolution /usr/lib/evolution-disabled
|
mv /usr/lib/evolution /usr/lib/evolution-disabled
|
||||||
BLOAT_APPS+=(evolution )
|
BLOAT_APPS+=(evolution)
|
||||||
for i in "${BLOAT_APPS[@]}"; do
|
for i in "${BLOAT_APPS[@]}"; do
|
||||||
echo "Removing: $i"
|
echo "Removing: $i"
|
||||||
apt remove --purge -y $i
|
apt remove --purge -y $i
|
||||||
@ -336,7 +344,6 @@ desktop() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
installBrowser
|
installBrowser
|
||||||
#installElement
|
|
||||||
installCodium
|
installCodium
|
||||||
installSteam
|
installSteam
|
||||||
hibernate-setup
|
hibernate-setup
|
||||||
@ -441,17 +448,21 @@ installCodium() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
installFirefoxNightly() {
|
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"}'
|
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 update
|
||||||
apt install firefox-nightly -y
|
apt install firefox-nightly -y
|
||||||
}
|
}
|
||||||
|
|
||||||
|
installFirefoxESR() {
|
||||||
|
apt install -y firefox-esr
|
||||||
|
}
|
||||||
|
|
||||||
installFirefox() {
|
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"}'
|
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 update
|
||||||
apt install firefox -y
|
apt install firefox -y
|
||||||
}
|
}
|
||||||
@ -501,6 +512,8 @@ installBrowser() {
|
|||||||
installBrave
|
installBrave
|
||||||
elif [ "$BROWSER" = "edge" ]; then
|
elif [ "$BROWSER" = "edge" ]; then
|
||||||
installEdge
|
installEdge
|
||||||
|
elif [ "$BROWSER" = "firefox-esr" ]; then
|
||||||
|
installFirefoxESR
|
||||||
elif [ "$BROWSER" = "firefox" ]; then
|
elif [ "$BROWSER" = "firefox" ]; then
|
||||||
installFirefox
|
installFirefox
|
||||||
elif [ "$BROWSER" = "firefox-nightly" ]; then
|
elif [ "$BROWSER" = "firefox-nightly" ]; then
|
||||||
@ -512,13 +525,6 @@ installBrowser() {
|
|||||||
fi
|
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() {
|
mounts() {
|
||||||
echo
|
echo
|
||||||
echo "Mounting......."
|
echo "Mounting......."
|
||||||
@ -600,6 +606,7 @@ accounts() {
|
|||||||
echo
|
echo
|
||||||
echo "Set Password for $USER"
|
echo "Set Password for $USER"
|
||||||
useradd -m -s /bin/bash $USER
|
useradd -m -s /bin/bash $USER
|
||||||
|
chown -R $USER:$USER /home/$USER
|
||||||
echo "$USER:$USER_PASSWORD" | chpasswd
|
echo "$USER:$USER_PASSWORD" | chpasswd
|
||||||
gpasswd -a $USER wheel
|
gpasswd -a $USER wheel
|
||||||
gpasswd -a $USER network
|
gpasswd -a $USER network
|
||||||
@ -613,8 +620,6 @@ accounts() {
|
|||||||
echo "Setting ROOT Password:"
|
echo "Setting ROOT Password:"
|
||||||
echo "root:$ROOT_PASSWORD" | chpasswd
|
echo "root:$ROOT_PASSWORD" | chpasswd
|
||||||
/usr/bin/hostnamectl set-hostname $ROOT_NAME
|
/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() {
|
btrfs-tweaks() {
|
||||||
@ -708,15 +713,15 @@ 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, CINNAMON, XFCE, or GNOME: ' -e -i "KDE" DESKTOP
|
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "GNOME" 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 = *XFCE* ]]; then
|
elif [[ $DESKTOP = *XFCE* ]]; then
|
||||||
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$XFCE_DESKTOP_ENV
|
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$XFCE_DESKTOP_ENV
|
||||||
elif [[ $DESKTOP = *CINNAMON* ]]; then
|
elif [[ $DESKTOP = *CINNAMON* ]]; then
|
||||||
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$CINNAMON_DESKTOP_ENV
|
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$CINNAMON_DESKTOP_ENV
|
||||||
else
|
else
|
||||||
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV
|
PACKAGES=$BASE_PACKAGES$SHARED_DESKTOP_APPS$GNOME_DESKTOP_ENV$VIRTUALIZATION
|
||||||
fi
|
fi
|
||||||
ROOT_MAPPER_NAME="/dev/foo"
|
ROOT_MAPPER_NAME="/dev/foo"
|
||||||
make-image "$image_directory"
|
make-image "$image_directory"
|
||||||
@ -753,7 +758,7 @@ 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, CINNAMON, XFCE, or GNOME: ' -e -i "KDE" DESKTOP
|
read -p 'KDE, CINNAMON, XFCE, or GNOME: ' -e -i "GNOME" 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
|
||||||
elif [[ $DESKTOP = *XFCE* ]]; then
|
elif [[ $DESKTOP = *XFCE* ]]; then
|
||||||
@ -841,6 +846,8 @@ elif [ "$1" = "upgrade-system" ]; then
|
|||||||
upgrade-system
|
upgrade-system
|
||||||
elif [ "$1" = "wifi" ]; then
|
elif [ "$1" = "wifi" ]; then
|
||||||
wifi
|
wifi
|
||||||
|
elif [ "$1" = "stable-diffusion" ]; then
|
||||||
|
stableDiffusion
|
||||||
elif [ "$1" = "accounts" ]; then
|
elif [ "$1" = "accounts" ]; then
|
||||||
accounts
|
accounts
|
||||||
elif [ "$1" = "hibernate" ]; then
|
elif [ "$1" = "hibernate" ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user