Commit graph

121 commits

Author SHA1 Message Date
Eelco Dolstra f8a9eb9f00 Implement services.httpd.virtualHosts using the module system 2013-10-28 22:45:58 +01:00
Eelco Dolstra 30a36f9a80 Remove remaining uses of mkOverrideTemplate 2013-10-28 22:45:58 +01:00
Eelco Dolstra 621f4c42f5 Disable the OpenStack (Nova) module
This hasn't been worked on in over two years, so we shouldn't give the
impression that it works.
2013-10-28 22:45:58 +01:00
Eelco Dolstra 73f32d0375 Show precise error messages in option merge failures
For instance, if time.timeZone is defined multiple times, you now get
the error message:

  error: user-thrown exception: The unique option `time.timeZone' is defined multiple times, in `/etc/nixos/configurations/misc/eelco/x11vnc.nix' and `/etc/nixos/configuration.nix'.

while previously you got:

  error: user-thrown exception: Multiple definitions of string. Only one is allowed for this option.

and only an inspection of the stack trace gave a clue as to what
option caused the problem.
2013-10-28 22:45:57 +01:00
Eelco Dolstra dbefab9cf4 Do not allow multiple definitions of IP addresses etc. within an interface 2013-10-28 22:45:57 +01:00
Eelco Dolstra 92ef9d6b46 nixos-rebuild: Ignore failure from get-version-suffix 2013-10-28 22:45:57 +01:00
Eelco Dolstra 657c8d9ea7 Hack to work around the lack of isPath 2013-10-28 22:45:57 +01:00
Eelco Dolstra e28ea1239f Fix evaluation of environment.variables 2013-10-28 22:45:57 +01:00
Eelco Dolstra 9a8516438e Fix NixOps evaluation 2013-10-28 22:45:57 +01:00
Eelco Dolstra 259f7a93b1 Rename environment.nix -> nix.package 2013-10-28 22:45:57 +01:00
Eelco Dolstra d5047faede Remove uses of the "merge" option attribute
It's redundant because you can (and should) specify an option type, or
an apply function.
2013-10-28 22:45:56 +01:00
Eelco Dolstra f4a418761b Check for undeclared options 2013-10-28 22:45:56 +01:00
Eelco Dolstra a40583e7e4 Fix bogus mkOption types
Among others, systemd unit options were not being type-checked because
of this.  mkOption should really check its arguments better...
2013-10-28 22:45:56 +01:00
Eelco Dolstra 1408ac51a4 Add missing types 2013-10-28 22:45:56 +01:00
Eelco Dolstra 89bd18b3af Fix manual generation 2013-10-28 22:45:56 +01:00
Eelco Dolstra 7cf0e0bda8 Manual: Fix bad \" characters 2013-10-28 22:45:56 +01:00
Eelco Dolstra 4b1a9dd00b Remove uses of mkFixStrictness
mkFixStrictness is no longer needed, woohoo!
2013-10-28 22:45:55 +01:00
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
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 20150b1cee Ensure that the manual job gets build with the right revision info 2013-10-24 19:58:34 +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 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