vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / networking / lldpd.nix
blob98a4cff265f14b018b40ba1f5290a075f13b0778
1 { config, lib, pkgs, ... }:
2 let
3   cfg = config.services.lldpd;
5 in
8   options.services.lldpd = {
9     enable = lib.mkEnableOption "Link Layer Discovery Protocol Daemon";
11     extraArgs = lib.mkOption {
12       type = lib.types.listOf lib.types.str;
13       default = [];
14       example = [ "-c" "-k" "-I eth0" ];
15       description = "List of command line parameters for lldpd";
16     };
17   };
19   config = lib.mkIf cfg.enable {
20     users.users._lldpd = {
21       description = "lldpd user";
22       group = "_lldpd";
23       home = "/run/lldpd";
24       isSystemUser = true;
25     };
26     users.groups._lldpd = {};
28     environment.systemPackages = [ pkgs.lldpd ];
29     systemd.packages = [ pkgs.lldpd ];
31     systemd.services.lldpd = {
32       wantedBy = [ "multi-user.target" ];
33       environment.LLDPD_OPTIONS = lib.concatStringsSep " " cfg.extraArgs;
34     };
35   };