summary refs log tree commit diff
path: root/nixos/modules/installer
diff options
context:
space:
mode:
authorNicolas B. Pierron <nicolas.b.pierron@gmail.com>2014-12-20 20:30:19 +0100
committerNicolas B. Pierron <nicolas.b.pierron@gmail.com>2014-12-20 20:30:19 +0100
commit82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb (patch)
tree4804752c3216376268c8a9502b0c2e91d25077d6 /nixos/modules/installer
parentc9682a22ffc93a89b66c12cc4df7d0e022d17043 (diff)
downloadnixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar.gz
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar.bz2
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar.lz
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar.xz
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.tar.zst
nixlib-82a5f54c0de9bcdd01a6c7971fdd73e98c2738cb.zip
nixos-option: Support -I option.
Diffstat (limited to 'nixos/modules/installer')
-rw-r--r--nixos/modules/installer/tools/nixos-option.sh12
1 files changed, 10 insertions, 2 deletions
diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh
index ffd624227fbd..86210ecacae0 100644
--- a/nixos/modules/installer/tools/nixos-option.sh
+++ b/nixos/modules/installer/tools/nixos-option.sh
@@ -13,6 +13,7 @@ usage () {
 
 xml=false
 verbose=false
+nixPath=""
 
 option=""
 
@@ -26,6 +27,7 @@ for arg; do
         while test "$sarg" != "-"; do
           case $sarg in
             --*) longarg=$arg; sarg="--";;
+            -I) argfun="include_nixpath";;
             -*) usage;;
           esac
           # remove the first letter option
@@ -53,6 +55,9 @@ for arg; do
         var=$(echo $argfun | sed 's,^set_,,')
         eval $var=$arg
         ;;
+      include_nixpath)
+        nixPath="-I $arg $nixPath"
+        ;;
     esac
     argfun=""
   fi
@@ -69,14 +74,17 @@ fi
 #############################
 
 evalNix(){
-  result=$(nix-instantiate - --eval-only "$@" 2>&1)
+  result=$(nix-instantiate ${nixPath:+$nixPath} - --eval-only "$@" 2>&1)
   if test $? -eq 0; then
       cat <<EOF
 $result
 EOF
       return 0;
   else
-      sed -n '/error/ { s/, at (string):[0-9]*:[0-9]*//; p; }' <<EOF
+      sed -n '
+  /^error/ { s/, at (string):[0-9]*:[0-9]*//; p; };
+  /^warning: Nix search path/ { p; };
+' <<EOF
 $result
 EOF
       return 1;