[[sec-release-20.09]] == Release 20.09 The 20.03 release branch became the stable branch in late September, 2020. [[sec-release-20.09-highlights]] === Highlights This release has the following notable changes: * Nothing has happened. [[sec-release-20.09-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.09" or later. * The options <> and <> 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 <>, <>, and <> 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 [source,console] $ nix-shell '' -A install will automatically include these options, when necessary. -- * Git's `smtpEncryption` option is now set to `tls` only if both <> and <> are `true`. If only <> is `true`, `ssl` is used instead. * The `nixpkgs` module no longer references ``. 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 `` with state version ≥ 20.09 then add + [source,nix] _module.args.pkgsPath = ; + 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: + -- [source,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 } } .... --