From 6fec28e04313161b0d330fc3a4d3dfa9f85e53f9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Jan 2016 19:34:00 +0100 Subject: [PATCH] nixos-manual: Further simplify stripAnyPrefixes First of all this fixes an evaluation error I introduced in ae466ba, which wasn't triggered by any of my own tests against the change because there are usually no NixOS options that are declared outside of the tree. I renamed the attribute name from "fn" to "fileName" first and later to "fullPath" but forgot one still occuring "filename". Thanks to @vcunat for noticing this. Another thing that he pointed out was that the "stripPrefix" function can be factored away entirely, because it's very similar to "removePrefix" in . Unfortunately we can't use "removePrefix" as is, because we need to account for the final shlash. So instead of removing it twice and/or retaining "stripPrefix", let's append a shlash on every "prefixesToStrip" and we can use "removePrefix" as is. Tested with: taalo-build nixos/release.nix -A tests.installer.simple.x86_64-linux And: w3m -dump "$( nix-build nixos/release.nix -A manual.x86_64-linux )/share/doc/nixos/options.html" Signed-off-by: aszlig Cc: @vcunat --- nixos/doc/manual/default.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index de3f9a95d95a..b4eb3cde81bf 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -29,15 +29,8 @@ let # # E.g. if some `options` came from modules in ${pkgs.customModules}/nix, # you'd need to include `extraSources = [ pkgs.customModules ]` - prefixesToStrip = map toString ([ ../../.. ] ++ extraSources); - - stripPrefix = prefix: fullPath: - if substring 0 (stringLength prefix) fullPath == prefix then - substring (stringLength prefix + 1) 1000 fullPath - else - fileName; - - stripAnyPrefixes = fullPath: fold stripPrefix fullPath prefixesToStrip; + prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources); + stripAnyPrefixes = flip (fold removePrefix) prefixesToStrip; # Convert the list of options into an XML file. optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList');