patchstack/customized main

Enable greeters, starting after first-boot-complete.target

This allows a user to be created by systemd-firstboot.service, after
which the greeter can be launched.
Trying to upstream in https://github.com/systemd/particleos/pull/87

28 files changed+4 -2
  .editorconfig
3
  README.md
2
  mkosi.conf
4
+ .obs/workflows.yml
13
+ mkosi.conf.d/debian/mkosi.postinst.chroot
9
  mkosi.conf.d/fedora/mkosi.conf
1
  mkosi.profiles/desktop/mkosi.conf
2
  mkosi.profiles/kde/mkosi.conf
2
  mkosi.profiles/kde/mkosi.conf.d/fedora.conf
4
  mkosi.extra/usr/lib/tmpfiles.d/etc.conf
37
  mkosi.profiles/desktop/mkosi.conf.d/fedora/mkosi.conf
2
  mkosi.profiles/gnome/mkosi.conf.d/debian/mkosi.conf
4
  mkosi.profiles/gnome/mkosi.conf.d/fedora/mkosi.conf
4
  mkosi.extra/usr/lib/systemd/system-preset/10-particleos.preset
6
+ mkosi.profiles/gnome/mkosi.conf.d/debian/mkosi.conf.d/gnome-xsession.conf
13
- mkosi.conf.d/debian/mkosi.extra/usr/lib/system-preset/20-particleos-debian.preset
4
  mkosi.conf.d/debian/mkosi.extra/usr/lib/tmpfiles.d/etc-debian.conf
14
- mkosi.conf.d/fedora/mkosi.extra/usr/lib/tmpfiles.d/etc-fedora.conf
6
- mkosi.extra/usr/lib/systemd/system/multi-user.target.wants/man-db-cache-update.service
1
+ mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-13-particleos-obs-current.conf
3
- mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-particleos-obs-current.conf
3
+ mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-testing-particleos-obs-current.conf
3
- mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-41-particleos-obs-current.conf
3
+ mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-42-particleos-obs-current.conf
3
  mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-rawhide-particleos-obs-current.conf
2
+ mkosi.conf.d/debian/mkosi.extra/usr/lib/systemd/system-preset/20-particleos-debian.preset
4
+ mkosi.profiles/gnome/mkosi.extra/usr/lib/systemd/system/homed-accounts-workaround.service
14
  mkosi.profiles/kde/mkosi.extra/usr/lib/sddm/sddm.conf.d/particleos.conf
5
.editorconfig+3
             @@ -10,3 +10,6 @@    10     10[*.conf]    11     11indent_style = space    12     12indent_size = 4           13           14[mkosi.passphrase]           15insert_final_newline = false
README.md+1 -1
             @@ -15,7 +15,7 @@    15     15image.    16     16    17     17The ParticleOS image is built using [mkosi](https://github.com/systemd/mkosi).    18       You will need to install the current main branch of mkosi to build current            18You will need to install the current main branch of mkosi to build current    19     19ParticleOS images.    20     20    21     21First, configure the variant you'd like to build in `mkosi.local.conf`. For a
mkosi.conf+1 -3
             @@ -5,6 +5,7 @@     5      5     6      6[Build]     7      7ToolsTree=default            8ToolsTreeProfiles=misc,runtime,gui     8      9History=yes     9     10CacheDirectory=mkosi.cache    10     11Incremental=yes             @@ -77,8 +78,6 @@    77     78        tar    78     79        tree    79     80        udev    80               # needed for fwupd?    81               udisks2    82     81        unzip    83     82        usbutils    84     83        util-linux             @@ -106,7 +105,6 @@   106    105RAM=4G   107    106CPUs=4   108    107Ephemeral=yes   109       RuntimeScratch=no   110    108Credentials=   111    109        passwd.plaintext-password.root=particleos   112    110        tty.serial.hvc0.agetty.autologin=particleos
.obs/workflows.yml+13
             @@ -0,0 +1,13 @@            1rebuild:            2  steps:            3    - trigger_services:            4        project: system:systemd            5        package: particleos-debian            6    - trigger_services:            7        project: system:systemd            8        package: particleos-fedora            9  filters:           10    event: push           11    branches:           12      only:           13        - obs
mkosi.conf.d/debian/mkosi.postinst.chroot+9
             @@ -0,0 +1,9 @@            1#!/bin/bash            2# SPDX-License-Identifier: LGPL-2.1-or-later            3set -e            4            5# Debian/Ubuntu PAM patches break /usr/lib/pam.d/ so copy to factory            6# TODO: drop after https://salsa.debian.org/vorlon/pam/-/merge_requests/26 is merged            7if [[ -f /usr/lib/tmpfiles.d/debian.conf ]]; then            8    sed -i '/\/etc\/pam.d/d' /usr/lib/tmpfiles.d/debian.conf            9fi
mkosi.conf.d/fedora/mkosi.conf-1
             @@ -14,7 +14,6 @@    14     14        distribution-gpg-keys    15     15        dnf5    16     16        fido2-tools    17               firewalld    18     17        git-core    19     18        integritysetup    20     19        iproute
mkosi.profiles/desktop/mkosi.conf+2
             @@ -2,6 +2,7 @@     2      2     3      3[Content]     4      4Packages=            5        bluez     5      6        bolt     6      7        desktop-file-utils     7      8        pax-utils             @@ -8,6 +9,7 @@     8      9        pgpdump     9     10        pipewire    10     11        pipewire-alsa           12        qemu-guest-agent    11     13        wireless-regdb    12     14        xdg-desktop-portal    13     15
mkosi.profiles/kde/mkosi.conf-2
             @@ -8,7 +8,6 @@     8      8        sddm     9      9        bluedevil    10     10        breeze-gtk    11               gwenview    12     11        kde-gtk-config    13     12        kdeplasma-addons    14     13        kgamma             @@ -28,7 +27,6 @@    28     27        plasma-workspace-wallpapers    29     28        powerdevil    30     29        sddm-kcm    31               upower    32     30        xdg-desktop-portal-kde    33     31        flatpak-kcm    34     32        konsole
mkosi.profiles/kde/mkosi.conf.d/fedora.conf-4
             @@ -8,7 +8,3 @@     8      8        plasma-discover     9      9        plasma-drkonqi    10     10        plasma-print-manager    11               sddm-breeze    12               plasma-discover-flatpak    13               plasma-discover-notifier    14               plasma-firewall-firewalld
mkosi.extra/usr/lib/tmpfiles.d/etc.conf+16 -21
             @@ -3,6 +3,7 @@     3      3# This overrides the same file from systemd since we want to symlink everything     4      4# into /etc instead of copying so updates to /usr propagate properly.     5      5L /etc/os-release - - - - ../usr/lib/os-release            6L /etc/mkosi-manifest - - - - ../usr/lib/mkosi-manifest     6      7L+ /etc/mtab - - - - ../proc/self/mounts     7      8# Contains the default systemd locale     8      9L /etc/locale.conf             @@ -15,6 +16,9 @@    15     16L? /etc/bashrc    16     17L? /etc/bash.bashrc    17     18L? /etc/bash.bash_logout           19# TODO: drop once https://github.com/scop/bash-completion/pull/1399 is merged,           20# needed for shell completion of sd-run/run0           21L? /etc/bash_completion.d    18     22# Canonical location to look for certificates    19     23L? /etc/ca-certificates    20     24L? /etc/crypto-policies             @@ -51,25 +55,16 @@    51     55L /etc/fwupd    52     56# Required by gnome    53     57L? /etc/dconf    54       # Required by a bunch of binary symlinks in fedora    55       L? /etc/alternatives    56       # Required by man-db-cache-update.service    57       L? /etc/sysconfig/man-db    58       # sddm breaks otherwise, at least with homed?    59       L? /etc/sddm    60           61       ## TODO:    62           63       #firewalld    64       # this stuff from the `setup` package in Fedora is just kinda funny...    65       L? /etc/protocols    66       L? /etc/firewalld    67       L? /etc/logrotate.d/firewalld    68       L? /etc/modprobe.d/firewalld-sysctls.conf    69       L? /etc/sysconfig/firewalld    70           71       # lm_sensors    72       L? /etc/sysconfig/lm_sensors    73           74       # cups           58L? /etc/skel           59# CUPS is pulled in by GNOME, and fails if the configs are not there    75     60L? /etc/cups           61# On some distributions various binaries in /usr/bin are managed via           62# /etc/alternatives.           63L? /etc/alternatives           64# PackageKit does not run without /etc/PackageKit/ and GNOME stalls           65# logout/reboot if it doesn't run.           66L? /etc/PackageKit           67# ModemManager needds its dbus policy file           68L? /etc/dbus1/systemd.d/org.freedesktop.ModemManager1.conf           69# man fails without this in /etc/           70L? /etc/manpath.config
mkosi.profiles/desktop/mkosi.conf.d/fedora/mkosi.conf-2
             @@ -19,10 +19,8 @@    19     19        ModemManager    20     20        nvidia-gpu-firmware    21     21        NetworkManager    22               NetworkManager-wifi    23     22        pipewire-pulseaudio    24     23        steam-devices    25     24        tuned-ppd    26     25        google-noto-fonts-all    27               google-noto-color-emoji-fonts    28     26        wpa_supplicant
mkosi.profiles/gnome/mkosi.conf.d/debian/mkosi.conf+1 -3
             @@ -7,9 +7,7 @@     7      7Packages=     8      8        gnome-browser-connector     9      9        gnome-core    10               # TODO: enable when it integrates with homed    11               # gnome-initial-setup           10        gnome-initial-setup    12     11        gnome-keyring-pkcs11    13               gnome-session-xsession    14     12        gnome-software-plugin-flatpak    15     13        gnome-software-plugin-fwupd
mkosi.profiles/gnome/mkosi.conf.d/fedora/mkosi.conf+4
             @@ -5,4 +5,8 @@     5      5     6      6[Content]     7      7Packages=            8        adwaita-fonts-all     8      9        gdm           10        rsms-inter-fonts           11        rsms-inter-vf-fonts           12        default-fonts-core-emoji
mkosi.extra/usr/lib/systemd/system-preset/10-particleos.preset-6
             @@ -18,7 +18,6 @@    18     18    19     19# Disable avahi in favor of resolved    20     20disable avahi.*    21       disable avahi-daemon.*    22     21    23     22enable pcscd.service    24     23enable power-profiles-daemon.service             @@ -35,8 +34,3 @@    35     34enable sshd.socket    36     35enable ssh.socket    37     36enable sshd-keygen.service    38           39       enable firewalld.service    40           41       # Maybe man db    42       enable man-db-cache-update.service
mkosi.profiles/gnome/mkosi.conf.d/debian/mkosi.conf.d/gnome-xsession.conf+13
             @@ -0,0 +1,13 @@            1# SPDX-License-Identifier: LGPL-2.1-or-later            2            3[TriggerMatch]            4Distribution=debian            5Release=trixie            6            7[TriggerMatch]            8Distribution=ubuntu            9Release=|oracular           10Release=|plucky           11           12[Content]           13Packages=gnome-session-xsession
mkosi.conf.d/debian/mkosi.extra/usr/lib/system-preset/20-particleos-debian.preset-4
             @@ -1,4 +0,0 @@     1       # apt gets pulled in, but with /usr read-only doesn't make sense to run updates     2       disable apt-daily.timer     3       disable apt-daily-upgrade.timer     4       disable apt-listchanges.timer
mkosi.conf.d/debian/mkosi.extra/usr/lib/tmpfiles.d/etc-debian.conf-14
             @@ -9,20 +9,6 @@     9      9# On Debian/Ubuntu the nftable service fails if this config is not present    10     10L? /etc/nftables.conf    11     11    12       # Very basic stuff like awk and which is managed through alternatives    13       L? /etc/alternatives    14           15       # CUPS is pulled in by GNOME, and fails if the configs are not there    16       L? /etc/cups    17           18       # Needed to create users by GNOME's GUI    19       L? /etc/skel    20     12# These can be dropped once https://bugs.debian.org/1108017 is fixed    21     13L? /etc/adduser.conf    22     14L? /etc/deluser.conf    23           24       # PackageKit does not run without /etc/PackageKit/ and GNOME stalls logout/reboot if it doesn't run    25       L? /etc/PackageKit    26           27       # TODO: drop once https://github.com/scop/bash-completion/pull/1399 is merged, needed for shell completion of sd-run/run0    28       L? /etc/bash_completion.d
mkosi.conf.d/fedora/mkosi.extra/usr/lib/tmpfiles.d/etc-fedora.conf-6
             @@ -1,6 +0,0 @@     1       # SPDX-License-Identifier: LGPL-2.1-or-later     2            3       # Required to source dbus drop-in configurations from other packages like wpa_supplicant     4       L? /etc/dbus-1     5       # Required by by podman, at least for policy.json     6       L? /etc/containers
mkosi.extra/usr/lib/systemd/system/multi-user.target.wants/man-db-cache-update.service-1
             @@ -1,1 +0,0 @@     1       ../man-db-cache-update.service
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-13-particleos-obs-current.conf+3
             @@ -0,0 +1,3 @@            1title Debian 13 ParticleOS Current from OBS (Network Boot)            2architecture x64            3uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/debian_13_images/ParticleOS_x86-64.efi
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-particleos-obs-current.conf-3
             @@ -1,3 +0,0 @@     1       title Debian Testing ParticleOS Current from OBS (Network Boot)     2       architecture x64     3       uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/Debian_Testing_images/ParticleOS-x86-64.efi
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-debian-testing-particleos-obs-current.conf+3
             @@ -0,0 +1,3 @@            1title Debian Testing ParticleOS Current from OBS (Network Boot)            2architecture x64            3uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/debian_14_images/ParticleOS_x86-64.efi
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-41-particleos-obs-current.conf-3
             @@ -1,3 +0,0 @@     1       title Fedora 41 ParticleOS Current from OBS (Network Boot)     2       architecture x64     3       uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/Fedora_41_images/ParticleOS-x86-64.efi
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-42-particleos-obs-current.conf+3
             @@ -0,0 +1,3 @@            1title Fedora 42 ParticleOS Current from OBS (Network Boot)            2architecture x64            3uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/fedora_42_images/ParticleOS_x86-64.efi
mkosi.images/netesp/mkosi.extra/efi/loader/entries/90-fedora-rawhide-particleos-obs-current.conf+1 -1
             @@ -1,3 +1,3 @@     1      1title Fedora Rawhide ParticleOS Current from OBS (Network Boot)     2      2architecture x64     3       uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/Fedora_Rawhide_images/ParticleOS-x86-64.efi            3uki-url http://downloadcontentcdn.opensuse.org/repositories/system:/systemd/fedora_44_images/ParticleOS_x86-64.efi
mkosi.conf.d/debian/mkosi.extra/usr/lib/systemd/system-preset/20-particleos-debian.preset+4
             @@ -0,0 +1,4 @@            1# apt gets pulled in, but with /usr read-only doesn't make sense to run updates            2disable apt-daily.timer            3disable apt-daily-upgrade.timer            4disable apt-listchanges.timer
mkosi.profiles/gnome/mkosi.extra/usr/lib/systemd/system/homed-accounts-workaround.service+14
             @@ -0,0 +1,14 @@            1# SPDX-License-Identifier: LGPL-2.1-or-later            2# TODO: drop once https://gitlab.freedesktop.org/accountsservice/accountsservice/-/issues/89 is fixed            3            4[Unit]            5Description=Tell the accounts service about homed users            6After=systemd-homed.service accounts-daemon.service            7Before=systemd-user-sessions.service            8            9[Service]           10Type=oneshot           11ExecStart=/bin/bash -c "for n in $$(busctl call org.freedesktop.home1 /org/freedesktop/home1 org.freedesktop.home1.Manager ListHomes --json=pretty | jq -r '.data.[].[].[0]'); do busctl call org.freedesktop.Accounts /org/freedesktop/Accounts org.freedesktop.Accounts CacheUser s $$n; done"           12           13[Install]           14WantedBy=multi-user.target
mkosi.profiles/kde/mkosi.extra/usr/lib/sddm/sddm.conf.d/particleos.conf-5
             @@ -8,10 +8,5 @@     8      8[Theme]     9      9Current=breeze    10     10    11       [Users]    12       # At the very least, this seems to not be set to 60513 in Fedora 42;    13       # I needed to set it before my homed-managed user would show up    14       MaximumUid=60513    15           16     11[Wayland]    17     12CompositorCommand=kwin_wayland --no-global-shortcuts --no-lockscreen --locale1
jcgl updated patch to version 3
jcgl updated patch to version 2
jcgl created patch version 1