Commit graph

225 commits

Author SHA1 Message Date
Shea Levy c8f1a6ac1e Revert "Add nixosSubmodule option type"
Moving recent types work to a separate branch for now

This reverts commit ca1c5cfa8f.
2014-02-13 12:10:50 -05:00
Shea Levy 4fd825cc94 Revert "Add option type for a submodule with extra arguments"
Moving recent types work to a separate branch for now

This reverts commit 8764758044.
2014-02-13 12:10:50 -05:00
Shea Levy 220654e205 Revert "Add heterogeneousAttrsOf option type"
Moving recent types work to a separate branch for now

This reverts commit 3f70dabad3.
2014-02-13 12:10:50 -05:00
PkmX 5181713002 Add myself to maintainers and metadata to wqy-*. 2014-02-12 11:32:00 +08:00
cillianderoiste c75ce202e6 Merge pull request #1570 from rszibele/scite
Added SciTE 3.3.7.
2014-02-12 01:39:40 +01:00
Shea Levy 3f70dabad3 Add heterogeneousAttrsOf option type
It is parameterized by a function that takes a name and evaluates to the
option type for the attribute of that name. Together with
submoduleWithExtraArgs, this subsumes nixosSubmodule.
2014-02-11 14:59:24 -05:00
Shea Levy 8764758044 Add option type for a submodule with extra arguments 2014-02-11 14:39:46 -05:00
Shea Levy ca1c5cfa8f Add nixosSubmodule option type
Since NixOS modules expect special arguments, use a hack to provide them
2014-02-11 14:21:34 -05:00
Shea Levy 2deb26bd4a Pass lib to modules
Since mkOption, types, etc. are defined there, lib is really part of the interface
2014-02-11 13:51:54 -05:00
Shea Levy 84a7a09bc8 Try to improve naming of list elements in loaOf types
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08 15:20:25 -05:00
Eelco Dolstra de9ed78ab2 cleanSources: Filter *.o and *.so 2014-02-06 12:30:26 +01:00
Eelco Dolstra 34638ebc1e cleanSource: Support Mercurial 2014-02-03 23:44:11 +01:00
Jaka Hudoklin 2778c00bfe amdadl-sdk: set license to unfree (close #1647)
We cannot auto build amdadl-sdk on hydra, so setting license to unfree disable
auto builds. I also remove amdadl license, because it's irrelevant.

vcunat changed string license to attribute.
2014-01-31 18:39:21 +01:00
Linquize c27148d650 Add libcangjie 2014-01-30 17:33:34 +01:00
Moritz Maxeiner b0d2f0e3f0 Add myself as a maintainer for ykpers and libyubikey 2014-01-29 18:05:17 +01:00
rszibele 1d50967424 Added SciTE 3.3.7. 2014-01-23 10:35:02 +01:00
Peter Simons 43d59a9a3b lib/maintainers.nix: add missing entry for 'sprock' 2014-01-20 18:18:35 +01:00
Eelco Dolstra 8890492872 openjdk: Ugly hack to fix nix-env installation
Nix-env always wants to install all outputs of a derivation, but this
failed for openjdk/openjre because openjdk has some symlinks (such as
bin/java) to openjre.  Also, it prevents installing the openjre
without the openjdk.  So as a workaround, mess with the "outputs"
attribute to fool nix-env.

Also, give openjre a separate name and description.

Fixes #1535.
2014-01-20 14:58:09 +01:00
Georges Dubus 2a0f1cd6f1 rust: Add 2014-01-19 17:30:36 +01:00
Matej Cotman 7d4d3536f7 connman: new packages ConnMan v1.20 and connman-ui 2014-01-11 20:22:53 +01:00
Ian-Woo Kim 398ae63aa6 haskell-poppler package is added. 2014-01-08 17:32:15 +01:00
Tomasz Kontusz fc55c71fb8 Add platforms and maintainers to d-feet. 2014-01-06 00:48:23 +01:00
Evgeny Egorochkin bdfcda81e7 add lowPrioSet and hiPrioSet functions to enable changing of priorities of attrsets with packages such as kde. 2013-12-26 04:22:29 +02:00
Shea Levy 3c5971692a Simplify crossLists
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-12 14:01:48 -05:00
Shea Levy a42508a8ba Add function to call a function with a cross-product of lists of arguments
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-12 13:10:41 -05:00
Vladimír Čunát 50493458bd gnome3.gnome-menus: fix file path, add maintainer
Also some whitespace nitpicks.
2013-12-07 14:04:50 +01:00
Thomas Bereknyei f2581d2894 Add alienfx. Only tested with M11x Made some corrections. Added meta-data Use more of the original makefile 2 space indent 2013-11-24 15:19:54 +01:00
zimbatm d33f1a218e Add myself to the maintainers. Hello NixOS ! 2013-11-17 19:53:54 +01:00
Eelco Dolstra a8b693fef7 Remove backward-compatible implementations of some primops
Nixpkgs requires at least Nix 1.2 anyway, so these are now useless.
2013-11-12 13:50:45 +01:00
Eelco Dolstra 785eaf2cea Add some primops to lib 2013-11-12 13:48:30 +01:00
cillianderoiste ed67672aac Merge pull request #1181 from Zoomulator/master
New application: Milkytracker v0.90.85
2013-11-07 02:54:32 -08:00
Kim Simmons db2075b6d8 Added milkytracker: Compiles and runs. 2013-11-07 11:05:13 +01:00
Eelco Dolstra 0296defd0c Remove some unsupported platforms 2013-11-04 21:11:00 +01:00
Eelco Dolstra a61b800da5 Fix backward compatibility with Nix < 1.6
"with" used to be less lazy, so don't rely on that.  Also don't use
the "<" operator.
2013-10-30 19:12:25 +01:00
Eelco Dolstra be5d3a59dd Clean up some option examples 2013-10-30 18:47:43 +01:00
Eelco Dolstra 70a2c54527 Strictly check the arguments to mkOption
And fix various instances of bad arguments.
2013-10-30 15:35:09 +01:00
Eelco Dolstra 800f9c2037 Show correct position info for errors in submodules
E.g.

  The unique option `fileSystems./.device' is defined multiple times, in `/etc/nixos/configuration.nix' and `/etc/nixos/foo.nix'.

This requires passing file/value tuples to the merge functions.
2013-10-30 14:57:43 +01:00
Eelco Dolstra c7f7ceefd6 Export only the files of the active definitions 2013-10-30 14:57:42 +01:00
Eelco Dolstra 89b1dd8dde Fix environment.checkConfigurationOptions
This requires delaying the declaredness check until later, otherwise
we get an infinite recursion querying
environment.checkConfigurationOptions.
2013-10-29 16:18:23 +01:00
Eelco Dolstra 85b69834e7 fixMergeModules shouldn't check whether options are declared 2013-10-29 14:34:39 +01:00
Eelco Dolstra be33a68177 Add fixMergeModules back in
NixOps uses it.
2013-10-29 14:23:10 +01:00
Eelco Dolstra 9143910139 Support module keys that are paths 2013-10-29 14:15:33 +01:00
Eelco Dolstra 0afdb1e933 Add option type "str" for unique strings
An annoying and dangerous property of "types.string" is that it merges
multiple definitions by concatenating them, which almost never
produces a sensible result.  (Those options for which it does make
sense typically should use "types.lines" instead, and things only work
because the option definitions already end in a newline.)  Of course,
you can use "types.uniq types.string", but that's rather verbose, and
inconsistent with other basic types like "types.int".

Changing the behaviour of "types.string" to be unique by default is
not an option, given the large number of options that use it.  So
instead, we now have "types.str", which is equivalent to "types.uniq
types.string".
2013-10-29 13:45:30 +01:00
Eelco Dolstra adc1b38b85 Add a priority level for overrides in VM tests
Now that overriding fileSystems in qemu-vm.nix works again, it's
important that the VM tests that add additional file systems use the
same override priority.  Instead of using the same magic constant
everywhere, they can now use mkVMOverride.

http://hydra.nixos.org/build/6695561
2013-10-29 13:14:30 +01:00
Eelco Dolstra 3115addf4c Fix nixos-option
In particular, it no longer produces an "infinite recursion" error
when run with no arguments.
2013-10-28 22:45:58 +01:00
Eelco Dolstra c9dad37f01 Remove obsolete function addDefaultOptionValues 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 1b2006270f Support mkOverride in non-leaf nodes 2013-10-28 22:45:57 +01:00
Eelco Dolstra 1367074940 Allow imports in plain modules 2013-10-28 22:45:57 +01:00
Eelco Dolstra 1e24ce2a9b Remove debug code 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 44d6d88739 Fix option renaming 2013-10-28 22:45:56 +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 c263b5b284 Show error locations in submodules 2013-10-28 22:45:56 +01:00
Eelco Dolstra 89bd18b3af Fix manual generation 2013-10-28 22:45:56 +01:00
Eelco Dolstra 3bfbdcdfbf Remove dead code 2013-10-28 22:45:56 +01:00
Eelco Dolstra b6b14dae78 Fix comment 2013-10-28 22:45:55 +01:00
Eelco Dolstra b479dac8df Inline some functions on the critical path 2013-10-28 22:45:55 +01:00
Eelco Dolstra 9769671260 Reduce the number of allocations a bit 2013-10-28 22:45:55 +01:00
Eelco Dolstra 40913958a2 Keep position information for option declarations and definitions
Also, when an option definition fails to type-check, print the file
name of the module in which the offending definition occurs, e.g.

  error: user-thrown exception: The option value `boot.loader.grub.version' in `/etc/nixos/configuration.nix' is not a integer.
2013-10-28 22:45:55 +01:00
Eelco Dolstra cfab329437 Use isType instead of typeOf 2013-10-28 22:45:55 +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
Vladimir Still e329bb7877 maintainers: add vlstill. 2013-10-27 06:33:14 +02:00
Eelco Dolstra a4f1f4b367 Small cleanup 2013-10-24 14:49:59 +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 6de7886fb8 Slightly improve option type error messages 2013-10-23 20:08:22 +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
Michael Raskin 5bbb1f77b2 Adding SlimerJS — script-driven Gecko browser 2013-10-21 00:30:39 +04:00
Eelco Dolstra ad0568e64a mkEnableOption: Add a period at the end of the description 2013-10-17 14:29:51 +02:00
Eelco Dolstra 04690da3bd Rename newOptionAttrSetToDocList -> optionAttrSetToDocList 2013-10-17 14:09:05 +02:00
Eelco Dolstra 5fef92c4a0 Move pkgs/lib/ to lib/ 2013-10-10 13:28:21 +02:00