From 6ccc6bf4d2a6fac38236f7453149e402e443721e Mon Sep 17 00:00:00 2001 From: r-vdp Date: Wed, 4 Sep 2024 12:17:39 +0200 Subject: [PATCH] initrd: emit a warning when tmpfiles config is created manually --- nixos/modules/system/boot/systemd/tmpfiles.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/nixos/modules/system/boot/systemd/tmpfiles.nix b/nixos/modules/system/boot/systemd/tmpfiles.nix index f609da314c86..44c72f2768cc 100644 --- a/nixos/modules/system/boot/systemd/tmpfiles.nix +++ b/nixos/modules/system/boot/systemd/tmpfiles.nix @@ -163,6 +163,20 @@ in }; config = { + warnings = + let + paths = lib.filter (path: + path != null && lib.hasPrefix "/etc/tmpfiles.d/" path + ) (map (path: path.target) config.boot.initrd.systemd.storePaths); + in + lib.optional (lib.length paths > 0) (lib.concatStringsSep " " [ + "Files inside /etc/tmpfiles.d in the initrd need to be created with" + "boot.initrd.systemd.tmpfiles.settings." + "Creating them by hand using boot.initrd.systemd.contents or" + "boot.initrd.systemd.storePaths will lead to errors in the future." + "Found these problematic files: ${lib.concatStringsSep ", " paths}" + ]); + systemd.additionalUpstreamSystemUnits = [ "systemd-tmpfiles-clean.service" "systemd-tmpfiles-clean.timer"