Skip to content

Small fixes for /etc in sysupdate - #347

Open
hecknt wants to merge 3 commits into
zirconium-dev:mainfrom
hecknt:hecknt/sysupdate-etc-fixups
Open

hecknt wants to merge 3 commits into
zirconium-dev:mainfrom
hecknt:hecknt/sysupdate-etc-fixups

Conversation

@hecknt

@hecknt hecknt commented Jul 20, 2026

Copy link
Copy Markdown
Member

Note before reading this: I think that the way /etc in sysupdate Zirc images should be completely changed. I personally like the way that GnomeOS handles their /etc. They use a mutable confext, which allows for seamless updates to /etc between image upgrades without locking the ability to edit these files in /etc behind a symlink to a read-only /usr/share/factory/etc directory. Some of these files should be editable. Until/unless we change to something similar, I will make small fixes here and there to sysupdate's /etc as I see them during testing.

The actual message for this PR:

Most of these changes are fairly self-explanatory. The change to /usr/share/factory/etc/greetd/config.toml is to get around an issue that only occurs on sysupdate images, seemingly because the /etc/greetd/config.toml file is already populated on bootc images before tmpfiles can get its hands on it.

When greetd launches, it shows niri's keybinds. We shouldn't populate this config ourselves by default, dms-greeter already has a default niri config that it falls back to.
image

hecknt added 3 commits July 20, 2026 03:37
This serves no purpose other than to make dms-greeter mildly more broken
than it should be. See the screenshot in the PR associated with this
commit for more info.

Signed-off-by: Hec <hec@heccraft.com>
So, there's a funny story about this. Getty and kmscon both seem to read
any issue files located at the following paths:

- /etc/issue
- /etc/issue.d/*
- /usr/lib/issue
- /usr/lib/issue.d/*

This is intended behavior! It will read out all of those issue
files in some kind of order, meaning that on most systems, if you
link /etc/issue -> /usr/lib/issue, it will display the issue twice
on getty. You're supposed to link this to a different path, like
/usr/share/factory/etc/issue.

Like always, Fedora is special.

They get around this not by doing things the correct way, but by
instead modifying the fucking service file for kmscon and getty to
**ignore** /usr/lib/issue! Why? Why the fuck are we patching CORE
SERVICE FILES to get around your stupid ass tech debt? Just symlink it
to /usr/share/factory/etc or something. There's a whole patch in the
kmscon package for this. Just be normal.

Please. Fuck off. I know this is dumb and is absolutely an overreaction,
but there's examples of this **everywhere** in this distribution. Stop
deviating from upstream so fucking much.

Signed-off-by: Hec <hec@heccraft.com>
`usermod` will cry and fail if you don't have these files pre-existing.
I feel like they should just be created by tmpfiles out of the box, but
also systemd doesn't like subuids anyways? I don't know.

Signed-off-by: Hec <hec@heccraft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant