nixpkgs/pkgs/by-name/in/incus/client.nix
2024-08-07 22:33:16 +02:00

52 lines
967 B
Nix

{
lts ? false,
meta,
patches,
src,
vendorHash,
version,
lib,
buildGoModule,
installShellFiles,
}:
let
pname = "incus${lib.optionalString lts "-lts"}-client";
in
buildGoModule {
inherit
patches
pname
src
vendorHash
version
;
CGO_ENABLED = 0;
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/incus" ];
postInstall = ''
# Needed for builds on systems with auto-allocate-uids to pass.
# Incus tries to read ~/.config/incus while generating completions
# to resolve user aliases.
export HOME="$(mktemp -d)"
mkdir -p "$HOME/.config/incus"
installShellCompletion --cmd incus \
--bash <($out/bin/incus completion bash) \
--fish <($out/bin/incus completion fish) \
--zsh <($out/bin/incus completion zsh)
'';
# don't run the full incus test suite
doCheck = false;
meta = meta // {
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}