subvol=/mnt/bookworm release=bookworm mainuser=... fsuid=... define SOURCES := deb http://deb.debian.org/debian bullseye main deb http://deb.debian.org/debian ${release} main 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 ark audacity packages += blender blueman brasero brasero-cdrkit breeze-icon-theme packages += ca-certificates chromium chromium-sandbox cifs-utils claws-mail claws-mail-pgpinline claws-mail-pgpmime claws-mail-vcalendar-plugin clementine cron cryptsetup cups cups-browsed packages += deborphan dosfstools dvdauthor dvd+rw-tools packages += eject exfat-fuse exfatprogs packages += file firefox-esr firefox-esr-l10n-de firmware-linux-free fonts-liberation fonts-liberation2 frei0r-plugins packages += gdebi gimp git gnumeric gparted gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-x gtk3-engines-breeze gvfs-backends gvfs-fuse gwenview packages += hplip hplip-gui hunspell hunspell-de-de hyphen-de packages += inkscape irqbalance isc-dhcp-client packages += k3b k3b-i18n kate kbd kcalc kdenlive kde-spectacle kde-style-breeze krita krita-l10n packages += libnss3-tools libpam-mount libpam-script libreoffice libreoffice-gnome libreoffice-gtk3 libreoffice-l10n-de libreoffice-style-breeze live-boot live-boot-initramfs-tools locales lvm2 lightdm packages += make man-db marble mdadm mesa-utils mousepad mumble packages += nbd-client net-tools netcat-openbsd nis nmap nscd ntfs-3g ntpdate packages += obs-studio okular openssh-client openssh-server packages += p7zip-full pavucontrol pciutils pdfchain plymouth plymouth-themes policykit-1 policykit-1-gnome pulseaudio pulseaudio-module-bluetooth packages += recordmydesktop rsync packages += samba-common-bin squashfs-tools sshfs sudo synaptic syslinux syslinux-common syslinux-efi systemd packages += thunar-volman thunderbird thunderbird-l10n-de tmux packages += unace unrar-free unzip usermode packages += va-driver-all vdpau-driver-all vim vlc packages += wget wireless-tools wpasupplicant packages += x11-xserver-utils x264 xauth xdotool xfce4 xfce4-goodies xfce4-power-manager-plugins xfce4-terminal xfce4-whiskermenu-plugin xscreensaver xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-wacom xserver-xorg-video-all xz-utils packages += yt-dlp zenity # Hardware Spcific packages += linux-image-amd64 grub-pc xserver-xorg-video-intel # Games - Common packages += extremetuxracer packages += fillets-ng freeciv freeciv-client-sdl packages += gnome-2048 gunroar packages += 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 ## Hostname for the generated machine hostname=${mainuser}-debian ## Root password will be salted and encrypted in image # rootpass=topsecret # rootpass=root ## The corresponding .pub file for the given rootkey will be applied as ## SSH login file for the root user. ## If the pub file is not found, a new key pair will be generated # rootkey=sshkey ## Comma separated list of users to be set up. ## User logins will start out with an empty password ## If the live module is in use, users will also be added to the sudo group # users=adam,steve users=${mainuser} ## Wifi configuration, if a Wifi password is given, WPA encryption will be used ## without the password, the system will try to connect to an open wifi # wifi=MyWiFi # wifipass=P4ssW0rD ## Timezone as offered by Debians tzdata selection 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 ## If the approxmodule is enabled, then one (and only one) apt-source ## can be choosen to install packages from ## See modules/approx.mk if you need more flexibility # approx=http://localhost:9000/debian 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=bookworm' \ '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