10 KiB
Release 24.11 (“Vicuña”, 2024.11/??)
Highlights
-
Convenience options for
amdgpu, open source driver for Radeon cards, is now available underhardware.amdgpu. -
AMDVLK, AMD's open source Vulkan driver, is now available to be configured as
hardware.amdgpu.amdvlkoption. This also allows configuring runtime settings of AMDVLK and enabling experimental features.
New Services
-
Open-WebUI, a user-friendly WebUI for LLMs. Available as services.open-webui service.
-
Quickwit, sub-second search & analytics engine on cloud storage. Available as services.quickwit.
-
Flood, a beautiful WebUI for various torrent clients. Available as services.flood.
-
Renovate, a dependency updating tool for various git forges and language ecosystems. Available as services.renovate.
Backward Incompatibilities
-
transmissionpackage has been aliased with atracewarning totransmission_3. Since Transmission 4 has been released last year, and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. Theservices.transmission.packagedefaults totransmission_3as well because the upgrade can cause data loss in certain specific usage patterns (examples: #5153, #6796). Please make sure to back up to your data directory per your usage:transmission-gtk:~/.config/transmissiontransmission-daemonusing NixOS module:${config.services.transmission.home}/.config/transmission-daemon(defaults to/var/lib/transmission/.config/transmission-daemon)
-
androidenv.androidPkgs_9_0has been removed, and replaced withandroidenv.androidPkgsfor a more complete Android SDK including support for Android 9 and later. -
wstunnelhas had a major version upgrade that entailed rewriting the program in Rust. The module was updated to accommodate for breaking changes. Breaking changes to the module API were minimised as much as possible, but some were nonetheless inevitable due to changes in the upstream CLI. Certain options were moved from separate CLI arguments into the forward specifications, and those options were also removed from the module's API, please consult the wstunnel man page for more detail. Also be aware that if you have set additional options inservices.wstunnel.{clients,servers}.<name>.extraArgs, that those might have been removed or modified upstream. -
clang-tools_<version>packages have been moved intollvmPackages_<version>(i.e.clang-tools_18is nowllvmPackages_18.clang-tools).- For convenience, the top-level
clang-toolsattribute remains and is now bound tollvmPackages.clang-tools. - Top-level
clang_tools_<version>attributes are now aliases; these will be removed in a future release.
- For convenience, the top-level
-
nginxpackage no longer includesgdandgeoipdependencies. For enabling it, overridenginxpackage with the optionalswithImageFilterandwithGeoIP. -
opensshandopenssh_hpnare now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can use the newopensshWithKerberosandopenssh_hpnWithKerberosflavors (e.g.programs.ssh.package = pkgs.openssh_gssapi). -
security.ipa.ipaHostnamenow defaults to the value ofnetworking.fqdnif it is set, instead of the previous hardcoded default of${networking.hostName}.${security.ipa.domain}. -
nvimpagerwas updated to version 0.13.0, which changes the order of user and nvimpager settings: user commands in-cand--cmdnow override the respective default settings because they are executed later. -
services.forgejo.mailerPasswordFilehas been deprecated by the drop-in replacementservices.forgejo.secrets.mailer.PASSWD, which is part of the new free-formservices.forgejo.secretsoption.services.forgejo.secretsis a small wrapper over systemd'sLoadCredential=. It has the same structure (sections/keys) asservices.forgejo.settingsbut takes file paths that will be read before service startup instead of some plaintext value. -
services.ddclient.usehas been deprecated:ddclientnow supports separate IPv4 and IPv6 configuration. Useservices.ddclient.usev4andservices.ddclient.usev6instead. -
vaultwardenlost the capability to bind to privileged ports. If you rely on this behavior, override the systemd unit to allowCAP_NET_BIND_SERVICEin your local configuration. -
The Invoiceplane module now only accepts the structured
settingsoption.extraConfigis now removed. -
Legacy package
stalwart-mail_0_6was dropped, please note the manual upgrade process before changing the package topkgs.stalwart-mailinservices.stalwart-mail.package. -
androidndkPkgshas been updated toandroidndkPkgs_26. -
Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android.
-
haskell.lib.compose.justStaticExecutablesnow disallows references to GHC in the output by default, to alert users to closure size issues caused by #164630. See "Packaging Helpers" in the Haskell section of the Nixpkgs manual for information on working aroundoutput '...' is not allowed to refer to the following pathserrors caused by this change. -
The
stalwart-mailservice now runs under thestalwart-mailsystem user instead of a dynamically created one viaDynamicUser, to avoid automatic ownership changes on its large file store each time the service was started. This change requires to manually move the state directory from/var/lib/private/stalwart-mailto/var/lib/stalwart-mailand to change the ownership of the directory and its content tostalwart-mail. -
The
stalwart-mailmodule now uses RocksDB as the default storage backend forstateVersion≥ 24.11. (It was previously using SQLite for structured data and the filesystem for blobs). -
libe57formathas been updated to>= 3.0.0, which contains some backward-incompatible API changes. See the release note for more details. -
gitlabdeprecated support for runner registration tokens in GitLab 16.0, disabled their support in GitLab 17.0 and will ultimately remove it in GitLab 18.0, as outlined in the documentation. After upgrading to GitLab >= 17.0, it is possible to re-enable support for registration tokens in the UI until GitLab 18.0. Refer to the manual on using registration tokens after GitLab 17.0. GitLab administrators should migrate to the new runner registration workflow with runner authentication tokens until the release of GitLab 18.0. -
zxwas updated to v8, which introduces several breaking changes. See the v8 changelog for more information. -
The
portunuspackage and service do not support weak password hashes anymore. If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing. Then, follow the instructions on the upstream release notes to upgrade all existing user accounts to strong password hashes. If you need to upgrade to 24.11 without having completed the migration, consider the security implications of weak password hashes on your user accounts, and add the following to your configuration:services.portunus.package = pkgs.portunus.override { libxcrypt = pkgs.libxcrypt-legacy; }; services.portunus.ldap.package = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }; -
keycloakwas updated to version 25, which introduces new hostname related options. See Upgrading Guide for instructions. -
The
tracypackage no longer works on X11, since it's moved to Wayland support, which is the intended default behavior by Tracy maintainers. X11 users have to switch to the new packagetracy-x11. -
The
services.prometheus.exporters.miniooption has been removed, as it's upstream implementation was broken and unmaintained. Minio now has built-in Prometheus metrics exposure, which can be used instead.
Other Notable Changes
-
hareHookhas been added as the language framework for Hare. From now on, it, not theharepackage, should be added tonativeBuildInputswhen building Hare programs. -
To facilitate dependency injection, the
imguipackage now builds a static archive using vcpkg' CMake rules. The derivation now installs "impl" headers selectively instead of by a wildcard. Useimgui.srcif you just want to access the unpacked sources.