nixos/fish: fix indentation of generated files

This commit is contained in:
Eman Resu
2025-11-12 00:04:44 -05:00
parent 5c1b1ce694
commit b02a857c1c
2 changed files with 14 additions and 4 deletions

View File

@@ -27,6 +27,14 @@ let
envInteractiveShellInit = pkgs.writeText "interactiveShellInit" cfge.interactiveShellInit;
indentFishFile =
name: text:
pkgs.runCommand name {
nativeBuildInputs = [ cfg.package ];
inherit text;
passAsFile = [ "text" ];
} "fish_indent < $textPath > $out";
sourceEnv =
file:
if cfg.useBabelfish then
@@ -182,16 +190,16 @@ in
})
{
etc."fish/nixos-env-preinit.fish".text =
etc."fish/nixos-env-preinit.fish".source =
if cfg.useBabelfish then
''
indentFishFile "nixos-env-preinit.fish" ''
# source the NixOS environment config
if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]
source /etc/fish/setEnvironment.fish
end
''
else
''
indentFishFile "nixos-env-preinit.fish" ''
# This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently
# unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish
set fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d $__fish_datadir/functions
@@ -207,7 +215,7 @@ in
}
{
etc."fish/config.fish".text = ''
etc."fish/config.fish".source = indentFishFile "config.fish" ''
# /etc/fish/config.fish: DO NOT EDIT -- this file has been generated automatically.
# if we haven't sourced the general config, do it

View File

@@ -24,5 +24,7 @@
machine.succeed(
"fish -ic 'echo $fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.cache/fish/generated_completions$'"
)
machine.wait_for_file("/etc/fish/config.fish")
config = machine.succeed("fish_indent -c /etc/fish/config.fish")
'';
}