Home Explore Blog CI



nixpkgs

4th chunk of `nixos/doc/manual/release-notes/rl-1809.section.md`
3eef0dfd25cbbd0d9eee6e5b66965f21b6567f856fb35db20000000100000dec
  The ELK-6.3 stack now comes with [X-Pack by default](https://www.elastic.co/products/x-pack/open). Since X-Pack is licensed under the [Elastic License](https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE.txt) the ELK packages now have an unfree license. To use them you need to specify `allowUnfree = true;` in your nixpkgs configuration.

  Fortunately there is also a free variant of the ELK stack without X-Pack. The packages are available under the names: `elasticsearch-oss`, `logstash-oss` and `kibana-oss`.

- Options `boot.initrd.luks.devices.name.yubikey.ramfsMountPoint` `boot.initrd.luks.devices.name.yubikey.storage.mountPoint` were removed. `luksroot.nix` module never supported more than one YubiKey at a time anyway, hence those options never had any effect. You should be able to remove them from your config without any issues.

- `stdenv.system` and `system` in nixpkgs now refer to the host platform instead of the build platform. For native builds this is not change, let alone a breaking one. For cross builds, it is a breaking change, and `stdenv.buildPlatform.system` can be used instead for the old behavior. They should be using that anyways for clarity.

- Groups `kvm` and `render` are introduced now, as systemd requires them.

## Other Notable Changes {#sec-release-18.09-notable-changes}

- `dockerTools.pullImage` relies on image digest instead of image tag to download the image. The `sha256` of a pulled image has to be updated.

- `lib.attrNamesToStr` has been deprecated. Use more specific concatenation (`lib.concat(Map)StringsSep`) instead.

- `lib.addErrorContextToAttrs` has been deprecated. Use `builtins.addErrorContext` directly.

- `lib.showVal` has been deprecated. Use `lib.traceSeqN` instead.

- `lib.traceXMLVal` has been deprecated. Use `lib.traceValFn builtins.toXml` instead.

- `lib.traceXMLValMarked` has been deprecated. Use `lib.traceValFn (x: str + builtins.toXML x)` instead.

- The `pkgs` argument to NixOS modules can now be set directly using `nixpkgs.pkgs`. Previously, only the `system`, `config` and `overlays` arguments could be used to influence `pkgs`.

- A NixOS system can now be constructed more easily based on a preexisting invocation of Nixpkgs. For example:

  ```nix
  {
    inherit (pkgs.nixos {
      boot.loader.grub.enable = false;
      fileSystems."/".device = "/dev/xvda1";
    }) toplevel kernel initialRamdisk manual;
  }
  ```

  This benefits evaluation performance, lets you write Nixpkgs packages that depend on NixOS images and is consistent with a deployment architecture that would be centered around Nixpkgs overlays.

- `lib.traceValIfNot` has been deprecated. Use `if/then/else` and `lib.traceValSeq` instead.

- `lib.traceCallXml` has been deprecated. Please complain if you use the function regularly.

- The attribute `lib.nixpkgsVersion` has been deprecated in favor of `lib.version`. Please refer to the discussion in [NixOS/nixpkgs\#39416](https://github.com/NixOS/nixpkgs/pull/39416#discussion_r183845745) for further reference.

- `lib.recursiveUpdateUntil` was not acting according to its specification. It has been fixed to act according to the docstring, and a test has been added.

- The module for `security.dhparams` has two new options now:

  `security.dhparams.stateless`

  : Puts the generated Diffie-Hellman parameters into the Nix store instead of managing them in a stateful manner in `/var/lib/dhparams`.

  `security.dhparams.defaultBitSize`

  : The default bit size to use for the generated Diffie-Hellman parameters.

Title: NixOS 18.09: ELK Stack Licensing, System Changes, and Deprecations
Summary
This section covers changes in NixOS 18.09, including the licensing of the ELK stack (Elasticsearch, Logstash, Kibana) due to the inclusion of X-Pack, which requires setting 'allowUnfree = true;' or using the oss variants, the removal of certain YubiKey LUKS device options, the change of `stdenv.system` to refer to the host platform, the introduction of 'kvm' and 'render' groups, and the deprecation of several lib functions like `lib.attrNamesToStr` and `lib.traceValIfNot`. It also notes improvements to constructing NixOS systems based on Nixpkgs invocations, a fix to `lib.recursiveUpdateUntil`, and the introduction of new options for `security.dhparams`.