docs: additional improvements after migration
Most importantly, re-add missing appendix for Release Notes. PR #4780
This commit is contained in:
commit
b00a03b668
|
@ -37,6 +37,8 @@ in stdenv.mkDerivation {
|
||||||
cp -t out/highlightjs ${nmd}/static/highlightjs/tomorrow-night.min.css
|
cp -t out/highlightjs ${nmd}/static/highlightjs/tomorrow-night.min.css
|
||||||
cp ${./highlight-style.css} out/highlightjs/highlight-style.css
|
cp ${./highlight-style.css} out/highlightjs/highlight-style.css
|
||||||
|
|
||||||
|
cp -r ${./release-notes} release-notes
|
||||||
|
|
||||||
nixos-render-docs manual html \
|
nixos-render-docs manual html \
|
||||||
--manpage-urls ./manpage-urls.json \
|
--manpage-urls ./manpage-urls.json \
|
||||||
--revision ${lib.trivial.revisionWithDefault revision} \
|
--revision ${lib.trivial.revisionWithDefault revision} \
|
||||||
|
@ -59,4 +61,6 @@ in stdenv.mkDerivation {
|
||||||
mkdir -p $out/nix-support/
|
mkdir -p $out/nix-support/
|
||||||
echo "doc manual $dest index.html" >> $out/nix-support/hydra-build-products
|
echo "doc manual $dest index.html" >> $out/nix-support/hydra-build-products
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = { maintainers = [ lib.maintainers.considerate ]; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,14 +17,17 @@ contributing.md
|
||||||
faq.md
|
faq.md
|
||||||
```
|
```
|
||||||
|
|
||||||
```{=include=} appendix html:into-file=//options.html
|
```{=include=} appendix html:into-file=//options.xhtml
|
||||||
options.md
|
options.md
|
||||||
```
|
```
|
||||||
|
|
||||||
```{=include=} appendix html:into-file=//nixos-options.html
|
```{=include=} appendix html:into-file=//nixos-options.xhtml
|
||||||
nixos-options.md
|
nixos-options.md
|
||||||
```
|
```
|
||||||
|
|
||||||
```{=include=} appendix html:into-file=//nix-darwin-options.html
|
```{=include=} appendix html:into-file=//nix-darwin-options.xhtml
|
||||||
nix-darwin-options.md
|
nix-darwin-options.md
|
||||||
```
|
```
|
||||||
|
```{=include=} appendix html:into-file=//release-notes.xhtml
|
||||||
|
release-notes/release-notes.md
|
||||||
|
```
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
[[ch-release-notes]]
|
|
||||||
[appendix]
|
|
||||||
== Release Notes
|
|
||||||
|
|
||||||
This section lists the release notes for stable versions of Home Manager and the current unstable version.
|
|
||||||
|
|
||||||
:leveloffset: 1
|
|
||||||
|
|
||||||
include::rl-2405.adoc[]
|
|
||||||
|
|
||||||
include::rl-2311.adoc[]
|
|
||||||
|
|
||||||
include::rl-2305.adoc[]
|
|
||||||
|
|
||||||
include::rl-2211.adoc[]
|
|
||||||
|
|
||||||
include::rl-2205.adoc[]
|
|
||||||
|
|
||||||
include::rl-2111.adoc[]
|
|
||||||
|
|
||||||
include::rl-2105.adoc[]
|
|
||||||
|
|
||||||
include::rl-2009.adoc[]
|
|
||||||
|
|
||||||
include::rl-2003.adoc[]
|
|
||||||
|
|
||||||
include::rl-1909.adoc[]
|
|
||||||
|
|
||||||
include::rl-1903.adoc[]
|
|
||||||
|
|
||||||
include::rl-1809.adoc[]
|
|
||||||
|
|
||||||
:leveloffset: 0
|
|
19
docs/release-notes/release-notes.md
Normal file
19
docs/release-notes/release-notes.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Release Notes {#ch-release-notes}
|
||||||
|
|
||||||
|
This section lists the release notes for stable versions of Home Manager
|
||||||
|
and the current unstable version.
|
||||||
|
|
||||||
|
```{=include=} chapters
|
||||||
|
rl-2405.md
|
||||||
|
rl-2311.md
|
||||||
|
rl-2305.md
|
||||||
|
rl-2211.md
|
||||||
|
rl-2205.md
|
||||||
|
rl-2111.md
|
||||||
|
rl-2105.md
|
||||||
|
rl-2009.md
|
||||||
|
rl-2003.md
|
||||||
|
rl-1909.md
|
||||||
|
rl-1903.md
|
||||||
|
rl-1809.md
|
||||||
|
```
|
|
@ -1,4 +1,3 @@
|
||||||
[[sec-release-18.09]]
|
# Release 18.09 {#sec-release-18.09}
|
||||||
== Release 18.09
|
|
||||||
|
|
||||||
The 18.09 release branch became the stable branch in September, 2018.
|
The 18.09 release branch became the stable branch in September, 2018.
|
|
@ -1,59 +0,0 @@
|
||||||
[[sec-release-19.03]]
|
|
||||||
== Release 19.03
|
|
||||||
|
|
||||||
The 19.03 release branch became the stable branch in April, 2019.
|
|
||||||
|
|
||||||
[[sec-release-19.03-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
:opt-home-file-source: opt-home.file._name_.source
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* The <<{opt-home-file-source}>> option now allows source files to be
|
|
||||||
hidden, that is, having a name starting with the `.` character. It
|
|
||||||
also allows the source file name to contain characters not typically
|
|
||||||
allowed for Nix store paths. For example, your configuration can now
|
|
||||||
contain things such as
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
home.file."my file".source = ./. + "/file with spaces!";
|
|
||||||
----
|
|
||||||
|
|
||||||
* The type used for the systemd unit options under
|
|
||||||
<<opt-systemd.user.services>>, <<opt-systemd.user.sockets>>, etc. has
|
|
||||||
been changed to offer more robust merging of configurations. If you
|
|
||||||
don't override values within systemd units then you are not affected
|
|
||||||
by this change. Unfortunately, if you do override unit values you may
|
|
||||||
encounter errors.
|
|
||||||
+
|
|
||||||
In particular, if you get an error saying that a ``unique option'' is
|
|
||||||
``defined multiple times'' then you need to use the
|
|
||||||
https://nixos.org/nixos/manual/#sec-option-definitions-setting-priorities[`mkForce`]
|
|
||||||
function. For example,
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
systemd.user.services.foo.Service.ExecStart = "/foo/bar";
|
|
||||||
----
|
|
||||||
+
|
|
||||||
becomes
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
|
|
||||||
----
|
|
||||||
+
|
|
||||||
We had to make this change because the old merging was causing too
|
|
||||||
many confusing situations for people.
|
|
||||||
|
|
||||||
[[sec-release-19.03-state-version-changes]]
|
|
||||||
=== State Version Changes
|
|
||||||
|
|
||||||
The state version in this release includes the changes below. These
|
|
||||||
changes are only active if the <<opt-home.stateVersion>> option is set
|
|
||||||
to ``19.03'' or later.
|
|
||||||
|
|
||||||
* There is now an option <<opt-programs.beets.enable>> that defaults
|
|
||||||
to `false`. Before the module would be active if the
|
|
||||||
<<opt-programs.beets.settings>> option was non-empty.
|
|
52
docs/release-notes/rl-1903.md
Normal file
52
docs/release-notes/rl-1903.md
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# Release 19.03 {#sec-release-19.03}
|
||||||
|
|
||||||
|
The 19.03 release branch became the stable branch in April, 2019.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-19.03-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- The [opt-home.file._name_.source](#opt-home.file._name_.source) option now allows source
|
||||||
|
files to be hidden, that is, having a name starting with the `.`
|
||||||
|
character. It also allows the source file name to contain characters
|
||||||
|
not typically allowed for Nix store paths. For example, your
|
||||||
|
configuration can now contain things such as
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home.file."my file".source = ./. + "/file with spaces!";
|
||||||
|
```
|
||||||
|
|
||||||
|
- The type used for the systemd unit options under
|
||||||
|
[opt-systemd.user.sockets](#opt-systemd.user.sockets),
|
||||||
|
etc. has been changed to offer more robust merging of
|
||||||
|
configurations. If you don't override values within systemd units
|
||||||
|
then you are not affected by this change. Unfortunately, if you do
|
||||||
|
override unit values you may encounter errors.
|
||||||
|
|
||||||
|
In particular, if you get an error saying that a "unique option" is
|
||||||
|
"defined multiple times" then you need to use the
|
||||||
|
[`mkForce`](https://nixos.org/nixos/manual/#sec-option-definitions-setting-priorities)
|
||||||
|
function. For example,
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
systemd.user.services.foo.Service.ExecStart = "/foo/bar";
|
||||||
|
```
|
||||||
|
|
||||||
|
becomes
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
|
||||||
|
```
|
||||||
|
|
||||||
|
We had to make this change because the old merging was causing too
|
||||||
|
many confusing situations for people.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-19.03-state-version-changes}
|
||||||
|
|
||||||
|
The state version in this release includes the changes below. These
|
||||||
|
changes are only active if the [opt-home.stateVersion](#opt-home.stateVersion) option is
|
||||||
|
set to "19.03" or later.
|
||||||
|
|
||||||
|
- There is now an option [opt-programs.beets.enable](#opt-programs.beets.enable) that
|
||||||
|
defaults to `false`. Before the module would be active if the
|
||||||
|
[opt-programs.beets.settings](#opt-programs.beets.settings) option was non-empty.
|
|
@ -1,31 +0,0 @@
|
||||||
[[sec-release-19.09]]
|
|
||||||
== Release 19.09
|
|
||||||
|
|
||||||
The 19.09 release branch became the stable branch in October, 2019.
|
|
||||||
|
|
||||||
[[sec-release-19.09-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* The `programs.firefox.enableGoogleTalk` and
|
|
||||||
`programs.firefox.enableIcedTea` options are now deprecated
|
|
||||||
and will only work if Firefox ESR 52.x is used.
|
|
||||||
|
|
||||||
* The `home-manager` tool now provides an `uninstall` sub-command that
|
|
||||||
can be used to uninstall Home Manager, if used in the standalone
|
|
||||||
mode. That is, not as a NixOS module.
|
|
||||||
|
|
||||||
[[sec-release-19.09-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
|
|
||||||
"19.09" or later.
|
|
||||||
|
|
||||||
* The <<opt-programs.firefox.package>> option now expects a wrapped
|
|
||||||
Firefox package and defaults to `pkgs.firefox`.
|
|
||||||
|
|
||||||
* The options <<opt-home.keyboard.layout>> and
|
|
||||||
<<opt-home.keyboard.variant>> now default to `null`, which indicates
|
|
||||||
that the system value should be used.
|
|
28
docs/release-notes/rl-1909.md
Normal file
28
docs/release-notes/rl-1909.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Release 19.09 {#sec-release-19.09}
|
||||||
|
|
||||||
|
The 19.09 release branch became the stable branch in October, 2019.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-19.09-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- The `programs.firefox.enableGoogleTalk` and
|
||||||
|
`programs.firefox.enableIcedTea` options are now deprecated and will
|
||||||
|
only work if Firefox ESR 52.x is used.
|
||||||
|
|
||||||
|
- The `home-manager` tool now provides an `uninstall` sub-command that
|
||||||
|
can be used to uninstall Home Manager, if used in the standalone
|
||||||
|
mode. That is, not as a NixOS module.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-19.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
|
||||||
|
\"19.09\" or later.
|
||||||
|
|
||||||
|
- The [opt-programs.firefox.package](#opt-programs.firefox.package) option now expects a
|
||||||
|
wrapped Firefox package and defaults to `pkgs.firefox`.
|
||||||
|
|
||||||
|
- The options [opt-home.keyboard.layout](#opt-home.keyboard.layout) and
|
||||||
|
[opt-home.keyboard.variant](#opt-home.keyboard.variant) now default to `null`, which
|
||||||
|
indicates that the system value should be used.
|
|
@ -1,126 +0,0 @@
|
||||||
[[sec-release-20.03]]
|
|
||||||
== Release 20.03
|
|
||||||
|
|
||||||
The 20.03 release branch became the stable branch in April, 2020.
|
|
||||||
|
|
||||||
[[sec-release-20.03-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* Assigning a list to the <<opt-home.file>>, <<opt-xdg.configFile>>,
|
|
||||||
and <<opt-xdg.dataFile>> options is now deprecated and will produce a
|
|
||||||
warning message if used. Specifically, if your configuration currently
|
|
||||||
contains something like
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
home.file = [
|
|
||||||
{
|
|
||||||
target = ".config/foo.txt";
|
|
||||||
text = "bar";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
----
|
|
||||||
+
|
|
||||||
then it should be updated to instead use the equivalent attribute set form
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
home.file = {
|
|
||||||
".config/foo.txt".text = "bar";
|
|
||||||
}
|
|
||||||
----
|
|
||||||
+
|
|
||||||
Support for the list form will be removed in Home Manager version
|
|
||||||
20.09.
|
|
||||||
|
|
||||||
* The `lib` function attribute given to modules is now enriched with
|
|
||||||
an attribute `hm` containing extra library functions specific for Home
|
|
||||||
Manager. More specifically, `lib.hm` is now the same as `config.lib`
|
|
||||||
and should be the preferred choice since it is more robust.
|
|
||||||
+
|
|
||||||
Therefore, if your configuration makes use of, for example,
|
|
||||||
`config.lib.dag` to create activation script blocks, it is recommended
|
|
||||||
to change to `lib.hm.dag`.
|
|
||||||
+
|
|
||||||
Note, in the unlikely case that you are
|
|
||||||
+
|
|
||||||
** using Home Manager's NixOS or nix-darwin module,
|
|
||||||
** have made your own Home Manager module containing an top-level
|
|
||||||
option named `config` or `options`, and
|
|
||||||
** assign to this option in your system configuration inside a plain
|
|
||||||
attribute set, i.e., without a function argument,
|
|
||||||
|
|
||||||
+
|
|
||||||
then you must update your configuration to perform the option
|
|
||||||
assignment inside a `config` attribute. For example, instead of
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
home-manager.users.jane = { config = "foo"; };
|
|
||||||
----
|
|
||||||
+
|
|
||||||
use
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
home-manager.users.jane = { config.config = "foo"; };
|
|
||||||
----
|
|
||||||
|
|
||||||
* The `services.compton` module has been deprecated and instead the
|
|
||||||
new module `services.picom` should be used. This is because Nixpkgs no
|
|
||||||
longer packages compton, and instead packages the (mostly) compatible
|
|
||||||
fork called picom.
|
|
||||||
|
|
||||||
* The list form of the <<opt-programs.ssh.matchBlocks>> option has
|
|
||||||
been deprecated and configurations requiring match blocks in a defined
|
|
||||||
order should switch to using DAG entries instead. For example, a
|
|
||||||
configuration
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
programs.ssh.matchBlocks = [
|
|
||||||
{
|
|
||||||
host = "alpha.foo.com";
|
|
||||||
user = "jd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
host = "*.foo.com";
|
|
||||||
user = "john.doe";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
----
|
|
||||||
+
|
|
||||||
can be expressed along the lines of
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
programs.ssh.matchBlocks = {
|
|
||||||
"*.example.com" = {
|
|
||||||
user = "john.doe";
|
|
||||||
}
|
|
||||||
"alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
|
|
||||||
user = "jd";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
----
|
|
||||||
+
|
|
||||||
Support for the list form will be removed in Home Manager version
|
|
||||||
20.09.
|
|
||||||
|
|
||||||
[[sec-release-20.03-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
|
|
||||||
"20.03" or later.
|
|
||||||
|
|
||||||
* The <<opt-programs.zsh.history.path>> option is no longer prepended
|
|
||||||
by `$HOME`, which allows specifying absolute paths, for example,
|
|
||||||
using the xdg module. Also, the default value is fixed to
|
|
||||||
`$HOME/.zsh_history` and `dotDir` path is not prepended to it
|
|
||||||
anymore.
|
|
||||||
* The newsboat module will now default in displaying `queries` before `urls` in
|
|
||||||
its main window. This makes sense in the case when one has a lot of URLs and
|
|
||||||
few queries.
|
|
122
docs/release-notes/rl-2003.md
Normal file
122
docs/release-notes/rl-2003.md
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
# Release 20.03 {#sec-release-20.03}
|
||||||
|
|
||||||
|
The 20.03 release branch became the stable branch in April, 2020.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-20.03-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- Assigning a list to the [opt-home.file](#opt-home.file),
|
||||||
|
[opt-xdg.dataFile](#opt-xdg.dataFile) options is
|
||||||
|
now deprecated and will produce a warning message if used.
|
||||||
|
Specifically, if your configuration currently contains something
|
||||||
|
like
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home.file = [
|
||||||
|
{
|
||||||
|
target = ".config/foo.txt";
|
||||||
|
text = "bar";
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
then it should be updated to instead use the equivalent attribute
|
||||||
|
set form
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home.file = {
|
||||||
|
".config/foo.txt".text = "bar";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Support for the list form will be removed in Home Manager version
|
||||||
|
20.09.
|
||||||
|
|
||||||
|
- The `lib` function attribute given to modules is now enriched with
|
||||||
|
an attribute `hm` containing extra library functions specific for
|
||||||
|
Home Manager. More specifically, `lib.hm` is now the same as
|
||||||
|
`config.lib` and should be the preferred choice since it is more
|
||||||
|
robust.
|
||||||
|
|
||||||
|
Therefore, if your configuration makes use of, for example,
|
||||||
|
`config.lib.dag` to create activation script blocks, it is
|
||||||
|
recommended to change to `lib.hm.dag`.
|
||||||
|
|
||||||
|
Note, in the unlikely case that you are
|
||||||
|
|
||||||
|
- using Home Manager's NixOS or nix-darwin module,
|
||||||
|
|
||||||
|
- have made your own Home Manager module containing an top-level
|
||||||
|
option named `config` or `options`, and
|
||||||
|
|
||||||
|
- assign to this option in your system configuration inside a
|
||||||
|
plain attribute set, i.e., without a function argument,
|
||||||
|
|
||||||
|
then you must update your configuration to perform the option
|
||||||
|
assignment inside a `config` attribute. For example, instead of
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home-manager.users.jane = { config = "foo"; };
|
||||||
|
```
|
||||||
|
|
||||||
|
use
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home-manager.users.jane = { config.config = "foo"; };
|
||||||
|
```
|
||||||
|
|
||||||
|
- The `services.compton` module has been deprecated and instead the
|
||||||
|
new module `services.picom` should be used. This is because Nixpkgs
|
||||||
|
no longer packages compton, and instead packages the (mostly)
|
||||||
|
compatible fork called picom.
|
||||||
|
|
||||||
|
- The list form of the [opt-programs.ssh.matchBlocks](#opt-programs.ssh.matchBlocks) option has
|
||||||
|
been deprecated and configurations requiring match blocks in a
|
||||||
|
defined order should switch to using DAG entries instead. For
|
||||||
|
example, a configuration
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.ssh.matchBlocks = [
|
||||||
|
{
|
||||||
|
host = "alpha.foo.com";
|
||||||
|
user = "jd";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
host = "*.foo.com";
|
||||||
|
user = "john.doe";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
can be expressed along the lines of
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.ssh.matchBlocks = {
|
||||||
|
"*.example.com" = {
|
||||||
|
user = "john.doe";
|
||||||
|
}
|
||||||
|
"alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
|
||||||
|
user = "jd";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
Support for the list form will be removed in Home Manager version
|
||||||
|
20.09.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-20.03-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.03\" or later.
|
||||||
|
|
||||||
|
- The [opt-programs.zsh.history.path](#opt-programs.zsh.history.path) option is no longer
|
||||||
|
prepended by `$HOME`, which allows specifying absolute paths, for
|
||||||
|
example, using the xdg module. Also, the default value is fixed to
|
||||||
|
`$HOME/.zsh_history` and `dotDir` path is not prepended to it
|
||||||
|
anymore.
|
||||||
|
|
||||||
|
- The newsboat module will now default in displaying `queries` before
|
||||||
|
`urls` in its main window. This makes sense in the case when one has
|
||||||
|
a lot of URLs and few queries.
|
|
@ -1,96 +0,0 @@
|
||||||
[[sec-release-20.09]]
|
|
||||||
== Release 20.09
|
|
||||||
|
|
||||||
The 20.09 release branch became the stable branch in late September, 2020.
|
|
||||||
|
|
||||||
[[sec-release-20.09-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* Nothing has happened.
|
|
||||||
|
|
||||||
[[sec-release-20.09-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
|
|
||||||
"20.09" or later.
|
|
||||||
|
|
||||||
* The options <<opt-home.homeDirectory>> and <<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 <<opt-xdg.cacheHome>>, <<opt-xdg.configHome>>,
|
|
||||||
and <<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
|
|
||||||
|
|
||||||
[source,console]
|
|
||||||
$ nix-shell '<home-manager>' -A install
|
|
||||||
|
|
||||||
will automatically include these options, when necessary.
|
|
||||||
--
|
|
||||||
|
|
||||||
* Git's `smtpEncryption` option is now set to `tls` only if both <<opt-accounts.email.accounts.\_name_.smtp.tls.enable>> and <<opt-accounts.email.accounts.\_name_.smtp.tls.useStartTls>> are `true`. If only <<opt-accounts.email.accounts.\_name_.smtp.tls.enable>> is `true`, `ssl` is used instead.
|
|
||||||
|
|
||||||
* The `nixpkgs` module no longer references `<nixpkgs>`. 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 `<nixpkgs>` with state version ≥ 20.09 then add
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
_module.args.pkgsPath = <nixpkgs>;
|
|
||||||
+
|
|
||||||
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:
|
|
||||||
+
|
|
||||||
--
|
|
||||||
[source,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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
....
|
|
||||||
--
|
|
112
docs/release-notes/rl-2009.md
Normal file
112
docs/release-notes/rl-2009.md
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
# 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 [opt-home.homeDirectory](#opt-home.homeDirectory) and
|
||||||
|
[opt-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 [opt-xdg.cacheHome](#opt-xdg.cacheHome),
|
||||||
|
[opt-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 '<home-manager>' -A install
|
||||||
|
```
|
||||||
|
|
||||||
|
will automatically include these options, when necessary.
|
||||||
|
|
||||||
|
- Git's `smtpEncryption` option is now set to `tls` only if both
|
||||||
|
[opt-accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) and
|
||||||
|
[opt-accounts.email.accounts._name_.smtp.tls.useStartTls](#opt-accounts.email.accounts._name_.smtp.tls.useStartTls) are
|
||||||
|
`true`. If only
|
||||||
|
[opt-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 `<nixpkgs>`. 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 `<nixpkgs>` with state version ≥
|
||||||
|
20.09 then add
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
_module.args.pkgsPath = <nixpkgs>;
|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,200 +0,0 @@
|
||||||
[[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 `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 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 <<opt-programs.rofi.theme>> 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 <<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.
|
|
||||||
|
|
||||||
* 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 <<opt-qt.style.name>> to specify a theme name and
|
|
||||||
<<opt-qt.style.package>> to specify a theme package. If you have set
|
|
||||||
<<opt-qt.platformTheme>> to `gnome`, a <<opt-qt.style.package>> 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 <<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>>. 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`.
|
|
194
docs/release-notes/rl-2105.md
Normal file
194
docs/release-notes/rl-2105.md
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
# 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`.
|
|
@ -1,73 +0,0 @@
|
||||||
[[sec-release-21.11]]
|
|
||||||
== Release 21.11
|
|
||||||
|
|
||||||
The 21.11 release branch became the stable branch in November, 2021.
|
|
||||||
|
|
||||||
[[sec-release-21.11-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* All Home Manager modules are now loaded on all platforms. With this
|
|
||||||
change you will get a more descriptive error message if you attempt to
|
|
||||||
enable a module that is incompatible with the host platform.
|
|
||||||
+
|
|
||||||
Previously, modules that were platform specific would only be loaded
|
|
||||||
on that particular platform. For example, a module defining a
|
|
||||||
https://systemd.io/[systemd] service would only be loaded when the
|
|
||||||
host platform was Linux. This reduced evaluation times, simplified the
|
|
||||||
generated documentation, and made it impossible to accidentally use
|
|
||||||
modules that do not support the host platform.
|
|
||||||
+
|
|
||||||
While the above benefits are quite nice, avoiding module loads also
|
|
||||||
brings a few problems. For example, the
|
|
||||||
https://nix-community.github.io/home-manager/[public documentation]
|
|
||||||
will only show the options available for Linux hosts and the
|
|
||||||
documentation cannot make references to options within modules that
|
|
||||||
are unavailable on some hosts. Finally, users who wish to use the same
|
|
||||||
configuration file for different platforms cannot do so, even if the
|
|
||||||
platform incompatible options are unused.
|
|
||||||
+
|
|
||||||
Ultimately, the benefits of loading all modules won and the behavior
|
|
||||||
has now changed. For associated discussion see
|
|
||||||
https://github.com/nix-community/home-manager/issues/1906[issue #1906].
|
|
||||||
|
|
||||||
* Rofi version 1.7.0 removed many options that were used by the module and replaced them with custom themes, which are more flexible and powerful.
|
|
||||||
+
|
|
||||||
You can replicate your old configuration by moving those options to <<opt-programs.rofi.theme>>. Keep in mind that the syntax is different so you may need to do some changes.
|
|
||||||
|
|
||||||
* Taskwarrior version 2.6.0 respects XDG Specification for the config file now.
|
|
||||||
Option <<opt-programs.taskwarrior.config>> and friends now generate the config file at
|
|
||||||
`$XDG_CONFIG_HOME/task/taskrc` instead of `~/.taskrc`.
|
|
||||||
|
|
||||||
[[sec-release-21.11-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.11" or later.
|
|
||||||
|
|
||||||
* The <<opt-home.keyboard>> option now defaults to `null`, meaning that Home Manager won't do any keyboard layout management. For example, `setxkbmap` won't be run in X sessions.
|
|
||||||
|
|
||||||
* The <<opt-programs.pet.settings>> option no longer place its value inside a `General` attribute.
|
|
||||||
For example,
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.pet.settings.editor = "nvim";
|
|
||||||
+
|
|
||||||
becomes
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.pet.settings.General.editor = "nvim";
|
|
||||||
|
|
||||||
* The <<opt-programs.waybar.settings>> option now allows defining modules directly under <<opt-programs.waybar.settings>>.
|
|
||||||
For example,
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.waybar.settings.modules."custom/my-module" = { };
|
|
||||||
+
|
|
||||||
becomes
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.waybar.settings."custom/my-module" = { };
|
|
||||||
|
|
81
docs/release-notes/rl-2111.md
Normal file
81
docs/release-notes/rl-2111.md
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
# Release 21.11 {#sec-release-21.11}
|
||||||
|
|
||||||
|
The 21.11 release branch became the stable branch in November, 2021.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-21.11-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- All Home Manager modules are now loaded on all platforms. With this
|
||||||
|
change you will get a more descriptive error message if you attempt
|
||||||
|
to enable a module that is incompatible with the host platform.
|
||||||
|
|
||||||
|
Previously, modules that were platform specific would only be loaded
|
||||||
|
on that particular platform. For example, a module defining a
|
||||||
|
[systemd](https://systemd.io/) service would only be loaded when the
|
||||||
|
host platform was Linux. This reduced evaluation times, simplified
|
||||||
|
the generated documentation, and made it impossible to accidentally
|
||||||
|
use modules that do not support the host platform.
|
||||||
|
|
||||||
|
While the above benefits are quite nice, avoiding module loads also
|
||||||
|
brings a few problems. For example, the [public
|
||||||
|
documentation](https://nix-community.github.io/home-manager/) will
|
||||||
|
only show the options available for Linux hosts and the
|
||||||
|
documentation cannot make references to options within modules that
|
||||||
|
are unavailable on some hosts. Finally, users who wish to use the
|
||||||
|
same configuration file for different platforms cannot do so, even
|
||||||
|
if the platform incompatible options are unused.
|
||||||
|
|
||||||
|
Ultimately, the benefits of loading all modules won and the behavior
|
||||||
|
has now changed. For associated discussion see
|
||||||
|
[issue #1906](https://github.com/nix-community/home-manager/issues/1906).
|
||||||
|
|
||||||
|
- Rofi version 1.7.0 removed many options that were used by the module
|
||||||
|
and replaced them with custom themes, which are more flexible and
|
||||||
|
powerful.
|
||||||
|
|
||||||
|
You can replicate your old configuration by moving those options to
|
||||||
|
[opt-programs.rofi.theme](#opt-programs.rofi.theme). Keep in mind that the syntax is
|
||||||
|
different so you may need to do some changes.
|
||||||
|
|
||||||
|
- Taskwarrior version 2.6.0 respects XDG Specification for the config
|
||||||
|
file now. Option [opt-programs.taskwarrior.config](#opt-programs.taskwarrior.config) and friends
|
||||||
|
now generate the config file at `$XDG_CONFIG_HOME/task/taskrc`
|
||||||
|
instead of `~/.taskrc`.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-21.11-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.11\" or later.
|
||||||
|
|
||||||
|
- The [opt-home.keyboard](#opt-home.keyboard) option now defaults to `null`, meaning
|
||||||
|
that Home Manager won't do any keyboard layout management. For
|
||||||
|
example, `setxkbmap` won't be run in X sessions.
|
||||||
|
|
||||||
|
- The [opt-programs.pet.settings](#opt-programs.pet.settings) option no longer place its
|
||||||
|
value inside a `General` attribute. For example,
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.pet.settings.editor = "nvim";
|
||||||
|
```
|
||||||
|
|
||||||
|
becomes
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.pet.settings.General.editor = "nvim";
|
||||||
|
```
|
||||||
|
|
||||||
|
- The [opt-programs.waybar.settings](#opt-programs.waybar.settings) option now allows defining
|
||||||
|
modules directly under [opt-programs.waybar.settings](#opt-programs.waybar.settings). For
|
||||||
|
example,
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.waybar.settings.modules."custom/my-module" = { };
|
||||||
|
```
|
||||||
|
|
||||||
|
becomes
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.waybar.settings."custom/my-module" = { };
|
||||||
|
```
|
|
@ -1,44 +0,0 @@
|
||||||
[[sec-release-22.05]]
|
|
||||||
== Release 22.05
|
|
||||||
|
|
||||||
The 22.05 release branch became the stable branch in May, 2022.
|
|
||||||
|
|
||||||
[[sec-release-22.05-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
:hm-weblate: https://hosted.weblate.org/projects/home-manager/
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* The `programs.waybar.settings.modules` option was removed.
|
|
||||||
Waybar modules should now be declared directly under `programs.waybar.settings`.
|
|
||||||
|
|
||||||
* Home Manager now partially support translation of texts into different languages.
|
|
||||||
Note, the support is quite limited at the moment.
|
|
||||||
Specifically, it only applies to parts of the system written in the Bash language,
|
|
||||||
such as the `home-manager` command line tool and the activation script.
|
|
||||||
+
|
|
||||||
If you would like to contribute to the translation effort
|
|
||||||
then you can do so through the {hm-weblate}[Home Manager Weblate project].
|
|
||||||
|
|
||||||
* A new module, `launchd.agents` was added.
|
|
||||||
Use this to enable services based on macOS LaunchAgents.
|
|
||||||
|
|
||||||
[[sec-release-22.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 "22.05" or later.
|
|
||||||
|
|
||||||
* The <<opt-programs.waybar.settings>> option now allows defining modules directly under <<opt-programs.waybar.settings>>.
|
|
||||||
Defining modules under `programs.waybar.settings.modules` will now be an error.
|
|
||||||
For example,
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.waybar.settings.modules."custom/my-module" = { };
|
|
||||||
+
|
|
||||||
becomes
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.waybar.settings."custom/my-module" = { };
|
|
||||||
|
|
45
docs/release-notes/rl-2205.md
Normal file
45
docs/release-notes/rl-2205.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# Release 22.05 {#sec-release-22.05}
|
||||||
|
|
||||||
|
The 22.05 release branch became the stable branch in May, 2022.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-22.05-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- The `programs.waybar.settings.modules` option was removed. Waybar
|
||||||
|
modules should now be declared directly under
|
||||||
|
`programs.waybar.settings`.
|
||||||
|
|
||||||
|
- Home Manager now partially support translation of texts into
|
||||||
|
different languages. Note, the support is quite limited at the
|
||||||
|
moment. Specifically, it only applies to parts of the system written
|
||||||
|
in the Bash language, such as the `home-manager` command line tool
|
||||||
|
and the activation script.
|
||||||
|
|
||||||
|
If you would like to contribute to the translation effort then you
|
||||||
|
can do so through the [Home Manager Weblate
|
||||||
|
project](https://hosted.weblate.org/projects/home-manager/).
|
||||||
|
|
||||||
|
- A new module, `launchd.agents` was added. Use this to enable
|
||||||
|
services based on macOS LaunchAgents.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-22.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
|
||||||
|
\"22.05\" or later.
|
||||||
|
|
||||||
|
- The [opt-programs.waybar.settings](#opt-programs.waybar.settings) option now allows defining
|
||||||
|
modules directly under [opt-programs.waybar.settings](#opt-programs.waybar.settings).
|
||||||
|
Defining modules under `programs.waybar.settings.modules` will now
|
||||||
|
be an error. For example,
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.waybar.settings.modules."custom/my-module" = { };
|
||||||
|
```
|
||||||
|
|
||||||
|
becomes
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.waybar.settings."custom/my-module" = { };
|
||||||
|
```
|
|
@ -1,113 +0,0 @@
|
||||||
[[sec-release-22.11]]
|
|
||||||
== Release 22.11
|
|
||||||
|
|
||||||
The 22.11 release branch became the stable branch in November, 2022.
|
|
||||||
|
|
||||||
[[sec-release-22.11-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* The <<opt-home.stateVersion>> option no longer has a default value.
|
|
||||||
It used to default to ``18.09'', which was the Home Manager version
|
|
||||||
that introduced the option. If your configuration does not explicitly
|
|
||||||
set this option then you need to add
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
home.stateVersion = "18.09";
|
|
||||||
+
|
|
||||||
to your configuration.
|
|
||||||
|
|
||||||
* The Flake function `homeManagerConfiguration` has been simplified.
|
|
||||||
Specifically, the arguments
|
|
||||||
+
|
|
||||||
--
|
|
||||||
- `configuration`,
|
|
||||||
- `username`,
|
|
||||||
- `homeDirectory`,
|
|
||||||
- `stateVersion`,
|
|
||||||
- `extraModules`, and
|
|
||||||
- `system`
|
|
||||||
--
|
|
||||||
+
|
|
||||||
have been removed. Instead use the new `modules` argument, which
|
|
||||||
accepts a list of NixOS modules.
|
|
||||||
+
|
|
||||||
Further, the `pkgs` argument is now mandatory and should be set to
|
|
||||||
`nixpkgs.legacyPackages.${system}` where `nixpkgs` is the Nixpkgs
|
|
||||||
input of your choice.
|
|
||||||
+
|
|
||||||
For example, if your Flake currently contains
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
homeManagerConfiguration {
|
|
||||||
configuration = import ./home.nix;
|
|
||||||
system = "x86_64-linux";
|
|
||||||
username = "jdoe";
|
|
||||||
homeDirectory = "/home/jdoe";
|
|
||||||
stateVersion = "22.05";
|
|
||||||
extraModules = [ ./some-extra-module.nix ];
|
|
||||||
}
|
|
||||||
----
|
|
||||||
+
|
|
||||||
then you can change it to
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
----
|
|
||||||
homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
modules = [
|
|
||||||
./home.nix
|
|
||||||
./some-extra-module.nix
|
|
||||||
{
|
|
||||||
home = {
|
|
||||||
username = "jdoe";
|
|
||||||
homeDirectory = "/home/jdoe";
|
|
||||||
stateVersion = "22.05";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
----
|
|
||||||
+
|
|
||||||
Of course, you can move the assignment of <<opt-home.username>>,
|
|
||||||
<<opt-home.homeDirectory>>, and <<opt-home.stateVersion>> to some
|
|
||||||
other file or simply place them in your `home.nix`.
|
|
||||||
|
|
||||||
* The `services.picom` module has been refactored to use structural
|
|
||||||
settings.
|
|
||||||
+
|
|
||||||
As a result `services.picom.extraOptions` has been removed in favor of
|
|
||||||
<<opt-services.picom.settings>>. Also, `services.picom.blur*` were
|
|
||||||
removed since upstream changed the blur settings to be more flexible.
|
|
||||||
You can migrate the blur settings to use
|
|
||||||
<<opt-services.picom.settings>> instead.
|
|
||||||
|
|
||||||
* The `services.compton` module has been removed. It was deprecated in
|
|
||||||
release 20.03. Use `services.picom` instead.
|
|
||||||
|
|
||||||
[[sec-release-22.11-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 "22.11" or later.
|
|
||||||
|
|
||||||
* The <<opt-services.mpd.musicDirectory>> option now defaults to the
|
|
||||||
value of <<opt-xdg.userDirs.music>> if <<opt-xdg.userDirs.enable>> is
|
|
||||||
enabled. Otherwise it is undefined and must be specified in the user
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
* The activation script now resets `PATH` before running. Before, the
|
|
||||||
user's `PATH` environment variable would be used in the script and
|
|
||||||
this made it possible for commands in the activation script to run
|
|
||||||
arbitrary commands accessible to the user. We now restrict the
|
|
||||||
activation script to commands that are explicitly specified.
|
|
||||||
+
|
|
||||||
There is no official way to restore the old behavior. We attempt to
|
|
||||||
make the activation script as reproducible as possible and honoring
|
|
||||||
the user's `PATH` reduces reproducibility.
|
|
||||||
+
|
|
||||||
If you need to run a command in an activation script block then refer
|
|
||||||
to the command by its absolute command path, such as
|
|
||||||
`${pkgs.hello}/bin/hello`.
|
|
113
docs/release-notes/rl-2211.md
Normal file
113
docs/release-notes/rl-2211.md
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
# Release 22.11 {#sec-release-22.11}
|
||||||
|
|
||||||
|
The 22.11 release branch became the stable branch in November, 2022.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-22.11-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- The [opt-home.stateVersion](#opt-home.stateVersion) option no longer has a default
|
||||||
|
value. It used to default to "18.09", which was the Home Manager
|
||||||
|
version that introduced the option. If your configuration does not
|
||||||
|
explicitly set this option then you need to add
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
home.stateVersion = "18.09";
|
||||||
|
```
|
||||||
|
|
||||||
|
to your configuration.
|
||||||
|
|
||||||
|
- The Flake function `homeManagerConfiguration` has been simplified.
|
||||||
|
Specifically, the arguments
|
||||||
|
|
||||||
|
- `configuration`,
|
||||||
|
|
||||||
|
- `username`,
|
||||||
|
|
||||||
|
- `homeDirectory`,
|
||||||
|
|
||||||
|
- `stateVersion`,
|
||||||
|
|
||||||
|
- `extraModules`, and
|
||||||
|
|
||||||
|
- `system`
|
||||||
|
|
||||||
|
have been removed. Instead use the new `modules` argument, which
|
||||||
|
accepts a list of NixOS modules.
|
||||||
|
|
||||||
|
Further, the `pkgs` argument is now mandatory and should be set to
|
||||||
|
`nixpkgs.legacyPackages.${system}` where `nixpkgs` is the Nixpkgs
|
||||||
|
input of your choice.
|
||||||
|
|
||||||
|
For example, if your Flake currently contains
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
homeManagerConfiguration {
|
||||||
|
configuration = import ./home.nix;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
username = "jdoe";
|
||||||
|
homeDirectory = "/home/jdoe";
|
||||||
|
stateVersion = "22.05";
|
||||||
|
extraModules = [ ./some-extra-module.nix ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
then you can change it to
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
modules = [
|
||||||
|
./home.nix
|
||||||
|
./some-extra-module.nix
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
username = "jdoe";
|
||||||
|
homeDirectory = "/home/jdoe";
|
||||||
|
stateVersion = "22.05";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Of course, you can move the assignment of [opt-home.username](#opt-home.username),
|
||||||
|
[opt-home.stateVersion](#opt-home.stateVersion) to
|
||||||
|
some other file or simply place them in your `home.nix`.
|
||||||
|
|
||||||
|
- The `services.picom` module has been refactored to use structural
|
||||||
|
settings.
|
||||||
|
|
||||||
|
As a result `services.picom.extraOptions` has been removed in favor
|
||||||
|
of [opt-services.picom.settings](#opt-services.picom.settings). Also, `services.picom.blur*`
|
||||||
|
were removed since upstream changed the blur settings to be more
|
||||||
|
flexible. You can migrate the blur settings to use
|
||||||
|
[opt-services.picom.settings](#opt-services.picom.settings) instead.
|
||||||
|
|
||||||
|
- The `services.compton` module has been removed. It was deprecated in
|
||||||
|
release 20.03. Use `services.picom` instead.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-22.11-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
|
||||||
|
\"22.11\" or later.
|
||||||
|
|
||||||
|
- The [opt-services.mpd.musicDirectory](#opt-services.mpd.musicDirectory) option now defaults to
|
||||||
|
the value of [opt-xdg.userDirs.music](#opt-xdg.userDirs.music) if
|
||||||
|
[opt-xdg.userDirs.enable](#opt-xdg.userDirs.enable) is enabled. Otherwise it is
|
||||||
|
undefined and must be specified in the user configuration.
|
||||||
|
|
||||||
|
- The activation script now resets `PATH` before running. Before, the
|
||||||
|
user's `PATH` environment variable would be used in the script and
|
||||||
|
this made it possible for commands in the activation script to run
|
||||||
|
arbitrary commands accessible to the user. We now restrict the
|
||||||
|
activation script to commands that are explicitly specified.
|
||||||
|
|
||||||
|
There is no official way to restore the old behavior. We attempt to
|
||||||
|
make the activation script as reproducible as possible and honoring
|
||||||
|
the user's `PATH` reduces reproducibility.
|
||||||
|
|
||||||
|
If you need to run a command in an activation script block then
|
||||||
|
refer to the command by its absolute command path, such as
|
||||||
|
`${pkgs.hello}/bin/hello`.
|
|
@ -1,57 +0,0 @@
|
||||||
[[sec-release-23.05]]
|
|
||||||
== Release 23.05
|
|
||||||
|
|
||||||
The 23.05 release branch became the stable branch in May, 2023.
|
|
||||||
|
|
||||||
[[sec-release-23.05-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* Firefox add-ons are now managed per-profile.
|
|
||||||
That is, if you are currently having
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.firefox.extensions = [ foo bar ];
|
|
||||||
+
|
|
||||||
in your configuration then you must change it to
|
|
||||||
+
|
|
||||||
[source,nix]
|
|
||||||
programs.firefox.profiles.myprofile.extensions = [ foo bar ];
|
|
||||||
|
|
||||||
* The default configuration location has been changed from
|
|
||||||
`~/.config/nixpkgs/home.nix` to `~/.config/home-manager/home.nix`.
|
|
||||||
+
|
|
||||||
Similarly, if you are using a Nix flake based setup
|
|
||||||
then the default flake file location has changed from
|
|
||||||
`~/.config/nixpkgs/flake.nix` to `~/.config/home-manager/flake.nix`.
|
|
||||||
+
|
|
||||||
The old location will continue to work but using it will trigger a warning message.
|
|
||||||
We changed the default configuration location to avoid confusion about
|
|
||||||
which files belong to Home Manager and which belong to Nixpkgs.
|
|
||||||
|
|
||||||
* The `home-manager` tool now offers an `init` command.
|
|
||||||
This command can be used to generate an initial Home Manager configuration,
|
|
||||||
and optionally also activate it.
|
|
||||||
The recommended installation method for a standalone Home Manager setup
|
|
||||||
with Nix flakes uses this new command.
|
|
||||||
The standard installation method remains the same but uses the new command internally.
|
|
||||||
See <<sec-flakes-standalone>> for more.
|
|
||||||
|
|
||||||
[[sec-release-23.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 "23.05" or later.
|
|
||||||
|
|
||||||
* The options
|
|
||||||
+
|
|
||||||
--
|
|
||||||
- <<opt-xsession.windowManager.i3.config.window.titlebar>>
|
|
||||||
- <<opt-xsession.windowManager.i3.config.floating.titlebar>>
|
|
||||||
- <<opt-wayland.windowManager.sway.config.window.titlebar>>
|
|
||||||
- <<opt-wayland.windowManager.sway.config.floating.titlebar>>
|
|
||||||
--
|
|
||||||
+
|
|
||||||
now default to `true` which is consistent with the default values for
|
|
||||||
those options used by `i3` and `sway`.
|
|
59
docs/release-notes/rl-2305.md
Normal file
59
docs/release-notes/rl-2305.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Release 23.05 {#sec-release-23.05}
|
||||||
|
|
||||||
|
The 23.05 release branch became the stable branch in May, 2023.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-23.05-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- Firefox add-ons are now managed per-profile. That is, if you are
|
||||||
|
currently having
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.firefox.extensions = [ foo bar ];
|
||||||
|
```
|
||||||
|
|
||||||
|
in your configuration then you must change it to
|
||||||
|
|
||||||
|
``` nix
|
||||||
|
programs.firefox.profiles.myprofile.extensions = [ foo bar ];
|
||||||
|
```
|
||||||
|
|
||||||
|
- The default configuration location has been changed from
|
||||||
|
`~/.config/nixpkgs/home.nix` to `~/.config/home-manager/home.nix`.
|
||||||
|
|
||||||
|
Similarly, if you are using a Nix flake based setup then the default
|
||||||
|
flake file location has changed from `~/.config/nixpkgs/flake.nix`
|
||||||
|
to `~/.config/home-manager/flake.nix`.
|
||||||
|
|
||||||
|
The old location will continue to work but using it will trigger a
|
||||||
|
warning message. We changed the default configuration location to
|
||||||
|
avoid confusion about which files belong to Home Manager and which
|
||||||
|
belong to Nixpkgs.
|
||||||
|
|
||||||
|
- The `home-manager` tool now offers an `init` command. This command
|
||||||
|
can be used to generate an initial Home Manager configuration, and
|
||||||
|
optionally also activate it. The recommended installation method for
|
||||||
|
a standalone Home Manager setup with Nix flakes uses this new
|
||||||
|
command. The standard installation method remains the same but uses
|
||||||
|
the new command internally. See [sec-flakes-standalone](#sec-flakes-standalone) for
|
||||||
|
more.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-23.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
|
||||||
|
\"23.05\" or later.
|
||||||
|
|
||||||
|
- The options
|
||||||
|
|
||||||
|
- [opt-xsession.windowManager.i3.config.window.titlebar](#opt-xsession.windowManager.i3.config.window.titlebar)
|
||||||
|
|
||||||
|
- [opt-xsession.windowManager.i3.config.floating.titlebar](#opt-xsession.windowManager.i3.config.floating.titlebar)
|
||||||
|
|
||||||
|
- [opt-wayland.windowManager.sway.config.window.titlebar](#opt-wayland.windowManager.sway.config.window.titlebar)
|
||||||
|
|
||||||
|
- [opt-wayland.windowManager.sway.config.floating.titlebar](#opt-wayland.windowManager.sway.config.floating.titlebar)
|
||||||
|
|
||||||
|
now default to `true` which is consistent with the default values
|
||||||
|
for those options used by `i3` and `sway`.
|
|
@ -1,44 +0,0 @@
|
||||||
[[sec-release-23.11]]
|
|
||||||
== Release 23.11
|
|
||||||
|
|
||||||
The 23.11 release branch became stable in November, 2023.
|
|
||||||
|
|
||||||
[[sec-release-23.11-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
:babelfish: https://github.com/bouk/babelfish
|
|
||||||
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* When using <<opt-programs.fish.enable>>, the setup code
|
|
||||||
for <<opt-home.sessionVariables>> is now translated
|
|
||||||
with {babelfish}[babelfish].
|
|
||||||
This should result in significantly faster shell startup times
|
|
||||||
but could theoretically break
|
|
||||||
if you have very complex bash expressions in a session variable.
|
|
||||||
Please report any issues you experience.
|
|
||||||
|
|
||||||
* The `.release` file in the Home Manager source tree
|
|
||||||
has been supplanted by `release.json`,
|
|
||||||
which contains more information about the branch.
|
|
||||||
If you have any external code reading this file,
|
|
||||||
please switch to consuming `release.json` instead.
|
|
||||||
The `.release` file will be removed in 24.05.
|
|
||||||
|
|
||||||
* Home Manager has migrated to using
|
|
||||||
the upstream Nixpkgs `lib.nixosOptionsDoc` processor
|
|
||||||
for option documentation.
|
|
||||||
If you have any external Home Manager modules,
|
|
||||||
their option descriptions and literal examples should be translated
|
|
||||||
to {nixpkgs-markdown}[Nixpkgs-flavoured Markdown].
|
|
||||||
|
|
||||||
* The `services.password-store-sync` module has been removed.
|
|
||||||
Use `services.git-sync` instead.
|
|
||||||
|
|
||||||
[[sec-release-23.11-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 "23.11" or later.
|
|
||||||
|
|
||||||
* Nothing, yet.
|
|
37
docs/release-notes/rl-2311.md
Normal file
37
docs/release-notes/rl-2311.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Release 23.11 {#sec-release-23.11}
|
||||||
|
|
||||||
|
The 23.11 release branch became stable in November, 2023.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-23.11-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- When using [opt-programs.fish.enable](#opt-programs.fish.enable), the setup code for
|
||||||
|
[opt-home.sessionVariables](#opt-home.sessionVariables) is now translated with
|
||||||
|
[babelfish](https://github.com/bouk/babelfish). This should result
|
||||||
|
in significantly faster shell startup times but could theoretically
|
||||||
|
break if you have very complex bash expressions in a session
|
||||||
|
variable. Please report any issues you experience.
|
||||||
|
|
||||||
|
- The `.release` file in the Home Manager source tree has been
|
||||||
|
supplanted by `release.json`, which contains more information about
|
||||||
|
the branch. If you have any external code reading this file, please
|
||||||
|
switch to consuming `release.json` instead. The `.release` file will
|
||||||
|
be removed in 24.05.
|
||||||
|
|
||||||
|
- Home Manager has migrated to using the upstream Nixpkgs
|
||||||
|
`lib.nixosOptionsDoc` processor for option documentation. If you
|
||||||
|
have any external Home Manager modules, their option descriptions
|
||||||
|
and literal examples should be translated to [Nixpkgs-flavoured
|
||||||
|
Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
|
||||||
|
|
||||||
|
- The `services.password-store-sync` module has been removed. Use
|
||||||
|
`services.git-sync` instead.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-23.11-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
|
||||||
|
\"23.11\" or later.
|
||||||
|
|
||||||
|
- Nothing, yet.
|
|
@ -1,20 +0,0 @@
|
||||||
[[sec-release-24.05]]
|
|
||||||
== Release 24.05
|
|
||||||
|
|
||||||
This is the current unstable branch and the information in this section is therefore not final.
|
|
||||||
|
|
||||||
[[sec-release-24.05-highlights]]
|
|
||||||
=== Highlights
|
|
||||||
|
|
||||||
This release has the following notable changes:
|
|
||||||
|
|
||||||
* The `.release` file in the Home Manager project root has been removed.
|
|
||||||
Please use the `release.json` file instead.
|
|
||||||
|
|
||||||
[[sec-release-24.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 "24.05" or later.
|
|
||||||
|
|
||||||
* Nothing, yet.
|
|
19
docs/release-notes/rl-2405.md
Normal file
19
docs/release-notes/rl-2405.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Release 24.05 {#sec-release-24.05}
|
||||||
|
|
||||||
|
This is the current unstable branch and the information in this section
|
||||||
|
is therefore not final.
|
||||||
|
|
||||||
|
## Highlights {#sec-release-24.05-highlights}
|
||||||
|
|
||||||
|
This release has the following notable changes:
|
||||||
|
|
||||||
|
- The `.release` file in the Home Manager project root has been
|
||||||
|
removed. Please use the `release.json` file instead.
|
||||||
|
|
||||||
|
## State Version Changes {#sec-release-24.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
|
||||||
|
\"24.05\" or later.
|
||||||
|
|
||||||
|
- Nothing, yet.
|
|
@ -43,6 +43,12 @@
|
||||||
github = "CarlosLoboxyz";
|
github = "CarlosLoboxyz";
|
||||||
githubId = 86011416;
|
githubId = 86011416;
|
||||||
};
|
};
|
||||||
|
considerate = {
|
||||||
|
name = "Viktor Kronvall";
|
||||||
|
email = "viktor.kronvall@gmail.com";
|
||||||
|
github = "considerate";
|
||||||
|
githubId = 217918;
|
||||||
|
};
|
||||||
cvoges12 = {
|
cvoges12 = {
|
||||||
name = "Clayton Voges";
|
name = "Clayton Voges";
|
||||||
email = "38054771+cvoges12@users.noreply.github.com";
|
email = "38054771+cvoges12@users.noreply.github.com";
|
||||||
|
|
|
@ -10,8 +10,11 @@
|
||||||
|
|
||||||
nmt.script = ''
|
nmt.script = ''
|
||||||
assertFileExists home-path/share/doc/home-manager/index.xhtml
|
assertFileExists home-path/share/doc/home-manager/index.xhtml
|
||||||
assertFileExists home-path/share/doc/home-manager/options.html
|
|
||||||
assertFileExists home-path/share/doc/home-manager/options.json
|
assertFileExists home-path/share/doc/home-manager/options.json
|
||||||
|
assertFileExists home-path/share/doc/home-manager/options.xhtml
|
||||||
|
assertFileExists home-path/share/doc/home-manager/nixos-options.xhtml
|
||||||
|
assertFileExists home-path/share/doc/home-manager/nix-darwin-options.xhtml
|
||||||
|
assertFileExists home-path/share/doc/home-manager/release-notes.xhtml
|
||||||
assertFileExists home-path/share/man/man1/home-manager.1
|
assertFileExists home-path/share/man/man1/home-manager.1
|
||||||
assertFileExists home-path/share/man/man5/home-configuration.nix.5
|
assertFileExists home-path/share/man/man5/home-configuration.nix.5
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue