home-manager/docs/release-notes/rl-2009.md
Viktor Kronvall 052d8a681f
docs: add release-notes as appendix
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)
2023-12-17 13:03:39 +01:00

113 lines
3.8 KiB
Markdown

# Release 20.09 {#sec-release-20.09}
The 20.09 release branch became the stable branch in late September,
2020.
## Highlights {#sec-release-20.09-highlights}
This release has the following notable changes:
- Nothing has happened.
## State Version Changes {#sec-release-20.09-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.09\" or later.
- The options [opt-home.homeDirectory](#opt-home.homeDirectory) and
[opt-home.username](#opt-home.username) no longer have default values and must
therefore be provided in your configuration. Previously their values
would default to the content of the environment variables `HOME` and
`USER`, respectively.
Further, the options [opt-xdg.cacheHome](#opt-xdg.cacheHome),
[opt-xdg.dataHome](#opt-xdg.dataHome) will no
longer be affected by the `XDG_CACHE_HOME`, `XDG_CONFIG_HOME`, and
`XDG_DATA_HOME` environment variables. They now unconditionally
default to
- `"${config.home.homeDirectory}/.cache"`,
- `"${config.home.homeDirectory}/.config"`, and
- `"${config.home.homeDirectory}/.local/share"`.
If you choose to switch to state version 20.09 then you must set
these options if you use non-default XDG base directory paths.
The initial configuration generated by
``` console
$ nix-shell '<home-manager>' -A install
```
will automatically include these options, when necessary.
- Git's `smtpEncryption` option is now set to `tls` only if both
[opt-accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) and
[opt-accounts.email.accounts._name_.smtp.tls.useStartTls](#opt-accounts.email.accounts._name_.smtp.tls.useStartTls) are
`true`. If only
[opt-accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) is
`true`, `ssl` is used instead.
- The `nixpkgs` module no longer references `<nixpkgs>`. Before it
would do so when building the `pkgs` module argument. Starting with
state version 20.09, the `pkgs` argument is instead built from the
same Nixpkgs that was used to initialize the Home Manager modules.
This is useful, for example, when using Home Manager within a Nix
Flake. If you want to keep using `<nixpkgs>` with state version ≥
20.09 then add
``` nix
_module.args.pkgsPath = <nixpkgs>;
```
to your Home Manager configuration.
- The options `wayland.windowManager.sway.config.bars` and
`opt-xsession.windowManager.i3.config.bars` have been changed so
that most of the suboptions are now nullable and default to `null`.
The default for these two options has been changed to manually set
the old defaults for each suboption. The overall effect is that if
the `bars` options is not set, then the default remains the same. On
the other hand, something like:
``` nix
bars = [ {
command = "waybar";
} ];
```
will now create the config:
bar {
swaybar_command waybar
}
instead of
bar {
font pango:monospace 8
mode dock
hidden_state hide
position bottom
status_command /nix/store/h7s6i9q1z5fxrlyyw5ls8vqxhf5bcs5a-i3status-2.13/bin/i3status
swaybar_command waybar
workspace_buttons yes
strip_workspace_numbers no
tray_output primary
colors {
background #000000
statusline #ffffff
separator #666666
focused_workspace #4c7899 #285577 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
binding_mode #2f343a #900000 #ffffff
}
}