Commit graph

2890 commits

Author SHA1 Message Date
Rickard Nilsson 3d93fb9243 xbmc: Use /var/run/lirc/lircd as lirc socket
The latest version of the lirc daemon uses /var/run/lirc/lircd, not
/dev/lircd that xbmc uses as default.
2013-04-03 23:16:27 +02:00
Shea Levy 1def5bad35 Revert "Use the new net.ifnames kernel command line flag to disable persistent interface names"
As @edolstra pointed out, this behavior is not equivalent to what we had
before as the kernel command line parameter won't take effect until the
next boot. Probably it's not likely that someone will make this change
and then add a network card before rebooting, but might as well support
that since we can.

This reverts commit f7563698df.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-04-03 07:37:04 -04:00
Eelco Dolstra ee29054da1 Create an empty /etc/resolv.conf to shut up nscd 2013-04-03 13:27:41 +02:00
Eelco Dolstra fef5a18587 Enable sudoedit 2013-04-03 13:27:41 +02:00
Peter Simons 0139f015be modules/config/networking.nix: strip trailing whitespace 2013-04-03 12:48:36 +02:00
Peter Simons e2eaae1155 Let resolvconf 'restart' the nscd service instead of 'reload'ing it.
Sometimes nscd starts up before a /etc/resolv.conf file has been written, and
apparently triggering a cache flush (reload) is not good enough to make it
recover from that problem. To remedy the issue, we restart the service instead.
See <https://github.com/NixOS/nixos/issues/34> for further details.
2013-04-03 12:48:25 +02:00
Pascal Wittmann c4b3b71917 Bitlbee: create homedir; do not use /etc/bitlbee.conf 2013-04-02 00:08:17 +02:00
Shea Levy cf3ef6a1fc Merge branch 'lighttpd' of git://github.com/bjornfor/nixos into upstream-master
Moves config file into the store rather than polluting etc, which has a
number of benefits

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-04-01 13:09:23 -04:00
Shea Levy f7563698df Use the new net.ifnames kernel command line flag to disable persistent interface names
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-04-01 07:03:00 -04:00
Shea Levy 863c6f2490 Fix missed kernel->kernelDev change
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-04-01 06:08:30 -04:00
Domen Kozar 969c577173 fixes #127 2013-03-31 21:18:57 +02:00
Bjørn Forsman 395bc5d05c lighttpd: restart service if config changes
Using /etc/lighttpd.conf "hides" the config file from NixOS so that it
will not automatically restart the service when its config file changes.
So don't do that.
2013-03-31 18:06:43 +02:00
Eelco Dolstra f40a38b2c8 Remove /etc lock files at boot time 2013-03-31 15:40:13 +02:00
Lluís Batlle i Rossell 86c1e10a43 Setting pam otpw *after* pam_unix, for dovecot failed auth messages.
I think it's nice that it first asks the usual password, and then offers the
otpw one if enabled. That enables dovecot to show the last pam prompt.

I also add the dovecot option for that.
2013-03-30 22:25:19 +01:00
Lluís Batlle i Rossell c53bd1b279 pam: adding otpw optional, default false 2013-03-30 21:06:23 +01:00
Pascal Wittmann 8d0a7cb6d2 Bitlbee: tabs to spaces 2013-03-29 12:51:47 +01:00
Pascal Wittmann e33af28567 Bitlbee: hardcode username and configdir; homedir == configdir 2013-03-29 12:37:06 +01:00
Pascal Wittmann 4af26d582c Bitlbee: updated for systemd; added more options like AuthMode 2013-03-29 10:28:54 +01:00
Eelco Dolstra fbde5e027e Sync after installing the boot loader
Previously we synced just before calling switch-to-configuration.
That prevents corruption of the Nix store, but it can leave the boot
loader configuration and kernel files in /boot corrupted.  So do the
sync after installing the boot loader.
2013-03-28 16:11:54 +01:00
Eelco Dolstra 9000fd81d5 Hack: force timers.target to be started
Usually timers.target is pulled in by basic.target, but we don't
restart basic.target.  So timers.target wouldn't be started when
coming from an older systemd.
2013-03-28 15:02:11 +01:00
Eelco Dolstra c2977f134e nix-gc.timer: Fix the start time 2013-03-28 13:35:07 +01:00
Eelco Dolstra 7ad91f31d6 Add support for systemd timers 2013-03-28 11:54:19 +01:00
Eelco Dolstra 9c3a31ff4c Clear /proc/sys/kernel/hotplug again
Otherwise the kernel will pointlessly try to invoke /sbin/hotplug all
the time.  Another feature lost in the systemd switch.
2013-03-27 23:03:37 +01:00
Eelco Dolstra c039e286b9 Set the kernel.poweroff_cmd sysctl
This allows Xen (and EC2) to power off an instance properly.  We had
this before (see aeb89fc753), but it got
lost in the systemd migration.
2013-03-27 23:03:37 +01:00
Eelco Dolstra f3bea050f8 Updates for systemd 198/199 2013-03-27 23:03:37 +01:00
Eelco Dolstra 8b9216fdcb Don't set the firmware path in 3 different places 2013-03-27 23:03:37 +01:00
Domen Kozar c52cb9bb65 add almir service 2013-03-27 11:47:28 +01:00
Shea Levy 6c6b0be503 iso_efi: Fix build
Thanks to mwc in irc for pointing it out

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-26 14:36:53 -04:00
Shea Levy 652e2ab610 "Maintain" the tested job so I get notifications when it fails
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-26 12:35:28 -04:00
Shea Levy 89dd7b0f69 Revert "Don't mount /nix/store ro if it's a mountpoint"
Now that nixUnstable supports remounting in the "/nix/store is a
mountpoint" case, this is no longer necessary.

This reverts commit f1d48aec43.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-26 12:20:06 -04:00
Eelco Dolstra 991a78dd8b Use nixUnstable 2013-03-26 15:58:38 +01:00
Lluis Batlle 8881d1a920 Fixing the system tarball for the sheevaplug 2013-03-25 21:57:18 +01:00
Eelco Dolstra 1568b6858d Use programs.sqlite from the NixOS channel 2013-03-25 14:14:55 +01:00
Mathijs Kwik b5e2ff4bed mongodb: v8 is the default javascript engine now 2013-03-25 08:10:36 +01:00
Eelco Dolstra cc6bd6d7bb Fix evaluation if driSupport32Bit is enabled on NVIDIA 2013-03-24 22:08:01 +01:00
Marc Weber bfc290421d When enabling wacom put xsetwacom in PATH.
I know that gnome/kde may have their own way to configure wacom tablets
2013-03-24 18:31:31 +01:00
Nicolas B. Pierron 8b2256686b Merge pull request #123 from MarcWeber/feed-upstream/toList
replace list by listOf using same style as for attrsOf
2013-03-23 16:21:21 -07:00
Domen Kozar b8a1ccd16a Add bacula service 2013-03-23 01:23:59 +01:00
Peter Simons c5ba924143 Revert "Add /run/nss to LD_LIBRARY_PATH".
Commit c948494342 exports too many shared
objects into the LD_LIBRARY_PATH, which causes problems with mplayer.
2013-03-21 11:25:25 +01:00
Peter Simons 83e7689d02 Merge pull request #107 from Davorak/fixXorgVMware
Fix Xorg-server on vmware inconjunction with
2013-03-21 03:18:05 -07:00
Rob Vermaas ef28e8e70e Add WorkingDirectory default configuration value for rsyslog. 2013-03-17 21:36:25 +01:00
Rob Vermaas 9a9b53aa9f Add module for rsyslog. Although rsyslog is supposed to be a drop-in
replacement for sysklogd, it lacks some support for certain arguments
used in the default syslog module of NixOS.
2013-03-15 12:55:49 +01:00
Rickard Nilsson be698e93a4 Merge hardware.pulseaudio and services.pulseaudio
More specifically, this removes services.pulseaudio and adds the option
hardware.pulseaudio.systemWide which defaults to false but can be used to turn
on the system-wide PulseAudio server (previously defined in
services.pulseaudio). Since the two PulseAudio modes are mutually exclusive
anyway (maybe not strictly true, but I don't think is a good idea combining
them) its nicer to be able to reuse server and ALSA configuration between them.

Also the system-wide PulseAudio service has been adjusted to systemd, and a few
things has been fixed (there was no alsa.conf before, for example).

The bottomline is that people that was using hardware.pulseaudio before should
be able to keep doing it in exactly the same way, and people that used
services.pulseaudio must switch over to hardware.pulseaudio.systemWide instead.
2013-03-14 23:33:45 +01:00
Marc Weber f3e6b42258 replace list by listOf using same style as for attrsOf 2013-03-14 17:09:21 +01:00
Shea Levy 6e20c697cd alsa-store.service: Avoid unnecessary shell
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-13 19:58:35 -04:00
Shea Levy 7bbf034f93 alsa-store.service: Ensure /var/lib/alsa exists
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-13 19:48:58 -04:00
Peter Simons 8f679fef5b Merge pull request #116 from rickynils/nss
Add /run/nss to LD_LIBRARY_PATH
2013-03-13 02:57:32 -07:00
Rob Vermaas 28f3d02c29 symlink /etc/localtime was broken, /etc/localtime now points to a location in tzdata in stead of glibc 2013-03-12 10:56:43 +01:00
Shea Levy d67d3b5b6a extraModprobeConfig: set type to types.lines
This makes it so multiple definitions are merged by adding a newline
between each entry, to avoid the need to add a newline to the end of
every definition of extraModprobeConfig. See #119 for an example of an
issue this has caused.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-12 05:51:45 -04:00
Rickard Nilsson 78f3da65ec Revert "nslcd: Require network.target"
This reverts commit af152556e3.

The network target is probably not really required, needs
further testing.
2013-03-12 09:38:22 +01:00
Jack Cummings 60e408dd6b need a newline in extraModprobeConfig 2013-03-11 02:02:10 -07:00
Peter Simons 415ff3c39a smartd: change 'devices' option from "list of strings" to "list of attribute sets"
The smartd used to expect a list of devices to monitor. After this patch, it
expects a list of attribute sets, which may have two attributes:

 - device: path to the device (required)
 - options: smartd options to apply to this particular device (optional)

A concrete example configuration would be:

  services.smartd = {
    enable = true;
    devices = [ { device = "/dev/sda"; } { device = "/dev/sdb"; options = "-d sat"; } ];
  };

Furthermore, the config option 'deviceOpts' can be used to configure options
that are applied to *every* device.
2013-03-10 01:19:44 +01:00
Shea Levy 763835e770 Console key map: Make option uniq
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-09 06:27:27 -05:00
Vladimír Čunát a3d8e6eeba xfce: update the xinitrc path 2013-03-09 10:55:57 +01:00
Bjørn Forsman d89ba0697f 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.
2013-03-08 16:47:09 +01:00
Shea Levy f1d48aec43 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>
2013-03-08 10:42:34 -05:00
Shea Levy bc21ccc981 readonly-mountpoint: Remove unusued variable 2013-03-07 19:05:54 -05:00
Shea Levy 6d6d3d4228 readOnlyStore: Don't do a read-only bind-mount of an already read-only store.
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-07 19:00:21 -05:00
Rickard Nilsson c948494342 Add /run/nss to LD_LIBRARY_PATH
This fixes issues with glibc-binaries (getent for example) that can't
find NSS modules that are not distributed with glibc.

See this discussion:
http://comments.gmane.org/gmane.linux.distributions.nixos/9940
2013-03-07 16:54:42 +01:00
Shea Levy 35093b8a28 Silence a harmless warning on kernels without the 'path' parameter for firmware_class. 2013-03-05 20:33:41 -05:00
Rickard Nilsson af152556e3 nslcd: Require network.target 2013-03-05 19:45:27 +01:00
Mathijs Kwik 09680dec6a read-only-store functionality should apply even when /nix/store is on a separate filesystem 2013-03-04 22:46:06 +01:00
Mathijs Kwik 134750f6ac gummiboot: fix typo 2013-03-04 22:46:06 +01:00
Mathijs Kwik e05a37d736 rename deprecated option 2013-03-04 22:46:06 +01:00
Lluís Batlle i Rossell a9b3dbf8ea Fixing the vaapiDrivers; it didn't work, with only one driver 2013-03-04 22:35:33 +01:00
Shea Levy bfe6c13f09 D'oh! 2013-03-04 10:03:01 -05:00
Shea Levy 0a81724a88 systemd-sysctl.service: Don't depend on basic.target 2013-03-04 09:57:24 -05:00
Shea Levy 70378ad2b7 Add our firmware path to the in-kernel lookup path
Newer kernels (since torvalds/linux@abb139e75c) 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@2760284206 (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.
2013-03-04 09:42:03 -05:00
Rickard Nilsson 5737604b13 xfce: Set GTK_PATH to system.path/lib/gtk-2.0, so xfce can find all theme engines. 2013-03-04 10:51:33 +01:00
Bjørn Forsman 61c07244e8 Add lighttpd web server module 2013-03-03 20:16:44 +01:00
Domen Kozar 854a37aa7e add most basic nginx service 2013-03-03 12:12:17 +01:00
Eelco Dolstra d99fce2631 installation-cd-base.nix: Use boot.kernel.sysctl 2013-03-02 20:06:02 +01:00
Eelco Dolstra 7f7e18cfce Enable hardlink and symlink restrictions
This prevents many time-of-check-time-of-use security bugs.  Ubuntu
enables these by default as well so they shouldn't cause many
problems.
2013-03-02 20:06:02 +01:00
Eelco Dolstra 080bf5614f Add a module for setting sysctl parameters
This adds an option ‘boot.kernel.sysctl’ and generates a file
/etc/sysctl/nixos.conf read by systemd-sysctl.service.
2013-03-02 20:06:02 +01:00
Bjørn Forsman ec2378f07b systemd-logind: fix config file header: [Logind] => [Login]
man logind.conf clearly states that the header is [Login] (no 'd').
Without this fix services.logind.extraConfig does not take effect
because logind ignores the invalidly named section.
2013-03-02 19:45:47 +01:00
Shea Levy 7e10bcb4fd modules/testing/minimal-kernel: linuxPackagesFor no longer takes a 'self' argument 2013-03-02 09:10:58 -05:00
David Guibert ed6e0262e0 bring bridge interfaces up
The bridge is not becoming operational until it is brought into the UP state.
When the bridge is statically configured, this is mandatory.
2013-03-02 10:24:46 +01:00
Bjørn Forsman 08c9a0ad5e Add service.logind.extraConfig option
So that we can customize systemd-logind in configuration.nix.

Example:
  services.logind.extraConfig = "HandleLidSwitch=ignore";

See man logind.conf for available options.
2013-03-02 00:24:34 +01:00
Patrick Wheeler fc7c7ae91a Remove vmware comment 2013-03-01 11:05:00 -06:00
Patrick John Wheeler ea3eb991b7 Fix Xorg-server on vmware inconjunction with fix to
xf86videovmware[1].

Adds "vmware" to list of default options of
services.xerver.videoDrivers.

new default:
 [ "ati" "cirrus" "intel" "vesa" "vmware" ]

old default:
 [ "ati" "cirrus" "intel" "vesa" ]

[1] Pull request for xf86videovmware found at
https://github.com/NixOS/nixpkgs/pull/338.
2013-03-01 02:53:08 +01:00
Rickard Nilsson 568683316b mpd: Start service with exec 2013-02-28 19:26:19 +01:00
Lluís Batlle i Rossell 8a7b44a5e7 xfs wants 'crc32c', to be able to mount anything
Like btrfs.
2013-02-27 22:22:12 +01:00
Shea Levy 7ac425a22f Merge pull request #102 from iElectric/deluge
Add deluged and deluge.web services
2013-02-27 11:19:08 -08:00
Domen Kozar c50d7cbc8d use ExecStart instead of script, this way we get rid of systemd wrapper scripts 2013-02-27 20:13:14 +01:00
Domen Kozar bb89f2eb99 We don't need an explicit uid/gid. We also don't need web to depend
on deluged, since it can be started before it.
2013-02-27 20:06:10 +01:00
Shea Levy f3d4d24d6b dd-agent: Run as a separate user 2013-02-27 09:25:37 -05:00
Domen Kozar 71f4330d3f use path to deluge script correctly 2013-02-27 10:58:28 +01:00
Domen Kozar 99edd5d575 run deluge under deluge user/group 2013-02-26 22:53:52 +01:00
Eelco Dolstra 85188d19c5 nix-daemon: Restart when nix.conf changes 2013-02-26 03:15:29 +01:00
Domen Kozar 259fd8e34a don't use quotes when setting example to true 2013-02-25 22:39:47 +01:00
Rickard Nilsson cc3549fa34 Add ActiveMQ service 2013-02-25 16:50:10 +01:00
Rickard Nilsson e44021494c mongodb: Add initialisation service
The mongodb service runs as user mongodb, and therefore
the preStart-script has no permissions to set up mongodb
directories. This is solved by adding an initialisation
service that runs as root and just sets up the required
directories.
2013-02-25 09:04:31 +01:00
Domen Kozar a6f0d984fe Add deluge and deluge web services 2013-02-24 17:33:48 +01:00
Jack Cummings d5b6456f40 proper hostapd dependencies 2013-02-24 03:11:45 -08:00
Rickard Nilsson b0f33f2052 Add options for setting theme and setup-script in KDM 2013-02-22 09:34:36 +01:00
Rok Garbas f2a0710bee Merge pull request #97 from iElectric/mpd.mkdir
mkdir musicDirecotry for mpd before startnig the service
2013-02-21 20:00:48 -08:00
Domen Kozar a953ed57c9 mkdir musicDirecotry for mpd before startnig the service 2013-02-21 23:05:40 +01:00
Shea Levy e0f35b77d8 rename.nix: Remove annoying traces 2013-02-21 14:43:02 -05:00
Shea Levy 497aeabd23 systemd automatically mounts securityfs (if it's enabled) 2013-02-21 14:22:18 -05:00
Shea Levy fb7b7a2887 Update EFI installation CD to meet the requirements of the new gummiboot 2013-02-21 13:30:42 -05:00
Shea Levy 5f29704861 gummiboot-builder.py: Update to latest gummiboot 2013-02-21 12:40:33 -05:00
Eelco Dolstra 7b8958b6c5 Fix the boot.hardwareScan option
Fixes #95.
2013-02-21 11:32:51 +01:00
viric f43729298d Merge pull request #93 from aristidb/master
Implementation: services.xserver.driSupport32Bits: Intel support via mesa (#92)
2013-02-20 11:52:22 -08:00
Shea Levy e80cfe7d2d gummiboot-builder.py: Not rewriting entries probably doesn't save much time, and is problematic in the case where you delete the latest generation before your rebuild 2013-02-19 20:47:23 -05:00
Shea Levy 6c6d40452f Stage 1 mounts securityfs, so require that in the kernel 2013-02-19 20:47:23 -05:00
Vladimír Čunát 9de455cf2e Merge pull request #53 from jcumming/zfs.121204
add a zfs module
2013-02-19 11:35:20 -08:00
Vladimír Čunát 8e765363d5 Merge pull request #86 from maggesi/blcr-updates
blcr module: fix (and simplify)
2013-02-19 11:30:52 -08:00
Vladimír Čunát c2a213e559 Merge pull request #70 from cpages/master
Support driSupport32Bit for nvidia legacy 304
2013-02-19 11:29:14 -08:00
Aristid Breitkreuz 37be1c8982 x11/mesa: driSupport32Bit for the mesa implementation 2013-02-19 18:28:25 +01:00
Shea Levy 338ef594c7 Add boot.initrd.compressor option 2013-02-19 11:55:39 -05:00
Shea Levy b83be79adf default-websockify: Stop when reconfigured (i.e. new ports added/removed) 2013-02-18 11:55:46 -05:00
Shea Levy 762ea5c578 websockify: Add unit descriptions 2013-02-18 11:55:10 -05:00
Shea Levy 969fe07be6 Websockify: End descriptions with a period. 2013-02-18 11:51:33 -05:00
Eelco Dolstra 18e8724e64 Log the configuration when booting / switching 2013-02-18 15:39:47 +01:00
Eelco Dolstra 202340e3f6 nixos-rebuild build-vm: Override filesystems defined in the normal config 2013-02-18 15:39:47 +01:00
Peter Simons a5e443295b Merge pull request #90 from iElectric/xbmc
Add xbmc window manager
2013-02-18 01:31:43 -08:00
Peter Simons 09bfc9a53e modules/config/fonts.nix: revert "export GDFONTPATH in /etc/profile"
This reverts commit 2802538dc2. The idea
was good, but unfortunately $GDFONTPATH has a different format, i.e.
programs that use this variable don't descend into the directories
listed here like fontconfig does, so we cannot use the same values for
both settings.
2013-02-17 23:13:27 +01:00
Peter Simons 2802538dc2 modules/config/fonts.nix: export GDFONTPATH in /etc/profile
Set the environment variable GDFONTPATH to the list of directories where fonts
are expected to be installed. This is search path is used by same GD-based
applications, such as Gnuplot.

Alternatively, we could rely on fontconfig to achieve the same thing, i.e. by
running

  for n in $(fc-list | sed -r -e 's|^([^:]+):.*$|\1|'); do echo $(dirname "$n"); done | sort | uniq

to get that list at run-time, but the static approach feels more deterministic.
2013-02-17 22:47:08 +01:00
Domen Kozar 4a66331625 add xbmc window manager 2013-02-16 23:19:09 +01:00
Eelco Dolstra 233cc2fdaa Add a module for MiniDLNA
Now my NixOS machine can serve videos to my Bluray player!
2013-02-16 23:08:53 +01:00
Shea Levy 08fdc234c8 Fix manual build 2013-02-15 14:36:20 -05:00
Shea Levy 59a4df3159 Add websockify service 2013-02-14 21:50:41 -05:00
Shea Levy 3ad424632b Linux 3.6 has been EOL'd, hopefully 3.7 works for the fuloong2f 2013-02-14 14:37:00 -05:00
Shea Levy b669633d63 gummiboot-builder.py: Handle the case where there's no /etc/machine-id.
Bug hit by add^_ in IRC when installing from the livecd, as there's no /mnt/etc/machine-id
2013-02-12 10:47:52 -05:00
Eelco Dolstra 46b7ddf402 Add option to disable predictable network interface naming 2013-02-11 16:01:01 +01:00
Evgeny Egorochkin aaffb21f25 bluetooth: add the systemd unit needed for activation by recent bluez versions 2013-02-10 20:30:02 +02:00
Evgeny Egorochkin 06f90c6ffc Tor-privoxy: quick and dirty fix for activation under systemd 2013-02-10 20:29:17 +02:00
Marco Maggesi c593065585 Fix (and simplify) the blcr module. 2013-02-08 08:57:42 +01:00
Shea Levy 12d77805ef nixos-install: Unset NIX_REMOTE 2013-02-06 12:20:52 -05:00
Shea Levy 5e88e9b2ff nixos-install: Fully resolve symlinks in the paths to nixos/nixpkgs sources. 2013-02-05 10:37:50 -05:00
Shea Levy 98b7253b29 nixos-install: Append the default nixos-channel path to $NIX_PATH 2013-02-05 09:44:00 -05:00
Shea Levy 05f01685a0 D'oh 2013-02-05 06:39:18 -05:00
Eelco Dolstra 8ef4074811 Use nss_myhostname from systemd 2013-02-04 15:50:37 +01:00
Shea Levy 6199d4bb8e nixos-install: Don't grep nix.conf directly, use nix perl bindings instead 2013-02-04 09:44:32 -05:00
Shea Levy 99623e9940 nixos-install: If NIX_CONF_DIR is unset, use /etc/nix 2013-02-04 09:27:56 -05:00
Shea Levy e83f946f9e nixos-install: Respect the build-users-group of the host 2013-02-04 07:46:31 -05:00
Shea Levy 722d8497e7 nixos-install: Respect /home/shlevy/src:/nix/var/nix/profiles/per-user/root/channels/nixos:nixpkgs=/etc/nixos/nixpkgs:nixos=/etc/nixos/nixos:nixos-config=/etc/nixos/configuration.nix:services=/etc/nixos/services to find the nixos and nixpkgs sources, only copy the nixos channel if it exists 2013-02-04 07:46:31 -05:00
Shea Levy 9db243b4aa nixos-install: Respect host $NIX_CONF_DIR and don't assume nix.conf exists 2013-02-04 07:46:31 -05:00
Eelco Dolstra 979117b6b8 Selectively allow /etc files to be disabled
For instance, if you don't want NixOS to emit /etc/hosts, you
can say:

  environment.etc.hosts.enable = false;
2013-02-03 14:28:18 +01:00
Eelco Dolstra 1daab1ebf5 environment.etc: Add convenience option 'text'
This allows writing

  environment.etc.hosts.text = "127.0.0.1 localhost";

instead of

  environment.etc.hosts.source = pkgs.writeText "hosts" "127.0.0.1 localhost";
2013-02-03 14:28:18 +01:00
Eelco Dolstra ab238804b8 Turn environment.etc into an attribute set
This provides a more convenient syntax and allows easier overriding.

For example,

  environment.etc = singleton
    { target = "vconsole.conf";
      source = vconsoleConf;
    };

can now be written as

  environment.etc."vconsole.conf".source = vconsoleConf;
2013-02-03 14:28:18 +01:00
Eelco Dolstra 73152e1702 etc.nix: Fix style 2013-02-03 14:28:17 +01:00
Shea Levy 36088abb39 gummiboot-builder: Only read /etc/machine-id once per invocation 2013-02-02 21:16:12 -05:00
Shea Levy d57df55566 gummiboot-builder: When NIXOS_INSTALL_GRUB is set and efibootmgr is used, prepend the gummiboot entry to the boot entries list 2013-02-02 21:10:09 -05:00
Shea Levy c384ea26e4 Update iso_efi to use gummiboot 2013-02-02 00:54:05 -05:00
Shea Levy 3f37031c4f Merge branch 'gummiboot' into upstream-master 2013-02-02 00:04:31 -05:00
Shea Levy 02e209b139 Add gummiboot module.
We should probably eventually get rid of the old direct boot stub approach.
2013-02-02 00:03:45 -05:00
Eelco Dolstra 88e4569147 systemd: Allow whitespace in environment values 2013-02-01 13:40:44 +01:00
Lluís Batlle i Rossell 3c2f45695f Merge branch 'raspberrypi'
Adding support for the kind of bootloader in raspberrypi. Disable grub,
disable generationsDir, enable boot.loader.raspberrypi.

Usual layout expected: /boot being the first vfat the board reads blobs from.
2013-01-31 18:55:12 +01:00
Lluís Batlle i Rossell 9e63011176 Fixing the doublePatchelf in initrd; it should be for all ARM. 2013-01-31 18:55:06 +01:00
Lluís Batlle i Rossell d1a9ccbaf4 Changing ensureDir -> mkdir -p
(told by shlevy)
2013-01-30 20:58:00 +01:00
Lluís Batlle i Rossell a61154c0d4 Adding support of the Intel 2230 wireless card to nixos
It should go to the livecd, added to the all-hardware profile.
Yes, the card is called 2230, the ucode called 2030:
http://wireless.kernel.org/en/users/Drivers/iwlwifi
2013-01-30 20:51:49 +01:00
Lluís Batlle i Rossell d50b22e882 Adding vaapi drivers to nixos
Enabling nvidia and intel drivers by default. I tried both,
and they work fine with "vlc --ffmpeg-hw".
2013-01-30 20:40:55 +01:00
Eelco Dolstra 37985ad66b Make xz available by default
NixOS depends on xz anyway, so we may as well make it available.
2013-01-30 15:01:31 +01:00
Eelco Dolstra b89f941b20 Provide missing command suggestions, Ubuntu style
If the user tries to run a program that doesn't exist from Bash, the
program name is looked up in a database that maps to Nix package
names.  If it is found, we print out a message like:

  $ pdflatex
  The program ‘pdflatex’ is currently not installed. It is provided by
  several packages. You can install it by typing one of the following:
    nix-env -i tetex
    nix-env -i texlive-core

If the environment variable $NIX_AUTO_INSTALL is set, the command is
installed and executed automatically:

  $ hello --version
  The program ‘hello’ is currently not installed. It is provided by
  the package ‘hello’, which I will now install for you.
  installing `hello-2.8'
  hello (GNU hello) 2.8
  Copyright (C) 2011 Free Software Foundation, Inc. ...

To use this, you must currently manually put the SQLite programs
database in /var/lib/nixos/programs.sqlite.  In the future, this file
should be provided as part of the NixOS channel so it gets updated
automatically.  To get a test version:

  $ curl http://nixos.org/~eelco/programs.sqlite.xz | xz -d > /var/lib/nixos/programs.sqlite
2013-01-30 15:00:59 +01:00
Eelco Dolstra 2f97304833 Add an option ‘environment.interactiveShellInit’
This is like ‘environment.shellInit’, but only for interactive shells.
2013-01-30 14:05:53 +01:00
Shea Levy 41eaa4615f linuxPackages_2_6_32_xen is gone 2013-01-30 02:43:37 -05:00
Lluís Batlle i Rossell 2c27a41686 Fixing the init= in raspberrypi loader. 2013-01-29 20:08:38 +01:00
Lluís Batlle i Rossell fe85f4be6c Adding an untested bootloader for raspberrypi 2013-01-28 20:58:46 +00:00
Lluís Batlle i Rossell 39ccd50896 Fixing the doublePatchelf in initrd; it should be for all ARM. 2013-01-27 20:42:45 +00:00
Rickard Nilsson 45522d0806 mpd: Adjust service definition to systemd 2013-01-27 20:21:04 +01:00
Rickard Nilsson 27414c4656 nslcd: Adjust service definition to systemd 2013-01-27 20:07:37 +01:00
Eelco Dolstra 6d19777455 nixos-install: Handle /nix/var/nix/db being on a separate filesystem
This is the case on S3-backed EC2 instances.
2013-01-25 16:00:47 +01:00
Rickard Nilsson 8fe8ab7097 switch-to-configuration.pl: Fix parsing of comments in fstab, hash-tokens inside strings are not comments. 2013-01-25 15:54:45 +01:00
Rickard Nilsson e32e501435 activation: Don't use double quotes in boot loader warning message, it messes up perl system call 2013-01-25 15:47:38 +01:00
Shea Levy 28cf26d674 Remove unneeded /nix/rw-store creation when using readOnlyStore 2013-01-24 20:50:28 -05:00
Peter Simons d241240ba4 spamassassin: convert module to systemd 2013-01-24 18:37:25 +01:00
Eelco Dolstra 859d75186a Put the root FS of S3-backed instances on ext4 2013-01-24 18:14:13 +01:00
Eelco Dolstra 001ddd1799 Get the VirtualBox image generation to work again 2013-01-24 16:42:37 +01:00
Eelco Dolstra f0a1e5e356 Use systemd.targets to define ip-up 2013-01-24 15:40:56 +01:00
Eelco Dolstra 7464d850d3 Start a getty on tty1 again 2013-01-24 14:55:55 +01:00
Eelco Dolstra 685a901597 Fix description of powerManagement.cpuFreqGovernor 2013-01-24 13:55:59 +01:00
Eelco Dolstra 0930befd58 nix-daemon: Put back the --daemon flag
That flag doesn't do anything, except that it allows setting the
client PID in the process title of the children.
2013-01-24 13:34:47 +01:00
Eelco Dolstra 4ac619f6e5 Turn on nix.readOnlyStore again 2013-01-24 13:09:31 +01:00
Eelco Dolstra 8e1f243b30 xserver.nix: Check whether Polkit is enabled
Our X session script requires Polkit because it calls systemd-inhibit.
2013-01-24 13:06:32 +01:00
Eelco Dolstra bd328680ce Revert "Enable nix.readOnlyStore by default"
This reverts commit 683100666d.

Seems somebody (systemd? the kernel?) gets confused at power
events and remounts the filesystem containing /nix/store as
read-only.
2013-01-24 10:28:34 +01:00
Eelco Dolstra 683100666d Enable nix.readOnlyStore by default 2013-01-23 23:41:01 +01:00
Eelco Dolstra 75662a45d6 wpa_supplicant: Remove accidentally committed debug flag 2013-01-23 22:07:40 +01:00
Eelco Dolstra 6580588230 Set $HOME in stage-2
http://hydra.nixos.org/build/3900294
2013-01-23 20:16:33 +01:00
Eelco Dolstra 7a382679e4 Revert 434260c772
There is a bug in unionfs, but it only manifested itself because of
our accidental use of stage-1 libraries in stage-2.
2013-01-23 14:46:54 +01:00
Eelco Dolstra ef5108f560 Fix registering valid paths in VM tests
Commit 37b56574e2 revealed that the code
to get regInfo from /proc/cmdline was broken.  It only happened to
work because the kernel passes the command line to stage 1 through the
environment, so $regInfo was set anyway.
2013-01-23 14:35:52 +01:00
Eelco Dolstra 37b56574e2 stage-1: Clear environment before calling stage-2
In particular, stage-1's LD_LIBRARY_PATH should not infect stage-2.
Reported by viric.
2013-01-23 11:51:58 +01:00
Eelco Dolstra 314adf9648 nixos-rebuild: Don't rely on $SHELL
Fixes #74.
2013-01-23 11:31:48 +01:00
Rickard Nilsson 4eb2b099e6 Generate share/glib-2.0/schemas/gschemas.compiled in system-path.
This is required to create a gschemas.compiled file with content
from all gschemas. Otherwise, gschemas.compiled will be taken
from a random package, and gsettings programs will not find what
they are looking for. I had to add this to get NetworkManager-applet
to work. You'll also have to add share/glib-2.0 to the pathsToLink
list.

Generating this in the activation script (along with gtk icons
etc), is not the nicest solution. But I have no real idea on
how to modularise it.
2013-01-23 09:10:14 +01:00
Eelco Dolstra 2b8cb59399 Fix the fix of the description of the memtest86 option 2013-01-22 19:25:14 +01:00
Eelco Dolstra 434260c772 Work around a bug in unionfs
Unionfs cannot delete directories that contain open deleted files.
This broke a Nix test.

http://hydra.nixos.org/build/3843354
2013-01-22 18:18:05 +01:00
Eelco Dolstra ca4f93d3ae stage-1: Don't create a log file in $out 2013-01-22 18:18:05 +01:00
Lluís Batlle i Rossell 64ffca1e06 Fixing the description of memtest86. It's not memtest86+.
Noticed by abogani@freenode
2013-01-22 16:32:51 +01:00
Eelco Dolstra fc14a31f2c unionfs: Increase the open file limit
The default (1024) is way too low, e.g. to start KDE on the
installation CD.
2013-01-22 13:31:08 +01:00
Eelco Dolstra 4068648563 Blacklist the cirrusfb kernel module 2013-01-22 13:30:45 +01:00
Eelco Dolstra dd760bac9c Fix help message 2013-01-22 12:52:13 +01:00
Eelco Dolstra d75fa1fdc1 wpa_supplicant: Use the nl80211 and wext drivers by default
This should make wpa_supplicant work out of the box on newer and older
kernels.
2013-01-22 12:33:41 +01:00
Shea Levy 82fb34f409 Upstart -> systemd 2013-01-21 18:14:09 -05:00
Eelco Dolstra f2c2b7ace9 Don't start emergency mode on EC2 instances
EC2 instances don't have a console, so it's pointless to start
emergency mode if a mount fails.  (This happened to me with an
encrypted filesystem where the key wasn't sent on time using "charon
send-keys".)  Better to cross fingers and continue booting.
2013-01-21 21:01:48 +01:00
Eelco Dolstra 1aaa726e75 Merge remote-tracking branch 'origin/systemd' 2013-01-21 12:45:50 +01:00
Rickard Nilsson 1440e92ae8 Rename NetworkManager-init service to networkmanager-init 2013-01-17 13:37:54 +01:00
Rickard Nilsson c6bb091b5b Rewrite NetworkManager job to systemd service 2013-01-17 12:51:52 +01:00
Carles Pagès 3965f46085 Merge remote-tracking branch 'upstream/master' 2013-01-16 22:53:39 +01:00
Carles Pagès ab29ea3c37 Support driSupport32Bit for nvidia legacy 304.
I need this for steam to work with some older cards.
2013-01-16 22:49:21 +01:00
Eelco Dolstra 6e7b0a0c0e Fix ‘nixos-rebuikd dry-run’ 2013-01-16 16:11:51 +01:00
Eelco Dolstra e65a49f00f Add missing file 2013-01-16 16:06:50 +01:00
Eelco Dolstra f290808509 Set some missing types 2013-01-16 15:03:54 +01:00
Eelco Dolstra b35fe01f02 Set the NixOS version to something useful when building from Git 2013-01-16 14:40:41 +01:00
Eelco Dolstra ea358b4eae nixos-rebuild: Use ‘[ ... ]’ instead of ‘test’ 2013-01-16 13:21:59 +01:00
Eelco Dolstra 4d983d4955 Rename ‘system.build.systemd’ to ‘systemd.package’
This makes it cheaper to test a new systemd and is more consistent
with other modules.
2013-01-16 13:17:57 +01:00
Eelco Dolstra ae4e94d9ac Rename ‘boot.systemd’ to ‘systemd’
Suggested by Mathijs Kwik.  ‘boot.systemd’ is a misnomer because
systemd affects more than just booting.  And it saves some typing.
2013-01-16 12:33:18 +01:00
Eelco Dolstra 61f1df279f Remove bogus comment 2013-01-15 17:34:24 +01:00
Eelco Dolstra 0b399d8e49 Revert "Remove obsolete environment variables"
This reverts commit ac8080b83c.
2013-01-15 17:34:01 +01:00
Eelco Dolstra ac8080b83c Remove obsolete environment variables 2013-01-15 16:53:40 +01:00
Evgeny Egorochkin e201da376e torsocks: make 2 wrappers to torify apps with more and less circuit isolation. 2013-01-15 08:59:02 +02:00
Evgeny Egorochkin 123c73caf6 Torify: restore as an alternative to TorSocks due to lack of compatibility with apps like Kopete. 2013-01-15 07:34:53 +02:00
Evgeny Egorochkin 9437db0d88 Power management: add support for AMD CPUs 2013-01-14 09:07:35 +02:00
Evgeny Egorochkin 0aad75fe70 Tor: improve circuit isolation. By default apps are isolated better, with extra port available for web browsers to keep
performance as it used to be before this commit.
2013-01-14 07:37:13 +02:00
Evgeny Egorochkin 7e82b41220 LuksRoot: fix crypto module list. This one should finally work well. 2013-01-14 06:46:46 +02:00
Evgeny Egorochkin 4e2f9c8679 TOR: replace deprecated option 2013-01-14 06:38:11 +02:00
Evgeny Egorochkin 6ecf2c3a28 LuksRoot: use generic aes module which loads platform-optimized modules automagically. 2013-01-14 05:12:20 +02:00
Evgeny Egorochkin 0f11519d45 LuksRoot: add more modules to load by default and let users add more or override the list. Added every module
mentioned by most popular guides, benchmarks and discussions to make things just work.
2013-01-13 12:44:16 +02:00
Evgeny Egorochkin 8c710b4f23 LuksRoot: mitigate DMA key recovery attacks by default. 2013-01-13 11:04:26 +02:00
Eelco Dolstra 5685ee5446 Add/fix systemd unit descriptions 2013-01-10 13:59:41 +01:00
Eelco Dolstra 3bbbd62cbc Start dhcpcd/wpa_supplicant after systemd-udev-settle
This is necessary to prevent a race.  Udev 197 has a new naming scheme
for network devices, so it will rename (say) eth0 to eno0.  This fails
with "error changing net interface name eth0 to eno1: Device or
resource busy" if another process has opened the interface in the
meantime.
2013-01-10 13:46:34 +01:00
aszlig e844fed9db Merge pull request #60 from dysinger/virtualbox-guest-additions-vboxsf-group
VirtualBox Guest Additions: add vboxsf group (for automatic mounting of shared folders)
2013-01-09 17:02:04 -08:00
aszlig 80a381f521
Revert "xserver: Allow to add extra options ...
This reverts commit 1e741f1572b6793b861e2f9820015475ce339ae0 as it is
unnecessary according to @edolstra, because services.xserver.config from another
module will be merged into the configuration.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-01-10 01:43:44 +01:00
aszlig 0129717b17
xserver: Allow to set XRandR multi head layout.
This is currently only a very simple implementation which just recurses a list
of heads that get chained together to the right of the corresponding previous
item of the list.

If I forgot about something in the already existing configuration options,
please let me know or if this commit is useless or a duplicate, feel free to
revert. But by looking at implementation before this commit, I only see zaphod
and/or quirky xinerama-like configuration options.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-01-10 00:54:00 +01:00
Rob Vermaas 30586846ce Merge branch 'systemd' of github.com:NixOS/nixos into systemd 2013-01-09 23:01:56 +01:00
Eelco Dolstra 0b3d54d3cd Guard against portmap and rpcbind both being enabled 2013-01-09 22:53:44 +01:00
Eelco Dolstra c7b427fbca Give our kernel parameters a common prefix ("boot.*") 2013-01-09 22:53:44 +01:00
Eelco Dolstra 93a7a32bab initrd: Don't enable the root shell by default
Starting an authenticated root shell is a security hole, so don't do
it by default.  The kernel command line parameter
‘initrd.shell_on_fail’ restores the original.  (Of course, this only
improves security if you have a password on GRUB to prevent the kernel
command line from being edited by unauthorized users.)
2013-01-09 22:53:44 +01:00
Peter Simons 91bead9c18 modules/system/boot/loader/grub/memtest.nix: use 'memtest86plus' instead of 'memtest86'
The 'memtest86' package didn't work on any of my machines. 'memtest86plus', on
the other hand, seems to work just fine. Does anyone know why we keep the
seemingly older version around still?
2013-01-09 22:44:50 +01:00
aszlig e4d949ec88
xserver: Allow to add extra options to xorg config.
This is especially useful if you want to supply a default XRandR configuration,
where you need multiple "Monitor" sections in order to set properties for
specific CRTCs (if not running in zaphod mode).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-01-09 22:28:09 +01:00
Shea Levy 19127aa416 Add dd-agent module 2013-01-08 16:19:51 -05:00
Eelco Dolstra ac53b25f16 Remove handling of "debug2" and "S|s|single" kernel command line options
The "S|s|single" option is handled by systemd (starting
rescue.target).  And the rescue target basically removes the need for
a special debug shell.  (Also, there is "systemd.crash_shell=1" for
starting a shell if systemd crashes.)
2013-01-08 18:31:46 +01:00
Eelco Dolstra f4a3bdd6af Install {rescue,emergency}.{target,service}
Also, symlink kbrequest.target to rescue.target as suggested by the
systemd.special manpage.  This way, you can start a sulogin rescue
shell by pressing Alt+Up.
2013-01-08 18:24:06 +01:00
Eelco Dolstra 948dd8dd1a Use the upstream (but patched) sysinit.target 2013-01-08 17:26:51 +01:00
Eelco Dolstra 827e3dadc8 Don't special-case systemd-journald.service and systemd-user-sessions.service 2013-01-08 17:00:45 +01:00
Eelco Dolstra 884f58fa8a Include libsystemd-daemon.so.* in the initrd since dmsetup needs it
Strangely, this is only case after updating systemd to 197, I didn't
change lvm2...
2013-01-08 15:35:21 +01:00
Eelco Dolstra 81796c5baf Add a command ‘nixos-help’ that opens the NixOS manual in a browser 2013-01-08 02:13:33 +01:00
Eelco Dolstra 1541311f06 switch-to-configuration: Stop some target units to ensure proper dependency ordering
This is currently only done for network-interfaces.target, but
it should propably be done for most targets.
2013-01-07 16:06:45 +01:00
Eelco Dolstra 74bae63135 smartd: Remove unnecessary PartOf dependency 2013-01-07 16:01:22 +01:00
Eelco Dolstra da32722ade display-manager: Start after local-fs.target
We don't want users trying to log in while /home is still being
fsck'ed...
2013-01-07 16:00:10 +01:00
Eelco Dolstra 2e035ae042 Hack to prevent <interface>-cfg.service from breaking the default gateway
Restarting <interface>-cfg.service may cause the interface's IP
addresses to be flushed.  If the default gateway goes through that
interface, then the default gateway is deleted.  So we need to
restart network-setup.target.
2013-01-07 15:17:53 +01:00
Lluís Batlle i Rossell 38af598658 Simplifying defaultGatewayWindowSize according to Eelco suggestions 2013-01-06 23:20:48 +01:00
Lluís Batlle i Rossell 9a81748f20 Adding defaultGatewayWindowSize
This allows setting the max tcp window size for the route of
the default gateway (usually the internet access).

It works only for non-DHCP configurations by now.
2013-01-06 22:32:21 +01:00
Alexander Inyukhin 462a9f9fb0 Remove .conf extension from acpid config files
This should fix #51
2013-01-05 20:12:08 +00:00
Jan Malakhovski 4e64755b9d wacom: add USB tablet support
To be honest, it's more like "be less discriminating against USB tablets".
USB tablets usually get autodetected, device name is not necessary and defaulting to a serial touchscreen is a clear discrimination.
Unconditionally remapping buttons is generally not a good idea either.
Old defaults transformed into examples.
2013-01-05 19:38:23 +00:00
Eelco Dolstra 1aea92c4ce Ensure that ‘nix.gc.options’ is subject to shell expansion 2013-01-05 01:35:26 +01:00
Eelco Dolstra 96ba0ca283 For some units, use "systemctl restart" rather than "systemctl stop/start"
During a configuration switch, changed units are stopped in the old
configuration, then started in the new configuration (i.e. after
running the activation script and running "systemctl daemon-reload").
This ensures that services are stopped using the ExecStop/ExecStopPost
commands from the old configuration.

However, for some services it's undesirable to stop them; in
particular dhcpcd, which deconfigures its network interfaces when it
stops.  This is dangerous when doing remote upgrades - usually things
go right (especially because the switch script ignores SIGHUP), but
not always (see 9aa69885f0).  Likewise,
sshd should be kept running for as long as possible to prevent a
lock-out if the switch fails.

So the new option ‘stopIfChanged = false’ causes "systemctl restart"
to be used instead of "systemctl stop" followed by "systemctl start".
This is only proper for services that don't have stop commands.  (And
it might not handle dependencies properly in some cases, but I'm not
sure.)
2013-01-05 01:05:25 +01:00
Eelco Dolstra baac242a1f Run the garbage collector as a systemd service
Running it from systemd rather than cron has several advantages:
systemd ensures that only one instance runs at a time; the GC can be
manually started/stopped; and logging goes to the journal.

We still need cron to start the service at the right time, but
hopefully soon we can get rid of cron entirely (once systemd supports
starting a unit at a specific time).
2013-01-04 14:04:41 +01:00
Eelco Dolstra f701acfac0 nix-daemon: Start "nix-daemon" rather than "nix-worker --daemon" 2013-01-04 13:50:50 +01:00
Rob Vermaas 207d30b6f3 Fix VirtualBox image generation: switch-to-configuration in chroot needs /bin/sh 2013-01-04 10:58:56 +01:00
Eelco Dolstra 9aa69885f0 Don't do readlink() on every mount point when remounting /dev etc.
Doing so causes the activation script to hang if (say) an NFS mount
point is unreachable.
2013-01-02 18:28:44 +01:00