about summary refs log tree commit diff
path: root/pkgs/tools/package-management
diff options
context:
space:
mode:
authorJohn Garcia <jgarcia3788@yahoo.co.uk>2024-05-20 12:32:00 +0100
committerJohn Garcia <jgarcia3788@yahoo.co.uk>2024-05-20 12:32:00 +0100
commit45087e1666ea066a241f975aac3e9bf104c40c32 (patch)
treeb72b4a254970d4aeb444cab6361c29494c3d2af2 /pkgs/tools/package-management
parenta35fac798e9965ed11ac2a41348f1af5ae839094 (diff)
apx: install shell completions
Diffstat (limited to 'pkgs/tools/package-management')
-rw-r--r--pkgs/tools/package-management/apx/default.nix13
1 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/tools/package-management/apx/default.nix b/pkgs/tools/package-management/apx/default.nix
index 89f7b6032aee2..381307d6735ec 100644
--- a/pkgs/tools/package-management/apx/default.nix
+++ b/pkgs/tools/package-management/apx/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   installShellFiles,
   distrobox,
+  podman,
 }:
 
 buildGoModule rec {
@@ -19,7 +20,8 @@ buildGoModule rec {
 
   vendorHash = "sha256-hGi+M5RRUL2oyxFGVeR0sum93/CA+FGYy0m4vDmlXTc=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  # podman needed for apx to not error when building shell completions
+  nativeBuildInputs = [ installShellFiles podman ];
 
   ldflags = [ "-s" "-w" ];
 
@@ -36,6 +38,15 @@ buildGoModule rec {
     installManPage man/man1/*
     install -Dm444 README.md -t $out/share/docs/apx
     install -Dm444 COPYING.md $out/share/licenses/apx/LICENSE
+
+    # Create a temp writable home-dir so apx outputs completions without error
+    export HOME=$(mktemp -d)
+    # apx command now works (for completions)
+    # though complains "Error: no such file or directory"
+    installShellCompletion --cmd apx \
+      --bash <($out/bin/apx completion bash) \
+      --fish <($out/bin/apx completion fish) \
+      --zsh <($out/bin/apx completion zsh)
   '';
 
   meta = with lib; {