Merge pull request #115 from bjornfor/lighttpd-service

Add lighttpd web server module
xfce: Set GTK_PATH to system.path/lib/gtk-2.0, so xfce can find all theme engines.
Add our firmware path to the in-kernel lookup path

Newer kernels (since torvalds/linux@abb139e75c2cdbb955e840d6331cb5863e409d0e) try to
read firmware directly from the filesystem before falling back to a
userspace helper (udev) if firmware cannot be found (in even newer
kernels, the fallback path can be disabled altogether). By default, only
certain paths in /lib/firmware* are searched, so this was initially not
helpful for NixOS.

Since torvalds/linux@27602842060484b564cd725241b402b0bddfb830 (which,
based on the commit message, was implemented just for NixOS, go us!),
though, an extra path can be dynamically prepended to the search path.
So do that, in three ways:

1. Pass a kernel command line option in case the module is built-in
2. Add a line to modprobe.conf in case the module isn't yet loaded by
activation-time
3. Add an activation script to set the option in /sys in case the module
is already loaded by activation-time.
systemd-sysctl.service: Don't depend on basic.target
D'oh!
Fixing the vaapiDrivers; it didn't work, with only one driver
rename deprecated option
gummiboot: fix typo
read-only-store functionality should apply even when /nix/store is on a separate filesystem
nslcd: Require network.target
Silence a harmless warning on kernels without the 'path' parameter for firmware_class.
readOnlyStore: Don't do a read-only bind-mount of an already read-only store.

Signed-off-by: Shea Levy <shea@shealevy.com>
readonly-mountpoint: Remove unusued variable
Don't mount /nix/store ro if it's a mountpoint

In principle this could work, but the current remount logic in nix fails
to remount mountpoints that are root in their own filesystem (as would
be the case with bind-mounting a mountpoint over itself). nixos/nix#98
is aimed at fixing this.

Signed-off-by: Shea Levy <shea@shealevy.com>
Add Transmission BitTorrent service

Enable it with

  services.transmission.enable = true;

and optionally configure it

  services.transmission.settings =
    {
      download-dir = "/srv/torrents/";
      incomplete-dir = "/srv/torrents/.incomplete/";
      incomplete-dir-enabled = true;
      rpc-whitelist = "127.0.0.1,192.168.*.*";
      # for users in group "transmission" to have access to torrents
      umask = 2;
    };

The above settings are written/merged into settings.json each time the
service is about to start.