Home Explore Blog CI



nixpkgs

7th chunk of `nixos/doc/manual/release-notes/rl-2009.section.md`
e4e4f03e331b404ebea9b762a28e726a220fd4d2c11e74d70000000100000fcd
- Grafana is now built without support for phantomjs by default. Phantomjs support has been [deprecated in Grafana](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/) and the phantomjs project is [currently unmaintained](https://github.com/ariya/phantomjs/issues/15344#issue-302015362). It can still be enabled by providing `phantomJsSupport = true` to the package instantiation:

  ```nix
  {
    services.grafana.package = pkgs.grafana.overrideAttrs (oldAttrs: rec {
      phantomJsSupport = true;
    });
  }
  ```

- The [supybot](options.html#opt-services.supybot.enable) module now uses `/var/lib/supybot` as its default [stateDir](options.html#opt-services.supybot.stateDir) path if `stateVersion` is 20.09 or higher. It also enables a number of [systemd sandboxing options](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Sandboxing) which may possibly interfere with some plugins. If this is the case you can disable the options through attributes in `systemd.services.supybot.serviceConfig`.

- The `security.duosec.skey` option, which stored a secret in the nix store, has been replaced by a new [security.duosec.secretKeyFile](options.html#opt-security.duosec.secretKeyFile) option for better security.

  `security.duosec.ikey` has been renamed to [security.duosec.integrationKey](options.html#opt-security.duosec.integrationKey).

- `vmware` has been removed from the `services.x11.videoDrivers` defaults. For VMWare guests set `virtualisation.vmware.guest.enable` to `true` which will include the appropriate drivers.

- The initrd SSH support now uses OpenSSH rather than Dropbear to allow the use of Ed25519 keys and other OpenSSH-specific functionality. Host keys must now be in the OpenSSH format, and at least one pre-generated key must be specified.

  If you used the `boot.initrd.network.ssh.host*Key` options, you'll get an error explaining how to convert your host keys and migrate to the new `boot.initrd.network.ssh.hostKeys` option. Otherwise, if you don't have any host keys set, you'll need to generate some; see the `hostKeys` option documentation for instructions.

- Since this release there's an easy way to customize your PHP install to get a much smaller base PHP with only wanted extensions enabled. See the following snippet installing a smaller PHP with the extensions `imagick`, `opcache`, `pdo` and `pdo_mysql` loaded:

  ```nix
  {
    environment.systemPackages = [
      (pkgs.php.withExtensions
        ({ all, ... }: with all; [
          imagick
          opcache
          pdo
          pdo_mysql
        ])
      )
    ];
  }
  ```

  The default `php` attribute hasn't lost any extensions. The `opcache` extension has been added. All upstream PHP extensions are available under php.extensions.\<name?\>.

  All PHP `config` flags have been removed for the following reasons:

- The updated `php` attribute is now easily customizable to your liking by using `php.withExtensions` or `php.buildEnv` instead of writing config files or changing configure flags.

- The remaining configuration flags can now be set directly on the `php` attribute. For example, instead of

  ```nix
  php.override {
    config.php.embed = true;
    config.php.apxs2 = false;
  }
  ```

  you should now write

  ```nix
  php.override {
    embedSupport = true;
    apxs2Support = false;
  }
  ```

- The ACME module has been overhauled for simplicity and maintainability. Cert generation now implicitly uses the `acme` user, and the `security.acme.certs._name_.user` option has been removed. Instead, certificate access from other services is now managed through group permissions. The module no longer runs lego twice under certain conditions, and will correctly renew certificates if their configuration is changed. Services which reload nginx and httpd after certificate renewal are now properly configured too so you no longer have to do this manually if you are using HTTPS enabled virtual hosts. A mechanism for regenerating certs on demand has also been added and documented.

Title: Release 20.09 - More Upgrade Notes
Summary
This section details more upgrade notes for NixOS 20.09. It covers the removal of default phantomjs support in Grafana (with instructions to re-enable it), changes to the supybot module's default stateDir and systemd sandboxing, the replacement of `security.duosec.skey` with `security.duosec.secretKeyFile` for improved security, the renaming of `security.duosec.ikey` to `security.duosec.integrationKey`, the removal of `vmware` from default video drivers, updates to initrd SSH support to use OpenSSH, a simpler way to customize PHP installations using `php.withExtensions`, the removal of PHP `config` flags, and an overhaul of the ACME module for improved simplicity and maintainability.