summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Show precise error messages in option merge failuresEelco Dolstra2013-10-28
| | | | | | | | | | | | | | 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.
* Support mkOverride in non-leaf nodesEelco Dolstra2013-10-28
|
* Allow imports in plain modulesEelco Dolstra2013-10-28
|
* Remove debug codeEelco Dolstra2013-10-28
|
* Fix evaluation of environment.variablesEelco Dolstra2013-10-28
|
* Fix NixOps evaluationEelco Dolstra2013-10-28
|
* Fix option renamingEelco Dolstra2013-10-28
|
* Remove uses of the "merge" option attributeEelco Dolstra2013-10-28
| | | | | It's redundant because you can (and should) specify an option type, or an apply function.
* Check for undeclared optionsEelco Dolstra2013-10-28
|
* Show error locations in submodulesEelco Dolstra2013-10-28
|
* Fix manual generationEelco Dolstra2013-10-28
|
* Remove dead codeEelco Dolstra2013-10-28
|
* Fix commentEelco Dolstra2013-10-28
|
* Inline some functions on the critical pathEelco Dolstra2013-10-28
|
* Reduce the number of allocations a bitEelco Dolstra2013-10-28
|
* Keep position information for option declarations and definitionsEelco Dolstra2013-10-28
| | | | | | | 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.
* Use isType instead of typeOfEelco Dolstra2013-10-28
|
* Remove uses of mkFixStrictnessEelco Dolstra2013-10-28
| | | | mkFixStrictness is no longer needed, woohoo!
* Big cleanup of the NixOS module systemEelco Dolstra2013-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* maintainers: add vlstill.Vladimir Still2013-10-27
|
* Small cleanupEelco Dolstra2013-10-24
|
* Manual: When building from the channel, link to the exact Git revisionEelco Dolstra2013-10-24
|
* Slightly improve option type error messagesEelco Dolstra2013-10-23
|
* Manual: Don't show obsolete/deprecated optionsEelco Dolstra2013-10-23
|
* Allow options to be marked as "internal"Eelco Dolstra2013-10-23
| | | | | This means they're not for end users. Currently they're filtered from the manual, but we could include them in a separate section.
* Adding SlimerJS — script-driven Gecko browserMichael Raskin2013-10-21
|
* mkEnableOption: Add a period at the end of the descriptionEelco Dolstra2013-10-17
|
* Rename newOptionAttrSetToDocList -> optionAttrSetToDocListEelco Dolstra2013-10-17
|
* Move pkgs/lib/ to lib/Eelco Dolstra2013-10-10