This commit is contained in:
rycee 2023-07-19 16:10:38 +00:00
parent b01ac687ac
commit d431010763
5 changed files with 13958 additions and 7982 deletions

View file

@ -567,7 +567,7 @@ programs.home-manager.path = "$HOME/devel/home-manager";</pre><p class="simpara"
Does your change work for people that do not use NixOS? Consider other GNU/Linux distributions and macOS.
</li><li class="listitem">
Does your change work for people whose configuration is built on one system and deployed on another system?
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-forward-compat"></a>5.2.2. Keep forward compatibility in mind</h3></div></div></div><p>The master branch of Home Manager tracks the unstable channel of Nixpkgs, which may update package versions at any time. It is therefore important to consider how a package update may affect your code and try to reduce the risk of breakage.</p><p>The most effective way to reduce this risk is to follow the advice in <a class="xref" href="index.html#sec-guidelines-valuable-options" title="5.2.3. Add only valuable options">Section 5.2.3, “Add only valuable options”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-valuable-options"></a>5.2.3. Add only valuable options</h3></div></div></div><p>When creating a new module it is tempting to include every option supported by the software. This is <span class="emphasis"><em>strongly</em></span> discouraged. Providing many options increases maintenance burden and risk of breakage considerably. This is why only the most <a class="link" href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md#valuable-options" target="_top">important software options</a> should be modeled explicitly. Less important options should be expressible through an <code class="literal">extraConfig</code> escape hatch.</p><p>A good rule of thumb for the first implementation of a module is to only add explicit options for those settings that absolutely must be set for the software to function correctly. It follows that a module for software that provides sensible default values for all settings would require no explicit options at all.</p><p>If the software uses a structured configuration format like a JSON, YAML, INI, TOML, or even a plain list of key/value pairs then consider using a <code class="literal">settings</code> option as described in <a class="link" href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md" target="_top">Nix RFC 42</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-add-tests"></a>5.2.4. Add relevant tests</h3></div></div></div><p>If at all possible, make sure to add new tests and expand existing tests so that your change will keep working in the future. See <a class="xref" href="index.html#sec-tests" title="5.6. Tests">Section 5.6, “Tests”</a> for more information about the Home Manager test suite.</p><p>All contributed code <span class="emphasis"><em>must</em></span> pass the test suite.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-module-maintainer"></a>5.2.5. Add relevant documentation</h3></div></div></div><p>Many code changes require changing the documentation as well. Module options should be documented with DocBook. See <a class="link" href="https://berbiche.github.io/docbook.rocks/" target="_top">DocBook rocks!</a> for a quick introduction and <a class="link" href="https://tdg.docbook.org/" target="_top">DocBook 5: The Definitive Guide</a> for in-depth information of DocBook. Home Manager is itself documented using a combination of DocBook and <a class="link" href="https://asciidoc.org/" target="_top">AsciiDoc</a>. All text is hosted in Home Managers Git repository.</p><p>The HTML version of the manual containing both the module option descriptions and the documentation of Home Manager can be generated and opened by typing the following in a shell within a clone of the Home Manager Git repository:</p><pre class="programlisting console">$ nix-build -A docs.html
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-forward-compat"></a>5.2.2. Keep forward compatibility in mind</h3></div></div></div><p>The master branch of Home Manager tracks the unstable channel of Nixpkgs, which may update package versions at any time. It is therefore important to consider how a package update may affect your code and try to reduce the risk of breakage.</p><p>The most effective way to reduce this risk is to follow the advice in <a class="xref" href="index.html#sec-guidelines-valuable-options" title="5.2.3. Add only valuable options">Section 5.2.3, “Add only valuable options”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-valuable-options"></a>5.2.3. Add only valuable options</h3></div></div></div><p>When creating a new module it is tempting to include every option supported by the software. This is <span class="emphasis"><em>strongly</em></span> discouraged. Providing many options increases maintenance burden and risk of breakage considerably. This is why only the most <a class="link" href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md#valuable-options" target="_top">important software options</a> should be modeled explicitly. Less important options should be expressible through an <code class="literal">extraConfig</code> escape hatch.</p><p>A good rule of thumb for the first implementation of a module is to only add explicit options for those settings that absolutely must be set for the software to function correctly. It follows that a module for software that provides sensible default values for all settings would require no explicit options at all.</p><p>If the software uses a structured configuration format like a JSON, YAML, INI, TOML, or even a plain list of key/value pairs then consider using a <code class="literal">settings</code> option as described in <a class="link" href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md" target="_top">Nix RFC 42</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-add-tests"></a>5.2.4. Add relevant tests</h3></div></div></div><p>If at all possible, make sure to add new tests and expand existing tests so that your change will keep working in the future. See <a class="xref" href="index.html#sec-tests" title="5.6. Tests">Section 5.6, “Tests”</a> for more information about the Home Manager test suite.</p><p>All contributed code <span class="emphasis"><em>must</em></span> pass the test suite.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-module-maintainer"></a>5.2.5. Add relevant documentation</h3></div></div></div><p>Many code changes require changing the documentation as well. Module options should be documented with <a class="link" href="https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup" target="_top">Nixpkgs-flavoured Markdown</a>. Home Manager is itself documented using a combination of <a class="link" href="https://tdg.docbook.org/" target="_top">DocBook</a> and <a class="link" href="https://asciidoc.org/" target="_top">AsciiDoc</a>. All text is hosted in Home Managers Git repository.</p><p>The HTML version of the manual containing both the module option descriptions and the documentation of Home Manager can be generated and opened by typing the following in a shell within a clone of the Home Manager Git repository:</p><pre class="programlisting console">$ nix-build -A docs.html
$ xdg-open ./result/share/doc/home-manager/index.html</pre><p>When you have made changes to a module, it is a good idea to check that the man page version of the module options looks good:</p><pre class="programlisting console">$ nix-build -A docs.manPages
$ man ./result/share/man/man5/home-configuration.nix.5.gz</pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_add_yourself_as_a_module_maintainer"></a>5.2.6. Add yourself as a module maintainer</h3></div></div></div><p>Every new module <span class="emphasis"><em>must</em></span> include a named maintainer using the <code class="literal">meta.maintainers</code> attribute. If you are a user of a module that currently lacks a maintainer then please consider adopting it.</p><p>If you are present in the nixpkgs maintainer list then you can use that entry. If you are not then you can add yourself to <code class="literal">modules/lib/maintainers.nix</code> in the Home Manager project.</p><p>Maintainers are encouraged to join the IRC or Matrix channel and participate when they have opportunity.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-code-style"></a>5.2.7. Format your code</h3></div></div></div><p>Make sure your code is formatted as described in <a class="xref" href="index.html#sec-code-style" title="5.4. Code Style">Section 5.4, “Code Style”</a>. To maintain consistency throughout the project you are encouraged to browse through existing code and adopt its style also in new code.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-commit-message-style"></a>5.2.8. Format your commit messages</h3></div></div></div><p>Similar to <a class="xref" href="index.html#sec-guidelines-code-style" title="5.2.7. Format your code">Section 5.2.7, “Format your code”</a> we encourage a consistent commit message format as described in <a class="xref" href="index.html#sec-commit-style" title="5.3. Commits">Section 5.3, “Commits”</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-news-style"></a>5.2.9. Format your news entries</h3></div></div></div><p>If your contribution includes a change that should be communicated to users of Home Manager then you can add a news entry. The entry must be formatted as described in <a class="xref" href="index.html#sec-news" title="5.5. News">Section 5.5, “News”</a>.</p><p>When new modules are added a news entry should be included but you do not need to create this entry manually. The merging maintainer will create the entry for you. This is to reduce the risk of merge conflicts.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-conditional-modules"></a>5.2.10. Use conditional modules and news</h3></div></div></div><p>Home Manager includes a number of modules that are only usable on some of the supported platforms. The most common example of platform specific modules are those that define systemd user services, which only works on Linux systems.</p><p>If you add a module that is platform specific then make sure to include a condition in the <code class="literal">loadModule</code> function call. This will make the module accessible only on systems where the condition evaluates to <code class="literal">true</code>.</p><p>Similarly, if you are adding a news entry then it should be shown only to users that may find it relevant, see <a class="xref" href="index.html#sec-news" title="5.5. News">Section 5.5, “News”</a> for a description of conditional news.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-guidelines-licensing"></a>5.2.11. Mind the license</h3></div></div></div><p>The Home Manager project is covered by the MIT license and we can only accept contributions that fall under this license, or are licensed in a compatible way. When you contribute self written code and documentation it is assumed that you are doing so under the MIT license.</p><p>A potential gotcha with respect to licensing are option descriptions. Often it is convenient to copy from the upstream software documentation. When this is done it is important to verify that the license of the upstream documentation allows redistribution under the terms of the MIT license.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-commit-style"></a>5.3. Commits</h2></div></div></div><p>The commits in your pull request should be reasonably self-contained, that is, each commit should make sense in isolation. In particular, you will be asked to amend any commit that introduces syntax errors or similar problems even if they are fixed in a later commit.</p><p>The commit messages should follow the <a class="link" href="https://chris.beams.io/posts/git-commit/#seven-rules" target="_top">seven rules</a>, except for "Capitalize the subject line". We also ask you to include the affected code component or module in the first line. That is, a commit message should follow the template</p><pre class="screen">{component}: {description}

View file

@ -1,48 +1,66 @@
<?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 name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C. nix-darwin Module Options</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="Home Manager Manual" /><link rel="up" href="index.html" title="Home Manager Manual" /><link rel="prev" href="nixos-options.html" title="Appendix B. NixOS Module Options" /><link rel="next" href="tools.html" title="Appendix D. Tools" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. nix-darwin Module Options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="nixos-options.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-nix-darwin-options"></a>Appendix C. nix-darwin Module Options</h1></div></div></div><div class="variablelist"><a id="nix-darwin-options"></a><dl class="variablelist"><dt><span class="term"><a id="nix-darwin-opt-_module.args"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-_module.args"><code class="option">_module.args</code></a></span></dt><dd><p class="simpara">Additional arguments passed to each module in addition to ones
<!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 name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C. nix-darwin Module Options</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="Home Manager Manual" /><link rel="up" href="index.html" title="Home Manager Manual" /><link rel="prev" href="nixos-options.html" title="Appendix B. NixOS Module Options" /><link rel="next" href="tools.html" title="Appendix D. Tools" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. nix-darwin Module Options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="nixos-options.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-nix-darwin-options"></a>Appendix C. nix-darwin Module Options</h1></div></div></div><div class="variablelist"><a id="nix-darwin-options"></a><dl class="variablelist"><dt><span class="term"><a id="nix-darwin-opt-_module.args"></a><a class="term" href="nix-darwin-options.html#nix-darwin-opt-_module.args"><code class="option">_module.args</code></a></span></dt><dd><p>Additional arguments passed to each module in addition to ones
like <code class="literal">lib</code>, <code class="literal">config</code>,
and <code class="literal">pkgs</code>, <code class="literal">modulesPath</code>.</p><p class="simpara">This option is also available to all submodules. Submodules do not
and <code class="literal">pkgs</code>, <code class="literal">modulesPath</code>.</p><p>This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to
their parent module or sibling submodules. The sole exception to
this is the argument <code class="literal">name</code> which is provided by
parent modules to a submodule and contains the attribute name
the submodule is bound to, or a unique generated name if it is
not bound to an attribute.</p><p class="simpara">Some arguments are already passed by default, of which the
following <span class="emphasis"><em>cannot</em></span> be changed with this option:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="varname">lib</code>: The nixpkgs library.</li><li class="listitem"><code class="varname">config</code>: The results of all options after merging the values from all modules together.</li><li class="listitem"><code class="varname">options</code>: The options declared in all modules.</li><li class="listitem"><code class="varname">specialArgs</code>: The <code class="literal">specialArgs</code> argument passed to <code class="literal">evalModules</code>.</li><li class="listitem"><p class="simpara">All attributes of <code class="varname">specialArgs</code></p><p class="simpara">Whereas option values can generally depend on other option values
not bound to an attribute.</p><p>Some arguments are already passed by default, of which the
following <span class="emphasis"><em>cannot</em></span> be changed with this option:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">lib</code>: The nixpkgs library.</p></li><li class="listitem"><p><code class="varname">config</code>: The results of all options after merging the values from all modules together.</p></li><li class="listitem"><p><code class="varname">options</code>: The options declared in all modules.</p></li><li class="listitem"><p><code class="varname">specialArgs</code>: The <code class="literal">specialArgs</code> argument passed to <code class="literal">evalModules</code>.</p></li><li class="listitem"><p>All attributes of <code class="varname">specialArgs</code></p><p>Whereas option values can generally depend on other option values
thanks to laziness, this does not apply to <code class="literal">imports</code>, which
must be computed statically before anything else.</p><p class="simpara">For this reason, callers of the module system can provide <code class="literal">specialArgs</code>
which are available during import resolution.</p><p class="simpara">For NixOS, <code class="literal">specialArgs</code> includes
must be computed statically before anything else.</p><p>For this reason, callers of the module system can provide <code class="literal">specialArgs</code>
which are available during import resolution.</p><p>For NixOS, <code class="literal">specialArgs</code> includes
<code class="varname">modulesPath</code>, which allows you to import
extra modules from the nixpkgs package tree without having to
somehow make the module aware of the location of the
<code class="literal">nixpkgs</code> or NixOS directories.</p><pre class="programlisting">
{ modulesPath, ... }: {
<code class="literal">nixpkgs</code> or NixOS directories.</p><pre class="programlisting">{ modulesPath, ... }: {
imports = [
(modulesPath + "/profiles/minimal.nix")
];
}
</pre></li></ul></div><p class="simpara">For NixOS, the default value for this option includes at least this argument:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">pkgs</code>: The nixpkgs package set according to
the <code class="option">nixpkgs.pkgs</code> option.</p></li></ul></div><p><span class="emphasis"><em>Type:</em></span> lazy attribute set of raw value</p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/lib/modules.nix#blob-path" target="_top">
&lt;home-manager/lib/modules.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.backupFileExtension"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code></a></span></dt><dd><p>On activation move existing files by appending the given
file extension rather than exiting with an error.</p><p><span class="emphasis"><em>Type:</em></span> null or string</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">null</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">"backup"</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.extraSpecialArgs"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code></a></span></dt><dd><p>Extra <code class="literal">specialArgs</code> passed to Home Manager. This
option can be used to pass additional arguments to all modules.</p><p><span class="emphasis"><em>Type:</em></span> attribute set</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">{ }</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">{ inherit emacs-overlay; }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.sharedModules"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code></a></span></dt><dd><p>Extra modules added to all users.</p><p><span class="emphasis"><em>Type:</em></span> list of raw value</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">[ ]</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">[ { home.packages = [ nixpkgs-fmt ]; } ]</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.useGlobalPkgs"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code></a></span></dt><dd><p>Whether to enable using the system configuration's <code class="literal">pkgs</code>
</pre></li></ul></div><p>For NixOS, the default value for this option includes at least this argument:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">pkgs</code>: The nixpkgs package set according to
the <code class="option">nixpkgs.pkgs</code> option.</p></li></ul></div><p><span class="emphasis"><em>Type:</em></span>
lazy attribute set of raw value</p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/NixOS/nixpkgs/blob/master/lib/modules.nix" target="_top">
&lt;nixpkgs/lib/modules.nix&gt;
</a></code></td></tr></table></dd><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></span></dt><dd><p>On activation move existing files by appending the given
file extension rather than exiting with an error.</p><p><span class="emphasis"><em>Type:</em></span>
null or string</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">"backup"</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Extra <code class="literal">specialArgs</code> passed to Home Manager. This
option can be used to pass additional arguments to all modules.</p><p><span class="emphasis"><em>Type:</em></span>
attribute set</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">{ }</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">{ inherit emacs-overlay; }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Extra modules added to all users.</p><p><span class="emphasis"><em>Type:</em></span>
list of raw value</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">[ { home.packages = [ nixpkgs-fmt ]; } ]</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable using the system configurations <code class="literal">pkgs</code>
argument in Home Manager. This disables the Home Manager
options <code class="option">nixpkgs.*</code>
.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.useUserPackages"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code></a></span></dt><dd><p>Whether to enable installation of user packages through the
<code class="option">users.users.&lt;name&gt;.packages</code> option
.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.users"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.users"><code class="option">home-manager.users</code></a></span></dt><dd><p>Per-user Home Manager configuration.</p><p><span class="emphasis"><em>Type:</em></span> attribute set of (Home Manager module)</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">{ }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nix-darwin-opt-home-manager.verbose"></a><a class="link" href="nix-darwin-options.html#nix-darwin-opt-home-manager.verbose"><code class="option">home-manager.verbose</code></a></span></dt><dd><p>Whether to enable verbose output on activation.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd></dl></div></div><div class="navfooter"><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="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix B. NixOS Module Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix D. Tools</td></tr></table></div></body></html>
options <code class="option">nixpkgs.*</code>.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable installation of user packages through the
<code class="option">users.users.&lt;name&gt;.packages</code> option.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Per-user Home Manager configuration.</p><p><span class="emphasis"><em>Type:</em></span>
attribute set of (Home Manager module)</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">{ }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable verbose output on activation.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd></dl></div></div><div class="navfooter"><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="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix B. NixOS Module Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix D. Tools</td></tr></table></div></body></html>

View file

@ -1,48 +1,66 @@
<?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 name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B. NixOS Module Options</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="Home Manager Manual" /><link rel="up" href="index.html" title="Home Manager Manual" /><link rel="prev" href="options.html" title="Appendix A. Configuration Options" /><link rel="next" href="nix-darwin-options.html" title="Appendix C. nix-darwin Module Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. NixOS Module Options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="options.html">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></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-nixos-options"></a>Appendix B. NixOS Module Options</h1></div></div></div><div class="variablelist"><a id="nixos-options"></a><dl class="variablelist"><dt><span class="term"><a id="nixos-opt-_module.args"></a><a class="link" href="nixos-options.html#nixos-opt-_module.args"><code class="option">_module.args</code></a></span></dt><dd><p class="simpara">Additional arguments passed to each module in addition to ones
<!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 name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B. NixOS Module Options</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="Home Manager Manual" /><link rel="up" href="index.html" title="Home Manager Manual" /><link rel="prev" href="options.html" title="Appendix A. Configuration Options" /><link rel="next" href="nix-darwin-options.html" title="Appendix C. nix-darwin Module Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. NixOS Module Options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="options.html">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></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-nixos-options"></a>Appendix B. NixOS Module Options</h1></div></div></div><div class="variablelist"><a id="nixos-options"></a><dl class="variablelist"><dt><span class="term"><a id="nixos-opt-_module.args"></a><a class="term" href="nixos-options.html#nixos-opt-_module.args"><code class="option">_module.args</code></a></span></dt><dd><p>Additional arguments passed to each module in addition to ones
like <code class="literal">lib</code>, <code class="literal">config</code>,
and <code class="literal">pkgs</code>, <code class="literal">modulesPath</code>.</p><p class="simpara">This option is also available to all submodules. Submodules do not
and <code class="literal">pkgs</code>, <code class="literal">modulesPath</code>.</p><p>This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to
their parent module or sibling submodules. The sole exception to
this is the argument <code class="literal">name</code> which is provided by
parent modules to a submodule and contains the attribute name
the submodule is bound to, or a unique generated name if it is
not bound to an attribute.</p><p class="simpara">Some arguments are already passed by default, of which the
following <span class="emphasis"><em>cannot</em></span> be changed with this option:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="varname">lib</code>: The nixpkgs library.</li><li class="listitem"><code class="varname">config</code>: The results of all options after merging the values from all modules together.</li><li class="listitem"><code class="varname">options</code>: The options declared in all modules.</li><li class="listitem"><code class="varname">specialArgs</code>: The <code class="literal">specialArgs</code> argument passed to <code class="literal">evalModules</code>.</li><li class="listitem"><p class="simpara">All attributes of <code class="varname">specialArgs</code></p><p class="simpara">Whereas option values can generally depend on other option values
not bound to an attribute.</p><p>Some arguments are already passed by default, of which the
following <span class="emphasis"><em>cannot</em></span> be changed with this option:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">lib</code>: The nixpkgs library.</p></li><li class="listitem"><p><code class="varname">config</code>: The results of all options after merging the values from all modules together.</p></li><li class="listitem"><p><code class="varname">options</code>: The options declared in all modules.</p></li><li class="listitem"><p><code class="varname">specialArgs</code>: The <code class="literal">specialArgs</code> argument passed to <code class="literal">evalModules</code>.</p></li><li class="listitem"><p>All attributes of <code class="varname">specialArgs</code></p><p>Whereas option values can generally depend on other option values
thanks to laziness, this does not apply to <code class="literal">imports</code>, which
must be computed statically before anything else.</p><p class="simpara">For this reason, callers of the module system can provide <code class="literal">specialArgs</code>
which are available during import resolution.</p><p class="simpara">For NixOS, <code class="literal">specialArgs</code> includes
must be computed statically before anything else.</p><p>For this reason, callers of the module system can provide <code class="literal">specialArgs</code>
which are available during import resolution.</p><p>For NixOS, <code class="literal">specialArgs</code> includes
<code class="varname">modulesPath</code>, which allows you to import
extra modules from the nixpkgs package tree without having to
somehow make the module aware of the location of the
<code class="literal">nixpkgs</code> or NixOS directories.</p><pre class="programlisting">
{ modulesPath, ... }: {
<code class="literal">nixpkgs</code> or NixOS directories.</p><pre class="programlisting">{ modulesPath, ... }: {
imports = [
(modulesPath + "/profiles/minimal.nix")
];
}
</pre></li></ul></div><p class="simpara">For NixOS, the default value for this option includes at least this argument:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">pkgs</code>: The nixpkgs package set according to
the <code class="option">nixpkgs.pkgs</code> option.</p></li></ul></div><p><span class="emphasis"><em>Type:</em></span> lazy attribute set of raw value</p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/lib/modules.nix#blob-path" target="_top">
&lt;home-manager/lib/modules.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.backupFileExtension"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.backupFileExtension"><code class="option">home-manager.backupFileExtension</code></a></span></dt><dd><p>On activation move existing files by appending the given
file extension rather than exiting with an error.</p><p><span class="emphasis"><em>Type:</em></span> null or string</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">null</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">"backup"</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.extraSpecialArgs"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.extraSpecialArgs"><code class="option">home-manager.extraSpecialArgs</code></a></span></dt><dd><p>Extra <code class="literal">specialArgs</code> passed to Home Manager. This
option can be used to pass additional arguments to all modules.</p><p><span class="emphasis"><em>Type:</em></span> attribute set</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">{ }</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">{ inherit emacs-overlay; }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.sharedModules"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.sharedModules"><code class="option">home-manager.sharedModules</code></a></span></dt><dd><p>Extra modules added to all users.</p><p><span class="emphasis"><em>Type:</em></span> list of raw value</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">[ ]</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">[ { home.packages = [ nixpkgs-fmt ]; } ]</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.useGlobalPkgs"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.useGlobalPkgs"><code class="option">home-manager.useGlobalPkgs</code></a></span></dt><dd><p>Whether to enable using the system configuration's <code class="literal">pkgs</code>
</pre></li></ul></div><p>For NixOS, the default value for this option includes at least this argument:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="varname">pkgs</code>: The nixpkgs package set according to
the <code class="option">nixpkgs.pkgs</code> option.</p></li></ul></div><p><span class="emphasis"><em>Type:</em></span>
lazy attribute set of raw value</p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/NixOS/nixpkgs/blob/master/lib/modules.nix" target="_top">
&lt;nixpkgs/lib/modules.nix&gt;
</a></code></td></tr></table></dd><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></span></dt><dd><p>On activation move existing files by appending the given
file extension rather than exiting with an error.</p><p><span class="emphasis"><em>Type:</em></span>
null or string</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">null</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">"backup"</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Extra <code class="literal">specialArgs</code> passed to Home Manager. This
option can be used to pass additional arguments to all modules.</p><p><span class="emphasis"><em>Type:</em></span>
attribute set</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">{ }</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">{ inherit emacs-overlay; }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Extra modules added to all users.</p><p><span class="emphasis"><em>Type:</em></span>
list of raw value</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">[ ]</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">[ { home.packages = [ nixpkgs-fmt ]; } ]</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable using the system configurations <code class="literal">pkgs</code>
argument in Home Manager. This disables the Home Manager
options <code class="option">nixpkgs.*</code>
.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.useUserPackages"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.useUserPackages"><code class="option">home-manager.useUserPackages</code></a></span></dt><dd><p>Whether to enable installation of user packages through the
<code class="option">users.users.&lt;name&gt;.packages</code> option
.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.users"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.users"><code class="option">home-manager.users</code></a></span></dt><dd><p>Per-user Home Manager configuration.</p><p><span class="emphasis"><em>Type:</em></span> attribute set of (Home Manager module)</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">{ }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd><dt><span class="term"><a id="nixos-opt-home-manager.verbose"></a><a class="link" href="nixos-options.html#nixos-opt-home-manager.verbose"><code class="option">home-manager.verbose</code></a></span></dt><dd><p>Whether to enable verbose output on activation.</p><p><span class="emphasis"><em>Type:</em></span> boolean</p><p><span class="emphasis"><em>Default:</em></span> <code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span> <code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix#blob-path" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="options.html">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></tr><tr><td width="40%" align="left" valign="top">Appendix A. Configuration Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix C. nix-darwin Module Options</td></tr></table></div></body></html>
options <code class="option">nixpkgs.*</code>.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable installation of user packages through the
<code class="option">users.users.&lt;name&gt;.packages</code> option.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Per-user Home Manager configuration.</p><p><span class="emphasis"><em>Type:</em></span>
attribute set of (Home Manager module)</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">{ }</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></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></span></dt><dd><p>Whether to enable verbose output on activation.</p><p><span class="emphasis"><em>Type:</em></span>
boolean</p><p><span class="emphasis"><em>Default:</em></span>
<code class="literal">false</code></p><p><span class="emphasis"><em>Example:</em></span>
<code class="literal">true</code></p><p><span class="emphasis"><em>Declared by:</em></span></p><table border="0" summary="Simple list" class="simplelist"><tr><td><code class="filename"><a class="filename" href="https://github.com/nix-community/home-manager/blob/master/nixos/common.nix" target="_top">
&lt;home-manager/nixos/common.nix&gt;
</a></code></td></tr></table></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="options.html">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></tr><tr><td width="40%" align="left" valign="top">Appendix A. Configuration Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix C. nix-darwin Module Options</td></tr></table></div></body></html>

21760
options.html

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,20 @@ 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.
</li><li class="listitem">
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.
</li><li class="listitem">
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>.
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-release-23.11-state-version-changes"></a>E.1.2. State Version Changes</h3></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" style="list-style-type: disc; "><li class="listitem">
Nothing, yet.