NixOS Manual

Eelco Dolstra

Nicolas Pierron


Table of Contents

Preface
1. Installing NixOS
1.1. Obtaining NixOS
1.2. Installation
1.3. Changing the configuration
1.4. Upgrading NixOS
2. Configuring NixOS
2.1. Networking
2.1.1. Secure shell access
2.1.2. IPv4 configuration
2.1.3. IPv6 configuration
2.1.4. Firewall
2.1.5. Wireless networks
2.1.6. Ad-hoc configuration
3. Running NixOS
3.1. Service management
3.2. Rebooting and shutting down
3.3. User sessions
3.4. Control groups
3.5. Logging
4. Troubleshooting
4.1. Boot problems
4.2. Maintenance mode
5. Development
5.1. Hacking on NixOS
5.2. Extending NixOS
5.3. Building specific parts of NixOS
5.4. Building your own NixOS CD
5.5. Testing the installer
5.6. Testing the initrd
5.7. Whole-system testing using virtual machines
6. List of Options

List of Examples

1.1. Commands for installing NixOS on /dev/sda
1.2. NixOS configuration
5.1. Usual module content
5.2. Locate Module Example

Preface

This manual describes NixOS, a Linux distribution based on the purely functional package management system Nix.

NixOS is rather bleeding edge, and this manual is correspondingly sketchy and quite possibly out of date. It gives basic information on how to get NixOS up and running, but since NixOS is very much a work in progress, you are likely to encounter problems here and there. Extensive familiarity with Linux is recommended. If you encounter problems, please report them on the nix-dev@lists.science.uu.nl mailing list or on the #nixos channel on Freenode..

Chapter 1. Installing NixOS

1.1. Obtaining NixOS

NixOS ISO images can be downloaded from the NixOS homepage. These can be burned onto a CD. It is also possible to copy them onto a USB stick and install NixOS from there. For details, see the NixOS Wiki.

1.2. Installation

  1. Boot from the CD.

  2. The CD contains a basic NixOS installation. (It also contains Memtest86+, useful if you want to test new hardware.) When it’s finished booting, it should have detected most of your hardware and brought up networking (check ifconfig). Networking is necessary for the installer, since it will download lots of stuff (such as source tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP server on your network. Otherwise configure networking manually using ifconfig.

  3. The NixOS manual is available on virtual console 8 (press Alt+F8 to access).

  4. Login as root, empty password.

  5. If you downloaded the graphical ISO image, you can run start display-manager to start KDE.

  6. The NixOS installer doesn’t do any partitioning or formatting yet, so you need to that yourself. Use the following commands:

    • For partitioning: fdisk.

    • For initialising Ext4 partitions: mkfs.ext4. It is recommended that you assign a unique symbolic label to the file system using the option -L label. This will make the file system configuration independent from device changes.

    • For creating swap partitions: mkswap. Again it’s recommended to assign a label to the swap partition: -L label.

    • For creating LVM volumes, the LVM commands, e.g.,

      $ pvcreate /dev/sda1 /dev/sdb1
      $ vgcreate MyVolGroup /dev/sda1 /dev/sdb1
      $ lvcreate --size 2G --name bigdisk MyVolGroup
      $ lvcreate --size 1G --name smalldisk MyVolGroup

    • For creating software RAID devices, use mdadm.

  7. Mount the target file system on which NixOS should be installed on /mnt.

  8. You now need to create a file /mnt/etc/nixos/configuration.nix that specifies the intended configuration of the system. This is because NixOS has a declarative configuration model: you create or edit a description of the configuration that you want to be built and activated, and then NixOS takes care of realising that configuration. The command nixos-option can generate an initial configuration file for you:

    $ nixos-option --install

    It tries to figure out the kernel modules necessary for mounting the root device, as well as various other hardware characteristics. However, it doesn’t try to figure out the fileSystems option yet.

    You should edit /mnt/etc/nixos/configuration.nix to suit your needs. The text editors nano and vim are available.

    You need to specify a root file system in fileSystems and the target device for the Grub boot loader in boot.loader.grub.device. See Chapter 6, List of Options for a list of the available configuration options.

    Note

    It is very important that you specify in the option boot.initrd.kernelModules all kernel modules that are necessary for mounting the root file system, otherwise the installed system will not be able to boot. (If this happens, boot from the CD again, mount the target file system on /mnt, fix /mnt/etc/nixos/configuration.nix and rerun nixos-install.) In most cases, nixos-option --install will figure out the required modules.

    Examples of real-world NixOS configuration files can be found at https://nixos.org/repos/nix/configurations/trunk/.

  9. If your machine has a limited amount of memory, you may want to activate swap devices now (swapon device). The installer (or rather, the build actions that it may spawn) may need quite a bit of RAM, depending on your configuration.

  10. Do the installation:

    $ nixos-install

    Cross fingers.

  11. If everything went well:

    $ reboot

  12. You should now be able to boot into the installed NixOS. The Grub boot menu shows a list of available configurations (initially just one). Every time you change the NixOS configuration (see Section 1.3, “Changing the configuration”), a new item appears in the menu. This allows you to easily roll back to another configuration if something goes wrong.

    You should log in and change the root password with passwd.

    You’ll probably want to create some user accounts as well, which can be done with useradd:

    $ useradd -c 'Eelco Dolstra' -m eelco
    $ passwd eelco

    You may also want to install some software. For instance,

    $ nix-env -qa \*

    shows what packages are available, and

    $ nix-env -i w3m

    install the w3m browser.

Example 1.1, “Commands for installing NixOS on /dev/sda shows a typical sequence of commands for installing NixOS on an empty hard drive (here /dev/sda). Example 1.2, “NixOS configuration” shows a corresponding configuration Nix expression.

Example 1.1. Commands for installing NixOS on /dev/sda

$ fdisk /dev/sda (or whatever device you want to install on)
$ mkfs.ext4 -L nixos /dev/sda1 (idem)
$ mkswap -L swap /dev/sda2 (idem)
$ mount LABEL=nixos /mnt
$ nixos-option --install
$ nano /mnt/etc/nixos/configuration.nix
(in particular, set the fileSystems and swapDevices options)
$ nixos-install
$ reboot

Example 1.2. NixOS configuration

{
  boot.loader.grub.device = "/dev/sda";

  fileSystems."/".device = "/dev/disk/by-label/nixos";

  swapDevices =
    [ { device = "/dev/disk/by-label/swap"; } ];

  services.sshd.enable = true;
}

1.3. Changing the configuration

The file /etc/nixos/configuration.nix contains the current configuration of your machine. Whenever you’ve changed something to that file, you should do

$ nixos-rebuild switch

to build the new configuration, make it the default configuration for booting, and try to realise the configuration in the running system (e.g., by restarting system services).

You can also do

$ nixos-rebuild test

to build the configuration and switch the running system to it, but without making it the boot default. So if (say) the configuration locks up your machine, you can just reboot to get back to a working configuration.

There is also

$ nixos-rebuild boot

to build the configuration and make it the boot default, but not switch to it now (so it will only take effect after the next reboot).

Finally, you can do

$ nixos-rebuild build

to build the configuration but nothing more. This is useful to see whether everything compiles cleanly.

If you have a machine that supports hardware virtualisation, you can also test the new configuration in a sandbox by building and running a virtual machine that contains the desired configuration. Just do

$ nixos-rebuild build-vm
$ ./result/bin/run-*-vm

The VM does not have use any data from your host system, so your existing user accounts and home directories will not be available.

1.4. Upgrading NixOS

The best way to keep your NixOS installation up to date is to use the nixos-unstable channel. (A channel is a Nix mechanism for distributing Nix expressions and associated binaries.) The NixOS channel is updated automatically from NixOS’s Subversion repository after running certain tests and building most packages.

NixOS automatically subscribes you to the NixOS channel. If for some reason this is not the case, just do

$ nix-channel --add http://nixos.org/channels/nixos-unstable

You can then upgrade NixOS to the latest version in the channel by running

$ nix-channel --update nixos

and running the nixos-rebuild command as described in Section 1.3, “Changing the configuration”.

Chapter 2. Configuring NixOS

This chapter describes how to configure various aspects of a NixOS machine through the configuration file /etc/nixos/configuration.nix. As described in Section 1.3, “Changing the configuration”, changes to that file only take effect after you run nixos-rebuild.

2.1. Networking

2.1.1. Secure shell access

Secure shell (SSH) access to your machine can be enabled by setting:

services.openssh.enable = true;

By default, root logins using a password are disallowed. They can be disabled entirely by setting services.openssh.permitRootLogin to "no".

You can declaratively specify authorised RSA/DSA public keys for a user as follows:

users.extraUsers.alice.openssh.authorizedKeys.keys =
  [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];

2.1.2. IPv4 configuration

By default, NixOS uses DHCP (specifically, (dhcpcd)) to automatically configure network interfaces. However, you can configure an interface manually as follows:

networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; };

(The network prefix can also be specified using the option subnetMask, e.g. "255.255.255.0", but this is deprecated.) Typically you’ll also want to set a default gateway and set of name servers:

networking.defaultGateway = "192.168.1.1";
networking.nameservers = [ "8.8.8.8" ];

Note

Statically configured interfaces are set up by the systemd service interface-name-cfg.service. The default gateway and name server configuration is performed by network-setup.service.

The host name is set using networking.hostName:

networking.hostName = "cartman";

The default host name is nixos. Set it to the empty string ("") to allow the DHCP server to provide the host name.

2.1.3. IPv6 configuration

IPv6 is enabled by default. Stateless address autoconfiguration is used to automatically assign IPv6 addresses to all interfaces. You can disable IPv6 support globally by setting:

networking.enableIPv6 = false;

2.1.4. Firewall

NixOS has a simple stateful firewall that blocks incoming connections and other unexpected packets. The firewall applies to both IPv4 and IPv6 traffic. It can be enabled as follows:

networking.firewall.enable = true;

You can open specific TCP ports to the outside world:

networking.firewall.allowedTCPPorts = [ 80 443 ];

Note that TCP port 22 (ssh) is opened automatically if the SSH daemon is enabled (services.openssh.enable = true). UDP ports can be opened through networking.firewall.allowedUDPPorts. Also of interest is

networking.firewall.allowPing = true;

to allow the machine to respond to ping requests. (ICMPv6 pings are always allowed.)

2.1.5. Wireless networks

TODO

2.1.6. Ad-hoc configuration

You can use networking.localCommands to specify shell commands to be run at the end of network-setup.service. This is useful for doing network configuration not covered by the existing NixOS modules. For instance, to statically configure an IPv6 address:

networking.localCommands =
  ''
    ip -6 addr add 2001:610:685:1::1/64 dev eth0
  '';

Chapter 3. Running NixOS

This chapter describes various aspects of managing a running NixOS system, such as how to use the systemd service manager.

3.1. Service management

In NixOS, all system services are started and monitored using the systemd program. Systemd is the “init” process of the system (i.e. PID 1), the parent of all other processes. It manages a set of so-called “units”, which can be things like system services (programs), but also mount points, swap files, devices, targets (groups of units) and more. Units can have complex dependencies; for instance, one unit can require that another unit must be succesfully started before the first unit can be started. When the system boots, it starts a unit named default.target; the dependencies of this unit cause all system services to be started, filesystems to be mounted, swap files to be activated, and so on.

The command systemctl is the main way to interact with systemd. Without any arguments, it shows the status of active units:

$ systemctl
-.mount          loaded active mounted   /
swapfile.swap    loaded active active    /swapfile
sshd.service     loaded active running   SSH Daemon
graphical.target loaded active active    Graphical Interface
...

You can ask for detailed status information about a unit, for instance, the PostgreSQL database service:

$ systemctl status postgresql.service
postgresql.service - PostgreSQL Server
          Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service)
          Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago
        Main PID: 2390 (postgres)
          CGroup: name=systemd:/system/postgresql.service
                  ├─2390 postgres
                  ├─2418 postgres: writer process
                  ├─2419 postgres: wal writer process
                  ├─2420 postgres: autovacuum launcher process
                  ├─2421 postgres: stats collector process
                  └─2498 postgres: zabbix zabbix [local] idle

Jan 07 15:55:55 hagbard postgres[2394]: [1-1] LOG:  database system was shut down at 2013-01-07 15:55:05 CET
Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG:  database system is ready to accept connections
Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG:  autovacuum launcher started
Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server.

Note that this shows the status of the unit (active and running), all the processes belonging to the service, as well as the most recent log messages from the service.

Units can be stopped, started or restarted:

$ systemctl stop postgresql.service
$ systemctl start postgresql.service
$ systemctl restart postgresql.service

These operations are synchronous: they wait until the service has finished starting or stopping (or has failed). Starting a unit will cause the dependencies of that unit to be started as well (if necessary).

3.2. Rebooting and shutting down

The system can be shut down (and automatically powered off) by doing:

$ shutdown

This is equivalent to running systemctl poweroff. Likewise, reboot (a.k.a. systemctl reboot) will reboot the system.

The machine can be suspended to RAM (if supported) using systemctl suspend, and suspended to disk using systemctl hibernate.

These commands can be run by any user who is logged in locally, i.e. on a virtual console or in X11; otherwise, the user is asked for authentication.

3.3. User sessions

Systemd keeps track of all users who are logged into the system (e.g. on a virtual console or remotely via SSH). The command loginctl allows quering and manipulating user sessions. For instance, to list all user sessions:

$ loginctl
   SESSION        UID USER             SEAT
        c1        500 eelco            seat0
        c3          0 root             seat0
        c4        500 alice

This shows that two users are logged in locally, while another is logged in remotely. (“Seats” are essentially the combinations of displays and input devices attached to the system; usually, there is only one seat.) To get information about a session:

$ loginctl session-status c3
c3 - root (0)
           Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago
          Leader: 2536 (login)
            Seat: seat0; vc3
             TTY: /dev/tty3
         Service: login; type tty; class user
           State: online
          CGroup: name=systemd:/user/root/c3
                  ├─ 2536 /nix/store/10mn4xip9n7y9bxqwnsx7xwx2v2g34xn-shadow-4.1.5.1/bin/login --
                  ├─10339 -bash
                  └─10355 w3m nixos.org

This shows that the user is logged in on virtual console 3. It also lists the processes belonging to this session. Since systemd keeps track of this, you can terminate a session in a way that ensures that all the session’s processes are gone:

$ loginctl terminate-session c3

3.4. Control groups

To keep track of the processes in a running system, systemd uses control groups (cgroups). A control group is a set of processes used to allocate resources such as CPU, memory or I/O bandwidth. There can be multiple control group hierarchies, allowing each kind of resource to be managed independently.

The command systemd-cgls lists all control groups in the systemd hierarchy, which is what systemd uses to keep track of the processes belonging to each service or user session:

$ systemd-cgls
├─user
│ └─eelco
│   └─c1
│     ├─ 2567 -:0
│     ├─ 2682 kdeinit4: kdeinit4 Running...
│     ├─ ...
│     └─10851 sh -c less -R
└─system
  ├─httpd.service
  │ ├─2444 httpd -f /nix/store/3pyacby5cpr55a03qwbnndizpciwq161-httpd.conf -DNO_DETACH
  │ └─...
  ├─dhcpcd.service
  │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf
  └─ ...

Similarly, systemd-cgls cpu shows the cgroups in the CPU hierarchy, which allows per-cgroup CPU scheduling priorities. By default, every systemd service gets its own CPU cgroup, while all user sessions are in the top-level CPU cgroup. This ensures, for instance, that a thousand run-away processes in the httpd.service cgroup cannot starve the CPU for one process in the postgresql.service cgroup. (By contrast, it they were in the same cgroup, then the PostgreSQL process would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s CPU share in configuration.nix:

systemd.services.httpd.serviceConfig.CPUShares = 512;

By default, every cgroup has 1024 CPU shares, so this will halve the CPU allocation of the httpd.service cgroup.

There also is a memory hierarchy that controls memory allocation limits; by default, all processes are in the top-level cgroup, so any service or session can exhaust all available memory. Per-cgroup memory limits can be specified in configuration.nix; for instance, to limit httpd.service to 512 MiB of RAM (excluding swap) and 640 MiB of RAM (including swap):

systemd.services.httpd.serviceConfig.MemoryLimit = "512M";
systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ];

The command systemd-cgtop shows a continuously updated list of all cgroups with their CPU and memory usage.

3.5. Logging

System-wide logging is provided by systemd’s journal, which subsumes traditional logging daemons such as syslogd and klogd. Log entries are kept in binary files in /var/log/journal/. The command journalctl allows you to see the contents of the journal. For example,

$ journalctl -b

shows all journal entries since the last reboot. (The output of journalctl is piped into less by default.) You can use various options and match operators to restrict output to messages of interest. For instance, to get all messages from PostgreSQL:

$ journalctl -u postgresql.service
-- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. --
...
Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG:  database system is shut down
-- Reboot --
Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG:  database system was shut down at 2013-01-07 15:44:14 CET
Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG:  database system is ready to accept connections

Or to get all messages since the last reboot that have at least a “critical” severity level:

$ journalctl -b -p crit
Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice]
Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1)

Chapter 4. Troubleshooting

4.1. Boot problems

If NixOS fails to boot, there are a number of kernel command line parameters that may help you to identify or fix the issue. You can add these parameters in the GRUB boot menu by pressing “e” to modify the selected boot entry and editing the line starting with linux. The following are some useful kernel command line parameters that are recognised by the NixOS boot scripts or by systemd:

boot.shell_on_fail

Start a root shell if something goes wrong in stage 1 of the boot process (the initial ramdisk). This is disabled by default because there is no authentication for the root shell.

boot.debug1

Start an interactive shell in stage 1 before anything useful has been done. That is, no modules have been loaded and no file systems have been mounted, except for /proc and /sys.

boot.trace

Print every shell command executed by the stage 1 and 2 boot scripts.

single

Boot into rescue mode (a.k.a. single user mode). This will cause systemd to start nothing but the unit rescue.target, which runs sulogin to prompt for the root password and start a root login shell. Exiting the shell causes the system to continue with the normal boot process.

systemd.log_level=debug systemd.log_target=console

Make systemd very verbose and send log messages to the console instead of the journal.

For more parameters recognised by systemd, see systemd(1).

If no login prompts or X11 login screens appear (e.g. due to hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start rescue mode (described above). (Also note that since most units have a 90-second timeout before systemd gives up on them, the agetty login prompts should appear eventually unless something is very wrong.)

4.2. Maintenance mode

You can enter rescue mode by running:

$ systemctl rescue

This will eventually give you a single-user root shell. Systemd will stop (almost) all system services. To get out of maintenance mode, just exit from the rescue shell.

Chapter 5. Development

This chapter has some random notes on hacking on NixOS.

5.1. Hacking on NixOS

By default, NixOS’s nixos-rebuild command uses the NixOS and Nixpkgs sources provided by the nixos-unstable channel (kept in /nix/var/nix/profiles/per-user/root/channels/nixos). To modify NixOS, however, you should check out the latest sources from Subversion. This is done using the following command:

$ nixos-checkout /my/sources

This will check out the latest NixOS sources to /my/sources/nixos and the Nixpkgs sources to /my/sources/nixpkgs. If you want to rebuild your system using your (modified) sources, you need to tell nixos-rebuild about them using the -I flag:

$ nixos-rebuild switch -I /my/sources

5.2. Extending NixOS

NixOS is based on a modular system for declarative configuration. This system combines multiple modules to produce one configuration. One of the module which compose your computer configuration is /etc/nixos/configuration.nix. Other modules are available under NixOS modules directory

A module is a file which handles one specific part of the configuration. This part of the configuration could correspond to an hardware, a service, network settings, or preferences. A module configuration does not have to handle everything from scratch, it can base its configuration on other configurations provided by other modules. Thus a module can define options to setup its configuration, and it can also declare options to be fed by other modules.

A module is a file which contains a Nix expression. This expression should be either an expression which gets evaluated into an attribute set or a function which returns an attribute set.

When the expression is a function, it should expect only one argument which is an attribute set containing an attribute named config and another attribute named pkgs. The config attribute contains the result of the merge of all modules. This attribute is evaluated lazily, such as any Nix expression. For more details on how options are merged, see the details in Section 5.2, “Extending NixOS”. The pkgs attribute contains nixpkgs attribute set of packages. This attribute is necessary for declaring options.

Example 5.1. Usual module content

{ config, pkgs, ... }: 1

{
  imports =
    [ 2
    ];

  options = {
    3
  };

  config = {
    4
  };
}

Example 5.1, “Usual module content” Illustrates a module skeleton.

1

This line makes the current Nix expression a function. This line can be omitted if there is no reference to pkgs and config inside the module.

2

This list is used to enumerate path to other modules which are declaring options used by the current module. In NixOS, default modules are listed in the file modules/module-list.nix. The default modules don't need to be added in the import list.

3

This attribute set contains an attribute set of option declaration.

4

This attribute set contains an attribute set of option definitions. If the module does not have any imported modules or any option declarations, then this attribute set can be used in place of its parent attribute set. This is a common case for simple modules such as /etc/nixos/configuration.nix.

A module defines a configuration which would be interpreted by other modules. To define a configuration, a module needs to provide option definitions. An option definition is a simple attribute assignment.

Option definitions are made in a declarative manner. Without properties, options will always be defined with the same value. To introduce more flexibility in the system, option definitions are guarded by properties.

Properties are means to introduce conditional values inside option definitions. This conditional values can be distinguished in two categories. The condition which are local to the current configuration and conditions which are dependent on others configurations. Local properties are mkIf and mkAssert. Global properties are mkOverride, mkDefault and mkOrder.

mkIf is used to remove the option definitions which are below it if the condition is evaluated to false. mkAssert expects the condition to be evaluated to true otherwise it raises an error message.

mkOverride is used to mask previous definitions if the current value has a lower mask number. The mask value is 100 (default) for any option definition which does not use this property. Thus, mkDefault is just a short-cut with a higher mask (1000) than the default mask value. This means that a module can set an option definition as a preference, and still let another module defining it with a different value without using any property.

mkOrder is used to sort definitions based on the rank number. The rank number will sort all options definitions before giving the sorted list of option definition to the merge function defined in the option declaration. A lower rank will move the definition to the beginning and a higher rank will move the option toward the end. The default rank is 100.

A module may declare options which are used by other module to change the configuration provided by the current module. Changes to the option definitions are made with properties which are using values extracted from the result of the merge of all modules (the config argument).

The config argument reproduce the same hierarchy of all options declared in all modules. For each option, the result of the option is available, it is either the default value or the merge of all definitions of the option.

Options are declared with the function pkgs.lib.mkOption. This function expects an attribute set which at least provides a description. A default value, an example, a type, a merge function and a post-process function can be added.

Types are used to provide a merge strategy for options and to ensure the type of each option definitions. They are defined in pkgs.lib.types.

The merge function expects a list of option definitions and merge them to obtain one result of the same type.

The post-process function (named apply) takes the result of the merge or of the default value, and produce an output which could have a different type than the type expected by the option.

Example 5.2. Locate Module Example

{ config, pkgs, ... }:

with pkgs.lib;

let
  cfg = config.services.locate;
  locatedb = "/var/cache/locatedb";
  logfile = "/var/log/updatedb";
  cmd =''root  updatedb --localuser=nobody --output=${locatedb} > ${logfile}'';
in

{
  imports = [ /etc/nixos/nixos/modules/services/scheduling/cron.nix ];

  options = {
    services.locate = {
      enable = mkOption {
        default = false;
        example = true;
        type = with types; bool;
        description = ''
          If enabled, NixOS will periodically update the database of
          files used by the locate command.
        '';
      };

      period = mkOption {
        default = "15 02 * * *";
        type = with types; uniq string;
        description = ''
          This option defines (in the format used by cron) when the
          locate database is updated.
          The default is to update at 02:15 (at night) every day.
        '';
      };
    };
  };

  config = mkIf cfg.enable {
    services.cron = {
      enable = true;
      systemCronJobs = "${cfg.period}  root ${cmd}";
    };
  };
}

Example 5.2, “Locate Module Example” illustrates a module which handles the regular update of the database which index all files on the file system. This modules has option definitions to rely on the cron service to run the command at predefined dates. In addition, this modules provides option declarations to enable the indexing and to use different period of time to run the indexing. Properties are used to prevent ambiguous definitions of option (enable locate service and disable cron services) and to ensure that no options would be defined if the locate service is not enabled.

5.3. Building specific parts of NixOS

$ nix-build /etc/nixos/nixos -A attr

where attr is an attribute in /etc/nixos/nixos/default.nix. Attributes of interest include:

config

The computer configuration generated from the NIXOS_CONFIG environment variable (default is /etc/nixos/configuration.nix) with the NixOS default set of modules.

system

The derivation which build your computer system. It is built by the command nixos-rebuild build

vm

The derivation which build your computer system inside a virtual machine. It is built by the command nixos-rebuild build-vm

Most parts of NixOS can be build through the config attribute set. This attribute set allows you to have a view of the merged option definitions and all its derivations. Important derivations are store inside the option system.build and can be listed with the command nix-instantiate --xml --eval-only /etc/nixos/nixos -A config.system.build

5.4. Building your own NixOS CD

Building a NixOS CD is as easy as configuring your own computer. The idea is to use another module which will replace your configuration.nix to configure the system that would be install on the CD.

Default CD/DVD configurations are available inside nixos/modules/installer/cd-dvd. To build them you have to set NIXOS_CONFIG before running nix-build to build the ISO.

$ export NIXOS_CONFIG=/etc/nixos/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
$ nix-build /etc/nixos/nixos -A config.system.build.isoImage

Before burning your CD/DVD, you can check the content of the image by mounting anywhere like suggested by the following command:

$ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso

5.5. Testing the installer

Building, burning, and booting from an installation CD is rather tedious, so here is a quick way to see if the installer works properly:

$ export NIXOS_CONFIG=/etc/nixos/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
$ nix-build /etc/nixos/nixos -A config.system.build.nixosInstall
$ dd if=/dev/zero of=diskimage seek=2G count=0 bs=1
$ yes | mke2fs -j diskimage
$ mount -o loop diskimage /mnt
$ ./result/bin/nixos-install

5.6. Testing the initrd

A quick way to test whether the kernel and the initial ramdisk boot correctly is to use QEMU’s -kernel and -initrd options:

$ nix-build /etc/nixos/nixos -A config.system.build.initialRamdisk -o initrd
$ nix-build /etc/nixos/nixos -A config.system.build.kernel -o kernel
$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null

5.7. Whole-system testing using virtual machines

Complete NixOS GNU/Linux systems can be tested in virtual machines (VMs). This makes it possible to test a system upgrade or configuration change before rebooting into it, using the nixos-rebuild build-vm or nixos-rebuild build-vm-with-bootloader command.

The tests/ directory in the NixOS source tree contains several whole-system unit tests. These tests can be run[1] from the NixOS source tree as follows:

$ nix-build tests/ -A nfs.test

This performs an automated test of the NFS client and server functionality in the Linux kernel, including file locking semantics (e.g., whether locks are maintained across server crashes). It will first build or download all the dependencies of the test (e.g., all packages needed to run a NixOS VM). The test is defined in tests/nfs.nix. If the test succeeds, nix-build will place a symlink ./result in the current directory pointing at the location in the Nix store of the test results (e.g., screenshots, test reports, and so on). In particular, a pretty-printed log of the test is written to log.html, which can be viewed using a web browser like this:

$ icecat result/log.html

It is also possible to run the test environment interactively, allowing you to experiment with the VMs. For example:

$ nix-build tests/ -A nfs.driver
$ ./result/bin/nixos-run-vms

The script nixos-run-vms starts the three virtual machines defined in the NFS test using QEMU/KVM. The root file system of the VMs is created on the fly and kept across VM restarts in ./hostname.qcow2.

Finally, the test itself can be run interactively. This is particularly useful when developing or debugging a test:

$ nix-build tests/ -A nfs.driver
$ ./result/bin/nixos-test-driver
starting VDE switch for network 1
>

Perl statements can now be typed in to start or manipulate the VMs:

> startAll;
(the VMs start booting)
> $server->waitForJob("nfs-kernel-nfsd");
> $client1->succeed("flock -x /data/lock -c 'sleep 100000' &");
> $client2->fail("flock -n -s /data/lock true");
> $client1->shutdown;
(this releases client1's lock)
> $client2->succeed("flock -n -s /data/lock true");

The function testScript executes the entire test script and drops you back into the test driver command line upon its completion. This allows you to inspect the state of the VMs after the test (e.g. to debug the test script).

This and other tests are continuously run on the Hydra instance at nixos.org, which allows developers to be notified of any regressions introduced by a NixOS or Nixpkgs change.

The actual Nix programming interface to VM testing is in NixOS, under lib/testing.nix. This file defines a function which takes an attribute set containing a nixpkgs attribute (the path to a Nixpkgs checkout), and a system attribute (the system type). It returns an attribute set containing several utility functions, among which the main entry point is makeTest.

The makeTest function takes a function similar to that found in tests/nfs.nix (discussed above). It returns an attribute set containing (among others):

test

A derivation containing the test log as an HTML file, as seen above, suitable for presentation in the Hydra continuous build system.

report

A derivation containing a code coverage report, with meta-data suitable for Hydra.

driver

A derivation containing scripts to run the VM test or interact with the VM network interactively, as seen above.



[1] NixOS tests can be run both from NixOS and from a non-NixOS GNU/Linux distribution, provided the Nix package manager is installed.

Chapter 6. List of Options

assertions

This option allows modules to express conditions that must hold for the evaluation of the system configuration to succeed, along with associated error messages for the user.

Default: [ ]

Example: [ { assertion = false; message = "you can't enable this for that reason"; } ]

Declared by:

<nixos/modules/misc/assertions.nix>
boot.blacklistedKernelModules

List of names of kernel modules that should not be loaded automatically by the hardware probing code.

Default: [ ]

Example: [ "cirrusfb" "i2c_piix4" ]

Declared by:

<nixos/modules/system/boot/modprobe.nix>
boot.bootMount

Obsolete name of boot.loader.grub.bootDevice.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.cleanTmpDir

Delete all files in /tmp/ during boot.

Default: false

Example: true

Declared by:

<nixos/modules/system/boot/stage-2.nix>
boot.copyKernels

Obsolete name of boot.loader.grub.copyKernels.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.crashDump.enable

If enabled, NixOS will set up a kernel that will boot on crash, and leave the user to a stage1 debug1devices interactive shell to be able to save the crashed kernel dump. It also activates the NMI watchdog.

Default: false

Example: true

Declared by:

<nixos/modules/misc/crashdump.nix>
boot.crashDump.kernelPackages

This will override the boot.kernelPackages, and will add some kernel configuration parameters for the crash dump to work.

Default: "pkgs.linuxPackages"

Example: "pkgs.linuxPackages_2_6_25"

Declared by:

<nixos/modules/misc/crashdump.nix>
boot.crashDump.kernelParams

Parameters that will be passed to the kernel kexec-ed on crash.

Default: [ "debug1devices" ]

Declared by:

<nixos/modules/misc/crashdump.nix>
boot.devShmSize

Size limit for the /dev/shm tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Default: "50%"

Example: "256m"

Declared by:

<nixos/modules/system/boot/stage-2.nix>
boot.devSize

Size limit for the /dev tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Default: "5%"

Example: "32m"

Declared by:

<nixos/modules/system/boot/stage-2.nix>
boot.extraGrubEntries

Obsolete name of boot.loader.grub.extraEntries.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.extraGrubEntriesBeforeNixos

Obsolete name of boot.loader.grub.extraEntriesBeforeNixOS.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.extraKernelParams

Additional user-defined kernel parameters.

Default: [ ]

Example: [ "boot.trace" ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.extraModprobeConfig

Any additional configuration to be appended to the generated modprobe.conf. This is typically used to specify module options. See modprobe.conf(5) for details.

Default: ""

Example: "options parport_pc io=0x378 irq=7 dma=1\n"

Declared by:

<nixos/modules/system/boot/modprobe.nix>
boot.extraModulePackages

A list of additional packages supplying kernel modules.

Default: [ ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.extraTTYs

Tty (virtual console) devices, in addition to the consoles on which mingetty and syslogd run, that must be initialised. Only useful if you have some program that you want to run on some fixed console. For example, the NixOS installation CD opens the manual in a web browser on console 7, so it sets boot.extraTTYs to ["tty7"].

Default: [ ]

Example: [ "tty8" "tty9" ]

Declared by:

<nixos/modules/tasks/kbd.nix>
boot.grubDevice

Obsolete name of boot.loader.grub.device.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.grubSplashImage

Obsolete name of boot.loader.grub.splashImage.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.hardwareScan

Whether to try to load kernel modules for all detected hardware. Usually this does a good job of providing you with the modules you need, but sometimes it can crash the system or cause other nasty effects.

Default: true

Declared by:

<nixos/modules/services/hardware/udev.nix>
boot.initrd.availableKernelModules

The set of kernel modules in the initial ramdisk used during the boot process. This set must include all modules necessary for mounting the root device. That is, it should include modules for the physical device (e.g., SCSI drivers) and for the file system (e.g., ext3). The set specified here is automatically closed under the module dependency relation, i.e., all dependencies of the modules list here are included automatically. The modules listed here are available in the initrd, but are only loaded on demand (e.g., the ext3 module is loaded automatically when an ext3 filesystem is mounted, and modules for PCI devices are loaded when they match the PCI ID of a device in your system). To force a module to be loaded, include it in boot.initrd.kernelModules.

Default: [ ]

Example: [ "sata_nv" "ext3" ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.initrd.checkJournalingFS

Whether to run fsck on journaling filesystems such as ext3.

Default: true

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.compressor

The compressor to use on the initrd

Default: "gzip -9"

Example: "xz"

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.enableSplashScreen

Whether to show a nice splash screen while booting.

Default: true

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.extraKernelModules

Obsolete name of boot.initrd.kernelModules.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.initrd.extraUtilsCommands

Shell commands to be executed in the builder of the extra-utils derivation. This can be used to provide additional utilities in the initial ramdisk.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.extraUtilsCommandsTest

Shell commands to be executed in the builder of the extra-utils derivation after patchelf has done its job. This can be used to test additional utilities copied in extraUtilsCommands.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.kernelModules

List of modules that are always loaded by the initrd.

Default: [ ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
<nixos/modules/rename.nix>
boot.initrd.luks.cryptoModules

A list of cryptographic kernel modules needed to decrypt the root device(s). The default includes all common modules.

Default: [ "aes" "aes_generic" "aes_x86_64" "aes_i586" "blowfish" "twofish" "serpent" "cbc" "xts" "lrw" "sha256" "sha1" "sha2" ]

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices

The list of devices that should be decrypted using LUKS before trying to mount the root partition. This works for both LVM-over-LUKS and LUKS-over-LVM setups. The devices are decrypted to the device mapper names defined. Make sure that initrd has the crypto modules needed for decryption.

Default: [ ]

Example: [ { device = "/dev/sda3"; name = "luksroot"; preLVM = true; } ]

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.allowDiscards

Whether to allow TRIM requests to the underlying device. This option has security implications, please read the LUKS documentation before activating in.

Default: false

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.device

Path of the underlying block device.

Default: none

Example: "/dev/sda2"

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.keyFile

The name of the file (can be a raw device or a partition) that should be used as the decryption key for the encrypted device. If not specified, you will be prompted for a passphrase instead.

Default:

Example: "/dev/sdb1"

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.keyFileSize

The size of the key file. Use this if only the beginning of the key file should be used as a key (often the case if a raw device or partition is used as key file). If not specified, the whole keyFile will be used decryption, instead of just the first keyFileSize bytes.

Default:

Example: 4096

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.name

Named to be used for the generated device in /dev/mapper.

Default: none

Example: "luksroot"

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.devices.*.preLVM

Whether the luksOpen will be attempted before LVM scan or after it.

Default: true

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.enable

Obsolete.

Default: false

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.luks.mitigateDMAAttacks

Unless enabled, encryption keys can be easily recovered by an attacker with physical access to any machine with PCMCIA, ExpressCard, ThunderBolt or FireWire port. More information: http://en.wikipedia.org/wiki/DMA_attack This option blacklists FireWire drivers, but doesn't remove them. You can manually load the drivers if you need to use a FireWire device, but don't forget to unload them!

Default: true

Declared by:

<nixos/modules/system/boot/luksroot.nix>
boot.initrd.mdadmConf

Contents of /etc/mdadm.conf at initrd.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.postDeviceCommands

Shell commands to be executed immediately after stage 1 of the boot has loaded kernel modules and created device nodes in /dev.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.postMountCommands

Shell commands to be executed immediately after the stage 1 filesystems have been mounted.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.preLVMCommands

Shell commands to be executed immediately before lvm discovery.

Default: ""

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.initrd.supportedFilesystems

Names of supported filesystem types in the initial ramdisk.

Default: [ ]

Example: [ "btrfs" ]

Declared by:

<nixos/modules/tasks/filesystems.nix>
boot.kernel.sysctl

Runtime parameters of the Linux kernel, as set by sysctl(8). Note that sysctl parameters names must be enclosed in quotes (e.g. "vm.swappiness" instead of vm.swappiness). The value of each parameter may be a string, integer or Boolean.

Default: { }

Example: { net.ipv4.tcp_syncookies = false; vm.swappiness = 60; }

Declared by:

<nixos/modules/config/sysctl.nix>
boot.kernelModules

The set of kernel modules to be loaded in the second stage of the boot process. Note that modules that are needed to mount the root file system should be added to boot.initrd.availableKernelModules or boot.initrd.kernelModules.

Default: [ ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.kernelPackages

This option allows you to override the Linux kernel used by NixOS. Since things like external kernel module packages are tied to the kernel you're using, it also overrides those. This option is a function that takes Nixpkgs as an argument (as a convenience), and returns an attribute set containing at the very least an attribute kernel. Additional attributes may be needed depending on your configuration. For instance, if you use the NVIDIA X driver, then it also needs to contain an attribute nvidia_x11.

Default: "pkgs.linuxPackages"

Example: "pkgs.linuxPackages_2_6_25"

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.kernelParams

The kernel parameters. If you want to add additional parameters, it's best to set boot.extraKernelParams.

Default: [ ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
boot.loader.efi.canTouchEfiVariables

Whether or not the installation process should modify efi boot variables.

Default: false

Declared by:

<nixos/modules/system/boot/loader/efi.nix>
<nixos/modules/rename.nix>
boot.loader.efi.efiSysMountPoint

Where the EFI System Partition is mounted.

Default: "/boot"

Declared by:

<nixos/modules/system/boot/loader/efi.nix>
<nixos/modules/rename.nix>
boot.loader.efi.efibootmgr.efiDisk

The disk that contains the EFI system partition.

Default: "/dev/sda"

Declared by:

<nixos/modules/system/boot/loader/efi.nix>
<nixos/modules/rename.nix>
boot.loader.efi.efibootmgr.efiPartition

The partition number of the EFI system partition.

Default: "1"

Declared by:

<nixos/modules/system/boot/loader/efi.nix>
<nixos/modules/rename.nix>
boot.loader.efi.efibootmgr.enable

Obsolete name of boot.loader.efi.canTouchEfiVariables.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.efi.efibootmgr.postEfiBootMgrCommands

Shell commands to be executed immediately after efibootmgr has setup the system EFI. Some systems do not follow the EFI specifications properly and insert extra entries. Others will brick (fix by removing battery) on boot when it finds more than X entries. This hook allows for running a few extra efibootmgr commands to combat these issues.

Default: ""

Declared by:

<nixos/modules/system/boot/loader/efi.nix>
<nixos/modules/rename.nix>
boot.loader.efiBootStub.efiDisk

Obsolete name of boot.loader.efi.efibootmgr.efiDisk.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.efiBootStub.efiPartition

Obsolete name of boot.loader.efi.efibootmgr.efiPartition.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.efiBootStub.efiSysMountPoint

Obsolete name of boot.loader.efi.efiSysMountPoint.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.efiBootStub.enable

Whether to use the linux kernel as an EFI bootloader. When enabled, the kernel, initrd, and an EFI shell script to boot the system are copied to the EFI system partition.

Default: false

Declared by:

<nixos/modules/system/boot/loader/efi-boot-stub/efi-boot-stub.nix>
boot.loader.efiBootStub.installShell

Whether to install an EFI shell in \EFI\BOOT. This _should_ only be needed for removable devices (CDs, usb sticks, etc.), but it may be an option for broken systems where efibootmgr doesn't work. Particularly useful in conjunction with installStartupNsh

Default: false

Declared by:

<nixos/modules/system/boot/loader/efi-boot-stub/efi-boot-stub.nix>
boot.loader.efiBootStub.installStartupNsh

Whether to install a startup.nsh in the root of the EFI system partition. For now, it will just boot the latest version when run, the eventual goal is to have a basic menu-type interface.

Default: false

Declared by:

<nixos/modules/system/boot/loader/efi-boot-stub/efi-boot-stub.nix>
boot.loader.efiBootStub.postEfiBootMgrCommands

Obsolete name of boot.loader.efi.efibootmgr.postEfiBootMgrCommands.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.efiBootStub.runEfibootmgr

Obsolete name of boot.loader.efi.canTouchEfiVariables.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.loader.generationsDir.copyKernels

Whether copy the necessary boot files into /boot, so /nix/store is not needed by the boot loadear.

Default: false

Declared by:

<nixos/modules/system/boot/loader/generations-dir/generations-dir.nix>
boot.loader.generationsDir.enable

Whether to create symlinks to the system generations under /boot. When enabled, /boot/default/kernel, /boot/default/initrd, etc., are updated to point to the current generation's kernel image, initial RAM disk, and other bootstrap files. This optional is not necessary with boot loaders such as GNU GRUB for which the menu is updated to point to the latest bootstrap files. However, it is needed for U-Boot on platforms where the boot command line is stored in flash memory rather than in a menu file.

Default: false

Declared by:

<nixos/modules/system/boot/loader/generations-dir/generations-dir.nix>
boot.loader.grub.bootDevice

Obsolete.

Default: ""

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.configurationLimit

Maximum of configurations in boot menu. GRUB has problems when there are too many entries.

Default: 100

Example: 120

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.configurationName

GRUB entry name instead of default.

Default: ""

Example: "Stable 2.6.21"

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.copyKernels

Whether the GRUB menu builder should copy kernels and initial ramdisks to /boot. This is done automatically if /boot is on a different partition than /.

Default: false

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.default

Index of the default menu item to be booted.

Default: 0

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.device

The device on which the GRUB boot loader will be installed. The special value nodev means that a GRUB boot menu will be generated, but GRUB itself will not actually be installed. To install GRUB on multiple devices, use boot.loader.grub.devices.

Default: ""

Example: "/dev/hda"

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.devices

The devices on which the boot loader, GRUB, will be installed. Can be used instead of device to install grub into multiple devices (e.g., if as softraid arrays holding /boot).

Default: [ ]

Example: [ "/dev/hda" ]

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.enable

Whether to enable the GNU GRUB boot loader.

Default: true

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.extraConfig

Additional GRUB commands inserted in the configuration file just before the menu entries.

Default: ""

Example: "serial; terminal_output.serial"

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.extraEntries

Any additional entries you want added to the GRUB boot menu.

Default: ""

Example: "# GRUB 1 example (not GRUB 2 compatible)\ntitle Windows\n chainloader (hd0,1)+1\n\n# GRUB 2 example\nmenuentry \"Windows7\" {\n title Windows7\n insmod ntfs\n set root='(hd1,1)'\n chainloader +1\n}\n"

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.extraEntriesBeforeNixOS

Whether extraEntries are included before the default option.

Default: false

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.extraPerEntryConfig

Additional GRUB commands inserted in the configuration file at the start of each NixOS menu entry.

Default: ""

Example: "root (hd0)"

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.extraPrepareConfig

Additional bash commands to be run at the script that prepares the grub menu entries.

Default: ""

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.memtest86

Make Memtest86+, a memory testing program, available from the GRUB menu.

Default: false

Declared by:

<nixos/modules/system/boot/loader/grub/memtest.nix>
boot.loader.grub.splashImage

Background image used for GRUB. It must be a 640x480, 14-colour image in XPM format, optionally compressed with gzip or bzip2. Set to null to run GRUB in text mode.

Default: (build of 36909-soft-tux.xpm.gz)

Example:

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
<nixos/modules/rename.nix>
boot.loader.grub.timeout

Timeout (in seconds) until GRUB boots the default menu item.

Default: 5

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.grub.version

The version of GRUB to use: 1 for GRUB Legacy (versions 0.9x), or 2 for GRUB 2.

Default: 1

Example: 2

Declared by:

<nixos/modules/system/boot/loader/grub/grub.nix>
boot.loader.gummiboot.enable

Whether to enable the gummiboot UEFI boot manager

Default: false

Declared by:

<nixos/modules/system/boot/loader/gummiboot/gummiboot.nix>
boot.loader.gummiboot.timeout

Timeout (in seconds) for how long to show the menu (null if none). Note that even with no timeout the menu can be forced if the space key is pressed during bootup

Default:

Example: 4

Declared by:

<nixos/modules/system/boot/loader/gummiboot/gummiboot.nix>
boot.loader.initScript.enable

Some systems require a /sbin/init script which is started. Or having it makes starting NixOS easier. This applies to some kind of hosting services and user mode linux. Additionaly this script will create /boot/init-other-configurations-contents.txt containing contents of remaining configurations. You can copy paste them into /sbin/init manually running a recue system or such.

Default: false

Declared by:

<nixos/modules/system/boot/loader/init-script/init-script.nix>
boot.loader.raspberryPi.enable

Whether to create files with the system generations in /boot. /boot/old will hold files from old generations.

Default: false

Declared by:

<nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix>
boot.postBootCommands

Shell commands to be executed just before systemd is started.

Default: ""

Example: "rm -f /var/log/messages"

Declared by:

<nixos/modules/system/boot/stage-2.nix>
boot.resumeDevice

Device for manual resume attempt during boot. Looks like major:minor. ls -l /dev/SWAP_PARTION shows them.

Default: ""

Example: "0:0"

Declared by:

<nixos/modules/system/boot/stage-1.nix>
boot.runSize

Size limit for the /run tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Default: "25%"

Example: "256m"

Declared by:

<nixos/modules/system/boot/stage-2.nix>
boot.spl.hostid

ZFS uses a system's hostid to determine if a storage pool (zpool) is native to this system, and should thus be imported automatically. Unfortunately, this hostid can change under linux from boot to boot (by changing network adapaters, for instance). Specify a unique 32 bit hostid in hex here for zfs to prevent getting a random hostid between boots and having to manually import pools.

Default: ""

Example: "0xdeadbeef"

Declared by:

<nixos/modules/tasks/filesystems/zfs.nix>
boot.supportedFilesystems

Names of supported filesystem types.

Default: [ ]

Example: [ "btrfs" ]

Declared by:

<nixos/modules/tasks/filesystems.nix>
boot.systemd.services

Obsolete name of systemd.services.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.systemd.sockets

Obsolete name of systemd.sockets.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.systemd.targets

Obsolete name of systemd.targets.

Default: none

Declared by:

<nixos/modules/rename.nix>
boot.vesa

Whether to activate VESA video mode on boot.

Default: false

Example: false

Declared by:

<nixos/modules/system/boot/kernel.nix>
environment.binsh

Select the shell executable that is linked system-wide to /bin/sh. Please note that NixOS assumes all over the place that shell to be Bash, so override the default setting only if you know exactly what you're doing.

Default: "/nix/store/985xf0pfq0dnv64gz2nj9zqycakq399f-bash-4.2-p42/bin/sh"

Example: "${pkgs.dash}/bin/dash"

Declared by:

<nixos/modules/programs/bash/bash.nix>
environment.blcr.enable

Wheter to enable support for the BLCR checkpointing tool.

Default: false

Declared by:

<nixos/modules/programs/blcr.nix>
environment.checkConfigurationOptions

Whether to check the validity of the entire configuration.

Default: true

Example: false

Declared by:

<nixos/modules/misc/check-config.nix>
environment.enableBashCompletion

Enable Bash completion for all interactive shells.

Default: false

Declared by:

<nixos/modules/programs/bash/bash.nix>
environment.etc

Set of files that have to be linked in /etc.

Default: { }

Example: { default/useradd = { text = "GROUP=100 ..."; } ; hosts = { mode = "0440"; source = "/nix/store/.../etc/dir/file.conf.example"; } ; }

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.etc.<name?>.enable

Whether this /etc file should be generated. This option allows specific /etc files to be disabled.

Default: true

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.etc.<name?>.mode

If set to something else than symlink, the file is copied instead of symlinked, with the given file mode.

Default: "symlink"

Example: "0600"

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.etc.<name?>.source

Path of the source file.

Default: none

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.etc.<name?>.target

Name of symlink (relative to /etc). Defaults to the attribute name.

Default: none

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.etc.<name?>.text

Text of the file.

Default:

Declared by:

<nixos/modules/system/etc/etc.nix>
environment.extraPackages

Obsolete name of environment.systemPackages.

Default: none

Declared by:

<nixos/modules/rename.nix>
environment.interactiveShellInit

Shell script code called during interactive shell initialisation.

Default: ""

Example: "export PATH=/godi/bin/:$PATH"

Declared by:

<nixos/modules/programs/bash/bash.nix>
environment.kdePackages

This option is obsolete. Please use environment.systemPackages instead.

Default: [ ]

Example: "[ pkgs.kde4.kdesdk ]"

Declared by:

<nixos/modules/services/x11/desktop-managers/kde4.nix>
<nixos/modules/rename.nix>
environment.nix

This option specifies the Nix package instance to use throughout the system.

Default: (build of nix-1.5.2)

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
environment.noXlibs

Switch off the options in the default configuration that require X libraries. Currently this includes: ssh X11 forwarding, dbus, fonts.enableCoreFonts, fonts.enableFontConfig

Default: false

Example: true

Declared by:

<nixos/modules/config/no-x-libs.nix>
environment.pathsToLink

Lists directories to be symlinked in `/run/current-system/sw'.

Default: [ ]

Example: [ "/" ]

Declared by:

<nixos/modules/config/system-path.nix>
environment.promptInit

Shell script code used to initialise the shell prompt.

Default: "# Provide a nice prompt.\nPROMPT_COLOR=\"1;31m\"\nlet $UID && PROMPT_COLOR=\"1;32m\"\nPS1=\"\\n\\[\\033[$PROMPT_COLOR\\][\\u@\\h:\\w]\\\\$\\[\\033[0m\\] \"\nif test \"$TERM\" = \"xterm\"; then\n PS1=\"\\[\\033]2;\\h:\\u:\\w\\007\\]$PS1\"\nfi\n"

Declared by:

<nixos/modules/programs/bash/bash.nix>
environment.shellAliases

An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs. The aliases are added to all users' shells.

Default: { }

Example: { ll = "ls -lh"; }

Declared by:

<nixos/modules/programs/shell.nix>
environment.shellInit

Shell script code called during login shell initialisation.

Default: ""

Example: "export PATH=/godi/bin/:$PATH"

Declared by:

<nixos/modules/programs/bash/bash.nix>
environment.systemPackages

The set of packages that appear in /run/current-system/sw. These packages are automatically available to all users, and are automatically updated every time you rebuild the system configuration. (The latter is the main difference with installing them in the default profile, /nix/var/nix/profiles/default.

Default: [ ]

Example: "[ pkgs.icecat3 pkgs.thunderbird ]"

Declared by:

<nixos/modules/rename.nix>
<nixos/modules/config/system-path.nix>
environment.unixODBCDrivers

specifies unix odbc drivers to be registered at /etc/odbcinst.ini. Maybe you also want to add pkgs.unixODBC to the system path to get a command line client t connnect to odbc databases.

Default: [ ]

Example: "map (x : x.ini) (with pkgs.unixODBCDrivers; [ mysql psql psqlng ] )"

Declared by:

<nixos/modules/config/unix-odbc-drivers.nix>
environment.wvdial.dialerDefaults

Contents of the "Dialer Defaults" section of /etc/wvdial.conf.

Default: ""

Example: "Init1 = AT+CGDCONT=1,\"IP\",\"internet.t-mobile\""

Declared by:

<nixos/modules/programs/wvdial.nix>
environment.wvdial.pppDefaults

Default ppp settings for wvdial.

Default: "noipdefault\nusepeerdns\ndefaultroute\npersist\nnoauth\n"

Declared by:

<nixos/modules/programs/wvdial.nix>
environment.x11Packages

List of packages added to the system when the X server is activated (services.xserver.enable).

Default: [ ]

Declared by:

<nixos/modules/services/x11/xserver.nix>
fileSystems

The file systems to be mounted. It must include an entry for the root directory (mountPoint = \"/\"). Each entry in the list is an attribute set with the following fields: mountPoint, device, fsType (a file system type recognised by mount; defaults to \"auto\"), and options (the mount options passed to mount using the -o flag; defaults to \"defaults\"). Instead of specifying device, you can also specify a volume label (label) for file systems that support it, such as ext2/ext3 (see mke2fs -L).

Default: none

Example: { / = { device = "/dev/hda1"; } ; /bigdisk = { label = "bigdisk"; } ; /data = { device = "/dev/hda2"; fsType = "ext3"; options = "data=journal"; } ; }

Declared by:

<nixos/modules/tasks/filesystems.nix>
<nixos/modules/system/boot/stage-1.nix>
fileSystems.<name?>.autoFormat

If the device does not currently contain a filesystem (as determined by blkid, then automatically format it with the filesystem type specified in fsType. Use with caution.

Default: false

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.device

Location of the device.

Default:

Example: "/dev/sda"

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.fsType

Type of the file system.

Default: "auto"

Example: "ext3"

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.label

Label of the device (if any).

Default:

Example: "root-partition"

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.mountPoint

Location of the mounted the file system.

Default: none

Example: "/mnt/usb"

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.neededForBoot

If set, this file system will be mounted in the initial ramdisk. By default, this applies to the root file system and to the file system containing /nix/store.

Default: false

Declared by:

<nixos/modules/system/boot/stage-1.nix>
fileSystems.<name?>.noCheck

Disable running fsck on this filesystem.

Default: false

Declared by:

<nixos/modules/tasks/filesystems.nix>
fileSystems.<name?>.options

Options used to mount the file system.

Default: "defaults,relatime"

Example: "data=journal"

Declared by:

<nixos/modules/tasks/filesystems.nix>
fonts.enableCoreFonts

Whether to include Microsoft's proprietary Core Fonts. These fonts are redistributable, but only verbatim, among other restrictions. See http://corefonts.sourceforge.net/eula.htm for details.

Default: false

Declared by:

<nixos/modules/config/fonts.nix>
fonts.enableFontConfig

If enabled, a Fontconfig configuration file will be built pointing to a set of default fonts. If you don't care about running X11 applications or any other program that uses Fontconfig, you can turn this option off and prevent a dependency on all those fonts.

Default: true

Declared by:

<nixos/modules/config/fonts.nix>
fonts.enableFontDir

Whether to create a directory with links to all fonts in share - so user can configure vncserver script one time (I mean per-user vncserver, so global service is not a good solution).

Default: false

Declared by:

<nixos/modules/config/fonts.nix>
fonts.enableGhostscriptFonts

Whether to add the fonts provided by Ghostscript (such as various URW fonts and the ``Base-14'' Postscript fonts) to the list of system fonts, making them available to X11 applications.

Default: false

Declared by:

<nixos/modules/config/fonts.nix>
fonts.extraFonts

List of packages with additional fonts.

Default: [ ]

Example: [ (build of dejavu-fonts-2.33) ]

Declared by:

<nixos/modules/config/fonts.nix>
fonts.fonts

List of primary font paths.

Default: [ "~/.fonts" "~/.nix-profile/lib/X11/fonts" "~/.nix-profile/share/fonts" "/nix/var/nix/profiles/default/lib/X11/fonts" "/nix/var/nix/profiles/default/share/fonts" ]

Declared by:

<nixos/modules/config/fonts.nix>
gnu

When enable, GNU software is chosent by default whenever a there is a choice between GNU and non-GNU software (e.g., GNU lsh vs. OpenSSH).

Default: false

Declared by:

<nixos/modules/config/gnu.nix>
hardware.bluetooth.enable

Whether to enable support for Bluetooth.

Default: false

Declared by:

<nixos/modules/services/hardware/bluetooth.nix>
hardware.cpu.amd.updateMicrocode

Update the CPU microcode for Amd processors.

Default: false

Declared by:

<nixos/modules/hardware/cpu/amd-microcode.nix>
hardware.cpu.intel.updateMicrocode

Update the CPU microcode for Intel processors.

Default: false

Declared by:

<nixos/modules/hardware/cpu/intel-microcode.nix>
hardware.enableAllFirmware

Turn on this option if you want to enable all the firmware shipped with Debian/Ubuntu.

Default: false

Declared by:

<nixos/modules/hardware/all-firmware.nix>
hardware.firmware

List of directories containing firmware files. Such files will be loaded automatically if the kernel asks for them (i.e., when it has detected specific hardware that requires firmware to function). If more than one path contains a firmware file with the same name, the first path in the list takes precedence. Note that you must rebuild your system if you add files to any of these directories. For quick testing, put firmware files in /root/test-firmware and add that directory to the list. Note that you can also add firmware packages to this list as these are directories in the nix store.

Default: [ ]

Example: [ "/root/my-firmware" ]

Declared by:

<nixos/modules/services/hardware/udev.nix>
hardware.nvidiaOptimus.disable

completely disable the nvidia gfx chip (saves power / heat) and just use IGP

Default: false

Declared by:

<nixos/modules/services/hardware/nvidia-optimus.nix>
hardware.pcmcia.config

Path to the configuration file which map the memory, irq and ports used by the PCMCIA hardware.

Default:

Declared by:

<nixos/modules/hardware/pcmcia.nix>
hardware.pcmcia.enable

Enable this option to support PCMCIA card.

Default: false

Declared by:

<nixos/modules/hardware/pcmcia.nix>
hardware.pcmcia.firmware

List of firmware used to handle specific PCMCIA card.

Default: [ ]

Declared by:

<nixos/modules/hardware/pcmcia.nix>
hardware.pulseaudio.configFile

The path to the configuration the PulseAudio server should use. By default, the "default.pa" configuration from the PulseAudio distribution is used.

Default: "/nix/store/54gjhgib22a09kmdmkyah6v9ly270fsq-pulseaudio-2.1/etc/pulse/default.pa"

Declared by:

<nixos/modules/config/pulseaudio.nix>
hardware.pulseaudio.enable

Whether to enable the PulseAudio sound server.

Default: false

Declared by:

<nixos/modules/config/pulseaudio.nix>
hardware.pulseaudio.package

The PulseAudio derivation to use. This can be used to enable features (such as JACK support) that are not enabled in the default PulseAudio in Nixpkgs.

Default: (build of pulseaudio-2.1)

Example: "pulseaudio.override { jackaudioSupport = true; }"

Declared by:

<nixos/modules/config/pulseaudio.nix>
hardware.pulseaudio.systemWide

If false, a PulseAudio server is launched automatically for each user that tries to use the sound system. The server runs with user priviliges. This is the recommended and most secure way to use PulseAudio. If true, one system-wide PulseAudio server is launched on boot, running as the user "pulse". Please read the PulseAudio documentation for more details.

Default: false

Declared by:

<nixos/modules/config/pulseaudio.nix>
hardware.sane.enable

Enable support for SANE scanners.

Default: false

Declared by:

<nixos/modules/services/hardware/sane.nix>
hardware.sane.snapshot

Use a development snapshot of SANE scanner drivers.

Default: false

Declared by:

<nixos/modules/services/hardware/sane.nix>
i18n.consoleFont

The font used for the virtual consoles. Leave empty to use whatever the setfont program considers the default font.

Default: "lat9w-16"

Example: "LatArCyrHeb-16"

Declared by:

<nixos/modules/config/i18n.nix>
i18n.consoleKeyMap

The keyboard mapping table for the virtual consoles.

Default: "us"

Example: "fr"

Declared by:

<nixos/modules/config/i18n.nix>
i18n.defaultLocale

The default locale. It determines the language for program messages, the format for dates and times, sort order, and so on. It also determines the character set, such as UTF-8.

Default: "en_US.UTF-8"

Example: "nl_NL.UTF-8"

Declared by:

<nixos/modules/config/i18n.nix>
i18n.supportedLocales

List of locales that the system should support. The value "all" means that all locales supported by Glibc will be installed. A full list of supported locales can be found at http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc.

Default: [ "all" ]

Example: [ "en_US.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "nl_NL/ISO-8859-1" ]

Declared by:

<nixos/modules/config/i18n.nix>
ids.gids

The group IDs used in NixOS.

Default: none

Declared by:

<nixos/modules/misc/ids.nix>
ids.uids

The user IDs used in NixOS.

Default: none

Declared by:

<nixos/modules/misc/ids.nix>
installer.enableGraphicalTools

Enable the installation of graphical tools.

Default: false

Example: true

Declared by:

<nixos/modules/installer/tools/tools.nix>
jobs

This option defines the system jobs started and managed by the Upstart daemon.

Default: { }

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.daemonType

Determines how Upstart detects when a daemon should be considered “running”. The value none means that the daemon is considered ready immediately. The value fork means that the daemon will fork once. The value daemon means that the daemon will fork twice. The value stop means that the daemon will raise the SIGSTOP signal to indicate readiness.

Default: "none"

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.environment

Environment variables passed to the services's processes.

Default: { }

Example: { LANG = "nl_NL.UTF-8"; PATH = "/foo/bar/bin"; }

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.exec

Command to start the job's main process. If empty, the job has no main process, but can still have pre/post-start and pre/post-stop scripts, and is considered “running” until it is stopped.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.name

Name of the Upstart job.

Default: none

Example: "sshd"

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.path

Packages added to the job's PATH environment variable. Both the bin and sbin subdirectories of each package are added.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.postStart

Shell commands executed after the job is started (i.e. after the job's main process is started), but before the job is considered “running”.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.postStop

Shell commands executed after the job has stopped (i.e. after the job's main process has terminated).

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.preStart

Shell commands executed before the service's main process is started.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.preStop

Shell commands executed before the job is stopped (i.e. before Upstart kills the job's main process). This can be used to cleanly shut down a daemon.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.respawn

Whether to restart the job automatically if its process ends unexpectedly.

Default: true

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.restartIfChanged

Whether the service should be restarted during a NixOS configuration switch if its definition has changed.

Default: true

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.script

Shell commands executed as the service's main process.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.scriptArgs

Arguments passed to the main process script.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.serviceConfig

Each attribute in this set specifies an option in the [Service] section of the unit. See systemd.service(5) for details.

Default: { }

Example: { RestartSec = 5; StartLimitInterval = 10; }

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.setgid

Run the daemon as a different group.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.setuid

Run the daemon as a different user.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.startOn

The Upstart event that triggers this job to be started. If empty, the job will not start automatically.

Default: ""

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.stopIfChanged

If set, a changed unit is restarted by calling systemctl stop in the old configuration, then systemctl start in the new one. Otherwise, it is restarted in a single step using systemctl restart in the new configuration. The latter is less correct because it runs the ExecStop commands from the new configuration.

Default: true

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.stopOn

The Upstart event that triggers this job to be stopped.

Default: "starting shutdown"

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.task

Whether this job is a task rather than a service. Tasks are executed only once, while services are restarted when they exit.

Default: false

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.unit

Generated definition of the systemd unit corresponding to this job.

Default: { after = [ ] ; before = [ ] ; description = ""; environment = { } ; partOf = [ ] ; path = [ ] ; requires = [ ] ; restartIfChanged = true; serviceConfig = { RemainAfterExit = true; Restart = "always"; Type = "oneshot"; } ; unitConfig = { } ; wantedBy = [ ] ; wants = [ ] ; }

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
jobs.<name?>.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/upstart/upstart.nix>
kde.extraPackages

Deprecated name of environment.kdePackages.

Default: none

Declared by:

<nixos/modules/rename.nix>
krb5.defaultRealm

Default realm.

Default: "ATENA.MIT.EDU"

Declared by:

<nixos/modules/config/krb5.nix>
krb5.domainRealm

Default domain realm.

Default: "atena.mit.edu"

Declared by:

<nixos/modules/config/krb5.nix>
krb5.enable

Whether to enable Kerberos V.

Default: false

Declared by:

<nixos/modules/config/krb5.nix>
krb5.kdc

Kerberos Domain Controller

Default: "kerberos.mit.edu"

Declared by:

<nixos/modules/config/krb5.nix>
krb5.kerberosAdminServer

Kerberos Admin Server

Default: "kerberos.mit.edu"

Declared by:

<nixos/modules/config/krb5.nix>
lib

This option allows modules to define helper functions, constants, etc.

Default: { }

Declared by:

<nixos/modules/misc/lib.nix>
nesting.children

Additional configurations to build.

Default: [ ]

Declared by:

<nixos/modules/system/activation/top-level.nix>
nesting.clone

Additional configurations to build based on the current configuration which is has a lower priority.

Default: [ ]

Declared by:

<nixos/modules/system/activation/top-level.nix>
networking.WLANInterface

Obsolete. Use networking.wireless.interfaces instead.

Default: ""

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
networking.bridges

This option allows you to define Ethernet bridge devices that connect physical networks together. The value of this option is an attribute set. Each attribute specifies a bridge, with the attribute name specifying the name of the bridge's network interface.

Default: { }

Example: { br0 = { interfaces = [ "eth0" "eth1" ] ; } ; br1 = { interfaces = [ "eth2" "wlan0" ] ; } ; }

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.bridges.<name>.interfaces

The physical network interfaces connected by the bridge.

Default: none

Example: [ "eth0" "eth1" ]

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.defaultGateway

The default gateway. It can be left empty if it is auto-detected through DHCP.

Default: ""

Example: "131.211.84.1"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.defaultGatewayWindowSize

The window size of the default gateway. It limits maximal data bursts that TCP peers are allowed to send to us.

Default:

Example: 524288

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.defaultMailServer.directDelivery

Use the trivial Mail Transfer Agent (MTA) ssmtp package to allow programs to send e-mail. If you don't want to run a ``real'' MTA like sendmail or postfix on your machine, set this option to true, and set the option networking.defaultMailServer.hostName to the host name of your preferred mail server.

Default: false

Example: true

Declared by:

<nixos/modules/programs/ssmtp.nix>
networking.defaultMailServer.domain

The domain from which mail will appear to be sent.

Default: ""

Example: "example.org"

Declared by:

<nixos/modules/programs/ssmtp.nix>
networking.defaultMailServer.hostName

The host name of the default mail server to use to deliver e-mail.

Default: none

Example: "mail.example.org"

Declared by:

<nixos/modules/programs/ssmtp.nix>
networking.defaultMailServer.useSTARTTLS

Whether the STARTTLS should be used to connect to the default mail server. (This is needed for TLS-capable mail servers running on the default SMTP port 25.)

Default: false

Example: true

Declared by:

<nixos/modules/programs/ssmtp.nix>
networking.defaultMailServer.useTLS

Whether TLS should be used to connect to the default mail server.

Default: false

Example: true

Declared by:

<nixos/modules/programs/ssmtp.nix>
networking.dhcpcd.denyInterfaces

Disable the DHCP client for any interface which's name matches any of the shell glob patterns in this list. The purpose of this option is blacklist virtual interfaces such as those created by Xen, libvirt, LXC, etc.

Default: [ ]

Declared by:

<nixos/modules/services/networking/dhcpcd.nix>
networking.dnsSingleRequest

Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA) address queries at the same time, from the same port. Sometimes upstream routers will systemically drop the ipv4 queries. The symptom of this problem is that 'getent hosts example.com' only returns ipv6 (or perhaps only ipv4) addresses. The workaround for this is to specify the option 'single-request' in /etc/resolv.conf. This option enables that.

Default: false

Declared by:

<nixos/modules/config/networking.nix>
networking.domain

The domain. It can be left empty if it is auto-detected through DHCP.

Default: ""

Example: "home"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.enableB43Firmware

Turn on this option if you want firmware for the NICs supported by the b43 module.

Default: false

Declared by:

<nixos/modules/hardware/network/b43.nix>
networking.enableIPv6

Whether to enable support for IPv6.

Default: true

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.enableIntel2100BGFirmware

Turn on this option if you want firmware for the Intel PRO/Wireless 2100BG to be loaded automatically. This is required if you want to use this device. Intel requires you to accept the license for this firmware, see http://ipw2100.sourceforge.net/firmware.php?fid=2.

Default: false

Declared by:

<nixos/modules/hardware/network/intel-2100bg.nix>
networking.enableIntel2200BGFirmware

Turn on this option if you want firmware for the Intel PRO/Wireless 2200BG to be loaded automatically. This is required if you want to use this device. Intel requires you to accept the license for this firmware, see http://ipw2200.sourceforge.net/firmware.php?fid=7.

Default: false

Declared by:

<nixos/modules/hardware/network/intel-2200bg.nix>
networking.enableIntel3945ABGFirmware

This option enables automatic loading of the firmware for the Intel PRO/Wireless 3945ABG.

Default: false

Declared by:

<nixos/modules/hardware/network/intel-3945abg.nix>
networking.enableRT73Firmware

Obsolete name of networking.enableRalinkFirmware.

Default: none

Declared by:

<nixos/modules/rename.nix>
networking.enableRTL8192cFirmware

Turn on this option if you want firmware for the RTL8192c (and related) NICs.

Default: false

Declared by:

<nixos/modules/hardware/network/rtl8192c.nix>
networking.enableRalinkFirmware

Turn on this option if you want firmware for the RT73 NIC

Default: false

Declared by:

<nixos/modules/rename.nix>
<nixos/modules/hardware/network/ralink.nix>
networking.enableWLAN

Obsolete name of networking.wireless.enable.

Default: none

Declared by:

<nixos/modules/rename.nix>
networking.extraHosts

Additional entries to be appended to /etc/hosts.

Default: ""

Example: "192.168.0.1 lanlocalhost"

Declared by:

<nixos/modules/config/networking.nix>
networking.firewall.allowPing

Whether to respond to incoming ICMPv4 echo requests ("pings"). ICMPv6 pings are always allowed because the larger address space of IPv6 makes network scanning much less effective.

Default: false

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.allowedTCPPorts

List of TCP ports on which incoming connections are accepted.

Default: [ ]

Example: [ 22 80 ]

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.allowedUDPPorts

List of open UDP ports.

Default: [ ]

Example: [ 53 ]

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.autoLoadConntrackHelpers

Whether to auto-load connection-tracking helpers. See the description at networking.firewall.connectionTrackingModules (needs kernel 3.5+)

Default: true

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.checkReversePath

Performs a reverse path filter test on a packet. If a reply to the packet would not be sent via the same interface that the packet arrived on, it is refused. If using asymmetric routing or other complicated routing, disable this setting and setup your own counter-measures. (needs kernel 3.3+)

Default: false

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.connectionTrackingModules

List of connection-tracking helpers that are auto-loaded. The complete list of possible values is given in the example. As helpers can pose as a security risk, it is adviced to set this to an empty list and disable the setting networking.firewall.autoLoadConntrackHelpers Loading of helpers is recommended to be done through the new CT target. More info: https://home.regit.org/netfilter-en/secure-use-of-helpers/

Default: [ "ftp" ]

Example: [ "ftp" "irc" "sane" "sip" "tftp" "amanda" "h323" "netbios_sn" "pptp" "snmp" ]

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.enable

Whether to enable the firewall. This is a simple stateful firewall that blocks connection attempts to unauthorised TCP or UDP ports on this machine. It does not affect packet forwarding.

Default: false

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.extraCommands

Additional shell commands executed as part of the firewall initialisation script. These are executed just before the final "reject" firewall rule is added, so they can be used to allow packets that would otherwise be refused.

Default: ""

Example: "iptables -A INPUT -p icmp -j ACCEPT"

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.logRefusedConnections

Whether to log rejected or dropped incoming connections.

Default: true

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.logRefusedPackets

Whether to log all rejected or dropped incoming packets. This tends to give a lot of log messages, so it's mostly useful for debugging.

Default: false

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.logRefusedUnicastsOnly

If networking.firewall.logRefusedPackets and this option are enabled, then only log packets specifically directed at this machine, i.e., not broadcasts or multicasts.

Default: true

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.rejectPackets

If set, forbidden packets are rejected rather than dropped (ignored). This means that a ICMP "port unreachable" error message is sent back to the client. Rejecting packets makes port scanning somewhat easier.

Default: false

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.firewall.trustedInterfaces

Traffic coming in from these interfaces will be accepted unconditionally.

Default: none

Declared by:

<nixos/modules/services/networking/firewall.nix>
networking.hostName

The name of the machine. Leave it empty if you want to obtain it from a DHCP server (if using DHCP).

Default: "nixos"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaceMonitor.beep

If true, beep when an Ethernet cable is plugged in or unplugged.

Default: false

Declared by:

<nixos/modules/services/networking/ifplugd.nix>
networking.interfaceMonitor.commands

Shell commands to be executed when the link status of an interface changes. On invocation, the shell variable iface contains the name of the interface, while the variable status contains either up or down to indicate the new status.

Default: ""

Declared by:

<nixos/modules/services/networking/ifplugd.nix>
networking.interfaceMonitor.enable

If true, monitor Ethernet interfaces for cables being plugged in or unplugged. When this occurs, the dhclient service is restarted to automatically obtain a new IP address. This is useful for roaming users (laptops).

Default: false

Declared by:

<nixos/modules/services/networking/ifplugd.nix>
networking.interfaces

The configuration for each network interface. If networking.useDHCP is true, then every interface not listed here will be configured using DHCP.

Default: { }

Example: { eth0 = { ipAddress = "131.211.84.78"; subnetMask = "255.255.255.128"; } ; }

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.ipAddress

IP address of the interface. Leave empty to configure the interface using DHCP.

Default:

Example: "10.0.0.1"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.macAddress

MAC address of the interface. Leave empty to use the default.

Default:

Example: "00:11:22:33:44:55"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.name

Name of the interface.

Default: none

Example: "eth0"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.prefixLength

Subnet mask of the interface, specified as the number of bits in the prefix (24).

Default:

Example: 24

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.proxyARP

Turn on proxy_arp for this device (and proxy_ndp for ipv6). This is mainly useful for creating pseudo-bridges between a real interface and a virtual network such as VPN or a virtual machine for interfaces that don't support real bridging (most wlan interfaces). As ARP proxying acts slightly above the link-layer, below-ip traffic isn't bridged, so things like DHCP won't work. The advantage above using NAT lies in the fact that no IP addresses are shared, so all hosts are reachable/routeable. WARNING: turns on ip-routing, so if you have multiple interfaces, you should think of the consequence and setup firewall rules to limit this.

Default: false

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.subnetMask

Subnet mask of the interface, specified as a bitmask. This is deprecated; use prefixLength instead.

Default: ""

Example: "255.255.255.0"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.virtual

Whether this interface is virtual and should be created by tunctl. This is mainly useful for creating bridges between a host a virtual network such as VPN or a virtual machine. Defaults to tap device, unless interface contains "tun" in its name.

Default: false

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.interfaces.<name?>.virtualOwner

In case of a virtual device, the user who owns it.

Default: "root"

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.localCommands

Shell commands to be executed at the end of the network-setup systemd service. Note that if you are using DHCP to obtain the network configuration, interfaces may not be fully configured yet.

Default: ""

Example: "text=anything; echo You can put $text here."

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.nameservers

The list of nameservers. It can be left empty if it is auto-detected through DHCP.

Default: [ ]

Example: [ "130.161.158.4" "130.161.33.17" ]

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.nat.enable

Whether to enable Network Address Translation (NAT).

Default: false

Declared by:

<nixos/modules/services/networking/nat.nix>
networking.nat.externalIP

The public IP address to which packets from the local network are to be rewritten. If this is left empty, the IP address associated with the external interface will be used.

Default: ""

Example: "203.0.113.123"

Declared by:

<nixos/modules/services/networking/nat.nix>
networking.nat.externalInterface

The name of the external network interface.

Default: none

Example: "eth1"

Declared by:

<nixos/modules/services/networking/nat.nix>
networking.nat.internalIPs

The IP address ranges for which to perform NAT. Packets coming from these networks and destined for the external interface will be rewritten.

Default: none

Example: [ "192.168.1.0/24" ]

Declared by:

<nixos/modules/services/networking/nat.nix>
networking.networkmanager.enable

Whether to use NetworkManager to obtain an IP adress and other configuration for all network interfaces that are not manually configured. If enabled, a group networkmanager will be created. Add all users that should have permission to change network settings to this group.

Default: false

Declared by:

<nixos/modules/services/networking/networkmanager.nix>
networking.networkmanager.packages

Extra packages that provide NetworkManager plugins.

Default: [ ]

Declared by:

<nixos/modules/services/networking/networkmanager.nix>
networking.useDHCP

Whether to use DHCP to obtain an IP adress and other configuration for all network interfaces that are not manually configured.

Default: true

Declared by:

<nixos/modules/tasks/network-interfaces.nix>
networking.usePredictableInterfaceNames

Whether to assign predictable names to network interfaces. If enabled, interfaces are assigned names that contain topology information (e.g. wlp3s0) and thus should be stable across reboots. If disabled, names depend on the order in which interfaces are discovered by the kernel, which may change randomly across reboots; for instance, you may find eth0 and eth1 flipping unpredictably.

Default: true

Declared by:

<nixos/modules/services/hardware/udev.nix>
networking.wicd.enable

Whether to start wicd. Wired and wireless network configurations can then be managed by wicd-client.

Default: false

Declared by:

<nixos/modules/services/networking/wicd.nix>
networking.wireless.driver

Force a specific wpa_supplicant driver.

Default: "nl80211,wext"

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
networking.wireless.enable

Whether to start wpa_supplicant to scan for and associate with wireless networks. Note: NixOS currently does not generate wpa_supplicant's configuration file, /etc/wpa_supplicant.conf. You should edit this file yourself to define wireless networks, WPA keys and so on (see wpa_supplicant.conf(5)).

Default: false

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
<nixos/modules/rename.nix>
networking.wireless.interfaces

The interfaces wpa_supplicant will use. If empty, it will automatically use all wireless interfaces. (Note that auto-detection is currently broken on Linux 3.4.x kernels. See http://github.com/NixOS/nixos/issues/10 for further details.)

Default: [ ]

Example: [ "wlan0" "wlan1" ]

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
networking.wireless.userControlled.enable

Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli. This is useful for laptop users that switch networks a lot. When you want to use this, make sure /etc/wpa_supplicant.conf doesn't exist. It will be created for you. Currently it is also necessary to explicitly specify networking.wireless.interfaces.

Default: false

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
networking.wireless.userControlled.group

Members of this group can control wpa_supplicant.

Default: "wheel"

Example: "network"

Declared by:

<nixos/modules/services/networking/wpa_supplicant.nix>
nix.binaryCaches

List of binary cache URLs used to obtain pre-built binaries of Nix packages.

Default: [ "http://nixos.org/binary-cache" ]

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.buildMachines

This option lists the machines to be used if distributed builds are enabled (see nix.distributedBuilds). Nix will perform derivations on those machines via SSh by copying the inputs to the Nix store on the remote machine, starting the build, then copying the output back to the local Nix store. Each element of the list should be an attribute set containing the machine's host name (hostname), the user name to be used for the SSH connection (sshUser), the Nix system type (system, e.g., "i686-linux"), the maximum number of jobs to be run in parallel on that machine (maxJobs), and the path to the SSH private key to be used to connect (sshKey). The SSH private key should not have a passphrase, and the corresponding public key should be added to ~sshUser/authorized_keys on the remote machine.

Default: none

Example: [ { hostName = "voila.labs.cs.uu.nl"; maxJobs = 1; sshKey = "/root/.ssh/id_buildfarm"; sshUser = "nix"; system = "powerpc-darwin"; } { hostName = "linux64.example.org"; maxJobs = 2; sshKey = "/root/.ssh/id_buildfarm"; sshUser = "buildfarm"; system = "x86_64-linux"; } ]

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.chrootDirs

Directories from the host filesystem to be included in the chroot.

Default: [ ]

Example: [ "/dev" "/proc" ]

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.daemonIONiceLevel

Nix daemon process I/O priority. This priority propagates to build processes. 0 is the default Unix process I/O priority, 7 is the lowest.

Default: 7

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.daemonNiceLevel

Nix daemon process priority. This priority propagates to build processes. 0 is the default Unix process priority, 20 is the lowest.

Default: 10

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.distributedBuilds

Whether to distribute builds to the machines listed in nix.buildMachines. If you know that the buildMachines are not always available either use nixos nixos-rebuild --no-build-hook or consider managing /etc/nix.machines manually by setting manualNixMachines. Then you can comment unavailable buildmachines.

Default: false

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.envVars

Environment variables used by Nix.

Default: { }

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.extraOptions

Additional text appended to nix.conf.

Default: ""

Example: "\n gc-keep-outputs = true\n gc-keep-derivations = true\n "

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.gc.automatic

Automatically run the garbage collector at a specific time.

Default: false

Declared by:

<nixos/modules/services/misc/nix-gc.nix>
nix.gc.dates

Specification (in the format described by systemd.time(5)) of the time at which the garbage collector will run.

Default: "03:15"

Declared by:

<nixos/modules/services/misc/nix-gc.nix>
nix.gc.options

Options given to nix-collect-garbage when the garbage collector is run automatically.

Default: ""

Example: "--max-freed $((64 * 1024**3))"

Declared by:

<nixos/modules/services/misc/nix-gc.nix>
nix.manualNixMachines

Whether to manually manage the list of buildmachines used in distributed builds in /etc/nix.machines.

Default: false

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.maxJobs

This option defines the maximum number of jobs that Nix will try to build in parallel. The default is 1. You should generally set it to the number of CPUs in your system (e.g., 2 on a Athlon 64 X2).

Default: 1

Example: 2

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.nrBuildUsers

Number of nixbld user accounts created to perform secure concurrent builds. If you receive an error message saying that “all build users are currently in use”, you should increase this value.

Default: 10

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.proxy

This option specifies the proxy to use for fetchurl. The real effect is just exporting http_proxy, https_proxy and ftp_proxy with that value.

Default: ""

Example: "http://127.0.0.1:3128"

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.readOnlyStore

If set, NixOS will enforce the immutability of the Nix store by making /nix/store a read-only bind mount. Nix will automatically make the store writable when needed.

Default: true

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.trustedBinaryCaches

List of binary cache URLs that non-root users can use (in addition to those specified using nix.binaryCaches by passing --option binary-caches to Nix commands.

Default: [ ]

Example: [ "http://hydra.nixos.org/" ]

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nix.useChroot

If set, Nix will perform builds in a chroot-environment that it will set up automatically for each build. This prevents impurities in builds by disallowing access to dependencies outside of the Nix store.

Default: false

Example: true

Declared by:

<nixos/modules/services/misc/nix-daemon.nix>
nixpkgs.config

The configuration of the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to set package configuration options, and to override packages globally through the packageOverrides option. The latter is a function that takes as an argument the original Nixpkgs, and must evaluate to a set of new or overriden packages.

Default: { }

Example:

{ firefox.enableGeckoMediaPlayer = true;
  packageOverrides = pkgs: {
    firefox60Pkgs = pkgs.firefox60Pkgs.override {
      enableOfficialBranding = true;
    };
  };
}

Declared by:

<nixos/modules/misc/nixpkgs.nix>
nixpkgs.system

Specifies the Nix platform type for which NixOS should be built. If unset, it defaults to the platform type of your host system (x86_64-linux). Specifying this option is useful when doing distributed multi-platform deployment, or when building virtual machines.

Default: "x86_64-linux"

Declared by:

<nixos/modules/misc/nixpkgs.nix>
passthru

This attribute set will be exported as a system attribute. You can put whatever you want here.

Default: none

Declared by:

<nixos/modules/misc/passthru.nix>
power.ups.enable

Enables support for Power Devices, such as Uninterruptible Power Supplies, Power Distribution Units and Solar Controllers.

Default: false

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.maxStartDelay

This can be set as a global variable above your first UPS definition and it can also be set in a UPS section. This value controls how long upsdrvctl will wait for the driver to finish starting. This keeps your system from getting stuck due to a broken driver or UPS.

Default: 45

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.mode

The MODE determines which part of the NUT is to be started, and which configuration files must be modified. The values of MODE can be: - none: NUT is not configured, or use the Integrated Power Management, or use some external system to startup NUT components. So nothing is to be started. - standalone: This mode address a local only configuration, with 1 UPS protecting the local system. This implies to start the 3 NUT layers (driver, upsd and upsmon) and the matching configuration files. This mode can also address UPS redundancy. - netserver: same as for the standalone configuration, but also need some more ACLs and possibly a specific LISTEN directive in upsd.conf. Since this MODE is opened to the network, a special care should be applied to security concerns. - netclient: this mode only requires upsmon.

Default: "standalone"

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.schedulerRules

File which contains the rules to handle UPS events.

Default: none

Example: "/etc/nixos/upssched.conf"

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups

This is where you configure all the UPSes that this system will be monitoring directly. These are usually attached to serial ports, but USB devices are also supported.

Default: { }

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.description

Description of the UPS.

Default: ""

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.directives

List of configuration directives for this UPS.

Default: [ ]

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.driver

Specify the program to run to talk to this UPS. apcsmart, bestups, and sec are some examples.

Default: none

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.maxStartDelay

This can be set as a global variable above your first UPS definition and it can also be set in a UPS section. This value controls how long upsdrvctl will wait for the driver to finish starting. This keeps your system from getting stuck due to a broken driver or UPS.

Default:

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.port

The serial port where your UPS is connected. /dev/ttyS0 is usually the first port on Linux boxes, for example.

Default: none

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.shutdownOrder

When you have multiple UPSes on your system, you usually need to turn them off in a certain order. upsdrvctl shuts down all the 0s, then the 1s, 2s, and so on. To exclude a UPS from the shutdown sequence, set this to -1.

Default: 0

Declared by:

<nixos/modules/services/monitoring/ups.nix>
power.ups.ups.<name>.summary

Lines which would be added inside ups.conf for handling this UPS.

Default: ""

Declared by:

<nixos/modules/services/monitoring/ups.nix>
powerManagement.cpuFreqGovernor

Configure the governor used to regulate the frequence of the available CPUs. By default, the kernel configures the on-demand governor.

Default: ""

Example: "ondemand"

Declared by:

<nixos/modules/tasks/cpu-freq.nix>
powerManagement.enable

Whether to enable power management. This includes support for suspend-to-RAM and powersave features on laptops.

Default: true

Declared by:

<nixos/modules/config/power-management.nix>
powerManagement.powerDownCommands

Commands executed when the machine powers down. That is, they're executed both when the system shuts down and when it goes to suspend or hibernation.

Default: ""

Example: "/nix/store/hl2bngyv6ygn2qh5csrhc6mvs1nj2ck7-hdparm-9.39/sbin/hdparm -B 255 /dev/sda"

Declared by:

<nixos/modules/config/power-management.nix>
powerManagement.powerUpCommands

Commands executed when the machine powers up. That is, they're executed both when the system first boots and when it resumes from suspend or hibernation.

Default: ""

Example: "/nix/store/hl2bngyv6ygn2qh5csrhc6mvs1nj2ck7-hdparm-9.39/sbin/hdparm -B 255 /dev/sda"

Declared by:

<nixos/modules/config/power-management.nix>
powerManagement.resumeCommands

Commands executed after the system resumes from suspend-to-RAM.

Default: ""

Declared by:

<nixos/modules/config/power-management.nix>
powerManagement.scsiLinkPolicy

Configure the scsi link power management policy. By default, the kernel configures "max_performance".

Default: ""

Example: "min_power"

Declared by:

<nixos/modules/tasks/scsi-link-power-management.nix>
programs.ssh.forwardX11

Whether to request X11 forwarding on outgoing connections by default. This is useful for running graphical programs on the remote machine and have them display to your local X11 server. Historically, this value has depended on the value used by the local sshd daemon, but there really isn't a relation between the two. Note: there are some security risks to forwarding an X11 connection. NixOS's X server is built with the SECURITY extension, which prevents some obvious attacks. To enable or disable forwarding on a per-connection basis, see the -X and -x options to ssh. The -Y option to ssh enables trusted forwarding, which bypasses the SECURITY extension.

Default: false

Declared by:

<nixos/modules/programs/ssh.nix>
programs.ssh.setXAuthLocation

Whether to set the path to xauth for X11-forwarded connections. Pulls in X11 dependency.

Default: true

Declared by:

<nixos/modules/programs/ssh.nix>
requiredTTYs

FIXME: find another place for this option. FIXME: find a good description.

Default: [ ]

Declared by:

<nixos/modules/tasks/kbd.nix>
security.apparmor.confineSUIDApplications

Install AppArmor profiles for commonly-used SUID application to mitigate potential privilege escalation attacks due to bugs in such applications. Currently available profiles: ping

Default: true

Declared by:

<nixos/modules/security/apparmor-suid.nix>
security.apparmor.enable

Enable AppArmor application security system. Enable only if you want to further improve AppArmor.

Default: false

Declared by:

<nixos/modules/security/apparmor.nix>
security.apparmor.profiles

List of file names of AppArmor profiles.

Default: [ ]

Declared by:

<nixos/modules/security/apparmor.nix>
security.extraSetuidPrograms

Obsolete name of security.setuidPrograms.

Default: none

Declared by:

<nixos/modules/rename.nix>
security.pam.enableOTPW

Enable the OTPW (one-time password) PAM module

Default: false

Declared by:

<nixos/modules/security/pam.nix>
security.pam.enableSSHAgentAuth

Enable sudo logins if the user's SSH agent provides a key present in ~/.ssh/authorized_keys. This allows machines to exclusively use SSH keys instead of passwords.

Default: false

Declared by:

<nixos/modules/security/pam.nix>
security.pam.loginLimits

Define resource limits that should apply to users or groups. Each item in the list should be an attribute set with a domain, type, item, and value attribute. The syntax and semantics of these attributes must be that described in the limits.conf(5) man page.

Default: [ ]

Example: [ { domain = "ftp"; item = "nproc"; type = "hard"; value = "0"; } { domain = "@student"; item = "maxlogins"; type = "-"; value = "4"; } ]

Declared by:

<nixos/modules/security/pam.nix>
security.pam.services

This option defines the PAM services. A service typically corresponds to a program that uses PAM, e.g. login or passwd. Each element of this list is an attribute set describing a service. The attribute name specifies the name of the service. The attribute rootOK specifies whether the root user is allowed to use this service without authentication. The attribute startSession specifies whether systemd's PAM connector module should be used to start a new session; for local sessions, this will give the user ownership of devices such as audio and CD-ROM drives. The attribute forwardXAuth specifies whether X authentication keys should be passed from the calling user to the target user (e.g. for su). The attribute limits defines resource limits that should apply to users or groups for the service. Each item in the list should be an attribute set with a domain, type, item, and value attribute. The syntax and semantics of these attributes must be that described in the limits.conf(5) man page.

Default: [ ]

Example: [ { name = "chsh"; rootOK = true; } { allowNullPassword = true; limits = [ { domain = "ftp"; item = "nproc"; type = "hard"; value = "0"; } ] ; name = "login"; startSession = true; } ]

Declared by:

<nixos/modules/security/pam.nix>
security.pam.usb.enable

Enable USB login for all login system unless the service disabled it. For more information, visit http://pamusb.org/doc/quickstart#setting_up.

Default: false

Declared by:

<nixos/modules/security/pam_usb.nix>
security.polkit.adminIdentities

Specifies which users are considered “administrators”, for those actions that require the user to authenticate as an administrator (i.e. have a auth_admin value). By default, this is the root user and all users in the wheel group.

Default: "unix-user:0;unix-group:wheel"

Example: ""

Declared by:

<nixos/modules/security/polkit.nix>
security.polkit.enable

Whether to enable PolKit.

Default: true

Declared by:

<nixos/modules/security/polkit.nix>
security.polkit.permissions

Allows the default permissions of privileged actions to be overriden.

Default: ""

Example: "[Disallow Users To Suspend]\nIdentity=unix-group:users\nAction=org.freedesktop.upower.*\nResultAny=no\nResultInactive=no\nResultActive=no\n\n[Allow Anybody To Eject Disks]\nIdentity=unix-user:*\nAction=org.freedesktop.udisks.drive-eject\nResultAny=yes\nResultInactive=yes\nResultActive=yes\n\n[Allow Alice To Mount Filesystems After Admin Authentication]\nIdentity=unix-user:alice\nAction=org.freedesktop.udisks.filesystem-mount\nResultAny=auth_admin\nResultInactive=auth_admin\nResultActive=auth_admin\n"

Declared by:

<nixos/modules/security/polkit.nix>
security.rngd.enable

Whether to enable the rng daemon, which adds entropy from hardware sources of randomness to the kernel entropy pool when available.

Default: true

Declared by:

<nixos/modules/security/rngd.nix>
security.rtkit.enable

Whether to enable the RealtimeKit system service, which hands out realtime scheduling priority to user processes on demand. For example, the PulseAudio server uses this to acquire realtime priority.

Default: false

Declared by:

<nixos/modules/security/rtkit.nix>
security.setuidOwners

This option allows the ownership and permissions on the setuid wrappers for specific programs to be overriden from the default (setuid root, but not setgid root).

Default: [ ]

Example: [ { group = "postdrop"; owner = "nobody"; program = "sendmail"; setgid = true; setuid = false; } ]

Declared by:

<nixos/modules/security/setuid-wrappers.nix>
security.setuidPrograms

The Nix store cannot contain setuid/setgid programs directly. For this reason, NixOS can automatically generate wrapper programs that have the necessary privileges. This option lists the names of programs in the system environment for which setuid root wrappers should be created.

Default: [ ]

Declared by:

<nixos/modules/security/setuid-wrappers.nix>
<nixos/modules/rename.nix>
security.sudo.configFile

This string contains the contents of the sudoers file.

Default: none

Declared by:

<nixos/modules/security/sudo.nix>
security.sudo.enable

Whether to enable the sudo command, which allows non-root users to execute commands as root.

Default: true

Declared by:

<nixos/modules/security/sudo.nix>
security.sudo.wheelNeedsPassword

Whether users of the wheel group can execute commands as super user without entering a password.

Default: true

Declared by:

<nixos/modules/security/sudo.nix>
security.wrapperDir

This option defines the path to the setuid wrappers. It should generally not be overriden. Some packages in Nixpkgs expect that wrapperDir is /var/setuid-wrappers.

Default: "/var/setuid-wrappers"

Declared by:

<nixos/modules/security/setuid-wrappers.nix>
services.acpid.acEventCommands

Shell commands to execute on a ac_adapter.* event.

Default: ""

Declared by:

<nixos/modules/services/hardware/acpid.nix>
services.acpid.enable

Whether to enable the ACPI daemon.

Default: false

Declared by:

<nixos/modules/services/hardware/acpid.nix>
services.acpid.lidEventCommands

Shell commands to execute on a button/lid.* event.

Default: ""

Declared by:

<nixos/modules/services/hardware/acpid.nix>
services.acpid.powerEventCommands

Shell commands to execute on a button/power.* event.

Default: ""

Declared by:

<nixos/modules/services/hardware/acpid.nix>
services.activemq.baseDir

The base directory where ActiveMQ stores its persistent data and logs. This will be overriden if you set "activemq.base" and "activemq.data" in the javaProperties option. You can also override this in activemq.xml.

Default: "/var/activemq"

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.configurationDir

The base directory for ActiveMQ's configuration. By default, this directory is searched for a file named activemq.xml, which should contain the configuration for the broker service.

Default: "/nix/store/8ynbp17b6s8683dh68vbrcpdnamjx52h-apache-activemq-5.8.0/conf"

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.configurationURI

The URI that is passed along to the BrokerFactory to set up the configuration of the ActiveMQ broker service. You should not need to change this. For custom configuration, set the configurationDir instead, and create an activemq.xml configuration file in it.

Default: "xbean:activemq.xml"

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.enable

Enable the Apache ActiveMQ message broker service.

Default: false

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.extraJavaOptions

Add extra options here that you want to be sent to the Java runtime when the broker service is started.

Default: ""

Example: "-Xmx2G -Xms2G -XX:MaxPermSize=512M"

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.javaProperties

Specifies Java properties that are sent to the ActiveMQ broker service with the "-D" option. You can set properties here to change the behaviour and configuration of the broker. All essential properties that are not set here are automatically given reasonable defaults.

Default: { }

Example: { java.net.preferIPv4Stack = "true"; }

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.user.create

If true, the a system user with the specified name will be added to the system configuration. If false, a user with the specified name is expected to exist.

Default: true

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.activemq.user.name

The name of the user that should run the ActiveMQ process.

Default: "activemq"

Declared by:

<nixos/modules/services/amqp/activemq/default.nix>
services.almir.director_address

IP/Hostname for Director to connect with bconsole.

Default: "127.0.0.1"

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.director_name

Name of the Director to connect with bconsole.

Default: none

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.director_password

Password for Director to connect with bconsole.

Default: none

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.director_port

Port for Director to connect with bconsole.

Default: 9101

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.enable

Enable Almir web server. Also configures postgresql database and installs bacula.

Default: false

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.port

Port for Almir web server to listen on.

Default: 35000

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.sqlalchemy_engine_url

Define SQL database connection to bacula catalog as specified in http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls

Default: none

Example: "postgresql://bacula:bacula@localhost:5432/bacula\nmysql+mysqlconnector://<user>:<password>@<hostname>/<database>'\nsqlite:////var/lib/bacula/bacula.db'\n"

Declared by:

<nixos/modules/services/backup/almir.nix>
services.almir.timezone

Timezone as specified in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Default: none

Example: "Europe/Ljubljana"

Declared by:

<nixos/modules/services/backup/almir.nix>
services.amule.dataDir

The directory holding configuration, incoming and temporary files.

Default: "/home/amule/"

Declared by:

<nixos/modules/services/networking/amuled.nix>
services.amule.enable

Whether to run the AMule daemon. You need to manually run "amuled --ec-config" to configure the service for the first time.

Default: false

Declared by:

<nixos/modules/services/networking/amuled.nix>
services.amule.user

The user the AMule daemon should run as.

Default:

Declared by:

<nixos/modules/services/networking/amuled.nix>
services.atd.allowEveryone

Whether to make /var/spool/at{jobs,spool} writeable by everyone (and sticky). This is normally not needed since the `at' commands are setuid/setgid `atd'.

Default: false

Declared by:

<nixos/modules/services/scheduling/atd.nix>
services.atd.enable

Whether to enable the `at' daemon, a command scheduler.

Default: true

Declared by:

<nixos/modules/services/scheduling/atd.nix>
services.autofs.autoMaster

file contents of /etc/auto.master. See man auto.master See man 5 auto.master and man 5 autofs.

Default: none

Example:

autoMaster = let
  mapConf = pkgs.writeText "auto" ''
   kernel    -ro,soft,intr       ftp.kernel.org:/pub/linux
   boot      -fstype=ext2        :/dev/hda1
   windoze   -fstype=smbfs       ://windoze/c
   removable -fstype=ext2        :/dev/hdd
   cd        -fstype=iso9660,ro  :/dev/hdc
   floppy    -fstype=auto        :/dev/fd0
   server    -rw,hard,intr       / -ro myserver.me.org:/ \
                                 /usr myserver.me.org:/usr \
                                 /home myserver.me.org:/home
  '';
in ''
  /auto file:${mapConf}
''

Declared by:

<nixos/modules/services/misc/autofs.nix>
services.autofs.debug

pass -d and -7 to automount and write log to /var/log/autofs

Default: false

Declared by:

<nixos/modules/services/misc/autofs.nix>
services.autofs.enable

Mount filesystems on demand. Unmount them automatically. You may also be interested in afuese.

Default: false

Declared by:

<nixos/modules/services/misc/autofs.nix>
services.autofs.timeout

Set the global minimum timeout, in seconds, until directories are unmounted

Default: 600

Declared by:

<nixos/modules/services/misc/autofs.nix>
services.avahi.browseDomains

List of non-local DNS domains to be browsed.

Default: [ "0pointer.de" "zeroconf.org" ]

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.enable

Whether to run the Avahi daemon, which allows Avahi clients to use Avahi's service discovery facilities and also allows the local machine to advertise its presence and services (through the mDNS responder implemented by `avahi-daemon').

Default: false

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.hostName

Host name advertised on the LAN.

Default: none

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.ipv4

Whether to use IPv4

Default: true

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.ipv6

Whether to use IPv6

Default: false

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.nssmdns

Whether to enable the mDNS NSS (Name Service Switch) plug-in. Enabling it allows applications to resolve names in the `.local' domain by transparently querying the Avahi daemon.

Default: false

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.publishing

Whether to allow publishing.

Default: true

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.avahi.wideArea

Whether to enable wide-area service discovery.

Default: true

Declared by:

<nixos/modules/services/networking/avahi-daemon.nix>
services.bacula-dir.enable

Whether to enable Bacula Director Daemon.

Default: false

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.extraConfig

Extra configuration for Bacula Director Daemon.

Default: ""

Example: "TODO\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.extraDirectorConfig

Extra configuration to be passed in Director directive.

Default: ""

Example: "Maximum Concurrent Jobs = 20;\nHeartbeat Interval = 30;\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.extraMessagesConfig

Extra configuration to be passed in Messages directive.

Default: ""

Example: "console = all\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.name

The director name used by the system administrator. This directive is required.

Default: "nixos-dir"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.password

Specifies the password that must be supplied for a Director.

Default: none

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-dir.port

Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.

Default: 9101

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.director

This option defines director resources in Bacula File Daemon.

Default: { }

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.director.<name>.monitor

If Monitor is set to no (default), this director will have full

Default: "no"

Example: "yes"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.director.<name>.password

Specifies the password that must be supplied for a Director to b

Default: none

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.enable

Whether to enable Bacula File Daemon.

Default: false

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.extraClientConfig

Extra configuration to be passed in Client directive.

Default: ""

Example: "Maximum Concurrent Jobs = 20;\nHeartbeat Interval = 30;\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.extraMessagesConfig

Extra configuration to be passed in Messages directive.

Default: ""

Example: "console = all\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.name

The client name that must be used by the Director when connecting. Generally, it is a good idea to use a name related to the machine so that error messages can be easily identified if you have multiple Clients. This directive is required.

Default: "nixos-fd"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-fd.port

This specifies the port number on which the Client listens for Director connections. It must agree with the FDPort specified in the Client resource of the Director's configuration file. The default is 9102.

Default: 9102

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.device

This option defines Device resources in Bacula Storage Daemon.

Default: { }

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.device.<name>.archiveDevice

The specified name-string gives the system file name of the storage device managed by this storage daemon. This will usually be the device file name of a removable storage device (tape drive), for example " /dev/nst0" or "/dev/rmt/0mbn". For a DVD-writer, it will be for example /dev/hdc. It may also be a directory name if you are archiving to disk storage.

Default: none

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.device.<name>.extraDeviceConfig

Extra configuration to be passed in Device directive.

Default: ""

Example: "LabelMedia = yes\nRandom Access = no\nAutomaticMount = no\nRemovableMedia = no\nMaximumOpenWait = 60\nAlwaysOpen = no\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.device.<name>.mediaType

The specified name-string names the type of media supported by this device, for example, "DLT7000". Media type names are arbitrary in that you set them to anything you want, but they must be known to the volume database to keep track of which storage daemons can read which volumes. In general, each different storage type should have a unique Media Type associated with it. The same name-string must appear in the appropriate Storage resource definition in the Director's configuration file.

Default: none

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.director

This option defines Director resources in Bacula Storage Daemon.

Default: { }

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.director.<name>.monitor

If Monitor is set to no (default), this director will have full

Default: "no"

Example: "yes"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.director.<name>.password

Specifies the password that must be supplied for a Director to b

Default: none

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.enable

Whether to enable Bacula Storage Daemon.

Default: false

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.extraMessagesConfig

Extra configuration to be passed in Messages directive.

Default: ""

Example: "console = all\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.extraStorageConfig

Extra configuration to be passed in Storage directive.

Default: ""

Example: "Maximum Concurrent Jobs = 20;\nHeartbeat Interval = 30;\n"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.name

Specifies the Name of the Storage daemon.

Default: "nixos-sd"

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bacula-sd.port

Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.

Default: 9103

Declared by:

<nixos/modules/services/backup/bacula.nix>
services.bind.blockedNetworks

What networks are just blocked.

Default: [ ]

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bind.cacheNetworks

What networks are allowed to use us as a resolver.

Default: [ "127.0.0.0/24" ]

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bind.configFile

Overridable config file to use for named. By default, that generated by nixos.

Default: (build of named.conf)

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bind.enable

Whether to enable BIND domain name server.

Default: false

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bind.ipv4Only

Only use ipv4, even if the host supports ipv6

Default: false

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bind.zones

List of zones we claim authority over. master=false means slave server; slaves means addresses who may request zone transfer.

Default: [ ]

Example: [ { file = "/var/dns/example.com"; master = false; masters = [ "192.168.0.1" ] ; name = "example.com"; slaves = [ ] ; } ]

Declared by:

<nixos/modules/services/networking/bind.nix>
services.bitlbee.authMode

The following authentication modes are available: Open -- Accept connections from anyone, use NickServ for user authentication. Closed -- Require authorization (using the PASS command during login) before allowing the user to connect at all. Registered -- Only allow registered users to use this server; this disables the register- and the account command until the user identifies himself.

Default: "Open"

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.bitlbee.enable

Whether to run the BitlBee IRC to other chat network gateway. Running it allows you to access the MSN, Jabber, Yahoo! and ICQ chat networks via an IRC client.

Default: false

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.bitlbee.extraDefaults

Will be inserted in the Default section of the config file.

Default: ""

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.bitlbee.extraSettings

Will be inserted in the Settings section of the config file.

Default: ""

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.bitlbee.interface

The interface the BitlBee deamon will be listening to. If `127.0.0.1', only clients on the local host can connect to it; if `0.0.0.0', clients can access it from any network interface.

Default: "127.0.0.1"

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.bitlbee.portNumber

Number of the port BitlBee will be listening to.

Default: 6667

Declared by:

<nixos/modules/services/networking/bitlbee.nix>
services.clamav.updater.config

Extra configuration for freshclam. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/security/clamav.nix>
services.clamav.updater.enable

Whether to enable automatic ClamAV virus definitions database updates.

Default: false

Declared by:

<nixos/modules/services/security/clamav.nix>
services.clamav.updater.frequency

Number of database checks per day.

Default: 12

Declared by:

<nixos/modules/services/security/clamav.nix>
services.cntlm.domain

Proxy account domain/workgroup name.

Default: none

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.enable

Whether to enable the cntlm, which start a local proxy.

Default: false

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.extraConfig

Verbatim contents of cntlm.conf.

Default: ""

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.netbios_hostname

The hostname of your machine.

Default: none

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.password

Proxy account password. Note: use chmod 0600 on /etc/cntlm.password for security.

Default: "/etc/cntlm.password"

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.port

Specifies on which ports the cntlm daemon listens.

Default: [ 3128 ]

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.proxy

A list of NTLM/NTLMv2 authenticating HTTP proxies. Parent proxy, which requires authentication. The same as proxy on the command-line, can be used more than once to specify unlimited number of proxies. Should one proxy fail, cntlm automatically moves on to the next one. The connect request fails only if the whole list of proxies is scanned and (for each request) and found to be invalid. Command-line takes precedence over the configuration file.

Default: none

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cntlm.username

Proxy account name, without the possibility to include domain name ('at' sign is interpreted literally).

Default: none

Declared by:

<nixos/modules/services/networking/cntlm.nix>
services.cron.enable

Whether to enable the `vixie cron' daemon.

Default: true

Declared by:

<nixos/modules/services/scheduling/cron.nix>
services.cron.mailto

The job output will be mailed to this email address.

Default: ""

Declared by:

<nixos/modules/services/scheduling/cron.nix>
services.cron.systemCronJobs

A list of Cron jobs to be appended to the system-wide crontab. See the manual page for crontab for the expected format. If you want to get the results mailed you must setuid sendmail. See security.setuidOwners If neither /var/cron/cron.deny nor /var/cron/cron.allow exist only root will is allowed to have its own crontab file. The /var/cron/cron.deny file is created automatically for you. So every user can use a crontab. Many nixos modules set systemCronJobs, so if you decide to disable vixie cron and enable another cron daemon, you may want it to get its system crontab based on systemCronJobs.

Default: [ ]

Example: [ "* * * * * test ls -l / > /tmp/cronout 2>&1" "* * * * * eelco echo Hello World > /home/eelco/cronout" ]

Declared by:

<nixos/modules/services/scheduling/cron.nix>
services.dbus.enable

Whether to start the D-Bus message bus daemon, which is required by many other system services and applications.

Default: true

Declared by:

<nixos/modules/services/system/dbus.nix>
services.dbus.packages

Packages whose D-Bus configuration files should be included in the configuration of the D-Bus system-wide message bus. Specifically, every file in pkg/etc/dbus-1/system.d is included.

Default: [ ]

Declared by:

<nixos/modules/services/system/dbus.nix>
services.dd-agent.api_key

The Datadog API key to associate the agent with your account

Default: none

Example: "ae0aa6a8f08efa988ba0a17578f009ab"

Declared by:

<nixos/modules/services/monitoring/dd-agent.nix>
services.dd-agent.enable

Whether to enable the dd-agent montioring service

Default: false

Declared by:

<nixos/modules/services/monitoring/dd-agent.nix>
services.dd-agent.hostname

The hostname to show in the Datadog dashboard (optional)

Default:

Example: "mymachine.mydomain"

Declared by:

<nixos/modules/services/monitoring/dd-agent.nix>
services.ddclient.domain

Domain name to synchronize.

Default: ""

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.enable

Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).

Default: false

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.extraConfig

Extra configuration. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.password

Password.

Default: ""

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.protocol

Protocol to use with dynamic DNS provider. (see also, http://sourceforge.net/apps/trac/ddclient/wiki/Protocols)

Default: "dyndns2"

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.server

Server

Default: "members.dyndns.org"

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.username

Username.

Default: ""

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.ddclient.web

Default: "web, web=checkip.dyndns.com/, web-skip='IP Address'"

Declared by:

<nixos/modules/services/networking/ddclient.nix>
services.deluge.enable

Start Deluge daemon.

Default: false

Example: true

Declared by:

<nixos/modules/services/torrent/deluge.nix>
services.deluge.web.enable

Start Deluge Web daemon.

Default: false

Example: true

Declared by:

<nixos/modules/services/torrent/deluge.nix>
services.dhcpd.configFile

The path of the DHCP server configuration file. If no file is specified, a file is generated using the other options.

Default:

Declared by:

<nixos/modules/services/networking/dhcpd.nix>
services.dhcpd.enable

Whether to enable the DHCP server.

Default: false

Declared by:

<nixos/modules/services/networking/dhcpd.nix>
services.dhcpd.extraConfig

Extra text to be appended to the DHCP server configuration file. Currently, you almost certainly need to specify something here, such as the options specifying the subnet mask, DNS servers, etc.

Default: ""

Example: "\n option subnet-mask 255.255.255.0;\n option broadcast-address 192.168.1.255;\n option routers 192.168.1.5;\n option domain-name-servers 130.161.158.4, 130.161.33.17, 130.161.180.1;\n option domain-name \"example.org\";\n subnet 192.168.1.0 netmask 255.255.255.0 {\n range 192.168.1.100 192.168.1.200;\n }\n "

Declared by:

<nixos/modules/services/networking/dhcpd.nix>
services.dhcpd.interfaces

The interfaces on which the DHCP server should listen.

Default: [ "eth0" ]

Declared by:

<nixos/modules/services/networking/dhcpd.nix>
services.dhcpd.machines

A list mapping ethernet addresses to IP addresses for the DHCP server.

Default: [ ]

Example: [ { ethernetAddress = "00:16:76:9a:32:1d"; hostName = "foo"; ipAddress = "192.168.1.10"; } { ethernetAddress = "00:19:d1:1d:c4:9a"; hostName = "bar"; ipAddress = "192.168.1.11"; } ]

Declared by:

<nixos/modules/services/networking/dhcpd.nix>
services.disnix.enable

Whether to enable Disnix

Default: false

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.disnix.infrastructure

List of name value pairs containing properties for the infrastructure model

Default: { }

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.disnix.publishAvahi

Whether to publish capabilities/properties as a Disnix service through Avahi

Default: false

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.disnix.publishInfrastructure.enable

Whether to publish capabilities/properties of this machine in as attributes in the infrastructure option

Default: false

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.disnix.publishInfrastructure.enableAuthentication

Whether to publish authentication credentials through the infrastructure attribute (not recommended in combination with Avahi)

Default: false

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.disnix.useWebServiceInterface

Whether to enable the DisnixWebService interface running on Apache Tomcat

Default: false

Declared by:

<nixos/modules/services/misc/disnix.nix>
services.dnsmasq.enable

Whether to run dnsmasq.

Default: false

Declared by:

<nixos/modules/services/networking/dnsmasq.nix>
services.dnsmasq.extraConfig

Extra configuration directives that should be added to dnsmasq.conf

Default: ""

Declared by:

<nixos/modules/services/networking/dnsmasq.nix>
services.dnsmasq.servers

The parameter to dnsmasq -S.

Default: [ ]

Example: [ "8.8.8.8" "8.8.4.4" ]

Declared by:

<nixos/modules/services/networking/dnsmasq.nix>
services.dovecot2.enable

Whether to enable the Dovecot 2.x POP3/IMAP server.

Default: false

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.enableImap

Start the IMAP listener (when Dovecot is enabled).

Default: true

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.enablePop3

Start the POP3 listener (when Dovecot is enabled).

Default: true

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.extraConfig

Additional entries to put verbatim into Dovecot's config file.

Default: ""

Example: "mail_debug = yes"

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.group

Dovecot group name.

Default: "dovecot2"

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.mailLocation

Location that dovecot will use for mail folders. Dovecot mail_location option.

Default: "maildir:/var/spool/mail/%u"

Example: "maildir:~/mail:INBOX=/var/spool/mail/%u"

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.showPAMFailure

Show the PAM failure message on authentication error (useful for OTPW).

Default: false

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.sslCACert

CA certificate used by the server certificate.

Default: ""

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.sslServerCert

Server certificate

Default: ""

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.sslServerKey

Server key.

Default: ""

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.dovecot2.user

Dovecot user name.

Default: "dovecot2"

Declared by:

<nixos/modules/services/mail/dovecot.nix>
services.drbd.config

Contents of the drbd.conf configuration file.

Default: ""

Declared by:

<nixos/modules/services/network-filesystems/drbd.nix>
services.drbd.enable

Whether to enable support for DRBD, the Distributed Replicated Block Device.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/drbd.nix>
services.ejabberd.confDir

Location of the config directory of ejabberd

Default: "/var/ejabberd"

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.ejabberd.enable

Whether to enable ejabberd server

Default: false

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.ejabberd.loadDumps

Configuration dump that should be loaded on the first startup

Default: [ ]

Example: [ ]

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.ejabberd.logsDir

Location of the logfile directory of ejabberd

Default: "/var/log/ejabberd"

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.ejabberd.spoolDir

Location of the spooldir of ejabberd

Default: "/var/lib/ejabberd"

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.ejabberd.virtualHosts

Virtualhosts that ejabberd should host. Hostnames are surrounded with doublequotes and separated by commas

Default: "\"localhost\""

Declared by:

<nixos/modules/services/networking/ejabberd.nix>
services.fcron.allow

Users allowed to use fcrontab and fcrondyn (one name per line, "all" for everyone).

Default: [ "all" ]

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.fcron.deny

Users forbidden from using fcron.

Default: [ ]

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.fcron.enable

Whether to enable the `fcron' daemon.

Default: false

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.fcron.maxSerialJobs

Maximum number of serial jobs which can run simultaneously.

Default: 1

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.fcron.queuelen

Number of jobs the serial queue and the lavg queue can contain - empty to net set this number (-q)

Default: ""

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.fcron.systab

The "system" crontab contents.

Default: ""

Declared by:

<nixos/modules/services/scheduling/fcron.nix>
services.felix.bundles

List of bundles that should be activated on startup

Default: [ (build of apache-felix-remoteshell-bundle-1.0.4) ]

Declared by:

<nixos/modules/services/misc/felix.nix>
services.felix.enable

Whether to enable the Apache Felix OSGi service

Default: false

Declared by:

<nixos/modules/services/misc/felix.nix>
services.felix.group

Group account under which Apache Felix runs.

Default: "osgi"

Declared by:

<nixos/modules/services/misc/felix.nix>
services.felix.user

User account under which Apache Felix runs.

Default: "osgi"

Declared by:

<nixos/modules/services/misc/felix.nix>
services.flashpolicyd.enable

Whether to enable the Flash Policy server. This is necessary if you want Flash applications to make connections to your server.

Default: false

Declared by:

<nixos/modules/services/networking/flashpolicyd.nix>
services.flashpolicyd.policy

The policy to be served. The default is to allow connections from any domain to any port.

Default: "<?xml version=\"1.0\"?>\n<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">\n<cross-domain-policy> \n <site-control permitted-cross-domain-policies=\"master-only\"/>\n <allow-access-from domain=\"*\" to-ports=\"*\" />\n</cross-domain-policy>\n"

Declared by:

<nixos/modules/services/networking/flashpolicyd.nix>
services.foldingAtHome.config

Extra configuration. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/misc/folding-at-home.nix>
services.foldingAtHome.enable

Whether to enable the Folding@Home to use idle CPU time.

Default: false

Declared by:

<nixos/modules/services/misc/folding-at-home.nix>
services.foldingAtHome.nickname

A unique handle for statistics.

Default: "Anonymous"

Declared by:

<nixos/modules/services/misc/folding-at-home.nix>
services.fourStore.database

RDF database name. If it doesn't exist, it will be created. Databases are stored in /var/lib/4store.

Default: ""

Declared by:

<nixos/modules/services/databases/4store.nix>
services.fourStore.enable

Whether to enable 4Store RDF database server.

Default: false

Declared by:

<nixos/modules/services/databases/4store.nix>
services.fourStore.options

Extra CLI options to pass to 4Store.

Default: ""

Declared by:

<nixos/modules/services/databases/4store.nix>
services.fourStoreEndpoint.database

RDF database name to expose via the endpoint. Defaults to local 4Store database name.

Default: ""

Declared by:

<nixos/modules/services/databases/4store-endpoint.nix>
services.fourStoreEndpoint.enable

Whether to enable 4Store SPARQL endpoint.

Default: false

Declared by:

<nixos/modules/services/databases/4store-endpoint.nix>
services.fourStoreEndpoint.listenAddress

IP address to listen on.

Default:

Declared by:

<nixos/modules/services/databases/4store-endpoint.nix>
services.fourStoreEndpoint.options

Extra CLI options to pass to 4Store's 4s-httpd process.

Default: ""

Declared by:

<nixos/modules/services/databases/4store-endpoint.nix>
services.fourStoreEndpoint.port

port to listen on.

Default: 8080

Declared by:

<nixos/modules/services/databases/4store-endpoint.nix>
services.fprot.updater.enable

Whether to enable automatic F-Prot virus definitions database updates.

Default: false

Declared by:

<nixos/modules/services/security/fprot.nix>
services.fprot.updater.frequency

Update virus definitions every X minutes.

Default: 30

Declared by:

<nixos/modules/services/security/fprot.nix>
services.fprot.updater.licenseKeyfile

License keyfile. Defaults to the one supplied with installation package.

Default: "/nix/store/yyb85vqjyymmffxzcnaiw7y1i3zbjjfq-f-prot-6.2.1/opt/f-prot/license.key"

Declared by:

<nixos/modules/services/security/fprot.nix>
services.fprot.updater.productData

product.data file. Defaults to the one supplied with installation package.

Default: "/nix/store/yyb85vqjyymmffxzcnaiw7y1i3zbjjfq-f-prot-6.2.1/opt/f-prot/product.data"

Declared by:

<nixos/modules/services/security/fprot.nix>
services.frandom.enable

enable the /dev/frandom device (a very fast random number generator)

Default: false

Declared by:

<nixos/modules/services/security/frandom.nix>
services.freenet.enable

Enable the Freenet daemon

Default: false

Declared by:

<nixos/modules/services/networking/freenet.nix>
services.freenet.nice

Set the nice level for the Freenet daemon

Default: 10

Declared by:

<nixos/modules/services/networking/freenet.nix>
services.fuppesd.config

Mutable configuration file which can be edited with the web interface. Due to possible modification, double quote the full path of the filename stored in your filesystem to avoid attempts to modify the content of the nix store.

Default: none

Example: "/etc/fuppes/fuppes.cfg"

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.database

Database file which index all shared files.

Default: "/var/lib/fuppes/fuppes.db"

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.enable

Enables Fuppes (UPnP A/V Media Server). Can be used to watch photos, video and listen to music from a phone/tv connected to the local network.

Default: false

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.log.file

File which will contains the log produced by the daemon.

Default: "/var/log/fuppes.log"

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.log.level

Logging level of fuppes, An integer between 0 and 3.

Default: 0

Example: 3

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.name

Enables Fuppes (UPnP A/V Media Server). Can be used to watch photos, video and listen to music from a phone/tv connected to the local network.

Default: none

Example: "Media Center"

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.user

Name of the user which own the configuration files and under which the fuppes daemon will be executed.

Default: "root"

Example: "fuppes"

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.fuppesd.vfolder

XML file describing the layout of virtual folder visible by the client.

Default:

Example:

Declared by:

<nixos/modules/services/audio/fuppes.nix>
services.ghostOne.config

Extra configuration options.

Default: ""

Declared by:

<nixos/modules/services/games/ghost-one.nix>
services.ghostOne.enable

Enable Ghost-One Warcraft3 game hosting server.

Default: false

Declared by:

<nixos/modules/services/games/ghost-one.nix>
services.ghostOne.language

The language of bot messages: English, Spanish, Russian, Serbian or Turkish.

Default: "English"

Declared by:

<nixos/modules/services/games/ghost-one.nix>
services.ghostOne.mappath

The path to the directory where you keep your map files. GHost One doesn't require map files but if it has access to them it can send them to players and automatically calculate most map config values. GHost One will search [bot_mappath + map_localpath] for the map file (map_localpath is set in each map's config file).

Default: ""

Declared by:

<nixos/modules/services/games/ghost-one.nix>
services.ghostOne.war3path

The path to your local Warcraft III directory, which must contain war3.exe, storm.dll, and game.dll.

Default: ""

Declared by:

<nixos/modules/services/games/ghost-one.nix>
services.gitDaemon.basePath

Remap all the path requests as relative to the given path. For example, if you set base-path to /srv/git, then if you later try to pull git://example.com/hello.git, Git daemon will interpret the path as /srv/git/hello.git.

Default: ""

Example: "/srv/git/"

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.enable

Enable Git daemon, which allows public hosting of git repositories without any access controls. This is mostly intended for read-only access. You can allow write access by setting daemon.receivepack configuration item of the repository to true. This is solely meant for a closed LAN setting where everybody is friendly. If you need any access controls, use something else.

Default: false

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.exportAll

Publish all directories that look like Git repositories (have the objects and refs subdirectories), even if they do not have the git-daemon-export-ok file. If disabled, you need to touch .git/git-daemon-export-ok in each repository you want the daemon to publish. Warning: enabling this without a repository whitelist or basePath publishes every git repository you have.

Default: false

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.listenAddress

Listen on a specific IP address or hostname.

Default: ""

Example: "example.com"

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.options

Extra configuration options to be passed to Git daemon.

Default: ""

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.port

Port to listen on.

Default: 9418

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gitDaemon.repositories

A whitelist of paths of git repositories, or directories containing repositories all of which would be published. Paths must not end in "/". Warning: leaving this empty and enabling exportAll publishes all repositories in your filesystem or basePath if specified.

Default: [ ]

Example: [ "/srv/git" "/home/user/git/repo2" ]

Declared by:

<nixos/modules/services/networking/git-daemon.nix>
services.gnunet.enable

Whether to run the GNUnet daemon. GNUnet is GNU's anonymous peer-to-peer communication and file sharing framework.

Default: false

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.extraOptions

Additional options that will be copied verbatim in `gnunet.conf'. See `gnunet.conf(5)' for details.

Default: ""

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.fileSharing.quota

Maximum file system usage (in MiB) for file sharing.

Default: 1024

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.load.hardNetUpBandwidth

Hard bandwidth limit (in bits per second) when uploading data.

Default: 0

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.load.maxNetDownBandwidth

Maximum bandwidth usage (in bits per second) for GNUnet when downloading data.

Default: 50000

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.load.maxNetUpBandwidth

Maximum bandwidth usage (in bits per second) for GNUnet when downloading data.

Default: 50000

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.tcp.port

The TCP port for use by GNUnet.

Default: 2086

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gnunet.udp.port

The UDP port for use by GNUnet.

Default: 2086

Declared by:

<nixos/modules/services/networking/gnunet.nix>
services.gogoclient.autorun

Switch to false to create upstart-job and configuration, but not run it automatically

Default: true

Declared by:

<nixos/modules/services/networking/gogoclient.nix>
services.gogoclient.enable

Enable the gogoclient ipv6 tunnel.

Default: false

Declared by:

<nixos/modules/services/networking/gogoclient.nix>
services.gogoclient.password

Path to a file (as a string), containing your gogonet password, if any.

Default: ""

Declared by:

<nixos/modules/services/networking/gogoclient.nix>
services.gogoclient.server

Used Gateway6 server.

Default: "anonymous.freenet6.net"

Example: "broker.freenet6.net"

Declared by:

<nixos/modules/services/networking/gogoclient.nix>
services.gogoclient.username

Your Gateway6 login name, if any.

Default: ""

Declared by:

<nixos/modules/services/networking/gogoclient.nix>
services.gpm.enable

Whether to enable GPM, the General Purpose Mouse daemon, which enables mouse support in virtual consoles.

Default: false

Declared by:

<nixos/modules/services/ttys/gpm.nix>
services.gpm.protocol

Mouse protocol to use.

Default: "ps/2"

Declared by:

<nixos/modules/services/ttys/gpm.nix>
services.gpsd.debugLevel

The debugging level.

Default: 0

Declared by:

<nixos/modules/services/misc/gpsd.nix>
services.gpsd.device

A device may be a local serial device for GPS input, or a URL of the form: [{dgpsip|ntrip}://][user:passwd@]host[:port][/stream] in which case it specifies an input source for DGPS or ntrip data.

Default: "/dev/ttyUSB0"

Declared by:

<nixos/modules/services/misc/gpsd.nix>
services.gpsd.enable

Whether to enable `gpsd', a GPS service daemon.

Default: false

Declared by:

<nixos/modules/services/misc/gpsd.nix>
services.gpsd.port

The port where to listen for TCP connections.

Default: 2947

Declared by:

<nixos/modules/services/misc/gpsd.nix>
services.gpsd.readonly

Whether to enable the broken-device-safety, otherwise known as read-only mode. Some popular bluetooth and USB receivers lock up or become totally inaccessible when probed or reconfigured. This switch prevents gpsd from writing to a receiver. This means that gpsd cannot configure the receiver for optimal performance, but it also means that gpsd cannot break the receiver. A better solution would be for Bluetooth to not be so fragile. A platform independent method to identify serial-over-Bluetooth devices would also be nice.

Default: true

Declared by:

<nixos/modules/services/misc/gpsd.nix>
services.gvpe.configFile

GVPE config file, if already present

Default:

Example: "/root/my-gvpe-conf"

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.configText

GVPE config contents

Default:

Example: "tcp-port = 655\nudp-port = 655\nmtu = 1480\nifname = vpn0\n\nnode = alpha\nhostname = alpha.example.org\nconnect = always\nenable-udp = true\nenable-tcp = true\non alpha if-up = if-up-0\non alpha pid-file = /var/gvpe/gvpe.pid\n"

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.customIFSetup

Additional commands to apply in ifup script

Default: ""

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.enable

Whether to run gvpe

Default: false

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.ipAddress

IP address to assign to GVPE interface

Default:

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.nodename

GVPE node name

Default:

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.startOn

Condition to start GVPE

Default: "started network-interfaces"

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.stopOn

Condition to stop GVPE

Default: "stopping network-interfaces"

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.gvpe.subnet

IP subnet assigned to GVPE network

Default:

Example: "10.0.0.0/8"

Declared by:

<nixos/modules/services/networking/gvpe.nix>
services.hardware.pommed.configFile

The contents of the pommed.conf file.

Default: "/nix/store/5f9frgbbd7r8pl1j7vhq509id0gsx8q6-pommed-1.39/etc/pommed.conf"

Declared by:

<nixos/modules/services/hardware/pommed.nix>
services.hardware.pommed.enable

Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.

Default: false

Declared by:

<nixos/modules/services/hardware/pommed.nix>
services.hostapd.channel

Channel number (IEEE 802.11) Please note that some drivers do not use this value from hostapd and the channel will need to be configured separately with iwconfig.

Default: 7

Example: 11

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.driver

Which driver hostapd will use. Most things will probably use the default.

Default: "nl80211"

Example: "hostapd"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.enable

Enable putting a wireless interface into infrastructure mode, allowing other wireless devices to associate with the wireless interface and do wireless networking. A simple access point will enable hostapd.wpa, and hostapd.wpa_passphrase, hostapd.ssid, dhcpd on the wireless interface to provide IP addresses to the associated stations, and nat (from the wireless interface to an upstream interface).

Default: false

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.extraCfg

Extra configuration options to put in the hostapd.conf

Default: ""

Example: "auth_algo=0\nieee80211n=1\nht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40]\n"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.group

members of this group can control hostapd

Default: "wheel"

Example: "network"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.hwMode

Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g

Default: "b"

Example: "g"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.interface

The interfaces hostapd will use.

Default: ""

Example: "wlan0"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.ssid

SSID to be used in IEEE 802.11 management frames.

Default: "nixos"

Example: "mySpecialSSID"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.wpa

enable WPA (IEEE 802.11i/D3.0) to authenticate to the access point

Default: true

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.hostapd.wpaPassphrase

WPA-PSK (pre-shared-key) passphrase. Clients will need this passphrase to associate with this access point. Warning: This passphrase will get put into a world-readable file in the nix store.

Default: "my_sekret"

Example: "any_64_char_string"

Declared by:

<nixos/modules/services/networking/hostapd.nix>
services.httpd.adminAddr

E-mail address of the server administrator.

Default: none

Example: "admin@example.org"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.configFile

Overridable config file to use for Apache. By default, use the file automatically generated by nixos.

Default: (build of httpd.conf)

Example: "pkgs.writeText \"httpd.conf\" \"# my custom config file ...\";"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.documentRoot

The path of Apache's document root directory. If left undefined, an empty directory in the Nix store will be used as root.

Default:

Example: "/data/webserver/docs"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.enable

Whether to enable the Apache httpd server.

Default: false

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.enableSSL

Whether to enable SSL (https) support.

Default: false

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.enableUserDir

Whether to enable serving ~/public_html as /~username.

Default: false

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.extraConfig

These lines go to httpd.conf verbatim. They will go after directories and directory aliases defined by default.

Default: ""

Example: "<Directory /home>\n Options FollowSymlinks\n AllowOverride All\n</Directory>\n"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.extraModules

Specifies additional Apache modules. These can be specified as a string in the case of modules distributed with Apache, or as an attribute set specifying the name and path of the module.

Default: [ ]

Example: [ "proxy_connect" { name = "php5"; path = "/nix/store/r0lacxzajsxafzxavn3bamdaakll5xh6-php-5.4.15/modules/libphp5.so"; } ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.extraSubservices

Extra subservices to enable in the webserver.

Default: [ ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.globalRedirect

If set, all requests for this host are redirected permanently to the given URL.

Default: ""

Example: "http://newserver.example.org/"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.group

Group under which httpd runs. The account is created automatically if it doesn't exist.

Default: "wwwrun"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.hostName

Canonical hostname for the server.

Default: "localhost"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.logDir

Directory for Apache's log files. It is created automatically.

Default: "/var/log/httpd"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.logFormat

Log format for Apache's log files. Possible values are: combined, common, referer, agent.

Default: "common"

Example: "combined"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.logPerVirtualHost

If enabled, each virtual host gets its own access_log and error_log, namely suffixed by the hostName of the virtual host.

Default: false

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.maxClients

Maximum number of httpd processes (prefork)

Default: 150

Example: 8

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.maxRequestsPerChild

Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited

Default: 0

Example: 500

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.multiProcessingModule

Multi-processing module to be used by Apache. Available modules are prefork (the default; handles each request in a separate child process), worker (hybrid approach that starts a number of child processes each running a number of threads) and event (a recent variant of worker that handles persistent connections more efficiently).

Default: "prefork"

Example: "worker"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.package

Overridable attribute of the Apache HTTP Server package to use.

Default: (build of apache-httpd-2.2.24)

Example: "pkgs.apacheHttpd_2_4"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.phpOptions

Options appended to the PHP configuration file php.ini.

Default: ""

Example: "date.timezone = \"CET\"\n"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.port

Port for the server. 0 means use the default port: 80 for http and 443 for https (i.e. when enableSSL is set).

Default: 0

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.servedDirs

This option provides a simple way to serve static directories.

Default: [ ]

Example: [ { dir = "/home/eelco/Dev/nix-homepage"; urlPath = "/nix"; } ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.servedFiles

This option provides a simple way to serve individual, static files.

Default: [ ]

Example: [ { dir = "/home/eelco/some-file.png"; urlPath = "/foo/bar.png"; } ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.serverAliases

Additional names of virtual hosts served by this virtual host configuration.

Default: [ ]

Example: [ "www.example.org" "www.example.org:8080" "example.org" ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.sslServerCert

Path to server SSL certificate.

Default: ""

Example: "/var/host.cert"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.sslServerKey

Path to server SSL certificate key.

Default: ""

Example: "/var/host.key"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.stateDir

Directory for Apache's transient runtime state (such as PID files). It is created automatically. Note that the default, /var/run/httpd, is deleted at boot time.

Default: "/var/run/httpd"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.user

User account under which httpd runs. The account is created automatically if it doesn't exist.

Default: "wwwrun"

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.httpd.virtualHosts

Specification of the virtual hosts served by Apache. Each element should be an attribute set specifying the configuration of the virtual host. The available options are the non-global options permissible for the main host.

Default: [ ]

Example: [ { documentRoot = "/data/webroot-foo"; hostName = "foo"; } { documentRoot = "/data/webroot-bar"; hostName = "bar"; } ]

Declared by:

<nixos/modules/services/web-servers/apache-httpd/default.nix>
services.ircdHybrid.adminEmail

IRCD server administrator e-mail.

Default: "<bit-bucket@example.com>"

Example: "<name@domain.tld>"

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.certificate

IRCD server SSL certificate. There are some limitations - read manual.

Default:

Example:

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.description

IRCD server description.

Default: "Hybrid-7 IRC server."

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.enable

Enable IRCD.

Default: false

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.extraIPs

Extra IP's to bind.

Default: [ ]

Example: [ "127.0.0.1" ]

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.extraPort

Extra port to avoid filtering.

Default: "7117"

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.rsaKey

IRCD server RSA key.

Default:

Example:

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.serverName

IRCD server name.

Default: "hades.arpa"

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.ircdHybrid.sid

IRCD server unique ID in a net of servers.

Default: "0NL"

Declared by:

<nixos/modules/services/networking/ircd-hybrid/default.nix>
services.jboss.deployDir

Location of the deployment files

Default: "/nix/var/nix/profiles/default/server/default/deploy/"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.enable

Whether to enable jboss

Default: false

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.libUrl

Location where the shared library JARs are stored

Default: "file:///nix/var/nix/profiles/default/server/default/lib"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.logDir

Location of the logfile directory of JBoss

Default: "/var/log/jboss"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.serverDir

Location of the server instance files

Default: "/var/jboss/server"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.tempDir

Location where JBoss stores its temp files

Default: "/tmp"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.useJK

Whether to use to connector to the Apache HTTP server

Default: false

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.jboss.user

User account under which jboss runs.

Default: "nobody"

Declared by:

<nixos/modules/services/web-servers/jboss/default.nix>
services.journald.console

If non-empty, write log messages to the specified TTY device.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
services.journald.rateLimitBurst

Configures the rate limiting burst limit (number of messages per interval) that is applied to all messages generated on the system. This rate limiting is applied per-service, so that two services which log do not interfere with each other's limit.

Default: 100

Declared by:

<nixos/modules/system/boot/systemd.nix>
services.journald.rateLimitInterval

Configures the rate limiting interval that is applied to all messages generated on the system. This rate limiting is applied per-service, so that two services which log do not interfere with each other's limit. The value may be specified in the following units: s, min, h, ms, us. To turn off any kind of rate limiting, set either value to 0.

Default: "10s"

Declared by:

<nixos/modules/system/boot/systemd.nix>
services.kerberos_server.enable

Enable the kerberos authentification server.

Default: false

Declared by:

<nixos/modules/services/system/kerberos.nix>
services.klogd.enable

Whether to enable klogd, the kernel log message processing daemon. Since systemd handles logging of kernel messages on Linux 3.5 and later, this is only useful if you're running an older kernel.

Default: true

Declared by:

<nixos/modules/services/logging/klogd.nix>
services.lighttpd.configText

Overridable config file contents to use for lighttpd. By default, use the contents automatically generated by NixOS.

Default: ""

Example: "...verbatim config file contents..."

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.document-root

Document-root of the web server. Must be readable by the "lighttpd" user.

Default: "/srv/www"

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.enable

Enable the lighttpd web server.

Default: false

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.extraConfig

These configuration lines will be appended to the generated lighttpd config file. Note that this mechanism does not work when the manual configText option is used.

Default: ""

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.gitweb.enable

If true, enable gitweb in lighttpd. Access it at http://yourserver/gitweb

Default: false

Declared by:

<nixos/modules/services/web-servers/lighttpd/gitweb.nix>
services.lighttpd.gitweb.projectroot

Path to git projects (bare repositories) that should be served by gitweb. Must not end with a slash.

Default: "/srv/git"

Declared by:

<nixos/modules/services/web-servers/lighttpd/gitweb.nix>
services.lighttpd.mod_status

Show server status overview at /server-status, statistics at /server-statistics and list of loaded modules at /server-config.

Default: false

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.mod_userdir

If true, requests in the form /~user/page.html are rewritten to take the file public_html/page.html from the home directory of the user.

Default: false

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.lighttpd.port

TCP port number for lighttpd to bind to.

Default: 80

Declared by:

<nixos/modules/services/web-servers/lighttpd/default.nix>
services.locate.enable

If enabled, NixOS will periodically update the database of files used by the locate command.

Default: false

Example: true

Declared by:

<nixos/modules/misc/locate.nix>
services.locate.period

This option defines (in the format used by cron) when the locate database is updated. The default is to update at 02:15 (at night) every day.

Default: "15 02 * * *"

Declared by:

<nixos/modules/misc/locate.nix>
services.logcheck.config

Config options that you would like in logcheck.conf.

Default: "FQDN=1"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.enable

Enable the logcheck cron job.

Default: false

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.extraGroups

Extra groups for the logcheck user, for example to be able to use sendmail, or to access certain log files.

Default: [ ]

Example: [ "postdrop" "mongodb" ]

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.extraRulesDirs

Directories with extra rules.

Default: [ ]

Example: "/etc/logcheck"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.files

Which log files to check.

Default: [ "/var/log/messages" ]

Example: [ "/var/log/messages" "/var/log/mail" ]

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignore

This option defines extra ignore rules.

Default: { }

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignore.<name?>.level

Set the logcheck level. Either "workstation", "server", or "paranoid".

Default: "server"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignore.<name?>.regex

Regex specifying which log lines to ignore.

Default: ""

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron

This option defines extra ignore rules for cronjobs.

Default: { }

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron.<name?>.cmdline

Command line for the cron job. Will be turned into a regex for the logcheck ignore rule.

Default: ""

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron.<name?>.level

Set the logcheck level. Either "workstation", "server", or "paranoid".

Default: "server"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron.<name?>.regex

Regex specifying which log lines to ignore.

Default: ""

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron.<name?>.timeArgs

"min hr dom mon dow" crontab time args, to auto-create a cronjob too. Leave at null to not do this and just add a logcheck ignore rule.

Default:

Example: "02 06 * * *"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.ignoreCron.<name?>.user

User that runs the cronjob.

Default: "root"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.level

Set the logcheck level. Either "workstation", "server", or "paranoid".

Default: "server"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.mailTo

Email address to send reports to.

Default: "root"

Example: "you@domain.com"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.timeOfDay

Time of day to run logcheck. A logcheck will be scheduled at xx:02 each day. Leave default (*) to run every hour. Of course when nothing special was logged, logcheck will be silent.

Default: "*"

Example: "6"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logcheck.user

Username for the logcheck user.

Default: "logcheck"

Declared by:

<nixos/modules/services/logging/logcheck.nix>
services.logind.extraConfig

Extra config options for systemd-logind. See man logind.conf for available options.

Default: ""

Example: "HandleLidSwitch=ignore"

Declared by:

<nixos/modules/system/boot/systemd.nix>
services.logrotate.config

The contents of the logrotate config file

Default: ""

Declared by:

<nixos/modules/services/logging/logrotate.nix>
services.logrotate.enable

Enable the logrotate cron job

Default: false

Declared by:

<nixos/modules/services/logging/logrotate.nix>
services.logstash.enable

Enable logstash.

Default: false

Declared by:

<nixos/modules/services/logging/logstash.nix>
services.logstash.filterConfig

An attribute set (or an expression generated by mkNameValuePairs) representing a logstash configuration's filter section. See inputConfig description for details.

Default: { }

Declared by:

<nixos/modules/services/logging/logstash.nix>
services.logstash.inputConfig

An attribute set (or an expression generated by mkNameValuePairs) representing a logstash configuration's input section. Logstash configs are name-value pairs, where values can be bools, strings, numbers, arrays, hashes, or other name-value pairs, and names are strings that can be repeated. Name-value pairs with no repeats are represented by attr sets. Bools, strings, ints, and arrays are mapped directly. Name-value pairs with repeats can be generated by the config.lib.logstash.mkNameValuePairs function, which takes a list of attrsets and combines them while preserving attribute name duplicates if they occur. Similarly, there are the mkFloat and mkHash functions, which take a string representation of a float and an attrset, respectively.

Default: { }

Declared by:

<nixos/modules/services/logging/logstash.nix>
services.logstash.outputConfig

An attribute set (or an expression generated by mkNameValuePairs) representing a logstash configuration's output section. See inputConfig description for details.

Default: { }

Declared by:

<nixos/modules/services/logging/logstash.nix>
services.lshd.enable

Whether to enable the GNU lshd SSH2 daemon, which allows secure remote login.

Default: false

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.hostKey

Path to the server's private key. Note that this key must have been created, e.g., using "lsh-keygen --server | lsh-writekey --server", so that you can run lshd.

Default: "/etc/lsh/host-key"

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.interfaces

List of network interfaces where listening for connections. When providing the empty list, `[]', lshd listens on all network interfaces.

Default: [ ]

Example: [ "localhost" "1.2.3.4:443" ]

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.loginShell

If non-null, override the default login shell with the specified value.

Default:

Example: "/nix/store/xyz-bash-10.0/bin/bash10"

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.passwordAuthentication

Whether to enable password authentication.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.portNumber

The port on which to listen for connections.

Default: 22

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.publicKeyAuthentication

Whether to enable public key authentication.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.rootLogin

Whether to enable remote root login.

Default: false

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.srpKeyExchange

Whether to enable SRP key exchange and user authentication.

Default: false

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.subsystems

List of subsystem-path pairs, where the head of the pair denotes the subsystem name, and the tail denotes the path to an executable implementing it.

Default: [ [ "sftp" "/nix/store/9bnfiawz723dq7j5piyrh9inqzr2ippn-lsh-2.0.4/sbin/sftp-server" ] ]

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.syslog

Whether to enable syslog output.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.tcpForwarding

Whether to enable TCP/IP forwarding.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.lshd.x11Forwarding

Whether to enable X11 forwarding.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/lshd.nix>
services.mail.freepopsd.bind

Bind over an IPv4 address instead of any.

Default: "0.0.0.0"

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.enable

Enables Freepops, a POP3 webmail wrapper.

Default: false

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.logFile

Filename of the log file or syslog to rely on the logging daemon.

Default: "/var/log/freepopsd"

Example: "syslog"

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.port

Port on which the pop server will listen.

Default: 2000

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.suid.group

Group under which freepopsd will be after binding the port.

Default: "nogroup"

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.suid.user

User name under which freepopsd will be after binding the port.

Default: "nobody"

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.freepopsd.threads

Max simultaneous connections.

Default: 5

Declared by:

<nixos/modules/services/mail/freepops.nix>
services.mail.sendmailSetuidWrapper

Configuration for the sendmail setuid wrwapper (like an element of security.setuidOwners)";

Default:

Declared by:

<nixos/modules/services/mail/mail.nix>
services.mingetty.greetingLine

Welcome line printed by mingetty.

Default: "<<< Welcome to NixOS 0.2pre-git (\\m) - \\l >>>"

Declared by:

<nixos/modules/services/ttys/agetty.nix>
services.mingetty.helpLine

Help line printed by mingetty below the welcome line. Used by the installation CD to give some hints on how to proceed.

Default: ""

Declared by:

<nixos/modules/services/ttys/agetty.nix>
services.minidlna.config

The contents of MiniDLNA's configuration file.

Default: none

Declared by:

<nixos/modules/services/networking/minidlna.nix>
services.minidlna.enable

Whether to enable MiniDLNA, a simple DLNA server. It serves media files such as video and music to DLNA client devices such as televisions and media players.

Default: false

Declared by:

<nixos/modules/services/networking/minidlna.nix>
services.minidlna.mediaDirs

Directories to be scanned for media files. The prefixes A,, V, and P, restrict a directory to audio, video or image files. The directories must be accessible to the minidlna user account.

Default: [ ]

Declared by:

<nixos/modules/services/networking/minidlna.nix>
services.mongodb.bind_ip

IP to bind to

Default: "127.0.0.1"

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.dbpath

Location where MongoDB stores its files

Default: "/var/db/mongodb"

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.enable

Whether to enable the MongoDB server.

Default: false

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.logappend

Append logfile instead over overwriting

Default: true

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.logpath

Location where MongoDB stores its logfile

Default: "/var/log/mongodb/mongod.log"

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.package

Which MongoDB derivation to use.

Default: (build of mongodb-2.4.3)

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.quiet

quieter output

Default: false

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.replSetName

If this instance is part of a replica set, set its name here. Otherwise, leave empty to run as single node.

Default: ""

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.mongodb.user

User account under which MongoDB runs

Default: "mongodb"

Declared by:

<nixos/modules/services/databases/mongodb.nix>
services.monit.config

monit.conf content

Default: ""

Declared by:

<nixos/modules/services/monitoring/monit.nix>
services.monit.enable

Whether to run Monit system watcher.

Default: false

Declared by:

<nixos/modules/services/monitoring/monit.nix>
services.monit.startOn

What Monit supposes to be already present

Default: "started network-interfaces"

Declared by:

<nixos/modules/services/monitoring/monit.nix>
services.mpd.dataDir

The directory where MPD stores its state, tag cache, playlists etc.

Default: "/var/lib/mpd/"

Declared by:

<nixos/modules/services/audio/mpd.nix>
services.mpd.enable

Whether to enable MPD, the music player daemon.

Default: false

Declared by:

<nixos/modules/services/audio/mpd.nix>
services.mpd.extraConfig

Extra directives added to to the end of MPD's configuration file, mpd.conf. Basic configuration like file location and uid/gid is added automatically to the beginning of the file.

Default: ""

Declared by:

<nixos/modules/services/audio/mpd.nix>
services.mpd.musicDirectory

Extra configuration added to the end of MPD's configuration file, mpd.conf.

Default: "/var/lib/mpd//music"

Declared by:

<nixos/modules/services/audio/mpd.nix>
services.mysql.dataDir

Location where MySQL stores its table files

Default: "/var/mysql"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.enable

Whether to enable the MySQL server.

Default: false

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.initialDatabases

List of database names and their initial schemas that should be used to create databases on the first startup of MySQL

Default: [ ]

Example: [ { name = "foodatabase"; schema = ; } { name = "bardatabase"; schema = ; } ]

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.initialScript

A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database

Default:

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.logError

Location of the MySQL error logfile

Default: "/var/log/mysql_err.log"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.package

Which MySQL derivation to use.

Default: (build of mysql-5.1.69)

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.pidDir

Location of the file which stores the PID of the MySQL server

Default: "/var/run/mysql"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.port

Port of MySQL

Default: "3306"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.masterHost

Hostname of the MySQL master server

Default: none

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.masterPassword

Password of the MySQL replication user

Default: none

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.masterPort

Port number on which the MySQL master server runs

Default: 3306

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.masterUser

Username of the MySQL replication user

Default: none

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.role

Role of the MySQL server instance. Can be either: master, slave or none

Default: "none"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.replication.serverId

Id of the MySQL server instance. This number must be unique for each instance

Default: 1

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.rootPassword

Path to a file containing the root password, modified on the first startup. Not specifying a root password will leave the root password empty.

Default:

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql.user

User account under which MySQL runs

Default: "mysql"

Declared by:

<nixos/modules/services/databases/mysql.nix>
services.mysql55.dataDir

Location where MySQL stores its table files

Default: "/var/mysql"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.enable

Whether to enable the MySQL server.

Default: false

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.initialDatabases

List of database names and their initial schemas that should be used to create databases on the first startup of MySQL

Default: [ ]

Example: [ { name = "foodatabase"; schema = ; } { name = "bardatabase"; schema = ; } ]

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.initialScript

A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database

Default:

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.logError

Location of the MySQL error logfile

Default: "/var/log/mysql_err.log"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.package

Which MySQL derivation to use.

Default: (build of mysql-5.5.31)

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.pidDir

Location of the file which stores the PID of the MySQL server

Default: "/var/run/mysql"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.port

Port of MySQL

Default: "3306"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.masterHost

Hostname of the MySQL master server

Default: none

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.masterPassword

Password of the MySQL replication user

Default: none

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.masterPort

Port number on which the MySQL master server runs

Default: 3306

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.masterUser

Username of the MySQL replication user

Default: none

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.role

Role of the MySQL server instance. Can be either: master, slave or none

Default: "none"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.replication.serverId

Id of the MySQL server instance. This number must be unique for each instance

Default: 1

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.rootPassword

Path to a file containing the root password, modified on the first startup. Not specifying a root password will leave the root password empty.

Default:

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysql55.user

User account under which MySQL runs

Default: "mysql"

Declared by:

<nixos/modules/services/databases/mysql55.nix>
services.mysqlBackup.databases

List of database names to dump.

Default: [ ]

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.mysqlBackup.enable

Whether to enable MySQL backups.

Default: false

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.mysqlBackup.location

Location to put the gzipped MySQL database dumps.

Default: "/var/backup/mysql"

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.mysqlBackup.period

This option defines (in the format used by cron) when the databases should be dumped. The default is to update at 01:15 (at night) every day.

Default: "15 01 * * *"

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.mysqlBackup.singleTransaction

Whether to create database dump in a single transaction

Default: false

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.mysqlBackup.user

User to be used to perform backup.

Default: "mysql"

Declared by:

<nixos/modules/services/backup/mysql-backup.nix>
services.nagios.enable

Whether to use Nagios to monitor your system or network.

Default: false

Declared by:

<nixos/modules/services/monitoring/nagios/default.nix>
services.nagios.enableWebInterface

Whether to enable the Nagios web interface. You should also enable Apache (services.httpd.enable).

Default: false

Declared by:

<nixos/modules/services/monitoring/nagios/default.nix>
services.nagios.objectDefs

A list of Nagios object configuration files that must define the hosts, host groups, services and contacts for the network that you want Nagios to monitor.

Default: none

Declared by:

<nixos/modules/services/monitoring/nagios/default.nix>
services.nagios.plugins

Packages to be added to the Nagios PATH. Typically used to add plugins, but can be anything.

Default: [ (build of nagios-plugins-1.4.10) (build of ssmtp-2.64) ]

Declared by:

<nixos/modules/services/monitoring/nagios/default.nix>
services.nagios.urlPath

The URL path under which the Nagios web interface appears. That is, you can access the Nagios web interface through http://server/urlPath.

Default: "/nagios"

Declared by:

<nixos/modules/services/monitoring/nagios/default.nix>
services.networking.websockify.enable

Whether to enable websockify to forward websocket connections to TCP connections.

Default: false

Declared by:

<nixos/modules/services/networking/websockify.nix>
services.networking.websockify.portMap

Ports to map by default.

Default: { }

Declared by:

<nixos/modules/services/networking/websockify.nix>
services.networking.websockify.sslCert

Path to the SSL certificate.

Default: none

Declared by:

<nixos/modules/services/networking/websockify.nix>
services.networking.websockify.sslKey

Path to the SSL key.

Default: "config.services.networking.websockify.sslCert"

Declared by:

<nixos/modules/services/networking/websockify.nix>
services.nfs.server.createMountPoints

Whether to create the mount points in the exports file at startup time.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/nfsd.nix>
services.nfs.server.enable

Whether to enable the kernel's NFS server.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/nfsd.nix>
services.nfs.server.exports

Contents of the /etc/exports file. See exports(5) for the format.

Default: ""

Declared by:

<nixos/modules/services/network-filesystems/nfsd.nix>
services.nfs.server.hostName

Hostname or address on which NFS requests will be accepted. Default is all. See the -H option in nfsd(8).

Default:

Declared by:

<nixos/modules/services/network-filesystems/nfsd.nix>
services.nfs.server.nproc

Number of NFS server threads. Defaults to the recommended value of 8.

Default: 8

Declared by:

<nixos/modules/services/network-filesystems/nfsd.nix>
services.nginx.config

Verbatim nginx.conf configuration.

Default: "events {}"

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nginx.enable

Enable the nginx Web Server.

Default: false

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nginx.fullWebDAV

Compile in a third party module providing full WebDAV support

Default: false

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nginx.group

Group account under which nginx runs.

Default: "nginx"

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nginx.stateDir

Directory holding all state for nginx to run.

Default: "/var/spool/nginx"

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nginx.user

User account under which nginx runs.

Default: "nginx"

Declared by:

<nixos/modules/services/web-servers/nginx/default.nix>
services.nixosManual.browser

Browser used to show the manual.

Default: "/nix/store/w2rq9gixdlwf4lf98y5mh4knrngzxaan-w3m-0.5.3/bin/w3m"

Declared by:

<nixos/modules/services/misc/nixos-manual.nix>
services.nixosManual.enable

Whether to build the NixOS manual pages.

Default: true

Declared by:

<nixos/modules/services/misc/nixos-manual.nix>
services.nixosManual.revision

Revision of the targeted source file. This value can either be "local", "HEAD" or any revision number embedded in a string.

Default: "local"

Declared by:

<nixos/modules/services/misc/nixos-manual.nix>
services.nixosManual.showManual

Whether to show the NixOS manual on one of the virtual consoles.

Default: false

Declared by:

<nixos/modules/services/misc/nixos-manual.nix>
services.nixosManual.ttyNumber

Virtual console on which to show the manual.

Default: "8"

Declared by:

<nixos/modules/services/misc/nixos-manual.nix>
services.nscd.enable

Whether to enable the Name Service Cache Daemon.

Default: true

Declared by:

<nixos/modules/services/system/nscd.nix>
services.ntp.enable

Whether to synchronise your machine's time using the NTP protocol.

Default: true

Declared by:

<nixos/modules/services/networking/ntpd.nix>
services.ntp.servers

The set of NTP servers from which to synchronise.

Default: [ "0.pool.ntp.org" "1.pool.ntp.org" "2.pool.ntp.org" ]

Declared by:

<nixos/modules/services/networking/ntpd.nix>
services.oidentd.enable

Whether to enable ‘oidentd’, an implementation of the Ident protocol (RFC 1413). It allows remote systems to identify the name of the user associated with a TCP connection.

Default: false

Declared by:

<nixos/modules/services/networking/oidentd.nix>
services.openafsClient.cacheDirectory

Cache directory.

Default: "/var/cache/openafs"

Declared by:

<nixos/modules/services/network-filesystems/openafs-client/default.nix>
services.openafsClient.cacheSize

Cache size.

Default: "100000"

Declared by:

<nixos/modules/services/network-filesystems/openafs-client/default.nix>
services.openafsClient.cellName

Cell name.

Default: "grand.central.org"

Declared by:

<nixos/modules/services/network-filesystems/openafs-client/default.nix>
services.openafsClient.enable

Whether to enable the OpenAFS client.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/openafs-client/default.nix>
services.openfire.enable

Whether to enable OpenFire XMPP server.

Default: false

Declared by:

<nixos/modules/services/networking/openfire.nix>
services.openfire.usePostgreSQL

Whether you use PostgreSQL service for your storage back-end.

Default: true

Declared by:

<nixos/modules/services/networking/openfire.nix>
services.openldap.enable

Whether to enable the ldap server.

Default: false

Declared by:

<nixos/modules/services/databases/openldap.nix>
services.openldap.extraConfig

sldapd.conf configuration

Default: ""

Declared by:

<nixos/modules/services/databases/openldap.nix>
services.openssh.allowSFTP

Whether to enable the SFTP subsystem in the SSH daemon. This enables the use of commands such as sftp and sshfs.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.authorizedKeysFiles

Files from with authorized keys are read.

Default: [ ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.challengeResponseAuthentication

Specifies whether challenge/response authentication is allowed.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.enable

Whether to enable the OpenSSH secure shell daemon, which allows secure remote logins.

Default: false

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.extraConfig

Verbatim contents of sshd_config.

Default: ""

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.forwardX11

Whether to allow X11 connections to be forwarded.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.gatewayPorts

Specifies whether remote hosts are allowed to connect to ports forwarded for the client. See sshd_config(5).

Default: "no"

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.hostKeyPath

Path to the server's private key. If there is no key file on this path, it will be generated when the service is started for the first time. Otherwise, the ssh daemon will use the specified key directly in-place.

Default: "/etc/ssh/ssh_host_dsa_key"

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.hostKeyType

Type of host key to generate (dsa1024/rsa1024/ecdsa521), if the file specified by hostKeyPath does not exist when the service starts.

Default: "dsa1024"

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.knownHosts

The set of system-wide known SSH hosts.

Default: { }

Example: [ { hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ] ; publicKeyFile = ; } { hostNames = [ "myhost2" ] ; publicKeyFile = ; } ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.knownHosts.<name?>.hostNames

A list of host names and/or IP numbers used for accessing the host's ssh service.

Default: [ ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.knownHosts.<name?>.publicKeyFile

The path to the public key file for the host. The public key file is read at build time and saved in the Nix store. You can fetch a public key file from a running SSH server with the ssh-keyscan command.

Default: none

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.passwordAuthentication

Specifies whether password authentication is allowed. Note that setting this value to false is most probably not going to have the desired effect unless usePAM is disabled as well.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openssh.permitRootLogin

Whether the root user can login using ssh. Valid values are yes, without-password, forced-commands-only or no.

Default: "without-password"

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.ports

Specifies on which ports the SSH daemon listens.

Default: [ 22 ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/rename.nix>
services.openssh.usePAM

Specifies whether the OpenSSH daemon uses PAM to authenticate login attempts.

Default: true

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
services.openvpn.enable

Whether to enable OpenVPN.

Default: true

Declared by:

<nixos/modules/services/networking/openvpn.nix>
services.openvpn.servers

Each attribute of this option defines an Upstart job to run an OpenVPN instance. These can be OpenVPN servers or clients. The name of each Upstart job is openvpn-name, where name is the corresponding attribute name.

Default: { }

Example: { client = { config = "client\nremote vpn.example.org\ndev tun\nproto tcp-client\nport 8080\nca /root/.vpn/ca.crt\ncert /root/.vpn/alice.crt\nkey /root/.vpn/alice.key\n"; down = "/nix/store/5isgbra7p64yb6r9ibvbrvq1k6xk6wwj-openresolv-3.5.4/sbin/resolvconf -d $dev"; up = "echo nameserver $nameserver | /nix/store/5isgbra7p64yb6r9ibvbrvq1k6xk6wwj-openresolv-3.5.4/sbin/resolvconf -m 0 -a $dev"; } ; server = { config = "# Simplest server configuration: http://openvpn.net/index.php/documentation/miscellaneous/static-key-mini-howto.html.\n# server :\ndev tun\nifconfig 10.8.0.1 10.8.0.2\nsecret /root/static.key\n"; down = "ip route del ..."; up = "ip route add ..."; } ; }

Declared by:

<nixos/modules/services/networking/openvpn.nix>
services.openvpn.servers.<name>.config

Configuration of this OpenVPN instance. See openvpn(8) for details.

Default: none

Declared by:

<nixos/modules/services/networking/openvpn.nix>
services.openvpn.servers.<name>.down

Shell commands executed when the instance is shutting down.

Default: ""

Declared by:

<nixos/modules/services/networking/openvpn.nix>
services.openvpn.servers.<name>.up

Shell commands executed when the instance is starting.

Default: ""

Declared by:

<nixos/modules/services/networking/openvpn.nix>
services.pcscd.enable

Whether to enable the PCSC-Lite daemon.

Default: false

Declared by:

<nixos/modules/services/hardware/pcscd.nix>
services.portmap.chroot

If non-empty, a path to change root to.

Default: "/var/empty"

Declared by:

<nixos/modules/services/networking/portmap.nix>
services.portmap.enable

Whether to enable `portmap', an ONC RPC directory service notably used by NFS and NIS, and which can be queried using the rpcinfo(1) command.

Default: false

Declared by:

<nixos/modules/services/networking/portmap.nix>
services.portmap.verbose

Whether to enable verbose output.

Default: false

Declared by:

<nixos/modules/services/networking/portmap.nix>
services.postfix.destination

Full (!) list of domains we deliver locally. Leave blank for acceptable Postfix default.

Default:

Example: [ "localhost" ]

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.domain

Domain to use. Leave blank to use hostname minus first component.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.enable

Whether to run the Postfix mail server.

Default: false

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.extraAliases

Additional entries to put verbatim into aliases file.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.extraConfig

Extra lines to be added verbatim to the main.cf configuration file.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.extraMasterConf

Extra lines to append to the generated master.cf file.

Default: ""

Example: "submission inet n - n - - smtpd"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.group

What to call the Postfix group (must be used only for postfix).

Default: "postfix"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.hostname

Hostname to use. Leave blank to use just the hostname of machine. It should be FQDN.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.lookupMX

Whether relay specified is just domain whose MX must be used.

Default: false

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.networks

Net masks for trusted - allowed to relay mail to third parties - hosts. Leave empty to use mynetworks_style configuration or use default (localhost-only).

Default:

Example: [ "192.168.0.1/24" ]

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.networksStyle

Name of standard way of trusted network specification to use, leave blank if you specify it explicitly or if you want to use default (localhost-only).

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.origin

Origin to use in outgoing e-mail. Leave blank to use hostname.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.postmasterAlias

Who should receive postmaster e-mail.

Default: "root"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.recipientDelimiter

Delimiter for address extension: so mail to user+test can be handled by ~user/.forward+test

Default: ""

Example: "+"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.relayDomains

List of domains we agree to relay to. Default is the same as destination.

Default:

Example: [ "localdomain" ]

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.relayHost

Mail relay for outbound mail.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.rootAlias

Who should receive root e-mail. Blank for no redirection.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.setSendmail

Whether to set the system sendmail to postfix's.

Default: true

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.setgidGroup

How to call postfix setgid group (for postdrop). Should be uniquely used group.

Default: "postdrop"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.sslCACert

SSL certificate of CA.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.sslCert

SSL certificate to use.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.sslKey

SSL key to use.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.user

What to call the Postfix user (must be used only for postfix).

Default: "postfix"

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postfix.virtual

Entries for the virtual alias map.

Default: ""

Declared by:

<nixos/modules/services/mail/postfix.nix>
services.postgresql.authMethod

How to authorize users. Note: ident needs absolute trust to all allowed client hosts.

Default: " ident sameuser "

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.authentication

Defines how users authenticate themselves to the server.

Default: ""

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.dataDir

Data directory for PostgreSQL.

Default: "/var/db/postgresql"

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.enable

Whether to run PostgreSQL.

Default: false

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.enableTCPIP

Whether to run PostgreSQL with -i flag to enable TCP/IP connections.

Default: false

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.extraConfig

Additional text to be appended to postgresql.conf.

Default: ""

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.extraPlugins

When this list contains elements a new store path is created. PostgreSQL and the elments are symlinked into it. Then pg_config, postgres and pc_ctl are copied to make them use the new $out/lib directory as pkglibdir. This makes it possible to use postgis without patching the .sql files which reference $libdir/postgis-1.5.

Default: [ ]

Example: "pkgs.postgis"

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.identMap

Defines the mapping from system users to database users.

Default: ""

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.logDir

Log directory for PostgreSQL.

Default: "/var/log/postgresql"

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.package

PostgreSQL package to use.

Default: none

Example:

pkgs.postgresql92

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresql.port

Port for PostgreSQL.

Default: "5432"

Declared by:

<nixos/modules/services/databases/postgresql.nix>
services.postgresqlBackup.databases

List of database names to dump.

Default: [ ]

Declared by:

<nixos/modules/services/backup/postgresql-backup.nix>
services.postgresqlBackup.enable

Whether to enable PostgreSQL dumps.

Default: false

Declared by:

<nixos/modules/services/backup/postgresql-backup.nix>
services.postgresqlBackup.location

Location to put the gzipped PostgreSQL database dumps.

Default: "/var/backup/postgresql"

Declared by:

<nixos/modules/services/backup/postgresql-backup.nix>
services.postgresqlBackup.period

This option defines (in the format used by cron) when the databases should be dumped. The default is to update at 01:15 (at night) every day.

Default: "15 01 * * *"

Declared by:

<nixos/modules/services/backup/postgresql-backup.nix>
services.prayer.enable

Whether to run the prayer webmail http server.

Default: false

Declared by:

<nixos/modules/services/networking/prayer.nix>
services.prayer.extraConfig

Extra configuration. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/networking/prayer.nix>
services.prayer.port

Port the prayer http server is listening to.

Default: "2080"

Declared by:

<nixos/modules/services/networking/prayer.nix>
services.printing.bindirCmds

Additional commands executed while creating the directory containing the CUPS server binaries.

Default: ""

Declared by:

<nixos/modules/services/printing/cupsd.nix>
services.printing.cupsdConf

The contents of the configuration file of the CUPS daemon (cupsd.conf).

Default: ""

Example: "BrowsePoll cups.example.com\nLogLevel debug\n"

Declared by:

<nixos/modules/services/printing/cupsd.nix>
services.printing.drivers

CUPS drivers (CUPS, gs and samba are added unconditionally).

Default: none

Example: [ (build of splix-2.0.0) ]

Declared by:

<nixos/modules/services/printing/cupsd.nix>
services.printing.enable

Whether to enable printing support through the CUPS daemon.

Default: false

Declared by:

<nixos/modules/services/printing/cupsd.nix>
services.printing.tempDir

CUPSd temporary directory.

Default: "/tmp"

Example: "/tmp/cups"

Declared by:

<nixos/modules/services/printing/cupsd.nix>
services.privoxy.enable

Whether to run the machine as a HTTP proxy server.

Default: false

Declared by:

<nixos/modules/services/networking/privoxy.nix>
services.privoxy.extraConfig

Extra configuration. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/networking/privoxy.nix>
services.privoxy.listenAddress

Address the proxy server is listening to.

Default: "127.0.0.1:8118"

Declared by:

<nixos/modules/services/networking/privoxy.nix>
services.privoxy.logDir

Location for privoxy log files.

Default: "/var/log/privoxy"

Declared by:

<nixos/modules/services/networking/privoxy.nix>
services.quassel.dataDir

The directory holding configuration files, the SQlite database and the SSL Cert.

Default: "/home/quassel/.config/quassel-irc.org"

Declared by:

<nixos/modules/services/networking/quassel.nix>
services.quassel.enable

Whether to run the Quassel IRC client daemon.

Default: false

Declared by:

<nixos/modules/services/networking/quassel.nix>
services.quassel.interface

The interface the Quassel daemon will be listening to. If `127.0.0.1', only clients on the local host can connect to it; if `0.0.0.0', clients can access it from any network interface.

Default: "127.0.0.1"

Declared by:

<nixos/modules/services/networking/quassel.nix>
services.quassel.portNumber

The port number the Quassel daemon will be listening to.

Default: 4242

Declared by:

<nixos/modules/services/networking/quassel.nix>
services.quassel.user

The existing user the Quassel daemon should run as. If left empty, a default "quassel" user will be created.

Default:

Declared by:

<nixos/modules/services/networking/quassel.nix>
services.rabbitmq.enable

Whether to enable the RabbitMQ server, an Advanced Message Queuing Protocol (AMQP) broker.

Default: false

Declared by:

<nixos/modules/services/amqp/rabbitmq.nix>
services.rabbitmq.listenAddress

IP address on which RabbitMQ will listen for AMQP connections. Set to the empty string to listen on all interfaces. Note that RabbitMQ creates a user named guest with password guest by default, so you should delete this user if you intend to allow external access.

Default: "127.0.0.1"

Example: ""

Declared by:

<nixos/modules/services/amqp/rabbitmq.nix>
services.radvd.config

The contents of the radvd configuration file.

Default: none

Example: "interface eth0 {\n AdvSendAdvert on;\n prefix 2001:db8:1234:5678::/64 { };\n};\n"

Declared by:

<nixos/modules/services/networking/radvd.nix>
services.radvd.enable

Whether to enable the Router Advertisement Daemon (radvd), which provides link-local advertisements of IPv6 router addresses and prefixes using the Neighbor Discovery Protocol (NDP). This enables stateless address autoconfiguration in IPv6 clients on the network.

Default: false

Declared by:

<nixos/modules/services/networking/radvd.nix>
services.rdnssd.enable

Whether to enable the RDNSS daemon (rdnssd), which configures DNS servers in /etc/resolv.conf from RDNSS advertisements sent by IPv6 routers.

Default: false

Declared by:

<nixos/modules/services/networking/rdnssd.nix>
services.rogue.enable

Whether to enable the Rogue game on one of the virtual consoles.

Default: false

Declared by:

<nixos/modules/services/misc/rogue.nix>
services.rogue.tty

Virtual console on which to run Rogue.

Default: "tty9"

Declared by:

<nixos/modules/services/misc/rogue.nix>
services.rpcbind.enable

Whether to enable `rpcbind', an ONC RPC directory service notably used by NFS and NIS, and which can be queried using the rpcinfo(1) command. `rpcbind` is a replacement for `portmap`.

Default: false

Declared by:

<nixos/modules/services/networking/rpcbind.nix>
services.rsyslogd.defaultConfig

The default syslog.conf file configures a fairly standard setup of log files, which can be extended by means of extraConfig.

Default: "# \"local1\" is used for dhcpd messages.\nlocal1.* -/var/log/dhcpd\n\nmail.* -/var/log/mail\n\n*.=warning;*.=err -/var/log/warn\n*.crit /var/log/warn\n\n*.*;mail.none;local1.none -/var/log/messages\n"

Declared by:

<nixos/modules/services/logging/rsyslogd.nix>
services.rsyslogd.enable

Whether to enable syslogd. Note that systemd also logs syslog messages, so you normally don't need to run syslogd.

Default: false

Declared by:

<nixos/modules/services/logging/rsyslogd.nix>
services.rsyslogd.extraConfig

Additional text appended to syslog.conf, i.e. the contents of defaultConfig.

Default: ""

Example: "news.* -/var/log/news"

Declared by:

<nixos/modules/services/logging/rsyslogd.nix>
services.rsyslogd.extraParams

Additional parameters passed to rsyslogd.

Default: [ ]

Example: [ "-m 0" ]

Declared by:

<nixos/modules/services/logging/rsyslogd.nix>
services.sabnzbd.configFile

Path to config file. (You need to create this file yourself!)

Default: "/var/sabnzbd/sabnzbd.ini"

Declared by:

<nixos/modules/services/networking/sabnzbd.nix>
services.sabnzbd.enable

Whether to enable the sabnzbd FTP server.

Default: false

Declared by:

<nixos/modules/services/networking/sabnzbd.nix>
services.samba.configFile

internal use to pass filepath to samba pam module

Default: none

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.defaultShare.enable

Whether to share /home/smbd as 'default'.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.defaultShare.guest

Whether to allow guest access to default share.

Default: true

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.defaultShare.writeable

Whether to allow write access to default share.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.enable

Whether to enable Samba, which provides file and print services to Windows clients through the SMB/CIFS protocol.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.extraConfig

additional global section and extra section lines go in here.

Default: "# [global] continuing global section here, section is started by nix to set pids etc\n\n smb passwd file = /etc/samba/passwd\n\n # is this useful ?\n domain master = auto\n\n encrypt passwords = Yes\n client plaintext auth = No\n\n # yes: if you use this you probably also want to enable syncPasswordsByPam\n # no: You can still use the pam password database. However\n # passwords will be sent plain text on network (discouraged)\n\n workgroup = Users\n server string = %h\n comment = Samba\n log file = /var/log/samba/log.%m\n log level = 10\n max log size = 50000\n security = user\n\n client lanman auth = Yes\n dns proxy = no\n invalid users = root\n passdb backend = tdbsam\n passwd program = /usr/bin/passwd %u\n"

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.securityType

Samba security type

Default: "user"

Example: "share"

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.samba.syncPasswordsByPam

enabling this will add a line directly after pam_unix.so. Whenever a password is changed the samba password will be updated as well. However you still yave to add the samba password once using smbpasswd -a user If you don't want to maintain an extra pwd database you still can send plain text passwords which is not secure.

Default: false

Declared by:

<nixos/modules/services/network-filesystems/samba.nix>
services.sitecopy.backups

List of attributesets describing the backups. Username/password are extracted from /var/spool/sitecopy/sitecopy.secrets at activation time. The secrets file lines should have the following structure:

  server username password

Default: [ ]

Example: [ { https = true; local = "/tmp/backup"; name = "test"; protocol = "webdav"; remote = "/staff-groups/ewi/st/strategoxt/backup/test"; server = "webdata.tudelft.nl"; symlinks = "maintain"; } ]

Declared by:

<nixos/modules/services/backup/sitecopy-backup.nix>
services.sitecopy.enable

Whether to enable sitecopy backups of specified directories.

Default: false

Declared by:

<nixos/modules/services/backup/sitecopy-backup.nix>
services.sitecopy.period

This option defines (in the format used by cron) when the sitecopy backup are being run. The default is to update at 04:15 (at night) every day.

Default: "15 04 * * *"

Declared by:

<nixos/modules/services/backup/sitecopy-backup.nix>
services.smartd.deviceOpts

Additional options for each device that is monitored. The example turns on SMART Automatic Offline Testing on startup, and schedules short self-tests daily, and long self-tests weekly.

Default: ""

Example: "-o on -s (S/../.././02|L/../../7/04)"

Declared by:

<nixos/modules/services/monitoring/smartd.nix>
services.smartd.devices

List of devices to monitor. By default -- if this list is empty --, smartd will monitor all devices connected to the machine at the time it's being run. Configuring this option has the added benefit of enabling e-mail notifications to "root" every time smartd detects an error.

Default: [ ]

Example: [ { device = "/dev/sda"; } { device = "/dev/sdb"; options = "-d sat"; } ]

Declared by:

<nixos/modules/services/monitoring/smartd.nix>
services.smartd.devices.*.device

Location of the device.

Default: none

Example: "/dev/sda"

Declared by:

<nixos/modules/services/monitoring/smartd.nix>
services.smartd.devices.*.options

Options that determine how smartd monitors the device

Default: ""

Example: "-d sat"

Declared by:

<nixos/modules/services/monitoring/smartd.nix>
services.smartd.enable

Run smartd from the smartmontools package. Note that e-mail notifications will not be enabled unless you configure the list of devices with services.smartd.devices as well.

Default: false

Example: "true"

Declared by:

<nixos/modules/services/monitoring/smartd.nix>
services.spamassassin.debug

Whether to run the SpamAssassin daemon in debug mode.

Default: false

Declared by:

<nixos/modules/services/mail/spamassassin.nix>
services.spamassassin.enable

Whether to run the SpamAssassin daemon.

Default: false

Declared by:

<nixos/modules/services/mail/spamassassin.nix>
services.sshd.allowSFTP

Obsolete name of services.openssh.allowSFTP.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.sshd.enable

Alias of services.openssh.enable.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.sshd.forwardX11

Obsolete name of services.openssh.forwardX11.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.sshd.gatewayPorts

Obsolete name of services.openssh.gatewayPorts.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.sshd.permitRootLogin

Obsolete name of services.openssh.permitRootLogin.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.sshd.ports

Obsolete name of services.openssh.ports.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.svnserve.enable

Whether to enable svnserve to serve Subversion repositories through the SVN protocol.

Default: false

Declared by:

<nixos/modules/services/misc/svnserve.nix>
services.svnserve.svnBaseDir

Base directory from which Subversion repositories are accessed.

Default: "/repos"

Declared by:

<nixos/modules/services/misc/svnserve.nix>
services.synergy.client.enable

Whether to enable the synergy client (receive keyboard and mouse events from a synergy server)

Default: false

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.client.screenName

use screen-name instead the hostname to identify ourselfs to the server.

Default: ""

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.client.serverAddress

The server address is of the form: [hostname][:port]. The hostname must be the address or hostname of the server. The port overrides the default port, 24800.

Default: none

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.server.address

listen for clients on the given address

Default: ""

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.server.configFile

The synergy server configuration file. open upstart-jobs/synergy.nix to see an example

Default: "/etc/synergy-server.conf"

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.server.enable

Whether to enable the synergy server (send keyboard and mouse events)

Default: false

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.synergy.server.screenName

use screen-name instead the hostname to identify this screen in the configuration.

Default: ""

Declared by:

<nixos/modules/services/misc/synergy.nix>
services.syslogd.defaultConfig

The default syslog.conf file configures a fairly standard setup of log files, which can be extended by means of extraConfig.

Default: "# Send emergency messages to all users.\n*.emerg *\n\n# \"local1\" is used for dhcpd messages.\nlocal1.* -/var/log/dhcpd\n\nmail.* -/var/log/mail\n\n*.=warning;*.=err -/var/log/warn\n*.crit /var/log/warn\n\n*.*;mail.none;local1.none -/var/log/messages\n"

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.syslogd.enable

Whether to enable syslogd. Note that systemd also logs syslog messages, so you normally don't need to run syslogd.

Default: false

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.syslogd.enableNetworkInput

Accept logging through UDP. Option -r of syslogd(8).

Default: false

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.syslogd.extraConfig

Additional text appended to syslog.conf, i.e. the contents of defaultConfig.

Default: ""

Example: "news.* -/var/log/news"

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.syslogd.extraParams

Additional parameters passed to syslogd.

Default: [ ]

Example: [ "-m 0" ]

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.syslogd.tty

The tty device on which syslogd will print important log messages. Leave this option blank to disable tty logging.

Default: "tty10"

Declared by:

<nixos/modules/services/logging/syslogd.nix>
services.systemhealth.drives

Drives to monitor.

Default: [ ]

Example: [ { name = "root"; path = "/"; } ]

Declared by:

<nixos/modules/services/monitoring/systemhealth.nix>
services.systemhealth.enable

Enable the system health monitor and its generation of graphs.

Default: false

Declared by:

<nixos/modules/services/monitoring/systemhealth.nix>
services.systemhealth.interfaces

Interfaces to monitor (minimum one).

Default: [ "lo" ]

Example: [ "lo" "eth0" "eth1" ]

Declared by:

<nixos/modules/services/monitoring/systemhealth.nix>
services.systemhealth.urlPrefix

The URL prefix under which the System Health web pages appear in httpd.

Default: "/health"

Declared by:

<nixos/modules/services/monitoring/systemhealth.nix>
services.tftpd.enable

Whether to enable the anonymous FTP user.

Default: false

Declared by:

<nixos/modules/services/networking/tftpd.nix>
services.tftpd.path

Where the tftp server files are stored

Default: "/home/tftp"

Declared by:

<nixos/modules/services/networking/tftpd.nix>
services.thinkfan.enable

Whether to enable thinkfan, fan controller for ibm/lenovo thinkpads.

Default: false

Declared by:

<nixos/modules/services/hardware/thinkfan.nix>
services.thinkfan.sensor

Sensor used by thinkfan

Default: "/proc/acpi/ibm/thermal"

Declared by:

<nixos/modules/services/hardware/thinkfan.nix>
services.tomcat.axis2.enable

Whether to enable an Apache Axis2 container

Default: false

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.axis2.services

List containing AAR files or directories with AAR files which are web services to be deployed on Axis2

Default: [ ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.baseDir

Location where Tomcat stores configuration files, webapplications and logfiles

Default: "/var/tomcat"

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.catalinaOpts

Parameters to pass to the Java Virtual Machine which spawns the Catalina servlet container

Default: ""

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.commonLibs

List containing JAR files or directories with JAR files which are libraries shared by the web applications and the servlet container

Default: [ ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.enable

Whether to enable Apache Tomcat

Default: false

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.extraGroups

Defines extra groups to which the tomcat user belongs.

Default: [ ]

Example: [ "users" ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.group

Group account under which Apache Tomcat runs.

Default: "tomcat"

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.javaOpts

Parameters to pass to the Java Virtual Machine which spawns Apache Tomcat

Default: ""

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.logPerVirtualHost

Whether to enable logging per virtual host.

Default: false

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.sharedLibs

List containing JAR files or directories with JAR files which are libraries shared by the web applications

Default: [ ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.user

User account under which Apache Tomcat runs.

Default: "tomcat"

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.virtualHosts

List consisting of a virtual host name and a list of web applications to deploy on each virtual host

Default: [ ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tomcat.webapps

List containing WAR files or directories with WAR files which are web applications to be deployed on Tomcat

Default: [ (build of apache-tomcat-6.0.32) ]

Declared by:

<nixos/modules/services/web-servers/tomcat.nix>
services.tor.client.enable

Whether to enable Tor daemon to route application connections. You might want to disable this if you plan running a dedicated Tor relay.

Default: false

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.privoxy.config

Extra configuration for Tor's instance of privoxy. Contents will be added verbatim to the configuration file. *This does not configure the standard NixOS instance of privoxy.* This is for Tor connections only! See services.privoxy.extraConfig to configure the standard NixOS instace of privoxy.

Default: ""

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.privoxy.enable

Whether to enable a special instance of privoxy dedicated to Tor. To have anonymity, protocols need to be scrubbed of identifying information. Most people using Tor want to anonymize their web traffic, so by default we enable an special instance of privoxy specifically for Tor. However, if you are only going to use Tor only for other kinds of traffic then you can disable this option.

Default: true

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.privoxy.listenAddress

Address that Tor's instance of privoxy is listening to. *This does not configure the standard NixOS instance of privoxy.* This is for Tor connections only! See services.privoxy.listenAddress to configure the standard NixOS instace of privoxy.

Default: "127.0.0.1:8118"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.socksListenAddress

Bind to this address to listen for connections from Socks-speaking applications.

Default: "127.0.0.1:9050"

Example: "192.168.0.1:9100"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.socksListenAddressFaster

Same as socksListenAddress but uses weaker circuit isolation to provide performance suitable for a web browser.

Default: "127.0.0.1:9063"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.client.socksPolicy

Entry policies to allow/deny SOCKS requests based on IP address. First entry that matches wins. If no SocksPolicy is set, we accept all (and only) requests from SocksListenAddress.

Default: ""

Example: "accept 192.168.0.0/16, reject *"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.config

Extra configuration. Contents will be added verbatim to the configuration file.

Default: ""

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.bandwidthBurst

Specify this to allow bursts of the bandwidth usage of relayed (server) traffic. The average usage will still be as specified in relayBandwidthRate. Your own traffic is still unthrottled. Units: bytes/second.

Default: 0

Example: 200

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.bandwidthRate

Specify this to limit the bandwidth usage of relayed (server) traffic. Your own traffic is still unthrottled. Units: bytes/second.

Default: 0

Example: 100

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.enable

Whether to enable relaying TOR traffic for others. See https://www.torproject.org/docs/tor-doc-relay for details.

Default: false

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.exitPolicy

A comma-separated list of exit policies. They're considered first to last, and the first match wins. If you want to _replace_ the default exit policy, end this with either a reject *:* or an accept *:*. Otherwise, you're _augmenting_ (prepending to) the default exit policy. Leave commented to just use the default, which is available in the man page or at https://www.torproject.org/documentation.html Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses for issues you might encounter if you use the default exit policy. If certain IPs and ports are blocked externally, e.g. by your firewall, you should update your exit policy to reflect this -- otherwise Tor users will be told that those destinations are down.

Default: ""

Example: "accept *:6660-6667,reject *:*"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.isBridge

Bridge relays (or "bridges" ) are Tor relays that aren't listed in the main directory. Since there is no complete public list of them, even if an ISP is filtering connections to all the known Tor relays, they probably won't be able to block all the bridges. A bridge relay can't be an exit relay. You need to set enableRelay to true for this option to take effect. See https://www.torproject.org/bridges.html.en for more info.

Default: false

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.isExit

An exit relay allows Tor users to access regular Internet services. Unlike running a non-exit relay, running an exit relay may expose you to abuse complaints. See https://www.torproject.org/faq.html.en#ExitPolicies for more info. You can specify which services Tor users may access via your exit relay using exitPolicy option.

Default: false

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.listenAddress

Set this if you need to listen on a port other than the one advertised in relayPort (e.g. to advertise 443 but bind to 9090). You'll need to do ipchains or other port forwsarding yourself to make this work.

Default: ""

Example: "0.0.0.0:9090"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.nickname

A unique handle for your TOR relay.

Default: "anonymous"

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.relay.port

What port to advertise for Tor connections.

Default: 9001

Declared by:

<nixos/modules/services/security/tor.nix>
services.tor.torify.config

Extra configuration. Contents will be added verbatim to TSocks configuration file.

Default: ""

Declared by:

<nixos/modules/services/security/torify.nix>
services.tor.torify.enable

Whether to build torify scipt to relay application traffic via TOR.

Default: false

Declared by:

<nixos/modules/services/security/torify.nix>
services.tor.torify.server

IP address of TOR client to use.

Default: "localhost:9050"

Example: "192.168.0.20"

Declared by:

<nixos/modules/services/security/torify.nix>
services.tor.torsocks.config

Extra configuration. Contents will be added verbatim to torsocks configuration file.

Default: ""

Declared by:

<nixos/modules/services/security/torsocks.nix>
services.tor.torsocks.enable

Whether to build torsocks scipt to relay application traffic via TOR.

Default: false

Declared by:

<nixos/modules/services/security/torsocks.nix>
services.tor.torsocks.server

IP address of TOR client to use.

Default: "127.0.0.1:9050"

Example: "192.168.0.20:9050"

Declared by:

<nixos/modules/services/security/torsocks.nix>
services.tor.torsocks.serverFaster

IP address of TOR client to use for applications like web browsers which need less circuit isolation to achive satisfactory performance.

Default: "127.0.0.1:9063"

Example: "192.168.0.20:9063"

Declared by:

<nixos/modules/services/security/torsocks.nix>
services.transmission.enable

Whether or not to enable the headless Transmission BitTorrent daemon. Transmission daemon can be controlled via the RPC interface using transmission-remote or the WebUI (http://localhost:9091/ by default). Torrents are downloaded to /var/lib/transmission/Downloads/ by default and are accessible to users in the "transmission" group.

Default: false

Declared by:

<nixos/modules/services/torrent/transmission.nix>
services.transmission.rpc_port

TCP port number to run the RPC/web interface.

Default: 9091

Declared by:

<nixos/modules/services/torrent/transmission.nix>
services.transmission.settings

Attribute set whos fields overwrites fields in settings.json (each time the service starts). String values must be quoted, integer and boolean values must not. See https://trac.transmissionbt.com/wiki/EditConfigFiles for documentation and/or look at /var/lib/transmission/.config/transmission-daemon/settings.json."

Default: { umask = 2; }

Example: { download-dir = "/srv/torrents/"; incomplete-dir = "/srv/torrents/.incomplete/"; incomplete-dir-enabled = true; rpc-whitelist = "127.0.0.1,192.168.*.*"; umask = 2; }

Declared by:

<nixos/modules/services/torrent/transmission.nix>
services.ttyBackgrounds.defaultTheme

The default theme for the virtual consoles. Themes can be found at http://www.bootsplash.de/.

Default: (build of Theme-BabyTux.tar.bz2)

Declared by:

<nixos/modules/tasks/tty-backgrounds.nix>
services.ttyBackgrounds.enable

Whether to enable graphical backgrounds for the virtual consoles.

Default: true

Declared by:

<nixos/modules/tasks/tty-backgrounds.nix>
services.ttyBackgrounds.specificThemes

This option overrides the theme for specific virtual consoles.

Default: [ ]

Declared by:

<nixos/modules/tasks/tty-backgrounds.nix>
services.udev.extraRules

Additional udev rules. They'll be written into file 10-local.rules. Thus they are read before all other rules.

Default: ""

Example: "KERNEL==\"eth*\", ATTR{address}==\"00:1D:60:B9:6D:4F\", NAME=\"my_fast_network_card\"\n"

Declared by:

<nixos/modules/services/hardware/udev.nix>
services.udev.packages

List of packages containing udev rules. All files found in pkg/etc/udev/rules.d and pkg/lib/udev/rules.d will be included.

Default: [ ]

Declared by:

<nixos/modules/services/hardware/udev.nix>
services.udev.path

Packages added to the PATH environment variable when executing programs from Udev rules.

Default: [ ]

Declared by:

<nixos/modules/services/hardware/udev.nix>
services.udisks.enable

Whether to enable Udisks, a DBus service that allows applications to query and manipulate storage devices.

Default: false

Declared by:

<nixos/modules/services/hardware/udisks.nix>
services.udisks2.enable

Whether to enable Udisks, a DBus service that allows applications to query and manipulate storage devices.

Default: false

Declared by:

<nixos/modules/services/hardware/udisks2.nix>
services.unbound.allowedAccess

What networks are allowed to use us as a resolver.

Default: [ "127.0.0.0/24" ]

Declared by:

<nixos/modules/services/networking/unbound.nix>
services.unbound.enable

Whether to enable the Unbound domain name server.

Default: false

Declared by:

<nixos/modules/services/networking/unbound.nix>
services.unbound.extraConfig

Extra unbound config

Default: ""

Declared by:

<nixos/modules/services/networking/unbound.nix>
services.unbound.forwardAddresses

What servers to forward the queries to.

Default: [ ]

Declared by:

<nixos/modules/services/networking/unbound.nix>
services.unbound.interfaces

What addresses the server should listen to.

Default: [ "127.0.0.0" "::1" ]

Declared by:

<nixos/modules/services/networking/unbound.nix>
services.upower.enable

Whether to enable Upower, a DBus service that provides power management support to applications.

Default: false

Declared by:

<nixos/modules/services/hardware/upower.nix>
services.uptimed.enable

Uptimed allows you to track your highest uptimes.

Default: false

Declared by:

<nixos/modules/services/system/uptimed.nix>
services.varnish.config

Verbatim default.vcl configuration.

Default: none

Declared by:

<nixos/modules/services/web-servers/varnish/default.nix>
services.varnish.enable

Enable the Varnish Server.

Default: false

Declared by:

<nixos/modules/services/web-servers/varnish/default.nix>
services.varnish.stateDir

Directory holding all state for Varnish to run.

Default: "/var/spool/varnish"

Declared by:

<nixos/modules/services/web-servers/varnish/default.nix>
services.virtualbox.enable

Whether to enable the VirtualBox service and other guest additions.

Default: false

Declared by:

<nixos/modules/virtualisation/virtualbox-guest.nix>
services.virtuoso.config

Extra options to put into Virtuoso configuration file.

Default: ""

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.virtuoso.dirsAllowed

A list of directories Virtuoso is allowed to access

Default:

Example: "/www, /home/"

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.virtuoso.enable

Whether to enable Virtuoso Opensource database server.

Default: false

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.virtuoso.httpListenAddress

ip:port or port for Virtuoso HTTP server to listen on.

Default:

Example: "myserver:8080"

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.virtuoso.listenAddress

ip:port or port to listen on.

Default: "1111"

Example: "myserver:1323"

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.virtuoso.parameters

Extra options to put into [Parameters] section of Virtuoso configuration file.

Default: ""

Declared by:

<nixos/modules/services/databases/virtuoso.nix>
services.vsftpd.anonymousMkdirEnable

Whether mkdir is permitted to anonymous users.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.anonymousUploadEnable

Whether any uploads are permitted to anonymous users.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.anonymousUser

Whether to enable the anonymous FTP user.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.anonymousUserHome

Path to anonymous user data.

Default: "/home/ftp"

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.chrootlocalUser

Whether local users are confined to their home directory.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.enable

Whether to enable the vsftpd FTP server.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.localUsers

Whether to enable FTP for local users.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.userlistDeny

Whether users are excluded.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.userlistEnable

Whether users are included.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.vsftpd.writeEnable

Whether any write activity is permitted to users.

Default: false

Declared by:

<nixos/modules/services/networking/vsftpd.nix>
services.wakeonlan.interfaces

Interfaces where to enable Wake-On-LAN, and how. Two methods available: "magickey" and "password". The password has the shape of six bytes in hexadecimal separated by a colon each. For more information, check the ethtool manual.

Default: [ ]

Example: [ { interface = "eth0"; method = "password"; password = "00:11:22:33:44:55"; } ]

Declared by:

<nixos/modules/services/networking/wakeonlan.nix>
services.xfs.enable

Whether to enable the X Font Server.

Default: false

Declared by:

<nixos/modules/services/x11/xfs.nix>
services.xinetd.enable

Whether to enable the xinetd super-server daemon.

Default: false

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.extraDefaults

Additional configuration lines added to the default section of xinetd's configuration.

Default: ""

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services

A list of services provided by xinetd.

Default: [ ]

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.extraConfig

Extra configuration-lines added to the section of the service.

Default: ""

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.flags

Default: ""

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.name

Name of the service.

Default: none

Example: "login"

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.port

Port number of the service.

Default: 0

Example: 123

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.protocol

Protocol of the service. Usually tcp or udp.

Default: "tcp"

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.server

Path of the program that implements the service.

Default: none

Example: "/foo/bin/ftpd"

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.serverArgs

Command-line arguments for the server program.

Default: ""

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.unlisted

Whether this server is listed in /etc/services. If so, the port number can be omitted.

Default: false

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xinetd.services.*.user

User account for the service

Default: "nobody"

Declared by:

<nixos/modules/services/networking/xinetd.nix>
services.xserver.autorun

Whether to start the X server automatically.

Default: true

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.config

The contents of the configuration file of the X server (xorg.conf).

Default: none

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.defaultDepth

Default colour depth.

Default: 0

Example: 8

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.desktopManager.default

Default desktop manager loaded if none have been chosen.

Default: ""

Example: "none"

Declared by:

<nixos/modules/services/x11/desktop-managers/default.nix>
services.xserver.desktopManager.e17.enable

Enable support for the E17 desktop environment.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/desktop-managers/e17.nix>
services.xserver.desktopManager.gnome.enable

Enable a gnome terminal as a desktop manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/desktop-managers/gnome.nix>
services.xserver.desktopManager.kde4.enable

Enable the KDE 4 desktop environment.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/desktop-managers/kde4.nix>
services.xserver.desktopManager.kde4.phononBackends

Which phonon multimedia backend kde should use

Default: [ "gstreamer" ]

Example: [ "gstreamer" "vlc" ]

Declared by:

<nixos/modules/services/x11/desktop-managers/kde4.nix>
services.xserver.desktopManager.session

Internal option used to add some common line to desktop manager scripts before forwarding the value to the displayManager.

Default: [ ]

Example: [ { bgSupport = true; name = "kde"; start = "..."; } ]

Declared by:

<nixos/modules/services/x11/desktop-managers/default.nix>
services.xserver.desktopManager.xfce.enable

Enable the Xfce desktop environment.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/desktop-managers/xfce.nix>
services.xserver.desktopManager.xterm.enable

Enable a xterm terminal as a desktop manager.

Default: true

Example: false

Declared by:

<nixos/modules/services/x11/desktop-managers/xterm.nix>
services.xserver.deviceSection

Contents of the first Device section of the X server configuration file.

Default: ""

Example: "VideoRAM 131072"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.display

Display number for the X server.

Default: 0

Example: 1

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.displayManager.auto.enable

Whether to enable the fake "auto" display manager, which automatically logs in the user specified in the user option. This is mostly useful for automated tests.

Default: false

Declared by:

<nixos/modules/services/x11/display-managers/auto.nix>
services.xserver.displayManager.auto.user

The user account to login automatically.

Default: "root"

Declared by:

<nixos/modules/services/x11/display-managers/auto.nix>
services.xserver.displayManager.desktopManagerHandlesLidAndPower

Whether the display manager should prevent systemd from handling lid and power events. This is normally handled by the desktop environment's power manager. Turn this off when using a minimal X11 setup without a full power manager.

Default: true

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.job

This option defines how to start the display manager.

Default: { }

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.job.environment

Additional environment variables needed by the display manager.

Default: { }

Example: { SLIM_CFGFILE = ; }

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.job.execCmd

Command to start the display manager.

Default: none

Example: "/nix/store/ipzp7xggwfxa5f164z5dx0v1dd7nr39g-slim-1.3.4/bin/slim"

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.job.logsXsession

Whether the display manager redirects the output of the session script to ~/.xsession-errors.

Default: false

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.job.preStart

Script executed before the display manager is started.

Default: ""

Example: "rm -f /var/log/my-display-manager.log"

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.kdm.enable

Whether to enable the KDE display manager.

Default: false

Declared by:

<nixos/modules/services/x11/display-managers/kdm.nix>
services.xserver.displayManager.kdm.enableXDMCP

Whether to enable XDMCP, which allows remote logins.

Default: false

Declared by:

<nixos/modules/services/x11/display-managers/kdm.nix>
services.xserver.displayManager.kdm.extraConfig

Options appended to kdmrc, the configuration file of KDM.

Default: ""

Declared by:

<nixos/modules/services/x11/display-managers/kdm.nix>
services.xserver.displayManager.kdm.setupScript

The path to a KDM setup script. This script is run as root just before KDM starts. Can be used for setting up monitors with xrandr, for example.

Default: ""

Declared by:

<nixos/modules/services/x11/display-managers/kdm.nix>
services.xserver.displayManager.kdm.themeDirectory

The path to a KDM theme directory. This theme will be used by the KDM greeter.

Default: ""

Declared by:

<nixos/modules/services/x11/display-managers/kdm.nix>
services.xserver.displayManager.lightdm.enable

Whether to enable lightdm as the display manager.

Default: false

Declared by:

<nixos/modules/services/x11/display-managers/lightdm.nix>
services.xserver.displayManager.lightdm.greeter

The LightDM greeter to login via. The package should be a directory containing a .desktop file matching the name in the 'name' option.

Default: { name = "lightdm-gtk-greeter"; package = (build of lightdm-gtk-greeter); }

Declared by:

<nixos/modules/services/x11/display-managers/lightdm.nix>
services.xserver.displayManager.session

List of sessions supported with the command used to start each session. Each session script can set the waitPID shell variable to make this script wait until the end of the user session. Each script is used to define either a windows manager or a desktop manager. These can be differentiated by setting the attribute manage either to "window" or "desktop". The list of desktop manager and window manager should appear inside the display manager with the desktop manager name followed by the window manager name.

Default: [ ]

Example: [ { manage = "desktop"; name = "xterm"; start = "\n /nix/store/f60a17pnhwpqlbgfnhljphvmfj9yrzzz-xterm-281/bin/xterm -ls &\n waitPID=$!\n "; } ]

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.sessionCommands

Shell commands executed just before the window or desktop manager is started.

Default: ""

Example: "xmessage \"Hello World!\" &\n"

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.slim.autoLogin

Automatically log in as the default user.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/display-managers/slim.nix>
services.xserver.displayManager.slim.defaultUser

The default user to load. If you put a username here you get it automatically loaded into the username field, and the focus is placed on the password.

Default: ""

Example: "login"

Declared by:

<nixos/modules/services/x11/display-managers/slim.nix>
services.xserver.displayManager.slim.enable

Whether to enable SLiM as the display manager.

Default: true

Declared by:

<nixos/modules/services/x11/display-managers/slim.nix>
services.xserver.displayManager.slim.theme

The theme for the SLiM login manager. If not specified, SLiM's default theme is used. See http://slim.berlios.de/themes01.php for a collection of themes.

Default:

Example: (build of slim-wave.tar.gz)

Declared by:

<nixos/modules/services/x11/display-managers/slim.nix>
services.xserver.displayManager.xauthBin

Path to the xauth program used by display managers.

Default: "/nix/store/xph2kk7r8ca8m62i1yhrdlh1gmrx4v8b-xauth-1.0.7/bin/xauth"

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.xserverArgs

List of arguments for the X server.

Default: [ ]

Example: [ "-ac" "-logverbose" "-nolisten tcp" ]

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.displayManager.xserverBin

Path to the X server used by display managers.

Default: "/nix/store/alnj2avayikjq4rxgvkslmm6ihd9qi5h-xorg-server-1.12.4/bin/X"

Declared by:

<nixos/modules/services/x11/display-managers/default.nix>
services.xserver.driSupport

Whether to enable accelerated OpenGL rendering through the Direct Rendering Interface (DRI).

Default: true

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.driSupport32Bit

On 64-bit systems, whether to support Direct Rendering for 32-bit applications (such as Wine). This is currently only supported for the nvidia driver and for mesa.

Default: false

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.enable

Whether to enable the X server.

Default: false

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.enableTCP

Whether to allow the X server to accept TCP connections.

Default: false

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.exportConfiguration

Whether to symlink the X server configuration under /etc/X11/xorg.conf.

Default: false

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.extraDisplaySettings

Lines to be added to every Display subsection of the Screen section.

Default: ""

Example: "Virtual 2048 2048"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.layout

Keyboard layout.

Default: "us"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.moduleSection

Contents of the Module section of the X server configuration file.

Default: ""

Example: "SubSection \"extmod\"\nEndSubsection\n"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.modules

Packages to be added to the module search path of the X server.

Default: [ ]

Example: [ (build of xf86-input-wacom-0.19.0) ]

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.monitorSection

Contents of the first Monitor section of the X server configuration file.

Default: ""

Example: "HorizSync 28-49"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.multitouch.enable

Whether to enable multitouch touchpad support.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/hardware/multitouch.nix>
services.xserver.multitouch.ignorePalm

Whether to ignore touches detected as being the palm (i.e when typing)

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/hardware/multitouch.nix>
services.xserver.multitouch.invertScroll

Whether to invert scrolling direction à la OSX Lion

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/hardware/multitouch.nix>
services.xserver.resolutions

The screen resolutions for the X server. The first element is the default resolution. If this list is empty, the X server will automatically configure the resolution.

Default: [ ]

Example: [ { x = 1600; y = 1200; } { x = 1024; y = 786; } ]

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.screenSection

Contents of the first Screen section of the X server configuration file.

Default: ""

Example: "Option \"RandRRotation\" \"on\"\n"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.serverLayoutSection

Contents of the ServerLayout section of the X server configuration file.

Default: ""

Example: "Option \"AIGLX\" \"true\"\n"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.startGnuPGAgent

Whether to start the GnuPG agent when you log in. The GnuPG agent remembers private keys for you so that you don't have to type in passphrases every time you make an SSH connection or sign/encrypt data. Use ssh-add to add a key to the agent.

Default: false

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.startOpenSSHAgent

Whether to start the OpenSSH agent when you log in. The OpenSSH agent remembers private keys for you so that you don't have to type in passphrases every time you make an SSH connection. Use ssh-add to add a key to the agent.

Default: true

Declared by:

<nixos/modules/services/x11/xserver.nix>
<nixos/modules/rename.nix>
services.xserver.startSSHAgent

Obsolete name of services.xserver.startOpenSSHAgent.

Default: none

Declared by:

<nixos/modules/rename.nix>
services.xserver.synaptics.accelFactor

Cursor acceleration (how fast speed increases from minSpeed to maxSpeed).

Default: "0.001"

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.additionalOptions

Additional options for synaptics touchpad driver.

Default: ""

Example: " Option \"RTCornerButton\" \"2\"\n Option \"RBCornerButton\" \"3\"\n "

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.dev

Path for touchpad device. Set to null to apply to any auto-detected touchpad.

Default:

Example: "/dev/input/event0"

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.enable

Whether to enable touchpad support.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.horizontalScroll

Whether to enable horizontal scrolling (on touchpad)

Default: true

Example: false

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.maxSpeed

Cursor speed factor for highest-speed finger motion.

Default: "1.0"

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.minSpeed

Cursor speed factor for precision finger motion.

Default: "0.6"

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.palmDetect

Whether to enable palm detection (hardware support required)

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.tapButtons

Whether to enable tap buttons.

Default: true

Example: false

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.twoFingerScroll

Whether to enable two-finger drag-scrolling.

Default: false

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.synaptics.vertEdgeScroll

Whether to enable vertical edge drag-scrolling.

Default: true

Declared by:

<nixos/modules/services/x11/hardware/synaptics.nix>
services.xserver.tty

Virtual console for the X server.

Default: 7

Example: 9

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.useXFS

Determines how to connect to the X Font Server.

Default: false

Example: "unix/:7100"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.vaapiDrivers

Packages providing libva acceleration drivers.

Default: "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"

Example: "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.videoDriver

The name of the video driver for your graphics card. This option is obsolete; please set the videoDrivers instead.

Default:

Example: "i810"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.videoDrivers

The names of the video drivers that the X server should support. The X server will try all of the drivers listed here until it finds one that supports your video card.

Default: [ "ati" "cirrus" "intel" "vesa" "vmware" ]

Example: [ "vesa" ]

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.virtualScreen

Virtual screen size for Xrandr.

Default:

Example: { x = 2048; y = 2048; }

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.wacom.cursorExtraConfig

Lines to be added to Wacom_cursor InputDevice section.

Default: ""

Example: ""

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.wacom.device

Device to use. Set to null for autodetect (think USB tablet).

Default:

Example: "/dev/ttyS0"

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.wacom.enable

Whether to enable the Wacom touchscreen/digitizer/tablet.

Default: false

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.wacom.eraserExtraConfig

Lines to be added to Wacom_eraser InputDevice section.

Default: ""

Example: "Option \"Button2\" \"3\"\n"

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.wacom.forceDeviceType

Some models (think touchscreen) require the device type to be specified. Set to null for autodetect (think USB tablet).

Default:

Example: "ISDV4"

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.wacom.stylusExtraConfig

Lines to be added to Wacom_stylus InputDevice section.

Default: ""

Example: "Option \"Button1\" \"2\"\n"

Declared by:

<nixos/modules/services/x11/hardware/wacom.nix>
services.xserver.windowManager.awesome.enable

Enable the Awesome window manager.

Default: false

Declared by:

<nixos/modules/services/x11/window-managers/awesome.nix>
services.xserver.windowManager.compiz.enable

Enable the Compiz window manager.

Default: false

Declared by:

<nixos/modules/services/x11/window-managers/compiz.nix>
services.xserver.windowManager.compiz.renderingFlag

Pass the --indirect-rendering flag to Compiz.

Default: ""

Example: "--indirect-rendering"

Declared by:

<nixos/modules/services/x11/window-managers/compiz.nix>
services.xserver.windowManager.default

Default window manager loaded if none have been chosen.

Default: "none"

Example: "wmii"

Declared by:

<nixos/modules/services/x11/window-managers/default.nix>
services.xserver.windowManager.i3.enable

Enable the i3 tiling window manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/i3.nix>
services.xserver.windowManager.icewm.enable

Enable the IceWM window manager.

Default: false

Declared by:

<nixos/modules/services/x11/window-managers/icewm.nix>
services.xserver.windowManager.kwm.enable

Enable the kwm window manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/kwm.nix>
services.xserver.windowManager.metacity.enable

Enable the metacity window manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/metacity.nix>
services.xserver.windowManager.session

Internal option used to add some common line to window manager scripts before forwarding the value to the displayManager.

Default: [ ]

Example: [ { name = "wmii"; start = "..."; } ]

Declared by:

<nixos/modules/services/x11/window-managers/default.nix>
services.xserver.windowManager.twm.enable

Enable the twm window manager.

Default: false

Declared by:

<nixos/modules/services/x11/window-managers/twm.nix>
services.xserver.windowManager.wmii.enable

Enable the wmii window manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/wmii.nix>
services.xserver.windowManager.xbmc.enable

Enable the xbmc multimedia center.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/xbmc.nix>
services.xserver.windowManager.xmonad.enable

Enable the xmonad window manager.

Default: false

Example: true

Declared by:

<nixos/modules/services/x11/window-managers/xmonad.nix>
services.xserver.xkbModel

Keyboard model.

Default: "pc104"

Example: "presario"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.xkbOptions

X keyboard options; layout switching goes here.

Default: "terminate:ctrl_alt_bksp"

Example: "grp:caps_toggle, grp_led:scroll"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.xkbVariant

X keyboard variant.

Default: ""

Example: "colemak"

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.xserver.xrandrHeads

Simple multiple monitor configuration, just specify a list of XRandR outputs which will be mapped from left to right in the order of the list. Be careful using this option with multiple graphic adapters or with drivers that have poor support for XRandR, unexpected things might happen with those.

Default: [ ]

Example: [ "HDMI-0" "DVI-0" ]

Declared by:

<nixos/modules/services/x11/xserver.nix>
services.zabbixAgent.enable

Whether to run the Zabbix monitoring agent on this machine. It will send monitoring data to a Zabbix server.

Default: false

Declared by:

<nixos/modules/services/monitoring/zabbix-agent.nix>
services.zabbixAgent.extraConfig

Configuration that is injected verbatim into the configuration file.

Default: ""

Declared by:

<nixos/modules/services/monitoring/zabbix-agent.nix>
services.zabbixAgent.server

The IP address or hostname of the Zabbix server to connect to.

Default: "127.0.0.1"

Declared by:

<nixos/modules/services/monitoring/zabbix-agent.nix>
services.zabbixServer.dbPassword

Password used to connect to the database server.

Default: ""

Declared by:

<nixos/modules/services/monitoring/zabbix-server.nix>
services.zabbixServer.dbServer

Hostname or IP address of the database server.

Default: "localhost"

Declared by:

<nixos/modules/services/monitoring/zabbix-server.nix>
services.zabbixServer.enable

Whether to run the Zabbix server on this machine.

Default: false

Declared by:

<nixos/modules/services/monitoring/zabbix-server.nix>
sound.enable

Whether to enable ALSA sound.

Default: true

Declared by:

<nixos/modules/services/audio/alsa.nix>
sound.enableOSSEmulation

Whether to enable ALSA OSS emulation (with certain cards sound mixing may not work!).

Default: true

Declared by:

<nixos/modules/services/audio/alsa.nix>
swapDevices

The swap devices and swap files. These must have been initialised using mkswap. Each element should be an attribute set specifying either the path of the swap device or file (device) or the label of the swap device (label, see mkswap -L). Using a label is recommended.

Default: [ ]

Example: [ { device = "/dev/hda7"; } { device = "/var/swapfile"; } { label = "bigswap"; } ]

Declared by:

<nixos/modules/config/swap.nix>
swapDevices.*.device

Path of the device.

Default: none

Example: "/dev/sda3"

Declared by:

<nixos/modules/config/swap.nix>
swapDevices.*.label

Label of the device. Can be used instead of device.

Default: none

Example: "swap"

Declared by:

<nixos/modules/config/swap.nix>
swapDevices.*.priority

Specify the priority of the swap device. Priority is a value between 0 and 32767. Higher numbers indicate higher priority. null lets the kernel choose a priority, which will show up as a negative value.

Default:

Example: 2048

Declared by:

<nixos/modules/config/swap.nix>
swapDevices.*.size

If this option is set, ‘device’ is interpreted as the path of a swapfile that will be created automatically with the indicated size (in megabytes) if it doesn't exist.

Default:

Example: 2048

Declared by:

<nixos/modules/config/swap.nix>
system.activationScripts

Activate the new configuration (i.e., update /etc, make accounts, and so on).

Default: { }

Example: { stdio = { deps = [ ] ; text = "# Needed by some programs.\nln -sfn /proc/self/fd /dev/fd\nln -sfn /proc/self/fd/0 /dev/stdin\nln -sfn /proc/self/fd/1 /dev/stdout\nln -sfn /proc/self/fd/2 /dev/stderr\n"; } ; }

Declared by:

<nixos/modules/system/activation/activation-script.nix>
system.boot.loader.id

Id string of the used bootloader.

Default: ""

Declared by:

<nixos/modules/system/activation/top-level.nix>
system.boot.loader.kernelFile

Name of the kernel file to be passed to the bootloader.

Default: "bzImage"

Declared by:

<nixos/modules/system/activation/top-level.nix>
system.build

Attribute set of derivations used to setup the system.

Default: { }

Declared by:

<nixos/modules/system/activation/top-level.nix>
system.copySystemConfiguration

If enabled, copies the NixOS configuration file $NIXOS_CONFIG (usually /etc/nixos/configuration.nix) to the system store path.

Default: false

Declared by:

<nixos/modules/system/activation/top-level.nix>
system.extraSystemBuilderCmds

This code will be added to the builder creating the system store path.

Default: ""

Declared by:

<nixos/modules/system/activation/top-level.nix>
system.fsPackages

Packages supplying file system mounters and checkers.

Default: [ ]

Declared by:

<nixos/modules/tasks/filesystems.nix>
system.modulesTree

Tree of kernel modules. This includes the kernel, plus modules built outside of the kernel. Combine these into a single tree of symlinks because modprobe only supports one directory.

Default: [ ]

Declared by:

<nixos/modules/system/boot/kernel.nix>
system.nixosVersion

NixOS version.

Default: none

Declared by:

<nixos/modules/misc/version.nix>
system.nixosVersionSuffix

NixOS version suffix.

Default: none

Declared by:

<nixos/modules/misc/version.nix>
system.nssModules

Search path for NSS (Name Service Switch) modules. This allows several DNS resolution methods to be specified via /etc/nsswitch.conf.

Default: [ ]

Declared by:

<nixos/modules/config/nsswitch.nix>
system.requiredKernelConfig

This option allows modules to specify the kernel config options that must be set (or unset) for the module to work. Please use the lib.kernelConfig functions to build list elements.

Default: [ ]

Example:

with config.lib.kernelConfig; [
  (isYes "MODULES")
  (isEnabled "FB_CON_DECOR")
  (isEnabled "BLK_DEV_INITRD")
]

Declared by:

<nixos/modules/system/boot/kernel.nix>
system.sbin.modprobe

Wrapper around modprobe that sets the path to the modules tree.

Default: (build of modprobe)

Declared by:

<nixos/modules/system/boot/modprobe.nix>
systemd.defaultUnit

Default unit started when the system boots.

Default: "multi-user.target"

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.enableEmergencyMode

Whether to enable emergency mode, which is an sulogin shell started on the console if mounting a filesystem fails. Since some machines (like EC2 instances) have no console of any kind, emergency mode doesn't make sense, and it's better to continue with the boot insofar as possible.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.globalEnvironment

Environment variables passed to all systemd units.

Default: { }

Example: { TZ = "CET"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts

Definition of systemd mount units. This is a list instead of an attrSet, because systemd mandates the names to be derived from the 'where' attribute.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.mountConfig

Each attribute in this set specifies an option in the [Mount] section of the unit. See systemd.mount(5) for details.

Default: { }

Example: { DirectoryMode = "0775"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.options

Options used to mount the file system.

Default: ""

Example: "noatime"

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.type

File system type.

Default: ""

Example: "ext4"

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.what

Absolute path of device node, file or other resource. (Mandatory)

Default: none

Example: "/dev/sda1"

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.mounts.*.where

Absolute path of a directory of the mount point. Will be created if it doesn't exist. (Mandatory)

Default: none

Example: "/mnt"

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.package

The systemd package.

Default: (build of systemd-203)

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.packages

Packages providing systemd units.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services

Definition of systemd service units.

Default: { }

Declared by:

<nixos/modules/system/boot/systemd.nix>
<nixos/modules/rename.nix>
systemd.services.<name>.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.environment

Environment variables passed to the services's processes.

Default: { }

Example: { LANG = "nl_NL.UTF-8"; PATH = "/foo/bar/bin"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.path

Packages added to the service's PATH environment variable. Both the bin and sbin subdirectories of each package are added.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.postStart

Shell commands executed after the service's main process is started.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.postStop

Shell commands executed after the service's main process has exited.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.preStart

Shell commands executed before the service's main process is started.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.restartIfChanged

Whether the service should be restarted during a NixOS configuration switch if its definition has changed.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.script

Shell commands executed as the service's main process.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.scriptArgs

Arguments passed to the main process script.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.serviceConfig

Each attribute in this set specifies an option in the [Service] section of the unit. See systemd.service(5) for details.

Default: { }

Example: { RestartSec = 5; StartLimitInterval = 10; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.stopIfChanged

If set, a changed unit is restarted by calling systemctl stop in the old configuration, then systemctl start in the new one. Otherwise, it is restarted in a single step using systemctl restart in the new configuration. The latter is less correct because it runs the ExecStop commands from the new configuration.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.services.<name>.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets

Definition of systemd socket units.

Default: { }

Declared by:

<nixos/modules/system/boot/systemd.nix>
<nixos/modules/rename.nix>
systemd.sockets.<name>.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.listenStreams

For each item in this list, a ListenStream option in the [Socket] section will be created.

Default: [ ]

Example: [ "0.0.0.0:993" "/run/my-socket" ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.socketConfig

Each attribute in this set specifies an option in the [Socket] section of the unit. See systemd.socket(5) for details.

Default: { }

Example: { ListenStream = "/run/my-socket"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.sockets.<name>.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets

Definition of systemd target units.

Default: { }

Declared by:

<nixos/modules/system/boot/systemd.nix>
<nixos/modules/rename.nix>
systemd.targets.<name>.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.targets.<name>.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers

Definition of systemd timer units.

Default: { }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.after

If the specified units are started at the same time as this unit, delay this unit until they have started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.before

If the specified units are started at the same time as this unit, delay them until this unit has started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.bindsTo

Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.description

Description of this unit used in systemd messages and progress indicators.

Default: ""

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.partOf

If the specified units are stopped or restarted, then this unit is stopped or restarted as well.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.requires

Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.restartTriggers

An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.timerConfig

Each attribute in this set specifies an option in the [Timer] section of the unit. See systemd.timer(5) and systemd.time(5) for details.

Default: { }

Example: { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.unitConfig

Each attribute in this set specifies an option in the [Unit] section of the unit. See systemd.unit(5) for details.

Default: { }

Example: { RequiresMountsFor = "/data"; }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.timers.<name>.wants

Start the specified units when this unit is started.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.units

Definition of systemd units.

Default: { }

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.units.<name>.enable

If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances (e.g. serial-getty@ttyS0) from being started.

Default: true

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.units.<name>.requiredBy

Units that require (i.e. depend on and need to go down with) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.units.<name>.text

Text of this systemd unit.

Default: none

Declared by:

<nixos/modules/system/boot/systemd.nix>
systemd.units.<name>.wantedBy

Units that want (i.e. depend on) this unit.

Default: [ ]

Declared by:

<nixos/modules/system/boot/systemd.nix>
time.hardwareClockInLocalTime

If set, keep the hardware clock in local time instead of UTC.

Default: false

Declared by:

<nixos/modules/config/timezone.nix>
time.timeZone

The time zone used when displaying times and dates.

Default: "CET"

Example: "America/New_York"

Declared by:

<nixos/modules/config/timezone.nix>
users.defaultUserShell

This option defines the default shell assigned to user accounts. This must not be a store path, since the path is used outside the store (in particular in /etc/passwd). Rather, it should be the path of a symlink that points to the actual shell in the Nix store.

Default: "/run/current-system/sw/bin/bash"

Declared by:

<nixos/modules/programs/shadow.nix>
users.extraGroups

Additional groups to be created automatically by the system.

Default: { }

Example: { hackers = { } ; students = { gid = 1001; } ; }

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraGroups.<name?>.gid

The GID of the group. If undefined, NixOS will select a free GID.

Default:

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraGroups.<name?>.name

The name of the group. If undefined, the name of the attribute set will be used.

Default: none

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers

Additional user accounts to be created automatically by the system.

Default: { }

Example: { alice = { createHome = true; description = "Alice"; extraGroups = [ "wheel" ] ; group = "users"; home = "/home/alice"; password = "foobar"; shell = "/bin/sh"; uid = 1234; } ; }

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.createHome

If true, the home directory will be created automatically.

Default: false

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.createUser

Indicates if the user should be created automatically as a local user. Set this to false if the user for instance is an LDAP user. NixOS will then not modify any of the basic properties for the user account.

Default: true

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.description

A short description of the user account.

Default: ""

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.extraGroups

The user's auxiliary groups.

Default: [ ]

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.group

The user's primary group.

Default: "nogroup"

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.home

The user's home directory.

Default: "/var/empty"

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.isAlias

If true, the UID of this user is not required to be unique and can thus alias another user.

Default: false

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.isSystemUser

Indicates if the user is a system user or not.

Default: true

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.name

The name of the user account. If undefined, the name of the attribute set will be used.

Default: none

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.openssh.authorizedKeys.keyFiles

A list of files each containing one OpenSSH public key that should be added to the user's authorized keys. The contents of the files are read at build time and added to a file that the SSH daemon reads in addition to the the user's authorized_keys file. You can combine the keyFiles and keys options.

Default: [ ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
users.extraUsers.<name?>.openssh.authorizedKeys.keys

A list of verbatim OpenSSH public keys that should be added to the user's authorized keys. The keys are added to a file that the SSH daemon reads in addition to the the user's authorized_keys file. You can combine the keys and keyFiles options.

Default: [ ]

Declared by:

<nixos/modules/services/networking/ssh/sshd.nix>
users.extraUsers.<name?>.password

The user's password. If undefined, no password is set for the user. Warning: do not set confidential information here because this data would be readable by all. This option should only be used for public account such as guest.

Default:

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.shell

The path to the user's shell.

Default: "/run/current-system/sw/sbin/nologin"

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.uid

The account UID. If undefined, NixOS will select a free UID.

Default:

Declared by:

<nixos/modules/config/users-groups.nix>
users.extraUsers.<name?>.useDefaultShell

If true, the user's shell will be set to users.defaultUserShell.

Default: false

Declared by:

<nixos/modules/config/users-groups.nix>
users.ldap.base

The distinguished name of the search base.

Default: none

Example: "dc=example,dc=org"

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.bind.distinguishedName

The distinguished name to bind to the LDAP server with. If this is not specified, an anonymous bind will be done.

Default: ""

Example: "cn=admin,dc=example,dc=com"

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.bind.password

The path to a file containing the credentials to use when binding to the LDAP server (if not binding anonymously).

Default: "/etc/ldap/bind.password"

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.bind.policy

Specifies the policy to use for reconnecting to an unavailable LDAP server. The default is hard_open, which reconnects if opening the connection to the directory server failed. By contrast, hard_init reconnects if initializing the connection failed. Initializing may not actually contact the directory server, and it is possible that a malformed configuration file will trigger reconnection. If soft is specified, then nss_ldap will return immediately on server failure. All hard reconnect policies block with exponential backoff before retrying.

Default: "hard_open"

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.bind.timeLimit

Specifies the time limit (in seconds) to use when connecting to the directory server. This is distinct from the time limit specified in users.ldap.timeLimit and affects the initial server connection only.

Default: 30

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.daemon.enable

Whether to let the nslcd daemon (nss-pam-ldapd) handle the LDAP lookups for NSS and PAM. This can improve performance, and if you need to bind to the LDAP server with a password, it increases security, since only the nslcd user needs to have access to the bindpw file, not everyone that uses NSS and/or PAM. If this option is enabled, a local nscd user is created automatically, and the nslcd service is started automatically when the network get up.

Default: false

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.daemon.extraConfig

Extra configuration options that will be added verbatim at the end of the nslcd configuration file (nslcd.conf).

Default: ""

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.enable

Whether to enable authentication against an LDAP server.

Default: false

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.extraConfig

Extra configuration options that will be added verbatim at the end of the ldap configuration file (ldap.conf). If users.ldap.daemon is enabled, this configuration will not be used. In that case, use users.ldap.daemon.extraConfig instead.

Default: ""

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.server

The URL of the LDAP server.

Default: none

Example: "ldap://ldap.example.org/"

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.timeLimit

Specifies the time limit (in seconds) to use when performing searches. A value of zero (0), which is the default, is to wait indefinitely for searches to be completed.

Default: 0

Declared by:

<nixos/modules/config/ldap.nix>
users.ldap.useTLS

If enabled, use TLS (encryption) over an LDAP (port 389) connection. The alternative is to specify an LDAPS server (port 636) in users.ldap.server or to forego security.

Default: false

Declared by:

<nixos/modules/config/ldap.nix>
users.motd

Message of the day shown to users when they log in.

Default:

Example: "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178."

Declared by:

<nixos/modules/security/pam.nix>
virtualisation.libvirtd.enable

This option enables libvirtd, a daemon that manages virtual machines. You can interact with the daemon (e.g. to start or stop VMs) using the virsh command line tool, among others.

Default: false

Declared by:

<nixos/modules/virtualisation/libvirtd.nix>
virtualisation.libvirtd.enableKVM

This option enables support for QEMU/KVM in libvirtd.

Default: true

Declared by:

<nixos/modules/virtualisation/libvirtd.nix>
virtualisation.nova.enableSingleNode

This option enables Nova, also known as OpenStack Compute, a cloud computing system, as a single-machine installation. That is, all of Nova's components are enabled on this machine, using SQLite as Nova's database. This is useful for evaluating and experimenting with Nova. However, for a real cloud computing environment, you'll want to enable some of Nova's services on other machines, and use a database such as MySQL.

Default: false

Declared by:

<nixos/modules/virtualisation/nova.nix>
virtualisation.nova.extraConfig

Additional text appended to nova.conf, the main Nova configuration file.

Default: ""

Declared by:

<nixos/modules/virtualisation/nova.nix>
virtualisation.xen.bootParams

Parameters passed to the Xen hypervisor at boot time.

Default: ""

Declared by:

<nixos/modules/virtualisation/xen-dom0.nix>
virtualisation.xen.domain0MemorySize

Amount of memory (in MiB) allocated to Domain 0 on boot. If set to 0, all memory is assigned to Domain 0.

Default: 0

Example: 512

Declared by:

<nixos/modules/virtualisation/xen-dom0.nix>
virtualisation.xen.enable

Setting this option enables the Xen hypervisor, a virtualisation technology that allows multiple virtual machines, known as domains, to run concurrently on the physical machine. NixOS runs as the privileged Domain 0. This option requires a reboot to take effect.

Default: false

Declared by:

<nixos/modules/virtualisation/xen-dom0.nix>