Home Explore Blog CI



nixpkgs

7th chunk of `nixos/doc/manual/release-notes/rl-2405.section.md`
30baaf23b0c288e61cfb55e72d179b1e2568705d2ddcf1030000000100001035
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`.

- [ydotool](https://github.com/ReimuNotMoe/ydotool), a generic command-line automation tool now has a module. Available as [programs.ydotool](#opt-programs.ydotool.enable).

- [your_spotify](https://github.com/Yooooomi/your_spotify), a self hosted Spotify tracking dashboard. Available as [services.your_spotify](#opt-services.your_spotify.enable)

- [RKE2](https://github.com/rancher/rke2), also known as RKE Government, is Rancher's next-generation Kubernetes distribution. Available as [services.rke2](#opt-services.rke2.enable).

## Backward Incompatibilities {#sec-release-24.05-incompatibilities}

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

- `akkoma` now requires explicitly setting the base URL for uploaded media (`settings."Pleroma.Upload".base_url`), as well as for the media proxy if enabled (`settings."Media"`).
  This is recommended to be a separate (sub)domain to the one Akkoma is hosted at.
  See [here](https://meta.akkoma.dev/t/akkoma-stable-2024-03-securer-i-barely-know-her/681#explicit-upload-and-media-proxy-domains-5) for more details.

- `appimageTools.wrapAppImage` now creates the binary at `$out/bin/${pname}` rather than `$out/bin/${pname}-${version}`, which will break downstream workarounds.

- `apptainer` and `singularity` now prioritize system-wide `PATH` over those constructed from dependent packages when searching for third-party utilities. The `PATH` to search for third-party utilities, known as `defaultPath` inside Apptainer/Singularity source code, is now constructed from the following sources, ordered by their precedence:
  - `systemBinPaths`, a new argument introduced to specify system-wide `"/**/bin"` directories.
  - The FHS `defaultPath` value set by Apptainer/Singularity developers, making Apptainer/Singularity work out of the box in FHS systems.
  - `defaultPathInputs`, a list of packages to form the fall-back `PATH`.

  This change is required to enable Sylabs SingularityCE (`singularity`) to run images, as it requires a `fusermount3` commant with the SUID bit set.

  `newuidmapPath` and `newgidmapPath` arguments are deprecated in favour of `systemBinPaths`. Their support will be removed in future releases.

  `programs.singularity.systemBinPaths` option is introduced to specify the `systemBinPaths` argument of the overridden package. It includes `"/run/wrappers/bin"` even if specified empty.

  `programs.singularity.enableFakeroot` option is deprecated and has no effect. `--fakeroot` support is now always enabled as long as `programs.singularity.systemBinPaths` is not forcefully overridden.

- `azure-cli` now has extension support. For example, to install the `aks-preview` extension, use

  ```nix
  environment.systemPackages = [
    (azure-cli.withExtensions [ azure-cli.extensions.aks-preview ])
  ];
  ```
  To make the `azure-cli` immutable and prevent clashes in case `azure-cli` is also installed via other package managers, some configuration files were moved into the derivation.
  This can be disabled by overriding `withImmutableConfig = false` when building `azure-cli`.

- `boot.supportedFilesystems` and `boot.initrd.supportedFilesystems` are now attribute sets instead of lists. Assignment from lists as done previously is still supported, but checking whether a filesystem is enabled must now by done using `supportedFilesystems.fs or false` instead of using `lib.elem "fs" supportedFilesystems` as was done previously.

- `buildGoModule` now throws an error when `vendorHash` is not specified. `vendorSha256`, deprecated in Nixpkgs 23.11, is now ignored and is no longer a `vendorHash` alias.

- `chromium` and `ungoogled-chromium` had a long-standing issue regarding Widevine DRM handling in nixpkgs fixed.
  `chromium` now no longer automatically downloads Widevine when encountering DRM protected content.
  To be able to play DRM protected content in `chromium`, you now have to explicitly opt-in as originally intended using `chromium.override { enableWideVine = true; }`.

Title: NixOS 24.05: New Services - Part 6 & Backward Incompatibilities
Summary
This section covers new NixOS 24.05 additions, including AMDGPU convenience options, ydotool (automation tool), your_spotify (Spotify dashboard), and RKE2 (Kubernetes distribution). It also details several backward incompatibilities: Akkoma requires explicit base URL settings for media, `appimageTools.wrapAppImage` creates binaries with a different name, Apptainer/Singularity prioritizes system-wide PATH, azure-cli has extension support with configuration file changes, `boot.supportedFilesystems` is now an attribute set, `buildGoModule` requires `vendorHash`, and Chromium's Widevine DRM handling requires explicit opt-in.