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,
|
# E.g. if some `options` came from modules in ${pkgs.customModules}/nix,
|
||||||
# you'd need to include `extraSources = [ pkgs.customModules ]`
|
# you'd need to include `extraSources = [ pkgs.customModules ]`
|
||||||
prefixesToStrip = map toString ([ ../../.. ] ++ extraSources);
|
prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources);
|
||||||
|
stripAnyPrefixes = flip (fold removePrefix) prefixesToStrip;
|
||||||
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;
|
|
||||||
|
|
||||||
# Convert the list of options into an XML file.
|
# Convert the list of options into an XML file.
|
||||||
optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList');
|
optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user