at 25.11-pre 887 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7let 8 cfg = config.services.lldpd; 9 10in 11 12{ 13 options.services.lldpd = { 14 enable = lib.mkEnableOption "Link Layer Discovery Protocol Daemon"; 15 16 extraArgs = lib.mkOption { 17 type = lib.types.listOf lib.types.str; 18 default = [ ]; 19 example = [ 20 "-c" 21 "-k" 22 "-I eth0" 23 ]; 24 description = "List of command line parameters for lldpd"; 25 }; 26 }; 27 28 config = lib.mkIf cfg.enable { 29 users.users._lldpd = { 30 description = "lldpd user"; 31 group = "_lldpd"; 32 home = "/run/lldpd"; 33 isSystemUser = true; 34 }; 35 users.groups._lldpd = { }; 36 37 environment.systemPackages = [ pkgs.lldpd ]; 38 systemd.packages = [ pkgs.lldpd ]; 39 40 systemd.services.lldpd = { 41 wantedBy = [ "multi-user.target" ]; 42 environment.LLDPD_OPTIONS = lib.concatStringsSep " " cfg.extraArgs; 43 }; 44 }; 45}