sing-box: install shell completions directly

This commit is contained in:
Sizhe Zhao 2025-05-22 12:53:05 +08:00
parent 828eac07e7
commit dedb89c43d
No known key found for this signature in database
GPG key ID: ED1807251A7DA08F

View file

@ -1,10 +1,8 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
buildPackages,
coreutils,
nix-update-script,
nixosTests,
@ -45,15 +43,8 @@ buildGoModule (finalAttrs: {
"-X=github.com/sagernet/sing-box/constant.Version=${finalAttrs.version}"
];
postInstall =
let
emulator = stdenv.hostPlatform.emulator buildPackages;
in
''
installShellCompletion --cmd sing-box \
--bash <(${emulator} $out/bin/sing-box completion bash) \
--fish <(${emulator} $out/bin/sing-box completion fish) \
--zsh <(${emulator} $out/bin/sing-box completion zsh )
postInstall = ''
installShellCompletion release/completions/sing-box.{bash,fish,zsh}
substituteInPlace release/config/sing-box{,@}.service \
--replace-fail "/usr/bin/sing-box" "$out/bin/sing-box" \