1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-27 20:29:47 +01:00
home-manager/docs/release-notes/rl-2111.md
2024-04-10 21:26:57 +02:00

81 lines
3.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Release 21.11 {#sec-release-21.11}
The 21.11 release branch became the stable branch in November, 2021.
## Highlights {#sec-release-21.11-highlights}
This release has the following notable changes:
- All Home Manager modules are now loaded on all platforms. With this
change you will get a more descriptive error message if you attempt
to enable a module that is incompatible with the host platform.
Previously, modules that were platform specific would only be loaded
on that particular platform. For example, a module defining a
[systemd](https://systemd.io/) service would only be loaded when the
host platform was Linux. This reduced evaluation times, simplified
the generated documentation, and made it impossible to accidentally
use modules that do not support the host platform.
While the above benefits are quite nice, avoiding module loads also
brings a few problems. For example, the [public
documentation](https://nix-community.github.io/home-manager/) will
only show the options available for Linux hosts and the
documentation cannot make references to options within modules that
are unavailable on some hosts. Finally, users who wish to use the
same configuration file for different platforms cannot do so, even
if the platform incompatible options are unused.
Ultimately, the benefits of loading all modules won and the behavior
has now changed. For associated discussion see
[issue #1906](https://github.com/nix-community/home-manager/issues/1906).
- Rofi version 1.7.0 removed many options that were used by the module
and replaced them with custom themes, which are more flexible and
powerful.
You can replicate your old configuration by moving those options to
[programs.rofi.theme](#opt-programs.rofi.theme). Keep in mind that the syntax is
different so you may need to do some changes.
- Taskwarrior version 2.6.0 respects XDG Specification for the config
file now. Option [programs.taskwarrior.config](#opt-programs.taskwarrior.config) and friends
now generate the config file at `$XDG_CONFIG_HOME/task/taskrc`
instead of `~/.taskrc`.
## State Version Changes {#sec-release-21.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
\"21.11\" or later.
- The [home.keyboard](#opt-home.keyboard) option now defaults to `null`, meaning
that Home Manager won't do any keyboard layout management. For
example, `setxkbmap` won't be run in X sessions.
- The [programs.pet.settings](#opt-programs.pet.settings) option no longer place its
value inside a `General` attribute. For example,
``` nix
programs.pet.settings.editor = "nvim";
```
becomes
``` nix
programs.pet.settings.General.editor = "nvim";
```
- The [programs.waybar.settings](#opt-programs.waybar.settings) option now allows defining
modules directly under [programs.waybar.settings](#opt-programs.waybar.settings). For
example,
``` nix
programs.waybar.settings.modules."custom/my-module" = { };
```
becomes
``` nix
programs.waybar.settings."custom/my-module" = { };
```