iso: fix packages.x86_64 (no inline comments; gstreamer-vaapi -> gst-plugin-va)

Inline comments after a package name broke kitty/flatpak (became invalid
names with trailing whitespace). gstreamer-vaapi was removed from Arch.
calamares is AUR-only -> commented pending a [tanin] rebuild decision.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 22:34:35 +02:00
parent 4722294c24
commit c7039f13b9
100 changed files with 1480 additions and 17 deletions
@@ -0,0 +1,24 @@
---
componentName: tanin
welcomeStyleCalamares: true
windowExpanding: normal
strings:
productName: TANINUX
shortProductName: TANINUX
version: camel
shortVersion: camel
versionedName: TANINUX (camel)
shortVersionedName: TANINUX
bootloaderEntryName: TANINUX
productUrl: https://taninux.kgva.ch
supportUrl: https://git.openbureau.ch/karim/taninux
# Fuji palette for the installer sidebar (matches the desktop).
style:
sidebarBackground: "#0f0f0f"
sidebarText: "#f0f0f0"
sidebarTextSelect: "#a39ec4"
sidebarTextHighlight: "#a39ec4"
# TODO: add productLogo (logo.png) + a slideshow (show.qml) for polish.
@@ -0,0 +1,9 @@
---
efiBootLoader: "systemd-boot"
kernel: "/vmlinuz-linux-zen"
img: "/initramfs-linux-zen.img"
fallback: "/initramfs-linux-zen-fallback.img"
timeout: "3"
# Plymouth splash + quiet boot on the installed system.
kernelParams: [ "quiet", "splash", "rw" ]
installEFIFallback: true
@@ -0,0 +1,8 @@
---
mountOptions:
default: defaults,noatime
btrfs: defaults,noatime,compress=zstd,space_cache=v2
efi: defaults,noatime,umask=0077
ssdExtraMountOptions:
btrfs: ssd,discard=async
crypttabOptions: luks
@@ -0,0 +1,37 @@
---
# Snapper-friendly Btrfs subvolume layout (@ root + @snapshots at /.snapshots).
extraMounts:
- device: proc
fs: proc
mountPoint: /proc
- device: sys
fs: sysfs
mountPoint: /sys
- device: /dev
mountPoint: /dev
options: bind
- device: tmpfs
fs: tmpfs
mountPoint: /run
- device: /run/udev
mountPoint: /run/udev
options: bind
mountOptions:
- mountPoint: /
options: defaults,noatime
- mountPoint: "*"
filesystem: btrfs
options: defaults,noatime,compress=zstd
btrfsSubvolumes:
- mountPoint: /
subvolume: /@
- mountPoint: /home
subvolume: /@home
- mountPoint: /var/cache
subvolume: /@cache
- mountPoint: /var/log
subvolume: /@log
- mountPoint: /.snapshots
subvolume: /@snapshots
@@ -0,0 +1,12 @@
---
backend: pacman
pacman:
num_retries: 3
disable_download_timeout: true
needed_only: false
operations:
# Strip the live-only installer from the installed target. Everything else was
# cloned by unpackfs.
- try_remove:
- calamares
- cage
@@ -0,0 +1,11 @@
---
efiSystemPartition: "/boot" # systemd-boot wants the ESP at /boot
efiSystemPartitionSize: 1024M
userSwapChoices: [ none, small, suspend ]
drawNestedPartitions: true
alwaysShowPartitionLabels: true
allowManualPartitioning: true
initialPartitioningChoice: erase
initialSwapChoice: none
defaultFileSystemType: "btrfs"
availableFileSystemTypes: [ "btrfs", "ext4" ]
@@ -0,0 +1,13 @@
---
services:
- name: greetd # the TANINUX login (tanin-greet) — its config is already
mandatory: false # in place from the tanin-greet package scriptlet
- name: NetworkManager
mandatory: false
- name: snapper-cleanup.timer
mandatory: false
- name: snapper-timeline.timer
mandatory: false
targets:
- name: graphical
mandatory: true
@@ -0,0 +1,5 @@
---
dontChroot: false
timeout: 30
script:
- "flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"
@@ -0,0 +1,11 @@
---
dontChroot: false
timeout: 120
# Best-effort snapper setup on the Btrfs target. The @snapshots subvolume is
# already mounted at /.snapshots (see mount.conf); snapper's own create-config
# can conflict with a pre-existing /.snapshots, so this is tolerant.
# snap-pac then auto-snapshots before/after each pacman transaction.
script:
- command: "snapper --no-dbus -c root create-config / || true"
timeout: 60
- "snapper --no-dbus -c root set-config NUMBER_LIMIT=10 NUMBER_LIMIT_IMPORTANT=5 TIMELINE_CREATE=no || true"
@@ -0,0 +1,11 @@
---
dontChroot: false
timeout: 30
# Remove the live-only installer bits from the installed target so it boots the
# desktop (greetd) instead of auto-launching Calamares.
script:
- "rm -f /etc/systemd/system/getty@tty1.service.d/autologin.conf"
- "rmdir --ignore-fail-on-non-empty /etc/systemd/system/getty@tty1.service.d 2>/dev/null || true"
- "rm -f /root/.bash_profile"
- "rm -f /usr/local/bin/tanin-installer"
- "systemctl set-default graphical.target"
@@ -0,0 +1,7 @@
---
# Clone the live squashfs onto the target. Path matches install_dir=tanin,
# arch=x86_64, airootfs_image_type=squashfs (see profiledef.sh).
unpack:
- source: "/run/archiso/bootmnt/tanin/x86_64/airootfs.sfs"
sourcefs: "squashfs"
destination: ""
@@ -0,0 +1,54 @@
# Calamares for TANINUX (camel). Model: clone the live system to the target with
# unpackfs, then configure bootloader (systemd-boot), services (greetd), set up
# snapper + Flathub, and strip the live-only installer bits.
---
modules-search: [ local, /usr/lib/calamares/modules ]
instances:
- id: snapper
module: shellprocess
config: shellprocess-snapper.conf
- id: flathub
module: shellprocess
config: shellprocess-flathub.conf
- id: striplive
module: shellprocess
config: shellprocess-striplive.conf
sequence:
- show:
- welcome
- locale
- keyboard
- partition
- users
- summary
- exec:
- partition
- mount
- unpackfs
- machineid
- fstab
- locale
- keyboard
- localecfg
- luksbootkeyfile
- users
- networkcfg
- hwclock
- shellprocess@snapper
- shellprocess@flathub
- shellprocess@striplive
- packages # remove live-only packages (calamares, cage)
- services-systemd # enable greetd + NetworkManager on the target
- mkinitcpio # regenerate initramfs (plymouth hook)
- bootloader # systemd-boot, kernel cmdline 'quiet splash'
- umount
- show:
- finished
branding: tanin
prompt-install: true
dont-chroot: false
oem-setup: false
disable-cancel: false
+1
View File
@@ -0,0 +1 @@
archiso
@@ -0,0 +1 @@
LANG=C.UTF-8
+1
View File
@@ -0,0 +1 @@
/usr/share/zoneinfo/UTC
@@ -0,0 +1,3 @@
HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
COMPRESSION="xz"
COMPRESSION_OPTIONS=(-9e)
@@ -0,0 +1,8 @@
# mkinitcpio preset file for the 'linux' package on archiso
PRESETS=('archiso')
ALL_kver='/boot/vmlinuz-linux'
archiso_config='/etc/mkinitcpio.conf.d/archiso.conf'
archiso_image="/boot/initramfs-linux.img"
@@ -0,0 +1,7 @@
# The broadcom-wl package requires some modules to be disabled in order to use
# wl. Since the ISO image needs to cover many hardware cases, this file
# overrides the default blacklist in /usr/lib/modprobe.d/
#
# If you need to use wl, you may need to delete this file, then `rmmod` any
# already-loaded modules that are now blacklisted before proceeding to modprobe
# wl itself.
+11
View File
@@ -0,0 +1,11 @@
To install Arch Linux follow the installation guide:
https://wiki.archlinux.org/title/Installation_guide
For Wi-Fi, authenticate to the wireless network using the iwctl utility.
For mobile broadband (WWAN) modems, connect with the mmcli utility.
Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
After connecting to the internet, the installation guide can be accessed
via the convenience script Installation_guide.
                                          
@@ -0,0 +1,25 @@
# pacman.conf for the LIVE system and (via unpackfs) the installed target.
# [tanin]'s DB-signing key is imported into the keyring by customize_airootfs.sh,
# so Optional TrustAll verifies cleanly here (unlike the build conf which uses Never).
[options]
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
ParallelDownloads = 5
Color
ILoveCandy
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
[tanin]
SigLevel = Optional TrustAll
Server = https://git.openbureau.ch/api/packages/karim/arch/tanin/$arch
@@ -0,0 +1,13 @@
# remove from airootfs!
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = pacman-mirrorlist
[Action]
Description = Uncommenting HTTPS mirrors in /etc/pacman.d/mirrorlist...
When = PostTransaction
Depends = pacman-mirrorlist
Depends = sed
Exec = /usr/bin/sed -E -i 's/#(Server = https:)/\1/g' /etc/pacman.d/mirrorlist
@@ -0,0 +1,18 @@
# remove from airootfs!
# As a workaround for https://bugs.archlinux.org/task/49347 , remove pacman hooks specific to the ISO build process.
# If not, they would be used when pacstrap is run in the live environment.
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Description = Work around FS#49347 by removing custom pacman hooks that are only required during ISO build...
When = PostTransaction
Depends = sh
Depends = coreutils
Depends = grep
Exec = /bin/sh -c "rm -- $(grep -Frl 'remove from airootfs' /etc/pacman.d/hooks/)"
@@ -0,0 +1,32 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsBNBGo1eZsBCADJBsWkBZL08x/4d/mftfd30rcRkQJVDX3eEMHaZWeUSLfGt5Hj
m7fYnwnBK29g04UTCjDKRGsvOqukAJQUXGLpLxSPJwsUH+kVKv+8/RCXtrQ6HTCN
auyZGQ3ST8kcAQ+7jntumTehBt+z4LRGMow71W2JL1oqkMK9hEgAA7dqwEWN4K0w
DMSd9iZOpN5PPdvVlTsvxU6JflfyLOS3W+geyL2+zFQWMmCcAqkPxTH6yNAfaoLI
OGR4Mg6MXXdAXbzQKI90445fWGsUX/Ch5ZSWJhJ3wqjUM3r99PErL+C/p0r5wTqv
LFkjZvauI+oLUZwXrP93qfzTG/iChBG+5sJLABEBAAHNDyhBcmNoIFJlZ2lzdHJ5
KcLAuwQTAQgAbwWCajV5mwILBwkQtv3zViBq9PY1FAAAAAAAHAAQc2FsdEBub3Rh
dGlvbnMub3BlbnBncGpzLm9yZ/ekKg/zx/iqmv/2hOAR9m8CFQgCFgACGQECmwMC
HgEWIQRj8EFYeTI/a/4Pv7K2/fNWIGr09gAAdPIIAI4b/4C83biB4yD10w/u9Feb
s4fn0nauZ/ayZ1JJaq20Ss2pBZaqETxNdIi9sQpno9BXhBRaNdd6k7YIUK7XTylr
lk6V6Rhz6NIquGZHmfp1oszL4FjLUM9QoFWQaRY76psBNHWto/GgPpq8GFtVxmVj
NhOpm/7EcGhniBS+engub7vazVpEIqPycKBBbKSxTvo3hVqsSJpaR2vB1aiLedvY
luYfu/OIhT7SOOdjYTT18kMJxlwwSnhbl1cl47Jcd/1iQB5nwrWnZy28osfsIhEd
4lxppWcgQDXWbzBV57HiTbfnNCncmBIhoTmCKRxosWJPiligeqsqoty/B7lBx47O
wE0EajV5mwEIAO800GVtfe0ZWs+LljaKgkrwWi/u+dsVFgRNWdmqtOBWdszVdxyz
M0LsNMHHOxAWFfjFFbSO9D06aHgmvzLH0c+fgaJeliXFMYS9nOKS7Q6djnjoYtZc
CPxac0JlcLiysHyBdatjHHZr6KZvGaoSobzEfASpfYpScvEyGvi3KN2xD6ssw7AY
GiPof+vAmsfDn0OFo1WRk7eEnoT7JvUx3RrDatXLvBcQRf+49AJvf2lBv0c4tnc8
9O71wleTHZjL8x0oc3tFDCMBfSGmLzpOaTtgwCPI99yzHeGJGP7JyjUWSAi6WkX4
COLPhufJC/pJSrvoLa1MzUBU+jfTkJnn8ZkAEQEAAcLArAQYAQgAYAWCajV5mwkQ
tv3zViBq9PY1FAAAAAAAHAAQc2FsdEBub3RhdGlvbnMub3BlbnBncGpzLm9yZzPl
jzz26YEAPcqM+A/M9x8CmwwWIQRj8EFYeTI/a/4Pv7K2/fNWIGr09gAAtaMH/3hS
njGRszJFLsFNUYzgKdv1YYIENsFzSsu00CztKUrYVQxAEOK22mB3a9/3jPlJFSkS
WR8D2rbC2/HUKhRnHomb8Mri6HzVmGEORuE5kNnZd3ij+Dnv7EsNC7DXmuoCZaFI
FKYinsLEpo0bZOACaJpGTH4HqNM49Mrq2vREnuDtPdHGEYOs/+VqBt7tpmpIxGLd
TsJNtdroThqle9ghaCwcSqF4YatTGsNpQI68OmkmQc1ybxhzpRdwajrdTrio2pI9
ZkfLRBu7pRjn5ekDX4JUNkC1VyO4BuZutjtFRh8YAB0TbFfPmdn3i4/gI2u5rSi1
UT+fYccVqz5tKm/iXTY=
=6SFS
-----END PGP PUBLIC KEY BLOCK-----
+1
View File
@@ -0,0 +1 @@
root:x:0:0:root:/root:/usr/bin/zsh
+1
View File
@@ -0,0 +1 @@
/run/systemd/resolve/stub-resolv.conf
+1
View File
@@ -0,0 +1 @@
root::14871::::::
@@ -0,0 +1,3 @@
# Allow root login using password authentication
PasswordAuthentication yes
PermitRootLogin yes
@@ -0,0 +1,2 @@
[Journal]
Storage=volatile
@@ -0,0 +1,4 @@
[Login]
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore
@@ -0,0 +1,22 @@
[Match]
Type=ether
# Exclude virtual Ethernet interfaces
Kind=!*
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
MulticastDNS=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=100
[IPv6AcceptRA]
RouteMetric=100
@@ -0,0 +1,20 @@
[Match]
Type=wlan
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
MulticastDNS=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=600
[IPv6AcceptRA]
RouteMetric=600
@@ -0,0 +1,19 @@
[Match]
Type=wwan
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=700
[IPv6AcceptRA]
RouteMetric=700
@@ -0,0 +1,2 @@
[Network]
IPv6PrivacyExtensions=yes
@@ -0,0 +1,4 @@
# Default systemd-resolved configuration for archiso
[Resolve]
MulticastDNS=yes
@@ -0,0 +1 @@
/dev/null
@@ -0,0 +1,10 @@
[Unit]
Description=Choose mirror from the kernel command line
ConditionKernelCommandLine=mirror
[Service]
Type=oneshot
ExecStart=/usr/local/bin/choose-mirror
[Install]
WantedBy=multi-user.target
@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-config.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-final.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-local.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-main.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-network.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/ModemManager.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-resolved.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-timesyncd.service
@@ -0,0 +1,8 @@
[Unit]
Description=Temporary /etc/pacman.d/gnupg directory
[Mount]
What=tmpfs
Where=/etc/pacman.d/gnupg
Type=tmpfs
Options=mode=0755,noswap
@@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin root --noclear %I 38400 linux
@@ -0,0 +1,13 @@
[Unit]
Description=Unmute All Sound Card Controls For Use With The Live Arch Environment
# This needs to run after the audio device becomes available.
Wants=systemd-udev-settle.service
After=systemd-udev-settle.service sound.target
ConditionKernelCommandLine=accessibility=on
[Service]
Type=oneshot
ExecStart=/usr/local/bin/livecd-sound -u
[Install]
WantedBy=sound.target
@@ -0,0 +1,20 @@
[Unit]
Description=Screen reader service
After=livecd-alsa-unmuter.service
Before=getty@tty1.service
ConditionKernelCommandLine=accessibility=on
[Service]
Type=oneshot
TTYPath=/dev/tty13
ExecStartPre=/usr/bin/chvt 13
ExecStart=/usr/local/bin/livecd-sound -p
ExecStartPost=/usr/bin/chvt 1
ExecStartPost=systemctl start espeakup.service
StandardInput=tty
TTYVHangup=yes
TTYVTDisallocate=yes
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
@@ -0,0 +1 @@
/usr/lib/systemd/system/ModemManager.service
@@ -0,0 +1 @@
../choose-mirror.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/hv_fcopy_daemon.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/hv_kvp_daemon.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/hv_vss_daemon.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/iwd.service
@@ -0,0 +1 @@
/etc/systemd/system/livecd-talk.service
@@ -0,0 +1 @@
../pacman-init.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/sshd.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-resolved.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/vboxservice.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/vmtoolsd.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/vmware-vmblock-fuse.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd-wait-online.service
@@ -0,0 +1,15 @@
[Unit]
Description=Initializes Pacman keyring
Requires=etc-pacman.d-gnupg.mount
After=etc-pacman.d-gnupg.mount time-sync.target
BindsTo=etc-pacman.d-gnupg.mount
Before=archlinux-keyring-wkd-sync.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/pacman-key --init
ExecStart=/usr/bin/pacman-key --populate
[Install]
WantedBy=multi-user.target
@@ -0,0 +1 @@
/usr/lib/systemd/system/pcscd.socket
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.socket
@@ -0,0 +1 @@
../livecd-alsa-unmuter.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-time-wait-sync.service
@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-timesyncd.service
@@ -0,0 +1,6 @@
# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist,
# network-online.target gets needlessly delayed.
# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any