about summary refs log tree commit diff
path: root/nixos/modules/config/system-path.nix
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2015-08-17 16:04:16 +0000
committerJan Malakhovski <oxij@oxij.org>2015-08-18 18:42:57 +0000
commitc6256c0e3e4292080b8574a483bdfce4b7d81b5f (patch)
tree4053ba416f414cc10b0a48c71b25d6818581fc45 /nixos/modules/config/system-path.nix
parentfea03379d635800ca9e96f36467f80d5d5189357 (diff)
downloadnixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar.gz
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar.bz2
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar.lz
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar.xz
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.tar.zst
nixlib-c6256c0e3e4292080b8574a483bdfce4b7d81b5f.zip
nixos: generate infodirs directly in system-path
`man 1 info` says:

   The first non-option argument, if present, is the menu entry to
   start from; it is searched for in all `dir' files along INFOPATH.
   If it is not present, info merges all `dir' files and shows the
   result. Any remaining arguments are treated as the names of menu
   items relative to the initial node visited.

Which means that this does what previous programs/info did and #8519
(on-the-fly infodir generation for Emacs) wanted to do, but for both
programs.
Diffstat (limited to 'nixos/modules/config/system-path.nix')
-rw-r--r--nixos/modules/config/system-path.nix8
1 files changed, 8 insertions, 0 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
         '';
     };