lib.filesystem.pathType: Use new builtins.readFileType if available

Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
This commit is contained in:
Silvan Mosberger 2023-04-05 18:42:22 +02:00
parent 84a3d633d6
commit fcaa2b1097

View file

@ -32,7 +32,10 @@ in
pathType /some/file.nix pathType /some/file.nix
=> "regular" => "regular"
*/ */
pathType = path: pathType =
builtins.readFileType or
# Nix <2.14 compatibility shim
(path:
if ! pathExists path if ! pathExists path
# Fail irrecoverably to mimic the historic behavior of this function and # Fail irrecoverably to mimic the historic behavior of this function and
# the new builtins.readFileType # the new builtins.readFileType
@ -42,7 +45,8 @@ in
# "directory", since we know the filesystem root can't be anything else. # "directory", since we know the filesystem root can't be anything else.
else if dirOf path == path else if dirOf path == path
then "directory" then "directory"
else (readDir (dirOf path)).${baseNameOf path}; else (readDir (dirOf path)).${baseNameOf path}
);
/* /*
Whether a path exists and is a directory. Whether a path exists and is a directory.