1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.dublin-traceroute;
10
11in
12{
13 meta.maintainers = pkgs.dublin-traceroute.meta.maintainers;
14
15 options = {
16 programs.dublin-traceroute = {
17 enable = lib.mkEnableOption "dublin-traceroute (including setcap wrapper)";
18
19 package = lib.mkPackageOption pkgs "dublin-traceroute" { };
20 };
21 };
22
23 config = lib.mkIf cfg.enable {
24 environment.systemPackages = [ cfg.package ];
25
26 security.wrappers.dublin-traceroute = {
27 owner = "root";
28 group = "root";
29 capabilities = "cap_net_raw+p";
30 source = lib.getExe cfg.package;
31 };
32 };
33}