Commit graph

133 commits

Author SHA1 Message Date
Eelco Dolstra
0e333688ce Big cleanup of the NixOS module system
The major changes are:

* The evaluation is now driven by the declared options.  In
  particular, this fixes the long-standing problem with lack of
  laziness of disabled option definitions.  Thus, a configuration like

    config = mkIf false {
      environment.systemPackages = throw "bla";
    };

  will now evaluate without throwing an error.  This also improves
  performance since we're not evaluating unused option definitions.

* The implementation of properties is greatly simplified.

* There is a new type constructor "submodule" that replaces
  "optionSet".  Unlike "optionSet", "submodule" gets its option
  declarations as an argument, making it more like "listOf" and other
  type constructors.  A typical use is:

    foo = mkOption {
      type = type.attrsOf (type.submodule (
        { config, ... }:
        { bar = mkOption { ... };
          xyzzy = mkOption { ... };
        }));
    };

  Existing uses of "optionSet" are automatically mapped to
  "submodule".

* Modules are now checked for unsupported attributes: you get an error
  if a module contains an attribute other than "config", "options" or
  "imports".

* The new implementation is faster and uses much less memory.
2013-10-28 22:45:55 +01:00
Eelco Dolstra
f4dadc5df8 rename.nix: Don't use the extraConfigs feature 2013-10-28 22:45:55 +01:00
Eelco Dolstra
2cc37c17d9 openvpn.nix: Improve types 2013-10-28 22:45:55 +01:00
Eelco Dolstra
5b8c4d2a7d Get rid of the only use of mkNotdef 2013-10-28 22:45:54 +01:00
Eelco Dolstra
335422f7be Get rid of the only use of mkDefaultValue 2013-10-28 22:45:54 +01:00
Eelco Dolstra
41c8f9598e Remove dead code 2013-10-28 22:45:54 +01:00
Jaka Hudoklin
d28a9619a1 nixos/redis: log to syslog by default 2013-10-28 18:18:24 +01:00
Jaka Hudoklin
b20c08d2cb nixos/redis: user set uid, make it compatible #1076 2013-10-28 18:18:13 +01:00
Jaka Hudoklin
c1ad189295 nixos/graphite: limit amount of log message defaults 2013-10-28 17:09:53 +01:00
Jaka Hudoklin
0229f45cf3 nixos/graphite: graphite requires pidfile set for startup 2013-10-28 17:08:33 +01:00
Michael Raskin
3022fff7db Adding Quantum Minigolf game 2013-10-28 00:09:46 +04:00
Evgeny Egorochkin
5580abd60a nixos manual: fix references to obsolete nixos repository 2013-10-27 08:53:47 +02:00
Evgeny Egorochkin
9cb699f587 nixos manual: replace /etc/nixos/nixos which no longer exists with more generic and more
correct /path/to/nixpkgs/nixos
2013-10-27 08:39:32 +02:00
Eelco Dolstra
f79a7359b0 firebird.nix: Fix a misplaced } that causes "users" to be outside "config" 2013-10-25 15:52:52 +02:00
Eelco Dolstra
72ca782044 Fix an assertion set in the wrong place 2013-10-25 15:47:30 +02:00
Eelco Dolstra
22db003f91 Add the NixOS manpages to the channel 2013-10-25 00:06:24 +02:00
Eelco Dolstra
b5cfb8c120 Put the manual in the NixOS channel 2013-10-24 20:06:02 +02:00
Eelco Dolstra
20150b1cee Ensure that the manual job gets build with the right revision info 2013-10-24 19:58:34 +02:00
Eelco Dolstra
d5af9bc583 Simplify manual generation 2013-10-24 19:56:16 +02:00
Eelco Dolstra
373c14614b Put the NixOS channel in an option 2013-10-24 15:09:00 +02:00
Jaka Hudoklin
ad3a0dd8fb nixos/libvirtd: fix remote ssh managment by adding netcat-openbsd in system packages
Virsh/virt-manager uses ssh to connect to master, there it expects openbsd netcat(which
has support for unix sockets) to be avalible, to make a tunnel.

Close #1087.
2013-10-24 11:01:43 +03:00
Eelco Dolstra
49e73ea117 nixos-generate-config: Don't suggest setting fileSystems in configuration.nix
It's already set in hardware-configuration.nix so this just confuses
people.

Also get rid of boot.initrd.kernelModules, since
hardware-configuration.nix is supposed to figure that out as well.
2013-10-24 05:28:37 +02:00
Eelco Dolstra
d49f141a79 Manual: When building from the channel, link to the exact Git revision 2013-10-24 02:03:10 +02:00
Eelco Dolstra
c4149c7b56 Fix evaluation error in the ISOs 2013-10-24 02:03:10 +02:00
Eelco Dolstra
a3777ba4f9 Remove dependencies on the Nixpkgs location 2013-10-23 20:08:23 +02:00
Eelco Dolstra
8166b12f0c Manual: Check that we don't depend on the Nixpkgs location 2013-10-23 20:08:23 +02:00
Eelco Dolstra
fad83a9560 Allow literalExample in subexpressions of examples 2013-10-23 20:08:22 +02:00
Eelco Dolstra
0def73f390 Manual: Don't depend on the absolute path of modules
This ensures that the manual has the same store path regardless of the
directory in which Nixpkgs is stored, and thus can be fetched from the
channel.
2013-10-23 20:08:22 +02:00
Eelco Dolstra
caf18545a4 Do show aliases in the manual. 2013-10-23 20:08:22 +02:00
Eelco Dolstra
b218c02a3c rename.nix: Don't use splitString
It's very slow.
2013-10-23 20:08:22 +02:00
Eelco Dolstra
8f4c5b05d5 Add a way to define obsolete options that have no replacement 2013-10-23 20:08:22 +02:00
Eelco Dolstra
b5d5afd99a Allow modules to define warnings to be shown during evaluation 2013-10-23 20:08:22 +02:00
Eelco Dolstra
0ec10c57df Fix style 2013-10-23 20:08:21 +02:00
Eelco Dolstra
ec0911ce7f Manual: Don't show obsolete/deprecated options 2013-10-23 20:08:21 +02:00
Eelco Dolstra
29014a47fb Allow options to be marked as "internal"
This means they're not for end users.  Currently they're filtered from
the manual, but we could include them in a separate section.
2013-10-23 20:08:21 +02:00
Eelco Dolstra
e29b51bfb1 Improve option description 2013-10-23 20:08:21 +02:00
Eelco Dolstra
441dcd68d8 Get rid of special-casing of system.path in the manual generation 2013-10-23 20:08:21 +02:00
aszlig
19b00be0a0
nixos-rebuild: Drop references to <nixos>.
Commit 31203732b3 dropped the reference to
<nixos> from NIX_PATH (nixos/modules/programs/environment.nix) and thus
prevents systems that are not using channels from rebuilding.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-10-23 17:16:17 +02:00
aszlig
f182fdf6ed
nixos-generate-config: Add --show-hardware-config.
So, we get the old behaviour of nixos-hardware-scane if we run the
following command:

nixos-generate-config --no-filesystems --show-hardware-config

This allows to use scripts in order to fetch NixOS specific hardware
information, without the need to duplicate code elsewhere.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-10-23 17:16:17 +02:00
aszlig
e2c546ce4a
nixos-generate-config: Remove unnecessary spaces.
The attributes swapDevices and imports add a space character after the
eqals sign, which is unnecessary. I know, I'm a pedantic douche bag but
it hurts my eyes.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-10-23 17:16:16 +02:00
aszlig
a546069ad3
nixos-generate-config: Add --no-filesystems flag.
This is to get back the old behavior of nixos-hardware-scan, which
didn't include fileSystems and swapDevices.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-10-23 17:16:16 +02:00
Domen Kožar
03e1178f80 munin: fix documentation links 2013-10-23 13:54:46 +02:00
Domen Kožar
897329fc47 Merge pull request #1106 from ocharles/redshift
services.redshift: New service
2013-10-22 01:33:08 -07:00
Oliver Charles
d792544802 services.redshift: New service 2013-10-22 09:03:06 +01:00
Marc Weber
6cb91c33d0 Firebird service:
* simplify directory layout
 * clean up option descriptions
 * let the user override Firebird package
 * create firebird user
 * clarify TODO comment

Close  # 1061.
2013-10-21 20:33:11 +03:00
Evgeny Egorochkin
d2f612b1b6 postgresql.authMethod: remove unimplemented option.
close #1104.
2013-10-21 19:26:26 +03:00
Evgeny Egorochkin
4732f59226 xserver.s3tcSupport: fix typo, improve description. 2013-10-21 19:11:17 +03:00
Eelco Dolstra
65277727e8 nix-gc: Revert to "script" instead of ExecStart
There is an assumption that cfg.options can contain shell code, so
ExecStart doesn't work here.
2013-10-21 11:22:27 +02:00
Eelco Dolstra
375c395d12 Manual: Update installation section 2013-10-21 10:50:08 +02:00
Domen Kožar
aeff0028bf munin: add test and fix a bug 2013-10-20 21:16:24 +02:00