diff options
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/programs/usbtop.nix | 21 | ||||
-rw-r--r-- | pkgs/os-specific/linux/usbtop/default.nix | 26 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
4 files changed, 50 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 22fd5d7609df..62198b95c17a 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -152,6 +152,7 @@ ./programs/tmux.nix ./programs/tsm-client.nix ./programs/udevil.nix + ./programs/usbtop.nix ./programs/venus.nix ./programs/vim.nix ./programs/wavemon.nix diff --git a/nixos/modules/programs/usbtop.nix b/nixos/modules/programs/usbtop.nix new file mode 100644 index 000000000000..c1b6ee38caa1 --- /dev/null +++ b/nixos/modules/programs/usbtop.nix @@ -0,0 +1,21 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.programs.usbtop; +in { + options = { + programs.usbtop.enable = mkEnableOption "usbtop and required kernel module"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + usbtop + ]; + + boot.kernelModules = [ + "usbmon" + ]; + }; +} diff --git a/pkgs/os-specific/linux/usbtop/default.nix b/pkgs/os-specific/linux/usbtop/default.nix new file mode 100644 index 000000000000..0ff8fcf0ddf7 --- /dev/null +++ b/pkgs/os-specific/linux/usbtop/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub +, cmake +, libpcap, boost }: + +stdenv.mkDerivation rec { + pname = "usbtop"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "aguinet"; + repo = pname; + rev = "release-${version}"; + sha256 = "0qbad0aq6j4jrh90l6a0akk71wdzhyzmy6q8wl138axyj2bp9kss"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libpcap boost ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/aguinet/usbtop"; + description = "A top utility that shows an estimated instantaneous bandwidth on USB buses and devices"; + maintainers = with maintainers; [ etu ]; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e23691b9b899..2408234e0563 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16502,6 +16502,8 @@ in withGui = false; }; + usbtop = callPackage ../os-specific/linux/usbtop { }; + usbutils = callPackage ../os-specific/linux/usbutils { }; usermount = callPackage ../os-specific/linux/usermount { }; |