Home Explore Blog CI



nixpkgs

15th chunk of `nixos/doc/manual/release-notes/rl-2205.section.md`
dc11ddf5e554634149c67115b1da4f2d6b5bb6dadbc7eb400000000100000fcb
    * The script now uses a proper ini-file parser to parse systemd units. Some values are now only searched in one section instead of in the entire unit. This is only relevant for units that don't use the NixOS systemd moule.
        * `RefuseManualStop`, `X-OnlyManualStart`, `X-StopOnRemoval`, `X-StopOnReconfiguration` are only searched in the `[Unit]` section
        * `X-ReloadIfChanged`, `X-RestartIfChanged`, `X-StopIfChanged` are only searched in the `[Service]` section

- The `services.bookstack.cacheDir` option has been removed, since the
  cache directory is now handled by systemd.

- The `services.bookstack.extraConfig` option has been replaced by
  `services.bookstack.config` which implements a
  [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md)
  configuration.

- `lib.assertMsg` and `lib.assertOneOf` no longer return `false` if the passed condition is `false`, `throw`ing the given error message instead (which makes the resulting error message less cluttered). This will not impact the behaviour of code using these functions as intended, namely as top-level wrapper for `assert` conditions.

- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.

- The default version of `nextcloud` is **nextcloud24**. Please note that it's **not** possible to upgrade
  `nextcloud` across multiple major versions! This means it's e.g. not possible to upgrade from `nextcloud22`
  to `nextcloud24` in a single deploy and most `21.11` users will have to upgrade to `nextcloud23` first.

- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
  (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).

- `services.pipewire.enable` will default to enabling the WirePlumber session manager instead of pipewire-media-session.
  pipewire-media-session is deprecated by upstream and not recommended, but can still be manually enabled by setting
  `services.pipewire.media-session.enable` to `true` and `services.pipewire.wireplumber.enable` to `false`.

- `pkgs.makeDesktopItem` has been refactored to provide a more idiomatic API. Specifically:
  - All valid options as of FDO Desktop Entry specification version 1.4 can now be passed in as explicit arguments
  - `exec` can now be null, for entries that are not of type Application
  - `mimeType` argument is renamed to `mimeTypes` for consistency
  - `mimeTypes`, `categories`, `implements`, `keywords`, `onlyShowIn` and `notShowIn` take lists of strings instead of one string with semicolon separators
  - `extraDesktopEntries` renamed to `extraConfig` for consistency
  - Actions should now be provided as an attrset `actions`, the `Actions` line will be autogenerated.
  - `extraEntries` is removed.
  - Additional validation is added both at eval time and at build time.

  See the `vscode` package for a more detailed example.

- Existing `resholve*` functions have been renamed and nested under `pkgs.resholve`. Update uses to:
  - `resholvePackage` -> `resholve.mkDerivation`
  - `resholveScript` -> `resholve.writeScript`
  - `resholveScriptBin` -> `resholve.writeScriptBin`

- `pkgs.cosmopolitan` no longer provides the `cosmoc` command. It has been moved to `pkgs.cosmoc`.

- `pkgs.graalvmXX-ce` packages no longer provide support for Python/Ruby/WASM, instead focusing only in Java and Native Image Support. If you need to add support back, please see the `pkgs.graalvmCEPackages.mkGraal` function to create your own customized version of GraalVM with support for what you need.

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

## Other Notable Changes {#sec-release-22.05-notable-changes}

- The option [services.redis.servers](#opt-services.redis.servers) was added
  to support per-application `redis-server` which is more secure since Redis databases
  are only mere key prefixes without any configuration or ACL of their own.

Title: NixOS 22.05: Backward Incompatibilities and Notable Changes (Part 11)
Summary
This section covers further backward incompatibilities and notable changes in NixOS 22.05. It includes details on systemd unit parsing, changes to bookstack options, error handling in lib.assertMsg and lib.assertOneOf, vpnc using GnuTLS, nextcloud version update, vimPlugins.onedark-nvim update, pipewire session manager change, refactoring of pkgs.makeDesktopItem, renaming of resholve functions, removal of cosmoc from pkgs.cosmopolitan, removal of Python/Ruby/WASM support from pkgs.graalvmXX-ce, and addition of services.redis.servers for per-application redis-server.