aboutsummaryrefslogtreecommitdiff
path: root/home-manager/doc/release-notes/rl-2003.adoc
blob: fc1dcd7cfe2e124bda0e4f5a2785122823ceb580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[[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.