Revert "nixos/fish: generate autocompletions from man pages" (#56439)
System rebuilds currently fail due to collisions. See also https://github.com/NixOS/nixpkgs/issues/56432.
This commit is contained in:
parent
8293ab8461
commit
029adf9619
@ -169,43 +169,6 @@ in
|
|||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
|
|
||||||
programs.fish.interactiveShellInit = ''
|
|
||||||
# add completions generated by NixOS to $fish_complete_path
|
|
||||||
begin
|
|
||||||
# joins with null byte to acommodate all characters in paths, then respectively gets all paths before / after the first one including "generated_completions",
|
|
||||||
# splits by null byte, and then removes all empty lines produced by using 'string'
|
|
||||||
set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".")
|
|
||||||
set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".")
|
|
||||||
set fish_complete_path $prev "/etc/fish/generated_completions" $post
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
|
|
||||||
environment.etc."fish/generated_completions".source =
|
|
||||||
let
|
|
||||||
generateCompletions = package: pkgs.runCommand
|
|
||||||
"${package.name}-fish-completions"
|
|
||||||
(
|
|
||||||
{
|
|
||||||
src = package;
|
|
||||||
nativeBuildInputs = [ pkgs.python3 ];
|
|
||||||
buildInputs = [ pkgs.fish ];
|
|
||||||
preferLocalBuild = true;
|
|
||||||
allowSubstitutes = false;
|
|
||||||
}
|
|
||||||
// optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; }
|
|
||||||
)
|
|
||||||
''
|
|
||||||
mkdir -p $out
|
|
||||||
if [ -d $src/share/man ]; then
|
|
||||||
find $src/share/man -type f | xargs python ${pkgs.fish}/share/fish/tools/create_manpage_completions.py --directory $out >/dev/null
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
pkgs.buildEnv {
|
|
||||||
name = "system-fish-completions";
|
|
||||||
paths = map generateCompletions config.environment.systemPackages;
|
|
||||||
};
|
|
||||||
|
|
||||||
# include programs that bring their own completions
|
# include programs that bring their own completions
|
||||||
environment.pathsToLink = []
|
environment.pathsToLink = []
|
||||||
++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
|
++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user