From 66afc79dcdf2c74a0704bc648dc1c44cf1117608 Mon Sep 17 00:00:00 2001 From: squat Date: Tue, 6 May 2025 17:31:33 +0200 Subject: [PATCH] spicedb: add shell completion This commit adds shell completion for bash, fish, and zsh to both spicedb and zed, leveraging their `completion` subcommands with bash process substitution. Signed-off-by: squat --- pkgs/servers/spicedb/default.nix | 10 ++++++++++ pkgs/servers/spicedb/zed.nix | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix index 414466335bb5..88955ec0ea0a 100644 --- a/pkgs/servers/spicedb/default.nix +++ b/pkgs/servers/spicedb/default.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -23,6 +24,15 @@ buildGoModule rec { subPackages = [ "cmd/spicedb" ]; + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd spicedb \ + --bash <($out/bin/spicedb completion bash) \ + --fish <($out/bin/spicedb completion fish) \ + --zsh <($out/bin/spicedb completion zsh) + ''; + meta = with lib; { description = "Open source permission database"; longDescription = '' diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix index f7ae38c731c0..77327cde0805 100644 --- a/pkgs/servers/spicedb/zed.nix +++ b/pkgs/servers/spicedb/zed.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -21,6 +22,15 @@ buildGoModule rec { "-X 'github.com/jzelinskie/cobrautil/v2.Version=${src.rev}'" ]; + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd zed \ + --bash <($out/bin/zed completion bash) \ + --fish <($out/bin/zed completion fish) \ + --zsh <($out/bin/zed completion zsh) + ''; + meta = with lib; { description = "Command line for managing SpiceDB"; mainProgram = "zed";