services.fancontrol.enable

Whether to enable fancontrol from lm_sensors.

type

boolean

example

{
  services.fancontrol.enable = true;
}

default

{
  services.fancontrol.enable = false;
}

services.fancontrol.package

The package used for this service.

type

package

default

{
  services.fancontrol.package = "pkgs.lm_sensors";
}

services.fancontrol.extraConfig

Extra content of /etc/fanconfig. You should generate this configuration by running pwmconfig, after loading the necessary kernel modules.

type

strings concatenated with "\n"

default

{
  services.fancontrol.extraConfig = "";
}

services.fancontrol.extraModules

Extra kernel modules to load for sensors. These are suggested by sensors-detect.

type

list of string

default

{
  services.fancontrol.extraModules = [];
}

services.fancontrol.interval

The polling interval.

type

signed integer

default

{
  services.fancontrol.interval = 10;
}

services.papermc.enable

If enabled, start a Minecraft Server. The server data will be loaded from and saved to

.

type

boolean

default

{
  services.papermc.enable = false;
}

services.papermc.package

Version of papermc to run.

type

package

example

{
  services.papermc.package = {
    _type = "literalExpression";
    text = "pkgs.papermc_1_12_2";
  };
}

default

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

services.papermc.dataDir

Directory to store Minecraft database and other state/data files.

type

path

default

{
  services.papermc.dataDir = "/var/lib/minecraft";
}

services.papermc.declarative

Whether to use a declarative Minecraft server configuration. Only if set to true, the options

and will be applied.

type

boolean

default

{
  services.papermc.declarative = false;
}

services.papermc.eula

Whether you agree to

Mojangs EULA. This option must be set to true to run Minecraft server.

type

boolean

default

{
  services.papermc.eula = false;
}

services.papermc.jvmOpts

JVM options for the Minecraft server.

type

strings concatenated with " "

example

{
  services.papermc.jvmOpts = "-Xmx2048M -Xms4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
}

default

{
  services.papermc.jvmOpts = "-Xmx2048M -Xms2048M";
}

services.papermc.openFirewall

Whether to open ports in the firewall for the server.

type

boolean

default

{
  services.papermc.openFirewall = false;
}

services.papermc.plugins

Plugin list

type

list of path or package

default

{
  services.papermc.plugins = [];
}

services.papermc.serverProperties

Minecraft server properties for the server.properties file. Only has an effect when is set to true. See

for documentation on these values.

type

attribute set of boolean or signed integer or string

example

{
  services.papermc.serverProperties = {
    _type = "literalExpression";
    text = ''
      {
        server-port = 43000;
        difficulty = 3;
        gamemode = 1;
        max-players = 5;
        motd = "NixOS Minecraft server!";
        white-list = true;
        enable-rcon = true;
        "rcon.password" = "hunter2";
      }
      
    '';
  };
}

default

{
  services.papermc.serverProperties = {};
}

services.papermc.whitelist

Whitelisted players, only has an effect when

is true and the whitelist is enabled via by setting white-list to true. This is a mapping from Minecraft usernames to UUIDs. You can use to get a Minecraft UUID for a username.

type

attribute set of Minecraft UUID

example

{
  services.papermc.whitelist = {
    _type = "literalExpression";
    text = ''
      {
        username1 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
        username2 = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy";
      };
      
    '';
  };
}

default

{
  services.papermc.whitelist = {};
}

services.qbvpn.enable

Whether to enable qBittorrent + OpenVPN inside Docker.

type

boolean

example

{
  services.qbvpn.enable = true;
}

default

{
  services.qbvpn.enable = false;
}

services.qbvpn.bittorrentPort

Bittorrent TCP+UDP ports

type

signed integer

default

{
  services.qbvpn.bittorrentPort = 8999;
}

services.qbvpn.configDir

Config directory

type

path

default

{
  services.qbvpn.configDir = "/var/qbittorrent/etc";
}

services.qbvpn.downloadDir

Download directory

type

path

default

{
  services.qbvpn.downloadDir = "/var/qbittorrent/downloads";
}

services.qbvpn.webuiPort

WebUI TCP port

type

signed integer

default

{
  services.qbvpn.webuiPort = 8080;
}