nixos/virtualisation/podman: fix broken evaluation

- The following error occurs when building:

error: A definition for option `environment.systemPackages."[definition 8-entry 2]"' is not of type `package'. Definition values:
  - In `/nix/store/dgp9wmspgm6zhl66f0c81rvg3v7wwbsb-source/nixos/modules/virtualisation/podman/default.nix':
    ''
      /nix/store/yyspp8pf5fhpx17wb2ndrhdd7y5kqb4g-podman-docker-compat-5.7.0export HOME=$(mktemp -d) # work around `docker <cmd>`
        installShellCompletion --cmd docker \
          --bash <($out/bin/docker completion bash) \
          --zsh <($out/bin/docker completion zsh) \

- This error occurs because the string is being concatenated to the output
  of the function evaluation of `pkgs.runCommand` instead of being
  concatenated to the string input of the function.

- Tested locally and the build works again.
This commit is contained in:
magicquark
2025-12-04 20:38:16 +00:00
parent 420af222fc
commit 4bf849b1f3
+18 -16
View File
@@ -24,23 +24,25 @@ let
inherit (cfg.package) meta;
preferLocalBuild = true;
}
''
mkdir -p $out/bin
ln -s ${cfg.package}/bin/podman $out/bin/docker
(
''
mkdir -p $out/bin
ln -s ${cfg.package}/bin/podman $out/bin/docker
mkdir -p $man/share/man/man1
for f in ${cfg.package.man}/share/man/man1/*; do
basename=$(basename $f | sed s/podman/docker/g)
ln -s $f $man/share/man/man1/$basename
done
''
+ lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
export HOME=$(mktemp -d) # work around `docker <cmd>`
installShellCompletion --cmd docker \
--bash <($out/bin/docker completion bash) \
--zsh <($out/bin/docker completion zsh) \
--fish <($out/bin/docker completion fish)
'';
mkdir -p $man/share/man/man1
for f in ${cfg.package.man}/share/man/man1/*; do
basename=$(basename $f | sed s/podman/docker/g)
ln -s $f $man/share/man/man1/$basename
done
''
+ lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
export HOME=$(mktemp -d) # work around `docker <cmd>`
installShellCompletion --cmd docker \
--bash <($out/bin/docker completion bash) \
--zsh <($out/bin/docker completion zsh) \
--fish <($out/bin/docker completion fish)
''
);
in
{