writeTextFile: assert destination starting with a /

This patch adds an assertion to the writeTextFile trivial
builder, asserting that a specified destination starts with
a slash.

This matches the current behavior of the function and merely
provides a helpful error message.
This commit is contained in:
networkException
2024-09-22 19:56:04 +02:00
parent f0b6425d73
commit 6215daa520
@@ -86,6 +86,13 @@ rec {
, preferLocalBuild ? true
, derivationArgs ? { }
}:
assert lib.assertMsg (destination != "" -> (lib.hasPrefix "/" destination && destination != "/")) ''
destination must be an absolute path, relative to the derivation's out path,
got '${destination}' instead.
Ensure that the path starts with a / and specifies at least the filename.
'';
let
matches = builtins.match "/bin/([^/]+)" destination;
in