mirror of
https://github.com/nix-community/home-manager
synced 2024-12-19 08:19:48 +01:00
d85bf67c48
Before it was not possible to place setting values outside the `General` section.
58 lines
2.4 KiB
Text
58 lines
2.4 KiB
Text
[[sec-release-21.11]]
|
||
== Release 21.11
|
||
|
||
This is the current unstable branch and the information in this
|
||
section is therefore not final.
|
||
|
||
[[sec-release-21.11-highlights]]
|
||
=== 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
|
||
https://systemd.io/[systemd] 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
|
||
https://nix-community.github.io/home-manager/[public documentation]
|
||
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
|
||
https://github.com/nix-community/home-manager/issues/1906[issue #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 <<opt-programs.rofi.theme>>. Keep in mind that the syntax is different so you may need to do some changes.
|
||
|
||
[[sec-release-21.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
|
||
"21.11" or later.
|
||
|
||
* The <<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 <<opt-programs.pet.settings>> option no longer place its value inside a `General` attribute.
|
||
For example, is you before had
|
||
+
|
||
[source,nix]
|
||
programs.pet.settings.editor = "nvim";
|
||
+
|
||
then you now need
|
||
+
|
||
[source,nix]
|
||
programs.pet.settings.General.editor = "nvim";
|