Commit graph

1850 commits

Author SHA1 Message Date
Bjørn Forsman 8835d932b1 nixos-generate-config: add 'lib' to module template
The NixOS manual says modules have the following signature:
 { config, lib, pkgs, ... }:

But our generated configuration.nix file lacks the 'lib' part. Add it.
2014-11-17 17:13:36 +01:00
Eelco Dolstra b89c06722f options.json: Filter out "visible" and "internal" attributes 2014-11-17 15:17:40 +01:00
Eelco Dolstra 44d14e2264 options.json: Export as an object rather than a list
This makes it easier to look up options by name.
2014-11-17 15:17:39 +01:00
Eelco Dolstra 8b79cc00bf Manual: Don't depend on the JSON options 2014-11-17 15:17:39 +01:00
Eelco Dolstra 86165ca2ee Add a job for generating options.json
Useful for the nixos.org options search.
2014-11-17 00:33:03 +01:00
Ricardo M. Correia 389143d808 grsecurity: Update assertion msg to correct major kernel versions 2014-11-16 18:52:39 +01:00
Evgeny Egorochkin 599394162c update obsolete startOn values 2014-11-16 17:04:54 +02:00
Nikolay Amiantov a2eb7ca23c stage-1: fix hibernation for device node symlinks
closes #4995
2014-11-15 21:44:37 +02:00
Evgeny Egorochkin f151f4c816 KDE4: fix sound using the old gstreamer approach; the correct way would be to wrap each and every phonon client, or patch phonon's search path 2014-11-15 21:40:13 +02:00
Michael Raskin ba77c90161 Revert "cups: update package"
This reverts commit aa548af5a5.
2014-11-15 17:00:15 +03:00
Michael Raskin d86c047f9c Revert "cups-filters: add package"
This reverts commit f7ba33de56.
2014-11-15 16:59:58 +03:00
Michael Raskin a7c8d00b27 Merge pull request #4857 from abbradar/cups2
[WIP] Improve printing experience and update related packages
2014-11-15 15:18:35 +03:00
Aristid Breitkreuz 2fd7e5f39d ssh-agent: use types.nullOr 2014-11-15 12:33:01 +01:00
Aristid Breitkreuz d57110fabc ssh-agent: make key timeout optional 2014-11-15 12:13:25 +01:00
Aristid Breitkreuz d70336f37c limit the amount of time ssh-agent keeps a key (default: 1h) 2014-11-15 12:13:25 +01:00
wmertens 0b34eb1493 Allow starting a shell on stage 1 failure
When people copy the ISO to USB it can happen that the root device isn't known. Having a shell greatly improves that situation.
2014-11-15 00:14:26 +01:00
Luca Bruno e8adc8b5ec Drop GNOME 3.10 2014-11-14 22:46:37 +01:00
William A. Kennington III 826f5468ab nixos/unifi: Remove old ROOT.war links before relinking 2014-11-14 11:45:38 -08:00
Eelco Dolstra ca441636f1 Merge branch 'staging' 2014-11-14 16:00:23 +01:00
Vladimír Čunát b4af993c3f Merge branch 'master' into staging
Conflicts (simple):
	pkgs/development/lisp-modules/clwrapper/setup-hook.sh
2014-11-14 14:28:23 +01:00
Rene Donner 8bd2f6bfc1 some typos 2014-11-14 13:05:55 +01:00
Nikolay Amiantov f7ba33de56 cups-filters: add package 2014-11-14 13:51:26 +03:00
Nikolay Amiantov aa548af5a5 cups: update package 2014-11-14 13:51:26 +03:00
William A. Kennington III d0e15cc575 Merge pull request #4983 from bosu/fw-stop-fix
firewall: clear rpfilter on stop
2014-11-14 00:14:27 -08:00
Boris Sukholitko 53b24d0c95 firewall: clear rpfilter on stop 2014-11-14 09:07:18 +02:00
wmertens dda62c451c Re-enable ZFS in installer image
Hopefully #4807 fixes http://hydra.nixos.org/build/16883184
2014-11-13 10:31:15 +01:00
wmertens 5c19521c6e Merge pull request #4807 from wizeman/u/zfs-improvements
ZFS improvements
2014-11-13 10:26:30 +01:00
Shea Levy ba7c80eefb Fix init= stage 1 test 2014-11-12 18:25:03 -05:00
Moritz Ulrich e884dc32c5 Add local-fs.target to minidlna.
Minidlna fails to start if it wants to access a filesystem which isn't
mounted (yet).
2014-11-12 23:20:47 +01:00
Ricardo M. Correia 7a7bf8368e nixos-generate-config: Configure networking.hostId by default
The host id value gets generated by reading a 32-bit value from
/dev/urandom.

This makes programs that rely on a correct host id more reliable.

It also makes using ZFS more seamless, as you don't need to configure
the hostId manually; instead, it becomes part of your config from the
moment you install NixOS.
2014-11-12 22:31:50 +01:00
Ricardo M. Correia e9affb4274 nixos: Add system-wide option to set the hostid
The old boot.spl.hostid option was not working correctly due to an
upstream bug.

Instead, now we will create the /etc/hostid file so that all applications
(including the ZFS kernel modules, ZFS user-space applications and other
unrelated programs) pick-up the same system-wide host id. Note that glibc
(and by extension, the `hostid` program) also respect the host id configured in
/etc/hostid, if it exists.

The hostid option is now mandatory when using ZFS because otherwise, ZFS will
require you to force-import your ZFS pools if you want to use them, which is
undesirable because it disables some of the checks that ZFS does to make sure it
is safe to import a ZFS pool.

The /etc/hostid file must also exist when booting the initrd, before the SPL
kernel module is loaded, so that ZFS picks up the hostid correctly.

The complexity in creating the /etc/hostid file is due to having to
write the host ID as a 32-bit binary value, taking into account the
endianness of the machine, while using only shell commands and/or simple
utilities (to avoid exploding the size of the initrd).
2014-11-12 22:31:49 +01:00
Ricardo M. Correia 12e77fdc3f nixos/zfs: Improve the ZFS boot process
It turns out that the upstream systemd services that import ZFS pools contain
serious bugs. The first major problem is that importing pools fails if there
are no pools to import. The second major problem is that if a pool ends up in
/etc/zfs/zpool.cache but it disappears from the system (e.g. if you
reboot but during the reboot you unplug your ZFS-formatted USB pen drive),
then the import service will always fail and it will be impossible to get rid
of the pool from the cache (unless you manually delete the cache).

Also, the upstream service would always import all available ZFS pools every
boot, which may not be what is desired in some cases.

This commit will solve these problems in the following ways:

1. Ignore /etc/zfs/zpool.cache. This seems to be a major source of
issues, and also does not play well with NixOS's philosophy of
reproducible configurations. Instead, on every boot NixOS will try to import
the set of pools that are specified in its configuration.  This is also the
direction that upstream is moving towards.

2. Instead of trying to import all ZFS pools, only import those that are
actually necessary. NixOS will automatically determine these from the
config.fileSystems.* option. Also, the user can import any additional
pools every boot by adding them to the config.boot.zfs.extraPools
option, but this is only necessary if their filesystems are not
specified in config.fileSystems.*.

3. Added options to configure if ZFS should force-import ZFS pools. This may
currently be necessary, especially if your pools have not been correctly
imported with a proper host id configuration (which is probably true for 99% of
current NixOS ZFS users). Once host id configuration becomes mandatory when
using ZFS in NixOS and we are sure that most users have updated their
configurations and rebooted at least once, we should disable force-import by
default. Probably, this shouldn't be done before the next stable release.

WARNING: This commit may change the order in which your non-ZFS vs ZFS
filesystems are mounted.  To avoid this problem (now or in the future)
it is recommended that you set the 'mountpoint' property of your ZFS
filesystems to 'legacy', and that you manage them using
config.fileSystems, just like any other non-ZFS filesystem is usually
managed in NixOS.
2014-11-12 22:31:49 +01:00
Ricardo M. Correia 3b0fa60a98 zfs: Enable systemd
Also remove custom zfs services from NixOS.  This makes NixOS more aligned with
upstream.

More importantly, it prepares the way for NixOS to use ZED (the ZFS event
daemon). This service will automatically be enabled but it is not possible to
configure it via configuration.nix yet.
2014-11-12 22:31:49 +01:00
Michael Raskin 0d6306be4d Merge pull request #4950 from joachifm/dnscrypt-proxy
dnscrypt-proxy service
2014-11-13 00:25:05 +03:00
Michael Raskin 232f6bb4d2 Merge pull request #4929 from abbradar/prl-tools
Add packages and support for Parallel Guest Tools
2014-11-13 00:22:42 +03:00
Michael Raskin efe5eb4709 Merge pull request #4573 from fpletz/feature/lxc-configuration
Add support for global LXC config files
2014-11-13 00:14:46 +03:00
Eelco Dolstra 433a845081 Disable zfs in the ISO for now
It's giving zpool-import.service errors.

http://hydra.nixos.org/build/16883184
2014-11-12 15:32:21 +01:00
Longrin Wischnewski 490232bd2e apache-httpd: add mod_access_compat for compatibility with old httpd-22 configurations 2014-11-12 13:18:02 +01:00
Eelco Dolstra c5a7ff0afd Fix /dev/root udev rule in the ISO 2014-11-11 23:48:31 +01:00
Eelco Dolstra f33fa1b66b Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/boost/generic.nix
2014-11-11 23:48:08 +01:00
Nikolay Amiantov 32e18bc722 nixos/parallels-guest: add options 2014-11-12 01:26:23 +03:00
Joachim Fasting 52f0553209 Add dnscrypt-proxy service
The dnscrypt-proxy service relays regular DNS queries to
a DNSCrypt enabled upstream resolver.
The traffic between the client and the upstream resolver is
encrypted and authenticated, which may mitigate the risk of
MITM attacks and third-party snooping (assuming a trustworthy
upstream).

Though dnscrypt-proxy can run as a standalone DNS client,
the recommended setup is to use it as a forwarder for a
caching DNS client.
To use dnscrypt-proxy as a forwarder for dnsmasq, do

```nix
{
  # ...

  networking.nameservers = [ "127.0.0.1" ];
  networking.dhcpcd.extraConfig = "nohook resolv.conf";

  services.dnscrypt-proxy.enable = true;
  services.dnscrypt-proxy.localAddress = "127.0.0.1";
  services.dnscrypt-proxy.port = 40;

  services.dnsmasq.enable = true;
  services.dnsmasq.extraConfig = ''
    no-resolv
    server=127.0.0.1#40
    listen-address=127.0.0.1
  '';

  # ...
}
```
2014-11-11 22:47:19 +01:00
Luca Bruno b77d166b17 nixos: move bcache udev rule in a new bcache.nix module 2014-11-10 22:19:43 +01:00
Luca Bruno 31df4f70af nixos: Add boot.initrd.extraUdevRulesCommands 2014-11-10 22:19:43 +01:00
Luca Bruno 6af0d6974f Merge branch 'master' into staging 2014-11-10 10:03:52 +01:00
Brian McKenna a6bacd4d81 Add "light" package and setuid wrapper 2014-11-09 19:45:43 -07:00
Michael Raskin 6d0518fbdf Merge pull request #4282 from sztupi/crashplan
Crashplan

OK, it is an external service with unfree client, so let's declare that ensuring usability of the service is not our headache.
2014-11-09 18:09:33 +03:00
Edward Tjörnhammar c329e5bbd9 i2pd: added package, service 2014-11-09 09:55:35 +01:00
Emery Hemingway 67a2a58314 cjdns: service tweaks, new NixOS test 2014-11-08 23:39:02 +01:00
Nikolay Amiantov aeaa96f7e4 xfce4-volumed: add package (close #4628) 2014-11-08 21:48:51 +01:00