about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Fellinger <github@manveru.dev>2019-09-16T10·27+0200
committerVincent Ambo <github@tazj.in>2019-09-17T14·29+0100
commit7b1e389c664bca731be8ba66730be946a904d84c (patch)
tree9fa17f4145999177b9a6a0c5d761a74f91583e9f
parentafd2fd5058d14c99ca60e9be28ee778f5df1958d (diff)
Add path type
-rw-r--r--default.nix1
-rw-r--r--tests.nix3
2 files changed, 3 insertions, 1 deletions
diff --git a/default.nix b/default.nix
index 17564b61b9..9cd09e6440 100644
--- a/default.nix
+++ b/default.nix
@@ -97,6 +97,7 @@ in lib.fix (self: {
   bool     = typedef "bool" isBool;
   float    = typedef "float" isFloat;
   string   = typedef "string" isString;
+  path     = typedef "path" (x: typeOf x == "path");
   drv      = typedef "derivation" (x: isAttrs x && x ? "type" && x.type == "derivation");
   function = typedef "function" (x: isFunction x || (isAttrs x && x ? "__functor"
                                                  && isFunction x.__functor));
diff --git a/tests.nix b/tests.nix
index 344f2c1f59..f2380a7709 100644
--- a/tests.nix
+++ b/tests.nix
@@ -12,6 +12,7 @@ deepSeq rec {
     (float 13.37)
     (string "Hello!")
     (function (x: x * 2))
+    (path /nix)
   ];
 
   # Test that polymorphic types work as intended
@@ -76,7 +77,7 @@ deepSeq rec {
 
   # Test that all types are types.
   testTypes = map type [
-    any bool drv float int string
+    any bool drv float int string path
 
     (attrs int)
     (either int string)