mirror of
https://github.com/nix-community/home-manager
synced 2024-11-27 13:39:46 +01:00
6e4b9af080
This change makes use of the `extend` function inside `lib` to inject a new `hm` field containing the Home Manager library functions. This simplifies use of the Home Manager library in the modules and reduces the risk of accidental infinite recursion. PR #994
83 lines
2.3 KiB
Text
83 lines
2.3 KiB
Text
[[sec-release-20.03]]
|
|
== Release 20.03 (unreleased)
|
|
|
|
This is the current unstable branch and the information in this
|
|
section is therefore not final.
|
|
|
|
[[sec-release-20.03-highlights]]
|
|
=== Highlights
|
|
|
|
This release has the following notable changes:
|
|
|
|
* Assigning a list to the <<opt-home.file>>, <<opt-xdg.configFile>>,
|
|
and <<opt-xdg.dataFile>> options is now deprecated and will produce a
|
|
warning message if used. Specifically, if your configuration currently
|
|
contains something like
|
|
+
|
|
[source,nix]
|
|
----
|
|
home.file = [
|
|
{
|
|
target = ".config/foo.txt";
|
|
text = "bar";
|
|
}
|
|
]
|
|
----
|
|
+
|
|
then it should be updated to instead use the equivalent attribute set form
|
|
+
|
|
[source,nix]
|
|
----
|
|
home.file = {
|
|
".config/foo.txt".text = "bar";
|
|
}
|
|
----
|
|
+
|
|
Support for the list form will be removed in Home Manager version
|
|
20.09.
|
|
|
|
* The `lib` function attribute given to modules is now enriched with
|
|
an attribute `hm` containing extra library functions specific for Home
|
|
Manager. More specifically, `lib.hm` is now the same as `config.lib`
|
|
and should be the preferred choice since it is more robust.
|
|
+
|
|
Therefore, if your configuration makes use of, for example,
|
|
`config.lib.dag` to create activation script blocks, it is recommended
|
|
to change to `lib.hm.dag`.
|
|
+
|
|
Note, in the unlikely case that you are
|
|
+
|
|
** using Home Manager's NixOS or nix-darwin module,
|
|
** have made your own Home Manager module containing an top-level
|
|
option named `config` or `options`, and
|
|
** assign to this option in your system configuration inside a plain
|
|
attribute set, i.e., without a function argument,
|
|
|
|
+
|
|
then you must update your configuration to perform the option
|
|
assignment inside a `config` attribute. For example, instead of
|
|
+
|
|
[source,nix]
|
|
----
|
|
home-manager.users.jane = { config = "foo"; };
|
|
----
|
|
+
|
|
use
|
|
+
|
|
[source,nix]
|
|
----
|
|
home-manager.users.jane = { config.config = "foo"; };
|
|
----
|
|
|
|
[[sec-release-20.03-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
|
|
"20.03" or later.
|
|
|
|
* The <<opt-programs.zsh.history.path>> option is no longer prepended
|
|
by `$HOME`, which allows specifying absolute paths, for example,
|
|
using the xdg module. Also, the default value is fixed to
|
|
`$HOME/.zsh_history` and `dotDir` path is not prepended to it
|
|
anymore.
|