052d8a681f
The release notes used to be an appendix in the manual. After
converting to markdown that appendix got lost. This commit
reintroduces the release notes into the manual.
(cherry picked from commit 6fc71dc563
)
114 lines
3.7 KiB
Markdown
114 lines
3.7 KiB
Markdown
# Release 22.11 {#sec-release-22.11}
|
|
|
|
The 22.11 release branch became the stable branch in November, 2022.
|
|
|
|
## Highlights {#sec-release-22.11-highlights}
|
|
|
|
This release has the following notable changes:
|
|
|
|
- The [opt-home.stateVersion](#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
|
|
|
|
``` 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
|
|
|
|
``` 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
|
|
|
|
``` 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.username),
|
|
[opt-home.stateVersion](#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](#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](#opt-services.picom.settings) instead.
|
|
|
|
- The `services.compton` module has been removed. It was deprecated in
|
|
release 20.03. Use `services.picom` instead.
|
|
|
|
## State Version Changes {#sec-release-22.11-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](#opt-services.mpd.musicDirectory) option now defaults to
|
|
the value of [opt-xdg.userDirs.music](#opt-xdg.userDirs.music) if
|
|
[opt-xdg.userDirs.enable](#opt-xdg.userDirs.enable) is enabled. Otherwise it is
|
|
undefined and must be specified in the user configuration.
|
|
|
|
- The activation script now resets `PATH` before running. Before, the
|
|
user's `PATH` environment variable would be used in the script and
|
|
this made it possible for commands in the activation script to run
|
|
arbitrary commands accessible to the user. We now restrict the
|
|
activation script to commands that are explicitly specified.
|
|
|
|
There is no official way to restore the old behavior. We attempt to
|
|
make the activation script as reproducible as possible and honoring
|
|
the user's `PATH` reduces reproducibility.
|
|
|
|
If you need to run a command in an activation script block then
|
|
refer to the command by its absolute command path, such as
|
|
`${pkgs.hello}/bin/hello`.
|