home-manager/docs/release-notes/rl-2105.md
Viktor Kronvall 052d8a681f
docs: add release-notes as appendix
The release notes used to be an appendix in the manual. After
converting to markdown that appendix got lost. This commit
reintroduces the release notes into the manual.

(cherry picked from commit 6fc71dc563)
2023-12-17 13:03:39 +01:00

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 [opt-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, [opt-programs.mpv.package](#opt-programs.mpv.package) is no
longer the resulting derivation. Use the newly introduced
`programs.mpv.finalPackage` instead.
- The [opt-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 [opt-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
[opt-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 [opt-qt.style.name](#opt-qt.style.name) to specify a theme
name and [opt-qt.style.package](#opt-qt.style.package) to specify a theme package. If
you have set [opt-qt.platformTheme](#opt-qt.platformTheme) to `gnome`, a
[opt-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 [opt-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 [opt-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`.