{ config, lib, pkgs, ... }:

let
  cfg = config.programs.liboping;
in {
  options.programs.liboping = {
    enable = lib.mkEnableOption "liboping";
  };
  config = lib.mkIf cfg.enable {
    environment.systemPackages = with pkgs; [ liboping ];
    security.wrappers = lib.mkMerge (builtins.map (
      exec: {
        "${exec}" = {
          owner = "root";
          group = "root";
          capabilities = "cap_net_raw+p";
          source = "${pkgs.liboping}/bin/${exec}";
        };
      }
    ) [ "oping" "noping" ]);
  };
}
