epmd: add ipv6 assertion

wip/nixpkgs-raku
happysalada 3 years ago committed by Raphael Megzari
parent 0c8415335f
commit 8a56ac5db3
  1. 19
      nixos/modules/services/networking/epmd.nix

@ -4,9 +4,7 @@ with lib;
let let
cfg = config.services.epmd; cfg = config.services.epmd;
in in
{ {
###### interface ###### interface
options.services.epmd = { options.services.epmd = {
@ -27,16 +25,31 @@ in
an Erlang runtime that is already installed for other purposes. an Erlang runtime that is already installed for other purposes.
''; '';
}; };
listenStream = mkOption
{
type = types.str;
default = null;
description = ''
the listenStream used by the systemd socket.
see https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream= for more informations.
use this to change the port epmd will run on.
if not defined, epmd will use "[::]:4369"
'';
};
}; };
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [{
assertion = cfg.listenStream == null -> config.networking.enableIPv6;
message = "epmd listens by default on ipv6, enable ipv6 or change config.services.epmd.listenStream";
}];
systemd.sockets.epmd = rec { systemd.sockets.epmd = rec {
description = "Erlang Port Mapper Daemon Activation Socket"; description = "Erlang Port Mapper Daemon Activation Socket";
wantedBy = [ "sockets.target" ]; wantedBy = [ "sockets.target" ];
before = wantedBy; before = wantedBy;
socketConfig = { socketConfig = {
ListenStream = "4369"; ListenStream = if cfg.listenStream != null then cfg.listenStream else "[::]:4369";
Accept = "false"; Accept = "false";
}; };
}; };

Loading…
Cancel
Save