[[sec-release-21.05]]
== Release 21.05

This is the current unstable branch and the information in this
section is therefore not final.

[[sec-release-21.05-highlights]]
=== Highlights

This release has the following notable changes:

* The <<opt-programs.broot.verbs>> 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 <<opt-programs.mpv.package>> 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, <<opt-programs.mpv.package>> is no longer the
resulting derivation. Use the newly introduced `programs.mpv.finalPackage`
instead.

* The <<opt-programs.rofi.extraConfig>> option is now an attrset rather
than a string. To migrate, move the each line into the attrset,
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 `services.redshift.extraOptions` and `services.gammastep.extraOptions`
options were removed in favor of <<opt-services.redshift.settings>> 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.

[[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.

* Nothing has happened.
