If you have (or see) a PR that removes package or has otherwise backwards incompatible changes, link it in here (together with a short sentence about what exactly is affected).
If you run on unstable and want to know in advance when something is about to break, subscribe to this thread.
If you have a breaking PR, give people enough time to react to it before merging.
I think we can also include module changes as well. Shouldn’t be too noisy.
To keep the noise low, please don’t discuss on this thread. Use the one liked above instead.
The Matrix-Synapse module is going to use RFC42 soon. That means many top-level options (services.matrix-synapse) will need to be moved below services.matrix-synapse.settings).
The use of mkRenamedOptionModule is unfortunately broken with types.submodule, so the migration consists of lots of mkRemovedOptionModules instead
The Home Assistant package is also going to use a RFC42 style configuration.
Due to the way that default values are now reflected as options below services.home-assistant.config, the declarative configuration by default is not null anymore.
That means that config needs to be explicitly set to null, if the config is not supposed to be managed declaratively. Otherwise the module will take full control of your configuration.yaml, and potentially delete your imperatively managed configuration.
Also two module options are going away:
autoExtraComponents is now enabled unconditionally
The settings applied through applyDefaultConfig are now explicit options with the same default values on the services.home-assistant.config option.
The taskserver module will no longer automatically open ports in the firewall
configuration. This is to allow end users to freely choose on which network
interface(s) they want to expose the service. The previous behaviour can be
restored by explicitly adding config.services.taskserver.listenPort to the
list networking.firewall.allowedTCPPorts.
I’m refactoring pkgs.makeDesktopEntry to use proper Nix types where possible. I’ve updated all the consumers in Nixpkgs itself, but user configs may need slight changes.
With the following change loading the dummy and bonding kernel driver stopped creating the dummy0 or bond0 interface automatically. Relying on this behaviour is problematic, because the first interface being created automatically creates an outlier. All following interfaces would need to be created manually anyway.
On top of that, since systemd-networkd does not currently recreate netdevs, precreating them like that will set default netdev options that may be undesirable, like the wrong bonding mode (balance-rr vs 802.3ad), which can’t be changed once the link exists.
I’m a bit late, but the GNOME 42 update was merged two days ago and finally hit unstable today. As usual, there are some backwards incompatible changes that require manual intervention. Also, some breakage has already been caught.
OpenLDAP was updated from the 2.4 series to 2.6.2 today. With it comes the removal of a few storage backends, like hdb, bdb and ndb. Before upgrading everyone should dump their database (slapcat -n 1) and make sure they have a working backup. If you’re looking for a new sane default, use mdb.
checkMeta is being enabled by default. Meta attributes have occasionally been checked for long enough so that this should not break much, but it still is a breaking change. This might slightly affect evaluation performance, but there is always the option to explicitly turn the check off.
PPD files in pkgs.cups-drv-rastertosag-gdi are now gzipped. If you refer to such a PPD file with its path (e.g. via the option hardware.printers.ensurePrinters) you will need to append .gz to the path. https://github.com/NixOS/nixpkgs/pull/133537
The firefox-wayland, thunderbird-wayland and librewolf-wayland attributes have been converted to aliases, because Wayland support has been enabled by default in the generic package versions.
Please migrate from the attributes above to firefox, thunderbird or librewolf.
The only relevant outcome from this change is that by default these programs will not use XWayland anymore, but instead Wayland on Wayland and X11 on X11.
This behaviour can be reverted at runtime by exporting MOZ_ENABLE_WAYLAND=0 in your environment.
I updated the cinnamon desktop to 5.6, please read the pull request for what is changed. If some of your settings are “changed” / “broken” after this update, reconfigure them in the cinnamon-settings app.
Services avahi, unifi-video, tmate-ssh-server and snapserver won’t open the firewall by default anymore. If you use them, either use openFirewall = true in the module, or open the according ports in your locally managed firewall.
fcitx4 has stoped maintaining on upstream and fcitx5 is released instead. To avoid misguiding a new user to use old version, fcitx4 should be removed from nixpkgs and nixos.