[[sec-release-21.05]] == Release 21.05 The 21.05 release branch became the stable branch in May, 2021. [[sec-release-21.05-highlights]] === Highlights This release has the following notable changes: * The <> option is now a list rather than an attribute set. To migrate, move the keys of the attrset into the list items' `invocation` keys. For example, + [source,nix] ---- programs.broot.verbs = { "p" = { execution = ":parent"; }; }; ---- + becomes + [source,nix] ---- programs.broot.verbs = [ { invocation = "p"; execution = ":parent"; } ]; ---- * The <> option has been changed to allow custom derivations. The following configuration is now possible: + [source,nix] ---- programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { extraMakeWrapperArgs = [ "--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth" ]; }); ---- + As a result of this change, <> is no longer the resulting derivation. Use the newly introduced `programs.mpv.finalPackage` instead. * The <> option is now an attribute set rather than a string. To migrate, move each line into the attribute set, removing the `rofi.` prefix from the keys. For example, + [source,nix] ---- programs.rofi.extraConfig = '' rofi.show-icons: true rofi.modi: drun,emoji,ssh ''; ---- + becomes + [source,nix] ---- programs.rofi.extraConfig = { show-icons = true; modi = "drun,emoji,ssh"; }; ---- + * The <> option now supports defining a theme using an attribute set, the following configuration is now possible: + [source,nix] ---- programs.rofi.theme = let # Necessary to avoid quoting non-string values inherit (config.lib.formats.rasi) mkLiteral; in { "@import" = "~/.config/rofi/theme.rasi"; "*" = { background-color = mkLiteral "#000000"; foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )"; border-color = mkLiteral "#FFFFFF"; width = 512; }; "#textbox-prompt-colon" = { expand = false; str = ":"; margin = mkLiteral "0px 0.3em 0em 0em"; text-color = mkLiteral "@foreground-color"; }; }; ---- * The `services.redshift.extraOptions` and `services.gammastep.extraOptions` options were removed in favor of <> and `services.gammastep.settings`, that are now an attribute set rather than a string. They also support new features not available before, for example: + [source,nix] ---- services.redshift = { dawnTime = "6:00-7:45"; duskTime = "18:35-20:15"; settings = { redshift = { gamma = 0.8; adjustment-method = "randr"; }; randr = { screen = 0; }; }; }; ---- + It is recommended to check either https://github.com/jonls/redshift/blob/master/redshift.conf.sample[redshift.conf.sample] or https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample[gammastep.conf.sample] for the available additional options in each program. * Specifying `programs.neomutt.binds.map` or `programs.neomutt.macros.map` as a single string is now deprecated in favor of specfiying it as a list of strings. * The `programs.neovim.configure` is deprecated in favor of other `programs.neovim` options; please use the other options at your disposal: + [source,nix] ---- configure.packages.*.opt -> programs.neovim.plugins = [ { plugin = ...; optional = true; }] configure.packages.*.start -> programs.neovim.plugins = [ { plugin = ...; }] configure.customRC -> programs.neovim.extraConfig ---- * Home Manager now respects the `NO_COLOR` environment variable as per https://no-color.org/[]. * Qt module now supports <> to specify a theme name and <> to specify a theme package. If you have set <> to `gnome`, a <> compatible with both Qt and Gtk is now required to be set. For instance: + [source,nix] ---- qt = { platformTheme = "gnome"; style = { name = "adwaita-dark"; package = pkgs.adwaita-qt; }; }; ---- * The library type `fontType` now has a `size` attribute in addition to `name`. For example: + [source,nix] ---- font = { name = "DejaVu Sans"; size = 8; }; ---- * The <> option is introduced to replace individual options in `programs.htop`. To migrate, set the htop options directly in <>. For example: + [source,nix] ---- programs.htop = { enabled = true; settings = { color_scheme = 5; delay = 15; highlight_base_name = 1; highlight_megabytes = 1; highlight_threads = 1; }; }; ---- [[sec-release-21.05-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 "21.05" or later. * The `newsboat` module now stores generated configuration in `$XDG_CONFIG_HOME/newsboat`.