diff --git a/modules/lib/strings.nix b/modules/lib/strings.nix index e8e700c51..92e0d7023 100644 --- a/modules/lib/strings.nix +++ b/modules/lib/strings.nix @@ -87,4 +87,11 @@ rec { # Returns true for strings like `SCREAMING_SNAKE_CASE`, `SOME_CONSTANT`. # Must be all uppercase letters/numbers, with words separated by single underscores. isScreamingSnakeCase = str: builtins.match "^[A-Z0-9]+(_[A-Z0-9]+)*$" str != null; + + # Check if the content is path-like (a path, a Nix store path string, or a derivation). + isPathLike = + content: + lib.isPath content + || (builtins.isString content && lib.hasPrefix "${builtins.storeDir}/" content) + || lib.isDerivation content; }