This makes things more consistent with how we pass in utillinuxMinimal.
There's already a minimal argument in the gnupg derivation, but this
gnupg is even more minimal. Instead of defining a gnupgSuperMinimal, we
define it inline inside systemd.
systemd 246 started baking in some strings into $lib/lib/libsystemd.so
which points back to $out.
It might be desirable to not have these strings in there, but instead
have systemd ask the running manager for the really active paths via
IPC, or patch in some more mutable paths (like /run/current-system/…) -
but as long as it is as it is, we should probably should just stop
producing the `lib` output for now.
This does increase the runtime closure for installations not pulling in
systemd.out, or linking against multiple libsystemd's, but doesn't
increase the runtime closure for NixOS itself, as it needs systemd
anyways, and doesn't link against multiple variants of it.
We can also remove the aarch64-specific $out/lib/systemd/catalog hack,
and revive it at a later time if the `lib` output is reintroduced.
"The former date based internal versioning (snapshot) is replaced by the
regular version numbering which corresponds to the kernel version." [0]
File changes (additions/removals):
+share/man/man8/ip-mptcp.8.gz
+share/man/man8/tc-gate.8.gz
[0]: https://marc.info/?l=linux-netdev&m=159681449423365
This package previously did override the systemd package, and instructed
ninja, systemd's previous build system, to only build the
cryptsetup-specific systemd generators (plus some manual rpath
massaging, as ninja install wasn't used).
Afterwards, users were expected to add this package to their
`systemd.generator-packages` (or since
https://github.com/NixOS/nixpkgs/pull/65376/files `systemd.packages`)
NixOS module options, so systemd will use these generators.
As the previous commit added cryptsetup support directly to the systemd
package (and pkgs.systemd now already ships the cryptsetup generators),
we don't need another package shipping the same generators.
There's a circular dependency to systemd via cryptsetup and lvm2
(systemd -> cryptsetup -> lvm2 -> udev=systemd).
However, cryptsetup only really needs the devmapper component shipped
with lvm2. So build `pkgs.cryptsetup` with a lvm2 that doesn't come with
udev.