--- /dev/null
+# mainuser=...
+# fsuid=...
+#
+# Hardware Spcific
+packages += grub-efi firmware-iwlwifi firmware-brcm80211
+
+subvol=/mnt/trixie
+release=trixie
+
+define SOURCES :=
+deb http://deb.debian.org/debian ${release} main non-free-firmware
+deb http://deb.debian.org/debian-security/ ${release}-security main
+endef
+
+## Comma separated list of config modules from modules/ directory
+modules=xfce,gimp #,approx
+
+## Packages
+packages =
+packages += alsa-utils audacity aqbanking-tools
+packages += blender
+packages += chromium chromium-sandbox cifs-utils claws-mail claws-mail-pgpinline claws-mail-pgpmime claws-mail-vcalendar-plugin clementine cryptsetup cups cups-browsed
+packages += debootstrap dosfstools dvdauthor dvd+rw-tools
+packages += eject exfat-fuse exfatprogs
+packages += firefox-esr firefox-esr-l10n-de fonts-liberation fonts-liberation2 frei0r-plugins
+packages += gdebi gimp git gnome-keyring gnumeric gparted gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-x gwenview
+packages += hunspell hunspell-de-de hyphen-de
+packages += inkscape inkscape-tutorials
+packages += k3b k3b-i18n kate kbd kcalc kdenlive kde-style-breeze kmymoney krita krita-l10n
+packages += libnss3-tools libblockdev-crypto3 libk3b-extracodecs libreoffice libreoffice-gnome libreoffice-gtk3 libreoffice-l10n-de libreoffice-style-breeze locales lvm2 lightdm
+packages += man-db marble mdadm mesa-utils mousepad
+packages += ncat netcat-openbsd network-manager-gnome network-manager-ssh-gnome nscd ntfs-3g ntpsec-ntpdate
+packages += obs-studio okular openssh-client os-prober
+packages += p7zip-full pavucontrol pciutils pulseaudio pulseaudio-module-bluetooth
+packages += qt6-gtk-platformtheme
+packages += rdesktop recordmydesktop
+packages += samba-common-bin sane-airscan skanlite synaptic
+packages += thunar-volman thunderbird thunderbird-l10n-de tmux
+packages += unace unrar-free usermode
+packages += va-driver-all vdpau-driver-all vim vlc
+packages += wget
+packages += x264 xdotool xfce4-goodies xfce4-power-manager-plugins xfce4-screenshooter xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-wacom xserver-xorg-video-all
+packages += yt-dlp
+packages += zenity
+packages += linux-image-amd64
+
+# Games - Common
+# packages += extremetuxracer
+# packages += fillets-ng freeciv freeciv-client-sdl
+packages += gnome-2048 gunroar
+# packages += hedgewars hex-a-hop
+packages += kpat
+# packages += supertux supertuxkart
+packages += torus-trooper
+# packages += wesnoth-1.16 wesnoth-1.16-httt wesnoth-music
+
+# Games - Minetest
+# packages += minetest minetest-server
+# packages += minetest-mod-3d-armor
+# packages += minetest-mod-craftguide minetest-mod-ethereal
+# packages += minetest-mod-mesecons minetest-mod-mobs-redo
+# packages += minetest-mod-pipeworks minetest-mod-protector
+# packages += minetest-mod-unified-inventory
+
+# Games - Teenage / Adult
+# packages += 0ad flare-game openarena warzone2100
+
+define ffpolicies:=
+{ "policies": {
+ "DisablePocket": true
+} }
+endef
+export ffpolicies
+
+## Hostname for the generated machine
+hostname=${mainuser}-${release}
+
+## Root password will be salted and encrypted in image
+# rootpass=topsecret
+# rootpass=root
+
+users=${mainuser}
+
+timezone=Europe/Berlin
+
+## Comma separated list of locales, first one will become default locale
+locales=de_DE.UTF-8,en_US.UTF-8
+
+## Keyboard as used in debconfs keyboard-configuration/variant
+## Use debconf-get-selections to find out the exact string
+# keyboard=German
+keyboard=de
+
+CFGROOT = cfg_root/
+
+.PHONY: _fstab _sudo
+_target: _fstab _sudo
+
+_sudo: _config cfg_root
+ chroot cfg_root adduser ${mainuser} sudo
+
+_fstab: _config cfg_root
+ mkdir -p cfg_root/mnt/fsroot
+ printf '%s 0 0\n' \
+ 'UUID=${fsuid} / btrfs auto,rw,subvol=trixie' \
+ 'UUID=${fsuid} /home btrfs auto,rw,subvol=home' \
+ 'UUID=${fsuid} /mnt/fsroot btrfs auto,rw,nofail' \
+ 'LABEL=SYSTEM /boot/efi vfat auto,ro,nofail' \
+ 'LABEL=SWAP swap swap sw,nofail' \
+ >cfg_root/etc/fstab
+
+
+.PHONY: _ntpdate _ffpolicies
+_config: _ntpdate _ffpolicies
+
+_ffpolicies: ${CFGROOT} .FORCE
+ mkdir -p "${CFGROOT}/etc/firefox/policies/" \
+ "${CFGROOT}/etc/firefox-esr/policies/" \
+ "${CFGROOT}/usr/share/firefox/distribution/" \
+ "${CFGROOT}/usr/share/firefox-esr/distribution/"
+ printf '%s\n' "$${ffpolicies}" \
+ | tee "${CFGROOT}/etc/firefox/policies/policies.json" \
+ "${CFGROOT}/etc/firefox-esr/policies/policies.json" \
+ "${CFGROOT}/usr/share/firefox/distribution/policies.json" \
+ "${CFGROOT}/usr/share/firefox-esr/distribution/policies.json"
+
+_ntpdate: ${CFGROOT} .FORCE
+ printf '%s\n' \
+ '@reboot /usr/sbin/ntpdate fritz.box' \
+ '*/5 * * * * sleep '$$((RANDOM / 109))'; /usr/sbin/ntpdate fritz.box' \
+ >>"${CFGROOT}/var/spool/cron/crontabs/root"
+ chmod 0600 "${CFGROOT}/var/spool/cron/crontabs/root"
+ chroot "${CFGROOT}" systemctl enable cron