Home Explore Blog Models CI



nixpkgs

6th chunk of `nixos/doc/manual/release-notes/rl-2003.section.md`
0ebb67ec1833d5606eae04f4e3fc9a4d740cbabdb409bfcb0000000100001075
- The httpd module no longer provides options to support serving web content without defining a virtual host. As a result of this the [services.httpd.logPerVirtualHost](options.html#opt-services.httpd.logPerVirtualHost) option now defaults to `true` instead of `false`. Please update your configuration to make use of [services.httpd.virtualHosts](options.html#opt-services.httpd.virtualHosts).

  The [services.httpd.virtualHosts.\<name\>](options.html#opt-services.httpd.virtualHosts) option has changed type from a list of submodules to an attribute set of submodules, better matching [services.nginx.virtualHosts.\<name\>](options.html#opt-services.nginx.virtualHosts).

  This change comes with the addition of the following options which mimic the functionality of their `nginx` counterparts: [services.httpd.virtualHosts.\<name\>.addSSL](options.html#opt-services.httpd.virtualHosts), [services.httpd.virtualHosts.\<name\>.forceSSL](options.html#opt-services.httpd.virtualHosts), [services.httpd.virtualHosts.\<name\>.onlySSL](options.html#opt-services.httpd.virtualHosts), [services.httpd.virtualHosts.\<name\>.enableACME](options.html#opt-services.httpd.virtualHosts), [services.httpd.virtualHosts.\<name\>.acmeRoot](options.html#opt-services.httpd.virtualHosts), and [services.httpd.virtualHosts.\<name\>.useACMEHost](options.html#opt-services.httpd.virtualHosts).

- For NixOS configuration options, the `loaOf` type has been deprecated and will be removed in a future release. In nixpkgs, options of this type will be changed to `attrsOf` instead. If you were using one of these in your configuration, you will see a warning suggesting what changes will be required.

  For example, [users.users](options.html#opt-users.users) is a `loaOf` option that is commonly used as follows:

  ```nix
  {
    users.users = [
      {
        name = "me";
        description = "My personal user.";
        isNormalUser = true;
      }
    ];
  }
  ```

  This should be rewritten by removing the list and using the value of `name` as the name of the attribute set:

  ```nix
  {
    users.users.me = {
      description = "My personal user.";
      isNormalUser = true;
    };
  }
  ```

  For more information on this change have look at these links: [issue \#1800](https://github.com/NixOS/nixpkgs/issues/1800), [PR \#63103](https://github.com/NixOS/nixpkgs/pull/63103).

- For NixOS modules, the types `types.submodule` and `types.submoduleWith` now support paths as allowed values, similar to how `imports` supports paths. Because of this, if you have a module that defines an option of type `either (submodule ...) path`, it will break since a path is now treated as the first type instead of the second. To fix this, change the type to `either path (submodule ...)`.

- The [Buildkite Agent](options.html#opt-services.buildkite-agents) module and corresponding packages have been updated to 3.x, and to support multiple instances of the agent running at the same time. This means you will have to rename `services.buildkite-agent` to `services.buildkite-agents.<name>`. Furthermore, the following options have been changed:

  - `services.buildkite-agent.meta-data` has been renamed to [services.buildkite-agents.\<name\>.tags](options.html#opt-services.buildkite-agents), to match upstreams naming for 3.x. Its type has also changed - it now accepts an attrset of strings.

  - The`services.buildkite-agent.openssh.publicKeyPath` option has been removed, as it's not necessary to deploy public keys to clone private repositories.

  - `services.buildkite-agent.openssh.privateKeyPath` has been renamed to [buildkite-agents.\<name\>.privateSshKeyPath](options.html#opt-services.buildkite-agents), as the whole `openssh` now only contained that single option.

  - [services.buildkite-agents.\<name\>.shell](options.html#opt-services.buildkite-agents) has been introduced, allowing to specify a custom shell to be used.

- The `citrix_workspace_19_3_0` package has been removed as it will be EOLed within the lifespan of 20.03. For further information, please refer to the [support and maintenance information](https://www.citrix.com/de-de/support/product-lifecycle/milestones/receiver.html) from upstream.

Title: NixOS 20.03: Configuration Refinements, Type System Updates, and Package Changes
Summary
This chunk details several significant updates in NixOS. The `httpd` module now mandates explicit virtual host definitions, changing the `virtualHosts` option type and adding Nginx-like SSL/ACME configuration options. The `loaOf` type for NixOS configuration options is deprecated in favor of `attrsOf`, requiring users to adapt their configurations (e.g., for `users.users`). Module developers using `types.submodule` or `types.submoduleWith` will find these now support paths, which might require reordering `either` type declarations. The Buildkite Agent module is updated to 3.x, supports multiple instances (renaming `services.buildkite-agent` to `services.buildkite-agents.<name>`), renames `meta-data` to `tags`, removes `openssh.publicKeyPath`, renames `privateKeyPath`, and introduces a `shell` option. Finally, the `citrix_workspace_19_3_0` package has been removed due to its impending End-of-Life.