]> git.plutz.net Git - blast/commitdiff
common laptop configuration
authorPaul Hänsch <paul@plutz.net>
Thu, 12 Feb 2026 09:47:23 +0000 (10:47 +0100)
committerPaul Hänsch <paul@plutz.net>
Thu, 12 Feb 2026 09:47:23 +0000 (10:47 +0100)
common_laptop.mk [new file with mode: 0644]

diff --git a/common_laptop.mk b/common_laptop.mk
new file mode 100644 (file)
index 0000000..83eb3c3
--- /dev/null
@@ -0,0 +1,133 @@
+# 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