2026-04-29 16:14:59 +02:00
|
|
|
{ pkgs, stdenvNoCC }:
|
2025-03-10 23:54:40 +01:00
|
|
|
|
2026-04-29 16:09:15 +02:00
|
|
|
with pkgs;
|
2026-04-29 16:14:59 +02:00
|
|
|
with stdenvNoCC;
|
2025-03-10 23:54:40 +01:00
|
|
|
|
|
|
|
|
mkDerivation {
|
2026-04-29 16:09:15 +02:00
|
|
|
pname = "journalctl-last-invocation";
|
|
|
|
|
version = "2026-04-29";
|
2025-03-10 23:54:40 +01:00
|
|
|
|
2026-04-29 16:09:15 +02:00
|
|
|
phases = [ "createSourcesPhase" "installPhase" ];
|
2025-03-10 23:54:40 +01:00
|
|
|
|
2025-03-15 13:59:05 +01:00
|
|
|
createSourcesPhase = ''
|
2026-04-29 16:09:15 +02:00
|
|
|
# Same directory structure that `unpackPhase` would use.
|
2025-03-15 14:01:46 +01:00
|
|
|
mkdir -p /build/source
|
|
|
|
|
|
2025-03-15 13:59:05 +01:00
|
|
|
cat <<- EOF > /build/source/journalctl-last-invocation
|
2025-03-10 23:54:40 +01:00
|
|
|
#!${bash}/bin/sh
|
|
|
|
|
|
2026-04-29 16:09:15 +02:00
|
|
|
exec ${systemd}/bin/journalctl _SYSTEMD_INVOCATION_ID=\$(${systemd}/bin/systemctl show --value --property=InvocationID \$1)
|
2025-03-10 23:54:40 +01:00
|
|
|
EOF
|
2026-04-29 16:09:15 +02:00
|
|
|
'';
|
2025-03-15 13:59:05 +01:00
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
|
mkdir -p $out/bin
|
|
|
|
|
|
|
|
|
|
cp /build/source/journalctl-last-invocation $out/bin/
|
2025-03-10 23:54:40 +01:00
|
|
|
|
2025-03-15 13:59:05 +01:00
|
|
|
chmod +x $out/bin/journalctl-last-invocation
|
2026-04-29 16:09:15 +02:00
|
|
|
'';
|
2025-03-10 23:54:40 +01:00
|
|
|
}
|