Home Explore Blog CI



nixpkgs

19th chunk of `nixos/doc/manual/release-notes/rl-2505.section.md`
10fa1c888efa6311454d100a89a2da400b3be7d2c902fbf80000000100000b71
- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.
  Note: these are intended for users not running a sound server like PulseAudio or PipeWire, but having ALSA as their only sound system.

- `services.k3s` now provides the `autoDeployCharts` option that allows to automatically deploy Helm charts via the k3s Helm controller.

- [Mattermost](#opt-services.mattermost.enable), a self-hosted chat collaboration platform supporting calls, playbooks, and boards, has been updated. It now has multiple versions, disabled telemetry, and a native frontend build in nixpkgs, removing all upstream prebuilt blobs.
  - Mattermost telemetry reporting is now disabled by default, though security update notifications are enabled. Look at [`services.mattermost.telemetry`](#opt-services.mattermost.telemetry.enableDiagnostics) for options to control this behavior.
  - The Mattermost module will produce eval warnings if a database password would end up in the Nix store, and recommend alternatives such as peer authentication or using the environment file.
  - We now support `mmctl` for Mattermost administration if both [](#opt-services.mattermost.socket.enable) and [](#opt-services.mattermost.socket.export) are set, which export the Mattermost control socket path into the system environment.

- `services.geoclue2` now uses [beaconDB](https://beacondb.net/) as a default geolocation service, replacing Mozilla Location Services which was [retired in June 2024](https://github.com/mozilla/ichnaea/issues/2065).

- `security.acme` now supports renewal using CSRs (Certificate Signing Request) through the options `security.acme.*.csr` and `security.acme.*.csrKey`.

- `programs.fzf.keybindings` now supports the fish shell.

- A toggle has been added under `users.users.<name>.enable` to allow toggling individual users conditionally. If set to false, the user account will not be created.

- New hooks were added:
  - `writableTmpDirAsHomeHook`: This setup hook ensures that the directory specified by the `HOME` environment variable is writable.
  - `addBinToPathHook`: This setup hook checks if the `bin/` directory exists in the `$out` output path and, if so, adds it to the `PATH` environment variable.
  - `gitSetupHook`: This setup hook sets up a valid Git configuration, including the `user.name` and `user.email` fields.

<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

## NixOS Wiki {#sec-release-25.05-wiki}

The official NixOS Wiki at [wiki.nixos.org](https://wiki.nixos.org) has new and improved articles, new contributors and some improvements in its dark theme and mobile readability.

```{=include=} sections
../release-notes-nixpkgs/rl-2505.section.md
```

Title: NixOS 25.05: Updates to ALSA, K3s, Mattermost, GeoClue2, ACME, FZF, User Management, Hooks, and NixOS Wiki
Summary
This section details updates to various components in NixOS 25.05. ALSA gains declarative user-space configuration. K3s now supports automated Helm chart deployment. Mattermost is updated with multiple versions, disabled telemetry (default), a native build, and warnings against password storage in the Nix store. GeoClue2 defaults to BeaconDB for geolocation. ACME now supports certificate renewal via CSRs. FZF keybindings now support Fish shell. User accounts can now be toggled with `users.users.<name>.enable`. New setup hooks are introduced. Finally, the NixOS Wiki has been updated with new articles and improvements.