networking.wireguard.enableNetworkd

Whether to enable WireGuard via systemd-networkd.

type

boolean

example

{
  networking.wireguard.enableNetworkd = true;
}

default

{
  networking.wireguard.enableNetworkd = false;
}

programs.dma.enable

Whether to enable DragonFly Mail Agent.

type

boolean

example

{
  programs.dma.enable = true;
}

default

{
  programs.dma.enable = false;
}

programs.dma.package

dma package to use.

type

package

default

{
  programs.dma.package = "pkgs.dma";
}

programs.dma.group

Group to run dma as.

type

string

default

{
  programs.dma.group = "dma";
}

programs.dma.masquerade

Change the "envelope from" address of outgoing emails.

type

null or submodule

default

{
  programs.dma.masquerade = null;
}

programs.dma.masquerade.domain

Replace the domain of the envelope from address with this.

type

null or string

example

{
  programs.dma.masquerade.domain = "example.com";
}

default

{
  programs.dma.masquerade.domain = null;
}

programs.dma.masquerade.user

Replace the local part of the envelope from address with this.

type

null or string

example

{
  programs.dma.masquerade.user = "myuser";
}

default

{
  programs.dma.masquerade.user = null;
}

programs.dma.relay

If non-null, will relay all mail through an external SMTP server.

type

null or submodule

default

{
  programs.dma.relay = null;
}

programs.dma.relay.direct

If enabled, mail is sent directly to the relay, bypassing aliases and local delivery.

type

boolean

default

{
  programs.dma.relay.direct = false;
}

programs.dma.relay.fingerprint

SHA-256 fingerprint of the relay's TLS certificate, used for pinning.

type

null or string

default

{
  programs.dma.relay.fingerprint = null;
}

programs.dma.relay.host

Hostname or IP address of the relay SMTP server.

type

string

example

{
  programs.dma.relay.host = "smtp.example.com";
}

programs.dma.relay.port

Port through which contact the relay SMTP server.

type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

example

{
  programs.dma.relay.port = 25;
}

default

{
  programs.dma.relay.port = 25;
}

programs.dma.secureTransfer

Method through which connect to the SMTP server: through an insecure connection, requiring SMTPS or STARTTLS, or allowing STARTTLS.

type

one of false, "require-tls", "require-starttls", "allow-starttls"

default

{
  programs.dma.secureTransfer = false;
}

programs.dma.setSendmail

Whether to set the system sendmail to dma.

type

boolean

default

{
  programs.dma.setSendmail = true;
}

programs.dma.settings

Additional configuration.

type

attribute set of boolean or signed integer or string

default

{
  programs.dma.settings = {};
}

programs.dma.user

User to run dma as (and owner of the mail spool)

type

string

default

{
  programs.dma.user = "dma";
}

services.dyndnsc.enable

Whether to enable dyndnsc Dynamic DNS client.

type

boolean

example

{
  services.dyndnsc.enable = true;
}

default

{
  services.dyndnsc.enable = false;
}

services.dyndnsc.package

dyndnsc package to use.

type

package

default

{
  services.dyndnsc.package = "pkgs.dyndnsc";
}

services.dyndnsc.profiles

Declarative profile config

type

attribute set of submodule

example

{
  services.dyndnsc.profiles = {
    _type = "literalExpression";
    text = ''
      {
        "myhost_ip4" = {
          preset = "nsupdate.info:ipv4";
          hostname = "dynamic.example.com";
          username = "me";
          passwordFile = "/run/keys/dyndnsc-myhost_ip4";
        };
      };
      
    '';
  };
}

services.dyndnsc.profiles.<name>.extraConfig

Additional profile parameters.

type

strings concatenated with "\n"

default

{
  services.dyndnsc.profiles.<name>.extraConfig = "";
}

services.dyndnsc.profiles.<name>.hostname

Hostname or domain to be updated.

type

string

example

{
  services.dyndnsc.profiles.<name>.hostname = "dynamic.example.com";
}

services.dyndnsc.profiles.<name>.passwordFile

Path to a file containing the service's password.

type

path

example

{
  services.dyndnsc.profiles.<name>.passwordFile = "/run/keys/dyndnsc-myprofile";
}

services.dyndnsc.profiles.<name>.preset

Preset profile to inherit.

type

null or one of "no-ip.com", "freedns.afraid.com", "nsupdate.info:ipv4", "nsupdate.info:ipv6", "dns.he.net", "dnsimple.com", "dnsdynamic.org", "hopper.pw:ipv4", "hopper.pw:ipv6", "dyn.com", "duckdns.org", "strato.com:ipv4", "strato.com:ipv6"

example

{
  services.dyndnsc.profiles.<name>.preset = "dns.he.net";
}

default

{
  services.dyndnsc.profiles.<name>.preset = null;
}

services.dyndnsc.profiles.<name>.username

Username to login with in the dynamic DNS service.

type

string

services.ipfs-cluster.enable

Whether to enable IPFS Cluster daemon.

type

boolean

example

{
  services.ipfs-cluster.enable = true;
}

default

{
  services.ipfs-cluster.enable = false;
}

services.ipfs-cluster.package

ipfs-cluster package to use.

type

package

default

{
  services.ipfs-cluster.package = "pkgs.ipfs-cluster";
}

services.ipfs-cluster.bootstrapPeers

List of peers to bootstrap the node with. This option has no effect on already existing clusters.

type

list of string

default

{
  services.ipfs-cluster.bootstrapPeers = [];
}

services.ipfs-cluster.consensus

Consensus component utilized by the cluster. This option has no effect on already existing clusters.

type

one of "crdt", "raft"

services.ipfs-cluster.dataDir

Directory where cluster management data lives.

type

string

default

{
  services.ipfs-cluster.dataDir = "/var/lib/ipfs-cluster";
}

services.ipfs-cluster.group

Group under which the IPFS Cluster daemon runs

type

string

default

{
  services.ipfs-cluster.group = "ipfs";
}

services.ipfs-cluster.secretEnvFile

File containing the cluster secret as an assignment to the CLUSTER_SECRET variable. If none is given, a secret is generated during cluster creation.

type

null or string

default

{
  services.ipfs-cluster.secretEnvFile = null;
}

services.ipfs-cluster.secretFile

File containing the cluster secret. If none is given, a secret is generated during cluster creation. Deprecated: use services.ipfs-cluster-secretEnvFile instead.

type

null or string

default

{
  services.ipfs-cluster.secretFile = null;
}

services.ipfs-cluster.settings

Additional IPFS Cluster settings. These follow the names for configuration environment variables, not for the service.json file.

type

attribute set

default

{
  services.ipfs-cluster.settings = {};
}

services.ipfs-cluster.user

User under which the IPFS Cluster daemon runs

type

string

default

{
  services.ipfs-cluster.user = "ipfs";
}

services.matrix-appservice-irc.enable

Whether to enable Matrix bridge to IRC.

type

boolean

example

{
  services.matrix-appservice-irc.enable = true;
}

default

{
  services.matrix-appservice-irc.enable = false;
}

services.matrix-appservice-irc.package

matrix-appservice-irc package to use.

type

package

default

{
  services.matrix-appservice-irc.package = "pkgs.matrix-appservice-irc";
}

services.matrix-appservice-irc.botPasswordFiles

Attrset mapping IRC servers to files containing the password of the bridge bot on that server.

type

attribute set of path

example

{
  services.matrix-appservice-irc.botPasswordFiles = ''
    { "chat.freenode.net" = "/etc/matrix-appservice-irc/freenode.password"; }
    
  '';
}

default

{
  services.matrix-appservice-irc.botPasswordFiles = {};
}

services.matrix-appservice-irc.settings

Additional service settings.

type

YAML value

default

{
  services.matrix-appservice-irc.settings = {};
}

services.postgresqlBaseBackup.enable

Whether to enable PostgreSQL backups using pg_basebackup.

type

boolean

example

{
  services.postgresqlBaseBackup.enable = true;
}

default

{
  services.postgresqlBaseBackup.enable = false;
}

services.postgresqlBaseBackup.location

directory where to store the backup.

type

path

services.prometheus.birdExporter.enable

Whether to enable the prometheus bird exporter.

type

boolean

example

{
  services.prometheus.birdExporter.enable = true;
}

default

{
  services.prometheus.birdExporter.enable = false;
}

services.prometheus.birdExporter.birdVersion

Version of Bird to scrape.

type

one of "v1.ip4", "v1.ip6", "v1.ip46", "v2"

services.prometheus.birdExporter.extraFlags

Extra commandline options to pass to the bird exporter.

type

list of string

default

{
  services.prometheus.birdExporter.extraFlags = [];
}

services.prometheus.birdExporter.group

Group under which the bird exporter shall be run.

type

string

default

{
  services.prometheus.birdExporter.group = "bird-exporter";
}

services.prometheus.birdExporter.listenAddress

Address to listen on.

type

string

default

{
  services.prometheus.birdExporter.listenAddress = "0.0.0.0";
}

services.prometheus.birdExporter.port

Port to listen on.

type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

default

{
  services.prometheus.birdExporter.port = 9324;
}

services.trust-dns.enable

Whether to enable Trust-DNS authoritative server.

type

boolean

example

{
  services.trust-dns.enable = true;
}

default

{
  services.trust-dns.enable = false;
}

services.trust-dns.package

Trust-DNS package to use.

type

package

default

{
  services.trust-dns.package = "pkgs.trust-dns";
}

services.trust-dns.settings

Additional Trust-DNS settings.

type

TOML value

default

{
  services.trust-dns.settings = {};
}