diff --git a/pkgs/by-name/am/amber-lang/package.nix b/pkgs/by-name/am/amber-lang/package.nix index 45b7e19cc14b..13a669ddd26c 100644 --- a/pkgs/by-name/am/amber-lang/package.nix +++ b/pkgs/by-name/am/amber-lang/package.nix @@ -5,6 +5,8 @@ bc, util-linux, makeWrapper, + installShellFiles, + stdenv, runCommand, amber-lang, nix-update-script, @@ -29,7 +31,10 @@ rustPlatform.buildRustPackage rec { --replace-fail 'Command::new("/usr/bin/env")' 'Command::new("env")' ''; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; nativeCheckInputs = [ bc @@ -43,9 +48,14 @@ rustPlatform.buildRustPackage rec { "--skip=tests::formatter::all_exist" ]; - postInstall = '' - wrapProgram "$out/bin/amber" --prefix PATH : "${lib.makeBinPath [ bc ]}" - ''; + postInstall = + '' + wrapProgram "$out/bin/amber" --prefix PATH : "${lib.makeBinPath [ bc ]}" + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd amber \ + --bash <($out/bin/amber completion) + ''; passthru = { updateScript = nix-update-script { };