This commit is contained in:
Robert Helgesson 2023-07-19 18:04:07 +02:00
commit 7579044149
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
276 changed files with 1948 additions and 2301 deletions

View file

@ -1,7 +1,11 @@
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
rec { rec {
docs = with import ./docs { inherit pkgs; }; { docs = let releaseInfo = pkgs.lib.importJSON ./release.json;
in with import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
}; {
html = manual.html; html = manual.html;
manPages = manPages; manPages = manPages;
json = options.json; json = options.json;

View file

@ -94,11 +94,11 @@ All contributed code _must_ pass the test suite.
[[sec-guidelines-module-maintainer]] [[sec-guidelines-module-maintainer]]
==== Add relevant documentation ==== Add relevant documentation
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
:docbook: https://tdg.docbook.org/ :docbook: https://tdg.docbook.org/
:asciidoc: https://asciidoc.org/ :asciidoc: https://asciidoc.org/
:docbook-rocks: https://berbiche.github.io/docbook.rocks/
Many code changes require changing the documentation as well. Module options should be documented with DocBook. See {docbook-rocks}[DocBook rocks!] for a quick introduction and {docbook}[DocBook 5: The Definitive Guide] for in-depth information of DocBook. Home Manager is itself documented using a combination of DocBook and {asciidoc}[AsciiDoc]. All text is hosted in Home Manager's Git repository. Many code changes require changing the documentation as well. Module options should be documented with {nixpkgs-markdown}[Nixpkgs-flavoured Markdown]. Home Manager is itself documented using a combination of {docbook}[DocBook] and {asciidoc}[AsciiDoc]. All text is hosted in Home Manager's Git repository.
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: 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:

View file

@ -1,7 +1,9 @@
{ pkgs { pkgs
# Note, this should be "the standard library" + HM extensions. # Note, this should be "the standard library" + HM extensions.
, lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib }: , lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib
, release, isReleaseBranch }:
let let
@ -11,7 +13,16 @@ let
sha256 = "0vvj40k6bw8ssra8wil9rqbsznmfy1kwy7cihvm13rajwdg9ycgg"; sha256 = "0vvj40k6bw8ssra8wil9rqbsznmfy1kwy7cihvm13rajwdg9ycgg";
}; };
nmd = import nmdSrc { inherit lib pkgs; }; nmd = import nmdSrc {
inherit lib;
# The DocBook output of `nixos-render-docs` doesn't have the change
# `nmd` uses to work around the broken stylesheets in
# `docbook-xsl-ns`, so we restore the patched version here.
pkgs = pkgs // {
docbook-xsl-ns =
pkgs.docbook-xsl-ns.override { withManOptDedupPatch = true; };
};
};
# Make sure the used package is scrubbed to avoid actually # Make sure the used package is scrubbed to avoid actually
# instantiating derivations. # instantiating derivations.
@ -26,42 +37,66 @@ let
dontCheckDefinitions = { _module.check = false; }; dontCheckDefinitions = { _module.check = false; };
buildModulesDocs = args: gitHubDeclaration = user: repo: subpath:
nmd.buildModulesDocs ({ let urlRef = if isReleaseBranch then "release-${release}" else "master";
moduleRootPaths = [ ./.. ]; in {
mkModuleUrl = path: url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
"https://github.com/nix-community/home-manager/blob/master/${path}#blob-path"; name = "<${repo}/${subpath}>";
channelName = "home-manager"; };
} // args);
hmModulesDocs = buildModulesDocs { hmPath = toString ./..;
buildOptionsDocs = args@{ modules, ... }:
pkgs.buildPackages.nixosOptionsDoc ({
options = (lib.evalModules { inherit modules; }).options;
transformOptions = opt:
opt // {
# Clean up declaration sites to not refer to the Home Manager
# source tree.
declarations = map (decl:
if lib.hasPrefix hmPath (toString decl) then
gitHubDeclaration "nix-community" "home-manager"
(lib.removePrefix "/" (lib.removePrefix hmPath (toString decl)))
else if decl == "lib/modules.nix" then
# TODO: handle this in a better way (may require upstream
# changes to nixpkgs)
gitHubDeclaration "NixOS" "nixpkgs" decl
else
decl) opt.declarations;
};
} // builtins.removeAttrs args [ "modules" ]);
hmOptionsDocs = buildOptionsDocs {
modules = import ../modules/modules.nix { modules = import ../modules/modules.nix {
inherit lib pkgs; inherit lib pkgs;
check = false; check = false;
} ++ [ scrubbedPkgsModule ]; } ++ [ scrubbedPkgsModule ];
docBook.id = "home-manager-options"; variablelistId = "home-manager-options";
}; };
nixosModuleDocs = buildModulesDocs { nixosOptionsDocs = buildOptionsDocs {
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ]; modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
docBook = { variablelistId = "nixos-options";
id = "nixos-options"; optionIdPrefix = "nixos-opt-";
optionIdPrefix = "nixos-opt";
};
}; };
nixDarwinModuleDocs = buildModulesDocs { nixDarwinOptionsDocs = buildOptionsDocs {
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ]; modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
docBook = { variablelistId = "nix-darwin-options";
id = "nix-darwin-options"; optionIdPrefix = "nix-darwin-opt-";
optionIdPrefix = "nix-darwin-opt";
};
}; };
docs = nmd.buildDocBookDocs { docs = nmd.buildDocBookDocs {
pathName = "home-manager"; pathName = "home-manager";
projectName = "Home Manager"; projectName = "Home Manager";
modulesDocs = [ hmModulesDocs nixDarwinModuleDocs nixosModuleDocs ]; modulesDocs = [{
docBook = pkgs.linkFarm "hm-module-docs-for-nmd" {
"nmd-result/home-manager-options.xml" = hmOptionsDocs.optionsDocBook;
"nmd-result/nix-darwin-options.xml" =
nixDarwinOptionsDocs.optionsDocBook;
"nmd-result/nixos-options.xml" = nixosOptionsDocs.optionsDocBook;
};
}];
documentsDirectory = ./.; documentsDirectory = ./.;
documentType = "book"; documentType = "book";
chunkToc = '' chunkToc = ''
@ -81,9 +116,20 @@ in {
inherit nmdSrc; inherit nmdSrc;
options = { options = {
json = hmModulesDocs.json.override { # TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream
path = "share/doc/home-manager/options.json"; # `nixosOptionsDoc` is more customizable.
}; json = pkgs.runCommand "options.json" {
meta.description = "List of Home Manager options in JSON format";
} ''
mkdir -p $out/{share/doc,nix-support}
cp -a ${hmOptionsDocs.optionsJSON}/share/doc/nixos $out/share/doc/home-manager
substitute \
${hmOptionsDocs.optionsJSON}/nix-support/hydra-build-products \
$out/nix-support/hydra-build-products \
--replace \
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
"$out/share/doc/home-manager"
'';
}; };
manPages = docs.manPages; manPages = docs.manPages;

View file

@ -26,7 +26,7 @@
You can use the following options in You can use the following options in
<filename>home-configuration.nix</filename>: <filename>home-configuration.nix</filename>:
</para> </para>
<xi:include href="./nmd-result/home-manager-options.xml" /> <xi:include href="./nmd-result/home-manager-options.xml" xpointer="home-manager-options" />
</refsection> </refsection>
<refsection> <refsection>
<title>See also</title> <title>See also</title>

View file

@ -39,15 +39,15 @@
<xi:include href="faq.xml" /> <xi:include href="faq.xml" />
<appendix xml:id="ch-options"> <appendix xml:id="ch-options">
<title>Configuration Options</title> <title>Configuration Options</title>
<xi:include href="./nmd-result/home-manager-options.xml" /> <xi:include href="./nmd-result/home-manager-options.xml" xpointer="home-manager-options" />
</appendix> </appendix>
<appendix xml:id="ch-nixos-options"> <appendix xml:id="ch-nixos-options">
<title>NixOS Module Options</title> <title>NixOS Module Options</title>
<xi:include href="./nmd-result/nixos-options.xml" /> <xi:include href="./nmd-result/nixos-options.xml" xpointer="nixos-options" />
</appendix> </appendix>
<appendix xml:id="ch-nix-darwin-options"> <appendix xml:id="ch-nix-darwin-options">
<title>nix-darwin Module Options</title> <title>nix-darwin Module Options</title>
<xi:include href="./nmd-result/nix-darwin-options.xml" /> <xi:include href="./nmd-result/nix-darwin-options.xml" xpointer="nix-darwin-options" />
</appendix> </appendix>
<appendix xml:id="ch-tools"> <appendix xml:id="ch-tools">
<title>Tools</title> <title>Tools</title>

View file

@ -5,17 +5,33 @@ This is the current unstable branch and the information in this section is there
[[sec-release-23.11-highlights]] [[sec-release-23.11-highlights]]
=== Highlights === Highlights
:babelfish: https://github.com/bouk/babelfish
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
This release has the following notable changes: This release has the following notable changes:
* When using <<opt-programs.fish.enable>>, the setup code * When using <<opt-programs.fish.enable>>, the setup code
for <<opt-home.sessionVariables>> is now translated for <<opt-home.sessionVariables>> is now translated
with https://github.com/bouk/babelfish[babelfish]. with {babelfish}[babelfish].
This should result in significantly faster shell startup times This should result in significantly faster shell startup times
but could theoretically break but could theoretically break
if you have very complex bash expressions in a session variable. if you have very complex bash expressions in a session variable.
Please report any issues you experience. Please report any issues you experience.
* The `.release` file in the Home Manager source tree
has been supplanted by `release.json`,
which contains more information about the branch.
If you have any external code reading this file,
please switch to consuming `release.json` instead.
The `.release` file will be removed in 24.05.
* Home Manager has migrated to using
the upstream Nixpkgs `lib.nixosOptionsDoc` processor
for option documentation.
If you have any external Home Manager modules,
their option descriptions and literal examples should be translated
to {nixpkgs-markdown}[Nixpkgs-flavoured Markdown].
[[sec-release-23.11-state-version-changes]] [[sec-release-23.11-state-version-changes]]
=== State Version Changes === State Version Changes

View file

@ -2,15 +2,15 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1689373857, "lastModified": 1689534811,
"narHash": "sha256-mtBksyvhhT98Zsm9tYHuMKuLwUKDwv+BGTl6K5nOGhY=", "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dfdbcc428f365071f0ca3888f6ec8c25c3792885", "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"

View file

@ -1,7 +1,7 @@
{ {
description = "Home Manager for Nix"; description = "Home Manager for Nix";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs, ... }: outputs = { self, nixpkgs, ... }:
{ {
@ -103,7 +103,11 @@
packages = forAllSystems (system: packages = forAllSystems (system:
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
docs = import ./docs { inherit pkgs; }; releaseInfo = nixpkgs.lib.importJSON ./release.json;
docs = import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
hmPkg = pkgs.callPackage ./home-manager { path = toString ./.; }; hmPkg = pkgs.callPackage ./home-manager { path = toString ./.; };
in { in {
default = hmPkg; default = hmPkg;

View file

@ -11,7 +11,7 @@ let
key = mkOption { key = mkOption {
type = types.str; type = types.str;
description = '' description = ''
The key to use as listed in <command>gpg --list-keys</command>. The key to use as listed in {command}`gpg --list-keys`.
''; '';
}; };
@ -99,7 +99,7 @@ let
description = '' description = ''
Path to file containing certificate authorities that should Path to file containing certificate authorities that should
be used to validate the connection authenticity. If be used to validate the connection authenticity. If
<literal>null</literal> then the system default is used. `null` then the system default is used.
Note, if set then the system default may still be accepted. Note, if set then the system default may still be accepted.
''; '';
}; };
@ -122,7 +122,7 @@ let
example = 993; example = 993;
description = '' description = ''
The port on which the IMAP server listens. If The port on which the IMAP server listens. If
<literal>null</literal> then the default port is used. `null` then the default port is used.
''; '';
}; };
@ -144,10 +144,9 @@ let
example = "jmap.example.org"; example = "jmap.example.org";
description = '' description = ''
Hostname of JMAP server. Hostname of JMAP server.
</para><para>
If both this option and <xref If both this option and [](#opt-accounts.email.accounts._name_.jmap.sessionUrl) are specified,
linkend="opt-accounts.email.accounts._name_.jmap.sessionUrl"/> are specified, `host` is preferred by applications when establishing a
<code>host</code> is preferred by applications when establishing a
session. session.
''; '';
}; };
@ -158,10 +157,9 @@ let
example = "https://jmap.example.org:443/.well-known/jmap"; example = "https://jmap.example.org:443/.well-known/jmap";
description = '' description = ''
URL for the JMAP Session resource. URL for the JMAP Session resource.
</para><para>
If both this option and <xref If both this option and [](#opt-accounts.email.accounts._name_.jmap.host) are specified,
linkend="opt-accounts.email.accounts._name_.jmap.host"/> are specified, `host` is preferred by applications when establishing a
<code>host</code> is preferred by applications when establishing a
session. session.
''; '';
}; };
@ -184,7 +182,7 @@ let
example = 465; example = 465;
description = '' description = ''
The port on which the SMTP server listens. If The port on which the SMTP server listens. If
<literal>null</literal> then the default port is used. `null` then the default port is used.
''; '';
}; };
@ -255,7 +253,7 @@ let
Some email providers have peculiar behavior that require Some email providers have peculiar behavior that require
special treatment. This option is therefore intended to special treatment. This option is therefore intended to
indicate the nature of the provider. indicate the nature of the provider.
</para><para>
When this indicates a specific provider then, for example, When this indicates a specific provider then, for example,
the IMAP, SMTP, and JMAP server configuration may be set the IMAP, SMTP, and JMAP server configuration may be set
automatically. automatically.

View file

@ -29,7 +29,7 @@ let
x11 = { x11 = {
enable = mkEnableOption '' enable = mkEnableOption ''
x11 config generation for <option>home.pointerCursor</option> x11 config generation for {option}`home.pointerCursor`
''; '';
defaultCursor = mkOption { defaultCursor = mkOption {
@ -42,7 +42,7 @@ let
gtk = { gtk = {
enable = mkEnableOption '' enable = mkEnableOption ''
gtk config generation for <option>home.pointerCursor</option> gtk config generation for {option}`home.pointerCursor`
''; '';
}; };
}; };
@ -95,20 +95,20 @@ in {
type = types.nullOr pointerCursorModule; type = types.nullOr pointerCursorModule;
default = null; default = null;
description = '' description = ''
Cursor configuration. Set to <literal>null</literal> to disable. Cursor configuration. Set to `null` to disable.
</para><para>
Top-level options declared under this submodule are backend independent Top-level options declared under this submodule are backend independent
options. Options declared under namespaces such as <literal>x11</literal> options. Options declared under namespaces such as `x11`
are backend specific options. By default, only backend independent cursor are backend specific options. By default, only backend independent cursor
configurations are generated. If you need configurations for specific configurations are generated. If you need configurations for specific
backends, you can toggle them via the enable option. For example, backends, you can toggle them via the enable option. For example,
<xref linkend="opt-home.pointerCursor.x11.enable"/> [](#opt-home.pointerCursor.x11.enable)
will enable x11 cursor configurations. will enable x11 cursor configurations.
</para><para>
Note that this will merely generate the cursor configurations. Note that this will merely generate the cursor configurations.
To apply the configurations, the relevant subsytems must also be configured. To apply the configurations, the relevant subsytems must also be configured.
For example, <xref linkend="opt-home.pointerCursor.gtk.enable"/> will generate For example, [](#opt-home.pointerCursor.gtk.enable) will generate
the gtk cursor configuration, but <xref linkend="opt-gtk.enable"/> needs the gtk cursor configuration, but [](#opt-gtk.enable) needs
to be set for it to be applied. to be set for it to be applied.
''; '';
}; };

View file

@ -41,13 +41,13 @@ in {
i18n.glibcLocales = mkOption { i18n.glibcLocales = mkOption {
type = types.path; type = types.path;
description = '' description = ''
Customized <literal>glibcLocales</literal> package providing Customized `glibcLocales` package providing
the <literal>LOCALE_ARCHIVE_*</literal> environment variable. the `LOCALE_ARCHIVE_*` environment variable.
</para><para>
This option only applies to the Linux platform. This option only applies to the Linux platform.
</para><para>
When Home Manager is configured with NixOS, the default value When Home Manager is configured with NixOS, the default value
will be set to <varname>i18n.glibcLocales</varname> from the will be set to {var}`i18n.glibcLocales` from the
system configuration. system configuration.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -28,7 +28,7 @@ in
home.file = mkOption { home.file = mkOption {
description = "Attribute set of files to link into the user home."; description = "Attribute set of files to link into the user home.";
default = {}; default = {};
type = fileType "home.file" "<envar>HOME</envar>" homeDirectory; type = fileType "home.file" "{env}`HOME`" homeDirectory;
}; };
home-files = mkOption { home-files = mkOption {

View file

@ -119,11 +119,11 @@ let
else "us"; else "us";
defaultText = literalExpression "null"; defaultText = literalExpression "null";
description = '' description = ''
Keyboard layout. If <literal>null</literal>, then the system Keyboard layout. If `null`, then the system
configuration will be used. configuration will be used.
</para><para>
This defaults to <literal>null</literal> for state This defaults to `null` for state
version  19.09 and <literal>"us"</literal> otherwise. version  19.09 and `"us"` otherwise.
''; '';
}; };
@ -154,11 +154,11 @@ let
defaultText = literalExpression "null"; defaultText = literalExpression "null";
example = "colemak"; example = "colemak";
description = '' description = ''
X keyboard variant. If <literal>null</literal>, then the X keyboard variant. If `null`, then the
system configuration will be used. system configuration will be used.
</para><para>
This defaults to <literal>null</literal> for state This defaults to `null` for state
version  19.09 and <literal>""</literal> otherwise. version  19.09 and `""` otherwise.
''; '';
}; };
}; };
@ -229,7 +229,7 @@ in
"null" for state version 21.11 "null" for state version 21.11
''; '';
description = '' description = ''
Keyboard configuration. Set to <literal>null</literal> to Keyboard configuration. Set to `null` to
disable Home Manager keyboard management. disable Home Manager keyboard management.
''; '';
}; };
@ -246,11 +246,11 @@ in
description = '' description = ''
An attribute set that maps aliases (the top level attribute names An attribute set that maps aliases (the top level attribute names
in this option) to command strings or directly to build outputs. in this option) to command strings or directly to build outputs.
</para><para>
This option should only be used to manage simple aliases that are This option should only be used to manage simple aliases that are
compatible across all shells. If you need to use a shell specific compatible across all shells. If you need to use a shell specific
feature then make sure to use a shell specific option, for example feature then make sure to use a shell specific option, for example
<xref linkend="opt-programs.bash.shellAliases"/> for Bash. [](#opt-programs.bash.shellAliases) for Bash.
''; '';
}; };
@ -260,34 +260,34 @@ in
example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; }; example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; };
description = '' description = ''
Environment variables to always set at login. Environment variables to always set at login.
</para><para>
The values may refer to other environment variables using The values may refer to other environment variables using
POSIX.2 style variable references. For example, a variable POSIX.2 style variable references. For example, a variable
<varname>parameter</varname> may be referenced as {var}`parameter` may be referenced as
<code>$parameter</code> or <code>''${parameter}</code>. A `$parameter` or `''${parameter}`. A
default value <literal>foo</literal> may be given as per default value `foo` may be given as per
<code>''${parameter:-foo}</code> and, similarly, an alternate `''${parameter:-foo}` and, similarly, an alternate
value <literal>bar</literal> can be given as per value `bar` can be given as per
<code>''${parameter:+bar}</code>. `''${parameter:+bar}`.
</para><para>
Note, these variables may be set in any order so no session Note, these variables may be set in any order so no session
variable may have a runtime dependency on another session variable may have a runtime dependency on another session
variable. In particular code like variable. In particular code like
<programlisting language="nix"> ```nix
home.sessionVariables = { home.sessionVariables = {
FOO = "Hello"; FOO = "Hello";
BAR = "$FOO World!"; BAR = "$FOO World!";
}; };
</programlisting> ```
may not work as expected. If you need to reference another may not work as expected. If you need to reference another
session variable, then do so inside Nix instead. The above session variable, then do so inside Nix instead. The above
example then becomes example then becomes
<programlisting language="nix"> ```nix
home.sessionVariables = { home.sessionVariables = {
FOO = "Hello"; FOO = "Hello";
BAR = "''${config.home.sessionVariables.FOO} World!"; BAR = "''${config.home.sessionVariables.FOO} World!";
}; };
</programlisting> ```
''; '';
}; };
@ -296,7 +296,7 @@ in
internal = true; internal = true;
description = '' description = ''
The package containing the The package containing the
<filename>hm-session-vars.sh</filename> file. {file}`hm-session-vars.sh` file.
''; '';
}; };
@ -309,14 +309,12 @@ in
".git/safe/../../bin" ".git/safe/../../bin"
]; ];
description = '' description = ''
Extra directories to add to <envar>PATH</envar>. Extra directories to add to {env}`PATH`.
</para><para> These directories are added to the {env}`PATH` variable in a
double-quoted context, so expressions like `$HOME` are
These directories are added to the <envar>PATH</envar> variable in a expanded by the shell. However, since expressions like `~` or
double-quoted context, so expressions like <code>$HOME</code> are `*` are escaped, they will end up in the {env}`PATH`
expanded by the shell. However, since expressions like <code>~</code> or
<code>*</code> are escaped, they will end up in the <envar>PATH</envar>
verbatim. verbatim.
''; '';
}; };
@ -327,7 +325,7 @@ in
internal = true; internal = true;
description = '' description = ''
Extra configuration to add to the Extra configuration to add to the
<filename>hm-session-vars.sh</filename> file. {file}`hm-session-vars.sh` file.
''; '';
}; };
@ -343,7 +341,7 @@ in
example = [ "doc" "info" "devdoc" ]; example = [ "doc" "info" "devdoc" ];
description = '' description = ''
List of additional package outputs of the packages List of additional package outputs of the packages
<varname>home.packages</varname> that should be installed into {var}`home.packages` that should be installed into
the user environment. the user environment.
''; '';
}; };
@ -363,9 +361,9 @@ in
''; '';
description = '' description = ''
Whether the activation script should start with an empty Whether the activation script should start with an empty
<envar>PATH</envar> variable. When <literal>false</literal> then the {env}`PATH` variable. When `false` then the
user's <envar>PATH</envar> will be accessible in the script. It is user's {env}`PATH` will be accessible in the script. It is
recommended to keep this at <literal>true</literal> to avoid recommended to keep this at `true` to avoid
uncontrolled use of tools found in PATH. uncontrolled use of tools found in PATH.
''; '';
}; };
@ -387,35 +385,29 @@ in
meaning running twice or more times produces the same result meaning running twice or more times produces the same result
as running it once. as running it once.
</para><para>
If the script block produces any observable side effect, such If the script block produces any observable side effect, such
as writing or deleting files, then it as writing or deleting files, then it
<emphasis>must</emphasis> be placed after the special *must* be placed after the special
<literal>writeBoundary</literal> script block. Prior to the `writeBoundary` script block. Prior to the
write boundary one can place script blocks that verifies, but write boundary one can place script blocks that verifies, but
does not modify, the state of the system and exits if an does not modify, the state of the system and exits if an
unexpected state is found. For example, the unexpected state is found. For example, the
<literal>checkLinkTargets</literal> script block checks for `checkLinkTargets` script block checks for
collisions between non-managed files and files defined in collisions between non-managed files and files defined in
<xref linkend="opt-home.file"/>. [](#opt-home.file).
</para><para> A script block should respect the {var}`DRY_RUN`
A script block should respect the <varname>DRY_RUN</varname>
variable, if it is set then the actions taken by the script variable, if it is set then the actions taken by the script
should be logged to standard out and not actually performed. should be logged to standard out and not actually performed.
The variable <varname>DRY_RUN_CMD</varname> is set to The variable {var}`DRY_RUN_CMD` is set to
<command>echo</command> if dry run is enabled. {command}`echo` if dry run is enabled.
</para><para>
A script block should also respect the A script block should also respect the
<varname>VERBOSE</varname> variable, and if set print {var}`VERBOSE` variable, and if set print
information on standard out that may be useful for debugging information on standard out that may be useful for debugging
any issue that may arise. The variable any issue that may arise. The variable
<varname>VERBOSE_ARG</varname> is set to {var}`VERBOSE_ARG` is set to
<option>--verbose</option> if verbose output is enabled. {option}`--verbose` if verbose output is enabled.
''; '';
}; };
@ -430,7 +422,7 @@ in
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = '' description = ''
Extra packages to add to <envar>PATH</envar> within the activation Extra packages to add to {env}`PATH` within the activation
script. script.
''; '';
}; };
@ -462,7 +454,7 @@ in
and unexpected behavior. It is therefore highly recommended to use a and unexpected behavior. It is therefore highly recommended to use a
release of Home Manager that corresponds with your chosen release of release of Home Manager that corresponds with your chosen release of
Nixpkgs. Nixpkgs.
</para><para>
When this option is enabled and a mismatch is detected then a warning When this option is enabled and a mismatch is detected then a warning
will be printed when the user configuration is being built. will be printed when the user configuration is being built.
''; '';
@ -483,8 +475,8 @@ in
warnings = warnings =
let let
hmRelease = fileContents ../.release; hmRelease = config.home.version.release;
nixpkgsRelease = pkgs.lib.trivial.release; nixpkgsRelease = lib.trivial.release;
releaseMismatch = releaseMismatch =
config.home.enableNixpkgsReleaseCheck config.home.enableNixpkgsReleaseCheck
&& hmRelease != nixpkgsRelease; && hmRelease != nixpkgsRelease;

View file

@ -32,46 +32,32 @@ in {
default = null; default = null;
example = "fcitx5"; example = "fcitx5";
description = '' description = ''
Select the enabled input method. Input methods is a software to input Select the enabled input method. Input methods are software to input
symbols that are not available on standard input devices. symbols that are not available on standard input devices.
</para><para>
Input methods are specially used to input Chinese, Japanese and Korean Input methods are especially used to input Chinese, Japanese and
characters. Korean characters.
</para><para>
Currently the following input methods are available in Home Manager: Currently the following input methods are available in Home Manager:
<variablelist> `fcitx5`
<varlistentry> : A customizable lightweight input method.
<term><literal>fcitx5</literal></term> The next generation of fcitx.
<listitem><para> Addons (including engines, dictionaries, skins) can be added using
A customizable lightweight input method. [](#opt-i18n.inputMethod.fcitx5.addons).
The next generation of fcitx,
addons (including engines, dictionaries, skins) can be added using `nabi`
<literal>i18n.inputMethod.fcitx5.addons</literal>. : A Korean input method based on XIM. Nabi doesn't support Qt 5.
</para></listitem>
</varlistentry> `uim`
<varlistentry> : The "universal input method" is a library with an XIM bridge.
<term><literal>nabi</literal></term> uim mainly supports Chinese, Japanese and Korean.
<listitem><para>
A Korean input method based on XIM. Nabi doesn't support Qt 5. `hime`
</para></listitem> : An extremely easy-to-use input method framework.
</varlistentry>
<varlistentry> `kime`
<term><literal>uim</literal></term> : A Korean IME.
<listitem><para>
The universal input method, is a library with a XIM bridge.
uim mainly support Chinese, Japanese and Korean.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>hime</literal></term>
<listitem><para>An extremely easy-to-use input method framework.</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>kime</literal></term>
<listitem><para>A Korean IME.</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };

View file

@ -28,7 +28,7 @@ in {
''; '';
description = '' description = ''
kime configuration. Refer to kime configuration. Refer to
<link xlink:href="https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md"/> <https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md>
for details on supported values. for details on supported values.
''; '';
}; };

View file

@ -28,9 +28,7 @@ let
} }
''; '';
description = '' description = ''
Define a launchd job. See <citerefentry> Define a launchd job. See {manpage}`launchd.plist(5)` for details.
<refentrytitle>launchd.plist</refentrytitle><manvolnum>5</manvolnum>
</citerefentry> for details.
''; '';
}; };
}; };

View file

@ -40,17 +40,17 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key is used as a hint to <literal>launchctl(1)</literal> that it should not submit this job to launchd when This optional key is used as a hint to `launchctl(1)` that it should not submit this job to launchd when
loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running
system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration
file yourself is not a sufficient test. You should query launchd for the presence of the job using file yourself is not a sufficient test. You should query launchd for the presence of the job using
the <literal>launchctl(1)</literal> list subcommand or use the ServiceManagement framework's the `launchctl(1)` list subcommand or use the ServiceManagement framework's
<literal>SMJobCopyDictionary()</literal> method. `SMJobCopyDictionary()` method.
Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which
is changed with the [-w] option of the <literal>launchctl(1)</literal> load and unload subcommands. These subcommands no is changed with the [-w] option of the `launchctl(1)` load and unload subcommands. These subcommands no
longer modify the configuration file, so the value displayed in the configuration file is not necessarily longer modify the configuration file, so the value displayed in the configuration file is not necessarily
the value that <literal>launchctl(1)</literal> will apply. See <literal>launchctl(1)</literal> for more information. the value that `launchctl(1)` will apply. See `launchctl(1)` for more information.
Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria
are insufficient to describe the conditions under which your job needs to run. The cost to have a are insufficient to describe the conditions under which your job needs to run. The cost to have a
@ -91,7 +91,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening
socket is passed via the standard in/out/error file descriptors. If false, then <literal>accept(2)</literal> is socket is passed via the standard in/out/error file descriptors. If false, then `accept(2)` is
called on behalf of the job, and the result is passed via the standard in/out/error descriptors. called on behalf of the job, and the result is passed via the standard in/out/error descriptors.
''; '';
}; };
@ -104,7 +104,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This configuration file only applies to the hosts listed with this key. Note: One should set kern.hostname This configuration file only applies to the hosts listed with this key. Note: One should set kern.hostname
in <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
@ -113,7 +113,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.hostname This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.hostname
in <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
@ -122,7 +122,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This configuration file only applies to sessions of the type specified. This key is used in concert This configuration file only applies to sessions of the type specified. This key is used in concert
with the -S flag to <command>launchctl</command>. with the -S flag to {command}`launchctl`.
''; '';
}; };
@ -130,7 +130,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This key maps to the first argument of <literal>execvp(3)</literal>. If this key is missing, then the first element of This key maps to the first argument of `execvp(3)`. If this key is missing, then the first element of
the array of strings provided to the ProgramArguments will be used instead. This key is required in the array of strings provided to the ProgramArguments will be used instead. This key is required in
the absence of the ProgramArguments key. the absence of the ProgramArguments key.
''; '';
@ -140,8 +140,8 @@ with lib;
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = '' description = ''
This key maps to the second argument of <literal>execvp(3)</literal>. This key is required in the absence of the Program This key maps to the second argument of `execvp(3)`. This key is required in the absence of the Program
key. Please note: many people are confused by this key. Please read <literal>execvp(3)</literal> very carefully! key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully!
''; '';
}; };
@ -149,7 +149,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This flag causes launchd to use the <literal>glob(3)</literal> mechanism to update the program arguments before invocation. This flag causes launchd to use the `glob(3)` mechanism to update the program arguments before invocation.
''; '';
}; };
@ -157,8 +157,8 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This flag instructs launchd that the job promises to use <literal>vproc_transaction_begin(3)</literal> and This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
<literal>vproc_transaction_end(3)</literal> to track outstanding transactions that need to be reconciled before the `vproc_transaction_end(3)` to track outstanding transactions that need to be reconciled before the
process can safely terminate. If no outstanding transactions are in progress, then launchd is free to process can safely terminate. If no outstanding transactions are in progress, then launchd is free to
send the SIGKILL signal. send the SIGKILL signal.
''; '';
@ -263,7 +263,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key is used to specify a directory to <literal>chroot(2)</literal> to before running the job. This optional key is used to specify a directory to `chroot(2)` to before running the job.
''; '';
}; };
@ -271,7 +271,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key is used to specify a directory to <literal>chdir(2)</literal> to before running the job. This optional key is used to specify a directory to `chdir(2)` to before running the job.
''; '';
}; };
@ -288,7 +288,7 @@ with lib;
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = ''
This optional key specifies what value should be passed to <literal>umask(2)</literal> before running the job. Known bug: This optional key specifies what value should be passed to `umask(2)` before running the job. Known bug:
Property lists don't support octal, so please convert the value to decimal. Property lists don't support octal, so please convert the value to decimal.
''; '';
}; };
@ -327,7 +327,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key specifies whether <literal>initgroups(3)</literal> should be called before running the job. The default This optional key specifies whether `initgroups(3)` should be called before running the job. The default
is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set. is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set.
''; '';
}; };
@ -375,7 +375,7 @@ with lib;
}; };
description = '' description = ''
This optional key causes the job to be started every calendar interval as specified. Missing arguments This optional key causes the job to be started every calendar interval as specified. Missing arguments
are considered to be wildcard. The semantics are much like <literal>crontab(5)</literal>. Unlike cron which skips job are considered to be wildcard. The semantics are much like `crontab(5)`. Unlike cron which skips job
invocations when the computer is asleep, launchd will start the job the next time the computer wakes invocations when the computer is asleep, launchd will start the job the next time the computer wakes
up. If multiple intervals transpire before the computer is woken, those events will be coalesced into up. If multiple intervals transpire before the computer is woken, those events will be coalesced into
one event upon wake from sleep. one event upon wake from sleep.
@ -430,7 +430,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being supplied to stdin when using This optional key specifies what file should be used for data being supplied to stdin when using
<literal>stdio(3)</literal>. `stdio(3)`.
''; '';
}; };
@ -438,7 +438,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being sent to stdout when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`.
''; '';
}; };
@ -446,7 +446,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being sent to stderr when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`.
''; '';
}; };
@ -471,7 +471,7 @@ with lib;
SoftResourceLimits = mkOption { SoftResourceLimits = mkOption {
default = null; default = null;
description = '' description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -497,7 +497,7 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
@ -522,8 +522,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -532,8 +532,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the <literal>sysctl(3)</literal> kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -563,7 +563,7 @@ with lib;
default = null; default = null;
example = { NumberOfFiles = 4096; }; example = { NumberOfFiles = 4096; };
description = '' description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -589,7 +589,7 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
@ -605,7 +605,7 @@ with lib;
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) which a process may lock into memory using the <literal>mlock(2)</literal> function. The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function.
''; '';
}; };
@ -614,8 +614,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -624,8 +624,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the <literal>sysctl(3)</literal> kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -670,21 +670,21 @@ with lib;
resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values: resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values:
Background Background
Background jobs are generally processes that do work that was not directly requested by the user. : Background jobs are generally processes that do work that was not directly requested by the user.
The resource limits applied to Background jobs are intended to prevent them from disrupting the The resource limits applied to Background jobs are intended to prevent them from disrupting the
user experience. user experience.
Standard Standard
Standard jobs are equivalent to no ProcessType being set. : Standard jobs are equivalent to no ProcessType being set.
Adaptive Adaptive
Adaptive jobs move between the Background and Interactive classifications based on activity over : Adaptive jobs move between the Background and Interactive classifications based on activity over
XPC connections. See <literal>xpc_transaction_begin(3)</literal> for details. XPC connections. See {manpage}`xpc_transaction_begin(3)` for details.
Interactive Interactive
Interactive jobs run with the same resource limitations as apps, that is to say, none. Interactive : Interactive jobs run with the same resource limitations as apps, that is to say, none. Interactive
jobs are critical to maintaining a responsive user experience, and this key should only be jobs are critical to maintaining a responsive user experience, and this key should only be
used if an app's ability to be responsive depends on it, and cannot be made Adaptive. used if an app's ability to be responsive depends on it, and cannot be made Adaptive.
''; '';
}; };
@ -790,7 +790,7 @@ with lib;
to be effectively equivalent, even though each file descriptor likely represents a different networking to be effectively equivalent, even though each file descriptor likely represents a different networking
protocol which conforms to the criteria specified in the job configuration file. protocol which conforms to the criteria specified in the job configuration file.
The parameters below are used as inputs to call <literal>getaddrinfo(3)</literal>. The parameters below are used as inputs to call `getaddrinfo(3)`.
''; '';
type = types.nullOr (types.attrsOf (types.submodule { type = types.nullOr (types.attrsOf (types.submodule {
options = { options = {
@ -807,7 +807,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key specifies whether <literal>listen(2)</literal> or <literal>connect(2)</literal> should be called on the created file This optional key specifies whether `listen(2)` or `connect(2)` should be called on the created file
descriptor. The default is true ("to listen"). descriptor. The default is true ("to listen").
''; '';
}; };
@ -816,7 +816,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key specifies the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -824,7 +824,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key specifies the service on the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the service on the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -840,7 +840,7 @@ with lib;
type = types.nullOr (types.enum [ "TCP" ]); type = types.nullOr (types.enum [ "TCP" ]);
default = null; default = null;
description = '' description = ''
This optional key specifies the protocol to be passed to <literal>socket(2)</literal>. The only value understood by This optional key specifies the protocol to be passed to `socket(2)`. The only value understood by
this key at the moment is "TCP". this key at the moment is "TCP".
''; '';
}; };
@ -849,8 +849,8 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key implies SockFamily is set to "Unix". It specifies the path to <literal>connect(2)</literal> or This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
<literal>bind(2)</literal> to. `bind(2)` to.
''; '';
}; };
@ -879,7 +879,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key can be used to request that the service be registered with the This optional key can be used to request that the service be registered with the
<literal>mDNSResponder(8)</literal>. If the value is boolean, the service name is inferred from the SockServiceName. `mDNSResponder(8)`. If the value is boolean, the service name is inferred from the SockServiceName.
''; '';
}; };
@ -888,7 +888,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key can be used to request that the datagram socket join a multicast group. If the This optional key can be used to request that the datagram socket join a multicast group. If the
value is a hostname, then <literal>getaddrinfo(3)</literal> will be used to join the correct multicast address for a value is a hostname, then `getaddrinfo(3)` will be used to join the correct multicast address for a
given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily
family also be set, otherwise the results are undefined. family also be set, otherwise the results are undefined.
''; '';

View file

@ -42,7 +42,7 @@ in
type = types.nullOr types.lines; type = types.nullOr types.lines;
description = '' description = ''
Text of the file. If this option is null then Text of the file. If this option is null then
<xref linkend="opt-${opt}._name_.source"/> [](#opt-${opt}._name_.source)
must be set. must be set.
''; '';
}; };
@ -51,7 +51,7 @@ in
type = types.path; type = types.path;
description = '' description = ''
Path of the source file or directory. If Path of the source file or directory. If
<xref linkend="opt-${opt}._name_.text"/> [](#opt-${opt}._name_.text)
is non-null then this option will automatically point to a file is non-null then this option will automatically point to a file
containing that text. containing that text.
''; '';
@ -61,9 +61,9 @@ in
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
Set the execute bit. If <literal>null</literal>, defaults to the mode Set the execute bit. If `null`, defaults to the mode
of the <varname>source</varname> file or to <literal>false</literal> of the {var}`source` file or to `false`
for files created through the <varname>text</varname> option. for files created through the {var}`text` option.
''; '';
}; };
@ -75,10 +75,10 @@ in
determines whether the directory should be recursively determines whether the directory should be recursively
linked to the target location. This option has no effect linked to the target location. This option has no effect
if the source is a file. if the source is a file.
</para><para>
If <literal>false</literal> (the default) then the target If `false` (the default) then the target
will be a symbolic link to the source directory. If will be a symbolic link to the source directory. If
<literal>true</literal> then the target will be a `true` then the target will be a
directory structure matching the source's but whose leafs directory structure matching the source's but whose leafs
are symbolic links to the files of the source directory. are symbolic links to the files of the source directory.
''; '';
@ -90,10 +90,10 @@ in
description = '' description = ''
Shell commands to run when file has changed between Shell commands to run when file has changed between
generations. The script will be run generations. The script will be run
<emphasis>after</emphasis> the new files have been linked *after* the new files have been linked
into place. into place.
</para><para>
Note, this code is always run when <literal>recursive</literal> is Note, this code is always run when `recursive` is
enabled. enabled.
''; '';
}; };

View file

@ -41,7 +41,7 @@ in rec {
example = literalExpression "pkgs.dejavu_fonts"; example = literalExpression "pkgs.dejavu_fonts";
description = '' description = ''
Package providing the font. This package will be installed Package providing the font. This package will be installed
to your profile. If <literal>null</literal> then the font to your profile. If `null` then the font
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };

View file

@ -6,7 +6,10 @@ let
cfg = config.manual; cfg = config.manual;
docs = import ../docs { inherit lib pkgs; }; docs = import ../docs {
inherit pkgs lib;
inherit (config.home.version) release isReleaseBranch;
};
in { in {
options = { options = {
@ -15,7 +18,7 @@ in {
default = false; default = false;
description = '' description = ''
Whether to install the HTML manual. This also installs the Whether to install the HTML manual. This also installs the
<command>home-manager-help</command> tool, which opens a local {command}`home-manager-help` tool, which opens a local
copy of the Home Manager manual in the system web browser. copy of the Home Manager manual in the system web browser.
''; '';
}; };
@ -26,8 +29,8 @@ in {
example = false; example = false;
description = '' description = ''
Whether to install the configuration manual page. The manual can Whether to install the configuration manual page. The manual can
be reached by <command>man home-configuration.nix</command>. be reached by {command}`man home-configuration.nix`.
</para><para>
When looking at the manual page pretend that all references to When looking at the manual page pretend that all references to
NixOS stuff are actually references to Home Manager stuff. NixOS stuff are actually references to Home Manager stuff.
Thanks! Thanks!
@ -41,7 +44,7 @@ in {
description = '' description = ''
Whether to install a JSON formatted list of all Home Manager Whether to install a JSON formatted list of all Home Manager
options. This can be located at options. This can be located at
<filename>&lt;profile directory&gt;/share/doc/home-manager/options.json</filename>, {file}`<profile directory>/share/doc/home-manager/options.json`,
and may be used for navigating definitions, auto-completing, and may be used for navigating definitions, auto-completing,
and other miscellaneous tasks. and other miscellaneous tasks.
''; '';

View file

@ -35,9 +35,9 @@ in {
visible = false; visible = false;
description = '' description = ''
Whether to enable dconf settings. Whether to enable dconf settings.
</para><para>
Note, if you use NixOS then you must add Note, if you use NixOS then you must add
<code>programs.dconf.enable = true</code> `programs.dconf.enable = true`
to your system configuration. Otherwise you will see a systemd error to your system configuration. Otherwise you will see a systemd error
message when your configuration is activated. message when your configuration is activated.
''; '';
@ -59,16 +59,16 @@ in {
''; '';
description = '' description = ''
Settings to write to the dconf configuration system. Settings to write to the dconf configuration system.
</para><para>
Note that the database is strongly-typed so you need to use the same types Note that the database is strongly-typed so you need to use the same types
as described in the GSettings schema. For example, if an option is of type as described in the GSettings schema. For example, if an option is of type
<literal>uint32</literal> (<literal>u</literal>), you need to wrap the number `uint32` (`u`), you need to wrap the number
using the <literal>lib.hm.gvariant.mkUint32</literal> constructor. using the `lib.hm.gvariant.mkUint32` constructor.
Otherwise, since Nix integers are implicitly coerced to <literal>int32</literal> Otherwise, since Nix integers are implicitly coerced to `int32`
(<literal>i</literal>), it would get stored in the database as such, and GSettings (`i`), it would get stored in the database as such, and GSettings
might be confused when loading the setting. might be confused when loading the setting.
</para><para>
You might want to use <link xlink:href="https://github.com/gvolpe/dconf2nix">dconf2nix</link> You might want to use [dconf2nix](https://github.com/gvolpe/dconf2nix)
to convert dconf database dumps into compatible Nix expression. to convert dconf database dumps into compatible Nix expression.
''; '';
}; };

View file

@ -6,10 +6,10 @@ with lib;
options.home = { options.home = {
enableDebugInfo = mkEnableOption "" // { enableDebugInfo = mkEnableOption "" // {
description = '' description = ''
Some Nix-packages provide debug symbols for Some Nix packages provide debug symbols for
<command>gdb</command> in the <literal>debug</literal>-output. {command}`gdb` in the `debug` output.
This option ensures that those are automatically fetched from This option ensures that those are automatically fetched from
the binary cache if available and <command>gdb</command> is the binary cache if available and {command}`gdb` is
configured to find those symbols. configured to find those symbols.
''; '';
}; };

View file

@ -18,10 +18,10 @@ in {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };
description = '' description = ''
Configuration written to <filename>$HOME/.editorconfig</filename>. Configuration written to {file}`$HOME/.editorconfig`.
<code>root = true</code> is automatically added to the file, `root = true` is automatically added to the file,
it must not be added here. it must not be added here.
See <link xlink:href="https://editorconfig.org"/> for documentation. See <https://editorconfig.org> for documentation.
''; '';
example = literalExpression '' example = literalExpression ''
{ {

View file

@ -28,8 +28,8 @@ in {
Whether to enable fontconfig configuration. This will, for Whether to enable fontconfig configuration. This will, for
example, allow fontconfig to discover fonts and example, allow fontconfig to discover fonts and
configurations installed through configurations installed through
<varname>home.packages</varname> and {var}`home.packages` and
<command>nix-env</command>. {command}`nix-env`.
''; '';
}; };
}; };

View file

@ -33,7 +33,7 @@ let
example = literalExpression "pkgs.gnome.gnome-themes-extra"; example = literalExpression "pkgs.gnome.gnome-themes-extra";
description = '' description = ''
Package providing the theme. This package will be installed Package providing the theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -54,7 +54,7 @@ let
example = literalExpression "pkgs.gnome.adwaita-icon-theme"; example = literalExpression "pkgs.gnome.adwaita-icon-theme";
description = '' description = ''
Package providing the icon theme. This package will be installed Package providing the icon theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -75,7 +75,7 @@ let
example = literalExpression "pkgs.vanilla-dmz"; example = literalExpression "pkgs.vanilla-dmz";
description = '' description = ''
Package providing the cursor theme. This package will be installed Package providing the cursor theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -143,7 +143,7 @@ in {
example = "gtk-can-change-accels = 1"; example = "gtk-can-change-accels = 1";
description = '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
<filename>~/.gtkrc-2.0</filename>. {file}`~/.gtkrc-2.0`.
''; '';
}; };
@ -177,7 +177,7 @@ in {
}; };
description = '' description = ''
Extra configuration options to add to Extra configuration options to add to
<filename>$XDG_CONFIG_HOME/gtk-3.0/settings.ini</filename>. {file}`$XDG_CONFIG_HOME/gtk-3.0/settings.ini`.
''; '';
}; };
@ -186,7 +186,7 @@ in {
default = ""; default = "";
description = '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
<filename>$XDG_CONFIG_HOME/gtk-3.0/gtk.css</filename>. {file}`$XDG_CONFIG_HOME/gtk-3.0/gtk.css`.
''; '';
}; };
}; };
@ -201,7 +201,7 @@ in {
}; };
description = '' description = ''
Extra configuration options to add to Extra configuration options to add to
<filename>$XDG_CONFIG_HOME/gtk-4.0/settings.ini</filename>. {file}`$XDG_CONFIG_HOME/gtk-4.0/settings.ini`.
''; '';
}; };
@ -210,7 +210,7 @@ in {
default = ""; default = "";
description = '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
<filename>$XDG_CONFIG_HOME/gtk-4.0/gtk.css</filename>. {file}`$XDG_CONFIG_HOME/gtk-4.0/gtk.css`.
''; '';
}; };
}; };

View file

@ -59,44 +59,23 @@ in
default = "notify"; default = "notify";
description = '' description = ''
How unread and relevant news should be presented when How unread and relevant news should be presented when
running <command>home-manager build</command> and running {command}`home-manager build` and
<command>home-manager switch</command>. {command}`home-manager switch`.
</para><para>
The options are The options are
<variablelist> `silent`
<varlistentry> : Do not print anything during build or switch. The
<term><literal>silent</literal></term> {command}`home-manager news` command still
<listitem> works for viewing the entries.
<para>
Do not print anything during build or switch. The `notify`
<command>home-manager news</command> command still : The number of unread and relevant news entries will be
works for viewing the entries. printed to standard output. The {command}`home-manager
</para> news` command can later be used to view the entries.
</listitem>
</varlistentry> `show`
<varlistentry> : A pager showing unread news entries is opened.
<term><literal>notify</literal></term>
<listitem>
<para>
The number of unread and relevant news entries will be
printed to standard output. The <command>home-manager
news</command> command can later be used to view the
entries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>show</literal></term>
<listitem>
<para>
A pager showing unread news entries is opened.
</para>
</listitem>
</varlistentry>
</variablelist>
''; '';
}; };

View file

@ -120,23 +120,23 @@ in {
repo = "my-nixpkgs"; repo = "my-nixpkgs";
}; };
description = description =
"The flake reference to which <option>from></option> is to be rewritten."; "The flake reference to which {option}`from>` is to be rewritten.";
}; };
flake = mkOption { flake = mkOption {
type = types.nullOr types.attrs; type = types.nullOr types.attrs;
default = null; default = null;
example = literalExpression "nixpkgs"; example = literalExpression "nixpkgs";
description = '' description = ''
The flake input to which <option>from></option> is to be rewritten. The flake input to which {option}`from>` is to be rewritten.
''; '';
}; };
exact = mkOption { exact = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = ''
Whether the <option>from</option> reference needs to match exactly. If set, Whether the {option}`from` reference needs to match exactly. If set,
a <option>from</option> reference like <literal>nixpkgs</literal> does not a {option}`from` reference like `nixpkgs` does not
match with a reference like <literal>nixpkgs/nixos-20.03</literal>. match with a reference like `nixpkgs/nixos-20.03`.
''; '';
}; };
}; };
@ -182,8 +182,7 @@ in {
keep-outputs = true keep-outputs = true
keep-derivations = true keep-derivations = true
''; '';
description = description = "Additional text appended to {file}`nix.conf`.";
"Additional text appended to <filename>nix.conf</filename>.";
}; };
settings = mkOption { settings = mkOption {
@ -197,16 +196,10 @@ in {
} }
''; '';
description = '' description = ''
Configuration for Nix, see Configuration for Nix; see {manpage}`nix.conf(5)` for available options.
<link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> or
<citerefentry>
<refentrytitle>nix.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for available options.
The value declared here will be translated directly to the key-value pairs Nix expects. The value declared here will be translated directly to the key-value pairs Nix expects.
</para>
<para> Configuration specified in [](#opt-nix.extraOptions) will be appended
Configuration specified in <option>nix.extraOptions</option> which will be appended
verbatim to the resulting config file. verbatim to the resulting config file.
''; '';
}; };

View file

@ -53,24 +53,20 @@ in {
details, see the Nixpkgs documentation.) It allows you to set details, see the Nixpkgs documentation.) It allows you to set
package configuration options. package configuration options.
</para><para> If `null`, then configuration is taken from
If <literal>null</literal>, then configuration is taken from
the fallback location, for example, the fallback location, for example,
<filename>~/.config/nixpkgs/config.nix</filename>. {file}`~/.config/nixpkgs/config.nix`.
</para><para>
Note, this option will not apply outside your Home Manager Note, this option will not apply outside your Home Manager
configuration like when installing manually through configuration like when installing manually through
<command>nix-env</command>. If you want to apply it both {command}`nix-env`. If you want to apply it both
inside and outside Home Manager you can put it in a separate inside and outside Home Manager you can put it in a separate
file and include something like file and include something like
<programlisting language="nix"> ```nix
nixpkgs.config = import ./nixpkgs-config.nix; nixpkgs.config = import ./nixpkgs-config.nix;
xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix; xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;
</programlisting> ```
in your Home Manager configuration. in your Home Manager configuration.
''; '';
@ -94,21 +90,17 @@ in {
List of overlays to use with the Nix Packages collection. (For List of overlays to use with the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to details, see the Nixpkgs documentation.) It allows you to
override packages globally. This is a function that takes as override packages globally. This is a function that takes as
an argument the <emphasis>original</emphasis> Nixpkgs. The an argument the *original* Nixpkgs. The
first argument should be used for finding dependencies, and first argument should be used for finding dependencies, and
the second should be used for overriding recipes. the second should be used for overriding recipes.
</para><para> If `null`, then the overlays are taken from
If <literal>null</literal>, then the overlays are taken from
the fallback location, for example, the fallback location, for example,
<filename>~/.config/nixpkgs/overlays</filename>. {file}`~/.config/nixpkgs/overlays`.
</para><para> Like {var}`nixpkgs.config` this option only
Like <varname>nixpkgs.config</varname> this option only
applies within the Home Manager configuration. See applies within the Home Manager configuration. See
<varname>nixpkgs.config</varname> for a suggested setup that {var}`nixpkgs.config` for a suggested setup that
works both internally and externally. works both internally and externally.
''; '';
}; };

View file

@ -17,11 +17,8 @@ in {
description = '' description = ''
Environment variables that will be set for the PAM session. Environment variables that will be set for the PAM session.
The variable values must be as described in The variable values must be as described in
<citerefentry> {manpage}`pam_env.conf(5)`.
<refentrytitle>pam_env.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
</para><para>
Note, this option will become deprecated in the future and its use is Note, this option will become deprecated in the future and its use is
therefore discouraged. therefore discouraged.
''; '';
@ -39,7 +36,7 @@ in {
default = [ ]; default = [ ];
description = '' description = ''
List of authorized YubiKey token IDs. Refer to List of authorized YubiKey token IDs. Refer to
<link xlink:href="https://developers.yubico.com/yubico-pam"/> <https://developers.yubico.com/yubico-pam>
for details on how to obtain the token ID of a YubiKey. for details on how to obtain the token ID of a YubiKey.
''; '';
}; };
@ -49,7 +46,7 @@ in {
default = ".yubico/authorized_yubikeys"; default = ".yubico/authorized_yubikeys";
description = '' description = ''
File path to write the authorized YubiKeys, File path to write the authorized YubiKeys,
relative to <envar>HOME</envar>. relative to {env}`HOME`.
''; '';
}; };
}; };

View file

@ -56,34 +56,26 @@ in {
[ "libsForQt5" "systemsettings" ] [ "libsForQt5" "systemsettings" ]
]; ];
description = '' description = ''
Platform theme to use for Qt applications.</para> Platform theme to use for Qt applications.
<para>The options are
<variablelist> The options are
<varlistentry>
<term><literal>gtk</literal></term> `gtk`
<listitem><para>Use GTK theme with : Use GTK theme with
<link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link> [`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
</para></listitem>
</varlistentry> `gnome`
<varlistentry> : Use GNOME theme with
<term><literal>gnome</literal></term> [`qgnomeplatform`](https://github.com/FedoraQt/QGnomePlatform)
<listitem><para>Use GNOME theme with
<link xlink:href="https://github.com/FedoraQt/QGnomePlatform">qgnomeplatform</link> `qtct`
</para></listitem> : Use Qt style set using
</varlistentry> [`qt5ct`](https://github.com/desktop-app/qt5ct)
<varlistentry> and [`qt6ct`](https://github.com/trialuser02/qt6ct)
<term><literal>qtct</literal></term> applications
<listitem><para>Use Qt style set using
<link xlink:href="https://github.com/desktop-app/qt5ct">qt5ct</link> `kde`
and : Use Qt settings from Plasma
<link xlink:href="https://github.com/trialuser02/qt6ct">qt6ct</link>
applications</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>kde</literal></term>
<listitem><para>Use Qt settings from Plasma</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -102,43 +94,24 @@ in {
]; ];
description = '' description = ''
Style to use for Qt5/Qt6 applications. Case-insensitive. Style to use for Qt5/Qt6 applications. Case-insensitive.
</para>
<para>Some examples are Some examples are
<variablelist>
<varlistentry> `adwaita`, `adwaita-dark`, `adwaita-highcontrast`, `adwaita-highcontrastinverse`
<term><literal>adwaita</literal></term> : Use the Adwaita style from
<term><literal>adwaita-dark</literal></term> [`adwaita-qt`](https://github.com/FedoraQt/adwaita-qt)
<term><literal>adwaita-highcontrast</literal></term>
<term><literal>adwaita-highcontrastinverse</literal></term> `breeze`
<listitem><para>Use the Adwaita style from : Use the Breeze style from
<link xlink:href="https://github.com/FedoraQt/adwaita-qt">adwaita</link> [`breeze`](https://github.com/KDE/breeze)
</para></listitem>
</varlistentry> `bb10bright`, `bb10dark`, `cde`, `cleanlooks`, `gtk2`, `motif`, `plastique`
<varlistentry> : Use styles from
<term><literal>breeze</literal></term> [`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
<listitem><para>Use the Breeze style from
<link xlink:href="https://github.com/KDE/breeze">breeze</link> `kvantum`
</para></listitem> : Use styles from
</varlistentry> [`kvantum`](https://github.com/tsujan/Kvantum)
<varlistentry>
<term><literal>bb10bright</literal></term>
<term><literal>bb10dark</literal></term>
<term><literal>cde</literal></term>
<term><literal>cleanlooks</literal></term>
<term><literal>gtk2</literal></term>
<term><literal>motif</literal></term>
<term><literal>plastique</literal></term>
<listitem><para>Use styles from
<link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link>
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>kvantum</literal></term>
<listitem><para>Use styles from
<link xlink:href="https://github.com/tsujan/Kvantum">kvantum</link>
</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -148,7 +121,7 @@ in {
example = literalExpression "pkgs.adwaita-qt"; example = literalExpression "pkgs.adwaita-qt";
description = '' description = ''
Theme package to be used in Qt5/Qt6 applications. Theme package to be used in Qt5/Qt6 applications.
Auto-detected from <option>qt.style.name</option> if possible. Auto-detected from {option}`qt.style.name` if possible.
''; '';
}; };
}; };

View file

@ -37,38 +37,36 @@ with lib;
description = '' description = ''
A set of named specialized configurations. These can be used to extend A set of named specialized configurations. These can be used to extend
your base configuration with additional settings. For example, you can your base configuration with additional settings. For example, you can
have specialisations named <quote>light</quote> and <quote>dark</quote> have specialisations named "light" and "dark"
that applies light and dark color theme configurations. that apply light and dark color theme configurations.
</para><para> ::: {.note}
This is an experimental option for now and you therefore have to
Note, this is an experimental option for now and you therefore have to
activate the specialisation by looking up and running the activation activate the specialisation by looking up and running the activation
script yourself. Note, running the activation script will create a new script yourself. Running the activation script will create a new
Home Manager generation. Home Manager generation.
:::
</para><para> For example, to activate the "dark" specialisation, you can
For example, to activate the <quote>dark</quote> specialisation. You can
first look up your current Home Manager generation by running first look up your current Home Manager generation by running
<programlisting language="console"> ```console
$ home-manager generations | head -1 $ home-manager generations | head -1
2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation 2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation
</programlisting> ```
then run then run
<programlisting language="console"> ```console
$ /nix/store/jyac-home-manager-generation/specialisation/dark/activate $ /nix/store/jyac-home-manager-generation/specialisation/dark/activate
Starting Home Manager activation Starting Home Manager activation
</programlisting> ```
</para><para> ::: {.warning}
Since this option is experimental, the activation process may
WARNING! Since this option is experimental, the activation process may
change in backwards incompatible ways. change in backwards incompatible ways.
:::
''; '';
}; };

View file

@ -21,11 +21,11 @@ with lib;
default = false; default = false;
internal = true; internal = true;
description = '' description = ''
Whether the packages of <option>home.packages</option> are Whether the packages of {option}`home.packages` are
installed separately from the Home Manager activation script. installed separately from the Home Manager activation script.
In NixOS, for example, this may be accomplished by installing In NixOS, for example, this may be accomplished by installing
the packages through the packages through
<option>users.users.name?.packages</option>. {option}`users.users.name?.packages`.
''; '';
}; };
}; };

View file

@ -16,10 +16,7 @@ in {
description = '' description = ''
Rules for creating and cleaning up temporary files Rules for creating and cleaning up temporary files
automatically. See automatically. See
<citerefentry> {manpage}`tmpfiles.d(5)`
<refentrytitle>tmpfiles.d</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for the exact format. for the exact format.
''; '';
}; };

View file

@ -2,7 +2,9 @@
with lib; with lib;
{ let releaseInfo = lib.importJSON ../../release.json;
in {
options = { options = {
home.stateVersion = mkOption { home.stateVersion = mkOption {
type = types.enum [ type = types.enum [
@ -24,8 +26,8 @@ with lib;
configuration defaults in a way that is incompatible with configuration defaults in a way that is incompatible with
stateful data. This could, for example, include switching the stateful data. This could, for example, include switching the
default data format or location of a file. default data format or location of a file.
</para><para>
The <emphasis>state version</emphasis> indicates which default The *state version* indicates which default
settings are in effect and will therefore help avoid breaking settings are in effect and will therefore help avoid breaking
program configurations. Switching to a higher state version program configurations. Switching to a higher state version
typically requires performing some manual steps, such as data typically requires performing some manual steps, such as data
@ -51,11 +53,22 @@ with lib;
internal = true; internal = true;
readOnly = true; readOnly = true;
type = types.str; type = types.str;
default = fileContents ../../.release; default = releaseInfo.release;
example = "22.11"; example = "22.11";
description = "The Home Manager release."; description = "The Home Manager release.";
}; };
isReleaseBranch = mkOption {
internal = true;
readOnly = true;
type = types.bool;
default = releaseInfo.isReleaseBranch;
description = ''
Whether the Home Manager version is from a versioned
release branch.
'';
};
revision = mkOption { revision = mkOption {
internal = true; internal = true;
type = types.nullOr types.str; type = types.nullOr types.str;

View file

@ -82,7 +82,7 @@ let
startupNotify = mkOption { startupNotify = mkOption {
description = '' description = ''
If true, it is KNOWN that the application will send a "remove" If true, it is KNOWN that the application will send a "remove"
message when started with the <literal>DESKTOP_STARTUP_ID</literal> message when started with the `DESKTOP_STARTUP_ID`
environment variable set. If false, it is KNOWN that the application environment variable set. If false, it is KNOWN that the application
does not work with startup notification at all.''; does not work with startup notification at all.'';
type = types.nullOr types.bool; type = types.nullOr types.bool;
@ -109,7 +109,7 @@ let
settings = mkOption { settings = mkOption {
type = types.attrsOf types.string; type = types.attrsOf types.string;
description = '' description = ''
Extra key-value pairs to add to the <literal>[Desktop Entry]</literal> section. Extra key-value pairs to add to the `[Desktop Entry]` section.
This may override other values. This may override other values.
''; '';
default = { }; default = { };
@ -181,9 +181,11 @@ in {
options.xdg.desktopEntries = mkOption { options.xdg.desktopEntries = mkOption {
description = '' description = ''
Desktop Entries allow applications to be shown in your desktop environment's app launcher. </para><para> Desktop Entries allow applications to be shown in your desktop environment's app launcher.
You can define entries for programs without entries or override existing entries. </para><para>
See <link xlink:href="https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys" /> for more information on options. You can define entries for programs without entries or override existing entries.
See <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys> for more information on options.
''; '';
default = { }; default = { };
type = types.attrsOf (types.submodule desktopEntry); type = types.attrsOf (types.submodule desktopEntry);

View file

@ -17,9 +17,8 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to manage <filename>$XDG_CONFIG_HOME/mimeapps.list</filename>. Whether to manage {file}`$XDG_CONFIG_HOME/mimeapps.list`.
</para>
<para>
The generated file is read-only. The generated file is read-only.
''; '';
}; };
@ -49,7 +48,7 @@ in {
example = { "mimetype1" = "foo5.desktop"; }; example = { "mimetype1" = "foo5.desktop"; };
description = '' description = ''
Removes associations of applications with mimetypes, as if the Removes associations of applications with mimetypes, as if the
.desktop file was <emphasis>not</emphasis> listing this .desktop file was *not* listing this
mimetype in the first place. mimetype in the first place.
''; '';
}; };

View file

@ -17,9 +17,9 @@ in {
Whether to install programs and files to support the Whether to install programs and files to support the
XDG Shared MIME-info specification and XDG MIME Applications XDG Shared MIME-info specification and XDG MIME Applications
specification at specification at
<link xlink:href="https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html"/> <https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html>
and and
<link xlink:href="https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html"/>, <https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html>,
respectively. respectively.
''; '';
}; };

View file

@ -19,7 +19,7 @@ in {
default = [ ]; default = [ ];
example = literalExpression ''[ "/etc/xdg" ]''; example = literalExpression ''[ "/etc/xdg" ]'';
description = '' description = ''
Directory names to add to <envar>XDG_CONFIG_DIRS</envar> Directory names to add to {env}`XDG_CONFIG_DIRS`
in the user session. in the user session.
''; '';
}; };
@ -29,7 +29,7 @@ in {
default = [ ]; default = [ ];
example = literalExpression ''[ "/usr/share" "/usr/local/share" ]''; example = literalExpression ''[ "/usr/share" "/usr/local/share" ]'';
description = '' description = ''
Directory names to add to <envar>XDG_DATA_DIRS</envar> Directory names to add to {env}`XDG_DATA_DIRS`
in the user session. in the user session.
''; '';
}; };

View file

@ -22,9 +22,8 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to manage <filename>$XDG_CONFIG_HOME/user-dirs.dirs</filename>. Whether to manage {file}`$XDG_CONFIG_HOME/user-dirs.dirs`.
</para>
<para>
The generated file is read-only. The generated file is read-only.
''; '';
}; };

View file

@ -34,8 +34,7 @@ in {
}; };
configFile = mkOption { configFile = mkOption {
type = fileType "xdg.configFile" "<varname>xdg.configHome</varname>" type = fileType "xdg.configFile" "{var}`xdg.configHome`" cfg.configHome;
cfg.configHome;
default = { }; default = { };
description = '' description = ''
Attribute set of files to link into the user's XDG Attribute set of files to link into the user's XDG

View file

@ -65,9 +65,9 @@ in {
visible = false; visible = false;
description = '' description = ''
Whether to enable Xfconf settings. Whether to enable Xfconf settings.
</para><para>
Note, if you use NixOS then you must add Note, if you use NixOS then you must add
<code>programs.xfconf.enable = true</code> `programs.xfconf.enable = true`
to your system configuration. Otherwise you will see a systemd error to your system configuration. Otherwise you will see a systemd error
message when your configuration is activated. message when your configuration is activated.
''; '';

View file

@ -19,9 +19,9 @@ in {
set autosave=true set autosave=true
''; '';
description = '' description = ''
Extra lines added to <filename>$HOME/.config/abook/abookrc</filename>. Extra lines added to {file}`$HOME/.config/abook/abookrc`.
Available configuration options are described in the abook repository: Available configuration options are described in the abook repository:
<link xlink:href="https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc" />. <https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc>.
''; '';
}; };
}; };

View file

@ -18,18 +18,22 @@ let
token_endpoint = mkOption { token_endpoint = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = "The OAuth2 token endpoint.";
}; };
client_id = mkOption { client_id = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = "The OAuth2 client identifier.";
}; };
client_secret = mkOption { client_secret = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = "The OAuth2 client secret.";
}; };
scope = mkOption { scope = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = "The OAuth2 requested scope.";
}; };
}; };
}); });
@ -38,7 +42,7 @@ let
description = '' description = ''
Sets the oauth2 params if authentication mechanism oauthbearer or Sets the oauth2 params if authentication mechanism oauthbearer or
xoauth2 is used. xoauth2 is used.
See <citerefentry><refentrytitle>aerc-imap</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-imap(5)`.
''; '';
}; };
@ -54,8 +58,8 @@ in {
literalExpression ''{ source = "maildir://~/Maildir/example"; }''; literalExpression ''{ source = "maildir://~/Maildir/example"; }'';
description = '' description = ''
Extra config added to the configuration section for this account in Extra config added to the configuration section for this account in
<filename>$HOME/.config/aerc/accounts.conf</filename>. {file}`$HOME/.config/aerc/accounts.conf`.
See <citerefentry><refentrytitle>aerc-accounts</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-accounts(5)`.
''; '';
}; };
@ -66,8 +70,8 @@ in {
''{ messages = { d = ":move ''${folder.trash}<Enter>"; }; }''; ''{ messages = { d = ":move ''${folder.trash}<Enter>"; }; }'';
description = '' description = ''
Extra bindings specific to this account, added to Extra bindings specific to this account, added to
<filename>$HOME/.config/aerc/binds.conf</filename>. {file}`$HOME/.config/aerc/binds.conf`.
See <citerefentry><refentrytitle>aerc-binds</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-binds(5)`.
''; '';
}; };
@ -76,11 +80,11 @@ in {
default = { }; default = { };
example = literalExpression "{ ui = { sidebar-width = 25; }; }"; example = literalExpression "{ ui = { sidebar-width = 25; }; }";
description = '' description = ''
Config specific to this account, added to <filename>$HOME/.config/aerc/aerc.conf</filename>. Config specific to this account, added to {file}`$HOME/.config/aerc/aerc.conf`.
Aerc only supports per-account UI configuration. Aerc only supports per-account UI configuration.
For other sections of <filename>$HOME/.config/aerc/aerc.conf</filename>, For other sections of {file}`$HOME/.config/aerc/aerc.conf`,
use <literal>programs.aerc.extraConfig</literal>. use `programs.aerc.extraConfig`.
See <citerefentry><refentrytitle>aerc-config</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-config(5)`.
''; '';
}; };
@ -91,7 +95,7 @@ in {
description = '' description = ''
Sets the authentication mechanism if imap is used as the incoming Sets the authentication mechanism if imap is used as the incoming
method. method.
See <citerefentry><refentrytitle>aerc-imap</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-imap(5)`.
''; '';
}; };
@ -105,7 +109,7 @@ in {
description = '' description = ''
Sets the authentication mechanism if smtp is used as the outgoing Sets the authentication mechanism if smtp is used as the outgoing
method. method.
See <citerefentry><refentrytitle>aerc-smtp</refentrytitle><manvolnum>5</manvolnum></citerefentry>. See {manpage}`aerc-smtp(5)`.
''; '';
}; };

View file

@ -41,8 +41,9 @@ in {
example = literalExpression example = literalExpression
''{ Work = { source = "maildir://~/Maildir/work"; }; }''; ''{ Work = { source = "maildir://~/Maildir/work"; }; }'';
description = '' description = ''
Extra lines added to <filename>$HOME/.config/aerc/accounts.conf</filename>. Extra lines added to {file}`$HOME/.config/aerc/accounts.conf`.
See aerc-config(5).
See {manpage}`aerc-config(5)`.
''; '';
}; };
@ -51,9 +52,10 @@ in {
default = { }; default = { };
example = literalExpression ''{ messages = { q = ":quit<Enter>"; }; }''; example = literalExpression ''{ messages = { q = ":quit<Enter>"; }; }'';
description = '' description = ''
Extra lines added to <filename>$HOME/.config/aerc/binds.conf</filename>. Extra lines added to {file}`$HOME/.config/aerc/binds.conf`.
Global keybindings can be set in the `global` section. Global keybindings can be set in the `global` section.
See aerc-config(5).
See {manpage}`aerc-config(5)`.
''; '';
}; };
@ -62,8 +64,9 @@ in {
default = { }; default = { };
example = literalExpression ''{ ui = { sort = "-r date"; }; }''; example = literalExpression ''{ ui = { sort = "-r date"; }; }'';
description = '' description = ''
Extra lines added to <filename>$HOME/.config/aerc/aerc.conf</filename>. Extra lines added to {file}`$HOME/.config/aerc/aerc.conf`.
See aerc-config(5).
See {manpage}`aerc-config(5)`.
''; '';
}; };
@ -74,8 +77,9 @@ in {
{ default = { ui = { "tab.selected.reverse" = toggle; }; }; }; { default = { ui = { "tab.selected.reverse" = toggle; }; }; };
''; '';
description = '' description = ''
Stylesets added to <filename>$HOME/.config/aerc/stylesets/</filename>. Stylesets added to {file}`$HOME/.config/aerc/stylesets/`.
See aerc-stylesets(7).
See {manpage}`aerc-stylesets(7)`.
''; '';
}; };
@ -86,8 +90,9 @@ in {
{ new_message = "Hello!"; }; { new_message = "Hello!"; };
''; '';
description = '' description = ''
Templates added to <filename>$HOME/.config/aerc/templates/</filename>. Templates added to {file}`$HOME/.config/aerc/templates/`.
See aerc-templates(7).
See {manpage}`aerc-templates(7)`.
''; '';
}; };
}; };

View file

@ -32,7 +32,7 @@ in {
description = '' description = ''
Extra lines added to afew configuration file. Available Extra lines added to afew configuration file. Available
configuration options are described in the afew manual: configuration options are described in the afew manual:
<link xlink:href="https://afew.readthedocs.io/en/latest/configuration.html" />. <https://afew.readthedocs.io/en/latest/configuration.html>.
''; '';
}; };
}; };

View file

@ -37,8 +37,8 @@ in {
''; '';
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/alacritty/alacritty.yml</filename>. See {file}`$XDG_CONFIG_HOME/alacritty/alacritty.yml`. See
<link xlink:href="https://github.com/alacritty/alacritty/blob/master/alacritty.yml"/> <https://github.com/alacritty/alacritty/blob/master/alacritty.yml>
for the default configuration. for the default configuration.
''; '';
}; };

View file

@ -10,7 +10,7 @@ with lib;
description = '' description = ''
Command to send a mail. If msmtp is enabled for the account, Command to send a mail. If msmtp is enabled for the account,
then this is set to then this is set to
<command>msmtpq --read-envelope-from --read-recipients</command>. {command}`msmtpq --read-envelope-from --read-recipients`.
''; '';
}; };
@ -35,7 +35,7 @@ with lib;
''; '';
description = '' description = ''
Contact completion configuration as expected per alot. Contact completion configuration as expected per alot.
See <link xlink:href="http://alot.readthedocs.io/en/latest/configuration/contacts_completion.html">alot's wiki</link> for See [alot's wiki](http://alot.readthedocs.io/en/latest/configuration/contacts_completion.html) for
explanation about possible values. explanation about possible values.
''; '';
}; };

View file

@ -28,7 +28,7 @@ let
description = '' description = ''
Fixed string representation for this tag. The tag can be Fixed string representation for this tag. The tag can be
hidden from view, if the key translated is set to hidden from view, if the key translated is set to
<literal>""</literal>, the empty string. `""`, the empty string.
''; '';
}; };
@ -38,7 +38,7 @@ let
description = '' description = ''
A pair of strings that define a regular substitution to A pair of strings that define a regular substitution to
compute the string representation on the fly using compute the string representation on the fly using
<literal>re.sub</literal>. `re.sub`.
''; '';
}; };
@ -48,7 +48,7 @@ let
example = "'','', 'white','light red', 'white','#d66'"; example = "'','', 'white','light red', 'white','#d66'";
description = '' description = ''
How to display the tag when unfocused. How to display the tag when unfocused.
See <link xlink:href="https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting"/>. See <https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting>.
''; '';
}; };

View file

@ -23,12 +23,9 @@ in {
type = with types; attrsOf (oneOf [ bool float int str ]); type = with types; attrsOf (oneOf [ bool float int str ]);
default = { }; default = { };
description = '' description = ''
Options to add to <filename>aria2.conf</filename> file. Options to add to {file}`aria2.conf` file.
See See
<citerefentry> {manpage}`aria2c(1)`
<refentrytitle>aria2c</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''
@ -46,7 +43,7 @@ in {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = ''
Extra lines added to <filename>aria2.conf</filename> file. Extra lines added to {file}`aria2.conf` file.
''; '';
}; };
}; };

View file

@ -11,7 +11,7 @@ with lib;
description = '' description = ''
Command to send a mail. If msmtp is enabled for the account, Command to send a mail. If msmtp is enabled for the account,
then this is set to then this is set to
<command>msmtpq --read-envelope-from --read-recipients</command>. {command}`msmtpq --read-envelope-from --read-recipients`.
''; '';
}; };

View file

@ -80,14 +80,19 @@ in {
example = example =
"nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1"; "nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1";
description = '' description = ''
You can use <code>%1</code>, <code>%2</code>, and You can use the following variables:
<code>%3</code> to refer respectively to:
<orderedlist numeration="arabic"> `%1`
<listitem><para>file name</para></listitem> : file name
<listitem><para>server name</para></listitem>
<listitem><para>socket ID</para></listitem> `%2`
</orderedlist> : server name
See <link xlink:href='https://github.com/astroidmail/astroid/wiki/Customizing-editor' />.
`%3`
: socket ID
See [Customizing editor](https://github.com/astroidmail/astroid/wiki/Customizing-editor)
on the Astroid wiki.
''; '';
}; };

View file

@ -26,16 +26,17 @@ in {
default = true; default = true;
description = '' description = ''
Whether to enable Atuin's Bash integration. This will bind Whether to enable Atuin's Bash integration. This will bind
<literal>ctrl-r</literal> to open the Atuin history. `ctrl-r` to open the Atuin history.
''; '';
}; };
enableZshIntegration = mkEnableOption "Zsh integration" // { enableZshIntegration = mkOption {
type = types.bool;
default = true; default = true;
description = '' description = ''
Whether to enable Atuin's Zsh integration. Whether to enable Atuin's Zsh integration.
</para><para>
If enabled, this will bind <literal>ctrl-r</literal> and the up-arrow If enabled, this will bind `ctrl-r` and the up-arrow
key to open the Atuin history. key to open the Atuin history.
''; '';
}; };
@ -45,7 +46,7 @@ in {
type = types.bool; type = types.bool;
description = '' description = ''
Whether to enable Atuin's Fish integration. Whether to enable Atuin's Fish integration.
</para><para>
If enabled, this will bind the up-arrow key to open the Atuin history. If enabled, this will bind the up-arrow key to open the Atuin history.
''; '';
}; };
@ -79,9 +80,9 @@ in {
''; '';
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/atuin/config.toml</filename>. {file}`$XDG_CONFIG_HOME/atuin/config.toml`.
</para><para>
See <link xlink:href="https://atuin.sh/docs/config/" /> for the full list See <https://atuin.sh/docs/config/> for the full list
of options. of options.
''; '';
}; };

View file

@ -28,7 +28,7 @@ let
type = types.attrsOf types.str; type = types.attrsOf types.str;
description = '' description = ''
Output name to EDID mapping. Output name to EDID mapping.
Use <code>autorandr --fingerprint</code> to get current setup values. Use `autorandr --fingerprint` to get current setup values.
''; '';
default = { }; default = { };
}; };
@ -115,10 +115,7 @@ let
''; '';
description = '' description = ''
Refer to Refer to
<citerefentry> {manpage}`xrandr(1)`
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for the documentation of the transform matrix. for the documentation of the transform matrix.
''; '';
}; };
@ -153,18 +150,15 @@ let
}); });
description = '' description = ''
Output scale configuration. Output scale configuration.
</para><para>
Either configure by pixels or a scaling factor. When using pixel method the Either configure by pixels or a scaling factor. When using pixel method the
<citerefentry> {manpage}`xrandr(1)`
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
option option
<parameter class="command">--scale-from</parameter> `--scale-from`
will be used; when using factor method the option will be used; when using factor method the option
<parameter class="command">--scale</parameter> `--scale`
will be used. will be used.
</para><para>
This option is a shortcut version of the transform option and they are mutually This option is a shortcut version of the transform option and they are mutually
exclusive. exclusive.
''; '';

View file

@ -35,17 +35,15 @@ in {
description = '' description = ''
Whether to enable Bash completion for all interactive Bash shells. Whether to enable Bash completion for all interactive Bash shells.
</para><para>
Note, if you use NixOS or nix-darwin and do not have Bash completion Note, if you use NixOS or nix-darwin and do not have Bash completion
enabled in the system configuration, then make sure to add enabled in the system configuration, then make sure to add
<programlisting language="nix"> ```nix
environment.pathsToLink = [ "/share/bash-completion" ]; environment.pathsToLink = [ "/share/bash-completion" ];
</programlisting> ```
to your system configuration to get completion for system packages. to your system configuration to get completion for system packages.
Note, the legacy <filename>/etc/bash_completion.d</filename> path is Note, the legacy {file}`/etc/bash_completion.d` path is
not supported by Home Manager. not supported by Home Manager.
''; '';
}; };
@ -103,7 +101,7 @@ in {
example = [ "extglob" "-cdspell" ]; example = [ "extglob" "-cdspell" ];
description = '' description = ''
Shell options to set. Prefix an option with Shell options to set. Prefix an option with
<quote><literal>-</literal></quote> to unset. "`-`" to unset.
''; '';
}; };
@ -153,7 +151,7 @@ in {
default = ""; default = "";
type = types.lines; type = types.lines;
description = '' description = ''
Extra commands that should be placed in <filename>~/.bashrc</filename>. Extra commands that should be placed in {file}`~/.bashrc`.
Note that these commands will be run even in non-interactive shells. Note that these commands will be run even in non-interactive shells.
''; '';
}; };

View file

@ -17,8 +17,8 @@ in {
default = ""; default = "";
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/bashmount/config</filename>. Look at {file}`$XDG_CONFIG_HOME/bashmount/config`. Look at
<link xlink:href="https://github.com/jamielinux/bashmount/blob/master/bashmount.conf" /> <https://github.com/jamielinux/bashmount/blob/master/bashmount.conf>
for explanation about possible values. for explanation about possible values.
''; '';
}; };

View file

@ -22,9 +22,9 @@ in {
defaultText = "false"; defaultText = "false";
description = '' description = ''
Whether to enable the beets music library manager. This Whether to enable the beets music library manager. This
defaults to <literal>false</literal> for state defaults to `false` for state
version  19.03. For earlier versions beets is enabled if version  19.03. For earlier versions beets is enabled if
<option>programs.beets.settings</option> is non-empty. {option}`programs.beets.settings` is non-empty.
''; '';
}; };
@ -35,7 +35,7 @@ in {
example = example =
literalExpression "(pkgs.beets.override { enableCheck = true; })"; literalExpression "(pkgs.beets.override { enableCheck = true; })";
description = '' description = ''
The <literal>beets</literal> package to use. The `beets` package to use.
Can be used to specify extensions. Can be used to specify extensions.
''; '';
}; };
@ -45,7 +45,7 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/beets/config.yaml</filename> {file}`$XDG_CONFIG_HOME/beets/config.yaml`
''; '';
}; };

View file

@ -19,7 +19,7 @@ in {
type = types.package; type = types.package;
default = pkgs.bottom; default = pkgs.bottom;
defaultText = literalExpression "pkgs.bottom"; defaultText = literalExpression "pkgs.bottom";
description = "Package providing <command>bottom</command>."; description = "Package providing {command}`bottom`.";
}; };
settings = mkOption { settings = mkOption {
@ -27,9 +27,9 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/bottom/bottom.toml</filename>. {file}`$XDG_CONFIG_HOME/bottom/bottom.toml`.
</para><para>
See <link xlink:href="https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml"/> See <https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml>
for the default configuration. for the default configuration.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -32,42 +32,31 @@ let
''; '';
description = '' description = ''
Define new verbs. For more information, see Define new verbs. For more information, see
<link xlink:href="https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes"/>. [Verb Definition Attributes](https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes)
</para><para> in the broot documentation.
The possible attributes are:
</para>
<para> The possible attributes are:
<variablelist>
<varlistentry> `invocation` (optional)
<term><literal>invocation</literal> (optional)</term> : how the verb is called by the user, with placeholders for arguments
<listitem><para>how the verb is called by the user, with placeholders for arguments</para></listitem>
</varlistentry> `execution` (mandatory)
<varlistentry> : how the verb is executed
<term><literal>execution</literal> (mandatory)</term>
<listitem><para>how the verb is executed</para></listitem> `key` (optional)
</varlistentry> : a keyboard key triggering execution
<varlistentry>
<term><literal>key</literal> (optional)</term> `shortcut` (optional)
<listitem><para>a keyboard key triggering execution</para></listitem> : an alternate way to call the verb (without
</varlistentry> the arguments part)
<varlistentry>
<term><literal>shortcut</literal> (optional)</term> `leave_broot` (optional)
<listitem><para>an alternate way to call the verb (without : whether to quit broot on execution
the arguments part)</para></listitem> (default: `true`)
</varlistentry>
<varlistentry> `from_shell` (optional)</term>
<term><literal>leave_broot</literal> (optional)</term> : whether the verb must be executed from the
<listitem><para>whether to quit broot on execution parent shell (default: `false`)
(default: <literal>true</literal>)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>from_shell</literal> (optional)</term>
<listitem><para>whether the verb must be executed from the
parent shell (default:
<literal>false</literal>)</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -94,36 +83,33 @@ let
''; '';
description = '' description = ''
Color configuration. Color configuration.
</para><para>
Complete list of keys (expected to change before the v1 of broot): Complete list of keys (expected to change before the v1 of broot):
<itemizedlist> * `char_match`
<listitem><para><literal>char_match</literal></para></listitem> * `code`
<listitem><para><literal>code</literal></para></listitem> * `directory`
<listitem><para><literal>directory</literal></para></listitem> * `exe`
<listitem><para><literal>exe</literal></para></listitem> * `file`
<listitem><para><literal>file</literal></para></listitem> * `file_error`
<listitem><para><literal>file_error</literal></para></listitem> * `flag_label`
<listitem><para><literal>flag_label</literal></para></listitem> * `flag_value`
<listitem><para><literal>flag_value</literal></para></listitem> * `input`
<listitem><para><literal>input</literal></para></listitem> * `link`
<listitem><para><literal>link</literal></para></listitem> * `permissions`
<listitem><para><literal>permissions</literal></para></listitem> * `selected_line`
<listitem><para><literal>selected_line</literal></para></listitem> * `size_bar_full`
<listitem><para><literal>size_bar_full</literal></para></listitem> * `size_bar_void`
<listitem><para><literal>size_bar_void</literal></para></listitem> * `size_text`
<listitem><para><literal>size_text</literal></para></listitem> * `spinner`
<listitem><para><literal>spinner</literal></para></listitem> * `status_error`
<listitem><para><literal>status_error</literal></para></listitem> * `status_normal`
<listitem><para><literal>status_normal</literal></para></listitem> * `table_border`
<listitem><para><literal>table_border</literal></para></listitem> * `tree`
<listitem><para><literal>tree</literal></para></listitem> * `unlisted`
<listitem><para><literal>unlisted</literal></para></listitem>
</itemizedlist></para>
<para> Add `_fg` for a foreground color and
Add <literal>_fg</literal> for a foreground color and `_bg` for a background color.
<literal>_bg</literal> for a background colors.
''; '';
}; };
}; };

View file

@ -40,8 +40,8 @@ in {
theme_background = false; theme_background = false;
}; };
description = '' description = ''
Options to add to <filename>btop.conf</filename> file. Options to add to {file}`btop.conf` file.
See <link xlink:href="https://github.com/aristocratos/btop#configurability"/> See <https://github.com/aristocratos/btop#configurability>
for options. for options.
''; '';
}; };
@ -50,7 +50,7 @@ in {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = ''
Extra lines added to the <filename>btop.conf</filename> file. Extra lines added to the {file}`btop.conf` file.
''; '';
}; };
}; };

View file

@ -41,12 +41,12 @@ let
example = [ "--enable-logging=stderr" "--ignore-gpu-blocklist" ]; example = [ "--enable-logging=stderr" "--ignore-gpu-blocklist" ];
description = '' description = ''
List of command-line arguments to be passed to ${name}. List of command-line arguments to be passed to ${name}.
</para><para>
For a list of common switches, see For a list of common switches, see
<link xlink:href="https://chromium.googlesource.com/chromium/src/+/refs/heads/main/chrome/common/chrome_switches.cc">Chrome switches</link>. [Chrome switches](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/chrome/common/chrome_switches.cc).
</para><para>
To search switches for other components, see To search switches for other components, see
<link xlink:href="https://source.chromium.org/search?q=file:switches.cc&amp;ss=chromium%2Fchromium%2Fsrc">Chromium codesearch</link>. [Chromium codesearch](https://source.chromium.org/search?q=file:switches.cc&ss=chromium%2Fchromium%2Fsrc).
''; '';
}; };
} // optionalAttrs (!isProprietaryChrome) { } // optionalAttrs (!isProprietaryChrome) {
@ -114,13 +114,13 @@ let
description = '' description = ''
List of ${name} extensions to install. List of ${name} extensions to install.
To find the extension ID, check its URL on the To find the extension ID, check its URL on the
<link xlink:href="https://chrome.google.com/webstore/category/extensions">Chrome Web Store</link>. [Chrome Web Store](https://chrome.google.com/webstore/category/extensions).
</para><para>
To install extensions outside of the Chrome Web Store set To install extensions outside of the Chrome Web Store set
<literal>updateUrl</literal> or <literal>crxPath</literal> and `updateUrl` or `crxPath` and
<literal>version</literal> as explained in the `version` as explained in the
<link xlink:href="https://developer.chrome.com/docs/extensions/mv2/external_extensions">Chrome [Chrome
documentation</link>. documentation](https://developer.chrome.com/docs/extensions/mv2/external_extensions).
''; '';
}; };
}; };

View file

@ -37,7 +37,7 @@ in {
default = default =
"/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite"; "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite";
description = '' description = ''
Absolute path to <filename>programs.sqlite</filename>. By Absolute path to {file}`programs.sqlite`. By
default this file will be provided by your channel default this file will be provided by your channel
(nixexprs.tar.xz). (nixexprs.tar.xz).
''; '';

View file

@ -17,7 +17,7 @@ in {
default = { }; default = { };
description = '' description = ''
Comodoro configuration. Comodoro configuration.
See <link xlink:href="https://pimalaya.org/comodoro/cli/configuration/"/> for supported values. See <https://pimalaya.org/comodoro/cli/configuration/> for supported values.
''; '';
}; };
}; };

View file

@ -14,8 +14,8 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to manage <filename>.dir_colors</filename> Whether to manage {file}`.dir_colors`
and set <code>LS_COLORS</code>. and set `LS_COLORS`.
''; '';
}; };
@ -47,8 +47,8 @@ in {
type = with types; attrsOf str; type = with types; attrsOf str;
default = { }; default = { };
description = '' description = ''
Options to add to <filename>.dir_colors</filename> file. Options to add to {file}`.dir_colors` file.
See <command>dircolors --print-database</command> See {command}`dircolors --print-database`
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''
@ -64,7 +64,7 @@ in {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = ''
Extra lines added to <filename>.dir_colors</filename> file. Extra lines added to {file}`.dir_colors` file.
''; '';
}; };
}; };

View file

@ -29,13 +29,10 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/direnv/direnv.toml</filename>. {file}`$XDG_CONFIG_HOME/direnv/direnv.toml`.
</para><para>
See See
<citerefentry> {manpage}`direnv.toml(1)`.
<refentrytitle>direnv.toml</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
for the full list of options. for the full list of options.
''; '';
}; };
@ -45,7 +42,7 @@ in {
default = ""; default = "";
description = '' description = ''
Custom stdlib written to Custom stdlib written to
<filename>$XDG_CONFIG_HOME/direnv/direnvrc</filename>. {file}`$XDG_CONFIG_HOME/direnv/direnvrc`.
''; '';
}; };
@ -73,9 +70,9 @@ in {
Whether to enable Fish integration. Note, enabling the direnv module Whether to enable Fish integration. Note, enabling the direnv module
will always active its functionality for Fish since the direnv package will always active its functionality for Fish since the direnv package
automatically gets loaded in Fish. If this is not the case try adding automatically gets loaded in Fish. If this is not the case try adding
<programlisting language="nix"> ```nix
environment.pathsToLink = [ "/share/fish" ]; environment.pathsToLink = [ "/share/fish" ];
</programlisting> ```
to the system configuration. to the system configuration.
''; '';
}; };
@ -90,9 +87,8 @@ in {
nix-direnv = { nix-direnv = {
enable = mkEnableOption '' enable = mkEnableOption ''
<link [nix-direnv](https://github.com/nix-community/nix-direnv),
xlink:href="https://github.com/nix-community/nix-direnv">nix-direnv</link>, a fast, persistent use_nix implementation for direnv'';
a fast, persistent use_nix implementation for direnv'';
}; };
}; };

View file

@ -50,10 +50,10 @@ in {
''; '';
description = '' description = ''
Configuration to include in the Emacs default init file. See Configuration to include in the Emacs default init file. See
<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html"/> <https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html>
for more. for more.
</para><para>
Note, the <literal>inhibit-startup-message</literal> Emacs option Note, the `inhibit-startup-message` Emacs option
cannot be set here since Emacs disallows setting it from the default cannot be set here since Emacs disallows setting it from the default
initialization file. initialization file.
''; '';
@ -67,7 +67,7 @@ in {
description = '' description = ''
Extra packages available to Emacs. To get a list of Extra packages available to Emacs. To get a list of
available packages run: available packages run:
<command>nix-env -f '&lt;nixpkgs&gt;' -qaP -A emacsPackages</command>. {command}`nix-env -f '<nixpkgs>' -qaP -A emacsPackages`.
''; '';
}; };

View file

@ -27,7 +27,7 @@ in {
example = literalExpression "./eww-config-dir"; example = literalExpression "./eww-config-dir";
description = '' description = ''
The directory that gets symlinked to The directory that gets symlinked to
<filename>$XDG_CONFIG_HOME/eww</filename>. {file}`$XDG_CONFIG_HOME/eww`.
''; '';
}; };
}; };

View file

@ -6,8 +6,7 @@ with lib;
meta.maintainers = [ hm.maintainers.kalhauge ]; meta.maintainers = [ hm.maintainers.kalhauge ];
options.programs.exa = { options.programs.exa = {
enable = enable = mkEnableOption "exa, a modern replacement for {command}`ls`";
mkEnableOption "exa, a modern replacement for <command>ls</command>";
enableAliases = mkEnableOption "recommended exa aliases (ls, ll)"; enableAliases = mkEnableOption "recommended exa aliases (ls, ll)";
@ -24,7 +23,7 @@ with lib;
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Display icons next to file names (<option>--icons</option> argument). Display icons next to file names ({option}`--icons` argument).
''; '';
}; };
@ -32,7 +31,7 @@ with lib;
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
List each file's Git status if tracked or ignored (<option>--git</option> argument). List each file's Git status if tracked or ignored ({option}`--git` argument).
''; '';
}; };

View file

@ -41,7 +41,7 @@ in {
Override feh's default mouse button mapping. If you want to disable an Override feh's default mouse button mapping. If you want to disable an
action, set its value to null. If you want to bind multiple buttons to action, set its value to null. If you want to bind multiple buttons to
an action, set its value to a list. an action, set its value to a list.
See <link xlink:href="https://man.finalrewind.org/1/feh/#x425554544f4e53"/> for See <https://man.finalrewind.org/1/feh/#x425554544f4e53> for
default bindings and available commands. default bindings and available commands.
''; '';
}; };
@ -58,7 +58,7 @@ in {
Override feh's default keybindings. If you want to disable a keybinding Override feh's default keybindings. If you want to disable a keybinding
set its value to null. If you want to bind multiple keys to an action, set its value to null. If you want to bind multiple keys to an action,
set its value to a list. set its value to a list.
See <link xlink:href="https://man.finalrewind.org/1/feh/#x4b455953"/> for See <https://man.finalrewind.org/1/feh/#x4b455953> for
default bindings and available commands. default bindings and available commands.
''; '';
}; };

View file

@ -211,7 +211,7 @@ in {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = ''
Extra preferences to add to <filename>user.js</filename>. Extra preferences to add to {file}`user.js`.
''; '';
}; };
@ -417,17 +417,16 @@ in {
''; '';
description = '' description = ''
Attribute set of search engine configurations. Engines Attribute set of search engine configurations. Engines
that only have <varname>metaData</varname> specified will that only have {var}`metaData` specified will
be treated as builtin to Firefox. be treated as builtin to Firefox.
</para><para>
See <link xlink:href= See [SearchEngine.jsm](https://searchfox.org/mozilla-central/rev/669329e284f8e8e2bb28090617192ca9b4ef3380/toolkit/components/search/SearchEngine.jsm#1138-1177)
"https://searchfox.org/mozilla-central/rev/669329e284f8e8e2bb28090617192ca9b4ef3380/toolkit/components/search/SearchEngine.jsm#1138-1177">SearchEngine.jsm</link>
in Firefox's source for available options. We maintain a in Firefox's source for available options. We maintain a
mapping to let you specify all options in the referenced mapping to let you specify all options in the referenced
link without underscores, but it may fall out of date with link without underscores, but it may fall out of date with
future options. future options.
</para><para>
Note, <varname>icon</varname> is also a special option Note, {var}`icon` is also a special option
added by Home Manager to make it convenient to specify added by Home Manager to make it convenient to specify
absolute icon paths. absolute icon paths.
''; '';
@ -444,18 +443,16 @@ in {
''; '';
description = '' description = ''
List of Firefox add-on packages to install for this profile. List of Firefox add-on packages to install for this profile.
Some pre-packaged add-ons are accessible from NUR, Some pre-packaged add-ons are accessible from the
<link xlink:href="https://github.com/nix-community/NUR"/>. [Nix User Repository](https://github.com/nix-community/NUR).
Once you have NUR installed run Once you have NUR installed run
<screen language="console"> ```console
<prompt>$</prompt> <userinput>nix-env -f '&lt;nixpkgs&gt;' -qaP -A nur.repos.rycee.firefox-addons</userinput> $ nix-env -f '<nixpkgs>' -qaP -A nur.repos.rycee.firefox-addons
</screen> ```
to list the available Firefox add-ons. to list the available Firefox add-ons.
</para><para>
Note that it is necessary to manually enable these extensions Note that it is necessary to manually enable these extensions
inside Firefox after the first installation. inside Firefox after the first installation.
''; '';
@ -473,8 +470,8 @@ in {
description = '' description = ''
Whether to enable the GNOME Shell native host connector. Note, you Whether to enable the GNOME Shell native host connector. Note, you
also need to set the NixOS option also need to set the NixOS option
<literal>services.gnome.gnome-browser-connector.enable</literal> to `services.gnome.gnome-browser-connector.enable` to
<literal>true</literal>. `true`.
''; '';
}; };
}; };

View file

@ -12,10 +12,10 @@ let
type = types.path; type = types.path;
description = '' description = ''
Path to the plugin folder. Path to the plugin folder.
</para><para>
Relevant pieces will be added to the fish function path and Relevant pieces will be added to the fish function path and
the completion path. The <filename>init.fish</filename> and the completion path. The {file}`init.fish` and
<filename>key_binding.fish</filename> files are sourced if {file}`key_binding.fish` files are sourced if
they exist. they exist.
''; '';
}; };
@ -89,7 +89,7 @@ let
default = null; default = null;
description = '' description = ''
Tells fish to run this function when the job with the specified group Tells fish to run this function when the job with the specified group
ID exits. Instead of a PID, the stringer <literal>caller</literal> can ID exits. Instead of a PID, the stringer `caller` can
be specified. This is only legal when in a command substitution, and be specified. This is only legal when in a command substitution, and
will result in the handler being triggered by the exit of the job will result in the handler being triggered by the exit of the job
which created this command substitution. which created this command substitution.
@ -103,8 +103,8 @@ let
description = '' description = ''
Tells fish to run this function when the fish child process with the Tells fish to run this function when the fish child process with the
specified process ID exits. Instead of a PID, for backwards specified process ID exits. Instead of a PID, for backwards
compatibility, <literal>%self</literal> can be specified as an alias compatibility, `%self` can be specified as an alias
for <literal>$fish_pid</literal>, and the function will be run when for `$fish_pid`, and the function will be run when
the current fish instance exits. the current fish instance exits.
''; '';
}; };
@ -270,7 +270,7 @@ in {
''; '';
description = '' description = ''
The plugins to source in The plugins to source in
<filename>conf.d/99plugins.fish</filename>. {file}`conf.d/99plugins.fish`.
''; '';
}; };
@ -289,7 +289,7 @@ in {
''; '';
description = '' description = ''
Basic functions to add to fish. For more information see Basic functions to add to fish. For more information see
<link xlink:href="https://fishshell.com/docs/current/cmds/function.html"/>. <https://fishshell.com/docs/current/cmds/function.html>.
''; '';
}; };
}; };

View file

@ -27,8 +27,7 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/foot/foot.ini</filename>. See <link {file}`$XDG_CONFIG_HOME/foot/foot.ini`. See <https://codeberg.org/dnkl/foot/src/branch/master/foot.ini>
xlink:href="https://codeberg.org/dnkl/foot/src/branch/master/foot.ini"/>
for a list of available options. for a list of available options.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -30,9 +30,8 @@ in {
''; '';
description = '' description = ''
Configuration for fuzzel written to Configuration for fuzzel written to
<filename>$XDG_CONFIG_HOME/fuzzel/fuzzel.ini</filename>. See {file}`$XDG_CONFIG_HOME/fuzzel/fuzzel.ini`. See
<citerefentry><refentrytitle>fuzzel.ini</refentrytitle> {manpage}`fuzzel.ini(5)` for a list of available options.
<manvolnum>5</manvolnum></citerefentry> for a list of available options.
''; '';
}; };
}; };

View file

@ -23,7 +23,7 @@ in {
type = types.package; type = types.package;
default = pkgs.fzf; default = pkgs.fzf;
defaultText = literalExpression "pkgs.fzf"; defaultText = literalExpression "pkgs.fzf";
description = "Package providing the <command>fzf</command> tool."; description = "Package providing the {command}`fzf` tool.";
}; };
defaultCommand = mkOption { defaultCommand = mkOption {
@ -104,15 +104,15 @@ in {
} }
''; '';
description = '' description = ''
Color scheme options added to <code>FZF_DEFAULT_OPTS</code>. See Color scheme options added to `FZF_DEFAULT_OPTS`. See
<link xlink:href="https://github.com/junegunn/fzf/wiki/Color-schemes"/> <https://github.com/junegunn/fzf/wiki/Color-schemes>
for documentation. for documentation.
''; '';
}; };
tmux = { tmux = {
enableShellIntegration = mkEnableOption '' enableShellIntegration = mkEnableOption ''
setting <literal>FZF_TMUX=1</literal> which causes shell integration to use fzf-tmux setting `FZF_TMUX=1` which causes shell integration to use fzf-tmux
''; '';
shellIntegrationOptions = mkOption { shellIntegrationOptions = mkOption {
@ -120,9 +120,9 @@ in {
default = [ ]; default = [ ];
example = literalExpression ''[ "-d 40%" ]''; example = literalExpression ''[ "-d 40%" ]'';
description = '' description = ''
If <option>programs.fzf.tmux.enableShellIntegration</option> is set to <literal>true</literal>, If {option}`programs.fzf.tmux.enableShellIntegration` is set to `true`,
shell integration will use these options for fzf-tmux. shell integration will use these options for fzf-tmux.
See <command>fzf-tmux --help</command> for available options. See {command}`fzf-tmux --help` for available options.
''; '';
}; };
}; };

View file

@ -24,8 +24,8 @@ in {
''; '';
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/gallery-dl/config.json</filename>. See {file}`$XDG_CONFIG_HOME/gallery-dl/config.json`. See
<link xlink:href="https://github.com/mikf/gallery-dl#configuration"/> <https://github.com/mikf/gallery-dl#configuration>
for supported values. for supported values.
''; '';
}; };

View file

@ -21,7 +21,7 @@ with lib;
example = [ "INBOX" "INBOX.spam" ]; example = [ "INBOX" "INBOX.spam" ];
description = '' description = ''
A non-empty list of mailboxes. To download all mail you can A non-empty list of mailboxes. To download all mail you can
use the <literal>ALL</literal> mailbox. use the `ALL` mailbox.
''; '';
}; };
@ -30,8 +30,8 @@ with lib;
default = false; default = false;
description = '' description = ''
Enable if you want to delete read messages from the server. Most Enable if you want to delete read messages from the server. Most
users should either enable <literal>delete</literal> or disable users should either enable `delete` or disable
<literal>readAll</literal>. `readAll`.
''; '';
}; };
@ -40,8 +40,8 @@ with lib;
default = true; default = true;
description = '' description = ''
Enable if you want to fetch all, even the read messages from the Enable if you want to fetch all, even the read messages from the
server. Most users should either enable <literal>delete</literal> or server. Most users should either enable `delete` or
disable <literal>readAll</literal>. disable `readAll`.
''; '';
}; };

View file

@ -69,14 +69,14 @@ in {
type = types.package; type = types.package;
default = pkgs.gh; default = pkgs.gh;
defaultText = literalExpression "pkgs.gh"; defaultText = literalExpression "pkgs.gh";
description = "Package providing <command>gh</command>."; description = "Package providing {command}`gh`.";
}; };
settings = mkOption { settings = mkOption {
type = settingsType; type = settingsType;
default = { }; default = { };
description = description =
"Configuration written to <filename>$XDG_CONFIG_HOME/gh/config.yml</filename>."; "Configuration written to {file}`$XDG_CONFIG_HOME/gh/config.yml`.";
example = literalExpression '' example = literalExpression ''
{ {
git_protocol = "ssh"; git_protocol = "ssh";
@ -100,7 +100,7 @@ in {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = '' description = ''
gh extensions, see <link xlink:href="https://cli.github.com/manual/gh_extension"/>. gh extensions, see <https://cli.github.com/manual/gh_extension>.
''; '';
example = literalExpression "[ pkgs.gh-eco ]"; example = literalExpression "[ pkgs.gh-eco ]";
}; };

View file

@ -26,8 +26,8 @@ in {
''; '';
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/git-cliff/cliff.toml</filename>. See {file}`$XDG_CONFIG_HOME/git-cliff/cliff.toml`. See
<link xlink:href="https://git-cliff.org/docs/configuration" /> <https://git-cliff.org/docs/configuration>
for the documentation. for the documentation.
''; '';
}; };

View file

@ -64,8 +64,8 @@ let
type = types.nullOr types.str; type = types.nullOr types.str;
description = '' description = ''
The default GPG signing key fingerprint. The default GPG signing key fingerprint.
</para><para>
Set to <literal>null</literal> to let GnuPG decide what signing key Set to `null` to let GnuPG decide what signing key
to use depending on commits author. to use depending on commits author.
''; '';
}; };
@ -91,12 +91,9 @@ let
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
Include this configuration only when <varname>condition</varname> Include this configuration only when {var}`condition`
matches. Allowed conditions are described in matches. Allowed conditions are described in
<citerefentry> {manpage}`git-config(1)`.
<refentrytitle>git-config</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
''; '';
}; };
@ -124,10 +121,7 @@ let
Configuration to include. If empty then a path must be given. Configuration to include. If empty then a path must be given.
This follows the configuration structure as described in This follows the configuration structure as described in
<citerefentry> {manpage}`git-config(1)`.
<refentrytitle>git-config</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
''; '';
}; };
@ -158,8 +152,8 @@ in {
default = pkgs.git; default = pkgs.git;
defaultText = literalExpression "pkgs.git"; defaultText = literalExpression "pkgs.git";
description = '' description = ''
Git package to install. Use <varname>pkgs.gitAndTools.gitFull</varname> Git package to install. Use {var}`pkgs.gitAndTools.gitFull`
to gain access to <command>git send-email</command> for instance. to gain access to {command}`git send-email` for instance.
''; '';
}; };
@ -211,7 +205,7 @@ in {
''; '';
description = '' description = ''
Configuration helper for Git hooks. Configuration helper for Git hooks.
See <link xlink:href="https://git-scm.com/docs/githooks" /> See <https://git-scm.com/docs/githooks>
for reference. for reference.
''; '';
}; };
@ -258,7 +252,7 @@ in {
default = false; default = false;
description = '' description = ''
Skip automatic downloading of objects on clone or pull. Skip automatic downloading of objects on clone or pull.
This requires a manual <command>git lfs pull</command> This requires a manual {command}`git lfs pull`
every time a new commit is checked out on your repository. every time a new commit is checked out on your repository.
''; '';
}; };
@ -267,8 +261,8 @@ in {
difftastic = { difftastic = {
enable = mkEnableOption "" // { enable = mkEnableOption "" // {
description = '' description = ''
Enable the <command>difftastic</command> syntax highlighter. Enable the {command}`difftastic` syntax highlighter.
See <link xlink:href="https://github.com/Wilfred/difftastic" />. See <https://github.com/Wilfred/difftastic>.
''; '';
}; };
@ -305,8 +299,8 @@ in {
delta = { delta = {
enable = mkEnableOption "" // { enable = mkEnableOption "" // {
description = '' description = ''
Whether to enable the <command>delta</command> syntax highlighter. Whether to enable the {command}`delta` syntax highlighter.
See <link xlink:href="https://github.com/dandavison/delta" />. See <https://github.com/dandavison/delta>.
''; '';
}; };
@ -337,8 +331,8 @@ in {
diff-so-fancy = { diff-so-fancy = {
enable = mkEnableOption "" // { enable = mkEnableOption "" // {
description = '' description = ''
Enable the <command>diff-so-fancy</command> diff colorizer. Enable the {command}`diff-so-fancy` diff colorizer.
See <link xlink:href="https://github.com/so-fancy/diff-so-fancy" />. See <https://github.com/so-fancy/diff-so-fancy>.
''; '';
}; };
@ -346,7 +340,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ "--tabs=4" "-RFX" ]; default = [ "--tabs=4" "-RFX" ];
description = '' description = ''
Arguments to be passed to <command>less</command>. Arguments to be passed to {command}`less`.
''; '';
}; };
@ -373,7 +367,7 @@ in {
default = true; default = true;
example = false; example = false;
description = '' description = ''
Whether the <literal>+</literal> or <literal>-</literal> at Whether the `+` or `-` at
line-start should be removed. line-start should be removed.
''; '';
}; };

View file

@ -30,7 +30,7 @@ in {
''; '';
description = '' description = ''
Key config in Ron file format. This is written to Key config in Ron file format. This is written to
<filename>$XDG_CONFIG_HOME/gitui/key_config.ron</filename>. {file}`$XDG_CONFIG_HOME/gitui/key_config.ron`.
''; '';
}; };
@ -63,7 +63,7 @@ in {
''; '';
description = '' description = ''
Theme in Ron file format. This is written to Theme in Ron file format. This is written to
<filename>$XDG_CONFIG_HOME/gitui/theme.ron</filename>. {file}`$XDG_CONFIG_HOME/gitui/theme.ron`.
''; '';
}; };
}; };

View file

@ -106,7 +106,7 @@ let
default = null; default = null;
type = types.nullOr types.bool; type = types.nullOr types.bool;
description = '' description = ''
If <literal>true</literal>, allow applications in the If `true`, allow applications in the
terminal to make text boldface. terminal to make text boldface.
''; '';
}; };
@ -150,40 +150,22 @@ let
type = eraseBinding; type = eraseBinding;
description = '' description = ''
Which string the terminal should send to an application when the user Which string the terminal should send to an application when the user
presses the <emphasis>Backspace</emphasis> key. presses the *Backspace* key.
<variablelist> `auto`
<varlistentry> : Attempt to determine the right value from the terminal's IO settings.
<term><literal>auto</literal></term>
<listitem><para> `ascii-backspace`
Attempt to determine the right value from the terminal's IO settings. : Send an ASCII backspace character (`0x08`).
</para></listitem>
</varlistentry> `ascii-delete`
<varlistentry> : Send an ASCII delete character (`0x7F`).
<term><literal>ascii-backspace</literal></term>
<listitem><para> `delete-sequence`
Send an ASCII backspace character (0x08). : Send the `@7` control sequence.
</para></listitem>
</varlistentry> `tty`
<varlistentry> : Send terminal's "erase" setting.
<term><literal>ascii-delete</literal></term>
<listitem><para>
Send an ASCII delete character (0x7F).
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>delete-sequence</literal></term>
<listitem><para>
Send the <quote>@7</quote> control sequence.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>tty</literal></term>
<listitem><para>
Send terminals <quote>erase</quote> setting.
</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -198,40 +180,22 @@ let
type = eraseBinding; type = eraseBinding;
description = '' description = ''
Which string the terminal should send to an application when the user Which string the terminal should send to an application when the user
presses the <emphasis>Delete</emphasis> key. presses the *Delete* key.
<variablelist> `auto`
<varlistentry> : Send the `@7` control sequence.
<term><literal>auto</literal></term>
<listitem><para> `ascii-backspace`
Send the <quote>@7</quote> control sequence. : Send an ASCII backspace character (`0x08`).
</para></listitem>
</varlistentry> `ascii-delete`
<varlistentry> : Send an ASCII delete character (`0x7F`).
<term><literal>ascii-backspace</literal></term>
<listitem><para> `delete-sequence`
Send an ASCII backspace character (0x08). : Send the `@7` control sequence.
</para></listitem>
</varlistentry> `tty`
<varlistentry> : Send terminal's "erase" setting.
<term><literal>ascii-delete</literal></term>
<listitem><para>
Send an ASCII delete character (0x7F).
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>delete-sequence</literal></term>
<listitem><para>
Send the <quote>@7</quote> control sequence.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>tty</literal></term>
<listitem><para>
Send terminals <quote>erase</quote> setting.
</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };

View file

@ -37,8 +37,8 @@ in {
default = null; default = null;
example = "go"; example = "go";
description = '' description = ''
Primary <envar>GOPATH</envar> relative to Primary {env}`GOPATH` relative to
<envar>HOME</envar>. It will be exported first and therefore {env}`HOME`. It will be exported first and therefore
used by default by the Go tooling. used by default by the Go tooling.
''; '';
}; };
@ -48,8 +48,8 @@ in {
default = [ ]; default = [ ];
example = [ "extraGoPath1" "extraGoPath2" ]; example = [ "extraGoPath1" "extraGoPath2" ];
description = '' description = ''
Extra <envar>GOPATH</envar>s relative to <envar>HOME</envar> appended Extra {env}`GOPATH`s relative to {env}`HOME` appended
after <xref linkend="opt-programs.go.goPath"/>, if that option is set. after [](#opt-programs.go.goPath), if that option is set.
''; '';
}; };
@ -65,7 +65,7 @@ in {
default = [ ]; default = [ ];
example = [ "*.corp.example.com" "rsc.io/private" ]; example = [ "*.corp.example.com" "rsc.io/private" ];
description = '' description = ''
The <envar>GOPRIVATE</envar> environment variable controls The {env}`GOPRIVATE` environment variable controls
which modules the go command considers to be private (not which modules the go command considers to be private (not
available publicly) and should therefore not use the proxy available publicly) and should therefore not use the proxy
or checksum database. or checksum database.

View file

@ -65,31 +65,24 @@ let
description = '' description = ''
The amount of trust you have in the key ownership and the care the The amount of trust you have in the key ownership and the care the
owner puts into signing other keys. The available levels are owner puts into signing other keys. The available levels are
<variablelist>
<varlistentry> `unknown` or `1`
<term><literal>unknown</literal> or <literal>1</literal></term> : I don't know or won't say.
<listitem><para>I don't know or won't say.</para></listitem>
</varlistentry> `never` or `2`
<varlistentry> : I do **not** trust.
<term><literal>never</literal> or <literal>2</literal></term>
<listitem><para>I do NOT trust.</para></listitem> `marginal` or `3`
</varlistentry> : I trust marginally.
<varlistentry>
<term><literal>marginal</literal> or <literal>3</literal></term> `full` or `4`
<listitem><para>I trust marginally.</para></listitem> : I trust fully.
</varlistentry>
<varlistentry> `ultimate` or `5`
<term><literal>full</literal> or <literal>4</literal></term> : I trust ultimately.
<listitem><para>I trust fully.</para></listitem>
</varlistentry> See the [Key Management chapter](https://www.gnupg.org/gph/en/manual/x334.html)
<varlistentry> of the GNU Privacy Handbook for more.
<term><literal>ultimate</literal> or <literal>5</literal></term>
<listitem><para>I trust ultimately.</para></listitem>
</varlistentry>
</variablelist>
</para><para>
See <link xlink:href="https://www.gnupg.org/gph/en/manual/x334.html"/>
for more.
''; '';
}; };
}; };
@ -169,14 +162,10 @@ in {
description = '' description = ''
GnuPG configuration options. Available options are described GnuPG configuration options. Available options are described
in in
<link xlink:href="https://gnupg.org/documentation/manpage.html"> [
<citerefentry> {manpage}`gpg(1)`
<refentrytitle>gpg</refentrytitle> ](https://gnupg.org/documentation/manpage.html).
<manvolnum>1</manvolnum>
</citerefentry>
</link>.
</para>
<para>
Note that lists are converted to duplicate keys. Note that lists are converted to duplicate keys.
''; '';
}; };
@ -192,12 +181,9 @@ in {
description = '' description = ''
SCdaemon configuration options. Available options are described SCdaemon configuration options. Available options are described
in in
<link xlink:href="https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html"> [
<citerefentry> {manpage}`scdaemon(1)`
<refentrytitle>scdaemon</refentrytitle> ](https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html).
<manvolnum>1</manvolnum>
</citerefentry>
</link>.
''; '';
}; };
@ -214,12 +200,12 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = ''
If set to <literal>true</literal>, you may manage your keyring as a user If set to `true`, you may manage your keyring as a user
using the <literal>gpg</literal> command. Upon activation, the keyring using the `gpg` command. Upon activation, the keyring
will have managed keys added without overwriting unmanaged keys. will have managed keys added without overwriting unmanaged keys.
</para><para>
If set to <literal>false</literal>, the path If set to `false`, the path
<filename>$GNUPGHOME/pubring.kbx</filename> will become an immutable {file}`$GNUPGHOME/pubring.kbx` will become an immutable
link to the Nix store, denying modifications. link to the Nix store, denying modifications.
''; '';
}; };
@ -228,15 +214,15 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = ''
If set to <literal>true</literal>, you may manage trust as a user using If set to `true`, you may manage trust as a user using
the <command>gpg</command> command. Upon activation, trusted keys have the {command}`gpg` command. Upon activation, trusted keys have
their trust set without overwriting unmanaged keys. their trust set without overwriting unmanaged keys.
</para><para>
If set to <literal>false</literal>, the path If set to `false`, the path
<filename>$GNUPGHOME/trustdb.gpg</filename> will be {file}`$GNUPGHOME/trustdb.gpg` will be
<emphasis>overwritten</emphasis> on each activation, removing trust for *overwritten* on each activation, removing trust for
any unmanaged keys. Be careful to make a backup of your old any unmanaged keys. Be careful to make a backup of your old
<filename>trustdb.gpg</filename> before switching to immutable trust! {file}`trustdb.gpg` before switching to immutable trust!
''; '';
}; };

View file

@ -20,8 +20,7 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/havoc.cfg</filename>. See <link {file}`$XDG_CONFIG_HOME/havoc.cfg`. See <https://raw.githubusercontent.com/ii8/havoc/master/havoc.cfg>
xlink:href="https://raw.githubusercontent.com/ii8/havoc/master/havoc.cfg"/>
for a list of available options. for a list of available options.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -22,8 +22,8 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to configure <command>hx</command> as the default Whether to configure {command}`hx` as the default
editor using the <envar>EDITOR</envar> environment variable. editor using the {env}`EDITOR` environment variable.
''; '';
}; };
@ -47,9 +47,9 @@ in {
''; '';
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/helix/config.toml</filename>. {file}`$XDG_CONFIG_HOME/helix/config.toml`.
</para><para>
See <link xlink:href="https://docs.helix-editor.com/configuration.html" /> See <https://docs.helix-editor.com/configuration.html>
for the full list of options. for the full list of options.
''; '';
}; };
@ -82,9 +82,9 @@ in {
''; '';
description = '' description = ''
Language specific configuration at Language specific configuration at
<filename>$XDG_CONFIG_HOME/helix/languages.toml</filename>. {file}`$XDG_CONFIG_HOME/helix/languages.toml`.
</para><para>
See <link xlink:href="https://docs.helix-editor.com/languages.html" /> See <https://docs.helix-editor.com/languages.html>
for more information. for more information.
''; '';
}; };
@ -151,10 +151,10 @@ in {
''; '';
description = '' description = ''
Each theme is written to Each theme is written to
<filename>$XDG_CONFIG_HOME/helix/themes/theme-name.toml</filename>. {file}`$XDG_CONFIG_HOME/helix/themes/theme-name.toml`.
Where the name of each attribute is the theme-name (in the example "base16"). Where the name of each attribute is the theme-name (in the example "base16").
</para><para>
See <link xlink:href="https://docs.helix-editor.com/themes.html" /> See <https://docs.helix-editor.com/themes.html>
for the full list of options. for the full list of options.
''; '';
}; };

View file

@ -75,46 +75,33 @@ let
default = null; default = null;
description = '' description = ''
The login method. The allowed options are: The login method. The allowed options are:
<variablelist>
<varlistentry> `null`
<term><literal>null</literal></term> : Default
<listitem><para>Default</para></listitem>
</varlistentry> `"nickServMsg"`
<varlistentry> : NickServ (`/MSG NickServ` + password)
<term><literal>"nickServMsg"</literal></term>
<listitem><para>NickServ (/MSG NickServ + password)</para></listitem> `"nickServ"`
</varlistentry> : NickServ (`/NICKSERV` + password)
<varlistentry>
<term><literal>"nickServ"</literal></term> `"challengeAuth"`
<listitem><para>NickServ (/NICKSERV + password)</para></listitem> : Challenge Auth (username + password)
</varlistentry>
<varlistentry> `"sasl"`
<term><literal>"challengeAuth"</literal></term> : SASL (username + password)
<listitem><para>Challenge Auth (username + password)</para></listitem>
</varlistentry> `"serverPassword"`
<varlistentry> : Server password (`/PASS` password)
<term><literal>"sasl"</literal></term>
<listitem><para>SASL (username + password)</para></listitem> `"saslExternal"`
</varlistentry> : SASL EXTERNAL (cert)
<varlistentry>
<term><literal>"serverPassword"</literal></term> `"customCommands"`
<listitem><para>Server password (/PASS password)</para></listitem> : Use "commands" field for auth. For example
</varlistentry> ```nix
<varlistentry> commands = [ "/msg NickServ IDENTIFY my_password" ]
<term><literal>"saslExternal"</literal></term> ```
<listitem><para>SASL EXTERNAL (cert)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"customCommands"</literal></term>
<listitem>
<para>Use "commands" field for auth. For example
<programlisting language="nix">
commands = [ "/msg NickServ IDENTIFY my_password" ]
</programlisting>
</para>
</listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -154,7 +141,7 @@ let
default = null; default = null;
description = '' description = ''
Real name. Is used to populate the real name field that appears when Real name. Is used to populate the real name field that appears when
someone uses the <literal>WHOIS</literal> command on your nick. someone uses the `WHOIS` command on your nick.
''; '';
}; };
@ -162,7 +149,7 @@ let
type = nullOr str; type = nullOr str;
default = null; default = null;
description = '' description = ''
User name. Part of your <literal>user@host</literal> hostmask that User name. Part of your `user@host` hostmask that
appears to other on IRC. appears to other on IRC.
''; '';
}; };
@ -268,7 +255,7 @@ in {
}; };
}''; }'';
description = '' description = ''
Configures <filename>$XDG_CONFIG_HOME/hexchat/servlist.conf</filename>. Configures {file}`$XDG_CONFIG_HOME/hexchat/servlist.conf`.
''; '';
}; };
@ -284,8 +271,8 @@ in {
}; };
''; '';
description = '' description = ''
Configuration for <filename>$XDG_CONFIG_HOME/hexchat/hexchat.conf</filename>, see Configuration for {file}`$XDG_CONFIG_HOME/hexchat/hexchat.conf`, see
<link xlink:href="https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings"/> <https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings>
for supported values. for supported values.
''; '';
}; };
@ -295,23 +282,18 @@ in {
default = false; default = false;
description = '' description = ''
Enables overwriting HexChat configuration files Enables overwriting HexChat configuration files
(<filename>hexchat.conf</filename>, <filename>servlist.conf</filename>). ({file}`hexchat.conf`, {file}`servlist.conf`).
Any existing HexChat configuration will be lost. Certify to back-up any Any existing HexChat configuration will be lost. Make sure to back up
previous configuration before enabling this. any previous configuration before enabling this.
</para><para>
Enabling this setting is recommended, because everytime HexChat Enabling this setting is recommended, because everytime HexChat
application is closed it overwrites Nix/Home Manager provided application is closed it overwrites Nix/Home Manager provided
configuration files, causing: configuration files, causing:
<orderedlist numeration="arabic">
<listitem><para> 1. Nix/Home Manager provided configuration to be out of sync with
Nix/Home Manager provided configuration to be out of sync with actual active HexChat configuration.
actual active HexChat configuration. 2. Nix/Home Manager updates to be blocked until configuration files are
</para></listitem> manually removed.
<listitem><para>
Blocking Nix/Home Manager updates until configuration files are
manually removed.
</para></listitem>
</orderedlist>
''; '';
}; };
@ -327,7 +309,7 @@ in {
''; '';
description = '' description = ''
Theme package for HexChat. Expects a derivation containing decompressed Theme package for HexChat. Expects a derivation containing decompressed
theme files. Note, <literal>.hct</literal> files are actually ZIP files, theme files. Note, `.hct` files are actually ZIP files,
as seen in example. as seen in example.
''; '';
}; };

View file

@ -118,22 +118,21 @@ in {
options = { options = {
programs.himalaya = { programs.himalaya = {
enable = lib.mkEnableOption "Enable the Himalaya email client."; enable = lib.mkEnableOption "the Himalaya email client";
package = lib.mkPackageOption pkgs "himalaya" { }; package = lib.mkPackageOption pkgs "himalaya" { };
settings = lib.mkOption { settings = lib.mkOption {
type = lib.types.submodule { freeformType = tomlFormat.type; }; type = lib.types.submodule { freeformType = tomlFormat.type; };
default = { }; default = { };
description = '' description = ''
Himalaya global configuration. Himalaya global configuration.
See <link xlink:href="https://pimalaya.org/himalaya/cli/configuration/global.html"/> for supported values. See <https://pimalaya.org/himalaya/cli/configuration/global.html> for supported values.
''; '';
}; };
}; };
services = { services = {
himalaya-notify = { himalaya-notify = {
enable = enable = lib.mkEnableOption "the Himalaya new emails notifier service";
lib.mkEnableOption "Enable the Himalaya new emails notifier service.";
environment = lib.mkOption { environment = lib.mkOption {
type = with lib.types; attrsOf str; type = with lib.types; attrsOf str;
@ -171,8 +170,8 @@ in {
}; };
himalaya-watch = { himalaya-watch = {
enable = lib.mkEnableOption enable =
"Enable the Himalaya folder changes watcher service."; lib.mkEnableOption "the Himalaya folder changes watcher service";
environment = lib.mkOption { environment = lib.mkOption {
type = with lib.types; attrsOf str; type = with lib.types; attrsOf str;
@ -213,15 +212,15 @@ in {
accounts.email.accounts = lib.mkOption { accounts.email.accounts = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule { type = lib.types.attrsOf (lib.types.submodule {
options.himalaya = { options.himalaya = {
enable = lib.mkEnableOption "Enable Himalaya for this email account."; enable = lib.mkEnableOption "Himalaya for this email account";
# TODO: remove me for the next release # TODO: remove me for the next release
backend = lib.mkOption { backend = lib.mkOption {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
default = null; default = null;
description = '' description = ''
Specifying 'accounts.email.accounts.*.himalaya.backend' is deprecated, Specifying {option}`accounts.email.accounts.*.himalaya.backend` is deprecated,
set 'accounts.email.accounts.*.himalaya.settings.backend' instead. set {option}`accounts.email.accounts.*.himalaya.settings.backend` instead.
''; '';
}; };
@ -229,8 +228,8 @@ in {
sender = lib.mkOption { sender = lib.mkOption {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
description = '' description = ''
Specifying 'accounts.email.accounts.*.himalaya.sender' is deprecated, Specifying {option}`accounts.email.accounts.*.himalaya.sender` is deprecated,
set 'accounts.email.accounts.*.himalaya.settings.sender' instead. set {option}'accounts.email.accounts.*.himalaya.settings.sender' instead.
''; '';
}; };
@ -239,7 +238,7 @@ in {
default = { }; default = { };
description = '' description = ''
Himalaya configuration for this email account. Himalaya configuration for this email account.
See <link xlink:href="https://pimalaya.org/himalaya/cli/configuration/account.html"/> for supported values. See <https://pimalaya.org/himalaya/cli/configuration/account.html> for supported values.
''; '';
}; };
}; };

View file

@ -19,9 +19,9 @@ in {
example = "$HOME/devel/home-manager"; example = "$HOME/devel/home-manager";
description = '' description = ''
The default path to use for Home Manager. When The default path to use for Home Manager. When
<literal>null</literal>, then the <filename>home-manager</filename> `null`, then the {file}`home-manager`
channel, <filename>$HOME/.config/nixpkgs/home-manager</filename>, and channel, {file}`$HOME/.config/nixpkgs/home-manager`, and
<filename>$HOME/.nixpkgs/home-manager</filename> will be attempted. {file}`$HOME/.nixpkgs/home-manager` will be attempted.
''; '';
}; };
}; };

View file

@ -151,7 +151,7 @@ in {
''; '';
description = '' description = ''
Configuration options to add to Configuration options to add to
<filename>$XDG_CONFIG_HOME/htop/htoprc</filename>. {file}`$XDG_CONFIG_HOME/htop/htoprc`.
''; '';
}; };
@ -159,7 +159,7 @@ in {
type = types.package; type = types.package;
default = pkgs.htop; default = pkgs.htop;
defaultText = literalExpression "pkgs.htop"; defaultText = literalExpression "pkgs.htop";
description = "Package containing the <command>htop</command> program."; description = "Package containing the {command}`htop` program.";
}; };
}; };

View file

@ -51,8 +51,8 @@ in {
]; ];
description = '' description = ''
Configuration blocks to add to i3status-rust Configuration blocks to add to i3status-rust
<filename>config</filename>. See {file}`config`. See
<link xlink:href="https://github.com/greshake/i3status-rust/blob/master/blocks.md"/> <https://github.com/greshake/i3status-rust/blob/master/blocks.md>
for block options. for block options.
''; '';
example = literalExpression '' example = literalExpression ''
@ -88,7 +88,7 @@ in {
default = { }; default = { };
description = '' description = ''
Any extra options to add to i3status-rust Any extra options to add to i3status-rust
<filename>config</filename>. {file}`config`.
''; '';
example = literalExpression '' example = literalExpression ''
{ {
@ -108,7 +108,7 @@ in {
default = "none"; default = "none";
description = '' description = ''
The icons set to use. See The icons set to use. See
<link xlink:href="https://github.com/greshake/i3status-rust/blob/master/doc/themes.md"/> <https://github.com/greshake/i3status-rust/blob/master/doc/themes.md>
for a list of available icon sets. for a list of available icon sets.
''; '';
example = "awesome6"; example = "awesome6";
@ -119,7 +119,7 @@ in {
default = "plain"; default = "plain";
description = '' description = ''
The theme to use. See The theme to use. See
<link xlink:href="https://github.com/greshake/i3status-rust/blob/master/doc/themes.md"/> <https://github.com/greshake/i3status-rust/blob/master/doc/themes.md>
for a list of available themes. for a list of available themes.
''; '';
example = "gruvbox-dark"; example = "gruvbox-dark";
@ -163,18 +163,15 @@ in {
}; };
description = '' description = ''
Attribute set of i3status-rust bars, each with their own configuration. Attribute set of i3status-rust bars, each with their own configuration.
Each bar <varname>name</varname> generates a config file suffixed with Each bar {var}`name` generates a config file suffixed with
the bar's <varname>name</varname> from the attribute set, like so: the bar's {var}`name` from the attribute set, like so:
<filename>config-<replaceable>name</replaceable>.toml</filename>. {file}`config-''${name}.toml`.
</para><para>
This way, multiple config files can be generated, such as for having a This way, multiple config files can be generated, such as for having a
top and a bottom bar. top and a bottom bar.
</para><para>
See See
<citerefentry> {manpage}`i3status-rust(1)`
<refentrytitle>i3status-rust</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -51,13 +51,10 @@ in {
type = settingsType; type = settingsType;
default = { }; default = { };
description = '' description = ''
Configuration to add to i3status <filename>config</filename> Configuration to add to i3status {file}`config`
<code>general</code> section. `general` section.
See See
<citerefentry> {manpage}`i3status(1)`
<refentrytitle>i3status</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''
@ -84,7 +81,7 @@ in {
position = mkOption { position = mkOption {
type = with types; either int float; type = with types; either int float;
description = '' description = ''
Position of this module in i3status <code>order</code>. Position of this module in i3status `order`.
''; '';
}; };
settings = mkOption { settings = mkOption {
@ -93,10 +90,7 @@ in {
description = '' description = ''
Configuration to add to this i3status module. Configuration to add to this i3status module.
See See
<citerefentry> {manpage}`i3status(1)`
<refentrytitle>i3status</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''
@ -111,12 +105,9 @@ in {
}); });
default = { }; default = { };
description = '' description = ''
Modules to add to i3status <filename>config</filename> file. Modules to add to i3status {file}`config` file.
See See
<citerefentry> {manpage}`i3status(1)`
<refentrytitle>i3status</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for options. for options.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -23,10 +23,7 @@ in {
type = with types; attrsOf (attrsOf (oneOf [ bool int str ])); type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
description = '' description = ''
Configuration options for imv. See Configuration options for imv. See
<citerefentry> {manpage}`imv(5)`.
<refentrytitle>imv</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
''; '';
example = literalExpression '' example = literalExpression ''
{ {

View file

@ -153,7 +153,7 @@ let
default = false; default = false;
description = '' description = ''
Enable SASL external authentication. This requires setting a path in Enable SASL external authentication. This requires setting a path in
<xref linkend="opt-programs.irssi.networks._name_.server.ssl.certificateFile"/>. [](#opt-programs.irssi.networks._name_.server.ssl.certificateFile).
''; '';
}; };
}; };

View file

@ -16,8 +16,8 @@ in {
programs.java = { programs.java = {
enable = mkEnableOption "" // { enable = mkEnableOption "" // {
description = '' description = ''
Install the Java development kit and set the <envar>JAVA_HOME</envar> Install the Java development kit and set the
variable. {env}`JAVA_HOME` variable.
''; '';
}; };
@ -27,7 +27,7 @@ in {
defaultText = "pkgs.jdk"; defaultText = "pkgs.jdk";
description = '' description = ''
Java package to install. Typical values are Java package to install. Typical values are
<literal>pkgs.jdk</literal> or <literal>pkgs.jre</literal>. `pkgs.jdk` or `pkgs.jre`.
''; '';
}; };
}; };

View file

@ -23,9 +23,9 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/joshuto.toml</filename>. {file}`$XDG_CONFIG_HOME/joshuto/joshuto.toml`.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto.toml.md" /> See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto.toml.md>
for the full list of options. for the full list of options.
''; '';
}; };
@ -35,9 +35,9 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/keymap.toml</filename>. {file}`$XDG_CONFIG_HOME/joshuto/keymap.toml`.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/keymap.toml.md" /> See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/keymap.toml.md>
for the full list of options. Note that this option will overwrite any existing keybinds. for the full list of options. Note that this option will overwrite any existing keybinds.
''; '';
}; };
@ -47,9 +47,9 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/mimetype.toml</filename>. {file}`$XDG_CONFIG_HOME/joshuto/mimetype.toml`.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype.toml.md" /> See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype.toml.md>
for the full list of options for the full list of options
''; '';
}; };
@ -59,9 +59,9 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/theme.toml</filename>. {file}`$XDG_CONFIG_HOME/joshuto/theme.toml`.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/theme.toml.md" /> See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/theme.toml.md>
for the full list of options for the full list of options
''; '';
}; };

View file

@ -39,9 +39,10 @@ in {
colors = mkOption { colors = mkOption {
description = '' description = ''
The colors used in colored JSON output.</para> The colors used in colored JSON output.
<para>See <link xlink:href="https://stedolan.github.io/jq/manual/#Colors"/>. See the [Colors section](https://jqlang.github.io/jq/manual/#Colors)
of the jq manual.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -28,8 +28,8 @@ in {
} }
''; '';
description = '' description = ''
Options to add to the <filename>.jjconfig.toml</filename> file. See Options to add to the {file}`.jjconfig.toml` file. See
<link xlink:href="https://github.com/martinvonz/jj/blob/main/docs/config.md"/> <https://github.com/martinvonz/jj/blob/main/docs/config.md>
for options. for options.
''; '';
}; };

View file

@ -21,8 +21,8 @@ in {
default = { }; default = { };
description = '' description = ''
Configuration written to Configuration written to
<filename>$XDG_CONFIG_HOME/k9s/config.yml</filename>. See {file}`$XDG_CONFIG_HOME/k9s/config.yml`. See
<link xlink:href="https://k9scli.io/topics/config/"/> <https://k9scli.io/topics/config/>
for supported values. for supported values.
''; '';
example = literalExpression '' example = literalExpression ''
@ -37,8 +37,8 @@ in {
default = { }; default = { };
description = '' description = ''
Skin written to Skin written to
<filename>$XDG_CONFIG_HOME/k9s/skin.yml</filename>. See {file}`$XDG_CONFIG_HOME/k9s/skin.yml`. See
<link xlink:href="https://k9scli.io/topics/skins/"/> <https://k9scli.io/topics/skins/>
for supported values. for supported values.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -53,7 +53,7 @@ let
example = "SetOption"; example = "SetOption";
description = '' description = ''
The name of the hook. For a description, see The name of the hook. For a description, see
<link xlink:href="https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc#default-hooks"/>. <https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc#default-hooks>.
''; '';
}; };
@ -116,7 +116,7 @@ let
example = "<a-x>"; example = "<a-x>";
description = '' description = ''
The key to be mapped. See The key to be mapped. See
<link xlink:href="https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc#mappable-keys"/> <https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc#mappable-keys>
for possible values. for possible values.
''; '';
}; };
@ -138,7 +138,7 @@ let
default = null; default = null;
description = '' description = ''
Set the color scheme. To see available schemes, enter Set the color scheme. To see available schemes, enter
<command>colorscheme</command> at the kakoune prompt. {command}`colorscheme` at the kakoune prompt.
''; '';
}; };
@ -147,7 +147,7 @@ let
default = null; default = null;
description = '' description = ''
The width of a tab in spaces. The kakoune default is The width of a tab in spaces. The kakoune default is
<literal>6</literal>. `6`.
''; '';
}; };
@ -156,8 +156,8 @@ let
default = null; default = null;
description = '' description = ''
The width of an indentation in spaces. The width of an indentation in spaces.
The kakoune default is <literal>4</literal>. The kakoune default is `4`.
If <literal>0</literal>, a tab will be used instead. If `0`, a tab will be used instead.
''; '';
}; };
@ -184,7 +184,7 @@ let
example = [ "command" "normal" ]; example = [ "command" "normal" ];
description = '' description = ''
Contexts in which to display automatic information box. Contexts in which to display automatic information box.
The kakoune default is <literal>[ "command" "onkey" ]</literal>. The kakoune default is `[ "command" "onkey" ]`.
''; '';
}; };
@ -193,7 +193,7 @@ let
default = null; default = null;
description = '' description = ''
Modes in which to display possible completions. Modes in which to display possible completions.
The kakoune default is <literal>[ "insert" "prompt" ]</literal>. The kakoune default is `[ "insert" "prompt" ]`.
''; '';
}; };
@ -202,7 +202,7 @@ let
default = null; default = null;
description = '' description = ''
Reload buffers when an external modification is detected. Reload buffers when an external modification is detected.
The kakoune default is <literal>"ask"</literal>. The kakoune default is `"ask"`.
''; '';
}; };
@ -297,7 +297,7 @@ let
description = '' description = ''
Amount by which shifted function keys are offset. That Amount by which shifted function keys are offset. That
is, if the terminal sends F13 for Shift-F1, this is, if the terminal sends F13 for Shift-F1, this
should be <literal>12</literal>. should be `12`.
''; '';
}; };
@ -321,7 +321,7 @@ let
default = false; default = false;
description = '' description = ''
Highlight the matching char of the character under the Highlight the matching char of the character under the
selections' cursor using the <literal>MatchingChar</literal> selections' cursor using the `MatchingChar`
face. face.
''; '';
}; };
@ -361,7 +361,7 @@ let
example = ""; example = "";
description = '' description = ''
Prefix wrapped lines with marker text. Prefix wrapped lines with marker text.
If not <literal>null</literal>, If not `null`,
the marker text will be displayed in the indentation if possible. the marker text will be displayed in the indentation if possible.
''; '';
}; };
@ -400,7 +400,7 @@ let
description = '' description = ''
String that separates the line number column from the String that separates the line number column from the
buffer contents. The kakoune default is buffer contents. The kakoune default is
<literal>"|"</literal>. `"|"`.
''; '';
}; };
}; };
@ -421,7 +421,7 @@ let
default = null; default = null;
description = '' description = ''
The character to display for line feeds. The character to display for line feeds.
The kakoune default is <literal>"¬"</literal>. The kakoune default is `"¬"`.
''; '';
}; };
@ -430,7 +430,7 @@ let
default = null; default = null;
description = '' description = ''
The character to display for spaces. The character to display for spaces.
The kakoune default is <literal>"·"</literal>. The kakoune default is `"·"`.
''; '';
}; };
@ -439,7 +439,7 @@ let
default = null; default = null;
description = '' description = ''
The character to display for non-breaking spaces. The character to display for non-breaking spaces.
The kakoune default is <literal>""</literal>. The kakoune default is `""`.
''; '';
}; };
@ -448,7 +448,7 @@ let
default = null; default = null;
description = '' description = ''
The character to display for tabs. The character to display for tabs.
The kakoune default is <literal>""</literal>. The kakoune default is `""`.
''; '';
}; };
@ -457,7 +457,7 @@ let
default = null; default = null;
description = '' description = ''
The character to append to tabs to reach the width of a tabstop. The character to append to tabs to reach the width of a tabstop.
The kakoune default is <literal>" "</literal>. The kakoune default is `" "`.
''; '';
}; };
}; };
@ -473,7 +473,7 @@ let
default = [ ]; default = [ ];
description = '' description = ''
User-defined key mappings. For documentation, see User-defined key mappings. For documentation, see
<link xlink:href="https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc"/>. <https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc>.
''; '';
}; };
@ -482,7 +482,7 @@ let
default = [ ]; default = [ ];
description = '' description = ''
Global hooks. For documentation, see Global hooks. For documentation, see
<link xlink:href="https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc"/>. <https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc>.
''; '';
}; };
}; };
@ -634,8 +634,8 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to configure <command>kak</command> as the default Whether to configure {command}`kak` as the default
editor using the <envar>EDITOR</envar> environment variable. editor using the {env}`EDITOR` environment variable.
''; '';
}; };
@ -644,7 +644,7 @@ in {
default = ""; default = "";
description = '' description = ''
Extra configuration lines to add to Extra configuration lines to add to
<filename>$XDG_CONFIG_HOME/kak/kakrc</filename>. {file}`$XDG_CONFIG_HOME/kak/kakrc`.
''; '';
}; };
@ -655,7 +655,7 @@ in {
description = '' description = ''
List of kakoune plugins to install. To get a list of List of kakoune plugins to install. To get a list of
supported plugins run: supported plugins run:
<command>nix-env -f '&lt;nixpkgs&gt;' -qaP -A kakounePlugins</command>. {command}`nix-env -f '<nixpkgs>' -qaP -A kakounePlugins`.
''; '';
}; };
}; };

View file

@ -100,7 +100,7 @@ in {
type = types.bool; type = types.bool;
visible = pkgs.stdenv.hostPlatform.isLinux; visible = pkgs.stdenv.hostPlatform.isLinux;
description = '' description = ''
Whether to run keychain from your <filename>~/.xsession</filename>. Whether to run keychain from your {file}`~/.xsession`.
''; '';
}; };
}; };

View file

@ -33,104 +33,113 @@ let
(toKeyValueIfDefined (getAttrs [ "type" "color" "priority" ] value.khal)) (toKeyValueIfDefined (getAttrs [ "type" "color" "priority" ] value.khal))
] ++ [ "\n" ]); ] ++ [ "\n" ]);
localeFormatOptions = let T = lib.types; localeFormatOptions = let
in mapAttrs (n: v: T = lib.types;
v // { suffix = ''
description = v.description + '' Format strings are for Python `strftime`, similarly to
{manpage}`strftime(3)`.
'';
in {
dateformat = mkOption {
type = T.str;
default = "%x";
description = ''
khal will display and understand all dates in this format.
Format strings are for python 'strftime', similarly to man 3 strftime. ${suffix}
''; '';
}) {
dateformat = {
type = T.str;
default = "%x";
description = ''
khal will display and understand all dates in this format.
'';
};
timeformat = {
type = T.str;
default = "%X";
description = ''
khal will display and understand all times in this format.
'';
};
datetimeformat = {
type = T.str;
default = "%c";
description = ''
khal will display and understand all datetimes in this format.
'';
};
longdateformat = {
type = T.str;
default = "%x";
description = ''
khal will display and understand all dates in this format.
It should contain a year (e.g. %Y).
'';
};
longdatetimeformat = {
type = T.str;
default = "%c";
description = ''
khal will display and understand all datetimes in this format.
It should contain a year (e.g. %Y).
'';
};
}; };
timeformat = mkOption {
type = T.str;
default = "%X";
description = ''
khal will display and understand all times in this format.
${suffix}
'';
};
datetimeformat = mkOption {
type = T.str;
default = "%c";
description = ''
khal will display and understand all datetimes in this format.
${suffix}
'';
};
longdateformat = mkOption {
type = T.str;
default = "%x";
description = ''
khal will display and understand all dates in this format.
It should contain a year (e.g. `%Y`).
${suffix}
'';
};
longdatetimeformat = mkOption {
type = T.str;
default = "%c";
description = ''
khal will display and understand all datetimes in this format.
It should contain a year (e.g. `%Y`).
${suffix}
'';
};
};
localeOptions = let T = lib.types; localeOptions = let T = lib.types;
in localeFormatOptions // { in localeFormatOptions // {
unicode_symbols = { unicode_symbols = mkOption {
type = T.bool; type = T.bool;
default = true; default = true;
description = '' description = ''
By default khal uses some unicode symbols (as in non-ascii) as By default khal uses some Unicode symbols (as in "non-ASCII") as
indicators for things like repeating events. indicators for things like repeating events.
If your font, encoding etc. does not support those symbols, set this If your font, encoding etc. does not support those symbols, set this
to false (this will enable ascii based replacements). to false (this will enable ASCII-based replacements).
''; '';
}; };
default_timezone = { default_timezone = mkOption {
type = T.nullOr T.str; type = T.nullOr T.str;
default = null; default = null;
description = '' description = ''
Default for new events or if khal does not understand the timezone Default for new events or if khal does not understand the timezone
in an ical file. in an ical file.
If 'null', the timezone of your computer will be used. If `null`, the timezone of your computer will be used.
''; '';
}; };
local_timezone = { local_timezone = mkOption {
type = T.nullOr T.str; type = T.nullOr T.str;
default = null; default = null;
description = '' description = ''
khal will show all times in this timezone. khal will show all times in this timezone.
If 'null', the timezone of your computer will be used. If `null`, the timezone of your computer will be used.
''; '';
}; };
firstweekday = { firstweekday = mkOption {
type = T.ints.between 0 6; type = T.ints.between 0 6;
default = 0; default = 0;
description = '' description = ''
the first day of the week, where Monday is 0 and Sunday is 6 The first day of the week, where Monday is 0 and Sunday is 6.
''; '';
}; };
weeknumbers = { weeknumbers = mkOption {
type = T.enum [ "off" "left" "right" ]; type = T.enum [ "off" "left" "right" ];
default = "off"; default = "off";
description = '' description = ''
Enable weeknumbers in calendar and interactive (ikhal) mode. Enable week numbers in calendar and interactive (ikhal) mode.
As those are iso weeknumbers, they only work properly if firstweekday As those are ISO week numbers, they only work properly if
is set to 0. {option}`firstweekday` is set to 0.
''; '';
}; };
}; };
@ -139,9 +148,7 @@ in {
options.programs.khal = { options.programs.khal = {
enable = mkEnableOption "khal, a CLI calendar application"; enable = mkEnableOption "khal, a CLI calendar application";
locale = mkOption { locale = mkOption {
type = lib.types.submodule { type = lib.types.submodule { options = localeOptions; };
options = mapAttrs (n: v: mkOption v) localeOptions;
};
description = '' description = ''
khal locale settings. khal locale settings.
''; '';

Some files were not shown because too many files have changed in this diff Show more