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 <nixpkgs> 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 <nixpkgs/lib>. 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 <aszlig@redmoonstudios.org> Cc: @vcunat
This commit is contained in:
parent
42f1f442e2
commit
6fec28e043
@ -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');
|
||||
|
Loading…
Reference in New Issue
Block a user