mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
deploy: b00a03b668
This commit is contained in:
parent
d561771117
commit
44faf1c824
5 changed files with 3381 additions and 2886 deletions
26
index.xhtml
26
index.xhtml
|
@ -9,7 +9,7 @@
|
|||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="Home Manager Manual" />
|
||||
<link rel="next" href="options.html" title="Appendix A. Home Manager Configuration Options" />
|
||||
<link rel="next" href="options.xhtml" title="Appendix A. Home Manager Configuration Options" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
|
@ -20,7 +20,7 @@
|
|||
<tr>
|
||||
<td width="20%" align="left"> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="options.html">Next</a></td>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="options.xhtml">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
|
@ -33,7 +33,7 @@
|
|||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="preface"> <a href="index.xhtml#preface">Preface</a> </span></dt><dt> <span class="part"> <a href="index.xhtml#ch-installation">Installing Home Manager</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-install-standalone">Standalone installation</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-install-nixos-module">NixOS module</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-install-nix-darwin-module">nix-darwin module</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-usage">Using Home Manager</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-usage-configuration">Configuration Example</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-rollbacks">Rollbacks</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-dotfiles">Keeping your ~ safe from harm</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-graphical">Graphical services</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-updating">Updating</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-nix-flakes">Nix Flakes</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-flakes-prerequisites">Prerequisites</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-standalone">Standalone setup</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-nixos-module">NixOS module</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-nix-darwin-module">nix-darwin module</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-writing-modules">Writing Home Manager Modules</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-option-types">Option Types</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-contributing">Contributing</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-contrib-getting-started">Getting started</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-guidelines">Guidelines</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-news">News</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-tests">Tests</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-3rd-party">Third-Party Tools and Extensions</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-3rd-party-module-collections">Module Collections</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-faq">Frequently Asked Questions (FAQ)</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#_why_is_there_a_collision_error_when_switching_generation">Why is there a collision error when switching generation?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_why_are_the_session_variables_not_set">Why are the session variables not set?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_to_set_up_a_configuration_for_multiple_users_machines">How to set up a configuration for multiple users/machines?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal">Why do I get an error message about <code class="literal">ca.desrt.dconf</code> or <code class="literal">dconf.service</code>?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_do_i_install_packages_from_nixpkgs_unstable">How do I install packages from Nixpkgs unstable?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_do_i_override_the_package_used_by_a_module">How do I override the package used by a module?</a> </span></dt></dl></dd><dt> <span class="appendix"> <a href="options.html">A. Home Manager Configuration Options</a> </span></dt><dt> <span class="appendix"> <a href="nixos-options.html">B. NixOS Configuration Options</a> </span></dt><dt> <span class="appendix"> <a href="nix-darwin-options.html">C. nix-darwin Configuration Options</a> </span></dt> </dl></div>
|
||||
<div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="preface"> <a href="index.xhtml#preface">Preface</a> </span></dt><dt> <span class="part"> <a href="index.xhtml#ch-installation">Installing Home Manager</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-install-standalone">Standalone installation</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-install-nixos-module">NixOS module</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-install-nix-darwin-module">nix-darwin module</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-usage">Using Home Manager</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-usage-configuration">Configuration Example</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-rollbacks">Rollbacks</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-dotfiles">Keeping your ~ safe from harm</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-usage-graphical">Graphical services</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-updating">Updating</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-nix-flakes">Nix Flakes</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-flakes-prerequisites">Prerequisites</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-standalone">Standalone setup</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-nixos-module">NixOS module</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-flakes-nix-darwin-module">nix-darwin module</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-writing-modules">Writing Home Manager Modules</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-option-types">Option Types</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-contributing">Contributing</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-contrib-getting-started">Getting started</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-guidelines">Guidelines</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-news">News</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#sec-tests">Tests</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-3rd-party">Third-Party Tools and Extensions</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#sec-3rd-party-module-collections">Module Collections</a> </span></dt></dl></dd><dt> <span class="part"> <a href="index.xhtml#ch-faq">Frequently Asked Questions (FAQ)</a> </span></dt><dd><dl><dt> <span class="section"> <a href="index.xhtml#_why_is_there_a_collision_error_when_switching_generation">Why is there a collision error when switching generation?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_why_are_the_session_variables_not_set">Why are the session variables not set?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_to_set_up_a_configuration_for_multiple_users_machines">How to set up a configuration for multiple users/machines?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal">Why do I get an error message about <code class="literal">ca.desrt.dconf</code> or <code class="literal">dconf.service</code>?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_do_i_install_packages_from_nixpkgs_unstable">How do I install packages from Nixpkgs unstable?</a> </span></dt><dt> <span class="section"> <a href="index.xhtml#_how_do_i_override_the_package_used_by_a_module">How do I override the package used by a module?</a> </span></dt></dl></dd><dt> <span class="appendix"> <a href="options.xhtml">A. Home Manager Configuration Options</a> </span></dt><dt> <span class="appendix"> <a href="nixos-options.xhtml">B. NixOS Configuration Options</a> </span></dt><dt> <span class="appendix"> <a href="nix-darwin-options.xhtml">C. nix-darwin Configuration Options</a> </span></dt><dt> <span class="appendix"> <a href="release-notes.xhtml">D. Release Notes</a> </span></dt> </dl></div>
|
||||
<div class="preface"> <div class="titlepage"> <div> <div> <h1 class="title" > <a id="preface"></a>Preface </h1> </div> </div></div><p>This manual will eventually describe how to install, use, and extend Home
|
||||
Manager.</p><p>If you encounter problems then please reach out on the IRC channel
|
||||
<a class="link" href="https://webchat.oftc.net/?channels=home-manager" target="_top">#home-manager</a>
|
||||
|
@ -89,7 +89,7 @@ users can use utilities such as
|
|||
<a class="link" href="https://github.com/bouk/babelfish" target="_top">babelfish</a>.</p><p>For example, if you use Bash then add</p><pre><code class="programlisting bash">. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
||||
</code></pre><p>to your <code class="literal">~/.profile</code> file.</p></li></ol></div><p>If instead of using channels you want to run Home Manager from a Git
|
||||
checkout of the repository then you can use the
|
||||
<a class="link" href="options.html#opt-programs.home-manager.path" >home-manager.path</a> option to specify the absolute
|
||||
<a class="link" href="options.xhtml#opt-programs.home-manager.path" >home-manager.path</a> option to specify the absolute
|
||||
path to the repository.</p><p>Once installed you can see <a class="link" href="index.xhtml#ch-usage" title="Using Home Manager" >Using Home Manager</a> for a more detailed
|
||||
description of Home Manager and how to use it.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-install-nixos-module"></a>NixOS module </h2> </div> </div></div><p>Home Manager provides a NixOS module that allows you to prepare user
|
||||
|
@ -125,7 +125,7 @@ output using</p><pre><code class="programlisting shell">$ systemctl status &quo
|
|||
configuration then you must add either</p><pre><code class="programlisting bash">. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
||||
</code></pre><p>or</p><pre><code class="programlisting bash">. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
|
||||
</code></pre><p>to your shell configuration, depending on whether
|
||||
<a class="link" href="nixos-options.html#nixos-opt-home-manager.useUserPackages" >home-manager.useUserPackages</a> is enabled. This file can
|
||||
<a class="link" href="nixos-options.xhtml#nixos-opt-home-manager.useUserPackages" >home-manager.useUserPackages</a> is enabled. This file can
|
||||
be sourced directly by POSIX.2-like shells such as
|
||||
<a class="link" href="https://www.gnu.org/software/bash/" target="_top">Bash</a> or <a class="link" href="http://zsh.sourceforge.net/" target="_top">Z
|
||||
shell</a>. <a class="link" href="https://fishshell.com" target="_top">Fish</a> users
|
||||
|
@ -175,7 +175,7 @@ include a basic Bash configuration and the packages atool and httpie.</p><p>If y
|
|||
configuration then you must add either</p><pre><code class="programlisting bash">. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
||||
</code></pre><p>or</p><pre><code class="programlisting bash">. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
|
||||
</code></pre><p>to your shell configuration, depending on whether
|
||||
<a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.useUserPackages" >home-manager.useUserPackages</a> is enabled. This
|
||||
<a class="link" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.useUserPackages" >home-manager.useUserPackages</a> is enabled. This
|
||||
file can be sourced directly by POSIX.2-like shells such as
|
||||
<a class="link" href="https://www.gnu.org/software/bash/" target="_top">Bash</a> or <a class="link" href="http://zsh.sourceforge.net/" target="_top">Z
|
||||
shell</a>. <a class="link" href="https://fishshell.com" target="_top">Fish</a> users
|
||||
|
@ -216,10 +216,10 @@ error: A definition for option `programs.emacs.enable' is not of type `bool
|
|||
</code></pre><p>The message indicates that you must provide a Boolean value for this
|
||||
option, that is, either <code class="literal">true</code> or <code class="literal">false</code>. The documentation of each
|
||||
option will state the expected type, for
|
||||
<a class="link" href="options.html#opt-programs.emacs.enable" >programs.emacs.enable</a> you will see “Type: boolean”. You
|
||||
<a class="link" href="options.xhtml#opt-programs.emacs.enable" >programs.emacs.enable</a> you will see “Type: boolean”. You
|
||||
there also find information about the default value and a description of
|
||||
the option. You can find the complete option documentation in
|
||||
<a class="link" href="options.html" title="Appendix A. Home Manager Configuration Options" >Home Manager Configuration Options</a> or directly in the terminal by running</p><pre><code class="programlisting shell">man home-configuration.nix
|
||||
<a class="link" href="options.xhtml" title="Appendix A. Home Manager Configuration Options" >Home Manager Configuration Options</a> or directly in the terminal by running</p><pre><code class="programlisting shell">man home-configuration.nix
|
||||
</code></pre><p>Once a configuration is successfully built, it can be activated. The
|
||||
activation performs the steps necessary to make the files, programs, and
|
||||
services available in your user environment. The <code class="literal">home-manager switch</code>
|
||||
|
@ -501,14 +501,14 @@ chapter of the NixOS manual.</p><div class="toc"> <p><strong>Table of Contents</
|
|||
few Home Manager options, however, make use of custom types that are
|
||||
worth describing in more detail. These are the option types <code class="literal">dagOf</code> and
|
||||
<code class="literal">gvariant</code> that are used, for example, by
|
||||
<a class="link" href="options.html#opt-programs.ssh.matchBlocks" >programs.ssh.matchBlocks</a> and <a class="link" href="options.html#opt-dconf.settings" >dconf.settings</a>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a id="sec-option-types-dag" /><code class="literal">hm.types.dagOf</code></span></dt><dd><p>Options of this type have attribute sets as values where each member
|
||||
<a class="link" href="options.xhtml#opt-programs.ssh.matchBlocks" >programs.ssh.matchBlocks</a> and <a class="link" href="options.xhtml#opt-dconf.settings" >dconf.settings</a>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a id="sec-option-types-dag" /><code class="literal">hm.types.dagOf</code></span></dt><dd><p>Options of this type have attribute sets as values where each member
|
||||
is a node in a <a class="link" href="https://en.wikipedia.org/w/index.php?title=Directed_acyclic_graph&oldid=939656095" target="_top">directed acyclic
|
||||
graph</a>
|
||||
(DAG). This allows the attribute set entries to express dependency
|
||||
relations among themselves. This can, for example, be used to
|
||||
control the order of match blocks in a OpenSSH client configuration
|
||||
or the order of activation script blocks in
|
||||
<a class="link" href="options.html#opt-home.activation" >home.activation</a>.</p><p>A number of functions are provided to create DAG nodes. The
|
||||
<a class="link" href="options.xhtml#opt-home.activation" >home.activation</a>.</p><p>A number of functions are provided to create DAG nodes. The
|
||||
functions are shown below with examples using an option <code class="literal">foo.bar</code> of
|
||||
type <code class="literal">hm.types.dagOf types.int</code>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a id="sec-option-types-dag-entryAnywhere" /><code class="literal">hm.dag.entryAnywhere (value: T) : DagEntry<T></code></span></dt><dd><p>Indicates that <code class="literal">value</code> can be placed anywhere within the DAG.
|
||||
This is also the default for plain attribute set entries, that
|
||||
|
@ -858,8 +858,8 @@ switch.</p><p>You could also opt to unistall <span class="emphasis"><em>all</em>
|
|||
with <code class="literal">nix-env --uninstall '*'</code>.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="_why_are_the_session_variables_not_set"></a>Why are the session variables not set? </h2> </div> </div></div><p>Home Manager is only able to set session variables automatically if it
|
||||
manages your Bash, Z shell, or fish shell configuration. To enable such
|
||||
management you use <a class="link" href="options.html#opt-programs.bash.enable" >programs.bash.enable</a>,
|
||||
<a class="link" href="options.html#opt-programs.zsh.enable" >programs.zsh.enable</a>, or <a class="link" href="options.html#opt-programs.fish.enable" >programs.fish.enable</a>.</p><p>If you don’t want to let Home Manager manage your shell then you will
|
||||
management you use <a class="link" href="options.xhtml#opt-programs.bash.enable" >programs.bash.enable</a>,
|
||||
<a class="link" href="options.xhtml#opt-programs.zsh.enable" >programs.zsh.enable</a>, or <a class="link" href="options.xhtml#opt-programs.fish.enable" >programs.fish.enable</a>.</p><p>If you don’t want to let Home Manager manage your shell then you will
|
||||
have to manually source the
|
||||
<code class="literal">~/.nix-profile/etc/profile.d/hm-session-vars.sh</code> file in an appropriate
|
||||
way. In Bash and Z shell this can be done by adding</p><pre><code class="programlisting bash">. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
||||
|
@ -951,7 +951,7 @@ in
|
|||
<tr>
|
||||
<td width="40%" align="left"> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="options.html">Next</a></td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="options.xhtml">Next</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top"> </td>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="Home Manager Manual" />
|
||||
<link rel="up" href="index.xhtml" title="Home Manager Manual" /><link rel="prev" href="nixos-options.html" title="Appendix B. NixOS Configuration Options" />
|
||||
<link rel="up" href="index.xhtml" title="Home Manager Manual" /><link rel="prev" href="nixos-options.xhtml" title="Appendix B. NixOS Configuration Options" /><link rel="next" href="release-notes.xhtml" title="Appendix D. Release Notes" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
|
@ -18,9 +18,9 @@
|
|||
<th colspan="3" align="center">Appendix C. nix-darwin Configuration Options</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%" align="left"><a accesskey="p" href="nixos-options.html">Prev</a> </td>
|
||||
<td width="20%" align="left"><a accesskey="p" href="nixos-options.xhtml">Prev</a> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> </td>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="release-notes.xhtml">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
|
@ -29,7 +29,7 @@
|
|||
<dl class="variablelist">
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.backupFileExtension"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code>
|
||||
<a id="nix-darwin-opt-home-manager.backupFileExtension"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -57,7 +57,7 @@ null or string</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.extraSpecialArgs"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code>
|
||||
<a id="nix-darwin-opt-home-manager.extraSpecialArgs"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -85,7 +85,7 @@ attribute set</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.sharedModules"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code>
|
||||
<a id="nix-darwin-opt-home-manager.sharedModules"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -112,7 +112,7 @@ list of raw value</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.useGlobalPkgs"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code>
|
||||
<a id="nix-darwin-opt-home-manager.useGlobalPkgs"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -141,7 +141,7 @@ boolean</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.useUserPackages"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code>
|
||||
<a id="nix-darwin-opt-home-manager.useUserPackages"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -169,7 +169,7 @@ boolean</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.users"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.users"><code class="option">home-manager.users</code>
|
||||
<a id="nix-darwin-opt-home-manager.users"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.users"><code class="option">home-manager.users</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -193,7 +193,7 @@ attribute set of (Home Manager module)</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nix-darwin-opt-home-manager.verbose"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-home-manager.verbose"><code class="option">home-manager.verbose</code>
|
||||
<a id="nix-darwin-opt-home-manager.verbose"></a><a class="term" href="nix-darwin-options.xhtml#nix-darwin-opt-home-manager.verbose"><code class="option">home-manager.verbose</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -224,14 +224,14 @@ boolean</p>
|
|||
<hr />
|
||||
<table width="100%" summary="Navigation footer">
|
||||
<tr>
|
||||
<td width="40%" align="left"><a accesskey="p" href="nixos-options.html">Prev</a> </td>
|
||||
<td width="40%" align="left"><a accesskey="p" href="nixos-options.xhtml">Prev</a> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> </td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="release-notes.xhtml">Next</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top">Appendix B. NixOS Configuration Options </td>
|
||||
<td width="20%" align="center"><a accesskey="h" href="index.xhtml">Home</a></td>
|
||||
<td width="40%" align="right" valign="top"> </td>
|
||||
<td width="40%" align="right" valign="top"> Appendix D. Release Notes</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -9,7 +9,7 @@
|
|||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="Home Manager Manual" />
|
||||
<link rel="up" href="index.xhtml" title="Home Manager Manual" /><link rel="prev" href="options.html" title="Appendix A. Home Manager Configuration Options" /><link rel="next" href="nix-darwin-options.html" title="Appendix C. nix-darwin Configuration Options" />
|
||||
<link rel="up" href="index.xhtml" title="Home Manager Manual" /><link rel="prev" href="options.xhtml" title="Appendix A. Home Manager Configuration Options" /><link rel="next" href="nix-darwin-options.xhtml" title="Appendix C. nix-darwin Configuration Options" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
|
@ -18,9 +18,9 @@
|
|||
<th colspan="3" align="center">Appendix B. NixOS Configuration Options</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||||
<td width="20%" align="left"><a accesskey="p" href="options.xhtml">Prev</a> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="nix-darwin-options.html">Next</a></td>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="nix-darwin-options.xhtml">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
|
@ -29,7 +29,7 @@
|
|||
<dl class="variablelist">
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.backupFileExtension"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code>
|
||||
<a id="nixos-opt-home-manager.backupFileExtension"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -57,7 +57,7 @@ null or string</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.extraSpecialArgs"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code>
|
||||
<a id="nixos-opt-home-manager.extraSpecialArgs"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -85,7 +85,7 @@ attribute set</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.sharedModules"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code>
|
||||
<a id="nixos-opt-home-manager.sharedModules"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -112,7 +112,7 @@ list of raw value</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.useGlobalPkgs"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code>
|
||||
<a id="nixos-opt-home-manager.useGlobalPkgs"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -141,7 +141,7 @@ boolean</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.useUserPackages"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code>
|
||||
<a id="nixos-opt-home-manager.useUserPackages"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -169,7 +169,7 @@ boolean</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.users"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.users"><code class="option">home-manager.users</code>
|
||||
<a id="nixos-opt-home-manager.users"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.users"><code class="option">home-manager.users</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -193,7 +193,7 @@ attribute set of (Home Manager module)</p>
|
|||
</dd>
|
||||
<dt>
|
||||
<span class="term">
|
||||
<a id="nixos-opt-home-manager.verbose"></a><a class="term" href="nixos-options.html#nixos-opt-home-manager.verbose"><code class="option">home-manager.verbose</code>
|
||||
<a id="nixos-opt-home-manager.verbose"></a><a class="term" href="nixos-options.xhtml#nixos-opt-home-manager.verbose"><code class="option">home-manager.verbose</code>
|
||||
</a>
|
||||
</span>
|
||||
</dt>
|
||||
|
@ -224,9 +224,9 @@ boolean</p>
|
|||
<hr />
|
||||
<table width="100%" summary="Navigation footer">
|
||||
<tr>
|
||||
<td width="40%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||||
<td width="40%" align="left"><a accesskey="p" href="options.xhtml">Prev</a> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="nix-darwin-options.html">Next</a></td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="nix-darwin-options.xhtml">Next</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top">Appendix A. Home Manager Configuration Options </td>
|
File diff suppressed because it is too large
Load diff
495
release-notes.xhtml
Normal file
495
release-notes.xhtml
Normal file
|
@ -0,0 +1,495 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Appendix D. Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" /><link rel="stylesheet" type="text/css" href="highlightjs/tomorrow-night.min.css" /><link rel="stylesheet" type="text/css" href="highlightjs/highlight-style.css" />
|
||||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="Home Manager Manual" />
|
||||
<link rel="up" href="index.xhtml" title="Home Manager Manual" /><link rel="prev" href="nix-darwin-options.xhtml" title="Appendix C. nix-darwin Configuration Options" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
<table width="100%" summary="Navigation header">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Appendix D. Release Notes</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%" align="left"><a accesskey="p" href="nix-darwin-options.xhtml">Prev</a> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
</div><div class="appendix"> <div class="titlepage"> <div> <div> <h1 class="title" > <a id="ch-release-notes"></a>Appendix D. Release Notes </h1> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-24.05">Release 24.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-23.11">Release 23.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-23.05">Release 23.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-22.11">Release 22.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-22.05">Release 22.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-21.11">Release 21.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-21.05">Release 21.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-20.09">Release 20.09</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-20.03">Release 20.03</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-19.09">Release 19.09</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-19.03">Release 19.03</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-18.09">Release 18.09</a> </span></dt> </dl></div><p>This section lists the release notes for stable versions of Home Manager
|
||||
and the current unstable version.</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-24.05"></a>Release 24.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-24.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-24.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>This is the current unstable branch and the information in this section
|
||||
is therefore not final.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-24.05-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>The <code class="literal">.release</code> file in the Home Manager project root has been
|
||||
removed. Please use the <code class="literal">release.json</code> file instead.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-24.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"24.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Nothing, yet.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-23.11"></a>Release 23.11 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-23.11-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-23.11-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 23.11 release branch became stable in November, 2023.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-23.11-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>When using <a class="link" href="options.xhtml#opt-programs.fish.enable" >opt-programs.fish.enable</a>, the setup code for
|
||||
<a class="link" href="options.xhtml#opt-home.sessionVariables" >opt-home.sessionVariables</a> is now translated with
|
||||
<a class="link" href="https://github.com/bouk/babelfish" target="_top">babelfish</a>. 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.</p></li><li class="listitem"><p>The <code class="literal">.release</code> file in the Home Manager source tree has been
|
||||
supplanted by <code class="literal">release.json</code>, which contains more information about
|
||||
the branch. If you have any external code reading this file, please
|
||||
switch to consuming <code class="literal">release.json</code> instead. The <code class="literal">.release</code> file will
|
||||
be removed in 24.05.</p></li><li class="listitem"><p>Home Manager has migrated to using the upstream Nixpkgs
|
||||
<code class="literal">lib.nixosOptionsDoc</code> processor for option documentation. If you
|
||||
have any external Home Manager modules, their option descriptions
|
||||
and literal examples should be translated to <a class="link" href="https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup" target="_top">Nixpkgs-flavoured
|
||||
Markdown</a>.</p></li><li class="listitem"><p>The <code class="literal">services.password-store-sync</code> module has been removed. Use
|
||||
<code class="literal">services.git-sync</code> instead.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-23.11-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"23.11" or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Nothing, yet.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-23.05"></a>Release 23.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-23.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-23.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 23.05 release branch became the stable branch in May, 2023.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-23.05-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Firefox add-ons are now managed per-profile. That is, if you are
|
||||
currently having</p><pre><code class="programlisting nix">programs.firefox.extensions = [ foo bar ];
|
||||
</code></pre><p>in your configuration then you must change it to</p><pre><code class="programlisting nix">programs.firefox.profiles.myprofile.extensions = [ foo bar ];
|
||||
</code></pre></li><li class="listitem"><p>The default configuration location has been changed from
|
||||
<code class="literal">~/.config/nixpkgs/home.nix</code> to <code class="literal">~/.config/home-manager/home.nix</code>.</p><p>Similarly, if you are using a Nix flake based setup then the default
|
||||
flake file location has changed from <code class="literal">~/.config/nixpkgs/flake.nix</code>
|
||||
to <code class="literal">~/.config/home-manager/flake.nix</code>.</p><p>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.</p></li><li class="listitem"><p>The <code class="literal">home-manager</code> tool now offers an <code class="literal">init</code> 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 <a class="link" href="index.xhtml#sec-flakes-standalone" title="Standalone setup" >sec-flakes-standalone</a> for
|
||||
more.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-23.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"23.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The options</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: circle;"><li class="listitem"><p><a class="link" href="options.xhtml#opt-xsession.windowManager.i3.config.window.titlebar" >opt-xsession.windowManager.i3.config.window.titlebar</a></p></li><li class="listitem"><p><a class="link" href="options.xhtml#opt-xsession.windowManager.i3.config.floating.titlebar" >opt-xsession.windowManager.i3.config.floating.titlebar</a></p></li><li class="listitem"><p><a class="link" href="options.xhtml#opt-wayland.windowManager.sway.config.window.titlebar" >opt-wayland.windowManager.sway.config.window.titlebar</a></p></li><li class="listitem"><p><a class="link" href="options.xhtml#opt-wayland.windowManager.sway.config.floating.titlebar" >opt-wayland.windowManager.sway.config.floating.titlebar</a></p></li></ul></div><p>now default to <code class="literal">true</code> which is consistent with the default values
|
||||
for those options used by <code class="literal">i3</code> and <code class="literal">sway</code>.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-22.11"></a>Release 22.11 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-22.11-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-22.11-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 22.11 release branch became the stable branch in November, 2022.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-22.11-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-home.stateVersion" >opt-home.stateVersion</a> 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</p><pre><code class="programlisting nix">home.stateVersion = "18.09";
|
||||
</code></pre><p>to your configuration.</p></li><li class="listitem"><p>The Flake function <code class="literal">homeManagerConfiguration</code> has been simplified.
|
||||
Specifically, the arguments</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: circle;"><li class="listitem"><p><code class="literal">configuration</code>,</p></li><li class="listitem"><p><code class="literal">username</code>,</p></li><li class="listitem"><p><code class="literal">homeDirectory</code>,</p></li><li class="listitem"><p><code class="literal">stateVersion</code>,</p></li><li class="listitem"><p><code class="literal">extraModules</code>, and</p></li><li class="listitem"><p><code class="literal">system</code></p></li></ul></div><p>have been removed. Instead use the new <code class="literal">modules</code> argument, which
|
||||
accepts a list of NixOS modules.</p><p>Further, the <code class="literal">pkgs</code> argument is now mandatory and should be set to
|
||||
<code class="literal">nixpkgs.legacyPackages.${system}</code> where <code class="literal">nixpkgs</code> is the Nixpkgs
|
||||
input of your choice.</p><p>For example, if your Flake currently contains</p><pre><code class="programlisting nix">homeManagerConfiguration {
|
||||
configuration = import ./home.nix;
|
||||
system = "x86_64-linux";
|
||||
username = "jdoe";
|
||||
homeDirectory = "/home/jdoe";
|
||||
stateVersion = "22.05";
|
||||
extraModules = [ ./some-extra-module.nix ];
|
||||
}
|
||||
</code></pre><p>then you can change it to</p><pre><code class="programlisting nix">homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
modules = [
|
||||
./home.nix
|
||||
./some-extra-module.nix
|
||||
{
|
||||
home = {
|
||||
username = "jdoe";
|
||||
homeDirectory = "/home/jdoe";
|
||||
stateVersion = "22.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
</code></pre><p>Of course, you can move the assignment of <a class="link" href="options.xhtml#opt-home.username" >opt-home.username</a>,
|
||||
<a class="link" href="options.xhtml#opt-home.stateVersion" >opt-home.stateVersion</a> to
|
||||
some other file or simply place them in your <code class="literal">home.nix</code>.</p></li><li class="listitem"><p>The <code class="literal">services.picom</code> module has been refactored to use structural
|
||||
settings.</p><p>As a result <code class="literal">services.picom.extraOptions</code> has been removed in favor
|
||||
of <a class="link" href="options.xhtml#opt-services.picom.settings" >opt-services.picom.settings</a>. Also, <code class="literal">services.picom.blur*</code>
|
||||
were removed since upstream changed the blur settings to be more
|
||||
flexible. You can migrate the blur settings to use
|
||||
<a class="link" href="options.xhtml#opt-services.picom.settings" >opt-services.picom.settings</a> instead.</p></li><li class="listitem"><p>The <code class="literal">services.compton</code> module has been removed. It was deprecated in
|
||||
release 20.03. Use <code class="literal">services.picom</code> instead.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-22.11-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"22.11" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-services.mpd.musicDirectory" >opt-services.mpd.musicDirectory</a> option now defaults to
|
||||
the value of <a class="link" href="options.xhtml#opt-xdg.userDirs.music" >opt-xdg.userDirs.music</a> if
|
||||
<a class="link" href="options.xhtml#opt-xdg.userDirs.enable" >opt-xdg.userDirs.enable</a> is enabled. Otherwise it is
|
||||
undefined and must be specified in the user configuration.</p></li><li class="listitem"><p>The activation script now resets <code class="literal">PATH</code> before running. Before, the
|
||||
user’s <code class="literal">PATH</code> 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.</p><p>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 <code class="literal">PATH</code> reduces reproducibility.</p><p>If you need to run a command in an activation script block then
|
||||
refer to the command by its absolute command path, such as
|
||||
<code class="literal">${pkgs.hello}/bin/hello</code>.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-22.05"></a>Release 22.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-22.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-22.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 22.05 release branch became the stable branch in May, 2022.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-22.05-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <code class="literal">programs.waybar.settings.modules</code> option was removed. Waybar
|
||||
modules should now be declared directly under
|
||||
<code class="literal">programs.waybar.settings</code>.</p></li><li class="listitem"><p>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 <code class="literal">home-manager</code> command line tool
|
||||
and the activation script.</p><p>If you would like to contribute to the translation effort then you
|
||||
can do so through the <a class="link" href="https://hosted.weblate.org/projects/home-manager/" target="_top">Home Manager Weblate
|
||||
project</a>.</p></li><li class="listitem"><p>A new module, <code class="literal">launchd.agents</code> was added. Use this to enable
|
||||
services based on macOS LaunchAgents.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-22.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"22.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.waybar.settings" >opt-programs.waybar.settings</a> option now allows defining
|
||||
modules directly under <a class="link" href="options.xhtml#opt-programs.waybar.settings" >opt-programs.waybar.settings</a>.
|
||||
Defining modules under <code class="literal">programs.waybar.settings.modules</code> will now
|
||||
be an error. For example,</p><pre><code class="programlisting nix">programs.waybar.settings.modules."custom/my-module" = { };
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">programs.waybar.settings."custom/my-module" = { };
|
||||
</code></pre></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-21.11"></a>Release 21.11 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-21.11-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-21.11-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 21.11 release branch became the stable branch in November, 2021.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-21.11-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>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.</p><p>Previously, modules that were platform specific would only be loaded
|
||||
on that particular platform. For example, a module defining a
|
||||
<a class="link" href="https://systemd.io/" target="_top">systemd</a> 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.</p><p>While the above benefits are quite nice, avoiding module loads also
|
||||
brings a few problems. For example, the <a class="link" href="https://nix-community.github.io/home-manager/" target="_top">public
|
||||
documentation</a> 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.</p><p>Ultimately, the benefits of loading all modules won and the behavior
|
||||
has now changed. For associated discussion see
|
||||
<a class="link" href="https://github.com/nix-community/home-manager/issues/1906" target="_top">issue #1906</a>.</p></li><li class="listitem"><p>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.</p><p>You can replicate your old configuration by moving those options to
|
||||
<a class="link" href="options.xhtml#opt-programs.rofi.theme" >opt-programs.rofi.theme</a>. Keep in mind that the syntax is
|
||||
different so you may need to do some changes.</p></li><li class="listitem"><p>Taskwarrior version 2.6.0 respects XDG Specification for the config
|
||||
file now. Option <a class="link" href="options.xhtml#opt-programs.taskwarrior.config" >opt-programs.taskwarrior.config</a> and friends
|
||||
now generate the config file at <code class="literal">$XDG_CONFIG_HOME/task/taskrc</code>
|
||||
instead of <code class="literal">~/.taskrc</code>.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-21.11-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"21.11" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-home.keyboard" >opt-home.keyboard</a> option now defaults to <code class="literal">null</code>, meaning
|
||||
that Home Manager won’t do any keyboard layout management. For
|
||||
example, <code class="literal">setxkbmap</code> won’t be run in X sessions.</p></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.pet.settings" >opt-programs.pet.settings</a> option no longer place its
|
||||
value inside a <code class="literal">General</code> attribute. For example,</p><pre><code class="programlisting nix">programs.pet.settings.editor = "nvim";
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">programs.pet.settings.General.editor = "nvim";
|
||||
</code></pre></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.waybar.settings" >opt-programs.waybar.settings</a> option now allows defining
|
||||
modules directly under <a class="link" href="options.xhtml#opt-programs.waybar.settings" >opt-programs.waybar.settings</a>. For
|
||||
example,</p><pre><code class="programlisting nix">programs.waybar.settings.modules."custom/my-module" = { };
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">programs.waybar.settings."custom/my-module" = { };
|
||||
</code></pre></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-21.05"></a>Release 21.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-21.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-21.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 21.05 release branch became the stable branch in May, 2021.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-21.05-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>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’ <code class="literal">invocation</code> keys. For example,</p><pre><code class="programlisting nix">programs.broot.verbs = {
|
||||
"p" = { execution = ":parent"; };
|
||||
};
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">programs.broot.verbs = [
|
||||
{
|
||||
invocation = "p";
|
||||
execution = ":parent";
|
||||
}
|
||||
];
|
||||
</code></pre></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.mpv.package" >opt-programs.mpv.package</a> option has been changed to
|
||||
allow custom derivations. The following configuration is now
|
||||
possible:</p><pre><code class="programlisting nix">programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
|
||||
vapoursynthSupport = true;
|
||||
}) {
|
||||
extraMakeWrapperArgs = [
|
||||
"--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth"
|
||||
];
|
||||
});
|
||||
</code></pre><p>As a result of this change, <a class="link" href="options.xhtml#opt-programs.mpv.package" >opt-programs.mpv.package</a> is no
|
||||
longer the resulting derivation. Use the newly introduced
|
||||
<code class="literal">programs.mpv.finalPackage</code> instead.</p></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.rofi.extraConfig" >opt-programs.rofi.extraConfig</a> option is now an attribute
|
||||
set rather than a string. To migrate, move each line into the
|
||||
attribute set, removing the <code class="literal">rofi.</code> prefix from the keys. For
|
||||
example,</p><pre><code class="programlisting nix">programs.rofi.extraConfig = ''
|
||||
rofi.show-icons: true
|
||||
rofi.modi: drun,emoji,ssh
|
||||
'';
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">programs.rofi.extraConfig = {
|
||||
show-icons = true;
|
||||
modi = "drun,emoji,ssh";
|
||||
};
|
||||
</code></pre></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.rofi.theme" >opt-programs.rofi.theme</a> option now supports defining a
|
||||
theme using an attribute set, the following configuration is now
|
||||
possible:</p><pre><code class="programlisting 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";
|
||||
};
|
||||
};
|
||||
</code></pre></li><li class="listitem"><p>The <code class="literal">services.redshift.extraOptions</code> and
|
||||
<code class="literal">services.gammastep.extraOptions</code> options were removed in favor of
|
||||
<a class="link" href="options.xhtml#opt-services.redshift.settings" >opt-services.redshift.settings</a> and
|
||||
<code class="literal">services.gammastep.settings</code>, that are now an attribute set rather
|
||||
than a string. They also support new features not available before,
|
||||
for example:</p><pre><code class="programlisting nix">services.redshift = {
|
||||
dawnTime = "6:00-7:45";
|
||||
duskTime = "18:35-20:15";
|
||||
settings = {
|
||||
redshift = {
|
||||
gamma = 0.8;
|
||||
adjustment-method = "randr";
|
||||
};
|
||||
|
||||
randr = {
|
||||
screen = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
</code></pre><p>It is recommended to check either
|
||||
<a class="link" href="https://github.com/jonls/redshift/blob/master/redshift.conf.sample" target="_top">redshift.conf.sample</a>
|
||||
or
|
||||
<a class="link" href="https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample" target="_top">gammastep.conf.sample</a>
|
||||
for the available additional options in each program.</p></li><li class="listitem"><p>Specifying <code class="literal">programs.neomutt.binds.map</code> or
|
||||
<code class="literal">programs.neomutt.macros.map</code> as a single string is now deprecated
|
||||
in favor of specfiying it as a list of strings.</p></li><li class="listitem"><p>The <code class="literal">programs.neovim.configure</code> is deprecated in favor of other
|
||||
<code class="literal">programs.neovim</code> options; please use the other options at your
|
||||
disposal:</p><pre><code class="programlisting nix">configure.packages.*.opt -> programs.neovim.plugins = [ { plugin = ...; optional = true; }]
|
||||
configure.packages.*.start -> programs.neovim.plugins = [ { plugin = ...; }]
|
||||
configure.customRC -> programs.neovim.extraConfig
|
||||
</code></pre></li><li class="listitem"><p>Home Manager now respects the <code class="literal">NO_COLOR</code> environment variable as per
|
||||
<a class="link" href="https://no-color.org/" target="_top">https://no-color.org/</a>.</p></li><li class="listitem"><p>Qt module now supports <a class="link" href="options.xhtml#opt-qt.style.name" >opt-qt.style.name</a> to specify a theme
|
||||
name and <a class="link" href="options.xhtml#opt-qt.style.package" >opt-qt.style.package</a> to specify a theme package. If
|
||||
you have set <a class="link" href="options.xhtml#opt-qt.platformTheme" >opt-qt.platformTheme</a> to <code class="literal">gnome</code>, a
|
||||
<a class="link" href="options.xhtml#opt-qt.style.package" >opt-qt.style.package</a> compatible with both Qt and Gtk is now
|
||||
required to be set. For instance:</p><pre><code class="programlisting nix">qt = {
|
||||
platformTheme = "gnome";
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
</code></pre></li><li class="listitem"><p>The library type <code class="literal">fontType</code> now has a <code class="literal">size</code> attribute in addition
|
||||
to <code class="literal">name</code>. For example:</p><pre><code class="programlisting nix">font = {
|
||||
name = "DejaVu Sans";
|
||||
size = 8;
|
||||
};
|
||||
</code></pre></li><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.htop.settings" >opt-programs.htop.settings</a> option is introduced to
|
||||
replace individual options in <code class="literal">programs.htop</code>. To migrate, set the
|
||||
htop options directly in <a class="link" href="options.xhtml#opt-programs.htop.settings" >opt-programs.htop.settings</a>. For
|
||||
example:</p><pre><code class="programlisting nix">programs.htop = {
|
||||
enabled = true;
|
||||
settings = {
|
||||
color_scheme = 5;
|
||||
delay = 15;
|
||||
highlight_base_name = 1;
|
||||
highlight_megabytes = 1;
|
||||
highlight_threads = 1;
|
||||
};
|
||||
};
|
||||
</code></pre></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-21.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"21.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>The <code class="literal">newsboat</code> module now stores generated configuration in
|
||||
<code class="literal">$XDG_CONFIG_HOME/newsboat</code>.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-20.09"></a>Release 20.09 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-20.09-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-20.09-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 20.09 release branch became the stable branch in late September,
|
||||
2020.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-20.09-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Nothing has happened.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-20.09-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"20.09" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The options <a class="link" href="options.xhtml#opt-home.homeDirectory" >opt-home.homeDirectory</a> and
|
||||
<a class="link" href="options.xhtml#opt-home.username" >opt-home.username</a> 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 <code class="literal">HOME</code> and
|
||||
<code class="literal">USER</code>, respectively.</p><p>Further, the options <a class="link" href="options.xhtml#opt-xdg.cacheHome" >opt-xdg.cacheHome</a>,
|
||||
<a class="link" href="options.xhtml#opt-xdg.dataHome" >opt-xdg.dataHome</a> will no
|
||||
longer be affected by the <code class="literal">XDG_CACHE_HOME</code>, <code class="literal">XDG_CONFIG_HOME</code>, and
|
||||
<code class="literal">XDG_DATA_HOME</code> environment variables. They now unconditionally
|
||||
default to</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: circle;"><li class="listitem"><p><code class="literal">"${config.home.homeDirectory}/.cache"</code>,</p></li><li class="listitem"><p><code class="literal">"${config.home.homeDirectory}/.config"</code>, and</p></li><li class="listitem"><p><code class="literal">"${config.home.homeDirectory}/.local/share"</code>.</p></li></ul></div><p>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.</p><p>The initial configuration generated by</p><pre><code class="programlisting console">$ nix-shell '<home-manager>' -A install
|
||||
</code></pre><p>will automatically include these options, when necessary.</p></li><li class="listitem"><p>Git’s <code class="literal">smtpEncryption</code> option is now set to <code class="literal">tls</code> only if both
|
||||
<a class="link" href="options.xhtml#opt-accounts.email.accounts._name_.smtp.tls.enable" >opt-accounts.email.accounts.<span class="emphasis"><em>name</em></span>.smtp.tls.enable</a> and
|
||||
<a class="link" href="options.xhtml#opt-accounts.email.accounts._name_.smtp.tls.useStartTls" >opt-accounts.email.accounts.<span class="emphasis"><em>name</em></span>.smtp.tls.useStartTls</a> are
|
||||
<code class="literal">true</code>. If only
|
||||
<a class="link" href="options.xhtml#opt-accounts.email.accounts._name_.smtp.tls.enable" >opt-accounts.email.accounts.<span class="emphasis"><em>name</em></span>.smtp.tls.enable</a> is
|
||||
<code class="literal">true</code>, <code class="literal">ssl</code> is used instead.</p></li><li class="listitem"><p>The <code class="literal">nixpkgs</code> module no longer references <code class="literal"><nixpkgs></code>. Before it
|
||||
would do so when building the <code class="literal">pkgs</code> module argument. Starting with
|
||||
state version 20.09, the <code class="literal">pkgs</code> 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 <code class="literal"><nixpkgs></code> with state version ≥
|
||||
20.09 then add</p><pre><code class="programlisting nix">_module.args.pkgsPath = <nixpkgs>;
|
||||
</code></pre><p>to your Home Manager configuration.</p></li><li class="listitem"><p>The options <code class="literal">wayland.windowManager.sway.config.bars</code> and
|
||||
<code class="literal">opt-xsession.windowManager.i3.config.bars</code> have been changed so
|
||||
that most of the suboptions are now nullable and default to <code class="literal">null</code>.
|
||||
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 <code class="literal">bars</code> options is not set, then the default remains the same. On
|
||||
the other hand, something like:</p><pre><code class="programlisting nix">bars = [ {
|
||||
command = "waybar";
|
||||
} ];
|
||||
</code></pre><p>will now create the config:</p><pre><code class="programlisting">bar {
|
||||
swaybar_command waybar
|
||||
}
|
||||
</code></pre><p>instead of</p><pre><code class="programlisting">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
|
||||
}
|
||||
|
||||
}
|
||||
</code></pre></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-20.03"></a>Release 20.03 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-20.03-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-20.03-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 20.03 release branch became the stable branch in April, 2020.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-20.03-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Assigning a list to the <a class="link" href="options.xhtml#opt-home.file" >opt-home.file</a>,
|
||||
<a class="link" href="options.xhtml#opt-xdg.dataFile" >opt-xdg.dataFile</a> options is
|
||||
now deprecated and will produce a warning message if used.
|
||||
Specifically, if your configuration currently contains something
|
||||
like</p><pre><code class="programlisting nix">home.file = [
|
||||
{
|
||||
target = ".config/foo.txt";
|
||||
text = "bar";
|
||||
}
|
||||
]
|
||||
</code></pre><p>then it should be updated to instead use the equivalent attribute
|
||||
set form</p><pre><code class="programlisting nix">home.file = {
|
||||
".config/foo.txt".text = "bar";
|
||||
}
|
||||
</code></pre><p>Support for the list form will be removed in Home Manager version
|
||||
20.09.</p></li><li class="listitem"><p>The <code class="literal">lib</code> function attribute given to modules is now enriched with
|
||||
an attribute <code class="literal">hm</code> containing extra library functions specific for
|
||||
Home Manager. More specifically, <code class="literal">lib.hm</code> is now the same as
|
||||
<code class="literal">config.lib</code> and should be the preferred choice since it is more
|
||||
robust.</p><p>Therefore, if your configuration makes use of, for example,
|
||||
<code class="literal">config.lib.dag</code> to create activation script blocks, it is
|
||||
recommended to change to <code class="literal">lib.hm.dag</code>.</p><p>Note, in the unlikely case that you are</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: circle;"><li class="listitem"><p>using Home Manager’s NixOS or nix-darwin module,</p></li><li class="listitem"><p>have made your own Home Manager module containing an top-level
|
||||
option named <code class="literal">config</code> or <code class="literal">options</code>, and</p></li><li class="listitem"><p>assign to this option in your system configuration inside a
|
||||
plain attribute set, i.e., without a function argument,</p></li></ul></div><p>then you must update your configuration to perform the option
|
||||
assignment inside a <code class="literal">config</code> attribute. For example, instead of</p><pre><code class="programlisting nix">home-manager.users.jane = { config = "foo"; };
|
||||
</code></pre><p>use</p><pre><code class="programlisting nix">home-manager.users.jane = { config.config = "foo"; };
|
||||
</code></pre></li><li class="listitem"><p>The <code class="literal">services.compton</code> module has been deprecated and instead the
|
||||
new module <code class="literal">services.picom</code> should be used. This is because Nixpkgs
|
||||
no longer packages compton, and instead packages the (mostly)
|
||||
compatible fork called picom.</p></li><li class="listitem"><p>The list form of the <a class="link" href="options.xhtml#opt-programs.ssh.matchBlocks" >opt-programs.ssh.matchBlocks</a> option has
|
||||
been deprecated and configurations requiring match blocks in a
|
||||
defined order should switch to using DAG entries instead. For
|
||||
example, a configuration</p><pre><code class="programlisting nix">programs.ssh.matchBlocks = [
|
||||
{
|
||||
host = "alpha.foo.com";
|
||||
user = "jd";
|
||||
}
|
||||
{
|
||||
host = "*.foo.com";
|
||||
user = "john.doe";
|
||||
}
|
||||
];
|
||||
</code></pre><p>can be expressed along the lines of</p><pre><code class="programlisting nix">programs.ssh.matchBlocks = {
|
||||
"*.example.com" = {
|
||||
user = "john.doe";
|
||||
}
|
||||
"alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
|
||||
user = "jd";
|
||||
}
|
||||
};
|
||||
</code></pre><p>Support for the list form will be removed in Home Manager version
|
||||
20.09.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-20.03-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"20.03" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.zsh.history.path" >opt-programs.zsh.history.path</a> option is no longer
|
||||
prepended by <code class="literal">$HOME</code>, which allows specifying absolute paths, for
|
||||
example, using the xdg module. Also, the default value is fixed to
|
||||
<code class="literal">$HOME/.zsh_history</code> and <code class="literal">dotDir</code> path is not prepended to it
|
||||
anymore.</p></li><li class="listitem"><p>The newsboat module will now default in displaying <code class="literal">queries</code> before
|
||||
<code class="literal">urls</code> in its main window. This makes sense in the case when one has
|
||||
a lot of URLs and few queries.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-19.09"></a>Release 19.09 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-19.09-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-19.09-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 19.09 release branch became the stable branch in October, 2019.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-19.09-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <code class="literal">programs.firefox.enableGoogleTalk</code> and
|
||||
<code class="literal">programs.firefox.enableIcedTea</code> options are now deprecated and will
|
||||
only work if Firefox ESR 52.x is used.</p></li><li class="listitem"><p>The <code class="literal">home-manager</code> tool now provides an <code class="literal">uninstall</code> sub-command that
|
||||
can be used to uninstall Home Manager, if used in the standalone
|
||||
mode. That is, not as a NixOS module.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-19.09-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||
"19.09" or later.</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-programs.firefox.package" >opt-programs.firefox.package</a> option now expects a
|
||||
wrapped Firefox package and defaults to <code class="literal">pkgs.firefox</code>.</p></li><li class="listitem"><p>The options <a class="link" href="options.xhtml#opt-home.keyboard.layout" >opt-home.keyboard.layout</a> and
|
||||
<a class="link" href="options.xhtml#opt-home.keyboard.variant" >opt-home.keyboard.variant</a> now default to <code class="literal">null</code>, which
|
||||
indicates that the system value should be used.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-19.03"></a>Release 19.03 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-19.03-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-19.03-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 19.03 release branch became the stable branch in April, 2019.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-19.03-highlights"></a>Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>The <a class="link" href="options.xhtml#opt-home.file._name_.source" >opt-home.file.<span class="emphasis"><em>name</em></span>.source</a> option now allows source
|
||||
files to be hidden, that is, having a name starting with the <code class="literal">.</code>
|
||||
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</p><pre><code class="programlisting nix">home.file."my file".source = ./. + "/file with spaces!";
|
||||
</code></pre></li><li class="listitem"><p>The type used for the systemd unit options under
|
||||
<a class="link" href="options.xhtml#opt-systemd.user.sockets" >opt-systemd.user.sockets</a>,
|
||||
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.</p><p>In particular, if you get an error saying that a “unique option” is
|
||||
“defined multiple times” then you need to use the
|
||||
<a class="link" href="https://nixos.org/nixos/manual/#sec-option-definitions-setting-priorities" target="_top"><code class="literal">mkForce</code></a>
|
||||
function. For example,</p><pre><code class="programlisting nix">systemd.user.services.foo.Service.ExecStart = "/foo/bar";
|
||||
</code></pre><p>becomes</p><pre><code class="programlisting nix">systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
|
||||
</code></pre><p>We had to make this change because the old merging was causing too
|
||||
many confusing situations for people.</p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-19.03-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||
changes are only active if the <a class="link" href="options.xhtml#opt-home.stateVersion" >opt-home.stateVersion</a> option is
|
||||
set to “19.03” or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>There is now an option <a class="link" href="options.xhtml#opt-programs.beets.enable" >opt-programs.beets.enable</a> that
|
||||
defaults to <code class="literal">false</code>. Before the module would be active if the
|
||||
<a class="link" href="options.xhtml#opt-programs.beets.settings" >opt-programs.beets.settings</a> option was non-empty.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 class="title" > <a id="sec-release-18.09"></a>Release 18.09 </h2> </div> </div></div><p>The 18.09 release branch became the stable branch in September, 2018.</p>
|
||||
</div>
|
||||
</div> <div class="navfooter">
|
||||
<hr />
|
||||
<table width="100%" summary="Navigation footer">
|
||||
<tr>
|
||||
<td width="40%" align="left"><a accesskey="p" href="nix-darwin-options.xhtml">Prev</a> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top">Appendix C. nix-darwin Configuration Options </td>
|
||||
<td width="20%" align="center"><a accesskey="h" href="index.xhtml">Home</a></td>
|
||||
<td width="40%" align="right" valign="top"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue