Skip to content

Data mesher

services.data-mesher.enable

Whether to enable Data Mesher, data syncing daemon.

Type: boolean

Default: false

Example: true

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.package

The Data Mesher package to use.

Type: package

Default: <derivation data-mesher-0.1.0>

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.fileDirectories

List of subdirectories to create under /var/lib/${user}/files. These directories are created early in boot via tmpfiles, allowing other services to bind-mount them before data-mesher starts. Names must contain only lowercase letters, numbers, and underscores.

Type: list of directory name (lowercase letters, numbers, and underscores only)

Default: [ ]

Example:

1
2
3
4
[
  "dns"
  "nss"
]

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.group

User group under which data-mesher runs.

Type: string

Default: "data-mesher"

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.openFirewall

Whether to enable Open ports in firewall.

Type: boolean

Default: false

Example: true

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.settings

Data Mesher settings, which correspond to the contents of the dm.toml file

Type: open submodule of (TOML value)

Default: { }

Declared by: - nix/nixosModules/data-mesher/module.nix

services.data-mesher.settings.cluster.bootstrap_nodes

A list of peers to connect to when joining the cluster.

Type: list of string

Default: [ ]

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.cluster.interface

Interface to listen on for memberlist communication

Type: string

Default: "lo"

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.cluster.join_interval

An interval, in the form of a Golang time.Duration, which controls how frequently we check that we are peered with the root nodes, performing a join operation for any that we are not.

Type: string

Default: "30s"

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.cluster.port

Port to listen on for memberlist communication

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

Default: 7946

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.cluster.push_pull_interval

An interval, in the form of a Golang time.Duration, which controls how frequently a node will perform a push/pull sync with another random node

Type: string

Default: "30s"

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.files

A mapping of file names to lists of base64-encoded ED25519 public keys. Only files listed here can be uploaded or imported from other nodes, and they must be signed by one of the configured public keys.

Type: attribute set of list of string

Default: { }

Example:

1
2
3
4
5
6
7
8
9
{
  "dns:sol" = [
    "P6AE0lukf9/qmVglYrGPNYo5ZnpFrnqLeAzlCZF0lTk="
  ];
  "dns:vulcan" = [
    "ZasdhiAVJTa5b2qG8ynWvdHqALUxC6Eg8pdn6RVXuQE="
    "1ru2QQ1eWV7yDlyfTTDEml3xTiacASYn0KprzknN8Pc="
  ];
}

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.http.interface

Interface to listen on for http requests

Type: string

Default: "lo"

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.http.port

Port to listen on for http requests

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

Default: 7331

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.settings.log_level

Log level

Type: one of “fatal”, “error”, “warn”, “info”, “debug”

Default: "info"

Declared by: - nix/nixosModules/data-mesher/settings.nix

services.data-mesher.user

User account under which data-mesher runs.

Type: string

Default: "data-mesher"

Declared by: - nix/nixosModules/data-mesher/module.nix