From 9adfaee104f3d0a3b639eab5b7ef8d7cbca5320b Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Fri, 21 Jul 2023 10:41:51 +0800 Subject: [PATCH] sqlx-cli: install shell completions --- .../tools/rust/sqlx-cli/default.nix | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix index 70973a455632..5d640890f0ec 100644 --- a/pkgs/development/tools/rust/sqlx-cli/default.nix +++ b/pkgs/development/tools/rust/sqlx-cli/default.nix @@ -2,14 +2,15 @@ , lib , rustPlatform , fetchFromGitHub +, installShellFiles , pkg-config , openssl -, SystemConfiguration -, CoreFoundation -, Security , libiconv , testers , sqlx-cli +, CoreFoundation +, Security +, SystemConfiguration }: rustPlatform.buildRustPackage rec { @@ -28,9 +29,26 @@ rustPlatform.buildRustPackage rec { doCheck = false; cargoBuildFlags = [ "-p sqlx-cli" ]; - nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.isLinux [ openssl ] - ++ lib.optionals stdenv.isDarwin [ SystemConfiguration CoreFoundation Security libiconv ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; + + buildInputs = + lib.optionals stdenv.isLinux [ openssl ] + ++ lib.optionals stdenv.isDarwin [ + CoreFoundation + Security + SystemConfiguration + libiconv + ]; + + postInstall = '' + for shell in bash fish zsh; do + $out/bin/sqlx completions $shell > sqlx.$shell + installShellCompletion sqlx.$shell + done + ''; passthru.tests.version = testers.testVersion { package = sqlx-cli;