# 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 [home.homeDirectory](#opt-home.homeDirectory) and [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 [xdg.cacheHome](#opt-xdg.cacheHome), [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 '' -A install ``` will automatically include these options, when necessary. - Git's `smtpEncryption` option is now set to `tls` only if both [accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) and [accounts.email.accounts._name_.smtp.tls.useStartTls](#opt-accounts.email.accounts._name_.smtp.tls.useStartTls) are `true`. If only [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 ``. 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 ``` 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: ``` 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 } }