From e7daaa7001981d76ecc5c8ce67491f442d08c21b Mon Sep 17 00:00:00 2001 From: emilylange Date: Tue, 30 Jan 2024 23:06:16 +0100 Subject: bandwhich: add shell completions and man page Pre v0.22.0, shell completions and the man page were static and heavily outdated. v0.22.0 then removed those entirely. v0.22.2 then re-added shell completions and the man page, but this time natively generated on build time (assuming $BANDWHICH_GEN_DIR is set). Technically, shell completions for PowerShell and Elvish are generated as well, but we don't install those, since our installShellCompletions does not support those shells. --- pkgs/tools/networking/bandwhich/default.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix index 240fa3e86f8a..958cb6364785 100644 --- a/pkgs/tools/networking/bandwhich/default.nix +++ b/pkgs/tools/networking/bandwhich/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, installShellFiles }: rustPlatform.buildRustPackage rec { pname = "bandwhich"; @@ -23,11 +23,25 @@ rustPlatform.buildRustPackage rec { "--skip=tests::cases::ui::layout_under_50_width_under_50_height" ]; + nativeBuildInputs = [ installShellFiles ]; + buildInputs = lib.optional stdenv.isDarwin Security; # 10 passed; 47 failed https://hydra.nixos.org/build/148943783/nixlog/1 doCheck = !stdenv.isDarwin; + preConfigure = '' + export BANDWHICH_GEN_DIR=_shell-files + mkdir -p $BANDWHICH_GEN_DIR + ''; + + postInstall = '' + installManPage $BANDWHICH_GEN_DIR/bandwhich.1 + + installShellCompletion $BANDWHICH_GEN_DIR/bandwhich.{bash,fish} \ + --zsh $BANDWHICH_GEN_DIR/_bandwhich + ''; + meta = with lib; { description = "A CLI utility for displaying current network utilization"; longDescription = '' -- cgit 1.4.1