Skip to content

slskd

slskd is a web based client for Soulseek.

Available Options

This page documents 13 configuration options.

Additional Options

This page has the following additional configuration options:

nixflix.slskd.enable

Whether to enable slskd Soulseek client.

Typeboolean
Default
false
Example
true
Declared inmodules/slskd

nixflix.slskd.apiKey

API key securing slskd's own REST API. Consumed by clients such as DroppedNeedle.

Can be created with the following:

openssl rand -hex 16

Warning

Can be a plain string (visible in Nix store) or { _secret = /path/to/file; } for file-based secrets.

Plain-text secrets will be visible in the Nix store. Use { _secret = path; } for sensitive data.

Typenull or string or (submodule)
Default
null
Example
{ _secret = "/run/secrets/secret-file"; }
Declared inmodules/slskd

nixflix.slskd.dataDir

Directory holding slskd's generated credentials file. slskd's own application state lives under /var/lib/slskd (managed by the upstream systemd StateDirectory).

Typeabsolute path
Default
"${nixflix.stateDir}/slskd"
Declared inmodules/slskd

nixflix.slskd.downloadsDir

Directory where completed Soulseek downloads are stored.

Typeabsolute path
Default
"${nixflix.downloadsDir}/slskd"
Declared inmodules/slskd

nixflix.slskd.group

Group under which slskd runs.

Typestring
Default
config.nixflix.globals.libraryOwner.group
Declared inmodules/slskd

nixflix.slskd.openFirewall

Open the Soulseek peer listen port (settings.soulseek.listen_port) in the firewall.

Typeboolean
Default
false
Declared inmodules/slskd

nixflix.slskd.password

Web UI password. Required when nixflix.slskd.enable = true.

Warning

Can be a plain string (visible in Nix store) or { _secret = /path/to/file; } for file-based secrets.

Plain-text secrets will be visible in the Nix store. Use { _secret = path; } for sensitive data.

Typenull or string or (submodule)
Default
null
Example
{ _secret = "/run/secrets/secret-file"; }
Declared inmodules/slskd

nixflix.slskd.reverseProxy.expose

Whether to expose the slskd web UI via the reverse proxy.

Typeboolean
Default
true
Declared inmodules/slskd

nixflix.slskd.subdomain

Subdomain prefix for reverse proxy routing.

Typestring
Default
"slskd"
Declared inmodules/slskd

nixflix.slskd.user

User under which slskd runs.

Typestring
Default
"slskd"
Declared inmodules/slskd

nixflix.slskd.username

Web UI username. Required when nixflix.slskd.enable = true.

Warning

Can be a plain string (visible in Nix store) or { _secret = /path/to/file; } for file-based secrets.

Plain-text secrets will be visible in the Nix store. Use { _secret = path; } for sensitive data.

Typenull or string or (submodule)
Default
null
Example
{ _secret = "/run/secrets/secret-file"; }
Declared inmodules/slskd

nixflix.slskd.vpn.enable

Whether to route slskd traffic through the VPN.

When true, slskd is confined to the WireGuard network namespace (requires nixflix.vpn.enable = true).

Typeboolean
Default
true
Declared inmodules/slskd

nixflix.slskd.vpn.namespace

Name of the VPN network namespace to confine slskd to when vpn.enable = true.

Typestring
Default
config.nixflix.vpn.namespace
Declared inmodules/slskd