Home Explore Blog CI



nixpkgs

2nd chunk of `nixos/doc/manual/release-notes/rl-2009.section.md`
672ccb3faaaa923ba8544132cf3c8b351823c03502c17eab0000000100000ff5
  - The new option [documentation.man.generateCaches](options.html#opt-documentation.man.generateCaches) has been added to automatically generate the `man-db` caches, which are needed by utilities like `whatis` and `apropos`. The caches are generated during the build of the NixOS configuration: since this can be expensive when a large number of packages are installed, the feature is disabled by default.

  - `services.postfix.sslCACert` was replaced by `services.postfix.tlsTrustedAuthorities` which now defaults to system certificate authorities.

  - The various documented workarounds to use steam have been converted to a module. `programs.steam.enable` enables steam, controller support and the workarounds.

  - Support for built-in LCDs in various pieces of Logitech hardware (keyboards and USB speakers). `hardware.logitech.lcd.enable` enables support for all hardware supported by the [g15daemon project](https://sourceforge.net/projects/g15daemon/).

  - The GRUB module gained support for basic password protection, which allows to restrict non-default entries in the boot menu to one or more users. The users and passwords are defined via the option `boot.loader.grub.users`. Note: Password support is only available in GRUB version 2.

- NixOS module changes:

  - The NixOS module system now supports freeform modules as a mix between `types.attrsOf` and `types.submodule`. These allow you to explicitly declare a subset of options while still permitting definitions without an associated option. See [](#sec-freeform-modules) for how to use them.

  - Following its deprecation in 20.03, the Perl NixOS test driver has been removed. All remaining tests have been ported to the Python test framework. Code outside nixpkgs using `make-test.nix` or `testing.nix` needs to be ported to `make-test-python.nix` and `testing-python.nix` respectively.

  - Subordinate GID and UID mappings are now set up automatically for all normal users. This will make container tools like Podman work as non-root users out of the box.

- Starting with this release, the hydra-build-result `nixos-YY.MM` branches no longer exist in the [deprecated nixpkgs-channels repository](https://github.com/nixos/nixpkgs-channels). These branches are now in [the main nixpkgs repository](https://github.com/nixos/nixpkgs).

## New Services {#sec-release-20.09-new-services}

In addition to 1119 new, 118 updated, and 476 removed options; 61 new modules were added since the last release:

- Hardware:

  - [hardware.system76.firmware-daemon.enable](options.html#opt-hardware.system76.firmware-daemon.enable) adds easy support of system76 firmware

  - [hardware.uinput.enable](options.html#opt-hardware.uinput.enable) loads uinput kernel module

  - [hardware.video.hidpi.enable](options.html#opt-hardware.video.hidpi.enable) enable good defaults for HiDPI displays

  - [hardware.wooting.enable](options.html#opt-hardware.wooting.enable) support for Wooting keyboards

  - [hardware.xpadneo.enable](options.html#opt-hardware.xpadneo.enable) xpadneo driver for Xbox One wireless controllers

- Programs:

  - [programs.hamster.enable](options.html#opt-programs.hamster.enable) enable hamster time tracking

  - [programs.steam.enable](options.html#opt-programs.steam.enable) adds easy enablement of steam and related system configuration

- Security:

  - [security.doas.enable](options.html#opt-security.doas.enable) alternative to sudo, allows non-root users to execute commands as root

  - [security.tpm2.enable](options.html#opt-security.tpm2.enable) add Trusted Platform Module 2 support

- System:

  - [boot.initrd.network.openvpn.enable](options.html#opt-boot.initrd.network.openvpn.enable) start an OpenVPN client during initrd boot

- Virtualization:

  - [boot.enableContainers](options.html#opt-boot.enableContainers) use nixos-containers

  - [virtualisation.oci-containers.containers](options.html#opt-virtualisation.oci-containers.containers) run OCI (Docker) containers

  - [virtualisation.podman.enable](options.html#opt-virtualisation.podman.enable) daemonless container engine

Title: Release 20.09 - Module Changes and New Services
Summary
The NixOS 20.09 release includes changes to modules, such as the addition of `documentation.man.generateCaches` for man-db cache generation, the replacement of `services.postfix.sslCACert` with `services.postfix.tlsTrustedAuthorities`, and the introduction of a `programs.steam.enable` module for Steam. It also includes support for Logitech LCDs and GRUB password protection. Additionally, freeform modules are now supported, the Perl NixOS test driver has been removed, and subordinate GID/UID mappings are automatically set up. New services added include options for System76 firmware, Uinput kernel module, HiDPI defaults, Wooting keyboards, Xpadneo driver, Hamster time tracking, Steam, DOAS, TPM2, OpenVPN client during initrd boot, NixOS containers, OCI containers, and Podman.