Home Explore Blog Models CI



nixpkgs

2nd chunk of `nixos/doc/manual/release-notes/rl-2009.section.md`
c0db5f29a587edcbffb4605a5aee4c72c6caf18926a0e2f20000000100000ff5
  - 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: NixOS 20.09 Module Enhancements, Repository Updates, and New Services
Summary
This section details further major module changes in NixOS 20.09, including the addition of `documentation.man.generateCaches`, replacement of `services.postfix.sslCACert` with `services.postfix.tlsTrustedAuthorities`, a new `programs.steam.enable` module, `hardware.logitech.lcd.enable` for Logitech LCDs, and GRUB password protection. Significant NixOS module system changes include support for freeform modules, the removal of the Perl test driver (migrating to Python), and automatic subordinate GID/UID mappings for non-root container tools. Additionally, `nixos-YY.MM` release branches have been moved to the main `nixpkgs` repository. The release also introduces 61 new modules and services, such as `hardware.system76.firmware-daemon.enable`, `hardware.uinput.enable`, `hardware.video.hidpi.enable`, `programs.hamster.enable`, `security.doas.enable`, `security.tpm2.enable`, `boot.initrd.network.openvpn.enable`, and `virtualisation.podman.enable`.