195 lines
5.6 KiB
Markdown
195 lines
5.6 KiB
Markdown
|
# Release 21.05 {#sec-release-21.05}
|
||
|
|
||
|
The 21.05 release branch became the stable branch in May, 2021.
|
||
|
|
||
|
## Highlights {#sec-release-21.05-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,
|
||
|
|
||
|
``` nix
|
||
|
programs.broot.verbs = {
|
||
|
"p" = { execution = ":parent"; };
|
||
|
};
|
||
|
```
|
||
|
|
||
|
becomes
|
||
|
|
||
|
``` nix
|
||
|
programs.broot.verbs = [
|
||
|
{
|
||
|
invocation = "p";
|
||
|
execution = ":parent";
|
||
|
}
|
||
|
];
|
||
|
```
|
||
|
|
||
|
- The [programs.mpv.package](#opt-programs.mpv.package) option has been changed to
|
||
|
allow custom derivations. The following configuration is now
|
||
|
possible:
|
||
|
|
||
|
``` 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, [programs.mpv.package](#opt-programs.mpv.package) is no
|
||
|
longer the resulting derivation. Use the newly introduced
|
||
|
`programs.mpv.finalPackage` instead.
|
||
|
|
||
|
- The [programs.rofi.extraConfig](#opt-programs.rofi.extraConfig) 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,
|
||
|
|
||
|
``` nix
|
||
|
programs.rofi.extraConfig = ''
|
||
|
rofi.show-icons: true
|
||
|
rofi.modi: drun,emoji,ssh
|
||
|
'';
|
||
|
```
|
||
|
|
||
|
becomes
|
||
|
|
||
|
``` nix
|
||
|
programs.rofi.extraConfig = {
|
||
|
show-icons = true;
|
||
|
modi = "drun,emoji,ssh";
|
||
|
};
|
||
|
```
|
||
|
|
||
|
- The [programs.rofi.theme](#opt-programs.rofi.theme) option now supports defining a
|
||
|
theme using an attribute set, the following configuration is now
|
||
|
possible:
|
||
|
|
||
|
``` 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
|
||
|
[services.redshift.settings](#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:
|
||
|
|
||
|
``` 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
|
||
|
[redshift.conf.sample](https://github.com/jonls/redshift/blob/master/redshift.conf.sample)
|
||
|
or
|
||
|
[gammastep.conf.sample](https://gitlab.com/chinstrap/gammastep/-/blob/master/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:
|
||
|
|
||
|
``` 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 [qt.style.name](#opt-qt.style.name) to specify a theme
|
||
|
name and [qt.style.package](#opt-qt.style.package) to specify a theme package. If
|
||
|
you have set [qt.platformTheme](#opt-qt.platformTheme) to `gnome`, a
|
||
|
[qt.style.package](#opt-qt.style.package) compatible with both Qt and Gtk is now
|
||
|
required to be set. For instance:
|
||
|
|
||
|
``` 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:
|
||
|
|
||
|
``` nix
|
||
|
font = {
|
||
|
name = "DejaVu Sans";
|
||
|
size = 8;
|
||
|
};
|
||
|
```
|
||
|
|
||
|
- The [programs.htop.settings](#opt-programs.htop.settings) option is introduced to
|
||
|
replace individual options in `programs.htop`. To migrate, set the
|
||
|
htop options directly in [programs.htop.settings](#opt-programs.htop.settings). For
|
||
|
example:
|
||
|
|
||
|
``` nix
|
||
|
programs.htop = {
|
||
|
enabled = true;
|
||
|
settings = {
|
||
|
color_scheme = 5;
|
||
|
delay = 15;
|
||
|
highlight_base_name = 1;
|
||
|
highlight_megabytes = 1;
|
||
|
highlight_threads = 1;
|
||
|
};
|
||
|
};
|
||
|
```
|
||
|
|
||
|
## State Version Changes {#sec-release-21.05-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`.
|