From c57232d31cccfee6444bdd9dcddad95f816f85f2 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Sun, 7 Mar 2021 11:38:12 +0100 Subject: [PATCH] programs/nethoscope: add security.wrapper --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/nethoscope.nix | 30 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 nixos/modules/programs/nethoscope.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index c11497e46f10..329c8685c36d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -185,6 +185,7 @@ ./programs/nbd.nix ./programs/nix-ld.nix ./programs/neovim.nix + ./programs/nethoscope.nix ./programs/nm-applet.nix ./programs/nncp.nix ./programs/npm.nix diff --git a/nixos/modules/programs/nethoscope.nix b/nixos/modules/programs/nethoscope.nix new file mode 100644 index 000000000000..495548e9c656 --- /dev/null +++ b/nixos/modules/programs/nethoscope.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.programs.nethoscope; +in +{ + meta.maintainers = with maintainers; [ _0x4A6F ]; + + options = { + programs.nethoscope = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to add nethoscope to the global environment and configure a + setcap wrapper for it. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ nethoscope ]; + security.wrappers.nethoscope = { + source = "${pkgs.nethoscope}/bin/nethoscope"; + capabilities = "cap_net_raw,cap_net_admin=eip"; + }; + }; +}