This commit is contained in:
Your Name 2023-04-04 21:24:39 -06:00
parent e689b81494
commit 8bf84084d0

View File

@ -50,11 +50,11 @@ COMPRESSION='compress=zlib:5'
DEBIAN_RELEASE='stable'
CURRENT_STABLE_NAME='bullseye'
AUTO_DECRYPT='True'
FLATPAKS+=(app/net.brinkervii.grapejuice org.kde.kdenlive)
FLATPAKS+=(net.sourceforge.chromium-bsu io.jor.mightymike com.eduke32.EDuke32 com.zandronum.Zandronum net.openra.OpenRA)
#Packages
PACKAGES=" minidlna libsecret-tools libglu1-mesa preload flatpak powertop acpi cockpit cockpit-podman packagekit cockpit-packagekit cockpit-pcp cockpit-storaged redis "
BASE_PACKAGES=" shfmt 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 efibootmgr linux-headers-amd64 cryptsetup network-manager-openvpn ntp screen docbook-xsl alsa-utils sysstat fuse3 build-essential unzip bash-completion parted dosfstools wget curl "
PACKAGES=" nmap minidlna libsecret-tools libglu1-mesa preload flatpak powertop acpi cockpit cockpit-podman packagekit cockpit-packagekit cockpit-pcp cockpit-storaged "
BASE_PACKAGES=" btop shfmt 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 efibootmgr linux-headers-amd64 cryptsetup network-manager-openvpn ntp screen docbook-xsl alsa-utils sysstat fuse3 build-essential unzip bash-completion parted dosfstools wget curl "
SHARED_DESKTOP_APPS=" kwin-addons power-profiles-daemon kde-standard konsole dolphin kde-spectacle print-manager digikam yt-dlp keepassxc telegram-desktop krita nextcloud-desktop handbrake calligra "
#Removed for Debian Bullseye. Works on Bookworm
#REMOVED=" aardvark-dns podman-compose podman-toolbox "
@ -62,7 +62,7 @@ VIRTUALIZATION=" virt-manager qemu-system libvirt-daemon-system ovmf cockpit-mac
PACKAGES=$BASE_PACKAGES$PACKAGES$SHARED_DESKTOP_APPS
#PACKAGES=$BASE_PACKAGES
SERVICES+=(powertop preload)
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=$TARGET/* --exclude=/var/lib/libvirt/* --exclude=/dev/* --exclude=/sys/* --exclude=/home/* --exclude=/var/lib/flatpak --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/flatpak --exclude=/var/lib/postgresql --exclude=/var/lib/containers"
auto_login() {
mkdir -p $TARGET/etc/sddm.conf.d
@ -268,6 +268,34 @@ configure-repository() {
echo 'DPkg::Post-Invoke {"/usr/bin/debian.sh snapshot";};' >$TARGET/etc/apt/apt.conf
}
make-image() {
umount $TARGET
mount -t tmpfs tmpfs -o size=11G,dev,exec $TARGET
debootstrap --arch amd64 $DEBIAN_RELEASE $TARGET https://deb.debian.org/debian
configure-repository
locale
custom_service_files
services
cp -f debian.sh $TARGET/usr/bin/
cp -f debian.tar $TARGET/etc/default/
echo 'bash /usr/bin/debian.sh kernel-packages' >>$TARGET/setup.sh
echo "bash /usr/bin/debian.sh bootloader $1" >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh grub-snapshots' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh desktop' >>$TARGET/setup.sh
echo 'bash /usr/bin/debian.sh additional-software' >>$TARGET/setup.sh
echo '/usr/bin/apt clean all' >>$TARGET/setup.sh
chmod +x $TARGET/usr/bin/debian.sh
chmod +x $TARGET/setup.sh
chroot $TARGET /setup.sh
rm -f $TARGET/setup.sh
echo -e "ALGO=zstd\nPERCENT=60" | tee -a $TARGET/etc/default/zramswap
cd $TARGET
echo "[Creating new OS image to $1/$ROOT_NAME.tgz]"
time tar cpzf $1/$ROOT_NAME.tgz $TAR_EXCLUDES .
cd $1
umount $TARGET
}
install() {
partitions
sed -i '/^SigLevel/s/^\(.*\)$/#\1\n/' /etc/pacman.conf
@ -292,7 +320,7 @@ install() {
}
desktop() {
SERVICES+=(pmcd pmie pmlogger pmproxy exim4 cockpit.socket redis-server apparmor nfs-server smbd rpbind rpcbind.socket avahi-daemon bluetooth minidlna openvpn)
SERVICES+=(pmcd pmie pmlogger pmproxy exim4 cockpit.socket apparmor nfs-server smbd rpbind rpcbind.socket avahi-daemon bluetooth minidlna openvpn)
for i in "${SERVICES[@]}"; do
systemctl disable --now $i
done
@ -543,7 +571,7 @@ server-config() {
cp -f etc/exports /etc/
crontab >crontab
SERVICES+=(minidlna vip containers pmie pmielogger nfs-server.service exim4 cockpit.socket redis-server smbd)
SERVICES+=(minidlna vip containers pmie pmielogger nfs-server.service exim4 cockpit.socket smbd)
for i in "${SERVICES[@]}"; do
systemctl enable $i
done
@ -596,7 +624,7 @@ show-help() {
if [ "$1" = "install" ]; then
install "$2"
elif [ "$1" = "desktop" ]; then
desktop
desktop
elif [ "$1" = "tar" ]; then
create-os-snapshots "$2" "$3"
elif [ "$1" = "kernel-packages" ]; then
@ -617,6 +645,8 @@ elif [ "$1" = "flatpaks" ]; then
flatpaks
elif [ "$1" = "bootloader" ]; then
bootloader "$2"
elif [ "$1" = "make-image" ]; then
make-image "$2"
elif [ "$1" = "snapshot" ]; then
snapshots
elif [ "$1" = "secure-boot" ]; then