nixos-config/modules/workstation/wireshark.nix

26 lines
586 B
Nix

{
config,
lib,
machineProps,
...
}:
let
anyWiresharkUser =
if machineProps.enableHomeManager then
(builtins.any (user: user.my.development.tools.networking.enable) (
builtins.attrValues config.home-manager.users
))
else
false;
userUseWireshark = value: value.my.development.tools.networking.enable;
in
{
config = {
programs.wireshark.enable = anyWiresharkUser;
users.users = builtins.mapAttrs (name: value: {
extraGroups = if (userUseWireshark value) then [ "wireshark" ] else [ ];
}) config.home-manager.users;
};
}