diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2017-05-21 10:51:01 +0200 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2017-05-21 10:51:01 +0200 |
| commit | d5596d5df2fa66f4c1ccdc62b405e14173f22e6f (patch) | |
| tree | 252be169cda052db79e337eeb7384686305ca0b5 /modules | |
| parent | cee2bb93cc35f1c42d2ac54a96b19e3eebc34f82 (diff) | |
programs-info: add module and run install-info on system packages.
Fixes #25
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/environment/default.nix | 9 | ||||
| -rw-r--r-- | modules/programs/info/default.nix | 35 |
2 files changed, 42 insertions, 2 deletions
diff --git a/modules/environment/default.nix b/modules/environment/default.nix index 492ff0a..5ea2e08 100644 --- a/modules/environment/default.nix +++ b/modules/environment/default.nix @@ -43,6 +43,12 @@ in { description = "A list of profiles used to setup the global environment."; }; + environment.postBuild = mkOption { + type = types.lines; + default = ""; + description = "Commands to execute when building the global environment."; + }; + environment.extraOutputsToInstall = mkOption { type = types.listOf types.str; default = []; @@ -125,7 +131,6 @@ in { environment.pathsToLink = [ "/bin" "/lib" - "/share/info" "/share/locale" ]; @@ -146,7 +151,7 @@ in { system.path = pkgs.buildEnv { name = "system-path"; paths = cfg.systemPackages; - inherit (cfg) pathsToLink extraOutputsToInstall; + inherit (cfg) postBuild pathsToLink extraOutputsToInstall; }; system.build.setEnvironment = concatStringsSep "\n" exportVariables; diff --git a/modules/programs/info/default.nix b/modules/programs/info/default.nix new file mode 100644 index 0000000..de4baa4 --- /dev/null +++ b/modules/programs/info/default.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.info; +in + +{ + options = { + programs.info.enable = mkOption { + type = types.bool; + default = true; + description = "Whether to enable info pages and the <command>info</command> command."; + }; + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.texinfoInteractive ]; + + environment.pathsToLink = [ "/info" "/share/info" ]; + environment.extraOutputsToInstall = [ "info" ]; + + environment.postBuild = '' + if test -w $out/share/info; then + shopt -s nullglob + for i in $out/share/info/*.info $out/share/info/*.info.gz; do + ${pkgs.texinfoInteractive}/bin/install-info $i $out/share/info/dir + done + fi + ''; + + }; +} |
