1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-27 20:29:47 +01:00
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> { } }:
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;
manPages = manPages;
json = options.json;

View file

@ -94,11 +94,11 @@ All contributed code _must_ pass the test suite.
[[sec-guidelines-module-maintainer]]
==== Add relevant documentation
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
:docbook: https://tdg.docbook.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:

View file

@ -1,7 +1,9 @@
{ pkgs
# 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
@ -11,7 +13,16 @@ let
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
# instantiating derivations.
@ -26,42 +37,66 @@ let
dontCheckDefinitions = { _module.check = false; };
buildModulesDocs = args:
nmd.buildModulesDocs ({
moduleRootPaths = [ ./.. ];
mkModuleUrl = path:
"https://github.com/nix-community/home-manager/blob/master/${path}#blob-path";
channelName = "home-manager";
} // args);
gitHubDeclaration = user: repo: subpath:
let urlRef = if isReleaseBranch then "release-${release}" else "master";
in {
url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
name = "<${repo}/${subpath}>";
};
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 {
inherit lib pkgs;
check = false;
} ++ [ scrubbedPkgsModule ];
docBook.id = "home-manager-options";
variablelistId = "home-manager-options";
};
nixosModuleDocs = buildModulesDocs {
nixosOptionsDocs = buildOptionsDocs {
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
docBook = {
id = "nixos-options";
optionIdPrefix = "nixos-opt";
};
variablelistId = "nixos-options";
optionIdPrefix = "nixos-opt-";
};
nixDarwinModuleDocs = buildModulesDocs {
nixDarwinOptionsDocs = buildOptionsDocs {
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
docBook = {
id = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt";
};
variablelistId = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt-";
};
docs = nmd.buildDocBookDocs {
pathName = "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 = ./.;
documentType = "book";
chunkToc = ''
@ -81,9 +116,20 @@ in {
inherit nmdSrc;
options = {
json = hmModulesDocs.json.override {
path = "share/doc/home-manager/options.json";
};
# TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream
# `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;

View file

@ -26,7 +26,7 @@
You can use the following options in
<filename>home-configuration.nix</filename>:
</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>
<title>See also</title>

View file

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

View file

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

View file

@ -1,7 +1,7 @@
{
description = "Home Manager for Nix";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs, ... }:
{
@ -103,7 +103,11 @@
packages = forAllSystems (system:
let
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 ./.; };
in {
default = hmPkg;

View file

@ -11,7 +11,7 @@ let
key = mkOption {
type = types.str;
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 = ''
Path to file containing certificate authorities that should
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.
'';
};
@ -122,7 +122,7 @@ let
example = 993;
description = ''
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";
description = ''
Hostname of JMAP server.
</para><para>
If both this option and <xref
linkend="opt-accounts.email.accounts._name_.jmap.sessionUrl"/> are specified,
<code>host</code> is preferred by applications when establishing a
If both this option and [](#opt-accounts.email.accounts._name_.jmap.sessionUrl) are specified,
`host` is preferred by applications when establishing a
session.
'';
};
@ -158,10 +157,9 @@ let
example = "https://jmap.example.org:443/.well-known/jmap";
description = ''
URL for the JMAP Session resource.
</para><para>
If both this option and <xref
linkend="opt-accounts.email.accounts._name_.jmap.host"/> are specified,
<code>host</code> is preferred by applications when establishing a
If both this option and [](#opt-accounts.email.accounts._name_.jmap.host) are specified,
`host` is preferred by applications when establishing a
session.
'';
};
@ -184,7 +182,7 @@ let
example = 465;
description = ''
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
special treatment. This option is therefore intended to
indicate the nature of the provider.
</para><para>
When this indicates a specific provider then, for example,
the IMAP, SMTP, and JMAP server configuration may be set
automatically.

View file

@ -29,7 +29,7 @@ let
x11 = {
enable = mkEnableOption ''
x11 config generation for <option>home.pointerCursor</option>
x11 config generation for {option}`home.pointerCursor`
'';
defaultCursor = mkOption {
@ -42,7 +42,7 @@ let
gtk = {
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;
default = null;
description = ''
Cursor configuration. Set to <literal>null</literal> to disable.
</para><para>
Cursor configuration. Set to `null` to disable.
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
configurations are generated. If you need configurations for specific
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.
</para><para>
Note that this will merely generate the cursor configurations.
To apply the configurations, the relevant subsytems must also be configured.
For example, <xref linkend="opt-home.pointerCursor.gtk.enable"/> will generate
the gtk cursor configuration, but <xref linkend="opt-gtk.enable"/> needs
For example, [](#opt-home.pointerCursor.gtk.enable) will generate
the gtk cursor configuration, but [](#opt-gtk.enable) needs
to be set for it to be applied.
'';
};

View file

@ -41,13 +41,13 @@ in {
i18n.glibcLocales = mkOption {
type = types.path;
description = ''
Customized <literal>glibcLocales</literal> package providing
the <literal>LOCALE_ARCHIVE_*</literal> environment variable.
</para><para>
Customized `glibcLocales` package providing
the `LOCALE_ARCHIVE_*` environment variable.
This option only applies to the Linux platform.
</para><para>
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.
'';
example = literalExpression ''

View file

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

View file

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

View file

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

View file

@ -28,7 +28,7 @@ in {
'';
description = ''
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.
'';
};

View file

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

View file

@ -40,17 +40,17 @@ with lib;
type = types.nullOr types.bool;
default = null;
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
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
the <literal>launchctl(1)</literal> list subcommand or use the ServiceManagement framework's
<literal>SMJobCopyDictionary()</literal> method.
the `launchctl(1)` list subcommand or use the ServiceManagement framework's
`SMJobCopyDictionary()` method.
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
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
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;
description = ''
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.
'';
};
@ -104,7 +104,7 @@ with lib;
default = null;
description = ''
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;
description = ''
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;
description = ''
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;
default = null;
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 absence of the ProgramArguments key.
'';
@ -140,8 +140,8 @@ with lib;
type = types.nullOr (types.listOf types.str);
default = null;
description = ''
This key maps to the second argument of <literal>execvp(3)</literal>. 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!
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 `execvp(3)` very carefully!
'';
};
@ -149,7 +149,7 @@ with lib;
type = types.nullOr types.bool;
default = null;
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;
default = null;
description = ''
This flag instructs launchd that the job promises to use <literal>vproc_transaction_begin(3)</literal> and
<literal>vproc_transaction_end(3)</literal> to track outstanding transactions that need to be reconciled before the
This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
`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
send the SIGKILL signal.
'';
@ -263,7 +263,7 @@ with lib;
type = types.nullOr types.str;
default = null;
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;
default = null;
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;
default = null;
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.
'';
};
@ -327,7 +327,7 @@ with lib;
type = types.nullOr types.bool;
default = null;
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.
'';
};
@ -375,7 +375,7 @@ with lib;
};
description = ''
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
up. If multiple intervals transpire before the computer is woken, those events will be coalesced into
one event upon wake from sleep.
@ -430,7 +430,7 @@ with lib;
default = null;
description = ''
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;
default = null;
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;
default = null;
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 {
default = null;
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:
'';
type = types.nullOr (types.submodule {
@ -497,7 +497,7 @@ with lib;
default = null;
description = ''
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;
description = ''
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)
value in addition to the <literal>setrlimit(2)</literal> values.
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values.
'';
};
@ -532,8 +532,8 @@ with lib;
default = null;
description = ''
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
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values.
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the `setrlimit(2)` values.
'';
};
@ -563,7 +563,7 @@ with lib;
default = null;
example = { NumberOfFiles = 4096; };
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:
'';
type = types.nullOr (types.submodule {
@ -589,7 +589,7 @@ with lib;
default = null;
description = ''
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;
default = null;
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;
description = ''
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)
value in addition to the <literal>setrlimit(2)</literal> values.
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values.
'';
};
@ -624,8 +624,8 @@ with lib;
default = null;
description = ''
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
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values.
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(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:
Background
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
user experience.
: 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
user experience.
Standard
Standard jobs are equivalent to no ProcessType being set.
: Standard jobs are equivalent to no ProcessType being set.
Adaptive
Adaptive jobs move between the Background and Interactive classifications based on activity over
XPC connections. See <literal>xpc_transaction_begin(3)</literal> for details.
: Adaptive jobs move between the Background and Interactive classifications based on activity over
XPC connections. See {manpage}`xpc_transaction_begin(3)` for details.
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
used if an app's ability to be responsive depends on it, and cannot be made Adaptive.
: 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
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
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 {
options = {
@ -807,7 +807,7 @@ with lib;
type = types.nullOr types.bool;
default = null;
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").
'';
};
@ -816,7 +816,7 @@ with lib;
type = types.nullOr types.str;
default = null;
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;
default = null;
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" ]);
default = null;
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".
'';
};
@ -849,8 +849,8 @@ with lib;
type = types.nullOr types.path;
default = null;
description = ''
This optional key implies SockFamily is set to "Unix". It specifies the path to <literal>connect(2)</literal> or
<literal>bind(2)</literal> to.
This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
`bind(2)` to.
'';
};
@ -879,7 +879,7 @@ with lib;
default = null;
description = ''
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;
description = ''
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
family also be set, otherwise the results are undefined.
'';

View file

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

View file

@ -41,7 +41,7 @@ in rec {
example = literalExpression "pkgs.dejavu_fonts";
description = ''
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.
'';
};

View file

@ -6,7 +6,10 @@ let
cfg = config.manual;
docs = import ../docs { inherit lib pkgs; };
docs = import ../docs {
inherit pkgs lib;
inherit (config.home.version) release isReleaseBranch;
};
in {
options = {
@ -15,7 +18,7 @@ in {
default = false;
description = ''
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.
'';
};
@ -26,8 +29,8 @@ in {
example = false;
description = ''
Whether to install the configuration manual page. The manual can
be reached by <command>man home-configuration.nix</command>.
</para><para>
be reached by {command}`man home-configuration.nix`.
When looking at the manual page pretend that all references to
NixOS stuff are actually references to Home Manager stuff.
Thanks!
@ -41,7 +44,7 @@ in {
description = ''
Whether to install a JSON formatted list of all Home Manager
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 other miscellaneous tasks.
'';

View file

@ -35,9 +35,9 @@ in {
visible = false;
description = ''
Whether to enable dconf settings.
</para><para>
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
message when your configuration is activated.
'';
@ -59,16 +59,16 @@ in {
'';
description = ''
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
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
using the <literal>lib.hm.gvariant.mkUint32</literal> constructor.
Otherwise, since Nix integers are implicitly coerced to <literal>int32</literal>
(<literal>i</literal>), it would get stored in the database as such, and GSettings
`uint32` (`u`), you need to wrap the number
using the `lib.hm.gvariant.mkUint32` constructor.
Otherwise, since Nix integers are implicitly coerced to `int32`
(`i`), it would get stored in the database as such, and GSettings
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.
'';
};

View file

@ -6,10 +6,10 @@ with lib;
options.home = {
enableDebugInfo = mkEnableOption "" // {
description = ''
Some Nix-packages provide debug symbols for
<command>gdb</command> in the <literal>debug</literal>-output.
Some Nix packages provide debug symbols for
{command}`gdb` in the `debug` output.
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.
'';
};

View file

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

View file

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

View file

@ -33,7 +33,7 @@ let
example = literalExpression "pkgs.gnome.gnome-themes-extra";
description = ''
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.
'';
};
@ -54,7 +54,7 @@ let
example = literalExpression "pkgs.gnome.adwaita-icon-theme";
description = ''
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.
'';
};
@ -75,7 +75,7 @@ let
example = literalExpression "pkgs.vanilla-dmz";
description = ''
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.
'';
};
@ -143,7 +143,7 @@ in {
example = "gtk-can-change-accels = 1";
description = ''
Extra configuration lines to add verbatim to
<filename>~/.gtkrc-2.0</filename>.
{file}`~/.gtkrc-2.0`.
'';
};
@ -177,7 +177,7 @@ in {
};
description = ''
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 = "";
description = ''
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 = ''
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 = "";
description = ''
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";
description = ''
How unread and relevant news should be presented when
running <command>home-manager build</command> and
<command>home-manager switch</command>.
</para><para>
running {command}`home-manager build` and
{command}`home-manager switch`.
The options are
<variablelist>
<varlistentry>
<term><literal>silent</literal></term>
<listitem>
<para>
Do not print anything during build or switch. The
<command>home-manager news</command> command still
works for viewing the entries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<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>
`silent`
: Do not print anything during build or switch. The
{command}`home-manager news` command still
works for viewing the entries.
`notify`
: The number of unread and relevant news entries will be
printed to standard output. The {command}`home-manager
news` command can later be used to view the entries.
`show`
: A pager showing unread news entries is opened.
'';
};

View file

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

View file

@ -53,24 +53,20 @@ in {
details, see the Nixpkgs documentation.) It allows you to set
package configuration options.
</para><para>
If <literal>null</literal>, then configuration is taken from
If `null`, then configuration is taken from
the fallback location, for example,
<filename>~/.config/nixpkgs/config.nix</filename>.
</para><para>
{file}`~/.config/nixpkgs/config.nix`.
Note, this option will not apply outside your Home Manager
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
file and include something like
<programlisting language="nix">
```nix
nixpkgs.config = import ./nixpkgs-config.nix;
xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;
</programlisting>
```
in your Home Manager configuration.
'';
@ -94,21 +90,17 @@ in {
List of overlays to use with the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to
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
the second should be used for overriding recipes.
</para><para>
If <literal>null</literal>, then the overlays are taken from
If `null`, then the overlays are taken from
the fallback location, for example,
<filename>~/.config/nixpkgs/overlays</filename>.
{file}`~/.config/nixpkgs/overlays`.
</para><para>
Like <varname>nixpkgs.config</varname> this option only
Like {var}`nixpkgs.config` this option only
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.
'';
};

View file

@ -17,11 +17,8 @@ in {
description = ''
Environment variables that will be set for the PAM session.
The variable values must be as described in
<citerefentry>
<refentrytitle>pam_env.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
</para><para>
{manpage}`pam_env.conf(5)`.
Note, this option will become deprecated in the future and its use is
therefore discouraged.
'';
@ -39,7 +36,7 @@ in {
default = [ ];
description = ''
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.
'';
};
@ -49,7 +46,7 @@ in {
default = ".yubico/authorized_yubikeys";
description = ''
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" ]
];
description = ''
Platform theme to use for Qt applications.</para>
<para>The options are
<variablelist>
<varlistentry>
<term><literal>gtk</literal></term>
<listitem><para>Use GTK theme with
<link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link>
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>gnome</literal></term>
<listitem><para>Use GNOME theme with
<link xlink:href="https://github.com/FedoraQt/QGnomePlatform">qgnomeplatform</link>
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>qtct</literal></term>
<listitem><para>Use Qt style set using
<link xlink:href="https://github.com/desktop-app/qt5ct">qt5ct</link>
and
<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>
Platform theme to use for Qt applications.
The options are
`gtk`
: Use GTK theme with
[`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
`gnome`
: Use GNOME theme with
[`qgnomeplatform`](https://github.com/FedoraQt/QGnomePlatform)
`qtct`
: Use Qt style set using
[`qt5ct`](https://github.com/desktop-app/qt5ct)
and [`qt6ct`](https://github.com/trialuser02/qt6ct)
applications
`kde`
: Use Qt settings from Plasma
'';
};
@ -102,43 +94,24 @@ in {
];
description = ''
Style to use for Qt5/Qt6 applications. Case-insensitive.
</para>
<para>Some examples are
<variablelist>
<varlistentry>
<term><literal>adwaita</literal></term>
<term><literal>adwaita-dark</literal></term>
<term><literal>adwaita-highcontrast</literal></term>
<term><literal>adwaita-highcontrastinverse</literal></term>
<listitem><para>Use the Adwaita style from
<link xlink:href="https://github.com/FedoraQt/adwaita-qt">adwaita</link>
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>breeze</literal></term>
<listitem><para>Use the Breeze style from
<link xlink:href="https://github.com/KDE/breeze">breeze</link>
</para></listitem>
</varlistentry>
<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>
Some examples are
`adwaita`, `adwaita-dark`, `adwaita-highcontrast`, `adwaita-highcontrastinverse`
: Use the Adwaita style from
[`adwaita-qt`](https://github.com/FedoraQt/adwaita-qt)
`breeze`
: Use the Breeze style from
[`breeze`](https://github.com/KDE/breeze)
`bb10bright`, `bb10dark`, `cde`, `cleanlooks`, `gtk2`, `motif`, `plastique`
: Use styles from
[`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
`kvantum`
: Use styles from
[`kvantum`](https://github.com/tsujan/Kvantum)
'';
};
@ -148,7 +121,7 @@ in {
example = literalExpression "pkgs.adwaita-qt";
description = ''
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 = ''
A set of named specialized configurations. These can be used to extend
your base configuration with additional settings. For example, you can
have specialisations named <quote>light</quote> and <quote>dark</quote>
that applies light and dark color theme configurations.
have specialisations named "light" and "dark"
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
script yourself. Note, running the activation script will create a new
script yourself. Running the activation script will create a new
Home Manager generation.
:::
</para><para>
For example, to activate the <quote>dark</quote> specialisation. You can
For example, to activate the "dark" specialisation, you can
first look up your current Home Manager generation by running
<programlisting language="console">
$ home-manager generations | head -1
2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation
</programlisting>
```console
$ home-manager generations | head -1
2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation
```
then run
<programlisting language="console">
$ /nix/store/jyac-home-manager-generation/specialisation/dark/activate
Starting Home Manager activation
</programlisting>
```console
$ /nix/store/jyac-home-manager-generation/specialisation/dark/activate
Starting Home Manager activation
```
</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.
:::
'';
};

View file

@ -21,11 +21,11 @@ with lib;
default = false;
internal = true;
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.
In NixOS, for example, this may be accomplished by installing
the packages through
<option>users.users.name?.packages</option>.
{option}`users.users.name?.packages`.
'';
};
};

View file

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

View file

@ -2,7 +2,9 @@
with lib;
{
let releaseInfo = lib.importJSON ../../release.json;
in {
options = {
home.stateVersion = mkOption {
type = types.enum [
@ -24,8 +26,8 @@ with lib;
configuration defaults in a way that is incompatible with
stateful data. This could, for example, include switching the
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
program configurations. Switching to a higher state version
typically requires performing some manual steps, such as data
@ -51,11 +53,22 @@ with lib;
internal = true;
readOnly = true;
type = types.str;
default = fileContents ../../.release;
default = releaseInfo.release;
example = "22.11";
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 {
internal = true;
type = types.nullOr types.str;

View file

@ -82,7 +82,7 @@ let
startupNotify = mkOption {
description = ''
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
does not work with startup notification at all.'';
type = types.nullOr types.bool;
@ -109,7 +109,7 @@ let
settings = mkOption {
type = types.attrsOf types.string;
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.
'';
default = { };
@ -181,9 +181,11 @@ in {
options.xdg.desktopEntries = mkOption {
description = ''
Desktop Entries allow applications to be shown in your desktop environment's app launcher. </para><para>
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.
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.
See <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys> for more information on options.
'';
default = { };
type = types.attrsOf (types.submodule desktopEntry);

View file

@ -17,9 +17,8 @@ in {
type = types.bool;
default = false;
description = ''
Whether to manage <filename>$XDG_CONFIG_HOME/mimeapps.list</filename>.
</para>
<para>
Whether to manage {file}`$XDG_CONFIG_HOME/mimeapps.list`.
The generated file is read-only.
'';
};
@ -49,7 +48,7 @@ in {
example = { "mimetype1" = "foo5.desktop"; };
description = ''
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.
'';
};

View file

@ -17,9 +17,9 @@ in {
Whether to install programs and files to support the
XDG Shared MIME-info specification and XDG MIME Applications
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
<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.
'';
};

View file

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

View file

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

View file

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

View file

@ -65,9 +65,9 @@ in {
visible = false;
description = ''
Whether to enable Xfconf settings.
</para><para>
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
message when your configuration is activated.
'';

View file

@ -19,9 +19,9 @@ in {
set autosave=true
'';
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:
<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 {
type = nullOr str;
default = null;
description = "The OAuth2 token endpoint.";
};
client_id = mkOption {
type = nullOr str;
default = null;
description = "The OAuth2 client identifier.";
};
client_secret = mkOption {
type = nullOr str;
default = null;
description = "The OAuth2 client secret.";
};
scope = mkOption {
type = nullOr str;
default = null;
description = "The OAuth2 requested scope.";
};
};
});
@ -38,7 +42,7 @@ let
description = ''
Sets the oauth2 params if authentication mechanism oauthbearer or
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"; }'';
description = ''
Extra config added to the configuration section for this account in
<filename>$HOME/.config/aerc/accounts.conf</filename>.
See <citerefentry><refentrytitle>aerc-accounts</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
{file}`$HOME/.config/aerc/accounts.conf`.
See {manpage}`aerc-accounts(5)`.
'';
};
@ -66,8 +70,8 @@ in {
''{ messages = { d = ":move ''${folder.trash}<Enter>"; }; }'';
description = ''
Extra bindings specific to this account, added to
<filename>$HOME/.config/aerc/binds.conf</filename>.
See <citerefentry><refentrytitle>aerc-binds</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
{file}`$HOME/.config/aerc/binds.conf`.
See {manpage}`aerc-binds(5)`.
'';
};
@ -76,11 +80,11 @@ in {
default = { };
example = literalExpression "{ ui = { sidebar-width = 25; }; }";
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.
For other sections of <filename>$HOME/.config/aerc/aerc.conf</filename>,
use <literal>programs.aerc.extraConfig</literal>.
See <citerefentry><refentrytitle>aerc-config</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
For other sections of {file}`$HOME/.config/aerc/aerc.conf`,
use `programs.aerc.extraConfig`.
See {manpage}`aerc-config(5)`.
'';
};
@ -91,7 +95,7 @@ in {
description = ''
Sets the authentication mechanism if imap is used as the incoming
method.
See <citerefentry><refentrytitle>aerc-imap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
See {manpage}`aerc-imap(5)`.
'';
};
@ -105,7 +109,7 @@ in {
description = ''
Sets the authentication mechanism if smtp is used as the outgoing
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
''{ Work = { source = "maildir://~/Maildir/work"; }; }'';
description = ''
Extra lines added to <filename>$HOME/.config/aerc/accounts.conf</filename>.
See aerc-config(5).
Extra lines added to {file}`$HOME/.config/aerc/accounts.conf`.
See {manpage}`aerc-config(5)`.
'';
};
@ -51,9 +52,10 @@ in {
default = { };
example = literalExpression ''{ messages = { q = ":quit<Enter>"; }; }'';
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.
See aerc-config(5).
See {manpage}`aerc-config(5)`.
'';
};
@ -62,8 +64,9 @@ in {
default = { };
example = literalExpression ''{ ui = { sort = "-r date"; }; }'';
description = ''
Extra lines added to <filename>$HOME/.config/aerc/aerc.conf</filename>.
See aerc-config(5).
Extra lines added to {file}`$HOME/.config/aerc/aerc.conf`.
See {manpage}`aerc-config(5)`.
'';
};
@ -74,8 +77,9 @@ in {
{ default = { ui = { "tab.selected.reverse" = toggle; }; }; };
'';
description = ''
Stylesets added to <filename>$HOME/.config/aerc/stylesets/</filename>.
See aerc-stylesets(7).
Stylesets added to {file}`$HOME/.config/aerc/stylesets/`.
See {manpage}`aerc-stylesets(7)`.
'';
};
@ -86,8 +90,9 @@ in {
{ new_message = "Hello!"; };
'';
description = ''
Templates added to <filename>$HOME/.config/aerc/templates/</filename>.
See aerc-templates(7).
Templates added to {file}`$HOME/.config/aerc/templates/`.
See {manpage}`aerc-templates(7)`.
'';
};
};

View file

@ -32,7 +32,7 @@ in {
description = ''
Extra lines added to afew configuration file. Available
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 = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/alacritty/alacritty.yml</filename>. See
<link xlink:href="https://github.com/alacritty/alacritty/blob/master/alacritty.yml"/>
{file}`$XDG_CONFIG_HOME/alacritty/alacritty.yml`. See
<https://github.com/alacritty/alacritty/blob/master/alacritty.yml>
for the default configuration.
'';
};

View file

@ -10,7 +10,7 @@ with lib;
description = ''
Command to send a mail. If msmtp is enabled for the account,
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 = ''
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.
'';
};

View file

@ -28,7 +28,7 @@ let
description = ''
Fixed string representation for this tag. The tag can be
hidden from view, if the key translated is set to
<literal>""</literal>, the empty string.
`""`, the empty string.
'';
};
@ -38,7 +38,7 @@ let
description = ''
A pair of strings that define a regular substitution to
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'";
description = ''
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 ]);
default = { };
description = ''
Options to add to <filename>aria2.conf</filename> file.
Options to add to {file}`aria2.conf` file.
See
<citerefentry>
<refentrytitle>aria2c</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
{manpage}`aria2c(1)`
for options.
'';
example = literalExpression ''
@ -46,7 +43,7 @@ in {
type = types.lines;
default = "";
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 = ''
Command to send a mail. If msmtp is enabled for the account,
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 =
"nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1";
description = ''
You can use <code>%1</code>, <code>%2</code>, and
<code>%3</code> to refer respectively to:
<orderedlist numeration="arabic">
<listitem><para>file name</para></listitem>
<listitem><para>server name</para></listitem>
<listitem><para>socket ID</para></listitem>
</orderedlist>
See <link xlink:href='https://github.com/astroidmail/astroid/wiki/Customizing-editor' />.
You can use the following variables:
`%1`
: file name
`%2`
: server name
`%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;
description = ''
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;
description = ''
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.
'';
};
@ -45,7 +46,7 @@ in {
type = types.bool;
description = ''
Whether to enable Atuin's Fish integration.
</para><para>
If enabled, this will bind the up-arrow key to open the Atuin history.
'';
};
@ -79,9 +80,9 @@ in {
'';
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/atuin/config.toml</filename>.
</para><para>
See <link xlink:href="https://atuin.sh/docs/config/" /> for the full list
{file}`$XDG_CONFIG_HOME/atuin/config.toml`.
See <https://atuin.sh/docs/config/> for the full list
of options.
'';
};

View file

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

View file

@ -35,17 +35,15 @@ in {
description = ''
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
enabled in the system configuration, then make sure to add
<programlisting language="nix">
```nix
environment.pathsToLink = [ "/share/bash-completion" ];
</programlisting>
```
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.
'';
};
@ -103,7 +101,7 @@ in {
example = [ "extglob" "-cdspell" ];
description = ''
Shell options to set. Prefix an option with
<quote><literal>-</literal></quote> to unset.
"`-`" to unset.
'';
};
@ -153,7 +151,7 @@ in {
default = "";
type = types.lines;
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.
'';
};

View file

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

View file

@ -22,9 +22,9 @@ in {
defaultText = "false";
description = ''
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
<option>programs.beets.settings</option> is non-empty.
{option}`programs.beets.settings` is non-empty.
'';
};
@ -35,7 +35,7 @@ in {
example =
literalExpression "(pkgs.beets.override { enableCheck = true; })";
description = ''
The <literal>beets</literal> package to use.
The `beets` package to use.
Can be used to specify extensions.
'';
};
@ -45,7 +45,7 @@ in {
default = { };
description = ''
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;
default = pkgs.bottom;
defaultText = literalExpression "pkgs.bottom";
description = "Package providing <command>bottom</command>.";
description = "Package providing {command}`bottom`.";
};
settings = mkOption {
@ -27,9 +27,9 @@ in {
default = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/bottom/bottom.toml</filename>.
</para><para>
See <link xlink:href="https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml"/>
{file}`$XDG_CONFIG_HOME/bottom/bottom.toml`.
See <https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml>
for the default configuration.
'';
example = literalExpression ''

View file

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

View file

@ -40,8 +40,8 @@ in {
theme_background = false;
};
description = ''
Options to add to <filename>btop.conf</filename> file.
See <link xlink:href="https://github.com/aristocratos/btop#configurability"/>
Options to add to {file}`btop.conf` file.
See <https://github.com/aristocratos/btop#configurability>
for options.
'';
};
@ -50,7 +50,7 @@ in {
type = types.lines;
default = "";
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" ];
description = ''
List of command-line arguments to be passed to ${name}.
</para><para>
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>.
</para><para>
[Chrome switches](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/chrome/common/chrome_switches.cc).
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) {
@ -114,13 +114,13 @@ let
description = ''
List of ${name} extensions to install.
To find the extension ID, check its URL on the
<link xlink:href="https://chrome.google.com/webstore/category/extensions">Chrome Web Store</link>.
</para><para>
[Chrome Web Store](https://chrome.google.com/webstore/category/extensions).
To install extensions outside of the Chrome Web Store set
<literal>updateUrl</literal> or <literal>crxPath</literal> and
<literal>version</literal> as explained in the
<link xlink:href="https://developer.chrome.com/docs/extensions/mv2/external_extensions">Chrome
documentation</link>.
`updateUrl` or `crxPath` and
`version` as explained in the
[Chrome
documentation](https://developer.chrome.com/docs/extensions/mv2/external_extensions).
'';
};
};

View file

@ -37,7 +37,7 @@ in {
default =
"/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite";
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
(nixexprs.tar.xz).
'';

View file

@ -17,7 +17,7 @@ in {
default = { };
description = ''
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;
default = false;
description = ''
Whether to manage <filename>.dir_colors</filename>
and set <code>LS_COLORS</code>.
Whether to manage {file}`.dir_colors`
and set `LS_COLORS`.
'';
};
@ -47,8 +47,8 @@ in {
type = with types; attrsOf str;
default = { };
description = ''
Options to add to <filename>.dir_colors</filename> file.
See <command>dircolors --print-database</command>
Options to add to {file}`.dir_colors` file.
See {command}`dircolors --print-database`
for options.
'';
example = literalExpression ''
@ -64,7 +64,7 @@ in {
type = types.lines;
default = "";
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 = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/direnv/direnv.toml</filename>.
</para><para>
{file}`$XDG_CONFIG_HOME/direnv/direnv.toml`.
See
<citerefentry>
<refentrytitle>direnv.toml</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
{manpage}`direnv.toml(1)`.
for the full list of options.
'';
};
@ -45,7 +42,7 @@ in {
default = "";
description = ''
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
will always active its functionality for Fish since the direnv package
automatically gets loaded in Fish. If this is not the case try adding
<programlisting language="nix">
```nix
environment.pathsToLink = [ "/share/fish" ];
</programlisting>
```
to the system configuration.
'';
};
@ -90,9 +87,8 @@ in {
nix-direnv = {
enable = mkEnableOption ''
<link
xlink:href="https://github.com/nix-community/nix-direnv">nix-direnv</link>,
a fast, persistent use_nix implementation for direnv'';
[nix-direnv](https://github.com/nix-community/nix-direnv),
a fast, persistent use_nix implementation for direnv'';
};
};

View file

@ -50,10 +50,10 @@ in {
'';
description = ''
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.
</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
initialization file.
'';
@ -67,7 +67,7 @@ in {
description = ''
Extra packages available to Emacs. To get a list of
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";
description = ''
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 ];
options.programs.exa = {
enable =
mkEnableOption "exa, a modern replacement for <command>ls</command>";
enable = mkEnableOption "exa, a modern replacement for {command}`ls`";
enableAliases = mkEnableOption "recommended exa aliases (ls, ll)";
@ -24,7 +23,7 @@ with lib;
type = types.bool;
default = false;
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;
default = false;
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
action, set its value to null. If you want to bind multiple buttons to
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.
'';
};
@ -58,7 +58,7 @@ in {
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 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.
'';
};

View file

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

View file

@ -12,10 +12,10 @@ let
type = types.path;
description = ''
Path to the plugin folder.
</para><para>
Relevant pieces will be added to the fish function path and
the completion path. The <filename>init.fish</filename> and
<filename>key_binding.fish</filename> files are sourced if
the completion path. The {file}`init.fish` and
{file}`key_binding.fish` files are sourced if
they exist.
'';
};
@ -89,7 +89,7 @@ let
default = null;
description = ''
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
will result in the handler being triggered by the exit of the job
which created this command substitution.
@ -103,8 +103,8 @@ let
description = ''
Tells fish to run this function when the fish child process with the
specified process ID exits. Instead of a PID, for backwards
compatibility, <literal>%self</literal> can be specified as an alias
for <literal>$fish_pid</literal>, and the function will be run when
compatibility, `%self` can be specified as an alias
for `$fish_pid`, and the function will be run when
the current fish instance exits.
'';
};
@ -270,7 +270,7 @@ in {
'';
description = ''
The plugins to source in
<filename>conf.d/99plugins.fish</filename>.
{file}`conf.d/99plugins.fish`.
'';
};
@ -289,7 +289,7 @@ in {
'';
description = ''
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 = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/foot/foot.ini</filename>. See <link
xlink:href="https://codeberg.org/dnkl/foot/src/branch/master/foot.ini"/>
{file}`$XDG_CONFIG_HOME/foot/foot.ini`. See <https://codeberg.org/dnkl/foot/src/branch/master/foot.ini>
for a list of available options.
'';
example = literalExpression ''

View file

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

View file

@ -23,7 +23,7 @@ in {
type = types.package;
default = pkgs.fzf;
defaultText = literalExpression "pkgs.fzf";
description = "Package providing the <command>fzf</command> tool.";
description = "Package providing the {command}`fzf` tool.";
};
defaultCommand = mkOption {
@ -104,15 +104,15 @@ in {
}
'';
description = ''
Color scheme options added to <code>FZF_DEFAULT_OPTS</code>. See
<link xlink:href="https://github.com/junegunn/fzf/wiki/Color-schemes"/>
Color scheme options added to `FZF_DEFAULT_OPTS`. See
<https://github.com/junegunn/fzf/wiki/Color-schemes>
for documentation.
'';
};
tmux = {
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 {
@ -120,9 +120,9 @@ in {
default = [ ];
example = literalExpression ''[ "-d 40%" ]'';
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.
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 = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/gallery-dl/config.json</filename>. See
<link xlink:href="https://github.com/mikf/gallery-dl#configuration"/>
{file}`$XDG_CONFIG_HOME/gallery-dl/config.json`. See
<https://github.com/mikf/gallery-dl#configuration>
for supported values.
'';
};

View file

@ -21,7 +21,7 @@ with lib;
example = [ "INBOX" "INBOX.spam" ];
description = ''
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;
description = ''
Enable if you want to delete read messages from the server. Most
users should either enable <literal>delete</literal> or disable
<literal>readAll</literal>.
users should either enable `delete` or disable
`readAll`.
'';
};
@ -40,8 +40,8 @@ with lib;
default = true;
description = ''
Enable if you want to fetch all, even the read messages from the
server. Most users should either enable <literal>delete</literal> or
disable <literal>readAll</literal>.
server. Most users should either enable `delete` or
disable `readAll`.
'';
};

View file

@ -69,14 +69,14 @@ in {
type = types.package;
default = pkgs.gh;
defaultText = literalExpression "pkgs.gh";
description = "Package providing <command>gh</command>.";
description = "Package providing {command}`gh`.";
};
settings = mkOption {
type = settingsType;
default = { };
description =
"Configuration written to <filename>$XDG_CONFIG_HOME/gh/config.yml</filename>.";
"Configuration written to {file}`$XDG_CONFIG_HOME/gh/config.yml`.";
example = literalExpression ''
{
git_protocol = "ssh";
@ -100,7 +100,7 @@ in {
type = types.listOf types.package;
default = [ ];
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 ]";
};

View file

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

View file

@ -64,8 +64,8 @@ let
type = types.nullOr types.str;
description = ''
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.
'';
};
@ -91,12 +91,9 @@ let
type = types.nullOr types.str;
default = null;
description = ''
Include this configuration only when <varname>condition</varname>
Include this configuration only when {var}`condition`
matches. Allowed conditions are described in
<citerefentry>
<refentrytitle>git-config</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
{manpage}`git-config(1)`.
'';
};
@ -124,10 +121,7 @@ let
Configuration to include. If empty then a path must be given.
This follows the configuration structure as described in
<citerefentry>
<refentrytitle>git-config</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
{manpage}`git-config(1)`.
'';
};
@ -158,8 +152,8 @@ in {
default = pkgs.git;
defaultText = literalExpression "pkgs.git";
description = ''
Git package to install. Use <varname>pkgs.gitAndTools.gitFull</varname>
to gain access to <command>git send-email</command> for instance.
Git package to install. Use {var}`pkgs.gitAndTools.gitFull`
to gain access to {command}`git send-email` for instance.
'';
};
@ -211,7 +205,7 @@ in {
'';
description = ''
Configuration helper for Git hooks.
See <link xlink:href="https://git-scm.com/docs/githooks" />
See <https://git-scm.com/docs/githooks>
for reference.
'';
};
@ -258,7 +252,7 @@ in {
default = false;
description = ''
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.
'';
};
@ -267,8 +261,8 @@ in {
difftastic = {
enable = mkEnableOption "" // {
description = ''
Enable the <command>difftastic</command> syntax highlighter.
See <link xlink:href="https://github.com/Wilfred/difftastic" />.
Enable the {command}`difftastic` syntax highlighter.
See <https://github.com/Wilfred/difftastic>.
'';
};
@ -305,8 +299,8 @@ in {
delta = {
enable = mkEnableOption "" // {
description = ''
Whether to enable the <command>delta</command> syntax highlighter.
See <link xlink:href="https://github.com/dandavison/delta" />.
Whether to enable the {command}`delta` syntax highlighter.
See <https://github.com/dandavison/delta>.
'';
};
@ -337,8 +331,8 @@ in {
diff-so-fancy = {
enable = mkEnableOption "" // {
description = ''
Enable the <command>diff-so-fancy</command> diff colorizer.
See <link xlink:href="https://github.com/so-fancy/diff-so-fancy" />.
Enable the {command}`diff-so-fancy` diff colorizer.
See <https://github.com/so-fancy/diff-so-fancy>.
'';
};
@ -346,7 +340,7 @@ in {
type = types.listOf types.str;
default = [ "--tabs=4" "-RFX" ];
description = ''
Arguments to be passed to <command>less</command>.
Arguments to be passed to {command}`less`.
'';
};
@ -373,7 +367,7 @@ in {
default = true;
example = false;
description = ''
Whether the <literal>+</literal> or <literal>-</literal> at
Whether the `+` or `-` at
line-start should be removed.
'';
};

View file

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

View file

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

View file

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

View file

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

View file

@ -75,46 +75,33 @@ let
default = null;
description = ''
The login method. The allowed options are:
<variablelist>
<varlistentry>
<term><literal>null</literal></term>
<listitem><para>Default</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"nickServMsg"</literal></term>
<listitem><para>NickServ (/MSG NickServ + password)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"nickServ"</literal></term>
<listitem><para>NickServ (/NICKSERV + password)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"challengeAuth"</literal></term>
<listitem><para>Challenge Auth (username + password)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"sasl"</literal></term>
<listitem><para>SASL (username + password)</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"serverPassword"</literal></term>
<listitem><para>Server password (/PASS password)</para></listitem>
</varlistentry>
<varlistentry>
<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>
`null`
: Default
`"nickServMsg"`
: NickServ (`/MSG NickServ` + password)
`"nickServ"`
: NickServ (`/NICKSERV` + password)
`"challengeAuth"`
: Challenge Auth (username + password)
`"sasl"`
: SASL (username + password)
`"serverPassword"`
: Server password (`/PASS` password)
`"saslExternal"`
: SASL EXTERNAL (cert)
`"customCommands"`
: Use "commands" field for auth. For example
```nix
commands = [ "/msg NickServ IDENTIFY my_password" ]
```
'';
};
@ -154,7 +141,7 @@ let
default = null;
description = ''
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;
default = null;
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.
'';
};
@ -268,7 +255,7 @@ in {
};
}'';
description = ''
Configures <filename>$XDG_CONFIG_HOME/hexchat/servlist.conf</filename>.
Configures {file}`$XDG_CONFIG_HOME/hexchat/servlist.conf`.
'';
};
@ -284,8 +271,8 @@ in {
};
'';
description = ''
Configuration for <filename>$XDG_CONFIG_HOME/hexchat/hexchat.conf</filename>, see
<link xlink:href="https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings"/>
Configuration for {file}`$XDG_CONFIG_HOME/hexchat/hexchat.conf`, see
<https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings>
for supported values.
'';
};
@ -295,23 +282,18 @@ in {
default = false;
description = ''
Enables overwriting HexChat configuration files
(<filename>hexchat.conf</filename>, <filename>servlist.conf</filename>).
Any existing HexChat configuration will be lost. Certify to back-up any
previous configuration before enabling this.
</para><para>
({file}`hexchat.conf`, {file}`servlist.conf`).
Any existing HexChat configuration will be lost. Make sure to back up
any previous configuration before enabling this.
Enabling this setting is recommended, because everytime HexChat
application is closed it overwrites Nix/Home Manager provided
configuration files, causing:
<orderedlist numeration="arabic">
<listitem><para>
Nix/Home Manager provided configuration to be out of sync with
actual active HexChat configuration.
</para></listitem>
<listitem><para>
Blocking Nix/Home Manager updates until configuration files are
manually removed.
</para></listitem>
</orderedlist>
1. Nix/Home Manager provided configuration to be out of sync with
actual active HexChat configuration.
2. Nix/Home Manager updates to be blocked until configuration files are
manually removed.
'';
};
@ -327,7 +309,7 @@ in {
'';
description = ''
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.
'';
};

View file

@ -118,22 +118,21 @@ in {
options = {
programs.himalaya = {
enable = lib.mkEnableOption "Enable the Himalaya email client.";
enable = lib.mkEnableOption "the Himalaya email client";
package = lib.mkPackageOption pkgs "himalaya" { };
settings = lib.mkOption {
type = lib.types.submodule { freeformType = tomlFormat.type; };
default = { };
description = ''
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 = {
himalaya-notify = {
enable =
lib.mkEnableOption "Enable the Himalaya new emails notifier service.";
enable = lib.mkEnableOption "the Himalaya new emails notifier service";
environment = lib.mkOption {
type = with lib.types; attrsOf str;
@ -171,8 +170,8 @@ in {
};
himalaya-watch = {
enable = lib.mkEnableOption
"Enable the Himalaya folder changes watcher service.";
enable =
lib.mkEnableOption "the Himalaya folder changes watcher service";
environment = lib.mkOption {
type = with lib.types; attrsOf str;
@ -213,15 +212,15 @@ in {
accounts.email.accounts = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule {
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
backend = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = ''
Specifying 'accounts.email.accounts.*.himalaya.backend' is deprecated,
set 'accounts.email.accounts.*.himalaya.settings.backend' instead.
Specifying {option}`accounts.email.accounts.*.himalaya.backend` is deprecated,
set {option}`accounts.email.accounts.*.himalaya.settings.backend` instead.
'';
};
@ -229,8 +228,8 @@ in {
sender = lib.mkOption {
type = with lib.types; nullOr str;
description = ''
Specifying 'accounts.email.accounts.*.himalaya.sender' is deprecated,
set 'accounts.email.accounts.*.himalaya.settings.sender' instead.
Specifying {option}`accounts.email.accounts.*.himalaya.sender` is deprecated,
set {option}'accounts.email.accounts.*.himalaya.settings.sender' instead.
'';
};
@ -239,7 +238,7 @@ in {
default = { };
description = ''
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";
description = ''
The default path to use for Home Manager. When
<literal>null</literal>, then the <filename>home-manager</filename>
channel, <filename>$HOME/.config/nixpkgs/home-manager</filename>, and
<filename>$HOME/.nixpkgs/home-manager</filename> will be attempted.
`null`, then the {file}`home-manager`
channel, {file}`$HOME/.config/nixpkgs/home-manager`, and
{file}`$HOME/.nixpkgs/home-manager` will be attempted.
'';
};
};

View file

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

View file

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

View file

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

View file

@ -153,7 +153,7 @@ let
default = false;
description = ''
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 = {
enable = mkEnableOption "" // {
description = ''
Install the Java development kit and set the <envar>JAVA_HOME</envar>
variable.
Install the Java development kit and set the
{env}`JAVA_HOME` variable.
'';
};
@ -27,7 +27,7 @@ in {
defaultText = "pkgs.jdk";
description = ''
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 = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/joshuto.toml</filename>.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto.toml.md" />
{file}`$XDG_CONFIG_HOME/joshuto/joshuto.toml`.
See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto.toml.md>
for the full list of options.
'';
};
@ -35,9 +35,9 @@ in {
default = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/keymap.toml</filename>.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/keymap.toml.md" />
{file}`$XDG_CONFIG_HOME/joshuto/keymap.toml`.
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.
'';
};
@ -47,9 +47,9 @@ in {
default = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/mimetype.toml</filename>.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype.toml.md" />
{file}`$XDG_CONFIG_HOME/joshuto/mimetype.toml`.
See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype.toml.md>
for the full list of options
'';
};
@ -59,9 +59,9 @@ in {
default = { };
description = ''
Configuration written to
<filename>$XDG_CONFIG_HOME/joshuto/theme.toml</filename>.
</para><para>
See <link xlink:href="https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/theme.toml.md" />
{file}`$XDG_CONFIG_HOME/joshuto/theme.toml`.
See <https://github.com/kamiyaa/joshuto/blob/main/docs/configuration/theme.toml.md>
for the full list of options
'';
};

View file

@ -39,9 +39,10 @@ in {
colors = mkOption {
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 ''

View file

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

View file

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

View file

@ -53,7 +53,7 @@ let
example = "SetOption";
description = ''
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>";
description = ''
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.
'';
};
@ -138,7 +138,7 @@ let
default = null;
description = ''
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;
description = ''
The width of a tab in spaces. The kakoune default is
<literal>6</literal>.
`6`.
'';
};
@ -156,8 +156,8 @@ let
default = null;
description = ''
The width of an indentation in spaces.
The kakoune default is <literal>4</literal>.
If <literal>0</literal>, a tab will be used instead.
The kakoune default is `4`.
If `0`, a tab will be used instead.
'';
};
@ -184,7 +184,7 @@ let
example = [ "command" "normal" ];
description = ''
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;
description = ''
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;
description = ''
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 = ''
Amount by which shifted function keys are offset. That
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;
description = ''
Highlight the matching char of the character under the
selections' cursor using the <literal>MatchingChar</literal>
selections' cursor using the `MatchingChar`
face.
'';
};
@ -361,7 +361,7 @@ let
example = "";
description = ''
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.
'';
};
@ -400,7 +400,7 @@ let
description = ''
String that separates the line number column from the
buffer contents. The kakoune default is
<literal>"|"</literal>.
`"|"`.
'';
};
};
@ -421,7 +421,7 @@ let
default = null;
description = ''
The character to display for line feeds.
The kakoune default is <literal>"¬"</literal>.
The kakoune default is `"¬"`.
'';
};
@ -430,7 +430,7 @@ let
default = null;
description = ''
The character to display for spaces.
The kakoune default is <literal>"·"</literal>.
The kakoune default is `"·"`.
'';
};
@ -439,7 +439,7 @@ let
default = null;
description = ''
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;
description = ''
The character to display for tabs.
The kakoune default is <literal>""</literal>.
The kakoune default is `""`.
'';
};
@ -457,7 +457,7 @@ let
default = null;
description = ''
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 = [ ];
description = ''
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 = [ ];
description = ''
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;
default = false;
description = ''
Whether to configure <command>kak</command> as the default
editor using the <envar>EDITOR</envar> environment variable.
Whether to configure {command}`kak` as the default
editor using the {env}`EDITOR` environment variable.
'';
};
@ -644,7 +644,7 @@ in {
default = "";
description = ''
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 = ''
List of kakoune plugins to install. To get a list of
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;
visible = pkgs.stdenv.hostPlatform.isLinux;
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))
] ++ [ "\n" ]);
localeFormatOptions = let T = lib.types;
in mapAttrs (n: v:
v // {
description = v.description + ''
localeFormatOptions = let
T = lib.types;
suffix = ''
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;
in localeFormatOptions // {
unicode_symbols = {
unicode_symbols = mkOption {
type = T.bool;
default = true;
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.
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;
default = null;
description = ''
Default for new events or if khal does not understand the timezone
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;
default = null;
description = ''
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;
default = 0;
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" ];
default = "off";
description = ''
Enable weeknumbers in calendar and interactive (ikhal) mode.
As those are iso weeknumbers, they only work properly if firstweekday
is set to 0.
Enable week numbers in calendar and interactive (ikhal) mode.
As those are ISO week numbers, they only work properly if
{option}`firstweekday` is set to 0.
'';
};
};
@ -139,9 +148,7 @@ in {
options.programs.khal = {
enable = mkEnableOption "khal, a CLI calendar application";
locale = mkOption {
type = lib.types.submodule {
options = mapAttrs (n: v: mkOption v) localeOptions;
};
type = lib.types.submodule { options = localeOptions; };
description = ''
khal locale settings.
'';

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