From 9aeb7ee0696eebd7daa24d560b425e4598b5c2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Gergely?= Date: Wed, 5 Jun 2024 12:16:33 +0000 Subject: [PATCH] dnscontrol: install shell completions DNSControl has built-in shell completions as described in [1]. They can be installed on disk and will be loaded by bash-completion or zsh. [1]: https://docs.dnscontrol.org/getting-started/getting-started#id-1.1.-shell-completion --- pkgs/applications/networking/dnscontrol/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix index 58051120cc34..f69b869835e9 100644 --- a/pkgs/applications/networking/dnscontrol/default.nix +++ b/pkgs/applications/networking/dnscontrol/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, dnscontrol }: +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, dnscontrol }: buildGoModule rec { pname = "dnscontrol"; @@ -13,10 +13,18 @@ buildGoModule rec { vendorHash = "sha256-kmnV1W0HGlxFZYYUeUd9D/zOabUhM5kDoTZTnRYJ2sM="; + nativeBuildInputs = [ installShellFiles ]; + subPackages = [ "." ]; ldflags = [ "-s" "-w" "-X=main.version=${version}" ]; + postInstall = '' + installShellCompletion --cmd dnscontrol \ + --bash <($out/bin/dnscontrol shell-completion bash) \ + --zsh <($out/bin/dnscontrol shell-completion zsh) + ''; + preCheck = '' # requires network rm pkg/spflib/flatten_test.go pkg/spflib/parse_test.go