[[sec-release-22.11]]
== Release 22.11

This is the current unstable branch and the information in this section is therefore not final.

[[sec-release-22.11-highlights]]
=== Highlights

This release has the following notable changes:

* The <<opt-home.stateVersion>> option no longer has a default value.
It used to default to ``18.09'', which was the Home Manager version
that introduced the option. If your configuration does not explicitly
set this option then you need to add
+
[source,nix]
home.stateVersion = "18.09";
+
to your configuration.

* The Flake function `homeManagerConfiguration` has been simplified.
Specifically, the arguments
+
--
  - `configuration`,
  - `username`,
  - `homeDirectory`,
  - `stateVersion`,
  - `extraModules`, and
  - `system`
--
+
have been removed. Instead use the new `modules` argument, which
accepts a list of NixOS modules.
+
Further, the `pkgs` argument is now mandatory and should be set to
`nixpkgs.legacyPackages.${system}` where `nixpkgs` is the Nixpkgs
input of your choice.
+
For example, if your Flake currently contains
+
[source,nix]
----
homeManagerConfiguration {
  configuration = import ./home.nix;
  system = "x86_64-linux";
  username = "jdoe";
  homeDirectory = "/home/jdoe";
  stateVersion = "22.05";
  extraModules = [ ./some-extra-module.nix ];
}
----
+
then you can change it to
+
[source,nix]
----
homeManagerConfiguration {
  pkgs = nixpkgs.legacyPackages.${system};
  modules = [
    ./home.nix
    ./some-extra-module.nix
    {
      home = {
        username = "jdoe";
        homeDirectory = "/home/jdoe";
        stateVersion = "22.05";
      };
    }
  ];
}
----
+
Of course, you can move the assignment of <<opt-home.username>>,
<<opt-home.homeDirectory>>, and <<opt-home.stateVersion>> to some
other file or simply place them in your `home.nix`.

* The `services.picom` module has been refactored to use structural
settings.
+
As a result `services.picom.extraOptions` has been removed in favor of
<<opt-services.picom.settings>>. Also, `services.picom.blur*` were
removed since upstream changed the blur settings to be more flexible.
You can migrate the blur settings to use
<<opt-services.picom.settings>> instead.

* The `services.compton` module has been removed. It was deprecated in
release 20.03. Use `services.picom` instead.

[[sec-release-22.11-state-version-changes]]
=== State Version Changes

The state version in this release includes the changes below.
These changes are only active if the `home.stateVersion` option is set to "22.11" or later.

* The <<opt-services.mpd.musicDirectory>> option now defaults to the
value of <<opt-xdg.userDirs.music>> if <<opt-xdg.userDirs.enable>> is
enabled. Otherwise it is undefined and must be specified in the user
configuration.