summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2019-12-31 14:23:19 +0000
committerGitHub <noreply@github.com>2019-12-31 14:23:19 +0000
commita45447a3d5f79416438db78093e7b205ba5628dd (patch)
tree6dc1c21b5a08777a196bebd5fdf67822a0fbea12
parent3238beab0a32b29eda2a63bf56e67df6e8a1f632 (diff)
parent1a477dc8954fb3e384e2f6f89d62904876f952d1 (diff)
bandwhich: init at 0.6.0 (#76689)
bandwhich: init at 0.6.0
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/bandwhich.nix29
-rw-r--r--pkgs/tools/networking/bandwhich/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 66 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 11bb900f7bb5..5b21aec51bdd 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -95,6 +95,7 @@
./programs/adb.nix
./programs/atop.nix
./programs/autojump.nix
+ ./programs/bandwhich.nix
./programs/bash/bash.nix
./programs/bcc.nix
./programs/browserpass.nix
diff --git a/nixos/modules/programs/bandwhich.nix b/nixos/modules/programs/bandwhich.nix
new file mode 100644
index 000000000000..5413044f4614
--- /dev/null
+++ b/nixos/modules/programs/bandwhich.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.programs.bandwhich;
+in {
+ meta.maintainers = with maintainers; [ filalex77 ];
+
+ options = {
+ programs.bandwhich = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to add bandwhich to the global environment and configure a
+ setcap wrapper for it.
+ '';
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.systemPackages = with pkgs; [ bandwhich ];
+ security.wrappers.bandwhich = {
+ source = "${pkgs.bandwhich}/bin/bandwhich";
+ capabilities = "cap_net_raw,cap_net_admin+ep";
+ };
+ };
+}
diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix
new file mode 100644
index 000000000000..21253745cb0a
--- /dev/null
+++ b/pkgs/tools/networking/bandwhich/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "bandwhich";
+ version = "0.6.0";
+
+ src = fetchFromGitHub {
+ owner = "imsnif";
+ repo = pname;
+ rev = version;
+ sha256 = "0jjqc8sysvw63mwy68z9p16vc1pygrm1wxyll6piwvbbnirpys1y";
+ };
+
+ cargoSha256 = "1rixpljqddwhryddzni5l6m4sjyn1krrj0ig0rzc701am7srhg3a";
+
+ buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
+ meta = with stdenv.lib; {
+ description = "A CLI utility for displaying current network utilization";
+ longDescription = ''
+ bandwhich sniffs a given network interface and records IP packet size, cross
+ referencing it with the /proc filesystem on linux or lsof on MacOS. It is
+ responsive to the terminal window size, displaying less info if there is
+ no room for it. It will also attempt to resolve ips to their host name in
+ the background using reverse DNS on a best effort basis.
+ '';
+ homepage = "https://github.com/imsnif/bandwhich";
+ license = licenses.mit;
+ maintainers = with maintainers; [ filalex77 ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 246544bb3dc4..fb46c31c7f06 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1085,6 +1085,10 @@ in
backblaze-b2 = python.pkgs.callPackage ../development/tools/backblaze-b2 { };
+ bandwhich = callPackage ../tools/networking/bandwhich {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
+
bar = callPackage ../tools/system/bar {};
base16-shell-preview = callPackage ../misc/base16-shell-preview { };