mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 09:23:01 +00:00
Nix Packages collection & NixOS
9bfd864c59
Changes the evaluation order in that it evaluates assertions before warnings, so that eg. the following would work: { config, lib, ... }: { options.foo = lib.mkOption { type = lib.types.bool; default = true; description = "..."; }; options.bar = lib.mkOption { type = lib.types.bool; default = false; description = "..."; }; config = lib.mkMerge [ (lib.mkIf config.bar { system.build.bar = "foobar"; }) (lib.mkIf config.foo { assertions = lib.singleton { assertion = config.bar; message = "Bar needs to be enabled"; }; systemd.services.foo = { description = "Foo"; serviceConfig.ExecStart = config.system.build.bar; }; }) ]; } This is because the systemd module includes definitions for warnings that would trigger evaluation of the config.system.build.bar definition. The original pull request references a breakage due to the following: { services.nixosManual.enable = false; services.nixosManual.showManual = true; } However, changing the eval order between asserts and warnings clearly is a corner case here and it only happens because of the aforementioned usage of warnings in the systemd module and needs more discussion. Nevertheless, this is still useful because it lowers the evaluation time whenever an assertion is hit, which is a hard failure anyway. |
||
---|---|---|
.github | ||
doc | ||
lib | ||
maintainers | ||
nixos | ||
pkgs | ||
.dir-locals.el | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.version | ||
COPYING | ||
default.nix | ||
README.md |
Nixpkgs is a collection of packages for the Nix package manager. It is periodically built and tested by the Hydra build daemon as so-called channels. To get channel information via git, add nixpkgs-channels as a remote:
% git remote add channels https://github.com/NixOS/nixpkgs-channels.git
For stability and maximum binary package support, it is recommended to maintain
custom changes on top of one of the channels, e.g. nixos-18.03
for the latest
release and nixos-unstable
for the latest successful build of master:
% git remote update channels
% git rebase channels/nixos-18.03
For pull-requests, please rebase onto nixpkgs master
.
NixOS Linux distribution source code is located inside
nixos/
folder.
- NixOS installation instructions
- Documentation (Nix Expression Language chapter)
- Manual (How to write packages for Nix)
- Manual (NixOS)
- Community maintained wiki
- Continuous package builds for unstable/master
- Continuous package builds for 18.03 release
- Tests for unstable/master
- Tests for 18.03 release
Communication: