summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/config/system-path.nix8
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/info.nix38
3 files changed, 8 insertions, 39 deletions
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index ec112b63b2fc..3a9a09ee87c1 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -45,6 +45,7 @@ let
       pkgs.strace
       pkgs.su
       pkgs.time
+      pkgs.texinfoInteractive
       pkgs.utillinux
       extraManpages
     ];
@@ -138,6 +139,13 @@ in
           if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then
               $out/bin/update-desktop-database $out/share/applications
           fi
+
+          if [ -x $out/bin/install-info -a -w $out/share/info ]; then
+            shopt -s nullglob
+            for i in $out/share/info/*.info $out/share/info/*.info.gz; do
+                $out/bin/install-info $i $out/share/info/dir
+            done
+          fi
         '';
     };
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 733f3c5d853d..6586b36968aa 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -61,7 +61,6 @@
   ./programs/command-not-found/command-not-found.nix
   ./programs/dconf.nix
   ./programs/environment.nix
-  ./programs/info.nix
   ./programs/ibus.nix
   ./programs/kbdlight.nix
   ./programs/light.nix
diff --git a/nixos/modules/programs/info.nix b/nixos/modules/programs/info.nix
deleted file mode 100644
index 253f9e877693..000000000000
--- a/nixos/modules/programs/info.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{config, pkgs, ...}:
-
-let
-
-  texinfo = pkgs.texinfoInteractive;
-
-  # Quick hack to make the `info' command work properly.  `info' needs
-  # a "dir" file containing all the installed Info files, which we
-  # don't have (it would be impure to have a package installation
-  # update some global "dir" file).  So this wrapper script around
-  # "info" builds a temporary "dir" file on the fly.  This is a bit
-  # slow (on a cold cache) but not unacceptably so.
-  infoWrapper = pkgs.writeScriptBin "info"
-    ''
-      #! ${pkgs.stdenv.shell}
-
-      dir=$(mktemp --tmpdir -d "info.dir.XXXXXX")
-
-      if test -z "$dir"; then exit 1; fi
-
-      trap 'rm -rf "$dir"' EXIT
-
-      shopt -s nullglob
-
-      for i in $(IFS=:; echo $INFOPATH); do
-          for j in $i/*.info; do
-              ${texinfo}/bin/install-info --quiet $j $dir/dir
-          done
-      done
-
-      INFOPATH=$dir:$INFOPATH ${texinfo}/bin/info "$@"
-    ''; # */
-
-in
-
-{
-  environment.systemPackages = [ infoWrapper texinfo ];
-}