diff --git a/third_party/nixpkgs/.editorconfig b/third_party/nixpkgs/.editorconfig
index 3c7962ab4d..a4f216d71a 100644
--- a/third_party/nixpkgs/.editorconfig
+++ b/third_party/nixpkgs/.editorconfig
@@ -60,6 +60,13 @@ indent_size = unset
[*.md]
trim_trailing_whitespace = unset
+# binaries
+[*.nib]
+end_of_line = unset
+insert_final_newline = unset
+trim_trailing_whitespace = unset
+charset = unset
+
[eggs.nix]
trim_trailing_whitespace = unset
diff --git a/third_party/nixpkgs/.git-blame-ignore-revs b/third_party/nixpkgs/.git-blame-ignore-revs
index 9564ce907f..bf350b0cf8 100644
--- a/third_party/nixpkgs/.git-blame-ignore-revs
+++ b/third_party/nixpkgs/.git-blame-ignore-revs
@@ -38,4 +38,4 @@ d08ede042b74b8199dc748323768227b88efcf7c
d1c1a0c656ccd8bd3b25d3c4287f2d075faf3cf3
# fix indentation in meteor default.nix
-f76b359e4a55267ddd4e9e149e7cc13ae5cad98a
+a37a6de881ec4c6708e6b88fd16256bbc7f26bbd
diff --git a/third_party/nixpkgs/.github/CODEOWNERS b/third_party/nixpkgs/.github/CODEOWNERS
index 659433b4e6..264305299f 100644
--- a/third_party/nixpkgs/.github/CODEOWNERS
+++ b/third_party/nixpkgs/.github/CODEOWNERS
@@ -122,8 +122,6 @@
# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
-/pkgs/build-support/rust @zowoq
-/doc/languages-frameworks/rust.section.md @zowoq
# C compilers
/pkgs/development/compilers/gcc @matthewbauer
diff --git a/third_party/nixpkgs/.github/labeler.yml b/third_party/nixpkgs/.github/labeler.yml
index 94dfec05c9..47ec892e22 100644
--- a/third_party/nixpkgs/.github/labeler.yml
+++ b/third_party/nixpkgs/.github/labeler.yml
@@ -7,6 +7,8 @@
"6.topic: cinnamon":
- pkgs/desktops/cinnamon/**/*
+ - nixos/modules/services/x11/desktop-managers/cinnamon.nix
+ - nixos/tests/cinnamon.nix
"6.topic: emacs":
- nixos/modules/services/editors/emacs.nix
diff --git a/third_party/nixpkgs/doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua b/third_party/nixpkgs/doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua
index 1c745393a0..5c1b034d07 100644
--- a/third_party/nixpkgs/doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua
+++ b/third_party/nixpkgs/doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua
@@ -31,6 +31,10 @@ function Code(elem)
tag = 'command'
elseif elem.attributes['role'] == 'option' then
tag = 'option'
+ elseif elem.attributes['role'] == 'var' then
+ tag = 'varname'
+ elseif elem.attributes['role'] == 'env' then
+ tag = 'envar'
end
if tag ~= nil then
diff --git a/third_party/nixpkgs/doc/builders/images/dockertools.section.md b/third_party/nixpkgs/doc/builders/images/dockertools.section.md
index 6fdd4b5cad..db1a2a214d 100644
--- a/third_party/nixpkgs/doc/builders/images/dockertools.section.md
+++ b/third_party/nixpkgs/doc/builders/images/dockertools.section.md
@@ -308,7 +308,44 @@ The parameters relative to the base image have the same synopsis as described in
The `name` argument is the name of the derivation output, which defaults to `fromImage.name`.
-## shadowSetup {#ssec-pkgs-dockerTools-shadowSetup}
+## Environment Helpers {#ssec-pkgs-dockerTools-helpers}
+
+Some packages expect certain files to be available globally.
+When building an image from scratch (i.e. without `fromImage`), these files are missing.
+`pkgs.dockerTools` provides some helpers to set up an environment with the necessary files.
+You can include them in `copyToRoot` like this:
+
+```nix
+buildImage {
+ name = "environment-example";
+ copyToRoot = with pkgs.dockerTools; [
+ usrBinEnv
+ binSh
+ caCertificates
+ fakeNss
+ ];
+}
+```
+
+### usrBinEnv {#sssec-pkgs-dockerTools-helpers-usrBinEnv}
+
+This provides the `env` utility at `/usr/bin/env`.
+
+### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
+
+This provides `bashInteractive` at `/bin/sh`.
+
+### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
+
+This sets up `/etc/ssl/certs/ca-certificates.crt`.
+
+### fakeNss {#sssec-pkgs-dockerTools-helpers-fakeNss}
+
+Provides `/etc/passwd` and `/etc/group` that contain root and nobody.
+Useful when packaging binaries that insist on using nss to look up
+username/groups (like nginx).
+
+### shadowSetup {#ssec-pkgs-dockerTools-shadowSetup}
This constant string is a helper for setting up the base files for managing users and groups, only if such files don't exist already. It is suitable for being used in a [`buildImage` `runAsRoot`](#ex-dockerTools-buildImage-runAsRoot) script for cases like in the example below:
diff --git a/third_party/nixpkgs/doc/contributing/coding-conventions.chapter.md b/third_party/nixpkgs/doc/contributing/coding-conventions.chapter.md
index 6473fa151a..585b8d3679 100644
--- a/third_party/nixpkgs/doc/contributing/coding-conventions.chapter.md
+++ b/third_party/nixpkgs/doc/contributing/coding-conventions.chapter.md
@@ -453,6 +453,9 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
}
```
+When fetching from GitHub, commits must always be referenced by their full commit hash. This is because GitHub shares commit hashes among all forks and returns `404 Not Found` when a short commit hash is ambiguous. It already happens for some short, 6-character commit hashes in `nixpkgs`.
+It is a practical vector for a denial-of-service attack by pushing large amounts of auto generated commits into forks and was already [demonstrated against GitHub Actions Beta](https://blog.teddykatz.com/2019/11/12/github-actions-dos.html).
+
Find the value to put as `sha256` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`.
## Obtaining source hash {#sec-source-hashes}
diff --git a/third_party/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md b/third_party/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
index db16f13b47..81482523cd 100644
--- a/third_party/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
+++ b/third_party/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
@@ -58,8 +58,10 @@ Additional syntax extensions are available, though not all extensions can be use
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` `` turns into {command}`rm -rfi`
- - `` {option}`networking.useDHCP` `` turns into {option}`networking.useDHCP`
+ - `` {env}`XDG_DATA_DIRS` `` turns into {env}`XDG_DATA_DIRS`
- `` {file}`/etc/passwd` `` turns into {file}`/etc/passwd`
+ - `` {option}`networking.useDHCP` `` turns into {option}`networking.useDHCP`
+ - `` {var}`/etc/passwd` `` turns into {var}`/etc/passwd`
These literal kinds are used mostly in NixOS option documentation.
diff --git a/third_party/nixpkgs/doc/contributing/submitting-changes.chapter.md b/third_party/nixpkgs/doc/contributing/submitting-changes.chapter.md
index d1aa701f0b..8e8ca8e19a 100644
--- a/third_party/nixpkgs/doc/contributing/submitting-changes.chapter.md
+++ b/third_party/nixpkgs/doc/contributing/submitting-changes.chapter.md
@@ -246,7 +246,7 @@ The `staging` branch is a development branch where mass-rebuilds go. Mass rebuil
### Staging-next branch {#submitting-changes-staging-next-branch}
-The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master ` branch.
+The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master` branch.
If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
diff --git a/third_party/nixpkgs/doc/languages-frameworks/python.section.md b/third_party/nixpkgs/doc/languages-frameworks/python.section.md
index 7fb8ba2e7c..bde4183a65 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/python.section.md
@@ -734,6 +734,63 @@ work in any of the formats supported by `buildPythonPackage` currently,
with the exception of `other` (see `format` in
[`buildPythonPackage` parameters](#buildpythonpackage-parameters) for more details).
+### Using unittestCheckHook {#using-unittestcheckhook}
+
+`unittestCheckHook` is a hook which will substitute the setuptools `test` command for a `checkPhase` which runs `python -m unittest discover`:
+
+```
+ checkInputs = [ unittestCheckHook ];
+
+ unittestFlags = [ "-s" "tests" "-v" ];
+```
+
+##### Using sphinxHook {#using-sphinxhook}
+
+The `sphinxHook` is a helpful tool to build documentation and manpages
+using the popular Sphinx documentation generator.
+It is setup to automatically find common documentation source paths and
+render them using the default `html` style.
+
+```
+ outputs = [
+ "out"
+ "doc"
+ ];
+
+ nativeBuildInputs = [
+ sphinxHook
+ ];
+```
+
+The hook will automatically build and install the artifact into the
+`doc` output, if it exists. It also provides an automatic diversion
+for the artifacts of the `man` builder into the `man` target.
+
+```
+ outputs = [
+ "out"
+ "doc"
+ "man"
+ ];
+
+ # Use multiple builders
+ sphinxBuilders = [
+ "singlehtml"
+ "man"
+ ];
+```
+
+Overwrite `sphinxRoot` when the hook is unable to find your
+documentation source root.
+
+```
+ # Configure sphinxRoot for uncommon paths
+ sphinxRoot = "weird/docs/path";
+```
+
+The hook is also available to packages outside the python ecosystem by
+referencing it using `python3.pkgs.sphinxHook`.
+
### Develop local package {#develop-local-package}
As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode)
@@ -1260,16 +1317,18 @@ are used in `buildPythonPackage`.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to check whether a Python package is not already existing.
- `pythonImportsCheckHook` to check whether importing the listed modules works.
+- `pythonRelaxDepsHook` will relax Python dependencies restrictions for the package.
+ See [example usage](#using-pythonrelaxdepshook).
- `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder.
- `setuptoolsBuildHook` to build a wheel using `setuptools`.
- `setuptoolsCheckHook` to run tests with `python setup.py test`.
+- `sphinxHook` to build documentation and manpages using Sphinx.
- `venvShellHook` to source a Python 3 `venv` at the `venvDir` location. A
`venv` is created if it does not yet exist. `postVenvCreation` can be used to
to run commands only after venv is first created.
- `wheelUnpackHook` to move a wheel to the correct folder so it can be installed
with the `pipInstallHook`.
-- `pythonRelaxDepsHook` will relax Python dependencies restrictions for the package.
- See [example usage](#using-pythonrelaxdepshook).
+- `unittestCheckHook` will run tests with `python -m unittest discover`. See [example usage](#using-unittestcheckhook).
### Development mode {#development-mode}
diff --git a/third_party/nixpkgs/doc/languages-frameworks/rust.section.md b/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
index e19783e29e..0d4d5a1e83 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -458,7 +458,7 @@ you of the correct hash.
`maturinBuildFlags`.
* `cargoCheckHook`: run tests using Cargo. The build type for checks
can be set using `cargoCheckType`. Features can be specified with
- `cargoCheckNoDefaultFeaatures` and `cargoCheckFeatures`. Additional
+ `cargoCheckNoDefaultFeatures` and `cargoCheckFeatures`. Additional
flags can be passed to the tests using `checkFlags` and
`checkFlagsArray`. By default, tests are run in parallel. This can
be disabled by setting `dontUseCargoParallelTests`.
diff --git a/third_party/nixpkgs/doc/stdenv/meta.chapter.md b/third_party/nixpkgs/doc/stdenv/meta.chapter.md
index 475006b125..51ad29b4b1 100644
--- a/third_party/nixpkgs/doc/stdenv/meta.chapter.md
+++ b/third_party/nixpkgs/doc/stdenv/meta.chapter.md
@@ -80,7 +80,7 @@ Right: `"A library for decoding PNG images"`
### `longDescription` {#var-meta-longDescription}
-An arbitrarily long description of the package.
+An arbitrarily long description of the package in [CommonMark](https://commonmark.org) Markdown.
### `branch` {#var-meta-branch}
diff --git a/third_party/nixpkgs/doc/stdenv/stdenv.chapter.md b/third_party/nixpkgs/doc/stdenv/stdenv.chapter.md
index fa61973263..93351ce1bd 100644
--- a/third_party/nixpkgs/doc/stdenv/stdenv.chapter.md
+++ b/third_party/nixpkgs/doc/stdenv/stdenv.chapter.md
@@ -452,6 +452,8 @@ The list of source files or directories to be unpacked or copied. One of these m
After running `unpackPhase`, the generic builder changes the current directory to the directory created by unpacking the sources. If there are multiple source directories, you should set `sourceRoot` to the name of the intended directory. Set `sourceRoot = ".";` if you use `srcs` and control the unpack phase yourself.
+By default the `sourceRoot` is set to `"source"`. If you want to point to a sub-directory inside your project, you therefore need to set `sourceRoot = "source/my-sub-directory"`.
+
##### `setSourceRoot` {#var-stdenv-setSourceRoot}
Alternatively to setting `sourceRoot`, you can set `setSourceRoot` to a shell command to be evaluated by the unpack phase after the sources have been unpacked. This command must set `sourceRoot`.
diff --git a/third_party/nixpkgs/lib/licenses.nix b/third_party/nixpkgs/lib/licenses.nix
index 56299612a0..6eeba6588b 100644
--- a/third_party/nixpkgs/lib/licenses.nix
+++ b/third_party/nixpkgs/lib/licenses.nix
@@ -148,6 +148,11 @@ in mkLicense lset) ({
fullName = ''BSD 4-clause "Original" or "Old" License'';
};
+ bsdOriginalShortened = {
+ spdxId = "BSD-4-Clause-Shortened";
+ fullName = "BSD 4 Clause Shortened";
+ };
+
bsdOriginalUC = {
spdxId = "BSD-4-Clause-UC";
fullName = "BSD 4-Clause University of California-Specific";
@@ -693,6 +698,11 @@ in mkLicense lset) ({
fullName = "SIL Open Font License 1.1";
};
+ oml = {
+ spdxId = "OML";
+ fullName = "Open Market License";
+ };
+
openldap = {
spdxId = "OLDAP-2.8";
fullName = "Open LDAP Public License v2.8";
@@ -824,6 +834,11 @@ in mkLicense lset) ({
fullName = "TCL/TK License";
};
+ ucd = {
+ fullName = "Unicode Character Database License";
+ url = "https://fedoraproject.org/wiki/Licensing:UCD";
+ };
+
ufl = {
fullName = "Ubuntu Font License 1.0";
url = "https://ubuntu.com/legal/font-licence";
@@ -878,6 +893,11 @@ in mkLicense lset) ({
free = false;
};
+ vol-sl = {
+ fullName = "Volatility Software License, Version 1.0";
+ url = "https://www.volatilityfoundation.org/license/vsl-v1.0";
+ };
+
vsl10 = {
spdxId = "VSL-1.0";
fullName = "Vovida Software License v1.0";
diff --git a/third_party/nixpkgs/lib/minver.nix b/third_party/nixpkgs/lib/minver.nix
index 86391bcd69..507d45bba4 100644
--- a/third_party/nixpkgs/lib/minver.nix
+++ b/third_party/nixpkgs/lib/minver.nix
@@ -1,2 +1,2 @@
# Expose the minimum required version for evaluating Nixpkgs
-"2.2"
+"2.3"
diff --git a/third_party/nixpkgs/lib/modules.nix b/third_party/nixpkgs/lib/modules.nix
index 7f1646e9b8..d3a7fac82c 100644
--- a/third_party/nixpkgs/lib/modules.nix
+++ b/third_party/nixpkgs/lib/modules.nix
@@ -163,84 +163,50 @@ rec {
# TODO: Change the type of this option to a submodule with a
# freeformType, so that individual arguments can be documented
# separately
- description = ''
+ description = lib.mdDoc ''
Additional arguments passed to each module in addition to ones
- like lib, config,
- and pkgs, modulesPath.
-
-
+ like `lib`, `config`,
+ and `pkgs`, `modulesPath`.
+
This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to
their parent module or sibling submodules. The sole exception to
- this is the argument name which is provided by
+ this is the argument `name` which is provided by
parent modules to a submodule and contains the attribute name
the submodule is bound to, or a unique generated name if it is
not bound to an attribute.
-
-
+
Some arguments are already passed by default, of which the
- following cannot be changed with this option:
-
-
-
- lib: The nixpkgs library.
-
-
-
-
- config: The results of all options after merging the values from all modules together.
-
-
-
-
- options: The options declared in all modules.
-
-
-
-
- specialArgs: The specialArgs argument passed to evalModules.
-
-
-
-
- All attributes of specialArgs
-
-
- Whereas option values can generally depend on other option values
- thanks to laziness, this does not apply to imports, which
- must be computed statically before anything else.
-
-
- For this reason, callers of the module system can provide specialArgs
- which are available during import resolution.
-
-
- For NixOS, specialArgs includes
- modulesPath, which allows you to import
- extra modules from the nixpkgs package tree without having to
- somehow make the module aware of the location of the
- nixpkgs or NixOS directories.
-
- { modulesPath, ... }: {
- imports = [
- (modulesPath + "/profiles/minimal.nix")
- ];
- }
-
-
-
-
-
-
+ following *cannot* be changed with this option:
+ - {var}`lib`: The nixpkgs library.
+ - {var}`config`: The results of all options after merging the values from all modules together.
+ - {var}`options`: The options declared in all modules.
+ - {var}`specialArgs`: The `specialArgs` argument passed to `evalModules`.
+ - All attributes of {var}`specialArgs`
+
+ Whereas option values can generally depend on other option values
+ thanks to laziness, this does not apply to `imports`, which
+ must be computed statically before anything else.
+
+ For this reason, callers of the module system can provide `specialArgs`
+ which are available during import resolution.
+
+ For NixOS, `specialArgs` includes
+ {var}`modulesPath`, which allows you to import
+ extra modules from the nixpkgs package tree without having to
+ somehow make the module aware of the location of the
+ `nixpkgs` or NixOS directories.
+ ```
+ { modulesPath, ... }: {
+ imports = [
+ (modulesPath + "/profiles/minimal.nix")
+ ];
+ }
+ ```
+
For NixOS, the default value for this option includes at least this argument:
-
-
-
- pkgs: The nixpkgs package set according to
- the option.
-
-
-
+ - {var}`pkgs`: The nixpkgs package set according to
+ the {option}`nixpkgs.pkgs` option.
'';
};
@@ -248,21 +214,21 @@ rec {
type = types.bool;
internal = true;
default = true;
- description = "Whether to check whether all option definitions have matching declarations.";
+ description = lib.mdDoc "Whether to check whether all option definitions have matching declarations.";
};
_module.freeformType = mkOption {
type = types.nullOr types.optionType;
internal = true;
default = null;
- description = ''
+ description = lib.mdDoc ''
If set, merge all definitions that don't have an associated option
together using this type. The result then gets combined with the
- values of all declared options to produce the final
- config value.
+ values of all declared options to produce the final `
+ config` value.
- If this is null, definitions without an option
- will throw an error unless is
+ If this is `null`, definitions without an option
+ will throw an error unless {option}`_module.check` is
turned off.
'';
};
@@ -270,7 +236,7 @@ rec {
_module.specialArgs = mkOption {
readOnly = true;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Externally provided module arguments that can't be modified from
within a configuration, but can be used in module imports.
'';
@@ -433,7 +399,9 @@ rec {
# modules recursively. It returns the final list of unique-by-key modules
filterModules = modulesPath: { disabled, modules }:
let
- moduleKey = m: if isString m then toString modulesPath + "/" + m else toString m;
+ moduleKey = m: if isString m && (builtins.substring 0 1 m != "/")
+ then toString modulesPath + "/" + m
+ else toString m;
disabledKeys = map moduleKey disabled;
keyFilter = filter (attrs: ! elem attrs.key disabledKeys);
in map (attrs: attrs.module) (builtins.genericClosure {
@@ -1167,7 +1135,7 @@ rec {
{
options = setAttrByPath from (mkOption {
inherit visible;
- description = "Alias of .";
+ description = lib.mdDoc "Alias of {option}`${showOption to}`.";
apply = x: use (toOf config);
} // optionalAttrs (toType != null) {
type = toType;
diff --git a/third_party/nixpkgs/lib/options.nix b/third_party/nixpkgs/lib/options.nix
index 84d9fd5e15..a56e579ab8 100644
--- a/third_party/nixpkgs/lib/options.nix
+++ b/third_party/nixpkgs/lib/options.nix
@@ -95,7 +95,10 @@ rec {
name: mkOption {
default = false;
example = true;
- description = "Whether to enable ${name}.";
+ description =
+ if name ? _type && name._type == "mdDoc"
+ then lib.mdDoc "Whether to enable ${name.text}."
+ else "Whether to enable ${name}.";
type = lib.types.bool;
};
@@ -134,7 +137,7 @@ rec {
let default' = if !isList default then [ default ] else default;
in mkOption {
type = lib.types.package;
- description = "The ${name} package to use.";
+ description = lib.mdDoc "The ${name} package to use.";
default = attrByPath default'
(throw "${concatStringsSep "." default'} cannot be found in pkgs") pkgs;
defaultText = literalExpression ("pkgs." + concatStringsSep "." default');
diff --git a/third_party/nixpkgs/lib/systems/default.nix b/third_party/nixpkgs/lib/systems/default.nix
index 2990afde3e..1e65bcc267 100644
--- a/third_party/nixpkgs/lib/systems/default.nix
+++ b/third_party/nixpkgs/lib/systems/default.nix
@@ -65,11 +65,17 @@ rec {
# is why we use the more obscure "bfd" and not "binutils" for this
# choice.
else "bfd";
- extensions = {
+ extensions = rec {
sharedLibrary =
/**/ if final.isDarwin then ".dylib"
else if final.isWindows then ".dll"
else ".so";
+ staticLibrary =
+ /**/ if final.isWindows then ".lib"
+ else ".a";
+ library =
+ /**/ if final.isStatic then staticLibrary
+ else sharedLibrary;
executable =
/**/ if final.isWindows then ".exe"
else "";
@@ -93,7 +99,7 @@ rec {
genode = "Genode";
}.${final.parsed.kernel.name} or null;
- # uname -p
+ # uname -m
processor = final.parsed.cpu.name;
# uname -r
@@ -115,6 +121,8 @@ rec {
else if final.isAarch64 then "arm64"
else if final.isx86_32 then "i386"
else if final.isx86_64 then "x86_64"
+ # linux kernel does not distinguish microblaze/microblazeel
+ else if final.isMicroBlaze then "microblaze"
else if final.isMips32 then "mips"
else if final.isMips64 then "mips" # linux kernel does not distinguish mips32/mips64
else if final.isPower then "powerpc"
diff --git a/third_party/nixpkgs/lib/systems/doubles.nix b/third_party/nixpkgs/lib/systems/doubles.nix
index 90a6eb9f35..709b67607f 100644
--- a/third_party/nixpkgs/lib/systems/doubles.nix
+++ b/third_party/nixpkgs/lib/systems/doubles.nix
@@ -26,9 +26,10 @@ let
# Linux
"aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
- "armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux" "mips64el-linux"
- "powerpc64-linux" "powerpc64le-linux" "riscv32-linux"
- "riscv64-linux" "s390-linux" "s390x-linux" "x86_64-linux"
+ "armv7l-linux" "i686-linux" "m68k-linux" "microblaze-linux"
+ "microblazeel-linux" "mipsel-linux" "mips64el-linux" "powerpc64-linux"
+ "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "s390-linux"
+ "s390x-linux" "x86_64-linux"
# MMIXware
"mmix-mmixware"
@@ -40,9 +41,9 @@ let
# none
"aarch64_be-none" "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
- "msp430-none" "or1k-none" "m68k-none" "powerpc-none" "powerpcle-none"
- "riscv32-none" "riscv64-none" "rx-none" "s390-none" "s390x-none" "vc4-none"
- "x86_64-none"
+ "microblaze-none" "microblazeel-none" "msp430-none" "or1k-none" "m68k-none"
+ "powerpc-none" "powerpcle-none" "riscv32-none" "riscv64-none" "rx-none"
+ "s390-none" "s390x-none" "vc4-none" "x86_64-none"
# OpenBSD
"i686-openbsd" "x86_64-openbsd"
@@ -71,6 +72,7 @@ in {
x86 = filterDoubles predicates.isx86;
i686 = filterDoubles predicates.isi686;
x86_64 = filterDoubles predicates.isx86_64;
+ microblaze = filterDoubles predicates.isMicroBlaze;
mips = filterDoubles predicates.isMips;
mmix = filterDoubles predicates.isMmix;
riscv = filterDoubles predicates.isRiscV;
@@ -94,7 +96,9 @@ in {
++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; })
++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; })
++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabin32; })
- ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabi64; });
+ ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabi64; })
+ ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabielfv1; })
+ ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabielfv2; });
illumos = filterDoubles predicates.isSunOS;
linux = filterDoubles predicates.isLinux;
netbsd = filterDoubles predicates.isNetBSD;
diff --git a/third_party/nixpkgs/lib/systems/examples.nix b/third_party/nixpkgs/lib/systems/examples.nix
index 65dc9c07e3..0d9f670377 100644
--- a/third_party/nixpkgs/lib/systems/examples.nix
+++ b/third_party/nixpkgs/lib/systems/examples.nix
@@ -22,12 +22,11 @@ rec {
};
ppc64 = {
- config = "powerpc64-unknown-linux-gnu";
- gcc = { abi = "elfv2"; }; # for gcc configuration
+ config = "powerpc64-unknown-linux-gnuabielfv2";
};
ppc64-musl = {
config = "powerpc64-unknown-linux-musl";
- gcc = { abi = "elfv2"; }; # for gcc configuration
+ gcc = { abi = "elfv2"; };
};
sheevaplug = {
diff --git a/third_party/nixpkgs/lib/systems/inspect.nix b/third_party/nixpkgs/lib/systems/inspect.nix
index dbffca0300..ee213438e0 100644
--- a/third_party/nixpkgs/lib/systems/inspect.nix
+++ b/third_party/nixpkgs/lib/systems/inspect.nix
@@ -13,10 +13,18 @@ rec {
isx86_64 = { cpu = { family = "x86"; bits = 64; }; };
isPower = { cpu = { family = "power"; }; };
isPower64 = { cpu = { family = "power"; bits = 64; }; };
+ # This ABI is the default in NixOS PowerPC64 BE, but not on mainline GCC,
+ # so it sometimes causes issues in certain packages that makes the wrong
+ # assumption on the used ABI.
+ isAbiElfv2 = [
+ { abi = { abi = "elfv2"; }; }
+ { abi = { name = "musl"; }; cpu = { family = "power"; bits = 64; }; }
+ ];
isx86 = { cpu = { family = "x86"; }; };
isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
isAarch = { cpu = { family = "arm"; }; };
+ isMicroBlaze = { cpu = { family = "microblaze"; }; };
isMips = { cpu = { family = "mips"; }; };
isMips32 = { cpu = { family = "mips"; bits = 32; }; };
isMips64 = { cpu = { family = "mips"; bits = 64; }; };
@@ -64,7 +72,7 @@ rec {
isNone = { kernel = kernels.none; };
isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ];
- isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf ];
+ isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf gnuabielfv1 gnuabielfv2 ];
isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf muslabin32 muslabi64 ];
isUClibc = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
diff --git a/third_party/nixpkgs/lib/systems/parse.nix b/third_party/nixpkgs/lib/systems/parse.nix
index 9d2571c993..ac450534fe 100644
--- a/third_party/nixpkgs/lib/systems/parse.nix
+++ b/third_party/nixpkgs/lib/systems/parse.nix
@@ -88,6 +88,9 @@ rec {
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i686"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; arch = "x86-64"; };
+ microblaze = { bits = 32; significantByte = bigEndian; family = "microblaze"; };
+ microblazeel = { bits = 32; significantByte = littleEndian; family = "microblaze"; };
+
mips = { bits = 32; significantByte = bigEndian; family = "mips"; };
mipsel = { bits = 32; significantByte = littleEndian; family = "mips"; };
mips64 = { bits = 64; significantByte = bigEndian; family = "mips"; };
@@ -350,6 +353,11 @@ rec {
The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
'';
}
+ { assertion = platform: with platform; !(isPower64 && isBigEndian);
+ message = ''
+ The "gnu" ABI is ambiguous on big-endian 64-bit PowerPC. Use "gnuabielfv2" or "gnuabielfv1" instead.
+ '';
+ }
];
};
gnuabi64 = { abi = "64"; };
@@ -361,6 +369,9 @@ rec {
gnuabin32 = { abi = "n32"; };
muslabin32 = { abi = "n32"; };
+ gnuabielfv2 = { abi = "elfv2"; };
+ gnuabielfv1 = { abi = "elfv1"; };
+
musleabi = { float = "soft"; };
musleabihf = { float = "hard"; };
musl = {};
@@ -464,6 +475,8 @@ rec {
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
then abis.gnueabihf
else abis.gnueabi
+ # Default ppc64 BE to ELFv2
+ else if isPower64 parsed && isBigEndian parsed then abis.gnuabielfv2
else abis.gnu
else abis.unknown;
};
diff --git a/third_party/nixpkgs/lib/tests/modules.sh b/third_party/nixpkgs/lib/tests/modules.sh
index c92cc62023..2ef7c48065 100755
--- a/third_party/nixpkgs/lib/tests/modules.sh
+++ b/third_party/nixpkgs/lib/tests/modules.sh
@@ -130,6 +130,7 @@ checkConfigOutput '^true$' "$@" ./define-enable.nix ./define-attrsOfSub-foo-enab
set -- config.enable ./define-enable.nix ./declare-enable.nix
checkConfigOutput '^true$' "$@"
checkConfigOutput '^false$' "$@" ./disable-define-enable.nix
+checkConfigOutput '^false$' "$@" ./disable-define-enable-string-path.nix
checkConfigError "The option .*enable.* does not exist. Definition values:\n\s*- In .*: true" "$@" ./disable-declare-enable.nix
checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-define-enable.nix ./disable-declare-enable.nix
checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-enable-modules.nix
diff --git a/third_party/nixpkgs/lib/tests/modules/disable-define-enable-string-path.nix b/third_party/nixpkgs/lib/tests/modules/disable-define-enable-string-path.nix
new file mode 100644
index 0000000000..6429a6d635
--- /dev/null
+++ b/third_party/nixpkgs/lib/tests/modules/disable-define-enable-string-path.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+{
+ disabledModules = [ (toString ./define-enable.nix) ];
+}
diff --git a/third_party/nixpkgs/lib/tests/systems.nix b/third_party/nixpkgs/lib/tests/systems.nix
index 46e7bd992f..4175dc6884 100644
--- a/third_party/nixpkgs/lib/tests/systems.nix
+++ b/third_party/nixpkgs/lib/tests/systems.nix
@@ -31,7 +31,7 @@ with lib.systems.doubles; lib.runTests {
testredox = mseteq redox [ "x86_64-redox" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
testillumos = mseteq illumos [ "x86_64-solaris" ];
- testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mips64el-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" "s390x-linux" ];
+ testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mips64el-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" "s390x-linux" "microblaze-linux" "microblazeel-linux" ];
testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ];
testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
diff --git a/third_party/nixpkgs/maintainers/maintainer-list.nix b/third_party/nixpkgs/maintainers/maintainer-list.nix
index 4db1f6d80e..c429c50b98 100644
--- a/third_party/nixpkgs/maintainers/maintainer-list.nix
+++ b/third_party/nixpkgs/maintainers/maintainer-list.nix
@@ -115,6 +115,12 @@
githubId = 7414843;
name = "Nicholas von Klitzing";
};
+ _360ied = {
+ name = "Brian Zhu";
+ email = "therealbarryplayer@gmail.com";
+ github = "360ied";
+ githubId = 19516527;
+ };
_13r0ck = {
name = "Brock Szuszczewicz";
email = "bnr@tuta.io";
@@ -133,6 +139,16 @@
githubId = 1714287;
name = "Owen Shepherd";
};
+ _4825764518 = {
+ email = "4825764518@purelymail.com";
+ matrix = "@kenzie:matrix.kenzi.dev";
+ github = "4825764518";
+ githubId = 100122841;
+ name = "Kenzie";
+ keys = [{
+ fingerprint = "D292 365E 3C46 A5AA 75EE B30B 78DB 7EDE 3540 794B";
+ }];
+ };
_6AA4FD = {
email = "f6442954@gmail.com";
github = "6AA4FD";
@@ -309,6 +325,12 @@
githubId = 1174858;
name = "Maxwell Huang-Hobbs";
};
+ adjacentresearch = {
+ email = "nate@adjacentresearch.xyz";
+ github = "0xperp";
+ githubId = 96147421;
+ name = "0xperp";
+ };
adnelson = {
email = "ithinkican@gmail.com";
github = "adnelson";
@@ -478,6 +500,15 @@
github = "akho";
githubId = 104951;
};
+ akkesm = {
+ name = "Alessandro Barenghi";
+ email = "alessandro.barenghi@tuta.io";
+ github = "akkesm";
+ githubId = 56970006;
+ keys = [{
+ fingerprint = "50E2 669C AB38 2F4A 5F72 1667 0D6B FC01 D45E DADD";
+ }];
+ };
akru = {
email = "mail@akru.me";
github = "akru";
@@ -810,6 +841,12 @@
githubId = 7112447;
name = "Andre S. Ramos";
};
+ andrevmatos = {
+ email = "andrevmatos@gmail.com";
+ github = "andrevmatos";
+ githubId = 587021;
+ name = "André V L Matos";
+ };
andrew-d = {
email = "andrew@du.nham.ca";
github = "andrew-d";
@@ -1411,6 +1448,12 @@
githubId = 35324;
name = "Badi' Abdul-Wahid";
};
+ baitinq = {
+ email = "manuelpalenzuelamerino@gmail.com";
+ name = "Baitinq";
+ github = "Baitinq";
+ githubId = 30861839;
+ };
balodja = {
email = "balodja@gmail.com";
github = "balodja";
@@ -2028,6 +2071,12 @@
githubId = 1516457;
name = "Christian Albrecht";
};
+ CactiChameleon9 = {
+ email = "h19xjkkp@duck.com";
+ github = "CactiChameleon9";
+ githubId = 51231053;
+ name = "Daniel";
+ };
callahad = {
email = "dan.callahan@gmail.com";
github = "callahad";
@@ -2598,6 +2647,12 @@
githubId = 244239;
name = "Mauricio Collares";
};
+ CompEng0001 = {
+ email = "sb1501@canterbury.ac.uk";
+ github = "CompEng0001";
+ githubId = 40290417;
+ name = "Seb Blair";
+ };
copumpkin = {
email = "pumpkingod@gmail.com";
github = "copumpkin";
@@ -2913,7 +2968,7 @@
danth = {
name = "Daniel Thwaites";
email = "danthwaites30@btinternet.com";
- matrix = "@danth:pwak.org";
+ matrix = "@danth:danth.me";
github = "danth";
githubId = 28959268;
keys = [{
@@ -3091,6 +3146,12 @@
github = "delan";
githubId = 465303;
};
+ delehef = {
+ name = "Franklin Delehelle";
+ email = "nix@odena.eu";
+ github = "delehef";
+ githubId = 1153808;
+ };
deliciouslytyped = {
email = "47436522+deliciouslytyped@users.noreply.github.com";
github = "deliciouslytyped";
@@ -4322,6 +4383,12 @@
githubId = 415760;
name = "Jonas Höglund";
};
+ firefly-cpp = {
+ email = "iztok@iztok-jr-fister.eu";
+ github = "firefly-cpp";
+ githubId = 1633361;
+ name = "Iztok Fister Jr.";
+ };
fishi0x01 = {
email = "fishi0x01@gmail.com";
github = "fishi0x01";
@@ -4416,6 +4483,12 @@
githubId = 74379;
name = "Florian Pester";
};
+ fmoda3 = {
+ email = "fmoda3@mac.com";
+ github = "fmoda3";
+ githubId = 1746471;
+ name = "Frank Moda III";
+ };
fmthoma = {
email = "f.m.thoma@googlemail.com";
github = "fmthoma";
@@ -4851,6 +4924,15 @@
fingerprint = "5214 2D39 A7CE F8FA 872B CA7F DE62 E1E2 A614 5556";
}];
};
+ gp2112 = {
+ email = "me@guip.dev";
+ github = "gp2112";
+ githubId = 26512375;
+ name = "Guilherme Paixão";
+ keys = [{
+ fingerprint = "4382 7E28 86E5 C34F 38D5 7753 8C81 4D62 5FBD 99D1";
+ }];
+ };
gpanders = {
name = "Gregory Anders";
email = "greg@gpanders.com";
@@ -4860,6 +4942,12 @@
fingerprint = "B9D5 0EDF E95E ECD0 C135 00A9 56E9 3C2F B6B0 8BDB";
}];
};
+ gpl = {
+ email = "nixos-6c64ce18-bbbc-414f-8dcb-f9b6b47fe2bc@isopleth.org";
+ github = "gpl";
+ githubId = 39648069;
+ name = "isogram";
+ };
gpyh = {
email = "yacine.hmito@gmail.com";
github = "yacinehmito";
@@ -5490,6 +5578,12 @@
githubId = 1550265;
name = "Dominic Steinitz";
};
+ ifurther = {
+ email = "55025025+ifurther@users.noreply.github.com";
+ github = "ifurther";
+ githubId = 55025025;
+ name = "Feather Lin";
+ };
igsha = {
email = "igor.sharonov@gmail.com";
github = "igsha";
@@ -5601,6 +5695,16 @@
githubId = 510202;
name = "Ismaël Bouya";
};
+ impl = {
+ email = "noah@noahfontes.com";
+ matrix = "@impl:matrix.org";
+ github = "impl";
+ githubId = 41129;
+ name = "Noah Fontes";
+ keys = [{
+ fingerprint = "F5B2 BE1B 9AAD 98FE 2916 5597 3665 FFF7 9D38 7BAA";
+ }];
+ };
imsofi = {
email = "sofi+git@mailbox.org";
github = "imsofi";
@@ -5769,6 +5873,16 @@
github = "jacg";
githubId = 2570854;
};
+ jakehamilton = {
+ name = "Jake Hamilton";
+ email = "jake.hamilton@hey.com";
+ matrix = "@jakehamilton:matrix.org";
+ github = "jakehamilton";
+ githubId = 7005773;
+ keys = [{
+ fingerprint = "B982 0250 1720 D540 6A18 2DA8 188E 4945 E85B 2D21";
+ }];
+ };
jasoncarr = {
email = "jcarr250@gmail.com";
github = "jasoncarr0";
@@ -6456,6 +6570,12 @@
githubId = 752510;
name = "Martin Potier";
};
+ jqqqqqqqqqq = {
+ email = "jqqqqqqqqqq@gmail.com";
+ github = "jqqqqqqqqqq";
+ githubId = 12872927;
+ name = "Curtis Jiang";
+ };
jqueiroz = {
email = "nixos@johnjq.com";
github = "jqueiroz";
@@ -6528,6 +6648,12 @@
githubId = 705123;
name = "Jan Tojnar";
};
+ jtrees = {
+ email = "me@jtrees.io";
+ github = "jtrees";
+ githubId = 5802758;
+ name = "Joshua Trees";
+ };
juaningan = {
email = "juaningan@gmail.com";
github = "uningan";
@@ -6979,12 +7105,6 @@
fingerprint = "8992 44FC D291 5CA2 0A97 802C 156C 88A5 B0A0 4B2A";
}];
};
- kiyengar = {
- email = "hello@kiyengar.net";
- github = "karthikiyengar";
- githubId = 8260207;
- name = "Karthik Iyengar";
- };
kjeremy = {
email = "kjeremy@gmail.com";
name = "Jeremy Kolb";
@@ -8034,11 +8154,11 @@
name = "Michael Fellinger";
};
maralorn = {
- email = "malte.brandy@maralorn.de";
+ email = "mail@maralorn.de";
matrix = "@maralorn:maralorn.de";
github = "maralorn";
githubId = 1651325;
- name = "Malte Brandy";
+ name = "maralorn";
};
marcweber = {
email = "marco-oweber@gmx.de";
@@ -8587,6 +8707,12 @@
fingerprint = "FEF0 AE2D 5449 3482 5F06 40AA 186A 1EDA C5C6 3F83";
}];
};
+ mightyiam = {
+ email = "mightyiampresence@gmail.com";
+ github = "mightyiam";
+ githubId = 635591;
+ name = "Shahar Dawn Or";
+ };
mihnea-s = {
email = "mihn.stn@gmail.com";
github = "mihnea-s";
@@ -8935,7 +9061,7 @@
name = "Millian Poquet";
};
mpscholten = {
- email = "marc@mpscholten.de";
+ email = "marc@digitallyinduced.com";
github = "mpscholten";
githubId = 2072185;
name = "Marc Scholten";
@@ -9646,6 +9772,12 @@
github = "numkem";
githubId = 332423;
};
+ nviets = {
+ email = "nathan.g.viets@gmail.com";
+ github = "nviets";
+ githubId = 16027994;
+ name = "Nathan Viets";
+ };
nyanloutre = {
email = "paul@nyanlout.re";
github = "nyanloutre";
@@ -9686,6 +9818,12 @@
githubId = 3359345;
name = "obadz";
};
+ oberblastmeister = {
+ email = "littlebubu.shu@gmail.com";
+ github = "oberblastmeister";
+ githubId = 61095988;
+ name = "Brian Shu";
+ };
obsidian-systems-maintenance = {
name = "Obsidian Systems Maintenance";
email = "maintainer@obsidian.systems";
@@ -10171,6 +10309,15 @@
githubId = 29493551;
name = "Josh Peters";
};
+ peterwilli = {
+ email = "peter@codebuffet.co";
+ github = "peterwilli";
+ githubId = 1212814;
+ name = "Peter Willemsen";
+ keys = [{
+ fingerprint = "A37F D403 88E2 D026 B9F6 9617 5C9D D4BF B96A 28F0";
+ }];
+ };
peti = {
email = "simons@cryp.to";
github = "peti";
@@ -10942,6 +11089,12 @@
githubId = 7226587;
name = "Théophane Hufschmitt";
};
+ rehno-lindeque = {
+ email = "rehno.lindeque+code@gmail.com";
+ github = "rehno-lindeque";
+ githubId = 337811;
+ name = "Rehno Lindeque";
+ };
relrod = {
email = "ricky@elrod.me";
github = "relrod";
@@ -11518,6 +11671,12 @@
fingerprint = "AE8C 0836 FDF6 3FFC 9580 C588 B156 8953 B193 9F1C";
}];
};
+ samlukeyes123 = {
+ email = "samlukeyes123@gmail.com";
+ github = "SamLukeYes";
+ githubId = 12882091;
+ name = "Sam L. Yes";
+ };
samrose = {
email = "samuel.rose@gmail.com";
github = "samrose";
@@ -11636,6 +11795,12 @@
githubId = 3958212;
name = "Tom Sorlie";
};
+ sioodmy = {
+ name = "Antoni Sokołowski";
+ email = "81568712+sioodmy@users.noreply.github.com";
+ github = "sioodmy";
+ githubId = 81568712;
+ };
schmitthenner = {
email = "development@schmitthenner.eu";
github = "fkz";
@@ -13049,6 +13214,12 @@
githubId = 3268082;
name = "Thibaut Marty";
};
+ thyol = {
+ name = "thyol";
+ email = "thyol@pm.me";
+ github = "thyol";
+ githubId = 81481634;
+ };
thmzlt = {
email = "git@thomazleite.com";
github = "thmzlt";
@@ -13500,6 +13671,15 @@
fingerprint = "EE59 5E29 BB5B F2B3 5ED2 3F1C D276 FF74 6700 7335";
}];
};
+ unhammer = {
+ email = "unhammer@fsfe.org";
+ github = "unhammer";
+ githubId = 56868;
+ name = "Kevin Brubeck Unhammer";
+ keys = [{
+ fingerprint = "50D4 8796 0B86 3F05 4B6A 12F9 7426 06DE 766A C60C";
+ }];
+ };
uniquepointer = {
email = "uniquepointer@mailbox.org";
matrix = "@uniquepointer:matrix.org";
@@ -13704,6 +13884,15 @@
githubId = 245573;
name = "Dmitry Kalinkin";
};
+ victormignot = {
+ email = "victor.mignot@protonmail.com";
+ github = "victormignot";
+ githubId = 58660971;
+ name = "Victor Mignot";
+ keys = [{
+ fingerprint = "CA5D F91A D672 683A 1F65 BBC9 0317 096D 20E0 067B";
+ }];
+ };
vidbina = {
email = "vid@bina.me";
github = "vidbina";
@@ -13964,6 +14153,15 @@
github = "wentasah";
githubId = 140542;
};
+ wesnel = {
+ name = "Wesley Nelson";
+ email = "wgn@wesnel.dev";
+ github = "wesnel";
+ githubId = 43357387;
+ keys = [{
+ fingerprint = "F844 80B2 0CA9 D6CC C7F5 2479 A776 D2AD 099E 8BC0";
+ }];
+ };
wheelsandmetal = {
email = "jakob@schmutz.co.uk";
github = "wheelsandmetal";
@@ -15051,4 +15249,39 @@
github = "yisuidenghua";
githubId = 102890144;
};
+ macalinao = {
+ email = "me@ianm.com";
+ name = "Ian Macalinao";
+ github = "macalinao";
+ githubId = 401263;
+ keys = [{
+ fingerprint = "1147 43F1 E707 6F3E 6F4B 2C96 B9A8 B592 F126 F8E8";
+ }];
+ };
+ tjni = {
+ email = "43ngvg@masqt.com";
+ matrix = "@tni:matrix.org";
+ name = "Theodore Ni";
+ github = "tjni";
+ githubId = 3806110;
+ keys = [{
+ fingerprint = "4384 B8E1 299F C028 1641 7B8F EC30 EFBE FA7E 84A4";
+ }];
+ };
+ cafkafk = {
+ email = "cafkafk@cafkafk.com";
+ matrix = "@cafkafk:matrix.cafkafk.com";
+ name = "Christina Sørensen";
+ github = "cafkafk";
+ githubId = 89321978;
+ keys = [{
+ fingerprint = "7B9E E848 D074 AE03 7A0C 651A 8ED4 DEF7 375A 30C8";
+ }];
+ };
+ rb = {
+ email = "maintainers@cloudposse.com";
+ github = "nitrocode";
+ githubId = 7775707;
+ name = "RB";
+ };
}
diff --git a/third_party/nixpkgs/maintainers/team-list.nix b/third_party/nixpkgs/maintainers/team-list.nix
index 86d297730c..fbd7972cb2 100644
--- a/third_party/nixpkgs/maintainers/team-list.nix
+++ b/third_party/nixpkgs/maintainers/team-list.nix
@@ -74,6 +74,15 @@ with lib.maintainers; {
enableFeatureFreezePing = true;
};
+ bitnomial = {
+ # Verify additions to this team with at least one already existing member of the team.
+ members = [
+ cdepillabout
+ ];
+ scope = "Group registration for packages maintained by Bitnomial.";
+ shortName = "Bitnomial employees";
+ };
+
blockchains = {
members = [
mmahut
@@ -107,6 +116,7 @@ with lib.maintainers; {
cinnamon = {
members = [
+ bobby285271
mkg20001
];
scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team.";
diff --git a/third_party/nixpkgs/nixos/doc/manual/configuration/x-windows.chapter.md b/third_party/nixpkgs/nixos/doc/manual/configuration/x-windows.chapter.md
index 2c80b786b2..27d1172388 100644
--- a/third_party/nixpkgs/nixos/doc/manual/configuration/x-windows.chapter.md
+++ b/third_party/nixpkgs/nixos/doc/manual/configuration/x-windows.chapter.md
@@ -120,7 +120,6 @@ to set one. The recommended configuration for modern systems is:
```nix
services.xserver.videoDrivers = [ "modesetting" ];
-services.xserver.useGlamor = true;
```
If you experience screen tearing no matter what, this configuration was
diff --git a/third_party/nixpkgs/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml b/third_party/nixpkgs/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml
index 274d0d817b..c17e98983b 100644
--- a/third_party/nixpkgs/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml
+++ b/third_party/nixpkgs/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml
@@ -133,7 +133,6 @@ services.xserver.displayManager.autoLogin.user = "alice";
services.xserver.videoDrivers = [ "modesetting" ];
-services.xserver.useGlamor = true;
If you experience screen tearing no matter what, this
diff --git a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 2e53929f06..9b08a54445 100644
--- a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -183,6 +183,14 @@
services.hadoop.hbase.
+
+
+ Sachet,
+ an SMS alerting tool for the Prometheus Alertmanager.
+ Available as
+ services.prometheus.sachet.
+
+
infnoise,
@@ -198,6 +206,27 @@
services.kanata.
+
+
+ languagetool,
+ a multilingual grammar, style, and spell checker. Available as
+ services.languagetool.
+
+
+
+
+ Outline,
+ a wiki and knowledge base similar to Notion. Available as
+ services.outline.
+
+
+
+
+ netbird, a zero
+ configuration VPN. Available as
+ services.netbird.
+
+
persistent-evdev,
@@ -214,6 +243,14 @@
services.schleuder.
+
+
+ Dolibarr,
+ an enterprise resource planning and customer relationship
+ manager. Enable using
+ services.dolibarr.
+
+
expressvpn,
@@ -236,11 +273,32 @@
services.patroni.
+
+
+ Prometheus
+ IPMI exporter, an IPMI exporter for Prometheus.
+ Available as
+ services.prometheus.exporters.ipmi.
+
+
+
+
+ WriteFreely,
+ a simple blogging platform with ActivityPub support. Available
+ as
+ services.writefreely.
+
+
Backward Incompatibilities
+
+
+ Nixpkgs now requires Nix 2.3 or newer.
+
+
The isCompatible predicate checking CPU
@@ -337,6 +395,17 @@
instead.
+
+
+ The coq package and versioned variants
+ starting at coq_8_14 no longer include
+ CoqIDE, which is now available through
+ coqPackages.coqide. It is still possible to
+ get CoqIDE as part of the coq package by
+ overriding the buildIde argument of the
+ derivation.
+
+
PHP 7.4 is no longer supported due to upstream not supporting
@@ -349,6 +418,14 @@
cosigned binary anymore.
+
+
+ Emacs now uses the Lucid toolkit by default instead of GTK
+ because of stability and compatibility issues. Users who still
+ wish to remain using GTK can do so by using
+ emacs-gtk.
+
+
riak package removed along with
@@ -387,6 +464,13 @@
"wine64".
+
+
+ The paperless module now defaults
+ PAPERLESS_TIME_ZONE to your configured
+ system timezone.
+
+
(Neo)Vim can not be configured with
@@ -401,6 +485,12 @@
due to upstream dropping support.
+
+
+ k3s supports clusterInit
+ option, and it is enabled by default, for servers.
+
+
@@ -446,6 +536,12 @@
guide on how to migrate your Neo4j instance.
+
+
+ The services.matrix-synapse systemd unit
+ has been hardened.
+
+
Matrix Synapse now requires entries in the
@@ -457,6 +553,14 @@
and require manual remediation.
+
+
+ The diamond package has been update from
+ 0.8.36 to 2.0.15. See the
+ upstream
+ release notes for more details.
+
+
dockerTools.buildImage deprecates the
diff --git a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2211.section.md b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2211.section.md
index 1f1d2f3407..584a17cfca 100644
--- a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -68,16 +68,28 @@ In addition to numerous new and upgraded packages, this release has the followin
- [HBase cluster](https://hbase.apache.org/), a distributed, scalable, big data store. Available as [services.hadoop.hbase](options.html#opt-services.hadoop.hbase.enable).
+- [Sachet](https://github.com/messagebird/sachet/), an SMS alerting tool for the Prometheus Alertmanager. Available as [services.prometheus.sachet](#opt-services.prometheus.sachet.enable).
+
- [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle.
Available as [services.infnoise](options.html#opt-services.infnoise.enable).
- [kanata](https://github.com/jtroo/kanata), a tool to improve keyboard comfort and usability with advanced customization.
Available as [services.kanata](options.html#opt-services.kanata.enable).
+- [languagetool](https://languagetool.org/), a multilingual grammar, style, and spell checker.
+ Available as [services.languagetool](options.html#opt-services.languagetool.enable).
+
+- [Outline](https://www.getoutline.com/), a wiki and knowledge base similar to Notion. Available as [services.outline](#opt-services.outline.enable).
+
+- [netbird](https://netbird.io), a zero configuration VPN.
+ Available as [services.netbird](options.html#opt-services.netbird.enable).
+
- [persistent-evdev](https://github.com/aiberia/persistent-evdev), a daemon to add virtual proxy devices that mirror a physical input device but persist even if the underlying hardware is hot-plugged. Available as [services.persistent-evdev](#opt-services.persistent-evdev.enable).
- [schleuder](https://schleuder.org/), a mailing list manager with PGP support. Enable using [services.schleuder](#opt-services.schleuder.enable).
+- [Dolibarr](https://www.dolibarr.org/), an enterprise resource planning and customer relationship manager. Enable using [services.dolibarr](#opt-services.dolibarr.enable).
+
- [expressvpn](https://www.expressvpn.com), the CLI client for ExpressVPN. Available as [services.expressvpn](#opt-services.expressvpn.enable).
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
@@ -85,10 +97,16 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
Available as [services.patroni](options.html#opt-services.patroni.enable).
+- [Prometheus IPMI exporter](https://github.com/prometheus-community/ipmi_exporter), an IPMI exporter for Prometheus. Available as [services.prometheus.exporters.ipmi](#opt-services.prometheus.exporters.ipmi.enable).
+
+- [WriteFreely](https://writefreely.org), a simple blogging platform with ActivityPub support. Available as [services.writefreely](options.html#opt-services.writefreely.enable).
+
## Backward Incompatibilities {#sec-release-22.11-incompatibilities}
+- Nixpkgs now requires Nix 2.3 or newer.
+
- The `isCompatible` predicate checking CPU compatibility is no longer exposed
by the platform sets generated using `lib.systems.elaborate`. In most cases
you will want to use the new `canExecute` predicate instead which also
@@ -118,11 +136,20 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- `services.hbase` has been renamed to `services.hbase-standalone`.
For production HBase clusters, use `services.hadoop.hbase` instead.
+- The `coq` package and versioned variants starting at `coq_8_14` no
+ longer include CoqIDE, which is now available through
+ `coqPackages.coqide`. It is still possible to get CoqIDE as part of
+ the `coq` package by overriding the `buildIde` argument of the
+ derivation.
+
- PHP 7.4 is no longer supported due to upstream not supporting this
version for the entire lifecycle of the 22.11 release.
- `pkgs.cosign` does not provide the `cosigned` binary anymore.
+- Emacs now uses the Lucid toolkit by default instead of GTK because of stability and compatibility issues.
+ Users who still wish to remain using GTK can do so by using `emacs-gtk`.
+
- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
- xow package removed along with the `hardware.xow` module, due to the project being deprecated in favor of `xone`, which is available via the `hardware.xone` module.
@@ -136,11 +163,15 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- The `meta.mainProgram` attribute of packages in `wineWowPackages` now defaults to `"wine64"`.
+- The `paperless` module now defaults `PAPERLESS_TIME_ZONE` to your configured system timezone.
+
- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
Use `configure.packages` instead.
- `k3s` no longer supports docker as runtime due to upstream dropping support.
+- `k3s` supports `clusterInit` option, and it is enabled by default, for servers.
+
## Other Notable Changes {#sec-release-22.11-notable-changes}
@@ -155,8 +186,12 @@ Use `configure.packages` instead.
- Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance.
+- The `services.matrix-synapse` systemd unit has been hardened.
+
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
+- The `diamond` package has been update from 0.8.36 to 2.0.15. See the [upstream release notes](https://github.com/bbuchfink/diamond/releases) for more details.
+
- `dockerTools.buildImage` deprecates the misunderstood `contents` parameter, in favor of `copyToRoot`.
Use `copyToRoot = buildEnv { ... };` or similar if you intend to add packages to `/bin`.
diff --git a/third_party/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py b/third_party/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py
index d7dc6ca300..1a1af11337 100644
--- a/third_party/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py
+++ b/third_party/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py
@@ -114,6 +114,10 @@ class Renderer(mistune.renderers.BaseRenderer):
return f""
def file(self, text):
return f"{escape(text)}"
+ def var(self, text):
+ return f"{escape(text)}"
+ def env(self, text):
+ return f"{escape(text)}"
def manpage(self, page, section):
title = f"{escape(page)}"
vol = f"{escape(section)}"
@@ -136,6 +140,20 @@ def p_file(md):
md.inline.register_rule('file', FILE_PATTERN, parse)
md.inline.rules.append('file')
+def p_var(md):
+ VAR_PATTERN = r'\{var\}`(.*?)`'
+ def parse(self, m, state):
+ return ('var', m.group(1))
+ md.inline.register_rule('var', VAR_PATTERN, parse)
+ md.inline.rules.append('var')
+
+def p_env(md):
+ ENV_PATTERN = r'\{env\}`(.*?)`'
+ def parse(self, m, state):
+ return ('env', m.group(1))
+ md.inline.register_rule('env', ENV_PATTERN, parse)
+ md.inline.rules.append('env')
+
def p_option(md):
OPTION_PATTERN = r'\{option\}`(.*?)`'
def parse(self, m, state):
@@ -151,7 +169,7 @@ def p_manpage(md):
md.inline.rules.append('manpage')
def p_admonition(md):
- ADMONITION_PATTERN = re.compile(r'^::: \{([^\n]*?)\}\n(.*?)^:::\n', flags=re.MULTILINE|re.DOTALL)
+ ADMONITION_PATTERN = re.compile(r'^::: \{([^\n]*?)\}\n(.*?)^:::$\n*', flags=re.MULTILINE|re.DOTALL)
def parse(self, m, state):
return {
'type': 'admonition',
@@ -162,7 +180,7 @@ def p_admonition(md):
md.block.rules.append('admonition')
md = mistune.create_markdown(renderer=Renderer(), plugins=[
- p_command, p_file, p_option, p_manpage, p_admonition
+ p_command, p_file, p_var, p_env, p_option, p_manpage, p_admonition
])
# converts in-place!
diff --git a/third_party/nixpkgs/nixos/lib/qemu-common.nix b/third_party/nixpkgs/nixos/lib/qemu-common.nix
index fc3dcb24ab..3f4d674e9a 100644
--- a/third_party/nixpkgs/nixos/lib/qemu-common.nix
+++ b/third_party/nixpkgs/nixos/lib/qemu-common.nix
@@ -4,29 +4,61 @@
let
zeroPad = n:
lib.optionalString (n < 16) "0" +
- (if n > 255
- then throw "Can't have more than 255 nets or nodes!"
- else lib.toHexString n);
+ (if n > 255
+ then throw "Can't have more than 255 nets or nodes!"
+ else lib.toHexString n);
in
rec {
qemuNicMac = net: machine: "52:54:00:12:${zeroPad net}:${zeroPad machine}";
qemuNICFlags = nic: net: machine:
- [ "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}"
+ [
+ "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}"
''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"''
];
- qemuSerialDevice = if pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isRiscV then "ttyS0"
- else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then "ttyAMA0"
- else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";
+ qemuSerialDevice =
+ if pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isRiscV then "ttyS0"
+ else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then "ttyAMA0"
+ else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";
- qemuBinary = qemuPkg: {
- x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu max";
- armv7l-linux = "${qemuPkg}/bin/qemu-system-arm -machine virt,accel=kvm:tcg -cpu max";
- aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt,gic-version=max,accel=kvm:tcg -cpu max";
- powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
- powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
- x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
- }.${pkgs.stdenv.hostPlatform.system} or "${qemuPkg}/bin/qemu-kvm";
+ qemuBinary = qemuPkg:
+ let
+ hostStdenv = qemuPkg.stdenv;
+ hostSystem = hostStdenv.system;
+ guestSystem = pkgs.stdenv.hostPlatform.system;
+
+ linuxHostGuestMatrix = {
+ x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu max";
+ armv7l-linux = "${qemuPkg}/bin/qemu-system-arm -machine virt,accel=kvm:tcg -cpu max";
+ aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt,gic-version=max,accel=kvm:tcg -cpu max";
+ powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
+ powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
+ x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
+ };
+ otherHostGuestMatrix = {
+ aarch64-darwin = {
+ aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt,gic-version=2,accel=hvf:tcg -cpu max";
+ };
+ x86_64-darwin = {
+ x86_64-linux = "${qemuPkg}/bin/qemu-system-x86_64 -machine type=q35,accel=hvf:tcg -cpu max";
+ };
+ };
+
+ throwUnsupportedHostSystem =
+ let
+ supportedSystems = [ "linux" ] ++ (lib.attrNames otherHostGuestMatrix);
+ in
+ throw "Unsupported host system ${hostSystem}, supported: ${lib.concatStringsSep ", " supportedSystems}";
+ throwUnsupportedGuestSystem = guestMap:
+ throw "Unsupported guest system ${guestSystem} for host ${hostSystem}, supported: ${lib.concatStringsSep ", " (lib.attrNames guestMap)}";
+ in
+ if hostStdenv.isLinux then
+ linuxHostGuestMatrix.${guestSystem} or "${qemuPkg}/bin/qemu-kvm"
+ else
+ let
+ guestMap = (otherHostGuestMatrix.${hostSystem} or throwUnsupportedHostSystem);
+ in
+ (guestMap.${guestSystem} or (throwUnsupportedGuestSystem guestMap));
}
diff --git a/third_party/nixpkgs/nixos/lib/systemd-types.nix b/third_party/nixpkgs/nixos/lib/systemd-types.nix
index 961b6d7f98..a109f248b1 100644
--- a/third_party/nixpkgs/nixos/lib/systemd-types.nix
+++ b/third_party/nixpkgs/nixos/lib/systemd-types.nix
@@ -37,11 +37,11 @@ rec {
initrdContents = types.attrsOf (types.submodule ({ config, options, name, ... }: {
options = {
- enable = mkEnableOption "copying of this file and symlinking it" // { default = true; };
+ enable = mkEnableOption (lib.mdDoc "copying of this file and symlinking it") // { default = true; };
target = mkOption {
type = types.path;
- description = ''
+ description = lib.mdDoc ''
Path of the symlink.
'';
default = name;
@@ -50,12 +50,12 @@ rec {
text = mkOption {
default = null;
type = types.nullOr types.lines;
- description = "Text of the file.";
+ description = lib.mdDoc "Text of the file.";
};
source = mkOption {
type = types.path;
- description = "Path of the source file.";
+ description = lib.mdDoc "Path of the source file.";
};
};
diff --git a/third_party/nixpkgs/nixos/lib/systemd-unit-options.nix b/third_party/nixpkgs/nixos/lib/systemd-unit-options.nix
index 84388b5550..1c56b1b9aa 100644
--- a/third_party/nixpkgs/nixos/lib/systemd-unit-options.nix
+++ b/third_party/nixpkgs/nixos/lib/systemd-unit-options.nix
@@ -37,24 +37,24 @@ in rec {
enable = mkOption {
default = true;
type = types.bool;
- description = ''
+ description = lib.mdDoc ''
If set to false, this unit will be a symlink to
/dev/null. This is primarily useful to prevent specific
template instances
- (e.g. serial-getty@ttyS0) from being
- started. Note that enable=true does not
+ (e.g. `serial-getty@ttyS0`) from being
+ started. Note that `enable=true` does not
make a unit start by default at boot; if you want that, see
- wantedBy.
+ `wantedBy`.
'';
};
requiredBy = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Units that require (i.e. depend on and need to go down with)
- this unit. The discussion under wantedBy
- applies here as well: inverse .requires
+ this unit. The discussion under `wantedBy`
+ applies here as well: inverse `.requires`
symlinks are established.
'';
};
@@ -62,16 +62,16 @@ in rec {
wantedBy = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Units that want (i.e. depend on) this unit. The standard way
to make a unit start by default at boot is to set this option
- to [ "multi-user.target" ]. That's despite
+ to `[ "multi-user.target" ]`. That's despite
the fact that the systemd.unit(5) manpage says this option
- goes in the [Install] section that controls
- the behaviour of systemctl enable. Since
+ goes in the `[Install]` section that controls
+ the behaviour of `systemctl enable`. Since
such a process is stateful and thus contrary to the design of
NixOS, setting this option instead causes the equivalent
- inverse .wants symlink to be present,
+ inverse `.wants` symlink to be present,
establishing the same desired relationship in a stateless way.
'';
};
@@ -79,7 +79,7 @@ in rec {
aliases = mkOption {
default = [];
type = types.listOf unitNameType;
- description = "Aliases of that unit.";
+ description = lib.mdDoc "Aliases of that unit.";
};
};
@@ -89,12 +89,12 @@ in rec {
text = mkOption {
type = types.nullOr types.str;
default = null;
- description = "Text of this systemd unit.";
+ description = lib.mdDoc "Text of this systemd unit.";
};
unit = mkOption {
internal = true;
- description = "The generated unit.";
+ description = lib.mdDoc "The generated unit.";
};
};
@@ -105,19 +105,19 @@ in rec {
description = mkOption {
default = "";
type = types.singleLineStr;
- description = "Description of this unit used in systemd messages and progress indicators.";
+ description = lib.mdDoc "Description of this unit used in systemd messages and progress indicators.";
};
documentation = mkOption {
default = [];
type = types.listOf types.str;
- description = "A list of URIs referencing documentation for this unit or its configuration.";
+ description = lib.mdDoc "A list of URIs referencing documentation for this unit or its configuration.";
};
requires = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Start the specified units when this unit is started, and stop
this unit when the specified units are stopped or fail.
'';
@@ -126,7 +126,7 @@ in rec {
wants = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Start the specified units when this unit is started.
'';
};
@@ -134,7 +134,7 @@ in rec {
after = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
If the specified units are started at the same time as
this unit, delay this unit until they have started.
'';
@@ -143,7 +143,7 @@ in rec {
before = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
If the specified units are started at the same time as
this unit, delay them until this unit has started.
'';
@@ -152,7 +152,7 @@ in rec {
bindsTo = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Like ‘requires’, but in addition, if the specified units
unexpectedly disappear, this unit will be stopped as well.
'';
@@ -161,7 +161,7 @@ in rec {
partOf = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
If the specified units are stopped or restarted, then this
unit is stopped or restarted as well.
'';
@@ -170,7 +170,7 @@ in rec {
conflicts = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
If the specified units are started, then this unit is stopped
and vice versa.
'';
@@ -179,7 +179,7 @@ in rec {
requisite = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
Similar to requires. However if the units listed are not started,
they will not be started and the transaction will fail.
'';
@@ -189,18 +189,17 @@ in rec {
default = {};
example = { RequiresMountsFor = "/data"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Unit] section of the unit. See
- systemd.unit
- 5 for details.
+ `[Unit]` section of the unit. See
+ {manpage}`systemd.unit(5)` for details.
'';
};
onFailure = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
A list of one or more units that are activated when
this unit enters the "failed" state.
'';
@@ -209,7 +208,7 @@ in rec {
onSuccess = mkOption {
default = [];
type = types.listOf unitNameType;
- description = ''
+ description = lib.mdDoc ''
A list of one or more units that are activated when
this unit enters the "inactive" state.
'';
@@ -217,7 +216,7 @@ in rec {
startLimitBurst = mkOption {
type = types.int;
- description = ''
+ description = lib.mdDoc ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
@@ -226,7 +225,7 @@ in rec {
startLimitIntervalSec = mkOption {
type = types.int;
- description = ''
+ description = lib.mdDoc ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
@@ -245,7 +244,7 @@ in rec {
restartTriggers = mkOption {
default = [];
type = types.listOf types.unspecified;
- description = ''
+ description = lib.mdDoc ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be restarted.
@@ -255,7 +254,7 @@ in rec {
reloadTriggers = mkOption {
default = [];
type = types.listOf unitOption;
- description = ''
+ description = lib.mdDoc ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be reloaded. If anything but a reload trigger changes in the
@@ -273,16 +272,16 @@ in rec {
default = {};
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
- description = "Environment variables passed to the service's processes.";
+ description = lib.mdDoc "Environment variables passed to the service's processes.";
};
path = mkOption {
default = [];
type = with types; listOf (oneOf [ package str ]);
- description = ''
- Packages added to the service's PATH
- environment variable. Both the bin
- and sbin subdirectories of each
+ description = lib.mdDoc ''
+ Packages added to the service's {env}`PATH`
+ environment variable. Both the {file}`bin`
+ and {file}`sbin` subdirectories of each
package are added.
'';
};
@@ -293,30 +292,29 @@ in rec {
{ RestartSec = 5;
};
type = types.addCheck (types.attrsOf unitOption) checkService;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Service] section of the unit. See
- systemd.service
- 5 for details.
+ `[Service]` section of the unit. See
+ {manpage}`systemd.service(5)` for details.
'';
};
script = mkOption {
type = types.lines;
default = "";
- description = "Shell commands executed as the service's main process.";
+ description = lib.mdDoc "Shell commands executed as the service's main process.";
};
scriptArgs = mkOption {
type = types.str;
default = "";
- description = "Arguments passed to the main process script.";
+ description = lib.mdDoc "Arguments passed to the main process script.";
};
preStart = mkOption {
type = types.lines;
default = "";
- description = ''
+ description = lib.mdDoc ''
Shell commands executed before the service's main process
is started.
'';
@@ -325,7 +323,7 @@ in rec {
postStart = mkOption {
type = types.lines;
default = "";
- description = ''
+ description = lib.mdDoc ''
Shell commands executed after the service's main process
is started.
'';
@@ -334,7 +332,7 @@ in rec {
reload = mkOption {
type = types.lines;
default = "";
- description = ''
+ description = lib.mdDoc ''
Shell commands executed when the service's main process
is reloaded.
'';
@@ -343,7 +341,7 @@ in rec {
preStop = mkOption {
type = types.lines;
default = "";
- description = ''
+ description = lib.mdDoc ''
Shell commands executed to stop the service.
'';
};
@@ -351,7 +349,7 @@ in rec {
postStop = mkOption {
type = types.lines;
default = "";
- description = ''
+ description = lib.mdDoc ''
Shell commands executed after the service's main process
has exited.
'';
@@ -360,7 +358,7 @@ in rec {
jobScripts = mkOption {
type = with types; coercedTo path singleton (listOf path);
internal = true;
- description = "A list of all job script derivations of this unit.";
+ description = lib.mdDoc "A list of all job script derivations of this unit.";
default = [];
};
@@ -405,7 +403,7 @@ in rec {
restartIfChanged = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
Whether the service should be restarted during a NixOS
configuration switch if its definition has changed.
'';
@@ -414,14 +412,14 @@ in rec {
reloadIfChanged = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether the service should be reloaded during a NixOS
configuration switch if its definition has changed. If
- enabled, the value of is
+ enabled, the value of {option}`restartIfChanged` is
ignored.
This option should not be used anymore in favor of
- which allows more granular
+ {option}`reloadTriggers` which allows more granular
control of when a service is reloaded and when a service
is restarted.
'';
@@ -430,14 +428,14 @@ in rec {
stopIfChanged = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
If set, a changed unit is restarted by calling
- systemctl stop in the old configuration,
- then systemctl start in the new one.
+ {command}`systemctl stop` in the old configuration,
+ then {command}`systemctl start` in the new one.
Otherwise, it is restarted in a single step using
- systemctl restart in the new configuration.
+ {command}`systemctl restart` in the new configuration.
The latter is less correct because it runs the
- ExecStop commands from the new
+ `ExecStop` commands from the new
configuration.
'';
};
@@ -446,13 +444,12 @@ in rec {
type = with types; either str (listOf str);
default = [];
example = "Sun 14:00:00";
- description = ''
+ description = lib.mdDoc ''
Automatically start this unit at the given date/time, which
must be in the format described in
- systemd.time
- 7. This is equivalent
+ {manpage}`systemd.time(7)`. This is equivalent
to adding a corresponding timer unit with
- set to the value given here.
+ {option}`OnCalendar` set to the value given here.
'';
apply = v: if isList v then v else [ v ];
};
@@ -474,9 +471,9 @@ in rec {
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
- description = ''
- For each item in this list, a ListenStream
- option in the [Socket] section will be created.
+ description = lib.mdDoc ''
+ For each item in this list, a `ListenStream`
+ option in the `[Socket]` section will be created.
'';
};
@@ -484,9 +481,9 @@ in rec {
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
- description = ''
- For each item in this list, a ListenDatagram
- option in the [Socket] section will be created.
+ description = lib.mdDoc ''
+ For each item in this list, a `ListenDatagram`
+ option in the `[Socket]` section will be created.
'';
};
@@ -494,11 +491,10 @@ in rec {
default = {};
example = { ListenStream = "/run/my-socket"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Socket] section of the unit. See
- systemd.socket
- 5 for details.
+ `[Socket]` section of the unit. See
+ {manpage}`systemd.socket(5)` for details.
'';
};
};
@@ -527,13 +523,11 @@ in rec {
default = {};
example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Timer] section of the unit. See
- systemd.timer
- 5 and
- systemd.time
- 7 for details.
+ `[Timer]` section of the unit. See
+ {manpage}`systemd.timer(5)` and
+ {manpage}`systemd.time(7)` for details.
'';
};
@@ -562,11 +556,10 @@ in rec {
default = {};
example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Path] section of the unit. See
- systemd.path
- 5 for details.
+ `[Path]` section of the unit. See
+ {manpage}`systemd.path(5)` for details.
'';
};
@@ -594,13 +587,13 @@ in rec {
what = mkOption {
example = "/dev/sda1";
type = types.str;
- description = "Absolute path of device node, file or other resource. (Mandatory)";
+ description = lib.mdDoc "Absolute path of device node, file or other resource. (Mandatory)";
};
where = mkOption {
example = "/mnt";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
@@ -610,25 +603,24 @@ in rec {
default = "";
example = "ext4";
type = types.str;
- description = "File system type.";
+ description = lib.mdDoc "File system type.";
};
options = mkOption {
default = "";
example = "noatime";
type = types.commas;
- description = "Options used to mount the file system.";
+ description = lib.mdDoc "Options used to mount the file system.";
};
mountConfig = mkOption {
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Mount] section of the unit. See
- systemd.mount
- 5 for details.
+ `[Mount]` section of the unit. See
+ {manpage}`systemd.mount(5)` for details.
'';
};
@@ -655,7 +647,7 @@ in rec {
where = mkOption {
example = "/mnt";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
@@ -665,11 +657,10 @@ in rec {
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Automount] section of the unit. See
- systemd.automount
- 5 for details.
+ `[Automount]` section of the unit. See
+ {manpage}`systemd.automount(5)` for details.
'';
};
@@ -697,11 +688,10 @@ in rec {
default = {};
example = { MemoryMax = "2G"; };
type = types.attrsOf unitOption;
- description = ''
+ description = lib.mdDoc ''
Each attribute in this set specifies an option in the
- [Slice] section of the unit. See
- systemd.slice
- 5 for details.
+ `[Slice]` section of the unit. See
+ {manpage}`systemd.slice(5)` for details.
'';
};
diff --git a/third_party/nixpkgs/nixos/lib/test-driver/test_driver/machine.py b/third_party/nixpkgs/nixos/lib/test-driver/test_driver/machine.py
index 3ff3cf5645..e45c83086f 100644
--- a/third_party/nixpkgs/nixos/lib/test-driver/test_driver/machine.py
+++ b/third_party/nixpkgs/nixos/lib/test-driver/test_driver/machine.py
@@ -426,7 +426,9 @@ class Machine:
self.monitor.send(message)
return self.wait_for_monitor_prompt()
- def wait_for_unit(self, unit: str, user: Optional[str] = None) -> None:
+ def wait_for_unit(
+ self, unit: str, user: Optional[str] = None, timeout: int = 900
+ ) -> None:
"""Wait for a systemd unit to get into "active" state.
Throws exceptions on "failed" and "inactive" states as well as
after timing out.
@@ -456,7 +458,7 @@ class Machine:
unit, f" with user {user}" if user is not None else ""
)
):
- retry(check_active)
+ retry(check_active, timeout)
def get_unit_info(self, unit: str, user: Optional[str] = None) -> Dict[str, str]:
status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user)
@@ -710,7 +712,7 @@ class Machine:
status, _ = self.execute("nc -z localhost {}".format(port))
return status != 0
- with self.nested("waiting for TCP port {} to be closed"):
+ with self.nested("waiting for TCP port {} to be closed".format(port)):
retry(port_is_closed)
def start_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
diff --git a/third_party/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix b/third_party/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
index 2d89db0a7f..e2a05a09d0 100644
--- a/third_party/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
+++ b/third_party/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
@@ -23,7 +23,7 @@ in {
options.amazonImage = {
name = mkOption {
type = types.str;
- description = "The name of the generated derivation";
+ description = lib.mdDoc "The name of the generated derivation";
default = "nixos-amazon-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
};
@@ -35,7 +35,7 @@ in {
]
'';
default = [];
- description = ''
+ description = lib.mdDoc ''
This option lists files to be copied to fixed locations in the
generated image. Glob patterns work.
'';
@@ -45,13 +45,13 @@ in {
type = with types; either (enum [ "auto" ]) int;
default = if config.ec2.hvm then 2048 else 8192;
example = 8192;
- description = "The size in MB of the image";
+ description = lib.mdDoc "The size in MB of the image";
};
format = mkOption {
type = types.enum [ "raw" "qcow2" "vpc" ];
default = "vpc";
- description = "The image format to output";
+ description = lib.mdDoc "The image format to output";
};
};
diff --git a/third_party/nixpkgs/nixos/maintainers/scripts/openstack/openstack-image-zfs.nix b/third_party/nixpkgs/nixos/maintainers/scripts/openstack/openstack-image-zfs.nix
index d62a560642..f73e251d30 100644
--- a/third_party/nixpkgs/nixos/maintainers/scripts/openstack/openstack-image-zfs.nix
+++ b/third_party/nixpkgs/nixos/maintainers/scripts/openstack/openstack-image-zfs.nix
@@ -16,20 +16,20 @@ in
options.openstackImage = {
name = mkOption {
type = types.str;
- description = "The name of the generated derivation";
+ description = lib.mdDoc "The name of the generated derivation";
default = "nixos-openstack-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
};
sizeMB = mkOption {
type = types.int;
default = 8192;
- description = "The size in MB of the image";
+ description = lib.mdDoc "The size in MB of the image";
};
format = mkOption {
type = types.enum [ "raw" "qcow2" ];
default = "qcow2";
- description = "The image format to output";
+ description = lib.mdDoc "The image format to output";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/config/console.nix b/third_party/nixpkgs/nixos/modules/config/console.nix
index 7bcbf54ced..1f8f80a554 100644
--- a/third_party/nixpkgs/nixos/modules/config/console.nix
+++ b/third_party/nixpkgs/nixos/modules/config/console.nix
@@ -64,8 +64,8 @@ in
};
colors = mkOption {
- type = types.listOf types.str;
- default = [];
+ type = with types; listOf (strMatching "[[:xdigit:]]{6}");
+ default = [ ];
example = [
"002b36" "dc322f" "859900" "b58900"
"268bd2" "d33682" "2aa198" "eee8d5"
diff --git a/third_party/nixpkgs/nixos/modules/config/fonts/fontconfig.nix b/third_party/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
index f86c0387e9..f9c6e5be22 100644
--- a/third_party/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
+++ b/third_party/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
@@ -259,7 +259,7 @@ in
internal = true;
type = with types; listOf path;
default = [ ];
- description = ''
+ description = lib.mdDoc ''
Fontconfig configuration packages.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/iproute2.nix b/third_party/nixpkgs/nixos/modules/config/iproute2.nix
index 2e059e2817..8f49e7dbf7 100644
--- a/third_party/nixpkgs/nixos/modules/config/iproute2.nix
+++ b/third_party/nixpkgs/nixos/modules/config/iproute2.nix
@@ -7,7 +7,7 @@ let
in
{
options.networking.iproute2 = {
- enable = mkEnableOption "copy IP route configuration files";
+ enable = mkEnableOption (lib.mdDoc "copy IP route configuration files");
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/config/krb5/default.nix b/third_party/nixpkgs/nixos/modules/config/krb5/default.nix
index 4c80f87a49..e3e0fadf09 100644
--- a/third_party/nixpkgs/nixos/modules/config/krb5/default.nix
+++ b/third_party/nixpkgs/nixos/modules/config/krb5/default.nix
@@ -78,7 +78,7 @@ in {
options = {
krb5 = {
- enable = mkEnableOption "building krb5.conf, configuration file for Kerberos V";
+ enable = mkEnableOption (lib.mdDoc "building krb5.conf, configuration file for Kerberos V");
kerberos = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/config/ldap.nix b/third_party/nixpkgs/nixos/modules/config/ldap.nix
index 799d60e010..d2f01fb87d 100644
--- a/third_party/nixpkgs/nixos/modules/config/ldap.nix
+++ b/third_party/nixpkgs/nixos/modules/config/ldap.nix
@@ -59,7 +59,7 @@ in
users.ldap = {
- enable = mkEnableOption "authentication against an LDAP server";
+ enable = mkEnableOption (lib.mdDoc "authentication against an LDAP server");
loginPam = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/config/malloc.nix b/third_party/nixpkgs/nixos/modules/config/malloc.nix
index a3fed33afa..4db0480b15 100644
--- a/third_party/nixpkgs/nixos/modules/config/malloc.nix
+++ b/third_party/nixpkgs/nixos/modules/config/malloc.nix
@@ -77,24 +77,21 @@ in
environment.memoryAllocator.provider = mkOption {
type = types.enum ([ "libc" ] ++ attrNames providers);
default = "libc";
- description = ''
+ description = lib.mdDoc ''
The system-wide memory allocator.
Briefly, the system-wide memory allocator providers are:
-
- libc: the standard allocator provided by libc
- ${toString (mapAttrsToList
- (name: value: "${name}: ${value.description}")
- providers)}
-
-
-
+ - `libc`: the standard allocator provided by libc
+ ${concatStringsSep "\n" (mapAttrsToList
+ (name: value: "- `${name}`: ${replaceStrings [ "\n" ] [ " " ] value.description}")
+ providers)}
+
+ ::: {.warning}
Selecting an alternative allocator (i.e., anything other than
- libc) may result in instability, data loss,
+ `libc`) may result in instability, data loss,
and/or service failure.
-
-
+ :::
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/config/mysql.nix b/third_party/nixpkgs/nixos/modules/config/mysql.nix
index 8e7ce2a307..af20a5e953 100644
--- a/third_party/nixpkgs/nixos/modules/config/mysql.nix
+++ b/third_party/nixpkgs/nixos/modules/config/mysql.nix
@@ -8,83 +8,73 @@ in
{
options = {
users.mysql = {
- enable = mkEnableOption "Authentication against a MySQL/MariaDB database";
+ enable = mkEnableOption (lib.mdDoc "Authentication against a MySQL/MariaDB database");
host = mkOption {
type = types.str;
example = "localhost";
- description = "The hostname of the MySQL/MariaDB server";
+ description = lib.mdDoc "The hostname of the MySQL/MariaDB server";
};
database = mkOption {
type = types.str;
example = "auth";
- description = "The name of the database containing the users";
+ description = lib.mdDoc "The name of the database containing the users";
};
user = mkOption {
type = types.str;
example = "nss-user";
- description = "The username to use when connecting to the database";
+ description = lib.mdDoc "The username to use when connecting to the database";
};
passwordFile = mkOption {
type = types.path;
example = "/run/secrets/mysql-auth-db-passwd";
- description = "The path to the file containing the password for the user";
+ description = lib.mdDoc "The path to the file containing the password for the user";
};
pam = mkOption {
- description = "Settings for pam_mysql";
+ description = lib.mdDoc "Settings for `pam_mysql`";
type = types.submodule {
options = {
table = mkOption {
type = types.str;
example = "users";
- description = "The name of table that maps unique login names to the passwords.";
+ description = lib.mdDoc "The name of table that maps unique login names to the passwords.";
};
updateTable = mkOption {
type = types.nullOr types.str;
default = null;
example = "users_updates";
- description = ''
+ description = lib.mdDoc ''
The name of the table used for password alteration. If not defined, the value
- of the table option will be used instead.
+ of the `table` option will be used instead.
'';
};
userColumn = mkOption {
type = types.str;
example = "username";
- description = "The name of the column that contains a unix login name.";
+ description = lib.mdDoc "The name of the column that contains a unix login name.";
};
passwordColumn = mkOption {
type = types.str;
example = "password";
- description = "The name of the column that contains a (encrypted) password string.";
+ description = lib.mdDoc "The name of the column that contains a (encrypted) password string.";
};
statusColumn = mkOption {
type = types.nullOr types.str;
default = null;
example = "status";
- description = ''
+ description = lib.mdDoc ''
The name of the column or an SQL expression that indicates the status of
the user. The status is expressed by the combination of two bitfields
shown below:
-
-
-
- bit 0 (0x01):
- if flagged, pam_mysql deems the account to be expired and
- returns PAM_ACCT_EXPIRED. That is, the account is supposed
- to no longer be available. Note this doesn't mean that pam_mysql
- rejects further authentication operations.
-
-
-
-
- bit 1 (0x02):
- if flagged, pam_mysql deems the authentication token
- (password) to be expired and returns PAM_NEW_AUTHTOK_REQD.
- This ends up requiring that the user enter a new password.
-
-
-
+ - `bit 0 (0x01)`:
+ if flagged, `pam_mysql` deems the account to be expired and
+ returns `PAM_ACCT_EXPIRED`. That is, the account is supposed
+ to no longer be available. Note this doesn't mean that `pam_mysql`
+ rejects further authentication operations.
+ - `bit 1 (0x02)`:
+ if flagged, `pam_mysql` deems the authentication token
+ (password) to be expired and returns `PAM_NEW_AUTHTOK_REQD`.
+ This ends up requiring that the user enter a new password.
'';
};
passwordCrypt = mkOption {
@@ -101,101 +91,59 @@ in
"8" "sha512"
"9" "sha256"
];
- description = ''
+ description = lib.mdDoc ''
The method to encrypt the user's password:
-
-
-
- 0 (or "plain"):
- No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED.
-
-
-
-
- 1 (or "Y"):
- Use crypt(3) function.
-
-
-
-
- 2 (or "mysql"):
- Use the MySQL PASSWORD() function. It is possible that the encryption function used
- by pam_mysql is different from that of the MySQL server, as
- pam_mysql uses the function defined in MySQL's C-client API
- instead of using PASSWORD() SQL function in the query.
-
-
-
-
- 3 (or "md5"):
- Use plain hex MD5.
-
-
-
-
- 4 (or "sha1"):
- Use plain hex SHA1.
-
-
-
-
- 5 (or "drupal7"):
- Use Drupal7 salted passwords.
-
-
-
-
- 6 (or "joomla15"):
- Use Joomla15 salted passwords.
-
-
-
-
- 7 (or "ssha"):
- Use ssha hashed passwords.
-
-
-
-
- 8 (or "sha512"):
- Use sha512 hashed passwords.
-
-
-
-
- 9 (or "sha256"):
- Use sha256 hashed passwords.
-
-
-
+ - `0` (or `"plain"`):
+ No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED.
+ - `1` (or `"Y"`):
+ Use crypt(3) function.
+ - `2` (or `"mysql"`):
+ Use the MySQL PASSWORD() function. It is possible that the encryption function used
+ by `pam_mysql` is different from that of the MySQL server, as
+ `pam_mysql` uses the function defined in MySQL's C-client API
+ instead of using PASSWORD() SQL function in the query.
+ - `3` (or `"md5"`):
+ Use plain hex MD5.
+ - `4` (or `"sha1"`):
+ Use plain hex SHA1.
+ - `5` (or `"drupal7"`):
+ Use Drupal7 salted passwords.
+ - `6` (or `"joomla15"`):
+ Use Joomla15 salted passwords.
+ - `7` (or `"ssha"`):
+ Use ssha hashed passwords.
+ - `8` (or `"sha512"`):
+ Use sha512 hashed passwords.
+ - `9` (or `"sha256"`):
+ Use sha256 hashed passwords.
'';
};
cryptDefault = mkOption {
type = types.nullOr (types.enum [ "md5" "sha256" "sha512" "blowfish" ]);
default = null;
example = "blowfish";
- description = "The default encryption method to use for passwordCrypt = 1.";
+ description = lib.mdDoc "The default encryption method to use for `passwordCrypt = 1`.";
};
where = mkOption {
type = types.nullOr types.str;
default = null;
example = "host.name='web' AND user.active=1";
- description = "Additional criteria for the query.";
+ description = lib.mdDoc "Additional criteria for the query.";
};
verbose = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
If enabled, produces logs with detailed messages that describes what
- pam_mysql is doing. May be useful for debugging.
+ `pam_mysql` is doing. May be useful for debugging.
'';
};
disconnectEveryOperation = mkOption {
type = types.bool;
default = false;
- description = ''
- By default, pam_mysql keeps the connection to the MySQL
+ description = lib.mdDoc ''
+ By default, `pam_mysql` keeps the connection to the MySQL
database until the session is closed. If this option is set to true it
disconnects every time the PAM operation has finished. This option may
be useful in case the session lasts quite long.
@@ -205,17 +153,17 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = "Enables logging of authentication attempts in the MySQL database.";
+ description = lib.mdDoc "Enables logging of authentication attempts in the MySQL database.";
};
table = mkOption {
type = types.str;
example = "logs";
- description = "The name of the table to which logs are written.";
+ description = lib.mdDoc "The name of the table to which logs are written.";
};
msgColumn = mkOption {
type = types.str;
example = "msg";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the description
of the performed operation is stored.
'';
@@ -223,7 +171,7 @@ in
userColumn = mkOption {
type = types.str;
example = "user";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the name of the
user being authenticated is stored.
'';
@@ -231,16 +179,16 @@ in
pidColumn = mkOption {
type = types.str;
example = "pid";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the pid of the
- process utilising the pam_mysql's authentication
+ process utilising the `pam_mysql's` authentication
service is stored.
'';
};
hostColumn = mkOption {
type = types.str;
example = "host";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the name of the user
being authenticated is stored.
'';
@@ -248,17 +196,16 @@ in
rHostColumn = mkOption {
type = types.str;
example = "rhost";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the name of the remote
host that initiates the session is stored. The value is supposed to be
- set by the PAM-aware application with pam_set_item(PAM_RHOST)
- .
+ set by the PAM-aware application with `pam_set_item(PAM_RHOST)`.
'';
};
timeColumn = mkOption {
type = types.str;
example = "timestamp";
- description = ''
+ description = lib.mdDoc ''
The name of the column in the log table to which the timestamp of the
log entry is stored.
'';
@@ -268,11 +215,11 @@ in
};
};
nss = mkOption {
- description = ''
- Settings for libnss-mysql.
+ description = lib.mdDoc ''
+ Settings for `libnss-mysql`.
- All examples are from the minimal example
- of libnss-mysql, but they are modified with NixOS paths for bash.
+ All examples are from the [minimal example](https://github.com/saknopper/libnss-mysql/tree/master/sample/minimal)
+ of `libnss-mysql`, but they are modified with NixOS paths for bash.
'';
type = types.submodule {
options = {
@@ -285,9 +232,8 @@ in
WHERE username='%1$s' \
LIMIT 1
'';
- description = ''
- SQL query for the getpwnam
+ description = lib.mdDoc ''
+ SQL query for the [getpwnam](https://man7.org/linux/man-pages/man3/getpwnam.3.html)
syscall.
'';
};
@@ -300,9 +246,8 @@ in
WHERE uid='%1$u' \
LIMIT 1
'';
- description = ''
- SQL query for the getpwuid
+ description = lib.mdDoc ''
+ SQL query for the [getpwuid](https://man7.org/linux/man-pages/man3/getpwuid.3.html)
syscall.
'';
};
@@ -315,9 +260,8 @@ in
WHERE username='%1$s' \
LIMIT 1
'';
- description = ''
- SQL query for the getspnam
+ description = lib.mdDoc ''
+ SQL query for the [getspnam](https://man7.org/linux/man-pages/man3/getspnam.3.html)
syscall.
'';
};
@@ -327,9 +271,8 @@ in
example = literalExpression ''
SELECT username,'x',uid,'5000','MySQL User', CONCAT('/home/',username),'/run/sw/current-system/bin/bash' FROM users
'';
- description = ''
- SQL query for the getpwent
+ description = lib.mdDoc ''
+ SQL query for the [getpwent](https://man7.org/linux/man-pages/man3/getpwent.3.html)
syscall.
'';
};
@@ -339,9 +282,8 @@ in
example = literalExpression ''
SELECT username,password,'1','0','99999','0','0','-1','0' FROM users
'';
- description = ''
- SQL query for the getspent
+ description = lib.mdDoc ''
+ SQL query for the [getspent](https://man7.org/linux/man-pages/man3/getspent.3.html)
syscall.
'';
};
@@ -351,9 +293,8 @@ in
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE name='%1$s' LIMIT 1
'';
- description = ''
- SQL query for the getgrnam
+ description = lib.mdDoc ''
+ SQL query for the [getgrnam](https://man7.org/linux/man-pages/man3/getgrnam.3.html)
syscall.
'';
};
@@ -363,9 +304,8 @@ in
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE gid='%1$u' LIMIT 1
'';
- description = ''
- SQL query for the getgrgid
+ description = lib.mdDoc ''
+ SQL query for the [getgrgid](https://man7.org/linux/man-pages/man3/getgrgid.3.html)
syscall.
'';
};
@@ -375,9 +315,8 @@ in
example = literalExpression ''
SELECT name,password,gid FROM groups
'';
- description = ''
- SQL query for the getgrent
+ description = lib.mdDoc ''
+ SQL query for the [getgrent](https://man7.org/linux/man-pages/man3/getgrent.3.html)
syscall.
'';
};
@@ -387,9 +326,8 @@ in
example = literalExpression ''
SELECT username FROM grouplist WHERE gid='%1$u'
'';
- description = ''
- SQL query for the memsbygid
+ description = lib.mdDoc ''
+ SQL query for the [memsbygid](https://man7.org/linux/man-pages/man3/memsbygid.3.html)
syscall.
'';
};
@@ -399,9 +337,8 @@ in
example = literalExpression ''
SELECT gid FROM grouplist WHERE username='%1$s'
'';
- description = ''
- SQL query for the gidsbymem
+ description = lib.mdDoc ''
+ SQL query for the [gidsbymem](https://man7.org/linux/man-pages/man3/gidsbymem.3.html)
syscall.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/networking.nix b/third_party/nixpkgs/nixos/modules/config/networking.nix
index 185eff746d..aa6d75e199 100644
--- a/third_party/nixpkgs/nixos/modules/config/networking.nix
+++ b/third_party/nixpkgs/nixos/modules/config/networking.nix
@@ -35,7 +35,7 @@ in
networking.hostFiles = lib.mkOption {
type = types.listOf types.path;
- defaultText = literalDocBook "Hosts from and ";
+ defaultText = literalMD "Hosts from {option}`networking.hosts` and {option}`networking.extraHosts`";
example = literalExpression ''[ "''${pkgs.my-blocklist-package}/share/my-blocklist/hosts" ]'';
description = lib.mdDoc ''
Files that should be concatenated together to form {file}`/etc/hosts`.
@@ -141,7 +141,7 @@ in
type = types.attrs;
internal = true;
default = {};
- description = ''
+ description = lib.mdDoc ''
Environment variables used for the network proxy.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/no-x-libs.nix b/third_party/nixpkgs/nixos/modules/config/no-x-libs.nix
index 42e68c2ead..946c9bf38c 100644
--- a/third_party/nixpkgs/nixos/modules/config/no-x-libs.nix
+++ b/third_party/nixpkgs/nixos/modules/config/no-x-libs.nix
@@ -27,9 +27,13 @@ with lib;
fonts.fontconfig.enable = false;
nixpkgs.overlays = singleton (const (super: {
+ beam = super.beam_nox;
cairo = super.cairo.override { x11Support = false; };
dbus = super.dbus.override { x11Support = false; };
- beam = super.beam_nox;
+ ffmpeg_4 = super.ffmpeg_4.override { sdlSupport = false; vdpauSupport = false; };
+ ffmpeg_5 = super.ffmpeg_5.override { sdlSupport = false; vdpauSupport = false; };
+ gobject-introspection = super.gobject-introspection.override { x11Support = false; };
+ libva = super.libva-minimal;
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
@@ -37,7 +41,6 @@ with lib;
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
- gobject-introspection = super.gobject-introspection.override { x11Support = false; };
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
}));
};
diff --git a/third_party/nixpkgs/nixos/modules/config/pulseaudio.nix b/third_party/nixpkgs/nixos/modules/config/pulseaudio.nix
index aa3ca549f0..3e969991f8 100644
--- a/third_party/nixpkgs/nixos/modules/config/pulseaudio.nix
+++ b/third_party/nixpkgs/nixos/modules/config/pulseaudio.nix
@@ -190,17 +190,17 @@ in {
zeroconf = {
discovery.enable =
- mkEnableOption "discovery of pulseaudio sinks in the local network";
+ mkEnableOption (lib.mdDoc "discovery of pulseaudio sinks in the local network");
publish.enable =
- mkEnableOption "publishing the pulseaudio sink in the local network";
+ mkEnableOption (lib.mdDoc "publishing the pulseaudio sink in the local network");
};
# TODO: enable by default?
tcp = {
- enable = mkEnableOption "tcp streaming support";
+ enable = mkEnableOption (lib.mdDoc "tcp streaming support");
anonymousClients = {
- allowAll = mkEnableOption "all anonymous clients to stream to the server";
+ allowAll = mkEnableOption (lib.mdDoc "all anonymous clients to stream to the server");
allowedIpRanges = mkOption {
type = types.listOf types.str;
default = [];
@@ -263,7 +263,7 @@ in {
(drv: drv.override { pulseaudio = overriddenPackage; })
cfg.extraModules;
modulePaths = builtins.map
- (drv: "${drv}/${overriddenPackage.pulseDir}/modules")
+ (drv: "${drv}/lib/pulseaudio/modules")
# User-provided extra modules take precedence
(overriddenModules ++ [ overriddenPackage ]);
in lib.concatStringsSep ":" modulePaths;
diff --git a/third_party/nixpkgs/nixos/modules/config/qt5.nix b/third_party/nixpkgs/nixos/modules/config/qt5.nix
index 9e19774b58..cb3180d7b9 100644
--- a/third_party/nixpkgs/nixos/modules/config/qt5.nix
+++ b/third_party/nixpkgs/nixos/modules/config/qt5.nix
@@ -27,7 +27,7 @@ in
options = {
qt5 = {
- enable = mkEnableOption "Qt5 theming configuration";
+ enable = mkEnableOption (lib.mdDoc "Qt5 theming configuration");
platformTheme = mkOption {
type = types.enum [
diff --git a/third_party/nixpkgs/nixos/modules/config/shells-environment.nix b/third_party/nixpkgs/nixos/modules/config/shells-environment.nix
index 2fda71749c..50bb9b1778 100644
--- a/third_party/nixpkgs/nixos/modules/config/shells-environment.nix
+++ b/third_party/nixpkgs/nixos/modules/config/shells-environment.nix
@@ -140,9 +140,9 @@ in
example = literalExpression ''"''${pkgs.dash}/bin/dash"'';
type = types.path;
visible = false;
- description = ''
+ description = lib.mdDoc ''
The shell executable that is linked system-wide to
- /bin/sh. Please note that NixOS assumes all
+ `/bin/sh`. Please note that NixOS assumes all
over the place that shell to be Bash, so override the default
setting only if you know exactly what you're doing.
'';
diff --git a/third_party/nixpkgs/nixos/modules/config/swap.nix b/third_party/nixpkgs/nixos/modules/config/swap.nix
index 3216590d8f..10d52ade28 100644
--- a/third_party/nixpkgs/nixos/modules/config/swap.nix
+++ b/third_party/nixpkgs/nixos/modules/config/swap.nix
@@ -73,8 +73,8 @@ let
label = mkOption {
example = "swap";
type = types.str;
- description = ''
- Label of the device. Can be used instead of device.
+ description = lib.mdDoc ''
+ Label of the device. Can be used instead of {var}`device`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/system-path.nix b/third_party/nixpkgs/nixos/modules/config/system-path.nix
index b2d546b721..e8bbeac4f7 100644
--- a/third_party/nixpkgs/nixos/modules/config/system-path.nix
+++ b/third_party/nixpkgs/nixos/modules/config/system-path.nix
@@ -78,10 +78,11 @@ in
defaultPackages = mkOption {
type = types.listOf types.package;
default = defaultPackages;
- defaultText = literalDocBook ''
- these packages, with their meta.priority numerically increased
+ defaultText = literalMD ''
+ these packages, with their `meta.priority` numerically increased
(thus lowering their installation priority):
- ${defaultPackagesText}
+
+ ${defaultPackagesText}
'';
example = [];
description = lib.mdDoc ''
@@ -131,7 +132,7 @@ in
path = mkOption {
internal = true;
- description = ''
+ description = lib.mdDoc ''
The packages you want in the boot environment.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/users-groups.nix b/third_party/nixpkgs/nixos/modules/config/users-groups.nix
index 915687d179..dae2fde0b4 100644
--- a/third_party/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/third_party/nixpkgs/nixos/modules/config/users-groups.nix
@@ -17,35 +17,35 @@ let
]);
passwordDescription = ''
- The options ,
- and
+ The options {option}`hashedPassword`,
+ {option}`password` and {option}`passwordFile`
controls what password is set for the user.
- overrides both
- and .
- overrides .
+ {option}`hashedPassword` overrides both
+ {option}`password` and {option}`passwordFile`.
+ {option}`password` overrides {option}`passwordFile`.
If none of these three options are set, no password is assigned to
the user, and the user will not be able to do password logins.
- If the option is true, the
+ If the option {option}`users.mutableUsers` is true, the
password defined in one of the three options will only be set when
the user is created for the first time. After that, you are free to
change the password with the ordinary user management commands. If
- is false, you cannot change
+ {option}`users.mutableUsers` is false, you cannot change
user passwords, they will always be set according to the password
options.
'';
hashedPasswordDescription = ''
- To generate a hashed password run mkpasswd -m sha-512.
+ To generate a hashed password run `mkpasswd -m sha-512`.
- If set to an empty string (""), this user will
+ If set to an empty string (`""`), this user will
be able to log in without being asked for a password (but not via remote
- services such as SSH, or indirectly via su or
- sudo). This should only be used for e.g. bootable
+ services such as SSH, or indirectly via {command}`su` or
+ {command}`sudo`). This should only be used for e.g. bootable
live systems. Note: this is different from setting an empty password,
- which can be achieved using .
+ which can be achieved using {option}`users.users..password`.
- If set to null (default) this user will not
- be able to log in using a password (i.e. via login
+ If set to `null` (default) this user will not
+ be able to log in using a password (i.e. via {command}`login`
command).
'';
@@ -234,7 +234,7 @@ let
hashedPassword = mkOption {
type = with types; nullOr (passwdEntry str);
default = null;
- description = ''
+ description = lib.mdDoc ''
Specifies the hashed password for the user.
${passwordDescription}
${hashedPasswordDescription}
@@ -244,7 +244,7 @@ let
password = mkOption {
type = with types; nullOr str;
default = null;
- description = ''
+ description = lib.mdDoc ''
Specifies the (clear text) password for the user.
Warning: do not set confidential information here
because it is world-readable in the Nix store. This option
@@ -256,11 +256,11 @@ let
passwordFile = mkOption {
type = with types; nullOr str;
default = null;
- description = ''
+ description = lib.mdDoc ''
The full path to a file that contains the user's password. The password
file is read on each system activation. The file should contain
exactly one line, which should be the password in an encrypted form
- that is suitable for the chpasswd -e command.
+ that is suitable for the `chpasswd -e` command.
${passwordDescription}
'';
};
@@ -268,13 +268,13 @@ let
initialHashedPassword = mkOption {
type = with types; nullOr (passwdEntry str);
default = null;
- description = ''
+ description = lib.mdDoc ''
Specifies the initial hashed password for the user, i.e. the
hashed password assigned if the user does not already
- exist. If is true, the
+ exist. If {option}`users.mutableUsers` is true, the
password can be changed subsequently using the
- passwd command. Otherwise, it's
- equivalent to setting the option.
+ {command}`passwd` command. Otherwise, it's
+ equivalent to setting the {option}`hashedPassword` option.
${hashedPasswordDescription}
'';
@@ -458,25 +458,25 @@ in {
users.mutableUsers = mkOption {
type = types.bool;
default = true;
- description = ''
- If set to true, you are free to add new users and groups to the system
- with the ordinary useradd and
- groupadd commands. On system activation, the
- existing contents of the /etc/passwd and
- /etc/group files will be merged with the
- contents generated from the users.users and
- users.groups options.
+ description = lib.mdDoc ''
+ If set to `true`, you are free to add new users and groups to the system
+ with the ordinary `useradd` and
+ `groupadd` commands. On system activation, the
+ existing contents of the `/etc/passwd` and
+ `/etc/group` files will be merged with the
+ contents generated from the `users.users` and
+ `users.groups` options.
The initial password for a user will be set
- according to users.users, but existing passwords
+ according to `users.users`, but existing passwords
will not be changed.
-
- If set to false, the contents of the user and
+ ::: {.warning}
+ If set to `false`, the contents of the user and
group files will simply be replaced on system activation. This also
holds for the user passwords; all changed
passwords will be reset according to the
- users.users configuration on activation.
-
+ `users.users` configuration on activation.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/xdg/portal.nix b/third_party/nixpkgs/nixos/modules/config/xdg/portal.nix
index 079b3385f8..e28ff74e5d 100644
--- a/third_party/nixpkgs/nixos/modules/config/xdg/portal.nix
+++ b/third_party/nixpkgs/nixos/modules/config/xdg/portal.nix
@@ -33,7 +33,7 @@ in
options.xdg.portal = {
enable =
- mkEnableOption ''xdg desktop integration'' // {
+ mkEnableOption (lib.mdDoc ''[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)'') // {
default = false;
};
@@ -54,11 +54,11 @@ in
type = types.bool;
visible = false;
default = false;
- description = ''
- Sets environment variable GTK_USE_PORTAL to 1.
+ description = lib.mdDoc ''
+ Sets environment variable `GTK_USE_PORTAL` to `1`.
This will force GTK-based programs ran outside Flatpak to respect and use XDG Desktop Portals
for features like file chooser but it is an unsupported hack that can easily break things.
- Defaults to false to respect its opt-in nature.
+ Defaults to `false` to respect its opt-in nature.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/config/xdg/portals/lxqt.nix b/third_party/nixpkgs/nixos/modules/config/xdg/portals/lxqt.nix
index 4cc6c193e7..18fcf3d81c 100644
--- a/third_party/nixpkgs/nixos/modules/config/xdg/portals/lxqt.nix
+++ b/third_party/nixpkgs/nixos/modules/config/xdg/portals/lxqt.nix
@@ -12,13 +12,13 @@ in
};
options.xdg.portal.lxqt = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
the desktop portal for the LXQt desktop environment.
- This will add the lxqt.xdg-desktop-portal-lxqt
+ This will add the `lxqt.xdg-desktop-portal-lxqt`
package (with the extra Qt styles) into the
- option
- '';
+ {option}`xdg.portal.extraPortals` option
+ '');
styles = mkOption {
type = types.listOf types.package;
diff --git a/third_party/nixpkgs/nixos/modules/config/xdg/portals/wlr.nix b/third_party/nixpkgs/nixos/modules/config/xdg/portals/wlr.nix
index d8cbc68b1d..d84ae794e3 100644
--- a/third_party/nixpkgs/nixos/modules/config/xdg/portals/wlr.nix
+++ b/third_party/nixpkgs/nixos/modules/config/xdg/portals/wlr.nix
@@ -14,13 +14,13 @@ in
};
options.xdg.portal.wlr = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
desktop portal for wlroots-based desktops
- This will add the xdg-desktop-portal-wlr package into
- the option, and provide the
+ This will add the `xdg-desktop-portal-wlr` package into
+ the {option}`xdg.portal.extraPortals` option, and provide the
configuration file
- '';
+ '');
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/config/zram.nix b/third_party/nixpkgs/nixos/modules/config/zram.nix
index b162fbc311..cc2ca63144 100644
--- a/third_party/nixpkgs/nixos/modules/config/zram.nix
+++ b/third_party/nixpkgs/nixos/modules/config/zram.nix
@@ -73,10 +73,10 @@ in
default = 50;
type = types.int;
description = lib.mdDoc ''
- Maximum amount of memory that can be used by the zram swap devices
+ Maximum total amount of memory that can be stored in the zram swap devices
(as a percentage of your total memory). Defaults to 1/2 of your total
- RAM. Run `zramctl` to check how good memory is
- compressed.
+ RAM. Run `zramctl` to check how good memory is compressed.
+ This doesn't define how much memory will be used by the zram swap devices.
'';
};
@@ -84,8 +84,9 @@ in
default = null;
type = with types; nullOr int;
description = lib.mdDoc ''
- Maximum total amount of memory (in bytes) that can be used by the zram
+ Maximum total amount of memory (in bytes) that can be stored in the zram
swap devices.
+ This doesn't define how much memory will be used by the zram swap devices.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/brillo.nix b/third_party/nixpkgs/nixos/modules/hardware/brillo.nix
index e970c94809..92239de5aa 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/brillo.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/brillo.nix
@@ -7,10 +7,10 @@ in
{
options = {
hardware.brillo = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Enable brillo in userspace.
This will allow brightness control from users in the video group.
- '';
+ '');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/ckb-next.nix b/third_party/nixpkgs/nixos/modules/hardware/ckb-next.nix
index 287d287a77..e5c79c8143 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/ckb-next.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/ckb-next.nix
@@ -13,7 +13,7 @@ in
];
options.hardware.ckb-next = {
- enable = mkEnableOption "the Corsair keyboard/mouse driver";
+ enable = mkEnableOption (lib.mdDoc "the Corsair keyboard/mouse driver");
gid = mkOption {
type = types.nullOr types.int;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/corectrl.nix b/third_party/nixpkgs/nixos/modules/hardware/corectrl.nix
index 345ec479e7..965cbe0267 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/corectrl.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/corectrl.nix
@@ -7,15 +7,15 @@ let
in
{
options.programs.corectrl = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
A tool to overclock amd graphics cards and processors.
Add your user to the corectrl group to run corectrl without needing to enter your password
- '';
+ '');
gpuOverclock = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
true
- '';
+ '');
ppfeaturemask = mkOption {
type = types.str;
default = "0xfffd7fff";
diff --git a/third_party/nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix b/third_party/nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix
index 678b98e513..28ee07f005 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix
@@ -6,7 +6,7 @@ let
in
with lib; {
options.hardware.cpu.amd.sev = {
- enable = mkEnableOption "access to the AMD SEV device";
+ enable = mkEnableOption (lib.mdDoc "access to the AMD SEV device");
user = mkOption {
description = lib.mdDoc "Owner to assign to the SEV device.";
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix b/third_party/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
index 76664133a0..38a484cb12 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
@@ -20,7 +20,7 @@ in
};
options.hardware.cpu.intel.sgx.provision = {
- enable = mkEnableOption "access to the Intel SGX provisioning device";
+ enable = mkEnableOption (lib.mdDoc "access to the Intel SGX provisioning device");
user = mkOption {
description = lib.mdDoc "Owner to assign to the SGX provisioning device.";
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/device-tree.nix b/third_party/nixpkgs/nixos/modules/hardware/device-tree.nix
index 4ce3a3e6c6..2807313a5a 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/device-tree.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/device-tree.nix
@@ -14,6 +14,15 @@ let
'';
};
+ filter = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "*rpi*.dtb";
+ description = lib.mdDoc ''
+ Only apply to .dtb files matching glob expression.
+ '';
+ };
+
dtsFile = mkOption {
type = types.nullOr types.path;
description = lib.mdDoc ''
@@ -150,6 +159,7 @@ in
'';
type = types.listOf (types.coercedTo types.path (path: {
name = baseNameOf path;
+ filter = null;
dtboFile = path;
}) overlayType);
description = lib.mdDoc ''
@@ -161,7 +171,7 @@ in
default = null;
type = types.nullOr types.path;
internal = true;
- description = ''
+ description = lib.mdDoc ''
A path containing the result of applying `overlays` to `kernelPackage`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/flirc.nix b/third_party/nixpkgs/nixos/modules/hardware/flirc.nix
index 94ec715b9f..2fe40db947 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/flirc.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/flirc.nix
@@ -3,7 +3,7 @@ let
cfg = config.hardware.flirc;
in
{
- options.hardware.flirc.enable = lib.mkEnableOption "software to configure a Flirc USB device";
+ options.hardware.flirc.enable = lib.mkEnableOption (lib.mdDoc "software to configure a Flirc USB device");
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.flirc ];
diff --git a/third_party/nixpkgs/nixos/modules/hardware/gkraken.nix b/third_party/nixpkgs/nixos/modules/hardware/gkraken.nix
index 97d15369db..f427fec0a7 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/gkraken.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/gkraken.nix
@@ -7,7 +7,7 @@ let
in
{
options.hardware.gkraken = {
- enable = mkEnableOption "gkraken's udev rules for NZXT AIO liquid coolers";
+ enable = mkEnableOption (lib.mdDoc "gkraken's udev rules for NZXT AIO liquid coolers");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/gpgsmartcards.nix b/third_party/nixpkgs/nixos/modules/hardware/gpgsmartcards.nix
index 4c1d0cc5b2..43ade4d12e 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/gpgsmartcards.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/gpgsmartcards.nix
@@ -28,7 +28,7 @@ let
cfg = config.hardware.gpgSmartcards;
in {
options.hardware.gpgSmartcards = {
- enable = mkEnableOption "udev rules for gnupg smart cards";
+ enable = mkEnableOption (lib.mdDoc "udev rules for gnupg smart cards");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/i2c.nix b/third_party/nixpkgs/nixos/modules/hardware/i2c.nix
index 0b57cd1c28..c0423cc5d9 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/i2c.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/i2c.nix
@@ -8,11 +8,11 @@ in
{
options.hardware.i2c = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
i2c devices support. By default access is granted to users in the "i2c"
group (will be created if non-existent) and any user with a seat, meaning
logged on the computer locally.
- '';
+ '');
group = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/keyboard/teck.nix b/third_party/nixpkgs/nixos/modules/hardware/keyboard/teck.nix
index 091ddb8196..2705668d9a 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/keyboard/teck.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/keyboard/teck.nix
@@ -6,7 +6,7 @@ let
in
{
options.hardware.keyboard.teck = {
- enable = mkEnableOption "non-root access to the firmware of TECK keyboards";
+ enable = mkEnableOption (lib.mdDoc "non-root access to the firmware of TECK keyboards");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/keyboard/uhk.nix b/third_party/nixpkgs/nixos/modules/hardware/keyboard/uhk.nix
index bf2d739c3a..c180514399 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/keyboard/uhk.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/keyboard/uhk.nix
@@ -6,12 +6,12 @@ let
in
{
options.hardware.keyboard.uhk = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
non-root access to the firmware of UHK keyboards.
You need it when you want to flash a new firmware on the keyboard.
Access to the keyboard is granted to users in the "input" group.
You may want to install the uhk-agent package.
- '';
+ '');
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/ksm.nix b/third_party/nixpkgs/nixos/modules/hardware/ksm.nix
index ba7a1c1216..82d94e6ab5 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/ksm.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/ksm.nix
@@ -11,7 +11,7 @@ in {
];
options.hardware.ksm = {
- enable = mkEnableOption "Kernel Same-Page Merging";
+ enable = mkEnableOption (lib.mdDoc "Kernel Same-Page Merging");
sleep = mkOption {
type = types.nullOr types.int;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/ledger.nix b/third_party/nixpkgs/nixos/modules/hardware/ledger.nix
index 41abe74315..fcce4f61a8 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/ledger.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/ledger.nix
@@ -6,7 +6,7 @@ let
cfg = config.hardware.ledger;
in {
- options.hardware.ledger.enable = mkEnableOption "udev rules for Ledger devices";
+ options.hardware.ledger.enable = mkEnableOption (lib.mdDoc "udev rules for Ledger devices");
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.ledger-udev-rules ];
diff --git a/third_party/nixpkgs/nixos/modules/hardware/logitech.nix b/third_party/nixpkgs/nixos/modules/hardware/logitech.nix
index 70ca59a7dd..9b06eb8a8b 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/logitech.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/logitech.nix
@@ -19,7 +19,7 @@ in
options.hardware.logitech = {
lcd = {
- enable = mkEnableOption "Logitech LCD Devices";
+ enable = mkEnableOption (lib.mdDoc "Logitech LCD Devices");
startWhenNeeded = mkOption {
type = types.bool;
@@ -41,7 +41,7 @@ in
};
wireless = {
- enable = mkEnableOption "Logitech Wireless Devices";
+ enable = mkEnableOption (lib.mdDoc "Logitech Wireless Devices");
enableGraphical = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/opengl.nix b/third_party/nixpkgs/nixos/modules/hardware/opengl.nix
index dd30bd92b4..5a5d88d9a4 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/opengl.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/opengl.nix
@@ -71,7 +71,7 @@ in
package = mkOption {
type = types.package;
internal = true;
- description = ''
+ description = lib.mdDoc ''
The package that provides the OpenGL implementation.
'';
};
@@ -79,9 +79,9 @@ in
package32 = mkOption {
type = types.package;
internal = true;
- description = ''
+ description = lib.mdDoc ''
The package that provides the 32-bit OpenGL implementation on
- 64-bit systems. Used when is
+ 64-bit systems. Used when {option}`driSupport32Bit` is
set.
'';
};
@@ -111,11 +111,11 @@ in
type = types.bool;
internal = true;
default = false;
- description = ''
- Whether the LD_LIBRARY_PATH environment variable
+ description = lib.mdDoc ''
+ Whether the `LD_LIBRARY_PATH` environment variable
should be set to the locations of driver libraries. Drivers which
rely on overriding libraries should set this to true. Drivers which
- support libglvnd and other dispatch libraries
+ support `libglvnd` and other dispatch libraries
instead of overriding libraries should not set this.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/openrazer.nix b/third_party/nixpkgs/nixos/modules/hardware/openrazer.nix
index 315a4a6824..247913297c 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/openrazer.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/openrazer.nix
@@ -49,9 +49,9 @@ in
{
options = {
hardware.openrazer = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
OpenRazer drivers and userspace daemon.
- '';
+ '');
verboseLogging = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/raid/hpsa.nix b/third_party/nixpkgs/nixos/modules/hardware/raid/hpsa.nix
index 120348a74b..2934cd19a8 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/raid/hpsa.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/raid/hpsa.nix
@@ -48,7 +48,7 @@ in {
options = {
hardware.raid.HPSmartArray = {
- enable = mkEnableOption "HP Smart Array kernel modules and CLI utility";
+ enable = mkEnableOption (lib.mdDoc "HP Smart Array kernel modules and CLI utility");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/hardware/saleae-logic.nix b/third_party/nixpkgs/nixos/modules/hardware/saleae-logic.nix
index 02d234cd3f..f144814a06 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/saleae-logic.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/saleae-logic.nix
@@ -5,7 +5,7 @@ let
in
{
options.hardware.saleae-logic = {
- enable = lib.mkEnableOption "udev rules for Saleae Logic devices";
+ enable = lib.mkEnableOption (lib.mdDoc "udev rules for Saleae Logic devices");
package = lib.mkOption {
type = lib.types.package;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/sata.nix b/third_party/nixpkgs/nixos/modules/hardware/sata.nix
index bac24236f7..5330ba9268 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/sata.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/sata.nix
@@ -36,7 +36,7 @@ in
meta.maintainers = with lib.maintainers; [ peterhoeg ];
options.hardware.sata.timeout = {
- enable = mkEnableOption "SATA drive timeouts";
+ enable = mkEnableOption (lib.mdDoc "SATA drive timeouts");
deciSeconds = mkOption {
example = 70;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/system-76.nix b/third_party/nixpkgs/nixos/modules/hardware/system-76.nix
index 21cab4a378..3fb2c10a6e 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/system-76.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/system-76.nix
@@ -57,7 +57,7 @@ let
in {
options = {
hardware.system76 = {
- enableAll = mkEnableOption "all recommended configuration for system76 systems";
+ enableAll = mkEnableOption (lib.mdDoc "all recommended configuration for system76 systems");
firmware-daemon.enable = mkOption {
default = cfg.enableAll;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/tuxedo-keyboard.nix b/third_party/nixpkgs/nixos/modules/hardware/tuxedo-keyboard.nix
index 7bcabde489..3ae876bd1f 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/tuxedo-keyboard.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/tuxedo-keyboard.nix
@@ -8,23 +8,23 @@ let
in
{
options.hardware.tuxedo-keyboard = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Enables the tuxedo-keyboard driver.
- To configure the driver, pass the options to the configuration.
+ To configure the driver, pass the options to the {option}`boot.kernelParams` configuration.
There are several parameters you can change. It's best to check at the source code description which options are supported.
- You can find all the supported parameters at:
+ You can find all the supported parameters at:
- In order to use the custom lighting with the maximumg brightness and a color of 0xff0a0a one would put pass like this:
+ In order to use the `custom` lighting with the maximumg brightness and a color of `0xff0a0a` one would put pass {option}`boot.kernelParams` like this:
-
+ ```
boot.kernelParams = [
"tuxedo_keyboard.mode=0"
"tuxedo_keyboard.brightness=255"
"tuxedo_keyboard.color_left=0xff0a0a"
];
-
- '';
+ ```
+ '');
};
config = mkIf cfg.enable
diff --git a/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix b/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix
index e76fa45fea..4b87abe5be 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix
@@ -10,7 +10,7 @@ let
};
in {
options.hardware.ubertooth = {
- enable = mkEnableOption "Enable the Ubertooth software and its udev rules.";
+ enable = mkEnableOption (lib.mdDoc "Enable the Ubertooth software and its udev rules.");
group = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/uinput.nix b/third_party/nixpkgs/nixos/modules/hardware/uinput.nix
index 55e86bfa6b..15fa66b8d8 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/uinput.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/uinput.nix
@@ -4,7 +4,7 @@ let
cfg = config.hardware.uinput;
in {
options.hardware.uinput = {
- enable = lib.mkEnableOption "uinput support";
+ enable = lib.mkEnableOption (lib.mdDoc "uinput support");
};
config = lib.mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix b/third_party/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix
index 76cb4c6ee9..ddd3f3ec7f 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix
@@ -12,7 +12,7 @@ in
{
- options.hardware.mwProCapture.enable = mkEnableOption "Magewell Pro Capture family kernel module";
+ options.hardware.mwProCapture.enable = mkEnableOption (lib.mdDoc "Magewell Pro Capture family kernel module");
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/video/hidpi.nix b/third_party/nixpkgs/nixos/modules/hardware/video/hidpi.nix
index 1cb4470f1b..8c8f8bc0c2 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/video/hidpi.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/video/hidpi.nix
@@ -2,7 +2,7 @@
with lib;
{
- options.hardware.video.hidpi.enable = mkEnableOption "Font/DPI configuration optimized for HiDPI displays";
+ options.hardware.video.hidpi.enable = mkEnableOption (lib.mdDoc "Font/DPI configuration optimized for HiDPI displays");
config = mkIf config.hardware.video.hidpi.enable {
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
diff --git a/third_party/nixpkgs/nixos/modules/hardware/video/nvidia.nix b/third_party/nixpkgs/nixos/modules/hardware/video/nvidia.nix
index 8c6c97f9b2..25cab06119 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/video/nvidia.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/video/nvidia.nix
@@ -233,11 +233,8 @@ in
}
{
- assertion = cfg.powerManagement.enable -> (
- builtins.pathExists (cfg.package.out + "/bin/nvidia-sleep.sh") &&
- builtins.pathExists (cfg.package.out + "/lib/systemd/system-sleep/nvidia")
- );
- message = "Required files for driver based power management don't exist.";
+ assertion = cfg.powerManagement.enable -> versionAtLeast nvidia_x11.version "430.09";
+ message = "Required files for driver based power management only exist on versions >= 430.09.";
}
{
@@ -260,8 +257,6 @@ in
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel iGPU / AMD APU.
- services.xserver.useGlamor = mkDefault offloadCfg.enable;
-
services.xserver.drivers = let
in optional primeEnabled {
name = igpuDriver;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/video/switcheroo-control.nix b/third_party/nixpkgs/nixos/modules/hardware/video/switcheroo-control.nix
index 199adb2ad8..982388f8e5 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/video/switcheroo-control.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/video/switcheroo-control.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.switcherooControl;
in {
options.services.switcherooControl = {
- enable = mkEnableOption "switcheroo-control, a D-Bus service to check the availability of dual-GPU";
+ enable = mkEnableOption (lib.mdDoc "switcheroo-control, a D-Bus service to check the availability of dual-GPU");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix b/third_party/nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix
index 8940674ce5..480c636aa0 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix
@@ -12,7 +12,7 @@ in
{
- options.hardware.facetimehd.enable = mkEnableOption "facetimehd kernel module";
+ options.hardware.facetimehd.enable = mkEnableOption (lib.mdDoc "facetimehd kernel module");
options.hardware.facetimehd.withCalibration = mkOption {
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/hardware/wooting.nix b/third_party/nixpkgs/nixos/modules/hardware/wooting.nix
index ee550cbbf6..2843dbfd7b 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/wooting.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/wooting.nix
@@ -3,7 +3,7 @@
with lib;
{
options.hardware.wooting.enable =
- mkEnableOption "Enable support for Wooting keyboards";
+ mkEnableOption (lib.mdDoc "Enable support for Wooting keyboards");
config = mkIf config.hardware.wooting.enable {
environment.systemPackages = [ pkgs.wootility ];
diff --git a/third_party/nixpkgs/nixos/modules/hardware/xone.nix b/third_party/nixpkgs/nixos/modules/hardware/xone.nix
index 89690d8c6f..211d3fce86 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/xone.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/xone.nix
@@ -6,7 +6,7 @@ let
in
{
options.hardware.xone = {
- enable = mkEnableOption "the xone driver for Xbox One and Xbobx Series X|S accessories";
+ enable = mkEnableOption (lib.mdDoc "the xone driver for Xbox One and Xbobx Series X|S accessories");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/hardware/xpadneo.nix b/third_party/nixpkgs/nixos/modules/hardware/xpadneo.nix
index 092f36729b..1e43794dc0 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/xpadneo.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/xpadneo.nix
@@ -6,7 +6,7 @@ let
in
{
options.hardware.xpadneo = {
- enable = mkEnableOption "the xpadneo driver for Xbox One wireless controllers";
+ enable = mkEnableOption (lib.mdDoc "the xpadneo driver for Xbox One wireless controllers");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/i18n/input-method/default.nix b/third_party/nixpkgs/nixos/modules/i18n/input-method/default.nix
index bbc5783565..07fb86bcc2 100644
--- a/third_party/nixpkgs/nixos/modules/i18n/input-method/default.nix
+++ b/third_party/nixpkgs/nixos/modules/i18n/input-method/default.nix
@@ -32,22 +32,20 @@ in
type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]);
default = null;
example = "fcitx";
- description = ''
+ description = lib.mdDoc ''
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
Input methods are specially used to input Chinese, Japanese and Korean characters.
Currently the following input methods are available in NixOS:
-
- ibus: The intelligent input bus, extra input engines can be added using i18n.inputMethod.ibus.engines.
- fcitx: A customizable lightweight input method, extra input engines can be added using i18n.inputMethod.fcitx.engines.
- fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using 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 a XIM bridge. uim mainly support Chinese, Japanese and Korean.
- hime: An extremely easy-to-use input method framework.
- kime: Koream IME.
-
+ - ibus: The intelligent input bus, extra input engines can be added using `i18n.inputMethod.ibus.engines`.
+ - fcitx: A customizable lightweight input method, extra input engines can be added using `i18n.inputMethod.fcitx.engines`.
+ - fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `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 a XIM bridge. uim mainly support Chinese, Japanese and Korean.
+ - hime: An extremely easy-to-use input method framework.
+ - kime: Koream IME.
'';
};
@@ -55,7 +53,7 @@ in
internal = true;
type = types.nullOr types.path;
default = null;
- description = ''
+ description = lib.mdDoc ''
The input method method package.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix b/third_party/nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix
index 7cdef9ae93..aa816c90a3 100644
--- a/third_party/nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix
+++ b/third_party/nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix
@@ -20,7 +20,7 @@ in {
'';
};
- enableRimeData = mkEnableOption "default rime-data with fcitx5-rime";
+ enableRimeData = mkEnableOption (lib.mdDoc "default rime-data with fcitx5-rime");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix b/third_party/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
index e192312649..cb2522d867 100644
--- a/third_party/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
+++ b/third_party/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
@@ -58,7 +58,7 @@ in
firmwarePartitionOffset = mkOption {
type = types.int;
default = 8;
- description = ''
+ description = lib.mdDoc ''
Gap in front of the /boot/firmware partition, in mebibytes (1024×1024
bytes).
Can be increased to make more space for boards requiring to dd u-boot
diff --git a/third_party/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix b/third_party/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
index 0035ceca6f..4700895cec 100644
--- a/third_party/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/third_party/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,7 +1,7 @@
{
- x86_64-linux = "/nix/store/3af6g226v4hsv6x7xzh23d6wqyq0nzjp-nix-2.10.3";
- i686-linux = "/nix/store/43xxh2jip6rpdhylc5z9a5fxx54dw206-nix-2.10.3";
- aarch64-linux = "/nix/store/6qw3r57nra08ars8j8zyj3fl8lz4cvnd-nix-2.10.3";
- x86_64-darwin = "/nix/store/3b7qrm0qjw57fmznrsvm0ai568i89hc2-nix-2.10.3";
- aarch64-darwin = "/nix/store/gp7k17iy1n7hgf97qwnxw28c6v9nhb1i-nix-2.10.3";
+ x86_64-linux = "/nix/store/nmq5zcd93qb1yskx42rs910ff0247nn2-nix-2.11.0";
+ i686-linux = "/nix/store/ja6im1sw9a8lzczi10lc0iddffl9kzmn-nix-2.11.0";
+ aarch64-linux = "/nix/store/myr6fcqa9y4y2fb83zz73dck52vcn81z-nix-2.11.0";
+ x86_64-darwin = "/nix/store/2pfjz9b22k9997gh7cb0hjk1qa4lxrvy-nix-2.11.0";
+ aarch64-darwin = "/nix/store/lr32i0bdarx1iqsch4sy24jj1jkfw9vf-nix-2.11.0";
}
diff --git a/third_party/nixpkgs/nixos/modules/misc/assertions.nix b/third_party/nixpkgs/nixos/modules/misc/assertions.nix
index 550b3ac97f..364bb02be8 100644
--- a/third_party/nixpkgs/nixos/modules/misc/assertions.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/assertions.nix
@@ -11,7 +11,7 @@ with lib;
internal = true;
default = [];
example = [ { assertion = false; message = "you can't enable this for that reason"; } ];
- description = ''
+ description = lib.mdDoc ''
This option allows modules to express conditions that must
hold for the evaluation of the system configuration to
succeed, along with associated error messages for the user.
@@ -23,7 +23,7 @@ with lib;
default = [];
type = types.listOf types.str;
example = [ "The `foo' service is deprecated and will go away soon!" ];
- description = ''
+ description = lib.mdDoc ''
This option allows modules to show warnings to users during
the evaluation of the system configuration.
'';
diff --git a/third_party/nixpkgs/nixos/modules/misc/documentation.nix b/third_party/nixpkgs/nixos/modules/misc/documentation.nix
index 251a361a58..5dcdc8f96c 100644
--- a/third_party/nixpkgs/nixos/modules/misc/documentation.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/documentation.nix
@@ -226,15 +226,14 @@ in
nixos.enable = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
Whether to install NixOS's own documentation.
-
- This includes man pages like
- configuration.nix5 if is
- set.
- This includes the HTML manual and the nixos-help command if
- is set.
-
+
+ - This includes man pages like
+ {manpage}`configuration.nix(5)` if {option}`documentation.man.enable` is
+ set.
+ - This includes the HTML manual and the {command}`nixos-help` command if
+ {option}`documentation.doc.enable` is set.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/misc/documentation/test.nix b/third_party/nixpkgs/nixos/modules/misc/documentation/test.nix
index 1eaa63b1fb..dd1588abdb 100644
--- a/third_party/nixpkgs/nixos/modules/misc/documentation/test.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/documentation/test.nix
@@ -30,7 +30,7 @@ let
specialArgs.someArg.myModule = { lib, ... }: {
options.foobar = lib.mkOption {
type = lib.types.str;
- description = "The foobar option was added via specialArgs";
+ description = lib.mdDoc "The foobar option was added via specialArgs";
default = "qux";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/misc/ids.nix b/third_party/nixpkgs/nixos/modules/misc/ids.nix
index 38ab338aa5..cbc3b61205 100644
--- a/third_party/nixpkgs/nixos/modules/misc/ids.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/ids.nix
@@ -19,7 +19,7 @@ in
ids.uids = lib.mkOption {
internal = true;
- description = ''
+ description = lib.mdDoc ''
The user IDs used in NixOS.
'';
type = types.attrsOf types.int;
@@ -27,7 +27,7 @@ in
ids.gids = lib.mkOption {
internal = true;
- description = ''
+ description = lib.mdDoc ''
The group IDs used in NixOS.
'';
type = types.attrsOf types.int;
diff --git a/third_party/nixpkgs/nixos/modules/misc/label.nix b/third_party/nixpkgs/nixos/modules/misc/label.nix
index b97cbaa263..0c29d13aab 100644
--- a/third_party/nixpkgs/nixos/modules/misc/label.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/label.nix
@@ -12,7 +12,7 @@ in
nixos.label = mkOption {
type = types.strMatching "[a-zA-Z0-9:_\\.-]*";
- description = ''
+ description = lib.mdDoc ''
NixOS version name to be used in the names of generated
outputs and boot labels.
@@ -20,25 +20,26 @@ in
this is the option for you.
It can only contain letters, numbers and the following symbols:
- :, _, . and -.
+ `:`, `_`, `.` and `-`.
- The default is separated by
- "-" + "-" + NIXOS_LABEL_VERSION environment
+ The default is {option}`system.nixos.tags` separated by
+ "-" + "-" + {env}`NIXOS_LABEL_VERSION` environment
variable (defaults to the value of
- ).
+ {option}`system.nixos.version`).
- Can be overriden by setting NIXOS_LABEL.
+ Can be overriden by setting {env}`NIXOS_LABEL`.
Useful for not loosing track of configurations built from different
nixos branches/revisions, e.g.:
-
+ ```
#!/bin/sh
today=`date +%Y%m%d`
branch=`(cd nixpkgs ; git branch 2>/dev/null | sed -n '/^\* / { s|^\* ||; p; }')`
revision=`(cd nixpkgs ; git rev-parse HEAD)`
export NIXOS_LABEL_VERSION="$today.$branch-''${revision:0:7}"
- nixos-rebuild switch
+ nixos-rebuild switch
+ ```
'';
};
@@ -46,19 +47,19 @@ in
type = types.listOf types.str;
default = [];
example = [ "with-xen" ];
- description = ''
+ description = lib.mdDoc ''
Strings to prefix to the default
- .
+ {option}`system.nixos.label`.
Useful for not loosing track of configurations built with
different options, e.g.:
-
+ ```
{
system.nixos.tags = [ "with-xen" ];
virtualisation.xen.enable = true;
}
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/misc/locate.nix b/third_party/nixpkgs/nixos/modules/misc/locate.nix
index b83e280b28..acf441cda6 100644
--- a/third_party/nixpkgs/nixos/modules/misc/locate.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/locate.nix
@@ -183,8 +183,8 @@ in
pruneNames = mkOption {
type = listOf str;
default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
- defaultText = literalDocBook ''
- [ ".bzr" ".cache" ".git" ".hg" ".svn" ], if
+ defaultText = literalMD ''
+ `[ ".bzr" ".cache" ".git" ".hg" ".svn" ]`, if
supported by the locate implementation (i.e. mlocate or plocate).
'';
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/misc/man-db.nix b/third_party/nixpkgs/nixos/modules/misc/man-db.nix
index d267ad1256..524199ac40 100644
--- a/third_party/nixpkgs/nixos/modules/misc/man-db.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/man-db.nix
@@ -7,7 +7,7 @@ in
{
options = {
documentation.man.man-db = {
- enable = lib.mkEnableOption "man-db as the default man page viewer" // {
+ enable = lib.mkEnableOption (lib.mdDoc "man-db as the default man page viewer") // {
default = config.documentation.man.enable;
defaultText = lib.literalExpression "config.documentation.man.enable";
example = false;
diff --git a/third_party/nixpkgs/nixos/modules/misc/mandoc.nix b/third_party/nixpkgs/nixos/modules/misc/mandoc.nix
index d67c42bff6..9bcef5b1a0 100644
--- a/third_party/nixpkgs/nixos/modules/misc/mandoc.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/mandoc.nix
@@ -10,7 +10,7 @@ in {
options = {
documentation.man.mandoc = {
- enable = lib.mkEnableOption "mandoc as the default man page viewer";
+ enable = lib.mkEnableOption (lib.mdDoc "mandoc as the default man page viewer");
manPath = lib.mkOption {
type = with lib.types; listOf str;
diff --git a/third_party/nixpkgs/nixos/modules/misc/meta.nix b/third_party/nixpkgs/nixos/modules/misc/meta.nix
index 8e689a63f6..e1d16f802c 100644
--- a/third_party/nixpkgs/nixos/modules/misc/meta.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/meta.nix
@@ -38,7 +38,7 @@ in
internal = true;
default = [];
example = literalExpression ''[ lib.maintainers.all ]'';
- description = ''
+ description = lib.mdDoc ''
List of maintainers of each module. This option should be defined at
most once per module.
'';
@@ -48,7 +48,7 @@ in
type = docFile;
internal = true;
example = "./meta.chapter.xml";
- description = ''
+ description = lib.mdDoc ''
Documentation prologue for the set of options of each module. This
option should be defined at most once per module.
'';
@@ -60,7 +60,7 @@ in
};
internal = true;
default = true;
- description = ''
+ description = lib.mdDoc ''
Whether to include this module in the split options doc build.
Disable if the module references `config`, `pkgs` or other module
arguments that cannot be evaluated as constants.
diff --git a/third_party/nixpkgs/nixos/modules/misc/nixops-autoluks.nix b/third_party/nixpkgs/nixos/modules/misc/nixops-autoluks.nix
index 20c143286a..221b34f3cc 100644
--- a/third_party/nixpkgs/nixos/modules/misc/nixops-autoluks.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/nixops-autoluks.nix
@@ -5,7 +5,7 @@ let
inherit (config.nixops) enableDeprecatedAutoLuks;
in {
- options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "Enable the deprecated NixOps AutoLuks module";
+ options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption (lib.mdDoc "Enable the deprecated NixOps AutoLuks module");
config = {
assertions = [
diff --git a/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix b/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix
index 127f37b0df..80b8ef591d 100644
--- a/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix
@@ -311,26 +311,26 @@ in
defaultText = lib.literalMD ''
Traditionally `builtins.currentSystem`, but unset when invoking NixOS through `lib.nixosSystem`.
'';
- description = ''
+ description = lib.mdDoc ''
This option does not need to be specified for NixOS configurations
- with a recently generated hardware-configuration.nix.
+ with a recently generated `hardware-configuration.nix`.
Specifies the Nix platform type on which NixOS should be built.
- It is better to specify nixpkgs.localSystem instead.
-
+ It is better to specify `nixpkgs.localSystem` instead.
+ ```
{
nixpkgs.system = ..;
}
-
+ ```
is the same as
-
+ ```
{
nixpkgs.localSystem.system = ..;
}
-
- See nixpkgs.localSystem for more information.
+ ```
+ See `nixpkgs.localSystem` for more information.
- Ignored when nixpkgs.pkgs, nixpkgs.localSystem or nixpkgs.hostPlatform is set.
+ Ignored when `nixpkgs.pkgs`, `nixpkgs.localSystem` or `nixpkgs.hostPlatform` is set.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/misc/passthru.nix b/third_party/nixpkgs/nixos/modules/misc/passthru.nix
index 4e99631fdd..beb9d78290 100644
--- a/third_party/nixpkgs/nixos/modules/misc/passthru.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/passthru.nix
@@ -7,7 +7,7 @@
options = {
passthru = lib.mkOption {
visible = false;
- description = ''
+ description = lib.mdDoc ''
This attribute set will be exported as a system attribute.
You can put whatever you want here.
'';
diff --git a/third_party/nixpkgs/nixos/modules/misc/wordlist.nix b/third_party/nixpkgs/nixos/modules/misc/wordlist.nix
index 72ef226ca6..f01fcb6f5a 100644
--- a/third_party/nixpkgs/nixos/modules/misc/wordlist.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/wordlist.nix
@@ -8,7 +8,7 @@ in
{
options = {
environment.wordlist = {
- enable = mkEnableOption "environment variables for lists of words";
+ enable = mkEnableOption (lib.mdDoc "environment variables for lists of words");
lists = mkOption {
type = types.attrsOf (types.nonEmptyListOf types.path);
diff --git a/third_party/nixpkgs/nixos/modules/module-list.nix b/third_party/nixpkgs/nixos/modules/module-list.nix
index e5f9c673c1..12692d7bfb 100644
--- a/third_party/nixpkgs/nixos/modules/module-list.nix
+++ b/third_party/nixpkgs/nixos/modules/module-list.nix
@@ -204,6 +204,7 @@
./programs/plotinus.nix
./programs/proxychains.nix
./programs/qt5ct.nix
+ ./programs/rust-motd.nix
./programs/screen.nix
./programs/sedutil.nix
./programs/seahorse.nix
@@ -588,6 +589,7 @@
./services/misc/jackett.nix
./services/misc/jellyfin.nix
./services/misc/klipper.nix
+ ./services/misc/languagetool.nix
./services/misc/logkeys.nix
./services/misc/leaps.nix
./services/misc/lidarr.nix
@@ -692,6 +694,7 @@
./services/monitoring/prometheus/alertmanager.nix
./services/monitoring/prometheus/exporters.nix
./services/monitoring/prometheus/pushgateway.nix
+ ./services/monitoring/prometheus/sachet.nix
./services/monitoring/prometheus/xmpp-alerts.nix
./services/monitoring/riemann.nix
./services/monitoring/riemann-dash.nix
@@ -861,6 +864,7 @@
./services/networking/nbd.nix
./services/networking/ndppd.nix
./services/networking/nebula.nix
+ ./services/networking/netbird.nix
./services/networking/networkmanager.nix
./services/networking/nextdns.nix
./services/networking/nftables.nix
@@ -1061,6 +1065,7 @@
./services/web-apps/discourse.nix
./services/web-apps/documize.nix
./services/web-apps/dokuwiki.nix
+ ./services/web-apps/dolibarr.nix
./services/web-apps/engelsystem.nix
./services/web-apps/ethercalc.nix
./services/web-apps/fluidd.nix
@@ -1104,6 +1109,7 @@
./services/web-apps/prosody-filer.nix
./services/web-apps/matomo.nix
./services/web-apps/openwebrx.nix
+ ./services/web-apps/outline.nix
./services/web-apps/restya-board.nix
./services/web-apps/sogo.nix
./services/web-apps/rss-bridge.nix
@@ -1116,6 +1122,7 @@
./services/web-apps/wiki-js.nix
./services/web-apps/whitebophir.nix
./services/web-apps/wordpress.nix
+ ./services/web-apps/writefreely.nix
./services/web-apps/youtrack.nix
./services/web-apps/zabbix.nix
./services/web-servers/agate.nix
diff --git a/third_party/nixpkgs/nixos/modules/programs/_1password-gui.nix b/third_party/nixpkgs/nixos/modules/programs/_1password-gui.nix
index 20bd846d51..83ef6037fb 100644
--- a/third_party/nixpkgs/nixos/modules/programs/_1password-gui.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/_1password-gui.nix
@@ -16,7 +16,7 @@ in
options = {
programs._1password-gui = {
- enable = mkEnableOption "the 1Password GUI application";
+ enable = mkEnableOption (lib.mdDoc "the 1Password GUI application");
polkitPolicyOwners = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/_1password.nix b/third_party/nixpkgs/nixos/modules/programs/_1password.nix
index b87e9b776e..9124615075 100644
--- a/third_party/nixpkgs/nixos/modules/programs/_1password.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/_1password.nix
@@ -16,7 +16,7 @@ in
options = {
programs._1password = {
- enable = mkEnableOption "the 1Password CLI tool";
+ enable = mkEnableOption (lib.mdDoc "the 1Password CLI tool");
package = mkPackageOption pkgs "1Password CLI" {
default = [ "_1password" ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/appgate-sdp.nix b/third_party/nixpkgs/nixos/modules/programs/appgate-sdp.nix
index 12cb542f4d..bdd538dc2f 100644
--- a/third_party/nixpkgs/nixos/modules/programs/appgate-sdp.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/appgate-sdp.nix
@@ -5,7 +5,7 @@ with lib;
{
options = {
programs.appgate-sdp = {
- enable = mkEnableOption "AppGate SDP VPN client";
+ enable = mkEnableOption (lib.mdDoc "AppGate SDP VPN client");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/atop.nix b/third_party/nixpkgs/nixos/modules/programs/atop.nix
index a0763d2dcf..2b14d7c734 100644
--- a/third_party/nixpkgs/nixos/modules/programs/atop.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/atop.nix
@@ -14,7 +14,7 @@ in
programs.atop = rec {
- enable = mkEnableOption "Atop";
+ enable = mkEnableOption (lib.mdDoc "Atop");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/bash-my-aws.nix b/third_party/nixpkgs/nixos/modules/programs/bash-my-aws.nix
index 15e429a754..10f16cae65 100644
--- a/third_party/nixpkgs/nixos/modules/programs/bash-my-aws.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/bash-my-aws.nix
@@ -13,7 +13,7 @@ in
{
options = {
programs.bash-my-aws = {
- enable = mkEnableOption "bash-my-aws";
+ enable = mkEnableOption (lib.mdDoc "bash-my-aws");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/bash/bash-completion.nix b/third_party/nixpkgs/nixos/modules/programs/bash/bash-completion.nix
index b8e5b1bfa3..96fbe0126d 100644
--- a/third_party/nixpkgs/nixos/modules/programs/bash/bash-completion.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/bash/bash-completion.nix
@@ -7,7 +7,7 @@ let
in
{
options = {
- programs.bash.enableCompletion = mkEnableOption "Bash completion for all interactive bash shells" // {
+ programs.bash.enableCompletion = mkEnableOption (lib.mdDoc "Bash completion for all interactive bash shells") // {
default = true;
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/bash/ls-colors.nix b/third_party/nixpkgs/nixos/modules/programs/bash/ls-colors.nix
index 254ee14c47..6a5253a3cc 100644
--- a/third_party/nixpkgs/nixos/modules/programs/bash/ls-colors.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/bash/ls-colors.nix
@@ -7,7 +7,7 @@ let
in
{
options = {
- programs.bash.enableLsColors = mkEnableOption "extra colors in directory listings" // {
+ programs.bash.enableLsColors = mkEnableOption (lib.mdDoc "extra colors in directory listings") // {
default = true;
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/bash/undistract-me.nix b/third_party/nixpkgs/nixos/modules/programs/bash/undistract-me.nix
index 8d1b1740f6..587b649377 100644
--- a/third_party/nixpkgs/nixos/modules/programs/bash/undistract-me.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/bash/undistract-me.nix
@@ -8,9 +8,9 @@ in
{
options = {
programs.bash.undistractMe = {
- enable = mkEnableOption "notifications when long-running terminal commands complete";
+ enable = mkEnableOption (lib.mdDoc "notifications when long-running terminal commands complete");
- playSound = mkEnableOption "notification sounds when long-running terminal commands complete";
+ playSound = mkEnableOption (lib.mdDoc "notification sounds when long-running terminal commands complete");
timeout = mkOption {
default = 10;
diff --git a/third_party/nixpkgs/nixos/modules/programs/bcc.nix b/third_party/nixpkgs/nixos/modules/programs/bcc.nix
index e475c6ceaa..ff29d56bed 100644
--- a/third_party/nixpkgs/nixos/modules/programs/bcc.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/bcc.nix
@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
{
- options.programs.bcc.enable = lib.mkEnableOption "bcc";
+ options.programs.bcc.enable = lib.mkEnableOption (lib.mdDoc "bcc");
config = lib.mkIf config.programs.bcc.enable {
environment.systemPackages = [ pkgs.bcc ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/browserpass.nix b/third_party/nixpkgs/nixos/modules/programs/browserpass.nix
index e1456d3c18..346d38e5e8 100644
--- a/third_party/nixpkgs/nixos/modules/programs/browserpass.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/browserpass.nix
@@ -4,7 +4,7 @@ with lib;
{
- options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host";
+ options.programs.browserpass.enable = mkEnableOption (lib.mdDoc "Browserpass native messaging host");
config = mkIf config.programs.browserpass.enable {
environment.etc = let
diff --git a/third_party/nixpkgs/nixos/modules/programs/calls.nix b/third_party/nixpkgs/nixos/modules/programs/calls.nix
index 08a223b408..7a18982915 100644
--- a/third_party/nixpkgs/nixos/modules/programs/calls.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/calls.nix
@@ -7,9 +7,9 @@ let
in {
options = {
programs.calls = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Whether to enable GNOME calls: a phone dialer and call handler.
- '';
+ '');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/captive-browser.nix b/third_party/nixpkgs/nixos/modules/programs/captive-browser.nix
index fd8400315a..36ceb1a696 100644
--- a/third_party/nixpkgs/nixos/modules/programs/captive-browser.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/captive-browser.nix
@@ -34,7 +34,7 @@ in
options = {
programs.captive-browser = {
- enable = mkEnableOption "captive browser";
+ enable = mkEnableOption (lib.mdDoc "captive browser");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/ccache.nix b/third_party/nixpkgs/nixos/modules/programs/ccache.nix
index a554109533..19fb7ca329 100644
--- a/third_party/nixpkgs/nixos/modules/programs/ccache.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/ccache.nix
@@ -6,7 +6,7 @@ let
in {
options.programs.ccache = {
# host configuration
- enable = mkEnableOption "CCache";
+ enable = mkEnableOption (lib.mdDoc "CCache");
cacheDir = mkOption {
type = types.path;
description = lib.mdDoc "CCache directory";
diff --git a/third_party/nixpkgs/nixos/modules/programs/cfs-zen-tweaks.nix b/third_party/nixpkgs/nixos/modules/programs/cfs-zen-tweaks.nix
index f168662bbe..97c2570475 100644
--- a/third_party/nixpkgs/nixos/modules/programs/cfs-zen-tweaks.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/cfs-zen-tweaks.nix
@@ -17,7 +17,7 @@ in
};
options = {
- programs.cfs-zen-tweaks.enable = mkEnableOption "CFS Zen Tweaks";
+ programs.cfs-zen-tweaks.enable = mkEnableOption (lib.mdDoc "CFS Zen Tweaks");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/chromium.nix b/third_party/nixpkgs/nixos/modules/programs/chromium.nix
index 58ead42daf..4024f337df 100644
--- a/third_party/nixpkgs/nixos/modules/programs/chromium.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/chromium.nix
@@ -19,7 +19,7 @@ in
options = {
programs.chromium = {
- enable = mkEnableOption "chromium policies";
+ enable = mkEnableOption (lib.mdDoc "{command}`chromium` policies");
extensions = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/cnping.nix b/third_party/nixpkgs/nixos/modules/programs/cnping.nix
index d208d2b070..d3cf659d42 100644
--- a/third_party/nixpkgs/nixos/modules/programs/cnping.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/cnping.nix
@@ -8,7 +8,7 @@ in
{
options = {
programs.cnping = {
- enable = mkEnableOption "Whether to install a setcap wrapper for cnping";
+ enable = mkEnableOption (lib.mdDoc "Whether to install a setcap wrapper for cnping");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/dconf.nix b/third_party/nixpkgs/nixos/modules/programs/dconf.nix
index b5ef42a3b7..7261a14352 100644
--- a/third_party/nixpkgs/nixos/modules/programs/dconf.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/dconf.nix
@@ -28,7 +28,7 @@ in
options = {
programs.dconf = {
- enable = mkEnableOption "dconf";
+ enable = mkEnableOption (lib.mdDoc "dconf");
profiles = mkOption {
type = types.attrsOf types.path;
diff --git a/third_party/nixpkgs/nixos/modules/programs/droidcam.nix b/third_party/nixpkgs/nixos/modules/programs/droidcam.nix
index 9843a1f5be..c9b4457d1d 100644
--- a/third_party/nixpkgs/nixos/modules/programs/droidcam.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/droidcam.nix
@@ -4,7 +4,7 @@ with lib;
{
options.programs.droidcam = {
- enable = mkEnableOption "DroidCam client";
+ enable = mkEnableOption (lib.mdDoc "DroidCam client");
};
config = lib.mkIf config.programs.droidcam.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/evince.nix b/third_party/nixpkgs/nixos/modules/programs/evince.nix
index bbc54241d5..9ed5ea0feb 100644
--- a/third_party/nixpkgs/nixos/modules/programs/evince.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/evince.nix
@@ -22,7 +22,7 @@ in {
programs.evince = {
enable = mkEnableOption
- "Evince, the GNOME document viewer";
+ (lib.mdDoc "Evince, the GNOME document viewer");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/extra-container.nix b/third_party/nixpkgs/nixos/modules/programs/extra-container.nix
index c10ccd7691..5e717c4d82 100644
--- a/third_party/nixpkgs/nixos/modules/programs/extra-container.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/extra-container.nix
@@ -5,10 +5,10 @@ let
cfg = config.programs.extra-container;
in {
options = {
- programs.extra-container.enable = mkEnableOption ''
+ programs.extra-container.enable = mkEnableOption (lib.mdDoc ''
extra-container, a tool for running declarative NixOS containers
without host system rebuilds
- '';
+ '');
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.extra-container ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/feedbackd.nix b/third_party/nixpkgs/nixos/modules/programs/feedbackd.nix
index 7e6cf82946..cee8daa314 100644
--- a/third_party/nixpkgs/nixos/modules/programs/feedbackd.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/feedbackd.nix
@@ -7,11 +7,11 @@ let
in {
options = {
programs.feedbackd = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Whether to enable the feedbackd D-BUS service and udev rules.
Your user needs to be in the `feedbackd` group to trigger effects.
- '';
+ '');
package = mkOption {
description = lib.mdDoc ''
Which feedbackd package to use.
diff --git a/third_party/nixpkgs/nixos/modules/programs/file-roller.nix b/third_party/nixpkgs/nixos/modules/programs/file-roller.nix
index ca2651becf..ca0c4d1b2a 100644
--- a/third_party/nixpkgs/nixos/modules/programs/file-roller.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/file-roller.nix
@@ -21,7 +21,7 @@ in {
programs.file-roller = {
- enable = mkEnableOption "File Roller, an archive manager for GNOME";
+ enable = mkEnableOption (lib.mdDoc "File Roller, an archive manager for GNOME");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/firejail.nix b/third_party/nixpkgs/nixos/modules/programs/firejail.nix
index 417eff91d3..a98c15a045 100644
--- a/third_party/nixpkgs/nixos/modules/programs/firejail.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/firejail.nix
@@ -32,26 +32,26 @@ let
in {
options.programs.firejail = {
- enable = mkEnableOption "firejail";
+ enable = mkEnableOption (lib.mdDoc "firejail");
wrappedBinaries = mkOption {
type = types.attrsOf (types.either types.path (types.submodule {
options = {
executable = mkOption {
type = types.path;
- description = "Executable to run sandboxed";
+ description = lib.mdDoc "Executable to run sandboxed";
example = literalExpression ''"''${lib.getBin pkgs.firefox}/bin/firefox"'';
};
profile = mkOption {
type = types.nullOr types.path;
default = null;
- description = "Profile to use";
+ description = lib.mdDoc "Profile to use";
example = literalExpression ''"''${pkgs.firejail}/etc/firejail/firefox.profile"'';
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
- description = "Extra arguments to pass to firejail";
+ description = lib.mdDoc "Extra arguments to pass to firejail";
example = [ "--private=~/.firejail_home" ];
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/flexoptix-app.nix b/third_party/nixpkgs/nixos/modules/programs/flexoptix-app.nix
index e87d107650..2524e7ba4d 100644
--- a/third_party/nixpkgs/nixos/modules/programs/flexoptix-app.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/flexoptix-app.nix
@@ -7,7 +7,7 @@ let
in {
options = {
programs.flexoptix-app = {
- enable = mkEnableOption "FLEXOPTIX app + udev rules";
+ enable = mkEnableOption (lib.mdDoc "FLEXOPTIX app + udev rules");
package = mkOption {
description = lib.mdDoc "FLEXOPTIX app package to use";
diff --git a/third_party/nixpkgs/nixos/modules/programs/gamemode.nix b/third_party/nixpkgs/nixos/modules/programs/gamemode.nix
index 84e20934ed..c43e2c2296 100644
--- a/third_party/nixpkgs/nixos/modules/programs/gamemode.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/gamemode.nix
@@ -10,9 +10,9 @@ in
{
options = {
programs.gamemode = {
- enable = mkEnableOption "GameMode to optimise system performance on demand";
+ enable = mkEnableOption (lib.mdDoc "GameMode to optimise system performance on demand");
- enableRenice = mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // {
+ enableRenice = mkEnableOption (lib.mdDoc "CAP_SYS_NICE on gamemoded to support lowering process niceness") // {
default = true;
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/geary.nix b/third_party/nixpkgs/nixos/modules/programs/geary.nix
index 407680c30d..d9454a2247 100644
--- a/third_party/nixpkgs/nixos/modules/programs/geary.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/geary.nix
@@ -11,7 +11,7 @@ in {
};
options = {
- programs.geary.enable = mkEnableOption "Geary, a Mail client for GNOME 3";
+ programs.geary.enable = mkEnableOption (lib.mdDoc "Geary, a Mail client for GNOME 3");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/git.nix b/third_party/nixpkgs/nixos/modules/programs/git.nix
index c4cf3cc561..acff5dfdd8 100644
--- a/third_party/nixpkgs/nixos/modules/programs/git.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/git.nix
@@ -9,7 +9,7 @@ in
{
options = {
programs.git = {
- enable = mkEnableOption "git";
+ enable = mkEnableOption (lib.mdDoc "git");
package = mkOption {
type = types.package;
@@ -33,7 +33,7 @@ in
};
lfs = {
- enable = mkEnableOption "git-lfs";
+ enable = mkEnableOption (lib.mdDoc "git-lfs");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/gnome-terminal.nix b/third_party/nixpkgs/nixos/modules/programs/gnome-terminal.nix
index 71a6b21788..a8d82e0b01 100644
--- a/third_party/nixpkgs/nixos/modules/programs/gnome-terminal.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/gnome-terminal.nix
@@ -24,7 +24,7 @@ in
];
options = {
- programs.gnome-terminal.enable = mkEnableOption "GNOME Terminal";
+ programs.gnome-terminal.enable = mkEnableOption (lib.mdDoc "GNOME Terminal");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/gnupg.nix b/third_party/nixpkgs/nixos/modules/programs/gnupg.nix
index ad27766b72..828f24f991 100644
--- a/third_party/nixpkgs/nixos/modules/programs/gnupg.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/gnupg.nix
@@ -71,7 +71,7 @@ in
type = types.nullOr (types.enum pkgs.pinentry.flavors);
example = "gnome3";
default = defaultPinentryFlavor;
- defaultText = literalDocBook ''matching the configured desktop environment'';
+ defaultText = literalMD ''matching the configured desktop environment'';
description = lib.mdDoc ''
Which pinentry interface to use. If not null, the path to the
pinentry binary will be passed to gpg-agent via commandline and
@@ -129,12 +129,14 @@ in
environment.interactiveShellInit = ''
# Bind gpg-agent to this TTY if gpg commands are used.
export GPG_TTY=$(tty)
+ '';
- '' + (optionalString cfg.agent.enableSSHSupport ''
- # SSH agent protocol doesn't support changing TTYs, so bind the agent
- # to every new TTY.
- ${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null
- '');
+ programs.ssh.extraConfig = optionalString cfg.agent.enableSSHSupport ''
+ # The SSH agent protocol doesn't have support for changing TTYs; however we
+ # can simulate this with the `exec` feature of openssh (see ssh_config(5))
+ # that hooks a command to the shell currently running the ssh program.
+ Match host * exec "${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1"
+ '';
environment.extraInit = mkIf cfg.agent.enableSSHSupport ''
if [ -z "$SSH_AUTH_SOCK" ]; then
diff --git a/third_party/nixpkgs/nixos/modules/programs/haguichi.nix b/third_party/nixpkgs/nixos/modules/programs/haguichi.nix
index 4f48551cf1..699327c28c 100644
--- a/third_party/nixpkgs/nixos/modules/programs/haguichi.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/haguichi.nix
@@ -4,7 +4,7 @@ with lib;
{
options.programs.haguichi = {
- enable = mkEnableOption "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi";
+ enable = mkEnableOption (lib.mdDoc "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi");
};
config = mkIf config.programs.haguichi.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/hamster.nix b/third_party/nixpkgs/nixos/modules/programs/hamster.nix
index 0bb56ad7ff..f50438cc17 100644
--- a/third_party/nixpkgs/nixos/modules/programs/hamster.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/hamster.nix
@@ -6,7 +6,7 @@ with lib;
meta.maintainers = pkgs.hamster.meta.maintainers;
options.programs.hamster.enable =
- mkEnableOption "hamster, a time tracking program";
+ mkEnableOption (lib.mdDoc "hamster, a time tracking program");
config = lib.mkIf config.programs.hamster.enable {
environment.systemPackages = [ pkgs.hamster ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/htop.nix b/third_party/nixpkgs/nixos/modules/programs/htop.nix
index 94f6e3c0ef..521287f935 100644
--- a/third_party/nixpkgs/nixos/modules/programs/htop.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/htop.nix
@@ -26,7 +26,7 @@ in
'';
};
- enable = mkEnableOption "htop process monitor";
+ enable = mkEnableOption (lib.mdDoc "htop process monitor");
settings = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
diff --git a/third_party/nixpkgs/nixos/modules/programs/iftop.nix b/third_party/nixpkgs/nixos/modules/programs/iftop.nix
index c74714a9a6..1db018858b 100644
--- a/third_party/nixpkgs/nixos/modules/programs/iftop.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/iftop.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.iftop;
in {
options = {
- programs.iftop.enable = mkEnableOption "iftop + setcap wrapper";
+ programs.iftop.enable = mkEnableOption (lib.mdDoc "iftop + setcap wrapper");
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.iftop ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/iotop.nix b/third_party/nixpkgs/nixos/modules/programs/iotop.nix
index b7c1c69f9d..0eb60b989e 100644
--- a/third_party/nixpkgs/nixos/modules/programs/iotop.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/iotop.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.iotop;
in {
options = {
- programs.iotop.enable = mkEnableOption "iotop + setcap wrapper";
+ programs.iotop.enable = mkEnableOption (lib.mdDoc "iotop + setcap wrapper");
};
config = mkIf cfg.enable {
security.wrappers.iotop = {
diff --git a/third_party/nixpkgs/nixos/modules/programs/java.nix b/third_party/nixpkgs/nixos/modules/programs/java.nix
index 5994f53f76..4f03c1f3ff 100644
--- a/third_party/nixpkgs/nixos/modules/programs/java.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/java.nix
@@ -15,20 +15,19 @@ in
programs.java = {
- enable = mkEnableOption "java" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "java") // {
+ description = lib.mdDoc ''
Install and setup the Java development kit.
-
- This adds JAVA_HOME to the global environment, by sourcing the
- jdk's setup-hook on shell init. It is equivalent to starting a shell
- through 'nix-shell -p jdk', or roughly the following system-wide
- configuration:
-
-
- environment.variables.JAVA_HOME = ''${pkgs.jdk.home}/lib/openjdk;
- environment.systemPackages = [ pkgs.jdk ];
-
-
+
+ ::: {.note}
+ This adds JAVA_HOME to the global environment, by sourcing the
+ jdk's setup-hook on shell init. It is equivalent to starting a shell
+ through 'nix-shell -p jdk', or roughly the following system-wide
+ configuration:
+
+ environment.variables.JAVA_HOME = ''${pkgs.jdk.home}/lib/openjdk;
+ environment.systemPackages = [ pkgs.jdk ];
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/k40-whisperer.nix b/third_party/nixpkgs/nixos/modules/programs/k40-whisperer.nix
index 305c828f0a..27a79caa4b 100644
--- a/third_party/nixpkgs/nixos/modules/programs/k40-whisperer.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/k40-whisperer.nix
@@ -10,7 +10,7 @@ let
in
{
options.programs.k40-whisperer = {
- enable = mkEnableOption "K40-Whisperer";
+ enable = mkEnableOption (lib.mdDoc "K40-Whisperer");
group = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/kbdlight.nix b/third_party/nixpkgs/nixos/modules/programs/kbdlight.nix
index 8a2a0057cf..6c3c79ddb4 100644
--- a/third_party/nixpkgs/nixos/modules/programs/kbdlight.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/kbdlight.nix
@@ -7,7 +7,7 @@ let
in
{
- options.programs.kbdlight.enable = mkEnableOption "kbdlight";
+ options.programs.kbdlight.enable = mkEnableOption (lib.mdDoc "kbdlight");
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.kbdlight ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/kclock.nix b/third_party/nixpkgs/nixos/modules/programs/kclock.nix
index 42d81d2798..049e237187 100644
--- a/third_party/nixpkgs/nixos/modules/programs/kclock.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/kclock.nix
@@ -4,7 +4,7 @@ let
cfg = config.programs.kclock;
kclockPkg = pkgs.libsForQt5.kclock;
in {
- options.programs.kclock = { enable = mkEnableOption "Enable KClock"; };
+ options.programs.kclock = { enable = mkEnableOption (lib.mdDoc "Enable KClock"); };
config = mkIf cfg.enable {
services.dbus.packages = [ kclockPkg ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/kdeconnect.nix b/third_party/nixpkgs/nixos/modules/programs/kdeconnect.nix
index 1f326c9e92..4978c428ce 100644
--- a/third_party/nixpkgs/nixos/modules/programs/kdeconnect.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/kdeconnect.nix
@@ -2,15 +2,15 @@
with lib;
{
options.programs.kdeconnect = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
kdeconnect.
Note that it will open the TCP and UDP port from
1714 to 1764 as they are needed for it to function properly.
- You can use the to use
- gnomeExtensions.gsconnect as an alternative
+ You can use the {option}`package` to use
+ `gnomeExtensions.gsconnect` as an alternative
implementation if you use Gnome.
- '';
+ '');
package = mkOption {
default = pkgs.plasma5Packages.kdeconnect-kde;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
diff --git a/third_party/nixpkgs/nixos/modules/programs/less.nix b/third_party/nixpkgs/nixos/modules/programs/less.nix
index 9f2d5d9158..51a3263938 100644
--- a/third_party/nixpkgs/nixos/modules/programs/less.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/less.nix
@@ -35,7 +35,7 @@ in
# note that environment.nix sets PAGER=less, and
# therefore also enables this module
- enable = mkEnableOption "less";
+ enable = mkEnableOption (lib.mdDoc "less");
configFile = mkOption {
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/programs/liboping.nix b/third_party/nixpkgs/nixos/modules/programs/liboping.nix
index 4433f9767d..39e75ba90c 100644
--- a/third_party/nixpkgs/nixos/modules/programs/liboping.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/liboping.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.liboping;
in {
options.programs.liboping = {
- enable = mkEnableOption "liboping";
+ enable = mkEnableOption (lib.mdDoc "liboping");
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ liboping ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/mininet.nix b/third_party/nixpkgs/nixos/modules/programs/mininet.nix
index 2cf6c014c3..0b7e82cc5b 100644
--- a/third_party/nixpkgs/nixos/modules/programs/mininet.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/mininet.nix
@@ -28,7 +28,7 @@ let
'';
in
{
- options.programs.mininet.enable = mkEnableOption "Mininet";
+ options.programs.mininet.enable = mkEnableOption (lib.mdDoc "Mininet");
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/msmtp.nix b/third_party/nixpkgs/nixos/modules/programs/msmtp.nix
index 023ffdd444..a9aed027bd 100644
--- a/third_party/nixpkgs/nixos/modules/programs/msmtp.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/msmtp.nix
@@ -10,7 +10,7 @@ in {
options = {
programs.msmtp = {
- enable = mkEnableOption "msmtp - an SMTP client";
+ enable = mkEnableOption (lib.mdDoc "msmtp - an SMTP client");
setSendmail = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/programs/nbd.nix b/third_party/nixpkgs/nixos/modules/programs/nbd.nix
index fea9bc1ff7..a44403021e 100644
--- a/third_party/nixpkgs/nixos/modules/programs/nbd.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/nbd.nix
@@ -8,7 +8,7 @@ in
{
options = {
programs.nbd = {
- enable = mkEnableOption "Network Block Device (nbd) support";
+ enable = mkEnableOption (lib.mdDoc "Network Block Device (nbd) support");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/neovim.nix b/third_party/nixpkgs/nixos/modules/programs/neovim.nix
index 85963159a7..31848c246f 100644
--- a/third_party/nixpkgs/nixos/modules/programs/neovim.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/neovim.nix
@@ -11,7 +11,7 @@ let
in {
options.programs.neovim = {
- enable = mkEnableOption "Neovim";
+ enable = mkEnableOption (lib.mdDoc "Neovim");
defaultEditor = mkOption {
type = types.bool;
@@ -89,7 +89,7 @@ in {
type = types.package;
visible = false;
readOnly = true;
- description = "Resulting customized neovim package.";
+ description = lib.mdDoc "Resulting customized neovim package.";
};
runtime = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/programs/nix-ld.nix b/third_party/nixpkgs/nixos/modules/programs/nix-ld.nix
index 89779cfef3..602278d1ba 100644
--- a/third_party/nixpkgs/nixos/modules/programs/nix-ld.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/nix-ld.nix
@@ -2,7 +2,7 @@
{
meta.maintainers = [ lib.maintainers.mic92 ];
options = {
- programs.nix-ld.enable = lib.mkEnableOption ''nix-ld, Documentation: '';
+ programs.nix-ld.enable = lib.mkEnableOption (lib.mdDoc ''nix-ld, Documentation: '');
};
config = lib.mkIf config.programs.nix-ld.enable {
systemd.tmpfiles.packages = [ pkgs.nix-ld ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/nm-applet.nix b/third_party/nixpkgs/nixos/modules/programs/nm-applet.nix
index ef24030c9d..4b09b1884d 100644
--- a/third_party/nixpkgs/nixos/modules/programs/nm-applet.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/nm-applet.nix
@@ -6,7 +6,7 @@
};
options.programs.nm-applet = {
- enable = lib.mkEnableOption "nm-applet";
+ enable = lib.mkEnableOption (lib.mdDoc "nm-applet");
indicator = lib.mkOption {
type = lib.types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/programs/nncp.nix b/third_party/nixpkgs/nixos/modules/programs/nncp.nix
index a58748d2fe..98fea84ab7 100644
--- a/third_party/nixpkgs/nixos/modules/programs/nncp.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/nncp.nix
@@ -11,7 +11,7 @@ in {
options.programs.nncp = {
enable =
- mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
+ mkEnableOption (lib.mdDoc "NNCP (Node to Node copy) utilities and configuration");
group = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/noisetorch.nix b/third_party/nixpkgs/nixos/modules/programs/noisetorch.nix
index d5e004da73..c022b01d79 100644
--- a/third_party/nixpkgs/nixos/modules/programs/noisetorch.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/noisetorch.nix
@@ -6,7 +6,7 @@ let cfg = config.programs.noisetorch;
in
{
options.programs.noisetorch = {
- enable = mkEnableOption "noisetorch + setcap wrapper";
+ enable = mkEnableOption (lib.mdDoc "noisetorch + setcap wrapper");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/npm.nix b/third_party/nixpkgs/nixos/modules/programs/npm.nix
index 7094380483..48dc48e668 100644
--- a/third_party/nixpkgs/nixos/modules/programs/npm.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/npm.nix
@@ -11,7 +11,7 @@ in
options = {
programs.npm = {
- enable = mkEnableOption "npm global config";
+ enable = mkEnableOption (lib.mdDoc "{command}`npm` global config");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/programs/openvpn3.nix b/third_party/nixpkgs/nixos/modules/programs/openvpn3.nix
index f3101d3ceb..df7e9ef22c 100644
--- a/third_party/nixpkgs/nixos/modules/programs/openvpn3.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/openvpn3.nix
@@ -7,7 +7,7 @@ let
in
{
options.programs.openvpn3 = {
- enable = mkEnableOption "the openvpn3 client";
+ enable = mkEnableOption (lib.mdDoc "the openvpn3 client");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/pantheon-tweaks.nix b/third_party/nixpkgs/nixos/modules/programs/pantheon-tweaks.nix
index 0b8a19ea22..82f93619db 100644
--- a/third_party/nixpkgs/nixos/modules/programs/pantheon-tweaks.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/pantheon-tweaks.nix
@@ -9,7 +9,7 @@ with lib;
###### interface
options = {
- programs.pantheon-tweaks.enable = mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon";
+ programs.pantheon-tweaks.enable = mkEnableOption (lib.mdDoc "Pantheon Tweaks, an unofficial system settings panel for Pantheon");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/programs/partition-manager.nix b/third_party/nixpkgs/nixos/modules/programs/partition-manager.nix
index 1be2f0a69a..c18598b7c2 100644
--- a/third_party/nixpkgs/nixos/modules/programs/partition-manager.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/partition-manager.nix
@@ -7,7 +7,7 @@ with lib;
###### interface
options = {
- programs.partition-manager.enable = mkEnableOption "KDE Partition Manager";
+ programs.partition-manager.enable = mkEnableOption (lib.mdDoc "KDE Partition Manager");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/programs/proxychains.nix b/third_party/nixpkgs/nixos/modules/programs/proxychains.nix
index 5d932b2d84..0771f03c77 100644
--- a/third_party/nixpkgs/nixos/modules/programs/proxychains.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/proxychains.nix
@@ -22,7 +22,7 @@ let
proxyOptions = {
options = {
- enable = mkEnableOption "this proxy";
+ enable = mkEnableOption (lib.mdDoc "this proxy");
type = mkOption {
type = types.enum [ "http" "socks4" "socks5" ];
@@ -49,7 +49,7 @@ in {
programs.proxychains = {
- enable = mkEnableOption "installing proxychains configuration";
+ enable = mkEnableOption (lib.mdDoc "installing proxychains configuration");
chain = {
type = mkOption {
@@ -86,7 +86,7 @@ in {
description = lib.mdDoc "Proxy DNS requests - no leak for DNS data.";
};
- quietMode = mkEnableOption "Quiet mode (no output from the library).";
+ quietMode = mkEnableOption (lib.mdDoc "Quiet mode (no output from the library).");
remoteDNSSubnet = mkOption {
type = types.enum [ 10 127 224 ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/rust-motd.nix b/third_party/nixpkgs/nixos/modules/programs/rust-motd.nix
new file mode 100644
index 0000000000..671e701cd1
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/programs/rust-motd.nix
@@ -0,0 +1,92 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.programs.rust-motd;
+ format = pkgs.formats.toml { };
+in {
+ options.programs.rust-motd = {
+ enable = mkEnableOption "rust-motd";
+ enableMotdInSSHD = mkOption {
+ default = true;
+ type = types.bool;
+ description = mdDoc ''
+ Whether to let `openssh` print the
+ result when entering a new `ssh`-session.
+ By default either nothing or a static file defined via
+ [](#opt-users.motd) is printed. Because of that,
+ the latter option is incompatible with this module.
+ '';
+ };
+ refreshInterval = mkOption {
+ default = "*:0/5";
+ type = types.str;
+ description = mdDoc ''
+ Interval in which the {manpage}`motd(5)` file is refreshed.
+ For possible formats, please refer to {manpage}`systemd.time(7)`.
+ '';
+ };
+ settings = mkOption {
+ type = types.submodule {
+ freeformType = format.type;
+ };
+ description = mdDoc ''
+ Settings on what to generate. Please read the
+ [upstream documentation](https://github.com/rust-motd/rust-motd/blob/main/README.md#configuration)
+ for further information.
+ '';
+ };
+ };
+ config = mkIf cfg.enable {
+ assertions = [
+ { assertion = config.users.motd == null;
+ message = ''
+ `programs.rust-motd` is incompatible with `users.motd`!
+ '';
+ }
+ ];
+ systemd.services.rust-motd = {
+ path = with pkgs; [ bash ];
+ documentation = [ "https://github.com/rust-motd/rust-motd/blob/v${pkgs.rust-motd.version}/README.md" ];
+ description = "motd generator";
+ serviceConfig = {
+ ExecStart = "${pkgs.writeShellScript "update-motd" ''
+ ${pkgs.rust-motd}/bin/rust-motd ${format.generate "motd.conf" cfg.settings} > motd
+ ''}";
+ CapabilityBoundingSet = [ "" ];
+ LockPersonality = true;
+ MemoryDenyWriteExecute = true;
+ NoNewPrivileges = true;
+ PrivateDevices = true;
+ PrivateTmp = true;
+ ProtectClock = true;
+ ProtectControlGroups = true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelModules = true;
+ ProtectKernelLogs = true;
+ ProtectKernelTunables = true;
+ ProtectSystem = "full";
+ StateDirectory = "rust-motd";
+ RestrictAddressFamilies = "none";
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ RemoveIPC = true;
+ WorkingDirectory = "/var/lib/rust-motd";
+ };
+ };
+ systemd.timers.rust-motd = {
+ wantedBy = [ "timers.target" ];
+ timerConfig.OnCalendar = cfg.refreshInterval;
+ };
+ security.pam.services.sshd.text = mkIf cfg.enableMotdInSSHD (mkDefault (mkAfter ''
+ session optional ${pkgs.pam}/lib/security/pam_motd.so motd=/var/lib/rust-motd/motd
+ ''));
+ services.openssh.extraConfig = mkIf (cfg.settings ? last_login && cfg.settings.last_login != {}) ''
+ PrintLastLog no
+ '';
+ };
+ meta.maintainers = with maintainers; [ ma27 ];
+}
diff --git a/third_party/nixpkgs/nixos/modules/programs/seahorse.nix b/third_party/nixpkgs/nixos/modules/programs/seahorse.nix
index c0a356bff5..5e179c1446 100644
--- a/third_party/nixpkgs/nixos/modules/programs/seahorse.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/seahorse.nix
@@ -20,7 +20,7 @@ with lib;
programs.seahorse = {
- enable = mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring";
+ enable = mkEnableOption (lib.mdDoc "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring");
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/sedutil.nix b/third_party/nixpkgs/nixos/modules/programs/sedutil.nix
index 7efc80f4ab..d5e20a8815 100644
--- a/third_party/nixpkgs/nixos/modules/programs/sedutil.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/sedutil.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.sedutil;
in {
- options.programs.sedutil.enable = mkEnableOption "sedutil";
+ options.programs.sedutil.enable = mkEnableOption (lib.mdDoc "sedutil");
config = mkIf cfg.enable {
boot.kernelParams = [
diff --git a/third_party/nixpkgs/nixos/modules/programs/singularity.nix b/third_party/nixpkgs/nixos/modules/programs/singularity.nix
index db935abe4b..9648d0c278 100644
--- a/third_party/nixpkgs/nixos/modules/programs/singularity.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/singularity.nix
@@ -11,7 +11,7 @@ let
});
in {
options.programs.singularity = {
- enable = mkEnableOption "Singularity";
+ enable = mkEnableOption (lib.mdDoc "Singularity");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/starship.nix b/third_party/nixpkgs/nixos/modules/programs/starship.nix
index ade80b9999..b56c0b2561 100644
--- a/third_party/nixpkgs/nixos/modules/programs/starship.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/starship.nix
@@ -11,7 +11,7 @@ let
in {
options.programs.starship = {
- enable = mkEnableOption "the Starship shell prompt";
+ enable = mkEnableOption (lib.mdDoc "the Starship shell prompt");
settings = mkOption {
inherit (settingsFormat) type;
diff --git a/third_party/nixpkgs/nixos/modules/programs/steam.nix b/third_party/nixpkgs/nixos/modules/programs/steam.nix
index d80718e792..adbbf5d9ed 100644
--- a/third_party/nixpkgs/nixos/modules/programs/steam.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/steam.nix
@@ -13,7 +13,7 @@ let
};
in {
options.programs.steam = {
- enable = mkEnableOption "steam";
+ enable = mkEnableOption (lib.mdDoc "steam");
remotePlay.openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix b/third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix
index 04aa0a80e8..e933b899c5 100644
--- a/third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.streamdeck-ui;
in {
options.programs.streamdeck-ui = {
- enable = mkEnableOption "streamdeck-ui";
+ enable = mkEnableOption (lib.mdDoc "streamdeck-ui");
autoStart = mkOption {
default = true;
diff --git a/third_party/nixpkgs/nixos/modules/programs/sway.nix b/third_party/nixpkgs/nixos/modules/programs/sway.nix
index af2b261d3c..971527e1e6 100644
--- a/third_party/nixpkgs/nixos/modules/programs/sway.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/sway.nix
@@ -35,12 +35,12 @@ let
};
in {
options.programs.sway = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Sway, the i3-compatible tiling Wayland compositor. You can manually launch
Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to
~/.config/sway/config to modify the default configuration. See
- and
- "man 5 sway" for more information'';
+ and
+ "man 5 sway" for more information'');
wrapperFeatures = mkOption {
type = wrapperOptions;
diff --git a/third_party/nixpkgs/nixos/modules/programs/sysdig.nix b/third_party/nixpkgs/nixos/modules/programs/sysdig.nix
index fbbf290655..ccb1e1d4c5 100644
--- a/third_party/nixpkgs/nixos/modules/programs/sysdig.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/sysdig.nix
@@ -5,7 +5,7 @@ with lib;
let
cfg = config.programs.sysdig;
in {
- options.programs.sysdig.enable = mkEnableOption "sysdig";
+ options.programs.sysdig.enable = mkEnableOption (lib.mdDoc "sysdig");
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.sysdig ];
diff --git a/third_party/nixpkgs/nixos/modules/programs/system-config-printer.nix b/third_party/nixpkgs/nixos/modules/programs/system-config-printer.nix
index 34592dd706..7c7eea5805 100644
--- a/third_party/nixpkgs/nixos/modules/programs/system-config-printer.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/system-config-printer.nix
@@ -10,7 +10,7 @@ with lib;
programs.system-config-printer = {
- enable = mkEnableOption "system-config-printer, a Graphical user interface for CUPS administration";
+ enable = mkEnableOption (lib.mdDoc "system-config-printer, a Graphical user interface for CUPS administration");
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/thefuck.nix b/third_party/nixpkgs/nixos/modules/programs/thefuck.nix
index 6b939cce41..e057d1ca65 100644
--- a/third_party/nixpkgs/nixos/modules/programs/thefuck.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/thefuck.nix
@@ -16,7 +16,7 @@ in
{
options = {
programs.thefuck = {
- enable = mkEnableOption "thefuck";
+ enable = mkEnableOption (lib.mdDoc "thefuck");
alias = mkOption {
default = "fuck";
diff --git a/third_party/nixpkgs/nixos/modules/programs/thunar.nix b/third_party/nixpkgs/nixos/modules/programs/thunar.nix
index a67d8ae064..cb85b3886c 100644
--- a/third_party/nixpkgs/nixos/modules/programs/thunar.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/thunar.nix
@@ -11,7 +11,7 @@ in {
options = {
programs.thunar = {
- enable = mkEnableOption "Thunar, the Xfce file manager";
+ enable = mkEnableOption (lib.mdDoc "Thunar, the Xfce file manager");
plugins = mkOption {
default = [];
diff --git a/third_party/nixpkgs/nixos/modules/programs/tsm-client.nix b/third_party/nixpkgs/nixos/modules/programs/tsm-client.nix
index cdd70b7744..89662cecaa 100644
--- a/third_party/nixpkgs/nixos/modules/programs/tsm-client.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/tsm-client.nix
@@ -65,18 +65,18 @@ let
directive in {file}`dsm.sys`.
'';
};
- options.genPasswd = mkEnableOption ''
+ options.genPasswd = mkEnableOption (lib.mdDoc ''
automatic client password generation.
This option influences the
- passwordaccess
- directive in dsm.sys.
+ `passwordaccess`
+ directive in {file}`dsm.sys`.
The password will be stored in the directory
- given by the option .
- Caution:
+ given by the option {option}`passwdDir`.
+ *Caution*:
If this option is enabled and the server forces
to renew the password (e.g. on first connection),
a random password will be generated and stored
- '';
+ '');
options.passwdDir = mkOption {
type = path;
example = "/home/alice/tsm-password";
@@ -140,7 +140,7 @@ let
type = str;
internal = true;
visible = false;
- description = "Server stanza text generated from the options.";
+ description = lib.mdDoc "Server stanza text generated from the options.";
};
config.name = mkDefault name;
# Client system-options file directives are explained here:
@@ -172,11 +172,11 @@ let
};
options.programs.tsmClient = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
IBM Spectrum Protect (Tivoli Storage Manager, TSM)
client command line applications with a
client system-options file "dsm.sys"
- '';
+ '');
servers = mkOption {
type = attrsOf (submodule [ serverOptions ]);
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/programs/udevil.nix b/third_party/nixpkgs/nixos/modules/programs/udevil.nix
index 0dc08c435d..b0f00b4b54 100644
--- a/third_party/nixpkgs/nixos/modules/programs/udevil.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/udevil.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.udevil;
in {
- options.programs.udevil.enable = mkEnableOption "udevil";
+ options.programs.udevil.enable = mkEnableOption (lib.mdDoc "udevil");
config = mkIf cfg.enable {
security.wrappers.udevil =
diff --git a/third_party/nixpkgs/nixos/modules/programs/usbtop.nix b/third_party/nixpkgs/nixos/modules/programs/usbtop.nix
index c1b6ee38ca..e262ae3745 100644
--- a/third_party/nixpkgs/nixos/modules/programs/usbtop.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/usbtop.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.usbtop;
in {
options = {
- programs.usbtop.enable = mkEnableOption "usbtop and required kernel module";
+ programs.usbtop.enable = mkEnableOption (lib.mdDoc "usbtop and required kernel module");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/waybar.nix b/third_party/nixpkgs/nixos/modules/programs/waybar.nix
index 22530e6c7d..4697d0f7a6 100644
--- a/third_party/nixpkgs/nixos/modules/programs/waybar.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/waybar.nix
@@ -4,7 +4,7 @@ with lib;
{
options.programs.waybar = {
- enable = mkEnableOption "waybar";
+ enable = mkEnableOption (lib.mdDoc "waybar");
};
config = mkIf config.programs.waybar.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/weylus.nix b/third_party/nixpkgs/nixos/modules/programs/weylus.nix
index 0a506bfa27..eab8afdf2c 100644
--- a/third_party/nixpkgs/nixos/modules/programs/weylus.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/weylus.nix
@@ -7,7 +7,7 @@ let
in
{
options.programs.weylus = with types; {
- enable = mkEnableOption "weylus";
+ enable = mkEnableOption (lib.mdDoc "weylus");
openFirewall = mkOption {
type = bool;
diff --git a/third_party/nixpkgs/nixos/modules/programs/wshowkeys.nix b/third_party/nixpkgs/nixos/modules/programs/wshowkeys.nix
index f7b71d2bb0..ebb5c55094 100644
--- a/third_party/nixpkgs/nixos/modules/programs/wshowkeys.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/wshowkeys.nix
@@ -9,10 +9,10 @@ in {
options = {
programs.wshowkeys = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
wshowkeys (displays keypresses on screen on supported Wayland
compositors). It requires root permissions to read input events, but
- these permissions are dropped after startup'';
+ these permissions are dropped after startup'');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/xfconf.nix b/third_party/nixpkgs/nixos/modules/programs/xfconf.nix
index 8e854b40e5..b0f4533933 100644
--- a/third_party/nixpkgs/nixos/modules/programs/xfconf.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/xfconf.nix
@@ -11,7 +11,7 @@ in {
options = {
programs.xfconf = {
- enable = mkEnableOption "Xfconf, the Xfce configuration storage system";
+ enable = mkEnableOption (lib.mdDoc "Xfconf, the Xfce configuration storage system");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/programs/xss-lock.nix b/third_party/nixpkgs/nixos/modules/programs/xss-lock.nix
index c14c09721d..87b3957ab8 100644
--- a/third_party/nixpkgs/nixos/modules/programs/xss-lock.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/xss-lock.nix
@@ -7,7 +7,7 @@ let
in
{
options.programs.xss-lock = {
- enable = mkEnableOption "xss-lock";
+ enable = mkEnableOption (lib.mdDoc "xss-lock");
lockerCommand = mkOption {
default = "${pkgs.i3lock}/bin/i3lock";
diff --git a/third_party/nixpkgs/nixos/modules/programs/xwayland.nix b/third_party/nixpkgs/nixos/modules/programs/xwayland.nix
index 9296116dca..8d13e4c22b 100644
--- a/third_party/nixpkgs/nixos/modules/programs/xwayland.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/xwayland.nix
@@ -10,7 +10,7 @@ in
{
options.programs.xwayland = {
- enable = mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)";
+ enable = mkEnableOption (lib.mdDoc "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)");
defaultFontPath = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/yabar.nix b/third_party/nixpkgs/nixos/modules/programs/yabar.nix
index c6eb0eb10c..58ffe55571 100644
--- a/third_party/nixpkgs/nixos/modules/programs/yabar.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/yabar.nix
@@ -41,7 +41,7 @@ let
in
{
options.programs.yabar = {
- enable = mkEnableOption "yabar";
+ enable = mkEnableOption (lib.mdDoc "yabar");
package = mkOption {
default = pkgs.yabar-unstable;
diff --git a/third_party/nixpkgs/nixos/modules/programs/zmap.nix b/third_party/nixpkgs/nixos/modules/programs/zmap.nix
index 2e27fce4d7..056f788830 100644
--- a/third_party/nixpkgs/nixos/modules/programs/zmap.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/zmap.nix
@@ -6,7 +6,7 @@ let
cfg = config.programs.zmap;
in {
options.programs.zmap = {
- enable = mkEnableOption "ZMap";
+ enable = mkEnableOption (lib.mdDoc "ZMap");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autoenv.nix b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autoenv.nix
index 46fc4d49c5..be93c96b2b 100644
--- a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autoenv.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autoenv.nix
@@ -7,7 +7,7 @@ let
in {
options = {
programs.zsh.zsh-autoenv = {
- enable = mkEnableOption "zsh-autoenv";
+ enable = mkEnableOption (lib.mdDoc "zsh-autoenv");
package = mkOption {
default = pkgs.zsh-autoenv;
defaultText = literalExpression "pkgs.zsh-autoenv";
diff --git a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
index 92a3fc0813..d3a9c372e8 100644
--- a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-autosuggestions.nix
@@ -12,7 +12,7 @@ in
options.programs.zsh.autosuggestions = {
- enable = mkEnableOption "zsh-autosuggestions";
+ enable = mkEnableOption (lib.mdDoc "zsh-autosuggestions");
highlightStyle = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
index 37e1c2ebc3..bc11013492 100644
--- a/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
@@ -15,7 +15,7 @@ in
options = {
programs.zsh.syntaxHighlighting = {
- enable = mkEnableOption "zsh-syntax-highlighting";
+ enable = mkEnableOption (lib.mdDoc "zsh-syntax-highlighting");
highlighters = mkOption {
default = [ "main" ];
diff --git a/third_party/nixpkgs/nixos/modules/security/acme/default.nix b/third_party/nixpkgs/nixos/modules/security/acme/default.nix
index f85cf2fc12..377b543c58 100644
--- a/third_party/nixpkgs/nixos/modules/security/acme/default.nix
+++ b/third_party/nixpkgs/nixos/modules/security/acme/default.nix
@@ -457,7 +457,7 @@ let
'';
};
- enableDebugLogs = mkEnableOption "debug logging for this certificate" // {
+ enableDebugLogs = mkEnableOption (lib.mdDoc "debug logging for this certificate") // {
inherit (defaultAndText "enableDebugLogs" true) default defaultText;
};
@@ -576,13 +576,12 @@ let
ocspMustStaple = mkOption {
type = types.bool;
inherit (defaultAndText "ocspMustStaple" false) default defaultText;
- description = ''
+ description = lib.mdDoc ''
Turns on the OCSP Must-Staple TLS extension.
Make sure you know what you're doing! See:
-
-
-
-
+
+ -
+ -
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/security/apparmor.nix b/third_party/nixpkgs/nixos/modules/security/apparmor.nix
index c4eca45325..0d858a4585 100644
--- a/third_party/nixpkgs/nixos/modules/security/apparmor.nix
+++ b/third_party/nixpkgs/nixos/modules/security/apparmor.nix
@@ -7,7 +7,7 @@ let
inherit (lib) types;
inherit (config.environment) etc;
cfg = config.security.apparmor;
- mkDisableOption = name: mkEnableOption name // {
+ mkDisableOption = name: mkEnableOption (lib.mdDoc name) // {
default = true;
example = false;
};
@@ -24,7 +24,7 @@ in
options = {
security.apparmor = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
the AppArmor Mandatory Access Control system.
If you're enabling this module on a running system,
@@ -38,9 +38,9 @@ in
introducing for the first time an AppArmor profile for the executable
of a running process.
- Enable
+ Enable [](#opt-security.apparmor.killUnconfinedConfinables)
if you want this service to do such killing
- by sending a SIGTERM to those running processes'';
+ by sending a `SIGTERM` to those running processes'');
policies = mkOption {
description = lib.mdDoc ''
AppArmor policies.
@@ -72,23 +72,23 @@ in
default = [];
description = lib.mdDoc "List of packages to be added to AppArmor's include path";
};
- enableCache = mkEnableOption ''
+ enableCache = mkEnableOption (lib.mdDoc ''
caching of AppArmor policies
- in /var/cache/apparmor/.
+ in `/var/cache/apparmor/`.
Beware that AppArmor policies almost always contain Nix store paths,
and thus produce at each change of these paths
- a new cached version accumulating in the cache'';
- killUnconfinedConfinables = mkEnableOption ''
+ a new cached version accumulating in the cache'');
+ killUnconfinedConfinables = mkEnableOption (lib.mdDoc ''
killing of processes which have an AppArmor profile enabled
- (in )
+ (in [](#opt-security.apparmor.policies))
but are not confined (because AppArmor can only confine new processes).
- This is only sending a gracious SIGTERM signal to the processes,
- not a SIGKILL.
+ This is only sending a gracious `SIGTERM` signal to the processes,
+ not a `SIGKILL`.
Beware that due to a current limitation of AppArmor,
- only profiles with exact paths (and no name) can enable such kills'';
+ only profiles with exact paths (and no name) can enable such kills'');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/security/auditd.nix b/third_party/nixpkgs/nixos/modules/security/auditd.nix
index 9d26cfbcfb..db4b2701ee 100644
--- a/third_party/nixpkgs/nixos/modules/security/auditd.nix
+++ b/third_party/nixpkgs/nixos/modules/security/auditd.nix
@@ -3,7 +3,7 @@
with lib;
{
- options.security.auditd.enable = mkEnableOption "the Linux Audit daemon";
+ options.security.auditd.enable = mkEnableOption (lib.mdDoc "the Linux Audit daemon");
config = mkIf config.security.auditd.enable {
boot.kernelParams = [ "audit=1" ];
diff --git a/third_party/nixpkgs/nixos/modules/security/dhparams.nix b/third_party/nixpkgs/nixos/modules/security/dhparams.nix
index 93c9066dc9..9fed7e012b 100644
--- a/third_party/nixpkgs/nixos/modules/security/dhparams.nix
+++ b/third_party/nixpkgs/nixos/modules/security/dhparams.nix
@@ -56,45 +56,53 @@ in {
in attrsOf (coercedTo int coerce (submodule paramsSubmodule));
default = {};
example = lib.literalExpression "{ nginx.bits = 3072; }";
- description = ''
+ description = lib.mdDoc ''
Diffie-Hellman parameters to generate.
The value is the size (in bits) of the DH params to generate. The
generated DH params path can be found in
- config.security.dhparams.params.«name».path.
+ `config.security.dhparams.params.«name».path`.
- The name of the DH params is taken as being the name of
+ ::: {.note}
+ The name of the DH params is taken as being the name of
the service it serves and the params will be generated before the
- said service is started.
+ said service is started.
+ :::
- If you are removing all dhparams from this list, you
- have to leave for at
+ ::: {.warning}
+ If you are removing all dhparams from this list, you
+ have to leave {option}`security.dhparams.enable` for at
least one activation in order to have them be cleaned up. This also
means if you rollback to a version without any dhparams the
existing ones won't be cleaned up. Of course this only applies if
- is
- true.
+ {option}`security.dhparams.stateful` is
+ `true`.
+ :::
- For module implementers:It's recommended
+ ::: {.note}
+ **For module implementers:** It's recommended
to not set a specific bit size here, so that users can easily
override this by setting
- .
+ {option}`security.dhparams.defaultBitSize`.
+ :::
'';
};
stateful = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
Whether generation of Diffie-Hellman parameters should be stateful or
not. If this is enabled, PEM-encoded files for Diffie-Hellman
parameters are placed in the directory specified by
- . Otherwise the files are
+ {option}`security.dhparams.path`. Otherwise the files are
created within the Nix store.
- If this is false the resulting store
+ ::: {.note}
+ If this is `false` the resulting store
path will be non-deterministic and will be rebuilt every time the
- openssl package changes.
+ `openssl` package changes.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/security/misc.nix b/third_party/nixpkgs/nixos/modules/security/misc.nix
index 6833452a57..cd48eade77 100644
--- a/third_party/nixpkgs/nixos/modules/security/misc.nix
+++ b/third_party/nixpkgs/nixos/modules/security/misc.nix
@@ -83,34 +83,19 @@ with lib;
security.virtualisation.flushL1DataCache = mkOption {
type = types.nullOr (types.enum [ "never" "cond" "always" ]);
default = null;
- description = ''
+ description = lib.mdDoc ''
Whether the hypervisor should flush the L1 data cache before
entering guests.
- See also .
+ See also [](#opt-security.allowSimultaneousMultithreading).
-
-
- null
- uses the kernel default
-
-
- "never"
- disables L1 data cache flushing entirely.
- May be appropriate if all guests are trusted.
-
-
- "cond"
- flushes L1 data cache only for pre-determined
- code paths. May leak information about the host address space
- layout.
-
-
- "always"
- flushes L1 data cache every time the hypervisor
- enters the guest. May incur significant performance cost.
-
-
-
+ - `null`: uses the kernel default
+ - `"never"`: disables L1 data cache flushing entirely.
+ May be appropriate if all guests are trusted.
+ - `"cond"`: flushes L1 data cache only for pre-determined
+ code paths. May leak information about the host address space
+ layout.
+ - `"always"`: flushes L1 data cache every time the hypervisor
+ enters the guest. May incur significant performance cost.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/security/pam.nix b/third_party/nixpkgs/nixos/modules/security/pam.nix
index 94b59c83d4..c4d891333f 100644
--- a/third_party/nixpkgs/nixos/modules/security/pam.nix
+++ b/third_party/nixpkgs/nixos/modules/security/pam.nix
@@ -146,8 +146,8 @@ let
default = config.users.mysql.enable;
defaultText = literalExpression "config.users.mysql.enable";
type = types.bool;
- description = ''
- If set, the pam_mysql module will be used to
+ description = lib.mdDoc ''
+ If set, the `pam_mysql` module will be used to
authenticate users against a MySQL/MariaDB database.
'';
};
@@ -521,7 +521,7 @@ let
# Modules in this block require having the password set in PAM_AUTHTOK.
# pam_unix is marked as 'sufficient' on NixOS which means nothing will run
# after it succeeds. Certain modules need to run after pam_unix
- # prompts the user for password so we run it once with 'required' at an
+ # prompts the user for password so we run it once with 'optional' at an
# earlier point and it will run again with 'sufficient' further down.
# We use try_first_pass the second time to avoid prompting password twice
(optionalString (cfg.unixAuth &&
@@ -534,7 +534,7 @@ let
|| cfg.duoSecurity.enable))
(
''
- auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth
+ auth optional pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth
'' +
optionalString config.security.pam.enableEcryptfs ''
auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap
@@ -773,16 +773,16 @@ in
}
];
- description = ''
+ description = lib.mdDoc ''
Define resource limits that should apply to users or groups.
Each item in the list should be an attribute set with a
- domain, type,
- item, and value
+ {var}`domain`, {var}`type`,
+ {var}`item`, and {var}`value`
attribute. The syntax and semantics of these attributes
- must be that described in limits.conf5.
+ must be that described in {manpage}`limits.conf(5)`.
Note that these limits do not apply to systemd services,
- whose limits can be changed via
+ whose limits can be changed via {option}`systemd.extraConfig`
instead.
'';
};
@@ -822,7 +822,7 @@ in
'';
};
- security.pam.enableOTPW = mkEnableOption "the OTPW (one-time password) PAM module";
+ security.pam.enableOTPW = mkEnableOption (lib.mdDoc "the OTPW (one-time password) PAM module");
security.pam.krb5 = {
enable = mkOption {
@@ -1145,7 +1145,7 @@ in
};
};
- security.pam.enableEcryptfs = mkEnableOption "eCryptfs PAM module (mounting ecryptfs home directory on login)";
+ security.pam.enableEcryptfs = mkEnableOption (lib.mdDoc "eCryptfs PAM module (mounting ecryptfs home directory on login)");
users.motd = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/security/polkit.nix b/third_party/nixpkgs/nixos/modules/security/polkit.nix
index 0a2d81445b..95a2d4d537 100644
--- a/third_party/nixpkgs/nixos/modules/security/polkit.nix
+++ b/third_party/nixpkgs/nixos/modules/security/polkit.nix
@@ -12,7 +12,7 @@ in
options = {
- security.polkit.enable = mkEnableOption "polkit";
+ security.polkit.enable = mkEnableOption (lib.mdDoc "polkit");
security.polkit.extraConfig = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/security/sudo.nix b/third_party/nixpkgs/nixos/modules/security/sudo.nix
index 68ceb6c230..296b61fd70 100644
--- a/third_party/nixpkgs/nixos/modules/security/sudo.nix
+++ b/third_party/nixpkgs/nixos/modules/security/sudo.nix
@@ -157,17 +157,17 @@ in
options = {
command = mkOption {
type = with types; str;
- description = ''
+ description = lib.mdDoc ''
A command being either just a path to a binary to allow any arguments,
- the full command with arguments pre-set or with "" used as the argument,
+ the full command with arguments pre-set or with `""` used as the argument,
not allowing arguments to the command at all.
'';
};
options = mkOption {
type = with types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" ]);
- description = ''
- Options for running the command. Refer to the sudo manual.
+ description = lib.mdDoc ''
+ Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/man/1.7.10/sudoers.man.html).
'';
default = [];
};
diff --git a/third_party/nixpkgs/nixos/modules/security/systemd-confinement.nix b/third_party/nixpkgs/nixos/modules/security/systemd-confinement.nix
index f5ed3d281a..be04741f4d 100644
--- a/third_party/nixpkgs/nixos/modules/security/systemd-confinement.nix
+++ b/third_party/nixpkgs/nixos/modules/security/systemd-confinement.nix
@@ -38,8 +38,8 @@ in {
type = types.listOf (types.either types.str types.package);
default = [];
description = let
- mkScOption = optName: "";
- in ''
+ mkScOption = optName: "{option}`serviceConfig.${optName}`";
+ in lib.mdDoc ''
Additional packages or strings with context to add to the closure of
the chroot. By default, this includes all the packages from the
${lib.concatMapStringsSep ", " mkScOption [
@@ -47,12 +47,14 @@ in {
"ExecStopPost"
]} and ${mkScOption "ExecStart"} options. If you want to have all the
dependencies of this systemd unit, you can use
- .
+ {option}`confinement.fullUnit`.
- The store paths listed in are
- not included in the closure as
+ ::: {.note}
+ The store paths listed in {option}`path` are
+ **not** included in the closure as
well as paths from other options except those listed
- above.
+ above.
+ :::
'';
};
@@ -74,20 +76,20 @@ in {
options.confinement.mode = lib.mkOption {
type = types.enum [ "full-apivfs" "chroot-only" ];
default = "full-apivfs";
- description = ''
- The value full-apivfs (the default) sets up
- private /dev, /proc, /sys and /tmp file systems in a separate user
+ description = lib.mdDoc ''
+ The value `full-apivfs` (the default) sets up
+ private {file}`/dev`, {file}`/proc`,
+ {file}`/sys` and {file}`/tmp` file systems in a separate user
name space.
- If this is set to chroot-only, only the file
+ If this is set to `chroot-only`, only the file
system name space is set up along with the call to
- chroot2.
+ {manpage}`chroot(2)`.
- This doesn't cover network namespaces and is solely for
- file system level isolation.
+ ::: {.note}
+ This doesn't cover network namespaces and is solely for
+ file system level isolation.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/security/tpm2.nix b/third_party/nixpkgs/nixos/modules/security/tpm2.nix
index 375f4af1a6..5a023cec48 100644
--- a/third_party/nixpkgs/nixos/modules/security/tpm2.nix
+++ b/third_party/nixpkgs/nixos/modules/security/tpm2.nix
@@ -17,7 +17,7 @@ let
in {
options.security.tpm2 = {
- enable = lib.mkEnableOption "Trusted Platform Module 2 support";
+ enable = lib.mkEnableOption (lib.mdDoc "Trusted Platform Module 2 support");
tssUser = lib.mkOption {
description = lib.mdDoc ''
@@ -48,9 +48,9 @@ in {
};
abrmd = {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
Trusted Platform 2 userspace resource manager daemon
- '';
+ '');
package = lib.mkOption {
description = lib.mdDoc "tpm2-abrmd package to use";
@@ -61,10 +61,10 @@ in {
};
pkcs11 = {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
TPM2 PKCS#11 tool and shared library in system path
- (/run/current-system/sw/lib/libtpm2_pkcs11.so)
- '';
+ (`/run/current-system/sw/lib/libtpm2_pkcs11.so`)
+ '');
package = lib.mkOption {
description = lib.mdDoc "tpm2-pkcs11 package to use";
@@ -76,21 +76,11 @@ in {
tctiEnvironment = {
enable = lib.mkOption {
- description = ''
+ description = lib.mdDoc ''
Set common TCTI environment variables to the specified value.
The variables are
-
-
-
- TPM2TOOLS_TCTI
-
-
-
-
- TPM2_PKCS11_TCTI
-
-
-
+ - `TPM2TOOLS_TCTI`
+ - `TPM2_PKCS11_TCTI`
'';
type = lib.types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/security/wrappers/default.nix b/third_party/nixpkgs/nixos/modules/security/wrappers/default.nix
index aa37ec7db4..45aee7c973 100644
--- a/third_party/nixpkgs/nixos/modules/security/wrappers/default.nix
+++ b/third_party/nixpkgs/nixos/modules/security/wrappers/default.nix
@@ -51,20 +51,20 @@ let
options.capabilities = lib.mkOption
{ type = lib.types.commas;
default = "";
- description = ''
+ description = lib.mdDoc ''
A comma-separated list of capabilities to be given to the wrapper
program. For capabilities supported by the system check the
- capabilities7
+ {manpage}`capabilities(7)`
manual page.
-
- cap_setpcap, which is required for the wrapper
- program to be able to raise caps into the Ambient set is NOT raised
- to the Ambient set so that the real program cannot modify its own
- capabilities!! This may be too restrictive for cases in which the
- real program needs cap_setpcap but it at least leans on the side
- security paranoid vs. too relaxed.
-
+ ::: {.note}
+ `cap_setpcap`, which is required for the wrapper
+ program to be able to raise caps into the Ambient set is NOT raised
+ to the Ambient set so that the real program cannot modify its own
+ capabilities!! This may be too restrictive for cases in which the
+ real program needs cap_setpcap but it at least leans on the side
+ security paranoid vs. too relaxed.
+ :::
'';
};
options.setuid = lib.mkOption
@@ -189,7 +189,7 @@ in
default = "50%";
example = "10G";
type = lib.types.str;
- description = ''
+ description = lib.mdDoc ''
Size limit for the /run/wrappers tmpfs. Look at mount(8), tmpfs size option,
for the accepted syntax. WARNING: don't set to less than 64MB.
'';
@@ -199,7 +199,7 @@ in
type = lib.types.path;
default = "/run/wrappers/bin";
internal = true;
- description = ''
+ description = lib.mdDoc ''
This option defines the path to the wrapper programs. It
should not be overriden.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/admin/meshcentral.nix b/third_party/nixpkgs/nixos/modules/services/admin/meshcentral.nix
index e1df39716d..22f31e9526 100644
--- a/third_party/nixpkgs/nixos/modules/services/admin/meshcentral.nix
+++ b/third_party/nixpkgs/nixos/modules/services/admin/meshcentral.nix
@@ -5,7 +5,7 @@ let
configFile = configFormat.generate "meshcentral-config.json" cfg.settings;
in with lib; {
options.services.meshcentral = with types; {
- enable = mkEnableOption "MeshCentral computer management server";
+ enable = mkEnableOption (lib.mdDoc "MeshCentral computer management server");
package = mkOption {
description = lib.mdDoc "MeshCentral package to use. Replacing this may be necessary to add dependencies for extra functionality.";
type = types.package;
@@ -13,15 +13,13 @@ in with lib; {
defaultText = literalExpression "pkgs.meshcentral";
};
settings = mkOption {
- description = ''
+ description = lib.mdDoc ''
Settings for MeshCentral. Refer to upstream documentation for details:
-
- JSON Schema definition
- simple sample configuration
- complex sample configuration
- Old homepage) with documentation link
-
+ - [JSON Schema definition](https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json)
+ - [simple sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json)
+ - [complex sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json)
+ - [Old homepage with documentation link](https://www.meshcommander.com/meshcentral2)
'';
type = types.submodule {
freeformType = configFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/admin/oxidized.nix b/third_party/nixpkgs/nixos/modules/services/admin/oxidized.nix
index f0d46f787b..56f3303149 100644
--- a/third_party/nixpkgs/nixos/modules/services/admin/oxidized.nix
+++ b/third_party/nixpkgs/nixos/modules/services/admin/oxidized.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.oxidized = {
- enable = mkEnableOption "the oxidized configuration backup service";
+ enable = mkEnableOption (lib.mdDoc "the oxidized configuration backup service");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/admin/pgadmin.nix b/third_party/nixpkgs/nixos/modules/services/admin/pgadmin.nix
index aff25bcb68..439f8f0d0f 100644
--- a/third_party/nixpkgs/nixos/modules/services/admin/pgadmin.nix
+++ b/third_party/nixpkgs/nixos/modules/services/admin/pgadmin.nix
@@ -28,7 +28,7 @@ let
in
{
options.services.pgadmin = {
- enable = mkEnableOption "PostgreSQL Admin 4";
+ enable = mkEnableOption (lib.mdDoc "PostgreSQL Admin 4");
port = mkOption {
description = lib.mdDoc "Port for pgadmin4 to run on";
@@ -49,7 +49,7 @@ in
type = types.path;
};
- openFirewall = mkEnableOption "firewall passthrough for pgadmin4";
+ openFirewall = mkEnableOption (lib.mdDoc "firewall passthrough for pgadmin4");
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/admin/salt/master.nix b/third_party/nixpkgs/nixos/modules/services/admin/salt/master.nix
index 3c246a9423..4346022970 100644
--- a/third_party/nixpkgs/nixos/modules/services/admin/salt/master.nix
+++ b/third_party/nixpkgs/nixos/modules/services/admin/salt/master.nix
@@ -20,7 +20,7 @@ in
{
options = {
services.salt.master = {
- enable = mkEnableOption "Salt master service";
+ enable = mkEnableOption (lib.mdDoc "Salt master service");
configuration = mkOption {
type = types.attrs;
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/admin/salt/minion.nix b/third_party/nixpkgs/nixos/modules/services/admin/salt/minion.nix
index 165ec8ef96..3ae02a4cc5 100644
--- a/third_party/nixpkgs/nixos/modules/services/admin/salt/minion.nix
+++ b/third_party/nixpkgs/nixos/modules/services/admin/salt/minion.nix
@@ -21,7 +21,7 @@ in
{
options = {
services.salt.minion = {
- enable = mkEnableOption "Salt minion service";
+ enable = mkEnableOption (lib.mdDoc "Salt minion service");
configuration = mkOption {
type = types.attrs;
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix b/third_party/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
index 9d3243722d..11dabf0b51 100644
--- a/third_party/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
+++ b/third_party/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
@@ -136,7 +136,7 @@ in
};
managementPlugin = {
- enable = mkEnableOption "the management plugin";
+ enable = mkEnableOption (lib.mdDoc "the management plugin");
port = mkOption {
default = 15672;
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/botamusique.nix b/third_party/nixpkgs/nixos/modules/services/audio/botamusique.nix
index edb59a49fd..4cd900f945 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/botamusique.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/botamusique.nix
@@ -12,7 +12,7 @@ in
meta.maintainers = with lib.maintainers; [ hexa ];
options.services.botamusique = {
- enable = mkEnableOption "botamusique, a bot to play audio streams on mumble";
+ enable = mkEnableOption (lib.mdDoc "botamusique, a bot to play audio streams on mumble");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/hqplayerd.nix b/third_party/nixpkgs/nixos/modules/services/audio/hqplayerd.nix
index 4045a34b40..eff1549380 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/hqplayerd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/hqplayerd.nix
@@ -12,7 +12,7 @@ in
{
options = {
services.hqplayerd = {
- enable = mkEnableOption "HQPlayer Embedded";
+ enable = mkEnableOption (lib.mdDoc "HQPlayer Embedded");
auth = {
username = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/icecast.nix b/third_party/nixpkgs/nixos/modules/services/audio/icecast.nix
index 0a81d71b56..759f1ab0db 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/icecast.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/icecast.nix
@@ -44,7 +44,7 @@ in {
services.icecast = {
- enable = mkEnableOption "Icecast server";
+ enable = mkEnableOption (lib.mdDoc "Icecast server");
hostname = mkOption {
type = types.nullOr types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/jack.nix b/third_party/nixpkgs/nixos/modules/services/audio/jack.nix
index ae566bba84..105e99cb2f 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/jack.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/jack.nix
@@ -16,9 +16,9 @@ in {
options = {
services.jack = {
jackd = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
JACK Audio Connection Kit. You need to add yourself to the "jackaudio" group
- '';
+ '');
package = mkOption {
# until jack1 promiscuous mode is fixed
@@ -27,7 +27,7 @@ in {
default = pkgs.jack2;
defaultText = literalExpression "pkgs.jack2";
example = literalExpression "pkgs.jack1";
- description = ''
+ description = lib.mdDoc ''
The JACK package to use.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix b/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
index 7e23ffe6bf..c6392c679c 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
@@ -7,7 +7,7 @@ in
{
options = {
services.jmusicbot = {
- enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
+ enable = mkEnableOption (lib.mdDoc "jmusicbot, a Discord music bot that's easy to set up and run yourself");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/mopidy.nix b/third_party/nixpkgs/nixos/modules/services/audio/mopidy.nix
index 9c8e9b693c..50ee9a8245 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/mopidy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/mopidy.nix
@@ -26,7 +26,7 @@ in {
services.mopidy = {
- enable = mkEnableOption "Mopidy, a music player daemon";
+ enable = mkEnableOption (lib.mdDoc "Mopidy, a music player daemon");
dataDir = mkOption {
default = "/var/lib/mopidy";
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/mpdscribble.nix b/third_party/nixpkgs/nixos/modules/services/audio/mpdscribble.nix
index d829bc7ae0..132d9ad325 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/mpdscribble.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/mpdscribble.nix
@@ -77,7 +77,7 @@ in {
options.services.mpdscribble = {
- enable = mkEnableOption "mpdscribble";
+ enable = mkEnableOption (lib.mdDoc "mpdscribble");
proxy = mkOption {
default = null;
@@ -128,9 +128,9 @@ in {
mpdCfg.credentials).passwordFile
else
null;
- defaultText = literalDocBook ''
+ defaultText = literalMD ''
The first password file with read access configured for MPD when using a local instance,
- otherwise null.
+ otherwise `null`.
'';
type = types.nullOr types.str;
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/navidrome.nix b/third_party/nixpkgs/nixos/modules/services/audio/navidrome.nix
index a7c8953f51..d74835e220 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/navidrome.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/navidrome.nix
@@ -9,7 +9,7 @@ in {
options = {
services.navidrome = {
- enable = mkEnableOption "Navidrome music server";
+ enable = mkEnableOption (lib.mdDoc "Navidrome music server");
settings = mkOption rec {
type = settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/networkaudiod.nix b/third_party/nixpkgs/nixos/modules/services/audio/networkaudiod.nix
index 265a4e1d95..11486429e6 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/networkaudiod.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/networkaudiod.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.networkaudiod = {
- enable = mkEnableOption "Networkaudiod (NAA)";
+ enable = mkEnableOption (lib.mdDoc "Networkaudiod (NAA)");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/roon-bridge.nix b/third_party/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
index 9a9a6479ef..db84ba2862 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.roon-bridge = {
- enable = mkEnableOption "Roon Bridge";
+ enable = mkEnableOption (lib.mdDoc "Roon Bridge");
openFirewall = mkOption {
type = types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/roon-server.nix b/third_party/nixpkgs/nixos/modules/services/audio/roon-server.nix
index 535950f756..4764ee3e59 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/roon-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/roon-server.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.roon-server = {
- enable = mkEnableOption "Roon Server";
+ enable = mkEnableOption (lib.mdDoc "Roon Server");
openFirewall = mkOption {
type = types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/spotifyd.nix b/third_party/nixpkgs/nixos/modules/services/audio/spotifyd.nix
index 87ee083e74..975be5a87c 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/spotifyd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/spotifyd.nix
@@ -17,7 +17,7 @@ in
{
options = {
services.spotifyd = {
- enable = mkEnableOption "spotifyd, a Spotify playing daemon";
+ enable = mkEnableOption (lib.mdDoc "spotifyd, a Spotify playing daemon");
config = mkOption {
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/squeezelite.nix b/third_party/nixpkgs/nixos/modules/services/audio/squeezelite.nix
index 767eeda177..30dc12552f 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/squeezelite.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/squeezelite.nix
@@ -14,9 +14,9 @@ in
###### interface
options.services.squeezelite = {
- enable = mkEnableOption "Squeezelite, a software Squeezebox emulator";
+ enable = mkEnableOption (lib.mdDoc "Squeezelite, a software Squeezebox emulator");
- pulseAudio = mkEnableOption "pulseaudio support";
+ pulseAudio = mkEnableOption (lib.mdDoc "pulseaudio support");
extraArguments = mkOption {
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/ympd.nix b/third_party/nixpkgs/nixos/modules/services/audio/ympd.nix
index 98522f2542..f14c81cdb8 100644
--- a/third_party/nixpkgs/nixos/modules/services/audio/ympd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/audio/ympd.nix
@@ -12,7 +12,7 @@ in {
services.ympd = {
- enable = mkEnableOption "ympd, the MPD Web GUI";
+ enable = mkEnableOption (lib.mdDoc "ympd, the MPD Web GUI");
webPort = mkOption {
type = types.either types.str types.port; # string for backwards compat
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix b/third_party/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
index 194b49da53..d0237f196a 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/automysqlbackup.nix
@@ -30,7 +30,7 @@ in
options = {
services.automysqlbackup = {
- enable = mkEnableOption "AutoMySQLBackup";
+ enable = mkEnableOption (lib.mdDoc "AutoMySQLBackup");
calendar = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/bacula.nix b/third_party/nixpkgs/nixos/modules/services/backup/bacula.nix
index cb8a6eb439..d4f6ac8f5d 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/bacula.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/bacula.nix
@@ -195,7 +195,7 @@ let
};
devices = mkOption {
- description = "";
+ description = lib.mdDoc "";
type = types.listOf types.str;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/borgmatic.nix b/third_party/nixpkgs/nixos/modules/services/backup/borgmatic.nix
index 7236a1f194..73c4acda39 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/borgmatic.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/borgmatic.nix
@@ -8,7 +8,7 @@ let
cfgfile = settingsFormat.generate "config.yaml" cfg.settings;
in {
options.services.borgmatic = {
- enable = mkEnableOption "borgmatic";
+ enable = mkEnableOption (lib.mdDoc "borgmatic");
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/duplicati.nix b/third_party/nixpkgs/nixos/modules/services/backup/duplicati.nix
index 8da29a04c8..47f0b618c8 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/duplicati.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/duplicati.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.duplicati = {
- enable = mkEnableOption "Duplicati";
+ enable = mkEnableOption (lib.mdDoc "Duplicati");
port = mkOption {
default = 8200;
@@ -21,14 +21,14 @@ in
dataDir = mkOption {
type = types.str;
default = "/var/lib/duplicati";
- description = ''
+ description = lib.mdDoc ''
The directory where Duplicati stores its data files.
-
- If left as the default value this directory will automatically be created
- before the Duplicati server starts, otherwise you are responsible for ensuring
- the directory exists with appropriate ownership and permissions.
-
+ ::: {.note}
+ If left as the default value this directory will automatically be created
+ before the Duplicati server starts, otherwise you are responsible for ensuring
+ the directory exists with appropriate ownership and permissions.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/duplicity.nix b/third_party/nixpkgs/nixos/modules/services/backup/duplicity.nix
index afa4f31b12..05ec997ab6 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/duplicity.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/duplicity.nix
@@ -13,7 +13,7 @@ let
in
{
options.services.duplicity = {
- enable = mkEnableOption "backups with duplicity";
+ enable = mkEnableOption (lib.mdDoc "backups with duplicity");
root = mkOption {
type = types.path;
@@ -54,15 +54,15 @@ in
secretFile = mkOption {
type = types.nullOr types.path;
default = null;
- description = ''
+ description = lib.mdDoc ''
Path of a file containing secrets (gpg passphrase, access key...) in
the format of EnvironmentFile as described by
- systemd.exec5. For example:
-
+ {manpage}`systemd.exec(5)`. For example:
+ ```
PASSPHRASE=«...»
AWS_ACCESS_KEY_ID=«...»
AWS_SECRET_ACCESS_KEY=«...»
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/mysql-backup.nix b/third_party/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
index 41adb63e7f..289291c6bd 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
@@ -37,7 +37,7 @@ in
services.mysqlBackup = {
- enable = mkEnableOption "MySQL backups";
+ enable = mkEnableOption (lib.mdDoc "MySQL backups");
calendar = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix b/third_party/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
index 744ccb98e2..d3c6f3104f 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
@@ -71,7 +71,7 @@ in {
options = {
services.postgresqlBackup = {
- enable = mkEnableOption "PostgreSQL dumps";
+ enable = mkEnableOption (lib.mdDoc "PostgreSQL dumps");
startAt = mkOption {
default = "*-*-* 01:15:00";
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/restic-rest-server.nix b/third_party/nixpkgs/nixos/modules/services/backup/restic-rest-server.nix
index 1d3892c158..37a6150c99 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/restic-rest-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/restic-rest-server.nix
@@ -9,7 +9,7 @@ in
meta.maintainers = [ maintainers.bachp ];
options.services.restic.server = {
- enable = mkEnableOption "Restic REST Server";
+ enable = mkEnableOption (lib.mdDoc "Restic REST Server");
listenAddress = mkOption {
default = ":8000";
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/restic.nix b/third_party/nixpkgs/nixos/modules/services/backup/restic.nix
index 2b0dcb1634..65fe34b2d3 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/restic.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/restic.nix
@@ -182,11 +182,11 @@ in
pruneOpts = mkOption {
type = types.listOf types.str;
default = [ ];
- description = ''
- A list of options (--keep-* et al.) for 'restic forget
+ description = lib.mdDoc ''
+ A list of options (--keep-\* et al.) for 'restic forget
--prune', to automatically prune old snapshots. The
'forget' command is run *after* the 'backup' command, so
- keep that in mind when constructing the --keep-* options.
+ keep that in mind when constructing the --keep-\* options.
'';
example = [
"--keep-daily 7"
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/rsnapshot.nix b/third_party/nixpkgs/nixos/modules/services/backup/rsnapshot.nix
index b18c02d7d1..0b9bb60af0 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/rsnapshot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/rsnapshot.nix
@@ -22,7 +22,7 @@ in
{
options = {
services.rsnapshot = {
- enable = mkEnableOption "rsnapshot backups";
+ enable = mkEnableOption (lib.mdDoc "rsnapshot backups");
enableManualRsnapshot = mkOption {
description = lib.mdDoc "Whether to enable manual usage of the rsnapshot command with this module.";
default = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/sanoid.nix b/third_party/nixpkgs/nixos/modules/services/backup/sanoid.nix
index 0c01aa57f7..a51708170f 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/sanoid.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/sanoid.nix
@@ -112,7 +112,7 @@ in
# Interface
options.services.sanoid = {
- enable = mkEnableOption "Sanoid ZFS snapshotting service";
+ enable = mkEnableOption (lib.mdDoc "Sanoid ZFS snapshotting service");
interval = mkOption {
type = types.str;
@@ -130,8 +130,8 @@ in
type = types.attrsOf (types.submodule ({ config, options, ... }: {
freeformType = datasetSettingsType;
options = commonOptions // datasetOptions;
- config.use_template = mkAliasDefinitions (mkDefault options.useTemplate or { });
- config.process_children_only = mkAliasDefinitions (mkDefault options.processChildrenOnly or { });
+ config.use_template = modules.mkAliasAndWrapDefsWithPriority id (options.useTemplate or { });
+ config.process_children_only = modules.mkAliasAndWrapDefsWithPriority id (options.processChildrenOnly or { });
}));
default = { };
description = lib.mdDoc "Datasets to snapshot.";
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/syncoid.nix b/third_party/nixpkgs/nixos/modules/services/backup/syncoid.nix
index 1e445f4beb..6188f10946 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/syncoid.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/syncoid.nix
@@ -85,7 +85,7 @@ in
# Interface
options.services.syncoid = {
- enable = mkEnableOption "Syncoid ZFS synchronization service";
+ enable = mkEnableOption (lib.mdDoc "Syncoid ZFS synchronization service");
interval = mkOption {
type = types.str;
@@ -200,7 +200,7 @@ in
'';
};
- recursive = mkEnableOption ''the transfer of child datasets'';
+ recursive = mkEnableOption (lib.mdDoc ''the transfer of child datasets'');
sshKey = mkOption {
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/tarsnap.nix b/third_party/nixpkgs/nixos/modules/services/backup/tarsnap.nix
index c2d4f87362..b34aa3ff50 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/tarsnap.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/tarsnap.nix
@@ -30,7 +30,7 @@ in
options = {
services.tarsnap = {
- enable = mkEnableOption "periodic tarsnap backups";
+ enable = mkEnableOption (lib.mdDoc "periodic tarsnap backups");
keyfile = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/tsm.nix b/third_party/nixpkgs/nixos/modules/services/backup/tsm.nix
index bd6f3d71fe..c4de0b16d4 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/tsm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/tsm.nix
@@ -8,12 +8,12 @@ let
inherit (lib.types) nonEmptyStr nullOr;
options.services.tsmBackup = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
automatic backups with the
IBM Spectrum Protect (Tivoli Storage Manager, TSM) client.
This also enables
-
- '';
+ {option}`programs.tsmClient.enable`
+ '');
command = mkOption {
type = nonEmptyStr;
default = "backup";
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/zfs-replication.nix b/third_party/nixpkgs/nixos/modules/services/backup/zfs-replication.nix
index 1a089bb348..f0267c4736 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/zfs-replication.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/zfs-replication.nix
@@ -9,7 +9,7 @@ let
in {
options = {
services.zfs.autoReplication = {
- enable = mkEnableOption "ZFS snapshot replication.";
+ enable = mkEnableOption (lib.mdDoc "ZFS snapshot replication.");
followDelete = mkOption {
description = lib.mdDoc "Remove remote snapshots that don't have a local correspondant.";
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/znapzend.nix b/third_party/nixpkgs/nixos/modules/services/backup/znapzend.nix
index ecd90ba5b3..f8d741e3ad 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/znapzend.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/znapzend.nix
@@ -12,19 +12,19 @@ let
backups. It consists of a series of retention periodes to interval
associations:
-
+ ```
retA=>intA,retB=>intB,...
-
+ ```
Both intervals and retention periods are expressed in standard units
of time or multiples of them. You can use both the full name or a
shortcut according to the following listing:
-
+ ```
second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y
-
+ ```
- See znapzendzetup1 for more info.
+ See {manpage}`znapzendzetup(1)` for more info.
'';
planExample = "1h=>10min,1d=>1h,1w=>1d,1m=>1w,1y=>1m";
@@ -57,7 +57,7 @@ let
plan = mkOption {
type = str;
- description = planDescription;
+ description = lib.mdDoc planDescription;
example = planExample;
};
@@ -209,7 +209,7 @@ let
plan = mkOption {
type = str;
- description = planDescription;
+ description = lib.mdDoc planDescription;
example = planExample;
};
@@ -294,7 +294,7 @@ in
{
options = {
services.znapzend = {
- enable = mkEnableOption "ZnapZend ZFS backup daemon";
+ enable = mkEnableOption (lib.mdDoc "ZnapZend ZFS backup daemon");
logLevel = mkOption {
default = "debug";
@@ -310,8 +310,8 @@ in
type = str;
default = "syslog::daemon";
example = "/var/log/znapzend.log";
- description = ''
- Where to log to (syslog::<facility> or <filepath>).
+ description = lib.mdDoc ''
+ Where to log to (syslog::\ or \).
'';
};
@@ -358,62 +358,62 @@ in
default = false;
};
- features.oracleMode = mkEnableOption ''
+ features.oracleMode = mkEnableOption (lib.mdDoc ''
Destroy snapshots one by one instead of using one long argument list.
If source and destination are out of sync for a long time, you may have
so many snapshots to destroy that the argument gets is too long and the
command fails.
- '';
- features.recvu = mkEnableOption ''
- recvu feature which uses -u on the receiving end to keep the destination
+ '');
+ features.recvu = mkEnableOption (lib.mdDoc ''
+ recvu feature which uses `-u` on the receiving end to keep the destination
filesystem unmounted.
- '';
- features.compressed = mkEnableOption ''
- compressed feature which adds the options -Lce to
- the zfs send command. When this is enabled, make
+ '');
+ features.compressed = mkEnableOption (lib.mdDoc ''
+ compressed feature which adds the options `-Lce` to
+ the {command}`zfs send` command. When this is enabled, make
sure that both the sending and receiving pool have the same relevant
- features enabled. Using -c will skip unneccessary
- decompress-compress stages, -L is for large block
+ features enabled. Using `-c` will skip unneccessary
+ decompress-compress stages, `-L` is for large block
support and -e is for embedded data support. see
- znapzend1
- and zfs8
+ {manpage}`znapzend(1)`
+ and {manpage}`zfs(8)`
for more info.
- '';
- features.sendRaw = mkEnableOption ''
- sendRaw feature which adds the options -w to the
- zfs send command. For encrypted source datasets this
+ '');
+ features.sendRaw = mkEnableOption (lib.mdDoc ''
+ sendRaw feature which adds the options `-w` to the
+ {command}`zfs send` command. For encrypted source datasets this
instructs zfs not to decrypt before sending which results in a remote
backup that can't be read without the encryption key/passphrase, useful
when the remote isn't fully trusted or not physically secure. This
option must be used consistently, raw incrementals cannot be based on
non-raw snapshots and vice versa.
- '';
- features.skipIntermediates = mkEnableOption ''
+ '');
+ features.skipIntermediates = mkEnableOption (lib.mdDoc ''
Enable the skipIntermediates feature to send a single increment
between latest common snapshot and the newly made one. It may skip
several source snaps if the destination was offline for some time, and
it should skip snapshots not managed by znapzend. Normally for online
destinations, the new snapshot is sent as soon as it is created on the
source, so there are no automatic increments to skip.
- '';
- features.lowmemRecurse = mkEnableOption ''
+ '');
+ features.lowmemRecurse = mkEnableOption (lib.mdDoc ''
use lowmemRecurse on systems where you have too many datasets, so a
recursive listing of attributes to find backup plans exhausts the
- memory available to znapzend: instead, go the slower
+ memory available to {command}`znapzend`: instead, go the slower
way to first list all impacted dataset names, and then query their
configs one by one.
- '';
- features.zfsGetType = mkEnableOption ''
- use zfsGetType if your zfs get supports a
- -t argument for filtering by dataset type at all AND
+ '');
+ features.zfsGetType = mkEnableOption (lib.mdDoc ''
+ use zfsGetType if your {command}`zfs get` supports a
+ `-t` argument for filtering by dataset type at all AND
lists properties for snapshots by default when recursing, so that there
is too much data to process while searching for backup plans.
If these two conditions apply to your system, the time needed for a
- --recursive search for backup plans can literally
+ `--recursive` search for backup plans can literally
differ by hundreds of times (depending on the amount of snapshots in
that dataset tree... and a decent backup plan will ensure you have a lot
of those), so you would benefit from requesting this feature.
- '';
+ '');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/backup/zrepl.nix b/third_party/nixpkgs/nixos/modules/services/backup/zrepl.nix
index ea858a8b77..1d3afa3eda 100644
--- a/third_party/nixpkgs/nixos/modules/services/backup/zrepl.nix
+++ b/third_party/nixpkgs/nixos/modules/services/backup/zrepl.nix
@@ -11,7 +11,7 @@ in
options = {
services.zrepl = {
- enable = mkEnableOption "zrepl";
+ enable = mkEnableOption (lib.mdDoc "zrepl");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix b/third_party/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
index 4f045acd95..eca308dc36 100644
--- a/third_party/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
+++ b/third_party/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
@@ -9,7 +9,7 @@ let
options = {
- enable = lib.mkEnableOption "Go Ethereum Node";
+ enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum Node");
port = mkOption {
type = types.port;
@@ -18,7 +18,7 @@ let
};
http = {
- enable = lib.mkEnableOption "Go Ethereum HTTP API";
+ enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum HTTP API");
address = mkOption {
type = types.str;
default = "127.0.0.1";
@@ -40,7 +40,7 @@ let
};
websocket = {
- enable = lib.mkEnableOption "Go Ethereum WebSocket API";
+ enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum WebSocket API");
address = mkOption {
type = types.str;
default = "127.0.0.1";
@@ -61,8 +61,37 @@ let
};
};
+ authrpc = {
+ enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum Auth RPC API");
+ address = mkOption {
+ type = types.str;
+ default = "127.0.0.1";
+ description = lib.mdDoc "Listen address of Go Ethereum Auth RPC API.";
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 8551;
+ description = lib.mdDoc "Port number of Go Ethereum Auth RPC API.";
+ };
+
+ vhosts = mkOption {
+ type = types.nullOr (types.listOf types.str);
+ default = ["localhost"];
+ description = lib.mdDoc "List of virtual hostnames from which to accept requests.";
+ example = ["localhost" "geth.example.org"];
+ };
+
+ jwtsecret = mkOption {
+ type = types.str;
+ default = "";
+ description = lib.mdDoc "Path to a JWT secret for authenticated RPC endpoint.";
+ example = "/var/run/geth/jwtsecret";
+ };
+ };
+
metrics = {
- enable = lib.mkEnableOption "Go Ethereum prometheus metrics";
+ enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum prometheus metrics");
address = mkOption {
type = types.str;
default = "127.0.0.1";
@@ -136,7 +165,10 @@ in
cfg.package
]) eachGeth);
- systemd.services = mapAttrs' (gethName: cfg: (
+ systemd.services = mapAttrs' (gethName: cfg: let
+ stateDir = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}";
+ dataDir = "/var/lib/${stateDir}";
+ in (
nameValuePair "geth-${gethName}" (mkIf cfg.enable {
description = "Go Ethereum node (${gethName})";
wantedBy = [ "multi-user.target" ];
@@ -145,7 +177,7 @@ in
serviceConfig = {
DynamicUser = true;
Restart = "always";
- StateDirectory = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}";
+ StateDirectory = stateDir;
# Hardening measures
PrivateTmp = "true";
@@ -169,8 +201,10 @@ in
${if cfg.websocket.enable then ''--ws --ws.addr ${cfg.websocket.address} --ws.port ${toString cfg.websocket.port}'' else ""} \
${optionalString (cfg.websocket.apis != null) ''--ws.api ${lib.concatStringsSep "," cfg.websocket.apis}''} \
${optionalString cfg.metrics.enable ''--metrics --metrics.addr ${cfg.metrics.address} --metrics.port ${toString cfg.metrics.port}''} \
+ --authrpc.addr ${cfg.authrpc.address} --authrpc.port ${toString cfg.authrpc.port} --authrpc.vhosts ${lib.concatStringsSep "," cfg.authrpc.vhosts} \
+ ${if (cfg.authrpc.jwtsecret != "") then ''--authrpc.jwtsecret ${cfg.authrpc.jwtsecret}'' else ''--authrpc.jwtsecret ${dataDir}/geth/jwtsecret''} \
${lib.escapeShellArgs cfg.extraArgs} \
- --datadir /var/lib/goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}
+ --datadir ${dataDir}
'';
}))) eachGeth;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/corosync/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/corosync/default.nix
index 9730894454..7ef17c46b8 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/corosync/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/corosync/default.nix
@@ -7,7 +7,7 @@ in
{
# interface
options.services.corosync = {
- enable = mkEnableOption "corosync";
+ enable = mkEnableOption (lib.mdDoc "corosync");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/default.nix
index 76e84c1111..72bf25c211 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/default.nix
@@ -25,7 +25,7 @@ with lib;
default = {};
type = types.attrsOf types.anything;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Internal option to add configs to core-site.xml based on module options
'';
};
@@ -59,7 +59,7 @@ with lib;
default = {};
type = types.attrsOf types.anything;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Internal option to add configs to hdfs-site.xml based on module options
'';
};
@@ -134,7 +134,7 @@ with lib;
default = {};
type = types.attrsOf types.anything;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Internal option to add configs to yarn-site.xml based on module options
'';
};
@@ -197,13 +197,13 @@ with lib;
description = lib.mdDoc "Directories containing additional config files to be added to HADOOP_CONF_DIR";
};
- gatewayRole.enable = mkEnableOption "gateway role for deploying hadoop configs";
+ gatewayRole.enable = mkEnableOption (lib.mdDoc "gateway role for deploying hadoop configs");
package = mkOption {
type = types.package;
default = pkgs.hadoop;
defaultText = literalExpression "pkgs.hadoop";
- description = "";
+ description = lib.mdDoc "";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hbase.nix b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hbase.nix
index 8fd40459c1..237a1d428f 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hbase.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hbase.nix
@@ -9,7 +9,7 @@ in
{
options.services.hadoop = {
- gatewayRole.enableHbaseCli = mkEnableOption "HBase CLI tools";
+ gatewayRole.enableHbaseCli = mkEnableOption (lib.mdDoc "HBase CLI tools");
hbaseSiteDefault = mkOption {
default = {
@@ -39,7 +39,7 @@ in
default = {};
type = with types; attrsOf anything;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Internal option to add configs to hbase-site.xml based on module options
'';
};
@@ -77,8 +77,8 @@ in
default = null;
};
master = {
- enable = mkEnableOption "HBase Master";
- initHDFS = mkEnableOption "initialization of the hbase directory on HDFS";
+ enable = mkEnableOption (lib.mdDoc "HBase Master");
+ initHDFS = mkEnableOption (lib.mdDoc "initialization of the hbase directory on HDFS");
openFirewall = mkOption {
type = types.bool;
@@ -89,7 +89,7 @@ in
};
};
regionServer = {
- enable = mkEnableOption "HBase RegionServer";
+ enable = mkEnableOption (lib.mdDoc "HBase RegionServer");
overrideHosts = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hdfs.nix b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hdfs.nix
index 75a97e5354..4a49bd0ddd 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hdfs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/hdfs.nix
@@ -8,7 +8,7 @@ let
# Generator for HDFS service options
hadoopServiceOption = { serviceName, firewallOption ? true, extraOpts ? null }: {
- enable = mkEnableOption serviceName;
+ enable = mkEnableOption (lib.mdDoc serviceName);
restartIfChanged = mkOption {
type = types.bool;
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/yarn.nix b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/yarn.nix
index be0b9c13cd..26077f35fd 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/yarn.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/hadoop/yarn.nix
@@ -31,7 +31,7 @@ in
{
options.services.hadoop.yarn = {
resourcemanager = {
- enable = mkEnableOption "Hadoop YARN ResourceManager";
+ enable = mkEnableOption (lib.mdDoc "Hadoop YARN ResourceManager");
inherit restartIfChanged extraFlags extraEnv;
openFirewall = mkOption {
@@ -43,7 +43,7 @@ in
};
};
nodemanager = {
- enable = mkEnableOption "Hadoop YARN NodeManager";
+ enable = mkEnableOption (lib.mdDoc "Hadoop YARN NodeManager");
inherit restartIfChanged extraFlags extraEnv;
resource = {
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/k3s/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/k3s/default.nix
index a1f6d4ecdf..693f388de1 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/k3s/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/k3s/default.nix
@@ -13,7 +13,7 @@ in
# interface
options.services.k3s = {
- enable = mkEnableOption "k3s";
+ enable = mkEnableOption (lib.mdDoc "k3s");
package = mkOption {
type = types.package;
@@ -25,7 +25,17 @@ in
role = mkOption {
description = lib.mdDoc ''
Whether k3s should run as a server or agent.
- Note that the server, by default, also runs as an agent.
+
+ If it's a server:
+
+ - By default it also runs workloads as an agent.
+ - Starts by default as a standalone server using an embedded sqlite datastore.
+ - Configure `clusterInit = true` to switch over to embedded etcd datastore and enable HA mode.
+ - Configure `serverAddr` to join an already-initialized HA cluster.
+
+ If it's an agent:
+
+ - `serverAddr` is required.
'';
default = "server";
type = types.enum [ "server" "agent" ];
@@ -33,15 +43,44 @@ in
serverAddr = mkOption {
type = types.str;
- description = lib.mdDoc "The k3s server to connect to. This option only makes sense for an agent.";
+ description = lib.mdDoc ''
+ The k3s server to connect to.
+
+ Servers and agents need to communicate each other. Read
+ [the networking docs](https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/#networking)
+ to know how to configure the firewall.
+ '';
example = "https://10.0.0.10:6443";
default = "";
};
+ clusterInit = mkOption {
+ type = types.bool;
+ default = false;
+ description = lib.mdDoc ''
+ Initialize HA cluster using an embedded etcd datastore.
+
+ If this option is `false` and `role` is `server`
+
+ On a server that was using the default embedded sqlite backend,
+ enabling this option will migrate to an embedded etcd DB.
+
+ If an HA cluster using the embedded etcd datastore was already initialized,
+ this option has no effect.
+
+ This option only makes sense in a server that is not connecting to another server.
+
+ If you are configuring an HA cluster with an embedded etcd,
+ the 1st server must have `clusterInit = true`
+ and other servers must connect to it using `serverAddr`.
+ '';
+ };
+
token = mkOption {
type = types.str;
description = lib.mdDoc ''
- The k3s token to use when connecting to the server. This option only makes sense for an agent.
+ The k3s token to use when connecting to a server.
+
WARNING: This option will expose store your token unencrypted world-readable in the nix store.
If this is undesired use the tokenFile option instead.
'';
@@ -50,7 +89,7 @@ in
tokenFile = mkOption {
type = types.nullOr types.path;
- description = lib.mdDoc "File path containing k3s token to use when connecting to the server. This option only makes sense for an agent.";
+ description = lib.mdDoc "File path containing k3s token to use when connecting to the server.";
default = null;
};
@@ -86,6 +125,14 @@ in
assertion = cfg.role == "agent" -> cfg.configPath != null || cfg.tokenFile != null || cfg.token != "";
message = "token or tokenFile or configPath (with 'token' or 'token-file' keys) should be set if role is 'agent'";
}
+ {
+ assertion = cfg.role == "agent" -> !cfg.disableAgent;
+ message = "disableAgent must be false if role is 'agent'";
+ }
+ {
+ assertion = cfg.role == "agent" -> !cfg.clusterInit;
+ message = "clusterInit must be false if role is 'agent'";
+ }
];
environment.systemPackages = [ config.services.k3s.package ];
@@ -111,6 +158,7 @@ in
[
"${cfg.package}/bin/k3s ${cfg.role}"
]
+ ++ (optional cfg.clusterInit "--cluster-init")
++ (optional cfg.disableAgent "--disable-agent")
++ (optional (cfg.serverAddr != "") "--server ${cfg.serverAddr}")
++ (optional (cfg.token != "") "--token ${cfg.token}")
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index 99fd1e6f04..d6b3428908 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -62,7 +62,7 @@ in
'';
};
- enable = mkEnableOption "Kubernetes addon manager.";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes addon manager.");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 5b1e9a6876..3d41b5f008 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -12,7 +12,7 @@ let
};
in {
options.services.kubernetes.addons.dns = {
- enable = mkEnableOption "kubernetes dns addon";
+ enable = mkEnableOption (lib.mdDoc "kubernetes dns addon");
clusterIp = mkOption {
description = lib.mdDoc "Dns addon clusterIP";
@@ -23,9 +23,9 @@ in {
take 3 (splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange
))
) + ".254";
- defaultText = literalDocBook ''
- The x.y.z.254 IP of
- config.${options.services.kubernetes.apiserver.serviceClusterIpRange}.
+ defaultText = literalMD ''
+ The `x.y.z.254` IP of
+ `config.${options.services.kubernetes.apiserver.serviceClusterIpRange}`.
'';
type = types.str;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
index c9ae2c14bb..718244e742 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -98,7 +98,7 @@ in
type = listOf str;
};
- enable = mkEnableOption "Kubernetes apiserver";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes apiserver");
enableAdmissionPlugins = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index 6080e6f991..b1a96e1c38 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -35,7 +35,7 @@ in
type = str;
};
- enable = mkEnableOption "Kubernetes controller manager";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes controller manager");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes controller manager extra command line options.";
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
index cb81eaaf01..5b591eaa8e 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -12,7 +12,7 @@ in
{
###### interface
options.services.kubernetes.flannel = {
- enable = mkEnableOption "enable flannel networking";
+ enable = mkEnableOption (lib.mdDoc "enable flannel networking");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
index cbb1cffc16..ae9548bdba 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -40,7 +40,7 @@ let
key = mkOption {
description = lib.mdDoc "Key of taint.";
default = name;
- defaultText = literalDocBook "Name of this submodule.";
+ defaultText = literalMD "Name of this submodule.";
type = str;
};
value = mkOption {
@@ -145,7 +145,7 @@ in
default = "unix:///run/containerd/containerd.sock";
};
- enable = mkEnableOption "Kubernetes kubelet.";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes kubelet.");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes kubelet extra command line options.";
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
index 7c46ac8558..507e74570e 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -41,7 +41,7 @@ in
###### interface
options.services.kubernetes.pki = with lib.types; {
- enable = mkEnableOption "easyCert issuer service";
+ enable = mkEnableOption (lib.mdDoc "easyCert issuer service");
certs = mkOption {
description = lib.mdDoc "List of certificate specs to feed to cert generator.";
@@ -114,9 +114,9 @@ in
};
etcClusterAdminKubeconfig = mkOption {
- description = ''
+ description = lib.mdDoc ''
Symlink a kubeconfig with cluster-admin privileges to environment path
- (/etc/<path>).
+ (/etc/\).
'';
default = null;
type = nullOr str;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
index 51114c3249..015784f7e3 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -21,7 +21,7 @@ in
type = str;
};
- enable = mkEnableOption "Kubernetes proxy";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes proxy");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes proxy extra command line options.";
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
index ddc67889a3..2eada43eb4 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
@@ -17,7 +17,7 @@ in
type = str;
};
- enable = mkEnableOption "Kubernetes scheduler";
+ enable = mkEnableOption (lib.mdDoc "Kubernetes scheduler");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes scheduler extra command line options.";
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/pacemaker/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/pacemaker/default.nix
index 41d98a460f..0f37f4b754 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/pacemaker/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/pacemaker/default.nix
@@ -7,7 +7,7 @@ in
{
# interface
options.services.pacemaker = {
- enable = mkEnableOption "pacemaker";
+ enable = mkEnableOption (lib.mdDoc "pacemaker");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/patroni/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/patroni/default.nix
index 1685351e48..83b372f594 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/patroni/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/patroni/default.nix
@@ -15,7 +15,7 @@ in
{
options.services.patroni = {
- enable = mkEnableOption "Patroni";
+ enable = mkEnableOption (lib.mdDoc "Patroni");
postgresqlPackage = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/cluster/spark/default.nix b/third_party/nixpkgs/nixos/modules/services/cluster/spark/default.nix
index 30d8fa0fc4..bf39c55373 100644
--- a/third_party/nixpkgs/nixos/modules/services/cluster/spark/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/cluster/spark/default.nix
@@ -7,7 +7,7 @@ with lib;
options = {
services.spark = {
master = {
- enable = mkEnableOption "Spark master service";
+ enable = mkEnableOption (lib.mdDoc "Spark master service");
bind = mkOption {
type = types.str;
description = lib.mdDoc "Address the spark master binds to.";
@@ -35,7 +35,7 @@ with lib;
};
};
worker = {
- enable = mkEnableOption "Spark worker service";
+ enable = mkEnableOption (lib.mdDoc "Spark worker service");
workDir = mkOption {
type = types.path;
description = lib.mdDoc "Spark worker work dir.";
diff --git a/third_party/nixpkgs/nixos/modules/services/computing/boinc/client.nix b/third_party/nixpkgs/nixos/modules/services/computing/boinc/client.nix
index ec88be95ec..5fb715f4d7 100644
--- a/third_party/nixpkgs/nixos/modules/services/computing/boinc/client.nix
+++ b/third_party/nixpkgs/nixos/modules/services/computing/boinc/client.nix
@@ -47,13 +47,13 @@ in
allowRemoteGuiRpc = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
If set to true, any remote host can connect to and control this BOINC
client (subject to password authentication). If instead set to false,
- only the hosts listed in dataDir/remote_hosts.cfg will be allowed to
+ only the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to
connect.
- See also:
+ See also:
'';
};
@@ -61,36 +61,23 @@ in
type = types.listOf types.package;
default = [];
example = literalExpression "[ pkgs.virtualbox ]";
- description = ''
+ description = lib.mdDoc ''
Additional packages to make available in the environment in which
BOINC will run. Common choices are:
-
-
- pkgs.virtualbox
-
- The VirtualBox virtual machine framework. Required by some BOINC
- projects, such as ATLAS@home.
-
-
-
- pkgs.ocl-icd
-
- OpenCL infrastructure library. Required by BOINC projects that
- use OpenCL, in addition to a device-specific OpenCL driver.
-
-
-
- pkgs.linuxPackages.nvidia_x11
-
- Provides CUDA libraries. Required by BOINC projects that use
- CUDA. Note that this requires an NVIDIA graphics device to be
- present on the system.
-
- Also provides OpenCL drivers for NVIDIA GPUs;
- pkgs.ocl-icd is also needed in this case.
-
-
-
+
+ - {var}`pkgs.virtualbox`:
+ The VirtualBox virtual machine framework. Required by some BOINC
+ projects, such as ATLAS@home.
+ - {var}`pkgs.ocl-icd`:
+ OpenCL infrastructure library. Required by BOINC projects that
+ use OpenCL, in addition to a device-specific OpenCL driver.
+ - {var}`pkgs.linuxPackages.nvidia_x11`:
+ Provides CUDA libraries. Required by BOINC projects that use
+ CUDA. Note that this requires an NVIDIA graphics device to be
+ present on the system.
+
+ Also provides OpenCL drivers for NVIDIA GPUs;
+ {var}`pkgs.ocl-icd` is also needed in this case.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/computing/foldingathome/client.nix b/third_party/nixpkgs/nixos/modules/services/computing/foldingathome/client.nix
index ad88fffe43..d8dd17a5ce 100644
--- a/third_party/nixpkgs/nixos/modules/services/computing/foldingathome/client.nix
+++ b/third_party/nixpkgs/nixos/modules/services/computing/foldingathome/client.nix
@@ -18,7 +18,7 @@ in
'')
];
options.services.foldingathome = {
- enable = mkEnableOption "Enable the Folding@home client";
+ enable = mkEnableOption (lib.mdDoc "Enable the Folding@home client");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix b/third_party/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
index 0860b9a220..0c80e79d4b 100644
--- a/third_party/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
@@ -76,7 +76,7 @@ in
};
dbdserver = {
- enable = mkEnableOption "SlurmDBD service";
+ enable = mkEnableOption (lib.mdDoc "SlurmDBD service");
dbdHost = mkOption {
type = types.str;
@@ -117,7 +117,7 @@ in
};
client = {
- enable = mkEnableOption "slurm client daemon";
+ enable = mkEnableOption (lib.mdDoc "slurm client daemon");
};
enableStools = mkOption {
@@ -281,11 +281,11 @@ in
type = types.path;
internal = true;
default = etcSlurm;
- defaultText = literalDocBook ''
+ defaultText = literalMD ''
Directory created from generated config files and
- config.${opt.extraConfigPaths}.
+ `config.${opt.extraConfigPaths}`.
'';
- description = ''
+ description = lib.mdDoc ''
Path to directory with slurm config files. This option is set by default from the
Slurm module and is meant to make the Slurm config file available to other modules.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/computing/torque/mom.nix b/third_party/nixpkgs/nixos/modules/services/computing/torque/mom.nix
index bf3679847b..5dd41429bf 100644
--- a/third_party/nixpkgs/nixos/modules/services/computing/torque/mom.nix
+++ b/third_party/nixpkgs/nixos/modules/services/computing/torque/mom.nix
@@ -17,7 +17,7 @@ in
options = {
services.torque.mom = {
- enable = mkEnableOption "torque computing node";
+ enable = mkEnableOption (lib.mdDoc "torque computing node");
serverNode = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/computing/torque/server.nix b/third_party/nixpkgs/nixos/modules/services/computing/torque/server.nix
index 8d923fc04d..02f20fb37c 100644
--- a/third_party/nixpkgs/nixos/modules/services/computing/torque/server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/computing/torque/server.nix
@@ -11,7 +11,7 @@ in
services.torque.server = {
- enable = mkEnableOption "torque server";
+ enable = mkEnableOption (lib.mdDoc "torque server");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
index ab1a8076c9..d9055149b7 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -94,7 +94,7 @@ in {
type = types.path;
description = lib.mdDoc "Optionally pass master.cfg path. Other options in this configuration will be ignored.";
default = defaultMasterCfg;
- defaultText = literalDocBook ''generated configuration file'';
+ defaultText = literalMD ''generated configuration file'';
example = "/etc/nixos/buildbot/master.cfg";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agents.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agents.nix
index 8e8a65b56b..3d29a641a1 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agents.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/buildkite-agents.nix
@@ -168,7 +168,7 @@ let
hooksPath = mkOption {
type = types.path;
default = hooksDir config;
- defaultText = literalDocBook "generated from ";
+ defaultText = literalMD "generated from {option}`services.buildkite-agents..hooks`";
description = lib.mdDoc ''
Path to the directory storing the hooks.
Consider using {option}`services.buildkite-agents..hooks.`
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 9f076e2d7a..fb148e7cff 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -109,7 +109,7 @@ let
in
{
options.services.gitlab-runner = {
- enable = mkEnableOption "Gitlab Runner";
+ enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
configFile = mkOption {
type = types.nullOr types.path;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
index c9e22dff15..c0d752443a 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-agent/default.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.gocd-agent = {
- enable = mkEnableOption "gocd-agent";
+ enable = mkEnableOption (lib.mdDoc "gocd-agent");
user = mkOption {
default = "gocd-agent";
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
index 50b5a20ad7..80e819979f 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/gocd-server/default.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.gocd-server = {
- enable = mkEnableOption "gocd-server";
+ enable = mkEnableOption (lib.mdDoc "gocd-server");
user = mkOption {
default = "gocd-server";
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
index 83518344b3..663f3df775 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
@@ -10,7 +10,7 @@
let
inherit (lib)
filterAttrs
- literalDocBook
+ literalMD
literalExpression
mkIf
mkOption
@@ -235,8 +235,8 @@ in
tomlFile = mkOption {
type = types.path;
internal = true;
- defaultText = literalDocBook "generated hercules-ci-agent.toml";
- description = ''
+ defaultText = literalMD "generated `hercules-ci-agent.toml`";
+ description = lib.mdDoc ''
The fully assembled config file.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/aerospike.nix b/third_party/nixpkgs/nixos/modules/services/databases/aerospike.nix
index 9ffedaebf6..21df4cd057 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/aerospike.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/aerospike.nix
@@ -39,7 +39,7 @@ in
options = {
services.aerospike = {
- enable = mkEnableOption "Aerospike server";
+ enable = mkEnableOption (lib.mdDoc "Aerospike server");
package = mkOption {
default = pkgs.aerospike;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/cassandra.nix b/third_party/nixpkgs/nixos/modules/services/databases/cassandra.nix
index 38db1d2e9f..7556dbfc7b 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/cassandra.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/cassandra.nix
@@ -101,9 +101,9 @@ in
{
options.services.cassandra = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Apache Cassandra – Scalable and highly available database.
- '';
+ '');
clusterName = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/clickhouse.nix b/third_party/nixpkgs/nixos/modules/services/databases/clickhouse.nix
index 53637f4171..96607d9a78 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/clickhouse.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/clickhouse.nix
@@ -11,7 +11,7 @@ with lib;
services.clickhouse = {
- enable = mkEnableOption "ClickHouse database server";
+ enable = mkEnableOption (lib.mdDoc "ClickHouse database server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/cockroachdb.nix b/third_party/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
index b8d7321d00..26ccb030b3 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/cockroachdb.nix
@@ -49,7 +49,7 @@ in
{
options = {
services.cockroachdb = {
- enable = mkEnableOption "CockroachDB Server";
+ enable = mkEnableOption (lib.mdDoc "CockroachDB Server");
listen = addressOption "intra-cluster communication" 26257;
@@ -58,7 +58,7 @@ in
locality = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
An ordered, comma-separated list of key-value pairs that describe the
topography of the machine. Topography might include country,
datacenter or rack designations. Data is automatically replicated to
@@ -68,12 +68,12 @@ in
like datacenter. The tiers and order must be the same on all nodes.
Including more tiers is better than including fewer. For example:
-
+ ```
country=us,region=us-west,datacenter=us-west-1b,rack=12
country=ca,region=ca-east,datacenter=ca-east-2,rack=4
planet=earth,province=manitoba,colo=secondary,power=3
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/dgraph.nix b/third_party/nixpkgs/nixos/modules/services/databases/dgraph.nix
index a6178b3d1c..5726851a43 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/dgraph.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/dgraph.nix
@@ -53,7 +53,7 @@ in
{
options = {
services.dgraph = {
- enable = mkEnableOption "Dgraph native GraphQL database with a graph backend";
+ enable = mkEnableOption (lib.mdDoc "Dgraph native GraphQL database with a graph backend");
package = lib.mkPackageOption pkgs "dgraph" { };
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/dragonflydb.nix b/third_party/nixpkgs/nixos/modules/services/databases/dragonflydb.nix
index e35de2019a..46a0c188c3 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/dragonflydb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/dragonflydb.nix
@@ -25,7 +25,7 @@ in
options = {
services.dragonflydb = {
- enable = mkEnableOption "DragonflyDB";
+ enable = mkEnableOption (lib.mdDoc "DragonflyDB");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/firebird.nix b/third_party/nixpkgs/nixos/modules/services/databases/firebird.nix
index 4aaf4ca12a..b2c4a5dd8f 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/firebird.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/firebird.nix
@@ -40,7 +40,7 @@ in
services.firebird = {
- enable = mkEnableOption "the Firebird super server";
+ enable = mkEnableOption (lib.mdDoc "the Firebird super server");
package = mkOption {
default = pkgs.firebird;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/foundationdb.nix b/third_party/nixpkgs/nixos/modules/services/databases/foundationdb.nix
index 16998b9979..16d539b661 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/foundationdb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/foundationdb.nix
@@ -62,7 +62,7 @@ in
{
options.services.foundationdb = {
- enable = mkEnableOption "FoundationDB Server";
+ enable = mkEnableOption (lib.mdDoc "FoundationDB Server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/hbase-standalone.nix b/third_party/nixpkgs/nixos/modules/services/databases/hbase-standalone.nix
index ca891fe8a5..1ee73ec8d1 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/hbase-standalone.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/hbase-standalone.nix
@@ -41,10 +41,10 @@ in {
options = {
services.hbase-standalone = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
HBase master in standalone mode with embedded regionserver and zookeper.
Do not use this configuration for production nor for evaluating HBase performance.
- '';
+ '');
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/influxdb2.nix b/third_party/nixpkgs/nixos/modules/services/databases/influxdb2.nix
index 8eeec7816c..92c5a5d7a4 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/influxdb2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/influxdb2.nix
@@ -10,7 +10,7 @@ in
{
options = {
services.influxdb2 = {
- enable = mkEnableOption "the influxdb2 server";
+ enable = mkEnableOption (lib.mdDoc "the influxdb2 server");
package = mkOption {
default = pkgs.influxdb2-server;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/memcached.nix b/third_party/nixpkgs/nixos/modules/services/databases/memcached.nix
index 33627e8ad3..542c80ab2e 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/memcached.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/memcached.nix
@@ -17,7 +17,7 @@ in
options = {
services.memcached = {
- enable = mkEnableOption "Memcached";
+ enable = mkEnableOption (lib.mdDoc "Memcached");
user = mkOption {
type = types.str;
@@ -37,7 +37,7 @@ in
description = lib.mdDoc "The port to bind to.";
};
- enableUnixSocket = mkEnableOption "unix socket at /run/memcached/memcached.sock";
+ enableUnixSocket = mkEnableOption (lib.mdDoc "unix socket at /run/memcached/memcached.sock");
maxMemory = mkOption {
type = types.ints.unsigned;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/monetdb.nix b/third_party/nixpkgs/nixos/modules/services/databases/monetdb.nix
index c6836128d9..5573b530a9 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/monetdb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/monetdb.nix
@@ -12,7 +12,7 @@ in {
options = {
services.monetdb = {
- enable = mkEnableOption "the MonetDB database server";
+ enable = mkEnableOption (lib.mdDoc "the MonetDB database server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/mongodb.nix b/third_party/nixpkgs/nixos/modules/services/databases/mongodb.nix
index 5a52eb98b9..211133de63 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/mongodb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/mongodb.nix
@@ -29,7 +29,7 @@ in
services.mongodb = {
- enable = mkEnableOption "the MongoDB server";
+ enable = mkEnableOption (lib.mdDoc "the MongoDB server");
package = mkOption {
default = pkgs.mongodb;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/mysql.nix b/third_party/nixpkgs/nixos/modules/services/databases/mysql.nix
index ddb4eceb31..ec4524e906 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/mysql.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/mysql.nix
@@ -31,7 +31,7 @@ in
services.mysql = {
- enable = mkEnableOption "MySQL server";
+ enable = mkEnableOption (lib.mdDoc "MySQL server");
package = mkOption {
type = types.package;
@@ -44,41 +44,41 @@ in
user = mkOption {
type = types.str;
default = "mysql";
- description = ''
+ description = lib.mdDoc ''
User account under which MySQL runs.
-
+ ::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the MySQL service starts.
-
+ :::
'';
};
group = mkOption {
type = types.str;
default = "mysql";
- description = ''
+ description = lib.mdDoc ''
Group account under which MySQL runs.
-
+ ::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the MySQL service starts.
-
+ :::
'';
};
dataDir = mkOption {
type = types.path;
example = "/var/lib/mysql";
- description = ''
+ description = lib.mdDoc ''
The data directory for MySQL.
-
- If left as the default value of /var/lib/mysql this directory will automatically be created before the MySQL
+ ::: {.note}
+ If left as the default value of `/var/lib/mysql` this directory will automatically be created before the MySQL
server starts, otherwise you are responsible for ensuring the directory exists with appropriate ownership and permissions.
-
+ :::
'';
};
@@ -107,20 +107,18 @@ in
settings = mkOption {
type = format.type;
default = {};
- description = ''
+ description = lib.mdDoc ''
MySQL configuration. Refer to
- ,
- ,
- and
+ ,
+ ,
+ and
for details on supported values.
-
-
- MySQL configuration options such as --quick should be treated as
- boolean options and provided values such as true, false,
- 1, or 0. See the provided example below.
-
-
+ ::: {.note}
+ MySQL configuration options such as `--quick` should be treated as
+ boolean options and provided values such as `true`, `false`,
+ `1`, or `0`. See the provided example below.
+ :::
'';
example = literalExpression ''
{
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/neo4j.nix b/third_party/nixpkgs/nixos/modules/services/databases/neo4j.nix
index 833e6606d9..d78ff8390e 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/neo4j.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/neo4j.nix
@@ -333,9 +333,9 @@ in {
enable = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
Enable the HTTP connector for Neo4j. Setting this option to
- false will stop Neo4j from listening for incoming
+ `false` will stop Neo4j from listening for incoming
connections on the HTTPS port (7474 by default).
'';
};
@@ -538,7 +538,7 @@ in {
type = types.listOf types.path;
internal = true;
readOnly = true;
- description = ''
+ description = lib.mdDoc ''
Directories of this policy that will be created automatically
when the certificates directory is left at its default value.
This includes all options of type path that are left at their
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/pgmanage.nix b/third_party/nixpkgs/nixos/modules/services/databases/pgmanage.nix
index 9ce2265a4d..71ce1d8eca 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/pgmanage.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/pgmanage.nix
@@ -44,7 +44,7 @@ let
in {
options.services.pgmanage = {
- enable = mkEnableOption "PostgreSQL Administration for the web";
+ enable = mkEnableOption (lib.mdDoc "PostgreSQL Administration for the web");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix b/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
index 36de8b9e87..e84116635a 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
@@ -40,7 +40,7 @@ in
services.postgresql = {
- enable = mkEnableOption "PostgreSQL Server";
+ enable = mkEnableOption (lib.mdDoc "PostgreSQL Server");
package = mkOption {
type = types.package;
@@ -230,15 +230,15 @@ in
settings = mkOption {
type = with types; attrsOf (oneOf [ bool float int str ]);
default = {};
- description = ''
+ description = lib.mdDoc ''
PostgreSQL configuration. Refer to
-
- for an overview of postgresql.conf.
+
+ for an overview of `postgresql.conf`.
-
- String values will automatically be enclosed in single quotes. Single quotes will be
- escaped with two single quotes as described by the upstream documentation linked above.
-
+ ::: {.note}
+ String values will automatically be enclosed in single quotes. Single quotes will be
+ escaped with two single quotes as described by the upstream documentation linked above.
+ :::
'';
example = literalExpression ''
{
@@ -264,7 +264,7 @@ in
default = "postgres";
internal = true;
readOnly = true;
- description = ''
+ description = lib.mdDoc ''
PostgreSQL superuser account to use for various operations. Internal since changing
this value would lead to breakage while setting up databases.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/redis.nix b/third_party/nixpkgs/nixos/modules/services/databases/redis.nix
index b346438cff..319cbbf965 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/redis.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/redis.nix
@@ -61,22 +61,22 @@ in {
description = lib.mdDoc "Which Redis derivation to use.";
};
- vmOverCommit = mkEnableOption ''
+ vmOverCommit = mkEnableOption (lib.mdDoc ''
setting of vm.overcommit_memory to 1
(Suggested for Background Saving: http://redis.io/topics/faq)
- '';
+ '');
servers = mkOption {
type = with types; attrsOf (submodule ({config, name, ...}@args: {
options = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Redis server.
Note that the NixOS module for Redis disables kernel support
for Transparent Huge Pages (THP),
because this features causes major performance problems for Redis,
e.g. (https://redis.io/topics/latency).
- '';
+ '');
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/rethinkdb.nix b/third_party/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
index d93f15e863..f5391b48e8 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/rethinkdb.nix
@@ -15,7 +15,7 @@ in
services.rethinkdb = {
- enable = mkEnableOption "RethinkDB server";
+ enable = mkEnableOption (lib.mdDoc "RethinkDB server");
#package = mkOption {
# default = pkgs.rethinkdb;
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/victoriametrics.nix b/third_party/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
index f87a5862f6..638066a42d 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
@@ -2,7 +2,7 @@
let cfg = config.services.victoriametrics; in
{
options.services.victoriametrics = with lib; {
- enable = mkEnableOption "victoriametrics";
+ enable = mkEnableOption (lib.mdDoc "victoriametrics");
package = mkOption {
type = types.package;
default = pkgs.victoriametrics;
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/bamf.nix b/third_party/nixpkgs/nixos/modules/services/desktops/bamf.nix
index 13de3a4432..3e40a70553 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/bamf.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/bamf.nix
@@ -13,7 +13,7 @@ with lib;
options = {
services.bamf = {
- enable = mkEnableOption "bamf";
+ enable = mkEnableOption (lib.mdDoc "bamf");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/blueman.nix b/third_party/nixpkgs/nixos/modules/services/desktops/blueman.nix
index 18ad610247..fad2f21bce 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/blueman.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/blueman.nix
@@ -9,7 +9,7 @@ in {
###### interface
options = {
services.blueman = {
- enable = mkEnableOption "blueman";
+ enable = mkEnableOption (lib.mdDoc "blueman");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/flatpak.nix b/third_party/nixpkgs/nixos/modules/services/desktops/flatpak.nix
index 5fecc64b4f..3b14ad75ab 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/flatpak.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/flatpak.nix
@@ -14,7 +14,7 @@ in {
###### interface
options = {
services.flatpak = {
- enable = mkEnableOption "flatpak";
+ enable = mkEnableOption (lib.mdDoc "flatpak");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix
index 15c5bfbd82..7d0ee9ed02 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix
@@ -18,10 +18,10 @@ with lib;
###### interface
options = {
- services.gnome.chrome-gnome-shell.enable = mkEnableOption ''
+ services.gnome.chrome-gnome-shell.enable = mkEnableOption (lib.mdDoc ''
Chrome GNOME Shell native host connector, a DBus service
allowing to install GNOME Shell extensions from a web browser.
- '';
+ '');
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix
index 65bb75c62d..0006ba1a7b 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix
@@ -27,7 +27,7 @@ with lib;
options = {
services.gnome.evolution-data-server = {
- enable = mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars.";
+ enable = mkEnableOption (lib.mdDoc "Evolution Data Server, a collection of services for storing addressbooks and calendars.");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
@@ -35,7 +35,7 @@ with lib;
};
};
programs.evolution = {
- enable = mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.";
+ enable = mkEnableOption (lib.mdDoc "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
index 1039605391..6b54f46f0c 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
@@ -24,7 +24,7 @@ with lib;
services.gnome.glib-networking = {
- enable = mkEnableOption "network extensions for GLib";
+ enable = mkEnableOption (lib.mdDoc "network extensions for GLib");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix
index 9e9771cf54..f24e6f1eb1 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix
@@ -62,7 +62,7 @@ in
services.gnome.gnome-initial-setup = {
- enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system";
+ enable = mkEnableOption (lib.mdDoc "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
index b5573d2fc2..0a5b67eb27 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
@@ -19,7 +19,7 @@ with lib;
###### interface
options = {
services.gnome.gnome-remote-desktop = {
- enable = mkEnableOption "Remote Desktop support using Pipewire";
+ enable = mkEnableOption (lib.mdDoc "Remote Desktop support using Pipewire");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
index 9c68c9b76e..ca739b06a5 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
@@ -34,7 +34,7 @@ in
services.gnome.gnome-settings-daemon = {
- enable = mkEnableOption "GNOME Settings Daemon";
+ enable = mkEnableOption (lib.mdDoc "GNOME Settings Daemon");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-user-share.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-user-share.nix
index 38256af309..0c88d13b34 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-user-share.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/gnome-user-share.nix
@@ -24,7 +24,7 @@ with lib;
services.gnome.gnome-user-share = {
- enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME";
+ enable = mkEnableOption (lib.mdDoc "GNOME User Share, a user-level file sharing service for GNOME");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
index 485632712f..e6404c84a2 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
@@ -40,7 +40,7 @@ in
type = types.listOf types.package;
default = [ ];
internal = true;
- description = ''
+ description = lib.mdDoc ''
List of packages containing tracker3 subcommands.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/gvfs.nix b/third_party/nixpkgs/nixos/modules/services/desktops/gvfs.nix
index 84cd296387..7e15b433fc 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/gvfs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/gvfs.nix
@@ -29,7 +29,7 @@ in
services.gvfs = {
- enable = mkEnableOption "GVfs, a userspace virtual filesystem";
+ enable = mkEnableOption (lib.mdDoc "GVfs, a userspace virtual filesystem");
# gvfs can be built with multiple configurations
package = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/malcontent.nix b/third_party/nixpkgs/nixos/modules/services/desktops/malcontent.nix
index 1fbeb17e6a..27b4577f4c 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/malcontent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/malcontent.nix
@@ -12,7 +12,7 @@ with lib;
services.malcontent = {
- enable = mkEnableOption "Malcontent, parental control support for applications";
+ enable = mkEnableOption (lib.mdDoc "Malcontent, parental control support for applications");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/neard.nix b/third_party/nixpkgs/nixos/modules/services/desktops/neard.nix
index 9b0f8d1b3a..9130b8d3d2 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/neard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/neard.nix
@@ -7,7 +7,7 @@ with lib;
###### interface
options = {
services.neard = {
- enable = mkEnableOption "neard, NFC daemon";
+ enable = mkEnableOption (lib.mdDoc "neard, NFC daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
index ed64406ab6..a4ef88a45a 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -50,7 +50,7 @@ in {
###### interface
options = {
services.pipewire = {
- enable = mkEnableOption "pipewire service";
+ enable = mkEnableOption (lib.mdDoc "pipewire service");
package = mkOption {
type = types.package;
@@ -127,16 +127,16 @@ in {
};
alsa = {
- enable = mkEnableOption "ALSA support";
- support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
+ enable = mkEnableOption (lib.mdDoc "ALSA support");
+ support32Bit = mkEnableOption (lib.mdDoc "32-bit ALSA support on 64-bit systems");
};
jack = {
- enable = mkEnableOption "JACK audio emulation";
+ enable = mkEnableOption (lib.mdDoc "JACK audio emulation");
};
pulse = {
- enable = mkEnableOption "PulseAudio server emulation";
+ enable = mkEnableOption (lib.mdDoc "PulseAudio server emulation");
};
systemWide = lib.mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix b/third_party/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
index 55f27b0e65..caebfabf14 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/system-config-printer.nix
@@ -10,7 +10,7 @@ with lib;
services.system-config-printer = {
- enable = mkEnableOption "system-config-printer, a service for CUPS administration used by printing interfaces";
+ enable = mkEnableOption (lib.mdDoc "system-config-printer, a service for CUPS administration used by printing interfaces");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/tumbler.nix b/third_party/nixpkgs/nixos/modules/services/desktops/tumbler.nix
index f5341df2f7..203071ec66 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/tumbler.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/tumbler.nix
@@ -28,7 +28,7 @@ in
services.tumbler = {
- enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
+ enable = mkEnableOption (lib.mdDoc "Tumbler, A D-Bus thumbnailer service");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix b/third_party/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
index 297fd1d3ff..0eb2a4c9c3 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
@@ -14,7 +14,7 @@ with lib;
options = {
services.zeitgeist = {
- enable = mkEnableOption "zeitgeist";
+ enable = mkEnableOption (lib.mdDoc "zeitgeist");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/development/blackfire.nix b/third_party/nixpkgs/nixos/modules/services/development/blackfire.nix
index 6b71e59d4b..054cef9ae8 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/blackfire.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/blackfire.nix
@@ -16,7 +16,7 @@ in {
options = {
services.blackfire-agent = {
- enable = lib.mkEnableOption "Blackfire profiler agent";
+ enable = lib.mkEnableOption (lib.mdDoc "Blackfire profiler agent");
settings = lib.mkOption {
description = lib.mdDoc ''
See https://blackfire.io/docs/up-and-running/configuration/agent
diff --git a/third_party/nixpkgs/nixos/modules/services/development/distccd.nix b/third_party/nixpkgs/nixos/modules/services/development/distccd.nix
index 7a8e780c3e..a3c909eb19 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/distccd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/distccd.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.distccd = {
- enable = mkEnableOption "distccd";
+ enable = mkEnableOption (lib.mdDoc "distccd");
allowedClients = mkOption {
type = types.listOf types.str;
@@ -84,7 +84,7 @@ in
};
stats = {
- enable = mkEnableOption "statistics reporting via HTTP server";
+ enable = mkEnableOption (lib.mdDoc "statistics reporting via HTTP server");
port = mkOption {
type = types.port;
default = 3633;
diff --git a/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix b/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
index 399ffccabf..88dd01fd8a 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
@@ -14,7 +14,7 @@ let
in {
options.services.hoogle = {
- enable = mkEnableOption "Haskell documentation server";
+ enable = mkEnableOption (lib.mdDoc "Haskell documentation server");
port = mkOption {
type = types.port;
@@ -29,11 +29,11 @@ in {
default = hp: [];
defaultText = literalExpression "hp: []";
example = literalExpression "hp: with hp; [ text lens ]";
- description = ''
+ description = lib.mdDoc ''
The Haskell packages to generate documentation for.
The option value is a function that takes the package set specified in
- the haskellPackages option as its sole parameter and
+ the {var}`haskellPackages` option as its sole parameter and
returns a list of packages.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/development/jupyter/default.nix b/third_party/nixpkgs/nixos/modules/services/development/jupyter/default.nix
index 66113ce094..9b0178d3ea 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/jupyter/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/jupyter/default.nix
@@ -24,7 +24,7 @@ in {
meta.maintainers = with maintainers; [ aborsu ];
options.services.jupyter = {
- enable = mkEnableOption "Jupyter development server";
+ enable = mkEnableOption (lib.mdDoc "Jupyter development server");
ip = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/development/jupyterhub/default.nix b/third_party/nixpkgs/nixos/modules/services/development/jupyterhub/default.nix
index bd8a5f0bd2..c0c0734cac 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/jupyterhub/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/jupyterhub/default.nix
@@ -30,7 +30,7 @@ in {
meta.maintainers = with maintainers; [ costrouc ];
options.services.jupyterhub = {
- enable = mkEnableOption "Jupyterhub development server";
+ enable = mkEnableOption (lib.mdDoc "Jupyterhub development server");
authentication = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix b/third_party/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix
index 74a7cd2f4e..bf4c7727bf 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix
@@ -21,7 +21,7 @@ in
meta.maintainers = with maintainers; [ jbedo cfhammill ];
options.services.rstudio-server = {
- enable = mkEnableOption "RStudio server";
+ enable = mkEnableOption (lib.mdDoc "RStudio server");
serverWorkingDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/development/zammad.nix b/third_party/nixpkgs/nixos/modules/services/development/zammad.nix
index e81eef3c0a..7de11b08b7 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/zammad.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/zammad.nix
@@ -28,7 +28,7 @@ in
options = {
services.zammad = {
- enable = mkEnableOption "Zammad, a web-based, open source user support/ticketing solution.";
+ enable = mkEnableOption (lib.mdDoc "Zammad, a web-based, open source user support/ticketing solution.");
package = mkOption {
type = types.package;
@@ -137,9 +137,9 @@ in
{
}
'';
- description = ''
- The database.yml configuration file as key value set.
- See
+ description = lib.mdDoc ''
+ The {file}`database.yml` configuration file as key value set.
+ See \
for list of configuration parameters.
'';
};
@@ -149,20 +149,20 @@ in
type = types.nullOr types.path;
default = null;
example = "/run/keys/secret_key_base";
- description = ''
+ description = lib.mdDoc ''
The path to a file containing the
- secret_key_base secret.
+ `secret_key_base` secret.
- Zammad uses secret_key_base to encrypt
+ Zammad uses `secret_key_base` to encrypt
the cookie store, which contains session data, and to digest
user auth tokens.
Needs to be a 64 byte long string of hexadecimal
characters. You can generate one by running
-
- $ openssl rand -hex 64 >/path/to/secret_key_base_file
-
+ ```
+ openssl rand -hex 64 >/path/to/secret_key_base_file
+ ```
This should be a string, not a nix path, since nix paths are
copied into the world-readable nix store.
diff --git a/third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix b/third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix
index a81fcbf19d..fa3f8fdf4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.greetd = {
- enable = mkEnableOption "greetd";
+ enable = mkEnableOption (lib.mdDoc "greetd");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/editors/emacs.nix b/third_party/nixpkgs/nixos/modules/services/editors/emacs.nix
index 0d9949d2ba..5ae28cd9bb 100644
--- a/third_party/nixpkgs/nixos/modules/services/editors/emacs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/editors/emacs.nix
@@ -41,24 +41,24 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = ''
- Whether to enable a user service for the Emacs daemon. Use emacsclient to connect to the
- daemon. If true, services.emacs.install is
- considered true, whatever its value.
+ description = lib.mdDoc ''
+ Whether to enable a user service for the Emacs daemon. Use `emacsclient` to connect to the
+ daemon. If `true`, {var}`services.emacs.install` is
+ considered `true`, whatever its value.
'';
};
install = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to install a user service for the Emacs daemon. Once
the service is started, use emacsclient to connect to the
daemon.
The service must be manually started for each user with
"systemctl --user start emacs" or globally through
- services.emacs.enable.
+ {var}`services.emacs.enable`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/editors/haste.nix b/third_party/nixpkgs/nixos/modules/services/editors/haste.nix
index 2208dccbc0..a46415d436 100644
--- a/third_party/nixpkgs/nixos/modules/services/editors/haste.nix
+++ b/third_party/nixpkgs/nixos/modules/services/editors/haste.nix
@@ -10,8 +10,8 @@ let
in
{
options.services.haste-server = {
- enable = mkEnableOption "haste-server";
- openFirewall = mkEnableOption "firewall passthrough for haste-server";
+ enable = mkEnableOption (lib.mdDoc "haste-server");
+ openFirewall = mkEnableOption (lib.mdDoc "firewall passthrough for haste-server");
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/editors/infinoted.nix b/third_party/nixpkgs/nixos/modules/services/editors/infinoted.nix
index c91197ea57..de09899940 100644
--- a/third_party/nixpkgs/nixos/modules/services/editors/infinoted.nix
+++ b/third_party/nixpkgs/nixos/modules/services/editors/infinoted.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.infinoted;
in {
options.services.infinoted = {
- enable = mkEnableOption "infinoted";
+ enable = mkEnableOption (lib.mdDoc "infinoted");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/finance/odoo.nix b/third_party/nixpkgs/nixos/modules/services/finance/odoo.nix
index 78c54a9e05..fee9af574b 100644
--- a/third_party/nixpkgs/nixos/modules/services/finance/odoo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/finance/odoo.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.odoo = {
- enable = mkEnableOption "odoo";
+ enable = mkEnableOption (lib.mdDoc "odoo");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/games/asf.nix b/third_party/nixpkgs/nixos/modules/services/games/asf.nix
index 592ab4bedc..10847e8f11 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/asf.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/asf.nix
@@ -44,7 +44,7 @@ in
type = types.submodule {
options = {
enable = mkEnableOption
- "Wheter to start the web-ui. This is the preferred way of configuring things such as the steam guard token";
+ (lib.mdDoc "Wheter to start the web-ui. This is the preferred way of configuring things such as the steam guard token");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/games/factorio.nix b/third_party/nixpkgs/nixos/modules/services/games/factorio.nix
index 893afa9772..f54c265c34 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/factorio.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/factorio.nix
@@ -44,7 +44,7 @@ in
{
options = {
services.factorio = {
- enable = mkEnableOption name;
+ enable = mkEnableOption (lib.mdDoc name);
port = mkOption {
type = types.int;
default = 34197;
diff --git a/third_party/nixpkgs/nixos/modules/services/games/freeciv.nix b/third_party/nixpkgs/nixos/modules/services/games/freeciv.nix
index 02af9fda7a..8b340bb161 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/freeciv.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/freeciv.nix
@@ -25,7 +25,7 @@ in
{
options = {
services.freeciv = {
- enable = mkEnableOption ''freeciv'';
+ enable = mkEnableOption (lib.mdDoc ''freeciv'');
settings = mkOption {
description = lib.mdDoc ''
Parameters of freeciv-server.
@@ -38,7 +38,7 @@ in
default = "none";
description = lib.mdDoc "Announce game in LAN using given protocol.";
};
- options.auth = mkEnableOption "server authentication";
+ options.auth = mkEnableOption (lib.mdDoc "server authentication");
options.Database = mkOption {
type = types.nullOr types.str;
apply = pkgs.writeText "auth.conf";
@@ -54,9 +54,9 @@ in
default = 0;
description = lib.mdDoc "Set debug log level.";
};
- options.exit-on-end = mkEnableOption "exit instead of restarting when a game ends.";
- options.Guests = mkEnableOption "guests to login if auth is enabled";
- options.Newusers = mkEnableOption "new users to login if auth is enabled";
+ options.exit-on-end = mkEnableOption (lib.mdDoc "exit instead of restarting when a game ends.");
+ options.Guests = mkEnableOption (lib.mdDoc "guests to login if auth is enabled");
+ options.Newusers = mkEnableOption (lib.mdDoc "new users to login if auth is enabled");
options.port = mkOption {
type = types.port;
default = 5556;
@@ -86,7 +86,7 @@ in
};
};
};
- openFirewall = mkEnableOption "opening the firewall for the port listening for clients";
+ openFirewall = mkEnableOption (lib.mdDoc "opening the firewall for the port listening for clients");
};
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/games/openarena.nix b/third_party/nixpkgs/nixos/modules/services/games/openarena.nix
index e38bc8f205..89e30d7c12 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/openarena.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/openarena.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.openarena = {
- enable = mkEnableOption "OpenArena";
+ enable = mkEnableOption (lib.mdDoc "OpenArena");
openPorts = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/games/quake3-server.nix b/third_party/nixpkgs/nixos/modules/services/games/quake3-server.nix
index 69fdbc50d8..2d2148237d 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/quake3-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/quake3-server.nix
@@ -37,7 +37,7 @@ let
in {
options = {
services.quake3-server = {
- enable = mkEnableOption "Quake 3 dedicated server";
+ enable = mkEnableOption (lib.mdDoc "Quake 3 dedicated server");
port = mkOption {
type = types.port;
@@ -71,7 +71,7 @@ in {
baseq3 = mkOption {
type = types.either types.package types.path;
default = defaultBaseq3;
- defaultText = literalDocBook "Manually downloaded Quake 3 installation directory.";
+ defaultText = literalMD "Manually downloaded Quake 3 installation directory.";
example = "/var/lib/q3ds";
description = lib.mdDoc ''
Path to the baseq3 files (pak*.pk3). If this is on the nix store (type = package) all .pk3 files should be saved
diff --git a/third_party/nixpkgs/nixos/modules/services/games/teeworlds.nix b/third_party/nixpkgs/nixos/modules/services/games/teeworlds.nix
index 6ddd0bee60..083ab3ba94 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/teeworlds.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/teeworlds.nix
@@ -20,7 +20,7 @@ in
{
options = {
services.teeworlds = {
- enable = mkEnableOption "Teeworlds Server";
+ enable = mkEnableOption (lib.mdDoc "Teeworlds Server");
openPorts = mkOption {
type = types.bool;
@@ -80,8 +80,8 @@ in
extraOptions = mkOption {
type = types.listOf types.str;
default = [];
- description = ''
- Extra configuration lines for the teeworlds.cfg. See Teeworlds Documentation.
+ description = lib.mdDoc ''
+ Extra configuration lines for the {file}`teeworlds.cfg`. See [Teeworlds Documentation](https://www.teeworlds.com/?page=docs&wiki=server_settings).
'';
example = [ "sv_map dm1" "sv_gametype dm" ];
};
diff --git a/third_party/nixpkgs/nixos/modules/services/games/terraria.nix b/third_party/nixpkgs/nixos/modules/services/games/terraria.nix
index cd1bb7d819..571bcde2c5 100644
--- a/third_party/nixpkgs/nixos/modules/services/games/terraria.nix
+++ b/third_party/nixpkgs/nixos/modules/services/games/terraria.nix
@@ -131,6 +131,7 @@ in
config = mkIf cfg.enable {
users.users.terraria = {
description = "Terraria server service user";
+ group = "terraria";
home = cfg.dataDir;
createHome = true;
uid = config.ids.uids.terraria;
@@ -138,7 +139,6 @@ in
users.groups.terraria = {
gid = config.ids.gids.terraria;
- members = [ "terraria" ];
};
systemd.services.terraria = {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/acpid.nix b/third_party/nixpkgs/nixos/modules/services/hardware/acpid.nix
index fef2c14b9d..821f4ef205 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/acpid.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/acpid.nix
@@ -48,7 +48,7 @@ in
services.acpid = {
- enable = mkEnableOption "the ACPI daemon";
+ enable = mkEnableOption (lib.mdDoc "the ACPI daemon");
logEvents = mkOption {
type = types.bool;
@@ -72,12 +72,12 @@ in
};
});
- description = ''
+ description = lib.mdDoc ''
Event handlers.
-
- Handler can be a single command.
-
+ ::: {.note}
+ Handler can be a single command.
+ :::
'';
default = {};
example = {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/actkbd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/actkbd.nix
index 3ad2998e82..1718d179bf 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/actkbd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/actkbd.nix
@@ -57,13 +57,13 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = ''
- Whether to enable the actkbd key mapping daemon.
+ description = lib.mdDoc ''
+ Whether to enable the {command}`actkbd` key mapping daemon.
- Turning this on will start an actkbd
+ Turning this on will start an {command}`actkbd`
instance for every evdev input that has at least one key
(which is okay even for systems with tiny memory footprint,
- since actkbd normally uses <100 bytes of memory per
+ since actkbd normally uses \<100 bytes of memory per
instance).
This allows binding keys globally without the need for e.g.
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/argonone.nix b/third_party/nixpkgs/nixos/modules/services/hardware/argonone.nix
index 61656237d6..dc90e09e98 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/argonone.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/argonone.nix
@@ -5,7 +5,7 @@ let
in
{
options.services.hardware.argonone = {
- enable = lib.mkEnableOption "the driver for Argon One Raspberry Pi case fan and power button";
+ enable = lib.mkEnableOption (lib.mdDoc "the driver for Argon One Raspberry Pi case fan and power button");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.argononed;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/auto-cpufreq.nix b/third_party/nixpkgs/nixos/modules/services/hardware/auto-cpufreq.nix
index f846476b30..9698e72eb3 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/auto-cpufreq.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/auto-cpufreq.nix
@@ -5,7 +5,7 @@ let
in {
options = {
services.auto-cpufreq = {
- enable = mkEnableOption "auto-cpufreq daemon";
+ enable = mkEnableOption (lib.mdDoc "auto-cpufreq daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/bluetooth.nix b/third_party/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
index a1e980dbec..8b90c1913b 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
@@ -36,9 +36,9 @@ in
options = {
hardware.bluetooth = {
- enable = mkEnableOption "support for Bluetooth";
+ enable = mkEnableOption (lib.mdDoc "support for Bluetooth");
- hsphfpd.enable = mkEnableOption "support for hsphfpd[-prototype] implementation";
+ hsphfpd.enable = mkEnableOption (lib.mdDoc "support for hsphfpd[-prototype] implementation");
powerOnBoot = mkOption {
type = types.bool;
@@ -51,13 +51,13 @@ in
default = pkgs.bluez;
defaultText = literalExpression "pkgs.bluez";
example = literalExpression "pkgs.bluezFull";
- description = ''
+ description = lib.mdDoc ''
Which BlueZ package to use.
-
- Use the pkgs.bluezFull package to enable all
- bluez plugins.
-
+ ::: {.note}
+ Use the `pkgs.bluezFull` package to enable all
+ bluez plugins.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix b/third_party/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
index f0b5a9c819..0f1e8bf0d2 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
@@ -13,7 +13,7 @@ in
options = {
services.ddccontrol = {
- enable = lib.mkEnableOption "ddccontrol for controlling displays";
+ enable = lib.mkEnableOption (lib.mdDoc "ddccontrol for controlling displays");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/fancontrol.nix b/third_party/nixpkgs/nixos/modules/services/hardware/fancontrol.nix
index 65c0c60ed3..e7eb8ebf92 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/fancontrol.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/fancontrol.nix
@@ -9,7 +9,7 @@ let
in
{
options.hardware.fancontrol = {
- enable = mkEnableOption "software fan control (requires fancontrol.config)";
+ enable = mkEnableOption (lib.mdDoc "software fan control (requires fancontrol.config)");
config = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/fwupd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/fwupd.nix
index fe00cd1e32..2249f86680 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/fwupd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/fwupd.nix
@@ -126,6 +126,8 @@ in {
services.udev.packages = [ cfg.package ];
systemd.packages = [ cfg.package ];
+
+ security.polkit.enable = true;
};
meta = {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/irqbalance.nix b/third_party/nixpkgs/nixos/modules/services/hardware/irqbalance.nix
index c79e0eb83e..8ba0a73d89 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/irqbalance.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/irqbalance.nix
@@ -9,7 +9,7 @@ let
in
{
- options.services.irqbalance.enable = mkEnableOption "irqbalance daemon";
+ options.services.irqbalance.enable = mkEnableOption (lib.mdDoc "irqbalance daemon");
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/joycond.nix b/third_party/nixpkgs/nixos/modules/services/hardware/joycond.nix
index c3a71edaa2..f4da00762a 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/joycond.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/joycond.nix
@@ -9,7 +9,7 @@ with lib;
{
options.services.joycond = {
- enable = mkEnableOption "support for Nintendo Pro Controllers and Joycons";
+ enable = mkEnableOption (lib.mdDoc "support for Nintendo Pro Controllers and Joycons");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/kanata.nix b/third_party/nixpkgs/nixos/modules/services/hardware/kanata.nix
index ccba87531e..84265eb8f9 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/kanata.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/kanata.nix
@@ -176,12 +176,12 @@ let
in
{
options.services.kanata = {
- enable = mkEnableOption "kanata";
+ enable = mkEnableOption (lib.mdDoc "kanata");
package = mkOption {
type = types.package;
default = pkgs.kanata;
- defaultText = lib.literalExpression "pkgs.kanata";
- example = lib.literalExpression "pkgs.kanata-with-cmd";
+ defaultText = literalExpression "pkgs.kanata";
+ example = literalExpression "pkgs.kanata-with-cmd";
description = mdDoc ''
The kanata package to use.
@@ -198,7 +198,7 @@ in
};
};
- config = lib.mkIf cfg.enable {
+ config = mkIf cfg.enable {
hardware.uinput.enable = true;
systemd = {
@@ -211,5 +211,5 @@ in
};
};
- meta.maintainers = with lib.maintainers; [ linj ];
+ meta.maintainers = with maintainers; [ linj ];
}
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/lcd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/lcd.nix
index c817225c1f..8d682d137f 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/lcd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/lcd.nix
@@ -61,20 +61,20 @@ in with lib; {
usbPermissions = mkOption {
type = bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Set group-write permissions on a USB device.
A USB connected LCD panel will most likely require having its
permissions modified for lcdd to write to it. Enabling this option
sets group-write permissions on the device identified by
- and
- . In order to find the
- values, you can run the lsusb command. Example
+ {option}`services.hardware.lcd.usbVid` and
+ {option}`services.hardware.lcd.usbPid`. In order to find the
+ values, you can run the {command}`lsusb` command. Example
output:
-
+ ```
Bus 005 Device 002: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface
-
+ ```
In this case the vendor id is 0403 and the product id is c630.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/lirc.nix b/third_party/nixpkgs/nixos/modules/services/hardware/lirc.nix
index dfdd768c35..acc43cd418 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/lirc.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/lirc.nix
@@ -11,7 +11,7 @@ in {
options = {
services.lirc = {
- enable = mkEnableOption "LIRC daemon";
+ enable = mkEnableOption (lib.mdDoc "LIRC daemon");
options = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/pcscd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/pcscd.nix
index 22e4ea4984..44d0d3b04a 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/pcscd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/pcscd.nix
@@ -16,7 +16,7 @@ in
###### interface
options.services.pcscd = {
- enable = mkEnableOption "PCSC-Lite daemon";
+ enable = mkEnableOption (lib.mdDoc "PCSC-Lite daemon");
plugins = mkOption {
type = types.listOf types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/rasdaemon.nix b/third_party/nixpkgs/nixos/modules/services/hardware/rasdaemon.nix
index 7048a56cb7..a1334684b7 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/rasdaemon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/rasdaemon.nix
@@ -10,7 +10,7 @@ in
{
options.hardware.rasdaemon = {
- enable = mkEnableOption "RAS logging daemon";
+ enable = mkEnableOption (lib.mdDoc "RAS logging daemon");
record = mkOption {
type = types.bool;
@@ -76,7 +76,7 @@ in
example = [ "i7core_edac" ];
};
- testing = mkEnableOption "error injection infrastructure";
+ testing = mkEnableOption (lib.mdDoc "error injection infrastructure");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/ratbagd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/ratbagd.nix
index 01a8276750..c939d5e40a 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/ratbagd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/ratbagd.nix
@@ -10,7 +10,7 @@ in
options = {
services.ratbagd = {
- enable = mkEnableOption "ratbagd for configuring gaming mice";
+ enable = mkEnableOption (lib.mdDoc "ratbagd for configuring gaming mice");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix b/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
index aaf19c1cc0..5455cf56e8 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
@@ -48,12 +48,12 @@ in
hardware.sane.enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Enable support for SANE scanners.
-
- Users in the "scanner" group will gain access to the scanner, or the "lp" group if it's also a printer.
-
+ ::: {.note}
+ Users in the "scanner" group will gain access to the scanner, or the "lp" group if it's also a printer.
+ :::
'';
};
@@ -66,12 +66,12 @@ in
hardware.sane.extraBackends = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
Packages providing extra SANE backends to enable.
-
- The example contains the package for HP scanners.
-
+ ::: {.note}
+ The example contains the package for HP scanners.
+ :::
'';
example = literalExpression "[ pkgs.hplipWithPlugin ]";
};
@@ -89,7 +89,7 @@ in
hardware.sane.configDir = mkOption {
type = types.str;
internal = true;
- description = "The value of SANE_CONFIG_DIR.";
+ description = lib.mdDoc "The value of SANE_CONFIG_DIR.";
};
hardware.sane.netConf = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
index f01446c411..e737a4ce20 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix
@@ -68,8 +68,8 @@ in
options = {
hardware.sane.brscan4.enable =
- mkEnableOption "Brother's brscan4 scan backend" // {
- description = ''
+ mkEnableOption (lib.mdDoc "Brother's brscan4 scan backend") // {
+ description = lib.mdDoc ''
When enabled, will automatically register the "brscan4" sane
backend and bring configuration files to their expected location.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix
index 506cb8167e..d29e0f542f 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix
@@ -68,7 +68,7 @@ in
options = {
hardware.sane.brscan5.enable =
- mkEnableOption "the Brother brscan5 sane backend";
+ mkEnableOption (lib.mdDoc "the Brother brscan5 sane backend");
hardware.sane.brscan5.netDevices = mkOption {
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix
index d71a17f5ea..5b05694abc 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix
@@ -6,8 +6,8 @@ with lib;
options = {
hardware.sane.dsseries.enable =
- mkEnableOption "Brother DSSeries scan backend" // {
- description = ''
+ mkEnableOption (lib.mdDoc "Brother DSSeries scan backend") // {
+ description = lib.mdDoc ''
When enabled, will automatically register the "dsseries" SANE backend.
This supports the Brother DSmobile scanner series, including the
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
index 69ca6f102e..36f1324393 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
@@ -8,7 +8,7 @@ in {
options = {
hardware.spacenavd = {
- enable = mkEnableOption "spacenavd to support 3DConnexion devices";
+ enable = mkEnableOption (lib.mdDoc "spacenavd to support 3DConnexion devices");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/thermald.nix b/third_party/nixpkgs/nixos/modules/services/hardware/thermald.nix
index b433f46f28..6b694ede58 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/thermald.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/thermald.nix
@@ -9,7 +9,7 @@ in
###### interface
options = {
services.thermald = {
- enable = mkEnableOption "thermald, the temperature management daemon";
+ enable = mkEnableOption (lib.mdDoc "thermald, the temperature management daemon");
debug = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/thinkfan.nix b/third_party/nixpkgs/nixos/modules/services/hardware/thinkfan.nix
index 86dabe71a4..8fa7b456f2 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/thinkfan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/thinkfan.nix
@@ -43,24 +43,26 @@ let
};
query = mkOption {
type = types.str;
- description = ''
+ description = lib.mdDoc ''
The query string used to match one or more ${name}s: can be
a fullpath to the temperature file (single ${name}) or a fullpath
to a driver directory (multiple ${name}s).
-
- When multiple ${name}s match, the query can be restricted using the
- or options.
-
+ ::: {.note}
+ When multiple ${name}s match, the query can be restricted using the
+ {option}`name` or {option}`indices` options.
+ :::
'';
};
indices = mkOption {
type = with types; nullOr (listOf ints.unsigned);
default = null;
- description = ''
+ description = lib.mdDoc ''
A list of ${name}s to pick in case multiple ${name}s match the query.
- Indices start from 0.
+ ::: {.note}
+ Indices start from 0.
+ :::
'';
};
} // optionalAttrs (name == "sensor") {
@@ -81,18 +83,18 @@ let
// { "${type}" = query; };
syntaxNote = name: ''
-
- This section slightly departs from the thinkfan.conf syntax.
- The type and path must be specified like this:
-
- type = "tpacpi";
- query = "/proc/acpi/ibm/${name}";
-
- instead of a single declaration like:
-
- - tpacpi: /proc/acpi/ibm/${name}
-
-
+ ::: {.note}
+ This section slightly departs from the thinkfan.conf syntax.
+ The type and path must be specified like this:
+ ```
+ type = "tpacpi";
+ query = "/proc/acpi/ibm/${name}";
+ ```
+ instead of a single declaration like:
+ ```
+ - tpacpi: /proc/acpi/ibm/${name}
+ ```
+ :::
'';
in {
@@ -104,13 +106,13 @@ in {
enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable thinkfan, a fan control program.
-
- This module targets IBM/Lenovo thinkpads by default, for
- other hardware you will have configure it more carefully.
-
+ ::: {.note}
+ This module targets IBM/Lenovo thinkpads by default, for
+ other hardware you will have configure it more carefully.
+ :::
'';
relatedPackages = [ "thinkfan" ];
};
@@ -131,9 +133,11 @@ in {
query = "/proc/acpi/ibm/thermal";
}
];
- description = ''
+ description = lib.mdDoc ''
List of temperature sensors thinkfan will monitor.
- '' + syntaxNote "thermal";
+
+ ${syntaxNote "thermal"}
+ '';
};
fans = mkOption {
@@ -143,9 +147,11 @@ in {
query = "/proc/acpi/ibm/fan";
}
];
- description = ''
+ description = lib.mdDoc ''
List of fans thinkfan will control.
- '' + syntaxNote "fan";
+
+ ${syntaxNote "fan"}
+ '';
};
levels = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/throttled.nix b/third_party/nixpkgs/nixos/modules/services/hardware/throttled.nix
index 559b29627c..99735ff651 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/throttled.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/throttled.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.throttled = {
- enable = mkEnableOption "fix for Intel CPU throttling";
+ enable = mkEnableOption (lib.mdDoc "fix for Intel CPU throttling");
extraConfig = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/udev.nix b/third_party/nixpkgs/nixos/modules/services/hardware/udev.nix
index 1723cb5084..fa9d06b441 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/udev.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/udev.nix
@@ -222,8 +222,8 @@ in
path = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
- Packages added to the PATH environment variable when
+ description = lib.mdDoc ''
+ Packages added to the {env}`PATH` environment variable when
executing programs from Udev rules.
'';
};
@@ -300,13 +300,13 @@ in
type = types.listOf types.path;
default = [];
visible = false;
- description = ''
- This will only be used when systemd is used in stage 1.
+ description = lib.mdDoc ''
+ *This will only be used when systemd is used in stage 1.*
- List of packages containing udev rules that will be copied to stage 1.
+ List of packages containing {command}`udev` rules that will be copied to stage 1.
All files found in
- «pkg»/etc/udev/rules.d and
- «pkg»/lib/udev/rules.d
+ {file}`«pkg»/etc/udev/rules.d` and
+ {file}`«pkg»/lib/udev/rules.d`
will be included.
'';
};
@@ -315,8 +315,8 @@ in
type = types.listOf types.path;
default = [];
visible = false;
- description = ''
- This will only be used when systemd is used in stage 1.
+ description = lib.mdDoc ''
+ *This will only be used when systemd is used in stage 1.*
Packages to search for binaries that are referenced by the udev rules in stage 1.
This list always contains /bin of the initrd.
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/udisks2.nix b/third_party/nixpkgs/nixos/modules/services/hardware/udisks2.nix
index 988e975d7e..70667dc6d3 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/udisks2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/udisks2.nix
@@ -19,7 +19,7 @@ in
services.udisks2 = {
- enable = mkEnableOption "udisks2, a DBus service that allows applications to query and manipulate storage devices.";
+ enable = mkEnableOption (lib.mdDoc "udisks2, a DBus service that allows applications to query and manipulate storage devices.");
settings = mkOption rec {
type = types.attrsOf settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/undervolt.nix b/third_party/nixpkgs/nixos/modules/services/hardware/undervolt.nix
index 2bf37b4112..c49d944cdc 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/undervolt.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/undervolt.nix
@@ -33,11 +33,11 @@ let
in
{
options.services.undervolt = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Undervolting service for Intel CPUs.
Warning: This service is not endorsed by Intel and may permanently damage your hardware. Use at your own risk!
- '';
+ '');
verbose = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/upower.nix b/third_party/nixpkgs/nixos/modules/services/hardware/upower.nix
index 54208158b1..aacc8a63db 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/upower.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/upower.nix
@@ -39,7 +39,7 @@ in
enableWattsUpPro = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Enable the Watts Up Pro device.
The Watts Up Pro contains a generic FTDI USB device without a specific
@@ -49,10 +49,8 @@ in
The generic FTDI device is known to also be used on:
-
- Sparkfun FT232 breakout board
- Parallax Propeller
-
+ - Sparkfun FT232 breakout board
+ - Parallax Propeller
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/usbrelayd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/usbrelayd.nix
index 471657190b..d45edb149c 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/usbrelayd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/usbrelayd.nix
@@ -5,7 +5,7 @@ let
in
{
options.services.usbrelayd = with types; {
- enable = mkEnableOption "USB Relay MQTT daemon";
+ enable = mkEnableOption (lib.mdDoc "USB Relay MQTT daemon");
broker = mkOption {
type = str;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/vdr.nix b/third_party/nixpkgs/nixos/modules/services/hardware/vdr.nix
index 4fc2905c09..de63ed893b 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/vdr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/vdr.nix
@@ -12,7 +12,7 @@ in {
options = {
services.vdr = {
- enable = mkEnableOption "VDR. Please put config into ${libDir}";
+ enable = mkEnableOption (lib.mdDoc "VDR. Please put config into ${libDir}");
package = mkOption {
type = types.package;
@@ -34,7 +34,7 @@ in {
description = lib.mdDoc "Additional command line arguments to pass to VDR.";
};
- enableLirc = mkEnableOption "LIRC";
+ enableLirc = mkEnableOption (lib.mdDoc "LIRC");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/home-automation/home-assistant.nix b/third_party/nixpkgs/nixos/modules/services/home-automation/home-assistant.nix
index c435491e71..ab29ab8012 100644
--- a/third_party/nixpkgs/nixos/modules/services/home-automation/home-assistant.nix
+++ b/third_party/nixpkgs/nixos/modules/services/home-automation/home-assistant.nix
@@ -77,7 +77,7 @@ in {
options.services.home-assistant = {
# Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
# https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
- enable = mkEnableOption "Home Assistant. Please note that this installation method is unsupported upstream";
+ enable = mkEnableOption (lib.mdDoc "Home Assistant. Please note that this installation method is unsupported upstream");
configDir = mkOption {
default = "/var/lib/hass";
diff --git a/third_party/nixpkgs/nixos/modules/services/home-automation/zigbee2mqtt.nix b/third_party/nixpkgs/nixos/modules/services/home-automation/zigbee2mqtt.nix
index 48474ab3fa..691ca62208 100644
--- a/third_party/nixpkgs/nixos/modules/services/home-automation/zigbee2mqtt.nix
+++ b/third_party/nixpkgs/nixos/modules/services/home-automation/zigbee2mqtt.nix
@@ -18,7 +18,7 @@ in
];
options.services.zigbee2mqtt = {
- enable = mkEnableOption "enable zigbee2mqtt service";
+ enable = mkEnableOption (lib.mdDoc "enable zigbee2mqtt service");
package = mkOption {
description = lib.mdDoc "Zigbee2mqtt package to use";
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/awstats.nix b/third_party/nixpkgs/nixos/modules/services/logging/awstats.nix
index ad87c3bd90..708775bfcf 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/awstats.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/awstats.nix
@@ -25,26 +25,26 @@ let
logFile = mkOption {
type = types.str;
example = "/var/log/nginx/access.log";
- description = ''
+ description = lib.mdDoc ''
The log file to be scanned.
For mail, set this to
-
+ ```
journalctl $OLD_CURSOR -u postfix.service | ''${pkgs.perl}/bin/perl ''${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard |
-
+ ```
'';
};
logFormat = mkOption {
type = types.str;
default = "1";
- description = ''
+ description = lib.mdDoc ''
The log format being used.
For mail, set this to
-
+ ```
%time2 %email %email_r %host %host_r %method %url %code %bytesd
-
+ ```
'';
};
@@ -69,7 +69,7 @@ let
};
webService = {
- enable = mkEnableOption "awstats web service";
+ enable = mkEnableOption (lib.mdDoc "awstats web service");
hostname = mkOption {
type = types.str;
@@ -95,7 +95,7 @@ in
];
options.services.awstats = {
- enable = mkEnableOption "awstats";
+ enable = mkEnableOption (lib.mdDoc "awstats");
dataDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/filebeat.nix b/third_party/nixpkgs/nixos/modules/services/logging/filebeat.nix
index 3dc9df372a..5b5e7fd5ae 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/filebeat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/filebeat.nix
@@ -18,7 +18,7 @@ in
services.filebeat = {
- enable = mkEnableOption "filebeat";
+ enable = mkEnableOption (lib.mdDoc "filebeat");
package = mkOption {
type = types.package;
@@ -159,27 +159,27 @@ in
type = types.listOf json.type;
default = [];
internal = true;
- description = ''
+ description = lib.mdDoc ''
Inputs specify how Filebeat locates and processes
- input data. Use instead.
+ input data. Use [](#opt-services.filebeat.inputs) instead.
- See .
+ See .
'';
};
modules = mkOption {
type = types.listOf json.type;
default = [];
internal = true;
- description = ''
+ description = lib.mdDoc ''
Filebeat modules provide a quick way to get started
processing common log formats. They contain default
configurations, Elasticsearch ingest pipeline
definitions, and Kibana dashboards to help you
implement and deploy a log monitoring solution.
- Use instead.
+ Use [](#opt-services.filebeat.modules) instead.
- See .
+ See .
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/graylog.nix b/third_party/nixpkgs/nixos/modules/services/logging/graylog.nix
index 9f7160b3e8..70c3ca5088 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/graylog.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/graylog.nix
@@ -33,7 +33,7 @@ in
services.graylog = {
- enable = mkEnableOption "Graylog";
+ enable = mkEnableOption (lib.mdDoc "Graylog");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/heartbeat.nix b/third_party/nixpkgs/nixos/modules/services/logging/heartbeat.nix
index 72fbf41739..a9ae11ec66 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/heartbeat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/heartbeat.nix
@@ -18,7 +18,7 @@ in
services.heartbeat = {
- enable = mkEnableOption "heartbeat";
+ enable = mkEnableOption (lib.mdDoc "heartbeat");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/journalbeat.nix b/third_party/nixpkgs/nixos/modules/services/logging/journalbeat.nix
index a38283ae1e..e761380552 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/journalbeat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/journalbeat.nix
@@ -18,7 +18,7 @@ in
services.journalbeat = {
- enable = mkEnableOption "journalbeat";
+ enable = mkEnableOption (lib.mdDoc "journalbeat");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/logrotate.nix b/third_party/nixpkgs/nixos/modules/services/logging/logrotate.nix
index 3ea130a891..5ea54a4cf9 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/logrotate.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/logrotate.nix
@@ -205,7 +205,7 @@ in
options = {
services.logrotate = {
- enable = mkEnableOption "the logrotate systemd service" // {
+ enable = mkEnableOption (lib.mdDoc "the logrotate systemd service") // {
default = foldr (n: a: a || n.enable) false (attrValues cfg.settings);
defaultText = literalExpression "cfg.settings != {}";
};
@@ -222,7 +222,7 @@ in
freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
options = {
- enable = mkEnableOption "setting individual kill switch" // {
+ enable = mkEnableOption (lib.mdDoc "setting individual kill switch") // {
default = true;
};
@@ -316,11 +316,11 @@ in
paths = mkOption {
type = with types; attrsOf (submodule pathOpts);
default = { };
- description = ''
+ description = lib.mdDoc ''
Attribute set of paths to rotate. The order each block appears in the generated configuration file
- can be controlled by the priority option
+ can be controlled by the [priority](#opt-services.logrotate.paths._name_.priority) option
using the same semantics as `lib.mkOrder`. Smaller values have a greater priority.
- This setting has been deprecated in favor of logrotate settings.
+ This setting has been deprecated in favor of [logrotate settings](#opt-services.logrotate.settings).
'';
example = literalExpression ''
{
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/promtail.nix b/third_party/nixpkgs/nixos/modules/services/logging/promtail.nix
index bdf98322fa..9db82fd42b 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/promtail.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/promtail.nix
@@ -12,7 +12,7 @@ let
positionsFile = cfg.configuration.positions.filename;
in {
options.services.promtail = with types; {
- enable = mkEnableOption "the Promtail ingresser";
+ enable = mkEnableOption (lib.mdDoc "the Promtail ingresser");
configuration = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/rsyslogd.nix b/third_party/nixpkgs/nixos/modules/services/logging/rsyslogd.nix
index 21d6482d9f..207d416c1a 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/rsyslogd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/rsyslogd.nix
@@ -48,10 +48,10 @@ in
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
- description = ''
- The default syslog.conf file configures a
+ description = lib.mdDoc ''
+ The default {file}`syslog.conf` file configures a
fairly standard setup of log files, which can be extended by
- means of extraConfig.
+ means of {var}`extraConfig`.
'';
};
@@ -59,9 +59,9 @@ in
type = types.lines;
default = "";
example = "news.* -/var/log/news";
- description = ''
- Additional text appended to syslog.conf,
- i.e. the contents of defaultConfig.
+ description = lib.mdDoc ''
+ Additional text appended to {file}`syslog.conf`,
+ i.e. the contents of {var}`defaultConfig`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/syslogd.nix b/third_party/nixpkgs/nixos/modules/services/logging/syslogd.nix
index a51bf08e5d..4396940258 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/syslogd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/syslogd.nix
@@ -57,10 +57,10 @@ in
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
- description = ''
- The default syslog.conf file configures a
+ description = lib.mdDoc ''
+ The default {file}`syslog.conf` file configures a
fairly standard setup of log files, which can be extended by
- means of extraConfig.
+ means of {var}`extraConfig`.
'';
};
@@ -76,9 +76,9 @@ in
type = types.lines;
default = "";
example = "news.* -/var/log/news";
- description = ''
- Additional text appended to syslog.conf,
- i.e. the contents of defaultConfig.
+ description = lib.mdDoc ''
+ Additional text appended to {file}`syslog.conf`,
+ i.e. the contents of {var}`defaultConfig`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/vector.nix b/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
index 93d8550c31..c4bd4fe809 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
@@ -6,7 +6,7 @@ let cfg = config.services.vector;
in
{
options.services.vector = {
- enable = mkEnableOption "Vector";
+ enable = mkEnableOption (lib.mdDoc "Vector");
journaldAccess = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/davmail.nix b/third_party/nixpkgs/nixos/modules/services/mail/davmail.nix
index a01d8758c0..483f591a72 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/davmail.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/davmail.nix
@@ -25,7 +25,7 @@ in
{
options.services.davmail = {
- enable = mkEnableOption "davmail, an MS Exchange gateway";
+ enable = mkEnableOption (lib.mdDoc "davmail, an MS Exchange gateway");
url = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/dkimproxy-out.nix b/third_party/nixpkgs/nixos/modules/services/mail/dkimproxy-out.nix
index aa465891db..6f9cbc4e9d 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/dkimproxy-out.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/dkimproxy-out.nix
@@ -45,7 +45,7 @@ in
type = types.str;
example = "selector1";
description =
- ''
+ lib.mdDoc ''
The selector to use for DKIM key identification.
For example, if 'selector1' is used here, then for each domain
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix b/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix
index 4caf8dbfd2..f6a167572f 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix
@@ -169,13 +169,13 @@ in
];
options.services.dovecot2 = {
- enable = mkEnableOption "the dovecot 2.x POP3/IMAP server";
+ enable = mkEnableOption (lib.mdDoc "the dovecot 2.x POP3/IMAP server");
- enablePop3 = mkEnableOption "starting the POP3 listener (when Dovecot is enabled).";
+ enablePop3 = mkEnableOption (lib.mdDoc "starting the POP3 listener (when Dovecot is enabled).");
- enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)." // { default = true; };
+ enableImap = mkEnableOption (lib.mdDoc "starting the IMAP listener (when Dovecot is enabled).") // { default = true; };
- enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled).";
+ enableLmtp = mkEnableOption (lib.mdDoc "starting the LMTP listener (when Dovecot is enabled).");
protocols = mkOption {
type = types.listOf types.str;
@@ -267,9 +267,9 @@ in
description = lib.mdDoc "Default group to store mail for virtual users.";
};
- createMailUser = mkEnableOption ''automatically creating the user
- given in and the group
- given in .'' // { default = true; };
+ createMailUser = mkEnableOption (lib.mdDoc ''automatically creating the user
+ given in {option}`services.dovecot.user` and the group
+ given in {option}`services.dovecot.group`.'') // { default = true; };
modules = mkOption {
type = types.listOf types.package;
@@ -300,9 +300,9 @@ in
description = lib.mdDoc "Path to the server's private key.";
};
- enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins." // { default = true; };
+ enablePAM = mkEnableOption (lib.mdDoc "creating a own Dovecot PAM service and configure PAM user logins.") // { default = true; };
- enableDHE = mkEnableOption "enable ssl_dh and generation of primes for the key exchange." // { default = true; };
+ enableDHE = mkEnableOption (lib.mdDoc "enable ssl_dh and generation of primes for the key exchange.") // { default = true; };
sieveScripts = mkOption {
type = types.attrsOf types.path;
@@ -310,7 +310,7 @@ in
description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.";
};
- showPAMFailure = mkEnableOption "showing the PAM failure message on authentication error (useful for OTPW).";
+ showPAMFailure = mkEnableOption (lib.mdDoc "showing the PAM failure message on authentication error (useful for OTPW).");
mailboxes = mkOption {
type = with types; coercedTo
@@ -326,7 +326,7 @@ in
description = lib.mdDoc "Configure mailboxes and auto create or subscribe them.";
};
- enableQuota = mkEnableOption "the dovecot quota service.";
+ enableQuota = mkEnableOption (lib.mdDoc "the dovecot quota service.");
quotaPort = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/maddy.nix b/third_party/nixpkgs/nixos/modules/services/mail/maddy.nix
index 2f9abd3ed1..eeb113e204 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/maddy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/maddy.nix
@@ -139,33 +139,33 @@ in {
options = {
services.maddy = {
- enable = mkEnableOption "Maddy, a free an open source mail server";
+ enable = mkEnableOption (lib.mdDoc "Maddy, a free an open source mail server");
user = mkOption {
default = "maddy";
type = with types; uniq string;
- description = ''
+ description = lib.mdDoc ''
User account under which maddy runs.
-
+ ::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise the sysadmin is responsible for
ensuring the user exists before the maddy service starts.
-
+ :::
'';
};
group = mkOption {
default = "maddy";
type = with types; uniq string;
- description = ''
+ description = lib.mdDoc ''
Group account under which maddy runs.
-
+ ::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise the sysadmin is responsible for
ensuring the group exists before the maddy service starts.
-
+ :::
'';
};
@@ -203,14 +203,15 @@ in {
config = mkOption {
type = with types; nullOr lines;
default = defaultConfig;
- description = ''
+ description = lib.mdDoc ''
Server configuration, see
- https://maddy.email for
+ [https://maddy.email](https://maddy.email) for
more information. The default configuration of this module will setup
minimal maddy instance for mail transfer without TLS encryption.
-
+
+ ::: {.note}
This should not be used in a production environment.
-
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/mail.nix b/third_party/nixpkgs/nixos/modules/services/mail/mail.nix
index fcc7ff6db9..8e1424595b 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/mail.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/mail.nix
@@ -14,7 +14,7 @@ with lib;
type = types.nullOr options.security.wrappers.type.nestedTypes.elemType;
default = null;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Configuration for the sendmail setuid wapper.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/mailcatcher.nix b/third_party/nixpkgs/nixos/modules/services/mail/mailcatcher.nix
index 01f3a9776b..d0f4550c19 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/mailcatcher.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/mailcatcher.nix
@@ -11,7 +11,7 @@ in
options = {
services.mailcatcher = {
- enable = mkEnableOption "MailCatcher";
+ enable = mkEnableOption (lib.mdDoc "MailCatcher");
http.ip = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/mailhog.nix b/third_party/nixpkgs/nixos/modules/services/mail/mailhog.nix
index defc58b806..7ae62de291 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/mailhog.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/mailhog.nix
@@ -27,7 +27,7 @@ in
options = {
services.mailhog = {
- enable = mkEnableOption "MailHog";
+ enable = mkEnableOption (lib.mdDoc "MailHog");
storage = mkOption {
type = types.enum [ "maildir" "memory" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/mailman.nix b/third_party/nixpkgs/nixos/modules/services/mail/mailman.nix
index c76d40a68c..7ae0a33332 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/mailman.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/mailman.nix
@@ -94,7 +94,7 @@ in {
};
ldap = {
- enable = mkEnableOption "LDAP auth";
+ enable = mkEnableOption (lib.mdDoc "LDAP auth");
serverUri = mkOption {
type = types.str;
example = "ldaps://ldap.host";
@@ -262,7 +262,7 @@ in {
};
serve = {
- enable = mkEnableOption "Automatic nginx and uwsgi setup for mailman-web";
+ enable = mkEnableOption (lib.mdDoc "Automatic nginx and uwsgi setup for mailman-web");
};
extraPythonPackages = mkOption {
@@ -278,7 +278,7 @@ in {
};
hyperkitty = {
- enable = mkEnableOption "the Hyperkitty archiver for Mailman";
+ enable = mkEnableOption (lib.mdDoc "the Hyperkitty archiver for Mailman");
baseUrl = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/offlineimap.nix b/third_party/nixpkgs/nixos/modules/services/mail/offlineimap.nix
index 17c09df8f9..64fa09e836 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/offlineimap.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/offlineimap.nix
@@ -7,18 +7,18 @@ let
in {
options.services.offlineimap = {
- enable = mkEnableOption "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)";
+ enable = mkEnableOption (lib.mdDoc "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)");
install = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to install a user service for Offlineimap. Once
the service is started, emails will be fetched automatically.
The service must be manually started for each user with
"systemctl --user start offlineimap" or globally through
- services.offlineimap.enable.
+ {var}`services.offlineimap.enable`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/pfix-srsd.nix b/third_party/nixpkgs/nixos/modules/services/mail/pfix-srsd.nix
index d46447a480..237f36945e 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/pfix-srsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/pfix-srsd.nix
@@ -22,10 +22,10 @@ with lib;
};
secretsFile = mkOption {
- description = ''
+ description = lib.mdDoc ''
The secret data used to encode the SRS address.
to generate, use a command like:
- for n in $(seq 5); do dd if=/dev/urandom count=1 bs=1024 status=none | sha256sum | sed 's/ -$//' | sed 's/^/ /'; done
+ `for n in $(seq 5); do dd if=/dev/urandom count=1 bs=1024 status=none | sha256sum | sed 's/ -$//' | sed 's/^/ /'; done`
'';
type = types.path;
default = "/var/lib/pfix-srsd/secrets";
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/postfix.nix b/third_party/nixpkgs/nixos/modules/services/mail/postfix.nix
index 3dc5403866..5461e89a80 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/postfix.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/postfix.nix
@@ -70,7 +70,7 @@ let
privileged = mkOption {
type = types.bool;
example = true;
- description = "";
+ description = lib.mdDoc "";
};
chroot = mkOption {
@@ -140,8 +140,8 @@ let
type = types.listOf types.str;
default = [];
internal = true;
- description = ''
- The raw configuration line for the master.cf.
+ description = lib.mdDoc ''
+ The raw configuration line for the {file}`master.cf`.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/postgrey.nix b/third_party/nixpkgs/nixos/modules/services/mail/postgrey.nix
index 301bc69e1c..fdfa08946d 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/postgrey.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/postgrey.nix
@@ -15,12 +15,12 @@ with lib; let
type = nullOr str;
default = null;
example = "127.0.0.1";
- description = "The address to bind to. Localhost if null";
+ description = lib.mdDoc "The address to bind to. Localhost if null";
};
port = mkOption {
type = natural';
default = 10030;
- description = "Tcp port to bind to";
+ description = lib.mdDoc "Tcp port to bind to";
};
};
};
@@ -30,13 +30,13 @@ with lib; let
path = mkOption {
type = path;
default = "/run/postgrey.sock";
- description = "Path of the unix socket";
+ description = lib.mdDoc "Path of the unix socket";
};
mode = mkOption {
type = str;
default = "0777";
- description = "Mode of the unix socket";
+ description = lib.mdDoc "Mode of the unix socket";
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/public-inbox.nix b/third_party/nixpkgs/nixos/modules/services/mail/public-inbox.nix
index a81dd1cdb3..ab7ff5f726 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/public-inbox.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/public-inbox.nix
@@ -6,8 +6,6 @@ let
cfg = config.services.public-inbox;
stateDir = "/var/lib/public-inbox";
- manref = name: vol: "${name}${toString vol}";
-
gitIni = pkgs.formats.gitIni { listsAsDuplicateKeys = true; };
iniAtom = elemAt gitIni.type/*attrsOf*/.functor.wrapped/*attrsOf*/.functor.wrapped/*either*/.functor.wrapped 0;
@@ -18,7 +16,7 @@ let
args = mkOption {
type = with types; listOf str;
default = [];
- description = "Command-line arguments to pass to ${manref "public-inbox-${proto}d" 1}.";
+ description = lib.mdDoc "Command-line arguments to pass to {manpage}`public-inbox-${proto}d(1)`.";
};
port = mkOption {
type = with types; nullOr (either str port);
@@ -34,13 +32,13 @@ let
type = with types; nullOr str;
default = null;
example = "/path/to/fullchain.pem";
- description = "Path to TLS certificate to use for connections to ${manref "public-inbox-${proto}d" 1}.";
+ description = lib.mdDoc "Path to TLS certificate to use for connections to {manpage}`public-inbox-${proto}d(1)`.";
};
key = mkOption {
type = with types; nullOr str;
default = null;
example = "/path/to/key.pem";
- description = "Path to TLS key to use for connections to ${manref "public-inbox-${proto}d" 1}.";
+ description = lib.mdDoc "Path to TLS key to use for connections to {manpage}`public-inbox-${proto}d(1)`.";
};
};
@@ -145,7 +143,7 @@ in
{
options.services.public-inbox = {
- enable = mkEnableOption "the public-inbox mail archiver";
+ enable = mkEnableOption (lib.mdDoc "the public-inbox mail archiver");
package = mkOption {
type = types.package;
default = pkgs.public-inbox;
@@ -198,15 +196,15 @@ in
options.watch = mkOption {
type = with types; listOf str;
default = [];
- description = "Paths for ${manref "public-inbox-watch" 1} to monitor for new mail.";
+ description = lib.mdDoc "Paths for {manpage}`public-inbox-watch(1)` to monitor for new mail.";
example = [ "maildir:/path/to/test.example.com.git" ];
};
options.watchheader = mkOption {
type = with types; nullOr str;
default = null;
example = "List-Id:";
- description = ''
- If specified, ${manref "public-inbox-watch" 1} will only process
+ description = lib.mdDoc ''
+ If specified, {manpage}`public-inbox-watch(1)` will only process
mail containing a matching header.
'';
};
@@ -220,10 +218,10 @@ in
}));
};
imap = {
- enable = mkEnableOption "the public-inbox IMAP server";
+ enable = mkEnableOption (lib.mdDoc "the public-inbox IMAP server");
} // publicInboxDaemonOptions "imap" 993;
http = {
- enable = mkEnableOption "the public-inbox HTTP server";
+ enable = mkEnableOption (lib.mdDoc "the public-inbox HTTP server");
mounts = mkOption {
type = with types; listOf str;
default = [ "/" ];
@@ -249,16 +247,16 @@ in
};
};
mda = {
- enable = mkEnableOption "the public-inbox Mail Delivery Agent";
+ enable = mkEnableOption (lib.mdDoc "the public-inbox Mail Delivery Agent");
args = mkOption {
type = with types; listOf str;
default = [];
- description = "Command-line arguments to pass to ${manref "public-inbox-mda" 1}.";
+ description = lib.mdDoc "Command-line arguments to pass to {manpage}`public-inbox-mda(1)`.";
};
};
- postfix.enable = mkEnableOption "the integration into Postfix";
+ postfix.enable = mkEnableOption (lib.mdDoc "the integration into Postfix");
nntp = {
- enable = mkEnableOption "the public-inbox NNTP server";
+ enable = mkEnableOption (lib.mdDoc "the public-inbox NNTP server");
} // publicInboxDaemonOptions "nntp" 563;
spamAssassinRules = mkOption {
type = with types; nullOr path;
@@ -302,16 +300,16 @@ in
options.publicinboxmda.spamcheck = mkOption {
type = with types; enum [ "spamc" "none" ];
default = "none";
- description = ''
- If set to spamc, ${manref "public-inbox-watch" 1} will filter spam
+ description = lib.mdDoc ''
+ If set to spamc, {manpage}`public-inbox-watch(1)` will filter spam
using SpamAssassin.
'';
};
options.publicinboxwatch.spamcheck = mkOption {
type = with types; enum [ "spamc" "none" ];
default = "none";
- description = ''
- If set to spamc, ${manref "public-inbox-watch" 1} will filter spam
+ description = lib.mdDoc ''
+ If set to spamc, {manpage}`public-inbox-watch(1)` will filter spam
using SpamAssassin.
'';
};
@@ -341,7 +339,7 @@ in
};
};
};
- openFirewall = mkEnableOption "opening the firewall when using a port option";
+ openFirewall = mkEnableOption (lib.mdDoc "opening the firewall when using a port option");
};
config = mkIf cfg.enable {
assertions = [
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/rspamd.nix b/third_party/nixpkgs/nixos/modules/services/mail/rspamd.nix
index ed4d7a5044..f9be9024dd 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/rspamd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/rspamd.nix
@@ -13,24 +13,24 @@ let
socket = mkOption {
type = types.str;
example = "localhost:11333";
- description = ''
+ description = lib.mdDoc ''
Socket for this worker to listen on in a format acceptable by rspamd.
'';
};
mode = mkOption {
type = types.str;
default = "0644";
- description = "Mode to set on unix socket";
+ description = lib.mdDoc "Mode to set on unix socket";
};
owner = mkOption {
type = types.str;
default = "${cfg.user}";
- description = "Owner to set on unix socket";
+ description = lib.mdDoc "Owner to set on unix socket";
};
group = mkOption {
type = types.str;
default = "${cfg.group}";
- description = "Group to set on unix socket";
+ description = lib.mdDoc "Group to set on unix socket";
};
rawEntry = mkOption {
type = types.str;
@@ -227,7 +227,7 @@ in
services.rspamd = {
- enable = mkEnableOption "rspamd, the Rapid spam filtering system";
+ enable = mkEnableOption (lib.mdDoc "rspamd, the Rapid spam filtering system");
debug = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/schleuder.nix b/third_party/nixpkgs/nixos/modules/services/mail/schleuder.nix
index 80b37ac129..2991418dd8 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/schleuder.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/schleuder.nix
@@ -18,8 +18,8 @@ let
in
{
options.services.schleuder = {
- enable = lib.mkEnableOption "Schleuder secure remailer";
- enablePostfix = lib.mkEnableOption "automatic postfix integration" // { default = true; };
+ enable = lib.mkEnableOption (lib.mdDoc "Schleuder secure remailer");
+ enablePostfix = lib.mkEnableOption (lib.mdDoc "automatic postfix integration") // { default = true; };
lists = lib.mkOption {
description = lib.mdDoc ''
List of list addresses that should be handled by Schleuder.
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/spamassassin.nix b/third_party/nixpkgs/nixos/modules/services/mail/spamassassin.nix
index 153e3c0008..49d1d93159 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/spamassassin.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/spamassassin.nix
@@ -12,7 +12,7 @@ in
options = {
services.spamassassin = {
- enable = mkEnableOption "the SpamAssassin daemon";
+ enable = mkEnableOption (lib.mdDoc "the SpamAssassin daemon");
debug = mkOption {
type = types.bool;
@@ -22,23 +22,26 @@ in
config = mkOption {
type = types.lines;
- description = ''
+ description = lib.mdDoc ''
The SpamAssassin local.cf config
If you are using this configuration:
- add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_
+
+ add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_
Then you can Use this sieve filter:
- require ["fileinto", "reject", "envelope"];
- if header :contains "X-Spam-Flag" "YES" {
- fileinto "spam";
- }
+ require ["fileinto", "reject", "envelope"];
+
+ if header :contains "X-Spam-Flag" "YES" {
+ fileinto "spam";
+ }
Or this procmail filter:
- :0:
- * ^X-Spam-Flag: YES
- /var/vpopmail/domains/lastlog.de/js/.maildir/.spam/new
+
+ :0:
+ * ^X-Spam-Flag: YES
+ /var/vpopmail/domains/lastlog.de/js/.maildir/.spam/new
To filter your messages based on the additional mail headers added by spamassassin.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/mail/sympa.nix b/third_party/nixpkgs/nixos/modules/services/mail/sympa.nix
index 0014701d58..7a5047b2be 100644
--- a/third_party/nixpkgs/nixos/modules/services/mail/sympa.nix
+++ b/third_party/nixpkgs/nixos/modules/services/mail/sympa.nix
@@ -80,7 +80,7 @@ in
###### interface
options.services.sympa = with types; {
- enable = mkEnableOption "Sympa mailing list manager";
+ enable = mkEnableOption (lib.mdDoc "Sympa mailing list manager");
lang = mkOption {
type = str;
@@ -239,10 +239,10 @@ in
server = mkOption {
type = enum [ "nginx" "none" ];
default = "nginx";
- description = ''
+ description = lib.mdDoc ''
The webserver used for the Sympa web interface. Set it to `none` if you want to configure it yourself.
Further nginx configuration can be done by adapting
- .
+ {option}`services.nginx.virtualHosts.«name»`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/appservice-discord.nix b/third_party/nixpkgs/nixos/modules/services/matrix/appservice-discord.nix
index c72a2123a9..89b4bc98f4 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/appservice-discord.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/appservice-discord.nix
@@ -14,7 +14,7 @@ let
in {
options = {
services.matrix-appservice-discord = {
- enable = mkEnableOption "a bridge between Matrix and Discord";
+ enable = mkEnableOption (lib.mdDoc "a bridge between Matrix and Discord");
settings = mkOption rec {
# TODO: switch to types.config.json as prescribed by RFC42 once it's implemented
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/appservice-irc.nix b/third_party/nixpkgs/nixos/modules/services/matrix/appservice-irc.nix
index b24edba96d..388553d418 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/appservice-irc.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/appservice-irc.nix
@@ -28,7 +28,7 @@ let
registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
in {
options.services.matrix-appservice-irc = with types; {
- enable = mkEnableOption "the Matrix/IRC bridge";
+ enable = mkEnableOption (lib.mdDoc "the Matrix/IRC bridge");
port = mkOption {
type = port;
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/conduit.nix b/third_party/nixpkgs/nixos/modules/services/matrix/conduit.nix
index 29040c3850..812d463e9e 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/conduit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/conduit.nix
@@ -11,7 +11,7 @@ in
{
meta.maintainers = with maintainers; [ pstn piegames ];
options.services.matrix-conduit = {
- enable = mkEnableOption "matrix-conduit";
+ enable = mkEnableOption (lib.mdDoc "matrix-conduit");
extraEnvironment = mkOption {
type = types.attrsOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/dendrite.nix b/third_party/nixpkgs/nixos/modules/services/matrix/dendrite.nix
index b336c5fd0f..9279af246f 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/dendrite.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/dendrite.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.dendrite = {
- enable = lib.mkEnableOption "matrix.org dendrite";
+ enable = lib.mkEnableOption (lib.mdDoc "matrix.org dendrite");
httpPort = lib.mkOption {
type = lib.types.nullOr lib.types.port;
default = 8008;
@@ -50,26 +50,26 @@ in
type = lib.types.nullOr lib.types.path;
example = "/var/lib/dendrite/registration_secret";
default = null;
- description = ''
- Environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the world-readable
Nix store, by specifying placeholder variables as the option value in Nix and
setting these variables accordingly in the environment file. Currently only used
for the registration secret to allow secure registration when
client_api.registration_disabled is true.
-
+ ```
# snippet of dendrite-related config
services.dendrite.settings.client_api.registration_shared_secret = "$REGISTRATION_SHARED_SECRET";
-
+ ```
-
+ ```
# content of the environment file
REGISTRATION_SHARED_SECRET=verysecretpassword
-
+ ```
Note that this file needs to be available on the host on which
- dendrite is running.
+ `dendrite` is running.
'';
};
loadCredential = lib.mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix b/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
index dfdf6e2502..18c91f649b 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
@@ -17,7 +17,7 @@ let
in {
options = {
services.mautrix-facebook = {
- enable = mkEnableOption "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge";
+ enable = mkEnableOption (lib.mdDoc "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge");
settings = mkOption rec {
apply = recursiveUpdate default;
@@ -44,6 +44,12 @@ in {
encryption = {
allow = true;
default = true;
+
+ verification_levels = {
+ receive = "cross-signed-tofu";
+ send = "cross-signed-tofu";
+ share = "cross-signed-tofu";
+ };
};
username_template = "facebook_{userid}";
};
@@ -116,6 +122,8 @@ in {
};
config = mkIf cfg.enable {
+ users.groups.mautrix-facebook = {};
+
users.users.mautrix-facebook = {
group = "mautrix-facebook";
isSystemUser = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-telegram.nix b/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-telegram.nix
index 196100a531..be220e05a5 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-telegram.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/mautrix-telegram.nix
@@ -13,7 +13,7 @@ let
in {
options = {
services.mautrix-telegram = {
- enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
+ enable = mkEnableOption (lib.mdDoc "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge");
settings = mkOption rec {
apply = recursiveUpdate default;
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/mjolnir.nix b/third_party/nixpkgs/nixos/modules/services/matrix/mjolnir.nix
index abbbb4030e..cbf7b93329 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/mjolnir.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/mjolnir.nix
@@ -65,7 +65,7 @@ let
in
{
options.services.mjolnir = {
- enable = mkEnableOption "Mjolnir, a moderation tool for Matrix";
+ enable = mkEnableOption (lib.mdDoc "Mjolnir, a moderation tool for Matrix");
homeserverUrl = mkOption {
type = types.str;
@@ -95,10 +95,10 @@ in
default = { };
type = types.submodule {
options = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
If true, accessToken is ignored and the username/password below will be
used instead. The access token of the bot will be stored in the dataPath.
- '';
+ '');
username = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/matrix/synapse.nix b/third_party/nixpkgs/nixos/modules/services/matrix/synapse.nix
index a40ed93b4a..8666205522 100644
--- a/third_party/nixpkgs/nixos/modules/services/matrix/synapse.nix
+++ b/third_party/nixpkgs/nixos/modules/services/matrix/synapse.nix
@@ -138,7 +138,7 @@ in {
options = {
services.matrix-synapse = {
- enable = mkEnableOption "matrix.org synapse";
+ enable = mkEnableOption (lib.mdDoc "matrix.org synapse");
configFile = mkOption {
type = types.path;
@@ -759,6 +759,33 @@ in {
ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID";
Restart = "on-failure";
UMask = "0077";
+
+ # Security Hardening
+ # Refer to systemd.exec(5) for option descriptions.
+ CapabilityBoundingSet = [ "" ];
+ LockPersonality = true;
+ NoNewPrivileges = true;
+ PrivateDevices = true;
+ PrivateTmp = true;
+ PrivateUsers = true;
+ ProcSubset = "pid";
+ ProtectClock = true;
+ ProtectControlGroups = true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelLogs = true;
+ ProtectKernelModules = true;
+ ProtectKernelTunables = true;
+ ProtectProc = "invisible";
+ ProtectSystem = "strict";
+ ReadWritePaths = [ cfg.dataDir ];
+ RemoveIPC = true;
+ RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ SystemCallArchitectures = "native";
+ SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ];
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/airsonic.nix b/third_party/nixpkgs/nixos/modules/services/misc/airsonic.nix
index 01e330929c..e4448d70a0 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/airsonic.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/airsonic.nix
@@ -9,7 +9,7 @@ in {
options = {
services.airsonic = {
- enable = mkEnableOption "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)";
+ enable = mkEnableOption (lib.mdDoc "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ananicy.nix b/third_party/nixpkgs/nixos/modules/services/misc/ananicy.nix
index bf33b2c060..d2287fba6a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ananicy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ananicy.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.ananicy = {
- enable = mkEnableOption "Ananicy, an auto nice daemon";
+ enable = mkEnableOption (lib.mdDoc "Ananicy, an auto nice daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ankisyncd.nix b/third_party/nixpkgs/nixos/modules/services/misc/ankisyncd.nix
index fe71b528b6..907bd348d7 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ankisyncd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ankisyncd.nix
@@ -28,7 +28,7 @@ let
in
{
options.services.ankisyncd = {
- enable = mkEnableOption "ankisyncd";
+ enable = mkEnableOption (lib.mdDoc "ankisyncd");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/autorandr.nix b/third_party/nixpkgs/nixos/modules/services/misc/autorandr.nix
index 06f24d7c7e..365fdd5fcc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/autorandr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/autorandr.nix
@@ -149,15 +149,15 @@ let
};
};
});
- description = ''
+ description = lib.mdDoc ''
Output scale configuration.
Either configure by pixels or a scaling factor. When using pixel method the
- xrandr1
+ {manpage}`xrandr(1)`
option
- --scale-from
+ `--scale-from`
will be used; when using factor method the option
- --scale
+ `--scale`
will be used.
This option is a shortcut version of the transform option and they are mutually
@@ -242,7 +242,7 @@ in {
options = {
services.autorandr = {
- enable = mkEnableOption "handling of hotplug and sleep events by autorandr";
+ enable = mkEnableOption (lib.mdDoc "handling of hotplug and sleep events by autorandr");
defaultTarget = mkOption {
default = "default";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/bazarr.nix b/third_party/nixpkgs/nixos/modules/services/misc/bazarr.nix
index 8c0b4b88e5..07c9350535 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/bazarr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/bazarr.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.bazarr = {
- enable = mkEnableOption "bazarr, a subtitle manager for Sonarr and Radarr";
+ enable = mkEnableOption (lib.mdDoc "bazarr, a subtitle manager for Sonarr and Radarr");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/beanstalkd.nix b/third_party/nixpkgs/nixos/modules/services/misc/beanstalkd.nix
index 498e287ac7..5d34355aeb 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/beanstalkd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/beanstalkd.nix
@@ -12,7 +12,7 @@ in
options = {
services.beanstalkd = {
- enable = mkEnableOption "the Beanstalk work queue";
+ enable = mkEnableOption (lib.mdDoc "the Beanstalk work queue");
listen = {
port = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/bepasty.nix b/third_party/nixpkgs/nixos/modules/services/misc/bepasty.nix
index 8d18ef7f19..70d0762949 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/bepasty.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/bepasty.nix
@@ -13,7 +13,7 @@ let
in
{
options.services.bepasty = {
- enable = mkEnableOption "Bepasty servers";
+ enable = mkEnableOption (lib.mdDoc "Bepasty servers");
servers = mkOption {
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/calibre-server.nix b/third_party/nixpkgs/nixos/modules/services/misc/calibre-server.nix
index d75c33bab5..77c60381a3 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/calibre-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/calibre-server.nix
@@ -23,7 +23,7 @@ in
options = {
services.calibre-server = {
- enable = mkEnableOption "calibre-server";
+ enable = mkEnableOption (lib.mdDoc "calibre-server");
libraries = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/cfdyndns.nix b/third_party/nixpkgs/nixos/modules/services/misc/cfdyndns.nix
index 74d7a0b2c6..9cd8b188ff 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/cfdyndns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/cfdyndns.nix
@@ -14,7 +14,7 @@ in
options = {
services.cfdyndns = {
- enable = mkEnableOption "Cloudflare Dynamic DNS Client";
+ enable = mkEnableOption (lib.mdDoc "Cloudflare Dynamic DNS Client");
email = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/cgminer.nix b/third_party/nixpkgs/nixos/modules/services/misc/cgminer.nix
index a67986d301..fced106cb3 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/cgminer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/cgminer.nix
@@ -31,7 +31,7 @@ in
services.cgminer = {
- enable = mkEnableOption "cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin";
+ enable = mkEnableOption (lib.mdDoc "cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin");
package = mkOption {
default = pkgs.cgminer;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/clipcat.nix b/third_party/nixpkgs/nixos/modules/services/misc/clipcat.nix
index 0c067d23d3..0129de3a9e 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/clipcat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/clipcat.nix
@@ -7,7 +7,7 @@ let
in {
options.services.clipcat= {
- enable = mkEnableOption "Clipcat clipboard daemon";
+ enable = mkEnableOption (lib.mdDoc "Clipcat clipboard daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/clipmenu.nix b/third_party/nixpkgs/nixos/modules/services/misc/clipmenu.nix
index a31879284e..1cc8c4c47f 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/clipmenu.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/clipmenu.nix
@@ -7,7 +7,7 @@ let
in {
options.services.clipmenu = {
- enable = mkEnableOption "clipmenu, the clipboard management daemon";
+ enable = mkEnableOption (lib.mdDoc "clipmenu, the clipboard management daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/confd.nix b/third_party/nixpkgs/nixos/modules/services/misc/confd.nix
index 87a9a25d49..17c1be57cc 100755
--- a/third_party/nixpkgs/nixos/modules/services/misc/confd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/confd.nix
@@ -17,7 +17,7 @@ let
in {
options.services.confd = {
- enable = mkEnableOption "confd service";
+ enable = mkEnableOption (lib.mdDoc "confd service");
backend = mkOption {
description = lib.mdDoc "Confd config storage backend to use.";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/devmon.nix b/third_party/nixpkgs/nixos/modules/services/misc/devmon.nix
index e4a3348646..bd0b738b70 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/devmon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/devmon.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.devmon = {
- enable = mkEnableOption "devmon, an automatic device mounting daemon";
+ enable = mkEnableOption (lib.mdDoc "devmon, an automatic device mounting daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/disnix.nix b/third_party/nixpkgs/nixos/modules/services/misc/disnix.nix
index 08e0a321a2..1cdfeef57c 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/disnix.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/disnix.nix
@@ -17,7 +17,7 @@ in
services.disnix = {
- enable = mkEnableOption "Disnix";
+ enable = mkEnableOption (lib.mdDoc "Disnix");
enableMultiUser = mkOption {
type = types.bool;
@@ -25,7 +25,7 @@ in
description = lib.mdDoc "Whether to support multi-user mode by enabling the Disnix D-Bus service";
};
- useWebServiceInterface = mkEnableOption "the DisnixWebService interface running on Apache Tomcat";
+ useWebServiceInterface = mkEnableOption (lib.mdDoc "the DisnixWebService interface running on Apache Tomcat");
package = mkOption {
type = types.path;
@@ -34,7 +34,7 @@ in
defaultText = literalExpression "pkgs.disnix";
};
- enableProfilePath = mkEnableOption "exposing the Disnix profiles in the system's PATH";
+ enableProfilePath = mkEnableOption (lib.mdDoc "exposing the Disnix profiles in the system's PATH");
profiles = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/docker-registry.nix b/third_party/nixpkgs/nixos/modules/services/misc/docker-registry.nix
index 7a9907fd35..98edb413f3 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/docker-registry.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/docker-registry.nix
@@ -47,7 +47,7 @@ let
in {
options.services.dockerRegistry = {
- enable = mkEnableOption "Docker Registry";
+ enable = mkEnableOption (lib.mdDoc "Docker Registry");
listenAddress = mkOption {
description = lib.mdDoc "Docker registry host or ip to bind to.";
@@ -76,7 +76,7 @@ in {
description = lib.mdDoc "Enable delete for manifests and blobs.";
};
- enableRedisCache = mkEnableOption "redis as blob cache";
+ enableRedisCache = mkEnableOption (lib.mdDoc "redis as blob cache");
redisUrl = mkOption {
type = types.str;
@@ -98,7 +98,7 @@ in {
type = types.attrs;
};
- enableGarbageCollect = mkEnableOption "garbage collect";
+ enableGarbageCollect = mkEnableOption (lib.mdDoc "garbage collect");
garbageCollectDates = mkOption {
default = "daily";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/domoticz.nix b/third_party/nixpkgs/nixos/modules/services/misc/domoticz.nix
index d01158b327..3358b4de46 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/domoticz.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/domoticz.nix
@@ -12,7 +12,7 @@ in {
options = {
services.domoticz = {
- enable = mkEnableOption pkgDesc;
+ enable = mkEnableOption (lib.mdDoc pkgDesc);
bind = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/duckling.nix b/third_party/nixpkgs/nixos/modules/services/misc/duckling.nix
index 55a87fccf8..4d06ca7fa6 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/duckling.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/duckling.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.duckling = {
- enable = mkEnableOption "duckling";
+ enable = mkEnableOption (lib.mdDoc "duckling");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/dwm-status.nix b/third_party/nixpkgs/nixos/modules/services/misc/dwm-status.nix
index 92705e5515..de3e28c41d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/dwm-status.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/dwm-status.nix
@@ -22,7 +22,7 @@ in
services.dwm-status = {
- enable = mkEnableOption "dwm-status user service";
+ enable = mkEnableOption (lib.mdDoc "dwm-status user service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/etesync-dav.nix b/third_party/nixpkgs/nixos/modules/services/misc/etesync-dav.nix
index 6a755be850..9d99d548d9 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/etesync-dav.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/etesync-dav.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.etesync-dav = {
- enable = mkEnableOption "etesync-dav";
+ enable = mkEnableOption (lib.mdDoc "etesync-dav");
host = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/felix.nix b/third_party/nixpkgs/nixos/modules/services/misc/felix.nix
index 7654ad2844..306d4cf0d7 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/felix.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/felix.nix
@@ -17,7 +17,7 @@ in
services.felix = {
- enable = mkEnableOption "the Apache Felix OSGi service";
+ enable = mkEnableOption (lib.mdDoc "the Apache Felix OSGi service");
bundles = mkOption {
type = types.listOf types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/freeswitch.nix b/third_party/nixpkgs/nixos/modules/services/misc/freeswitch.nix
index 88949bf980..b8b81e5869 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/freeswitch.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/freeswitch.nix
@@ -18,7 +18,7 @@ let
in {
options = {
services.freeswitch = {
- enable = mkEnableOption "FreeSWITCH";
+ enable = mkEnableOption (lib.mdDoc "FreeSWITCH");
enableReload = mkOption {
default = false;
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/fstrim.nix b/third_party/nixpkgs/nixos/modules/services/misc/fstrim.nix
index 83e7ca359b..36b5f9c8cc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/fstrim.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/fstrim.nix
@@ -11,7 +11,7 @@ in {
options = {
services.fstrim = {
- enable = mkEnableOption "periodic SSD TRIM of mounted partitions in background";
+ enable = mkEnableOption (lib.mdDoc "periodic SSD TRIM of mounted partitions in background");
interval = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gammu-smsd.nix b/third_party/nixpkgs/nixos/modules/services/misc/gammu-smsd.nix
index daa0e22e32..72e83a249c 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gammu-smsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gammu-smsd.nix
@@ -53,7 +53,7 @@ in {
options = {
services.gammu-smsd = {
- enable = mkEnableOption "gammu-smsd daemon";
+ enable = mkEnableOption (lib.mdDoc "gammu-smsd daemon");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix b/third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
index 444bd57893..fafe4e3f24 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
@@ -11,9 +11,9 @@ in
options = {
services.geoipupdate = {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
periodic downloading of GeoIP databases using geoipupdate.
- '';
+ '');
interval = lib.mkOption {
type = lib.types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitea.nix b/third_party/nixpkgs/nixos/modules/services/misc/gitea.nix
index f96b4fb6dd..d9dece3343 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -322,14 +322,14 @@ in
};
service = {
- DISABLE_REGISTRATION = mkEnableOption "the registration lock" // {
- description = ''
- By default any user can create an account on this gitea instance.
+ DISABLE_REGISTRATION = mkEnableOption (lib.mdDoc "the registration lock") // {
+ description = lib.mdDoc ''
+ By default any user can create an account on this `gitea` instance.
This can be disabled by using this option.
- Note: please keep in mind that this should be added after the initial
- deploy unless services.gitea.useWizard
- is true as the first registered user will be the administrator if
+ *Note:* please keep in mind that this should be added after the initial
+ deploy unless [](#opt-services.gitea.useWizard)
+ is `true` as the first registered user will be the administrator if
no install wizard is used.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitit.nix b/third_party/nixpkgs/nixos/modules/services/misc/gitit.nix
index f00c03337d..0fafa76b54 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitit.nix
@@ -49,10 +49,10 @@ let
haskellPackages.wreq
]
'';
- description = ''
+ description = lib.mdDoc ''
Extra packages available to ghc when running gitit. The
value must be a function which receives the attrset defined
- in haskellPackages as the sole argument.
+ in {var}`haskellPackages` as the sole argument.
'';
};
@@ -211,7 +211,7 @@ let
templatesDir = mkOption {
type = types.path;
default = gititShared + "/data/templates";
- description = ''
+ description = lib.mdDoc ''
Specifies the path of the directory containing page templates. If it
does not exist, gitit will create it with default templates. Users
may wish to edit the templates to customize the appearance of their
@@ -348,14 +348,14 @@ let
mimeTypesFile = mkOption {
type = types.path;
default = "/etc/mime/types.info";
- description = ''
+ description = lib.mdDoc ''
Specifies the path of a file containing mime type mappings. Each
line of the file should contain two fields, separated by whitespace.
The first field is the mime type, the second is a file extension.
For example:
-
-video/x-ms-wmx wmx
-
+ ```
+ video/x-ms-wmx wmx
+ ```
If the file is not found, some simple defaults will be used.
'';
};
@@ -490,10 +490,10 @@ video/x-ms-wmx wmx
absoluteUrls = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Make wikilinks absolute with respect to the base-url. So, for
example, in a wiki served at the base URL '/wiki', on a page
- Sub/Page, the wikilink '[Cactus]()' will produce a link to
+ Sub/Page, the wikilink `[Cactus]()` will produce a link to
'/wiki/Cactus' if absoluteUrls is true, and a relative link to
'Cactus' (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
index aa2a05900f..e5de3a2b6a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
@@ -168,7 +168,7 @@ let
port = cfg.registry.externalPort;
key = cfg.registry.keyFile;
api_url = "http://${config.services.dockerRegistry.listenAddress}:${toString config.services.dockerRegistry.port}/";
- issuer = "gitlab-issuer";
+ issuer = cfg.registry.issuer;
};
extra = {};
uploads.storage_path = cfg.statePath;
@@ -748,17 +748,15 @@ in {
type = types.int;
default = 2;
apply = x: builtins.toString x;
- description = ''
+ description = lib.mdDoc ''
The number of worker processes Puma should spawn. This
controls the amount of parallel Ruby code can be
- executed. GitLab recommends Number of CPU cores - 1, but at least two.
+ executed. GitLab recommends `Number of CPU cores - 1`, but at least two.
-
-
- Each worker consumes quite a bit of memory, so
- be careful when increasing this.
-
-
+ ::: {.note}
+ Each worker consumes quite a bit of memory, so
+ be careful when increasing this.
+ :::
'';
};
@@ -766,16 +764,14 @@ in {
type = types.int;
default = 0;
apply = x: builtins.toString x;
- description = ''
+ description = lib.mdDoc ''
The minimum number of threads Puma should use per
worker.
-
-
- Each thread consumes memory and contributes to Global VM
- Lock contention, so be careful when increasing this.
-
-
+ ::: {.note}
+ Each thread consumes memory and contributes to Global VM
+ Lock contention, so be careful when increasing this.
+ :::
'';
};
@@ -783,19 +779,17 @@ in {
type = types.int;
default = 4;
apply = x: builtins.toString x;
- description = ''
+ description = lib.mdDoc ''
The maximum number of threads Puma should use per
worker. This limits how many threads Puma will automatically
spawn in response to requests. In contrast to workers,
threads will never be able to run Ruby code in parallel, but
give higher IO parallelism.
-
-
- Each thread consumes memory and contributes to Global VM
- Lock contention, so be careful when increasing this.
-
-
+ ::: {.note}
+ Each thread consumes memory and contributes to Global VM
+ Lock contention, so be careful when increasing this.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitweb.nix b/third_party/nixpkgs/nixos/modules/services/misc/gitweb.nix
index ef20347ee2..aac0dac8a0 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitweb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitweb.nix
@@ -47,7 +47,7 @@ in
$highlight_bin = "${pkgs.highlight}/bin/highlight";
${cfg.extraConfig}
'';
- defaultText = literalDocBook "generated config file";
+ defaultText = literalMD "generated config file";
type = types.path;
readOnly = true;
internal = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/greenclip.nix b/third_party/nixpkgs/nixos/modules/services/misc/greenclip.nix
index 210827ea07..45847af711 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/greenclip.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/greenclip.nix
@@ -7,7 +7,7 @@ let
in {
options.services.greenclip = {
- enable = mkEnableOption "Greenclip daemon";
+ enable = mkEnableOption (lib.mdDoc "Greenclip daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/heisenbridge.nix b/third_party/nixpkgs/nixos/modules/services/misc/heisenbridge.nix
index 486ba512ac..13ba362b33 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/heisenbridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/heisenbridge.nix
@@ -23,7 +23,7 @@ let
in
{
options.services.heisenbridge = {
- enable = mkEnableOption "the Matrix to IRC bridge";
+ enable = mkEnableOption (lib.mdDoc "the Matrix to IRC bridge");
package = mkOption {
type = types.package;
@@ -99,7 +99,7 @@ in
};
};
- identd.enable = mkEnableOption "identd service support";
+ identd.enable = mkEnableOption (lib.mdDoc "identd service support");
identd.port = mkOption {
type = types.port;
description = lib.mdDoc "identd listen port";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ihaskell.nix b/third_party/nixpkgs/nixos/modules/services/misc/ihaskell.nix
index ff5709922e..4782053c4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ihaskell.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ihaskell.nix
@@ -30,10 +30,10 @@ in
haskellPackages.lens
]
'';
- description = ''
+ description = lib.mdDoc ''
Extra packages available to ghc when running ihaskell. The
value must be a function which receives the attrset defined
- in haskellPackages as the sole argument.
+ in {var}`haskellPackages` as the sole argument.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/input-remapper.nix b/third_party/nixpkgs/nixos/modules/services/misc/input-remapper.nix
index f66d714e11..51e1abdc98 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/input-remapper.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/input-remapper.nix
@@ -6,9 +6,9 @@ let cfg = config.services.input-remapper; in
{
options = {
services.input-remapper = {
- enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
+ enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons.");
package = options.mkPackageOption pkgs "input-remapper" { };
- enableUdevRules = mkEnableOption "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140";
+ enableUdevRules = mkEnableOption (lib.mdDoc "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140");
serviceWantedBy = mkOption {
default = [ "graphical.target" ];
example = [ "multi-user.target" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/jackett.nix b/third_party/nixpkgs/nixos/modules/services/misc/jackett.nix
index e8315d1341..b0edf0d18d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/jackett.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/jackett.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.jackett = {
- enable = mkEnableOption "Jackett";
+ enable = mkEnableOption (lib.mdDoc "Jackett");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/jellyfin.nix b/third_party/nixpkgs/nixos/modules/services/misc/jellyfin.nix
index af5256e46d..f49657a075 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/jellyfin.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/jellyfin.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.jellyfin = {
- enable = mkEnableOption "Jellyfin Media Server";
+ enable = mkEnableOption (lib.mdDoc "Jellyfin Media Server");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/klipper.nix b/third_party/nixpkgs/nixos/modules/services/misc/klipper.nix
index 0dadc0c747..9b2f585d3f 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/klipper.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/klipper.nix
@@ -14,7 +14,7 @@ in
##### interface
options = {
services.klipper = {
- enable = mkEnableOption "Klipper, the 3D printer firmware";
+ enable = mkEnableOption (lib.mdDoc "Klipper, the 3D printer firmware");
package = mkOption {
type = types.package;
@@ -76,10 +76,10 @@ in
type = with types; attrsOf
(submodule {
options = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
building of firmware and addition of klipper-flash tools for manual flashing.
This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.
- '';
+ '');
configFile = mkOption {
type = path;
description = lib.mdDoc "Path to firmware config which is generated using `klipper-genconf`";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/languagetool.nix b/third_party/nixpkgs/nixos/modules/services/misc/languagetool.nix
new file mode 100644
index 0000000000..20dc9b6b44
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/misc/languagetool.nix
@@ -0,0 +1,78 @@
+{ config, lib, options, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.languagetool;
+ settingsFormat = pkgs.formats.javaProperties {};
+in {
+ options.services.languagetool = {
+ enable = mkEnableOption (mdDoc "the LanguageTool server");
+
+ port = mkOption {
+ type = types.port;
+ default = 8081;
+ example = 8081;
+ description = mdDoc ''
+ Port on which LanguageTool listens.
+ '';
+ };
+
+ public = mkEnableOption (mdDoc "access from anywhere (rather than just localhost)");
+
+ allowOrigin = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "https://my-website.org";
+ description = mdDoc ''
+ Set the Access-Control-Allow-Origin header in the HTTP response,
+ used for direct (non-proxy) JavaScript-based access from browsers.
+ `null` to allow access from all sites.
+ '';
+ };
+
+ settings = lib.mkOption {
+ type = types.submodule {
+ freeformType = settingsFormat.type;
+
+ options.cacheSize = mkOption {
+ type = types.ints.unsigned;
+ default = 1000;
+ apply = toString;
+ description = mdDoc "Number of sentences cached.";
+ };
+ };
+ default = {};
+ description = mdDoc ''
+ Configuration file options for LanguageTool, see
+ 'languagetool-http-server --help'
+ for supported settings.
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+
+ systemd.services.languagetool = {
+ description = "LanguageTool HTTP server";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+ serviceConfig = {
+ DynamicUser = true;
+ User = "languagetool";
+ Group = "languagetool";
+ CapabilityBoundingSet = [ "" ];
+ RestrictNamespaces = [ "" ];
+ SystemCallFilter = [ "@system-service" "~ @privileged" ];
+ ProtectHome = "yes";
+ ExecStart = ''
+ ${pkgs.languagetool}/bin/languagetool-http-server \
+ --port ${toString cfg.port} \
+ ${optionalString cfg.public "--public"} \
+ ${optionalString (cfg.allowOrigin != null) "--allow-origin ${cfg.allowOrigin}"} \
+ "--configuration" ${settingsFormat.generate "languagetool.conf" cfg.settings}
+ '';
+ };
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/leaps.nix b/third_party/nixpkgs/nixos/modules/services/misc/leaps.nix
index 0308fbfcf4..5522223ecc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/leaps.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/leaps.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.leaps = {
- enable = mkEnableOption "leaps";
+ enable = mkEnableOption (lib.mdDoc "leaps");
port = mkOption {
type = types.port;
default = 8080;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/libreddit.nix b/third_party/nixpkgs/nixos/modules/services/misc/libreddit.nix
index 0359f57c0d..c961d13da4 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/libreddit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/libreddit.nix
@@ -13,7 +13,7 @@ in
{
options = {
services.libreddit = {
- enable = mkEnableOption "Private front-end for Reddit";
+ enable = mkEnableOption (lib.mdDoc "Private front-end for Reddit");
address = mkOption {
default = "0.0.0.0";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/lidarr.nix b/third_party/nixpkgs/nixos/modules/services/misc/lidarr.nix
index d070a7f091..92b00054bd 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/lidarr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/lidarr.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.lidarr = {
- enable = mkEnableOption "Lidarr";
+ enable = mkEnableOption (lib.mdDoc "Lidarr");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/lifecycled.nix b/third_party/nixpkgs/nixos/modules/services/misc/lifecycled.nix
index fc8c77c6ca..fb5cabb4f0 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/lifecycled.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/lifecycled.nix
@@ -25,10 +25,10 @@ in
options = {
services.lifecycled = {
- enable = mkEnableOption "lifecycled";
+ enable = mkEnableOption (lib.mdDoc "lifecycled");
queueCleaner = {
- enable = mkEnableOption "lifecycled-queue-cleaner";
+ enable = mkEnableOption (lib.mdDoc "lifecycled-queue-cleaner");
frequency = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/logkeys.nix b/third_party/nixpkgs/nixos/modules/services/misc/logkeys.nix
index 628f562743..75d073a0c9 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/logkeys.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/logkeys.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.logkeys;
in {
options.services.logkeys = {
- enable = mkEnableOption "logkeys service";
+ enable = mkEnableOption (lib.mdDoc "logkeys service");
device = mkOption {
description = lib.mdDoc "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/mbpfan.nix b/third_party/nixpkgs/nixos/modules/services/misc/mbpfan.nix
index 786ecf2d69..d467aa8797 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/mbpfan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/mbpfan.nix
@@ -10,7 +10,7 @@ let
in {
options.services.mbpfan = {
- enable = mkEnableOption "mbpfan, fan controller daemon for Apple Macs and MacBooks";
+ enable = mkEnableOption (lib.mdDoc "mbpfan, fan controller daemon for Apple Macs and MacBooks");
package = mkOption {
type = types.package;
@@ -38,10 +38,10 @@ in {
options.general.min_fan1_speed = mkOption {
type = types.nullOr types.int;
default = 2000;
- description = ''
+ description = lib.mdDoc ''
You can check minimum and maximum fan limits with
- "cat /sys/devices/platform/applesmc.768/fan*_min" and
- "cat /sys/devices/platform/applesmc.768/fan*_max" respectively.
+ `cat /sys/devices/platform/applesmc.768/fan*_min` and
+ `cat /sys/devices/platform/applesmc.768/fan*_max` respectively.
Setting to null implies using default value from applesmc.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/metabase.nix b/third_party/nixpkgs/nixos/modules/services/misc/metabase.nix
index 26c48c0503..883fa0b959 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/metabase.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/metabase.nix
@@ -13,7 +13,7 @@ in {
options = {
services.metabase = {
- enable = mkEnableOption "Metabase service";
+ enable = mkEnableOption (lib.mdDoc "Metabase service");
listen = {
ip = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/moonraker.nix b/third_party/nixpkgs/nixos/modules/services/misc/moonraker.nix
index 5b4e4bd34d..f3c78df0cc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/moonraker.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/moonraker.nix
@@ -14,7 +14,7 @@ let
in {
options = {
services.moonraker = {
- enable = mkEnableOption "Moonraker, an API web server for Klipper";
+ enable = mkEnableOption (lib.mdDoc "Moonraker, an API web server for Klipper");
klipperSocket = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix b/third_party/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
index 18b083b99b..33a6c8f26a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
@@ -12,10 +12,10 @@ let
in {
options = {
services.mx-puppet-discord = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
mx-puppet-discord is a discord puppeting bridge for matrix.
It handles bridging private and group DMs, as well as Guilds (servers)
- '';
+ '');
settings = mkOption rec {
apply = recursiveUpdate default;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/n8n.nix b/third_party/nixpkgs/nixos/modules/services/misc/n8n.nix
index 40a262116c..f59df471e1 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/n8n.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/n8n.nix
@@ -10,7 +10,7 @@ in
{
options.services.n8n = {
- enable = mkEnableOption "n8n server";
+ enable = mkEnableOption (lib.mdDoc "n8n server");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/nitter.nix b/third_party/nixpkgs/nixos/modules/services/misc/nitter.nix
index e6cf69d235..95394d9d21 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/nitter.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/nitter.nix
@@ -47,7 +47,7 @@ in
{
options = {
services.nitter = {
- enable = mkEnableOption "If enabled, start Nitter.";
+ enable = mkEnableOption (lib.mdDoc "If enabled, start Nitter.");
package = mkOption {
default = pkgs.nitter;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/nix-daemon.nix b/third_party/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
index 2738d2ee6c..e8d2bccdbf 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
@@ -231,10 +231,10 @@ in
type = types.nullOr types.str;
default = null;
example = "x86_64-linux";
- description = ''
+ description = lib.mdDoc ''
The system type the build machine can execute derivations on.
- Either this attribute or systems must be
- present, where system takes precedence if
+ Either this attribute or {var}`systems` must be
+ present, where {var}`system` takes precedence if
both are set.
'';
};
@@ -242,10 +242,10 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "x86_64-linux" "aarch64-linux" ];
- description = ''
+ description = lib.mdDoc ''
The system types the build machine can execute derivations on.
- Either this attribute or system must be
- present, where system takes precedence if
+ Either this attribute or {var}`system` must be
+ present, where {var}`system` takes precedence if
both are set.
'';
};
@@ -297,11 +297,11 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "big-parallel" ];
- description = ''
+ description = lib.mdDoc ''
A list of features mandatory for this builder. The builder will
be ignored for derivations that don't require all features in
this list. All mandatory features are automatically included in
- supportedFeatures.
+ {var}`supportedFeatures`.
'';
};
supportedFeatures = mkOption {
@@ -340,7 +340,7 @@ in
type = types.attrs;
internal = true;
default = { };
- description = "Environment variables used by Nix.";
+ description = lib.mdDoc "Environment variables used by Nix.";
};
nrBuildUsers = mkOption {
@@ -430,13 +430,14 @@ in
};
config = {
from = mkDefault { type = "indirect"; id = name; };
- to = mkIf (config.flake != null) (mkDefault
+ to = mkIf (config.flake != null) (mkDefault (
{
type = "path";
path = config.flake.outPath;
} // filterAttrs
- (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
- config.flake);
+ (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
+ config.flake
+ ));
};
}
));
@@ -627,17 +628,17 @@ in
sandbox-paths = { "/bin/sh" = "''${pkgs.busybox-sandbox-shell.out}/bin/busybox"; };
}
'';
- description = ''
+ description = lib.mdDoc ''
Configuration for Nix, see
- or
- nix.conf5 for avalaible options.
+ or
+ {manpage}`nix.conf(5)` for avalaible options.
The value declared here will be translated directly to the key-value pairs Nix expects.
- You can use nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.nix.settings
+ You can use {command}`nix-instantiate --eval --strict '' -A config.nix.settings`
to view the current value. By default it is empty.
- Nix configurations defined under will be translated and applied to this
- option. In addition, configuration specified in which will be appended
+ Nix configurations defined under {option}`nix.*` will be translated and applied to this
+ option. In addition, configuration specified in {option}`nix.extraOptions` which will be appended
verbatim to the resulting config file.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/novacomd.nix b/third_party/nixpkgs/nixos/modules/services/misc/novacomd.nix
index 7cfc68d2b6..bde8328d46 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/novacomd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/novacomd.nix
@@ -10,7 +10,7 @@ in {
options = {
services.novacomd = {
- enable = mkEnableOption "Novacom service for connecting to WebOS devices";
+ enable = mkEnableOption (lib.mdDoc "Novacom service for connecting to WebOS devices");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/nzbget.nix b/third_party/nixpkgs/nixos/modules/services/misc/nzbget.nix
index ddcb16e135..d02fda62fa 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/nzbget.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/nzbget.nix
@@ -25,7 +25,7 @@ in
options = {
services.nzbget = {
- enable = mkEnableOption "NZBGet";
+ enable = mkEnableOption (lib.mdDoc "NZBGet");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/nzbhydra2.nix b/third_party/nixpkgs/nixos/modules/services/misc/nzbhydra2.nix
index b728ca248c..47d08135f5 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/nzbhydra2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/nzbhydra2.nix
@@ -7,7 +7,7 @@ let cfg = config.services.nzbhydra2;
in {
options = {
services.nzbhydra2 = {
- enable = mkEnableOption "NZBHydra2";
+ enable = mkEnableOption (lib.mdDoc "NZBHydra2");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/octoprint.nix b/third_party/nixpkgs/nixos/modules/services/misc/octoprint.nix
index 071174c141..196adb180a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/octoprint.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/octoprint.nix
@@ -29,7 +29,7 @@ in
services.octoprint = {
- enable = mkEnableOption "OctoPrint, web interface for 3D printers";
+ enable = mkEnableOption (lib.mdDoc "OctoPrint, web interface for 3D printers");
host = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix b/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix
index 51cfb05d35..8bf6a9b116 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix
@@ -7,11 +7,11 @@ let cfg = config.services.ombi;
in {
options = {
services.ombi = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Ombi.
- Optionally see
+ Optionally see
on how to set up a reverse proxy
- '';
+ '');
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/owncast.nix b/third_party/nixpkgs/nixos/modules/services/misc/owncast.nix
index 23c49d1c11..01fe34cf50 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/owncast.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/owncast.nix
@@ -5,7 +5,7 @@ in {
options.services.owncast = {
- enable = mkEnableOption "owncast";
+ enable = mkEnableOption (lib.mdDoc "owncast");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/packagekit.nix b/third_party/nixpkgs/nixos/modules/services/misc/packagekit.nix
index 04150ef76f..f3e6bf50e9 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/packagekit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/packagekit.nix
@@ -39,11 +39,11 @@ in
];
options.services.packagekit = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
PackageKit provides a cross-platform D-Bus abstraction layer for
installing software. Software utilizing PackageKit can install
software regardless of the package manager.
- '';
+ '');
settings = mkOption {
type = iniFmt.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/paperless.nix b/third_party/nixpkgs/nixos/modules/services/misc/paperless.nix
index fbf1338a0d..0a62af95f8 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/paperless.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/paperless.nix
@@ -3,6 +3,7 @@
with lib;
let
cfg = config.services.paperless;
+ pkg = cfg.package;
defaultUser = "paperless";
@@ -17,15 +18,17 @@ let
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
} // (
lib.mapAttrs (_: toString) cfg.extraConfig
- ) // (optionalAttrs enableRedis {
+ ) // optionalAttrs (config.time.timeZone != null) {
+ PAPERLESS_TIME_ZONE = lib.mkDefault config.time.timeZone;
+ } // optionalAttrs enableRedis {
PAPERLESS_REDIS = "unix://${redisServer.unixSocket}";
- });
+ };
manage = let
setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
in pkgs.writeShellScript "manage" ''
${setupEnv}
- exec ${cfg.package}/bin/paperless-ngx "$@"
+ exec ${pkg}/bin/paperless-ngx "$@"
'';
# Secure the services
@@ -174,11 +177,10 @@ in
See [the documentation](https://paperless-ngx.readthedocs.io/en/latest/configuration.html)
for available options.
'';
- example = literalExpression ''
- {
- PAPERLESS_OCR_LANGUAGE = "deu+eng";
- }
- '';
+ example = {
+ PAPERLESS_OCR_LANGUAGE = "deu+eng";
+ PAPERLESS_DBHOST = "/run/postgresql";
+ };
};
user = mkOption {
@@ -212,7 +214,7 @@ in
description = "Paperless scheduler";
serviceConfig = defaultServiceConfig // {
User = cfg.user;
- ExecStart = "${cfg.package}/bin/paperless-ngx qcluster";
+ ExecStart = "${pkg}/bin/paperless-ngx qcluster";
Restart = "on-failure";
# The `mbind` syscall is needed for running the classifier.
SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
@@ -228,9 +230,9 @@ in
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
- if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then
- ${cfg.package}/bin/paperless-ngx migrate
- echo ${cfg.package} > "$versionFile"
+ if [[ $(cat "$versionFile" 2>/dev/null) != ${pkg} ]]; then
+ ${pkg}/bin/paperless-ngx migrate
+ echo ${pkg} > "$versionFile"
fi
''
+ optionalString (cfg.passwordFile != null) ''
@@ -240,7 +242,7 @@ in
superuserStateFile="${cfg.dataDir}/superuser-state"
if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then
- ${cfg.package}/bin/paperless-ngx manage_superuser
+ ${pkg}/bin/paperless-ngx manage_superuser
echo "$superuserState" > "$superuserStateFile"
fi
'';
@@ -265,7 +267,7 @@ in
description = "Paperless document consumer";
serviceConfig = defaultServiceConfig // {
User = cfg.user;
- ExecStart = "${cfg.package}/bin/paperless-ngx document_consumer";
+ ExecStart = "${pkg}/bin/paperless-ngx document_consumer";
Restart = "on-failure";
};
environment = env;
@@ -281,20 +283,21 @@ in
User = cfg.user;
ExecStart = ''
${pkgs.python3Packages.gunicorn}/bin/gunicorn \
- -c ${cfg.package}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
+ -c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
'';
Restart = "on-failure";
- AmbientCapabilities = "CAP_NET_BIND_SERVICE";
- CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
- # gunicorn needs setuid
- SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid" ];
+ # gunicorn needs setuid, liblapack needs mbind
+ SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid mbind" ];
# Needs to serve web page
PrivateNetwork = false;
+ } // lib.optionalAttrs (cfg.port < 1024) {
+ AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+ CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
};
environment = env // {
- PATH = mkForce cfg.package.path;
- PYTHONPATH = "${cfg.package.pythonPath}:${cfg.package}/lib/paperless-ngx/src";
+ PATH = mkForce pkg.path;
+ PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src";
};
# Allow the web interface to access the private /tmp directory of the server.
# This is required to support uploading files via the web interface.
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/persistent-evdev.nix b/third_party/nixpkgs/nixos/modules/services/misc/persistent-evdev.nix
index fd6e298ef6..b1f367fec7 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/persistent-evdev.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/persistent-evdev.nix
@@ -11,21 +11,21 @@ let
in
{
options.services.persistent-evdev = {
- enable = lib.mkEnableOption "virtual input devices that persist even if the backing device is hotplugged";
+ enable = lib.mkEnableOption (lib.mdDoc "virtual input devices that persist even if the backing device is hotplugged");
devices = lib.mkOption {
default = {};
type = with lib.types; attrsOf str;
- description = ''
+ description = lib.mdDoc ''
A set of virtual proxy device labels with backing physical device ids.
- Physical devices should already exist in /dev/input/by-id/.
- Proxy devices will be automatically given a uinput- prefix.
+ Physical devices should already exist in {file}`/dev/input/by-id/`.
+ Proxy devices will be automatically given a `uinput-` prefix.
- See the project page
+ See the [project page](https://github.com/aiberia/persistent-evdev#example-usage-with-libvirt)
for example configuration of virtual devices with libvirt
- and remember to add uinput-* devices to the qemu
- cgroup_device_acl list (see ).
+ and remember to add `uinput-*` devices to the qemu
+ `cgroup_device_acl` list (see [](#opt-virtualisation.libvirtd.qemu.verbatimConfig)).
'';
example = lib.literalExpression ''
{
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/pinnwand.nix b/third_party/nixpkgs/nixos/modules/services/misc/pinnwand.nix
index 4eda25b4eb..2947698611 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/pinnwand.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/pinnwand.nix
@@ -10,7 +10,7 @@ let
in
{
options.services.pinnwand = {
- enable = mkEnableOption "Pinnwand";
+ enable = mkEnableOption (lib.mdDoc "Pinnwand");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/plex.nix b/third_party/nixpkgs/nixos/modules/services/misc/plex.nix
index cb41bbb54b..7fc76028c0 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/plex.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/plex.nix
@@ -12,7 +12,7 @@ in
options = {
services.plex = {
- enable = mkEnableOption "Plex Media Server";
+ enable = mkEnableOption (lib.mdDoc "Plex Media Server");
dataDir = mkOption {
type = types.str;
@@ -134,6 +134,7 @@ in
ExecStart = "${cfg.package}/bin/plexmediaserver";
KillSignal = "SIGQUIT";
+ PIDFile = "${cfg.dataDir}/Plex Media Server/plexmediaserver.pid";
Restart = "on-failure";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/plikd.nix b/third_party/nixpkgs/nixos/modules/services/misc/plikd.nix
index 9ae9e064fd..9b0825bf40 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/plikd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/plikd.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.plikd = {
- enable = mkEnableOption "the plikd server";
+ enable = mkEnableOption (lib.mdDoc "the plikd server");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/podgrab.nix b/third_party/nixpkgs/nixos/modules/services/misc/podgrab.nix
index 590309ace7..10c7bc96b8 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/podgrab.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/podgrab.nix
@@ -4,7 +4,7 @@ let
in
{
options.services.podgrab = with lib; {
- enable = mkEnableOption "Podgrab, a self-hosted podcast manager";
+ enable = mkEnableOption (lib.mdDoc "Podgrab, a self-hosted podcast manager");
passwordFile = mkOption {
type = with types; nullOr str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/polaris.nix b/third_party/nixpkgs/nixos/modules/services/misc/polaris.nix
index b5f7f17e66..83da486083 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/polaris.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/polaris.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.polaris = {
- enable = mkEnableOption "Polaris Music Server";
+ enable = mkEnableOption (lib.mdDoc "Polaris Music Server");
package = mkPackageOption pkgs "polaris" { };
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/portunus.nix b/third_party/nixpkgs/nixos/modules/services/misc/portunus.nix
index a2247272fa..9e34b25e45 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/portunus.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/portunus.nix
@@ -8,18 +8,18 @@ let
in
{
options.services.portunus = {
- enable = mkEnableOption "Portunus, a self-contained user/group management and authentication service for LDAP";
+ enable = mkEnableOption (lib.mdDoc "Portunus, a self-contained user/group management and authentication service for LDAP");
domain = mkOption {
type = types.str;
example = "sso.example.com";
- description = "Subdomain which gets reverse proxied to Portunus webserver.";
+ description = lib.mdDoc "Subdomain which gets reverse proxied to Portunus webserver.";
};
port = mkOption {
type = types.port;
default = 8080;
- description = ''
+ description = lib.mdDoc ''
Port where the Portunus webserver should listen on.
This must be put behind a TLS-capable reverse proxy because Portunus only listens on localhost.
@@ -30,55 +30,55 @@ in
type = types.package;
default = pkgs.portunus;
defaultText = "pkgs.portunus";
- description = "The Portunus package to use.";
+ description = lib.mdDoc "The Portunus package to use.";
};
seedPath = mkOption {
type = types.nullOr types.path;
default = null;
- description = ''
+ description = lib.mdDoc ''
Path to a portunus seed file in json format.
- See for available options.
+ See for available options.
'';
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/portunus";
- description = "Path where Portunus stores its state.";
+ description = lib.mdDoc "Path where Portunus stores its state.";
};
user = mkOption {
type = types.str;
default = "portunus";
- description = "User account under which Portunus runs its webserver.";
+ description = lib.mdDoc "User account under which Portunus runs its webserver.";
};
group = mkOption {
type = types.str;
default = "portunus";
- description = "Group account under which Portunus runs its webserver.";
+ description = lib.mdDoc "Group account under which Portunus runs its webserver.";
};
dex = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Dex ldap connector.
To activate dex, first a search user must be created in the Portunus web ui
- and then the password must to be set as the DEX_SEARCH_USER_PASSWORD environment variable
- in the setting.
- '';
+ and then the password must to be set as the `DEX_SEARCH_USER_PASSWORD` environment variable
+ in the [](#opt-services.dex.environmentFile) setting.
+ '');
oidcClients = mkOption {
type = types.listOf (types.submodule {
options = {
callbackURL = mkOption {
type = types.str;
- description = "URL where the OIDC client should redirect";
+ description = lib.mdDoc "URL where the OIDC client should redirect";
};
id = mkOption {
type = types.str;
- description = "ID of the OIDC client";
+ description = lib.mdDoc "ID of the OIDC client";
};
};
});
@@ -89,18 +89,18 @@ in
id = "service";
}
];
- description = ''
+ description = lib.mdDoc ''
List of OIDC clients.
- The OIDC secret must be set as the DEX_CLIENT_''${id} environment variable
- in the setting.
+ The OIDC secret must be set as the `DEX_CLIENT_''${id}` environment variable
+ in the [](#opt-services.dex.environmentFile) setting.
'';
};
port = mkOption {
type = types.port;
default = 5556;
- description = "Port where dex should listen on.";
+ description = lib.mdDoc "Port where dex should listen on.";
};
};
@@ -109,14 +109,14 @@ in
type = types.package;
default = pkgs.openldap;
defaultText = "pkgs.openldap";
- description = "The OpenLDAP package to use.";
+ description = lib.mdDoc "The OpenLDAP package to use.";
};
searchUserName = mkOption {
type = types.str;
default = "";
example = "admin";
- description = ''
+ description = lib.mdDoc ''
The login name of the search user.
This user account must be configured in Portunus either manually or via seeding.
'';
@@ -125,7 +125,7 @@ in
suffix = mkOption {
type = types.str;
example = "dc=example,dc=org";
- description = ''
+ description = lib.mdDoc ''
The DN of the topmost entry in your LDAP directory.
Please refer to the Portunus documentation for more information on how this impacts the structure of the LDAP directory.
'';
@@ -134,25 +134,25 @@ in
tls = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Wether to enable LDAPS protocol.
- This also adds two entries to the /etc/hosts file to point to localhost,
+ This also adds two entries to the `/etc/hosts` file to point [](#opt-services.portunus.domain) to localhost,
so that CLIs and programs can use ldaps protocol and verify the certificate without opening the firewall port for the protocol.
- This requires a TLS certificate for to be configured via .
+ This requires a TLS certificate for [](#opt-services.portunus.domain) to be configured via [](#opt-security.acme.certs).
'';
};
user = mkOption {
type = types.str;
default = "openldap";
- description = "User account under which Portunus runs its LDAP server.";
+ description = lib.mdDoc "User account under which Portunus runs its LDAP server.";
};
group = mkOption {
type = types.str;
default = "openldap";
- description = "Group account under which Portunus runs its LDAP server.";
+ description = lib.mdDoc "Group account under which Portunus runs its LDAP server.";
};
};
};
@@ -284,5 +284,5 @@ in
];
};
- meta.maintainers = [ majewsky ] ++ teams.c3d2.members;
+ meta.maintainers = [ maintainers.majewsky ] ++ teams.c3d2.members;
}
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/prowlarr.nix b/third_party/nixpkgs/nixos/modules/services/misc/prowlarr.nix
index 6152ee4a76..77b8ec9894 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/prowlarr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/prowlarr.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.prowlarr = {
- enable = mkEnableOption "Prowlarr";
+ enable = mkEnableOption (lib.mdDoc "Prowlarr");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/radarr.nix b/third_party/nixpkgs/nixos/modules/services/misc/radarr.nix
index a2d7b734f7..834b092c0d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/radarr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/radarr.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.radarr = {
- enable = mkEnableOption "Radarr";
+ enable = mkEnableOption (lib.mdDoc "Radarr");
package = mkOption {
description = lib.mdDoc "Radarr package to use";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/redmine.nix b/third_party/nixpkgs/nixos/modules/services/misc/redmine.nix
index 13b62f4355..5fd7e79230 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/redmine.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/redmine.nix
@@ -49,7 +49,7 @@ in
# interface
options = {
services.redmine = {
- enable = mkEnableOption "Redmine";
+ enable = mkEnableOption (lib.mdDoc "Redmine");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix b/third_party/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
index 7d8a4cb2b4..2663d73498 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ripple-data-api.nix
@@ -35,7 +35,7 @@ let
in {
options = {
services.rippleDataApi = {
- enable = mkEnableOption "ripple data api";
+ enable = mkEnableOption (lib.mdDoc "ripple data api");
port = mkOption {
description = lib.mdDoc "Ripple data api port";
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/rippled.nix b/third_party/nixpkgs/nixos/modules/services/misc/rippled.nix
index 8b6704c1be..a3ba3dd2c3 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/rippled.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/rippled.nix
@@ -207,7 +207,7 @@ in
options = {
services.rippled = {
- enable = mkEnableOption "rippled";
+ enable = mkEnableOption (lib.mdDoc "rippled");
package = mkOption {
description = lib.mdDoc "Which rippled package to use.";
@@ -375,7 +375,7 @@ in
};
statsd = {
- enable = mkEnableOption "statsd monitoring for rippled";
+ enable = mkEnableOption (lib.mdDoc "statsd monitoring for rippled");
address = mkOption {
description = lib.mdDoc "The UDP address and port of the listening StatsD server.";
@@ -401,7 +401,7 @@ in
config = mkOption {
internal = true;
default = pkgs.writeText "rippled.conf" rippledCfg;
- defaultText = literalDocBook "generated config file";
+ defaultText = literalMD "generated config file";
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix b/third_party/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix
index c1b5291ce2..25857c173b 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix
@@ -9,7 +9,7 @@ let
in {
options = {
services.rmfakecloud = {
- enable = mkEnableOption "rmfakecloud remarkable self-hosted cloud";
+ enable = mkEnableOption (lib.mdDoc "rmfakecloud remarkable self-hosted cloud");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/safeeyes.nix b/third_party/nixpkgs/nixos/modules/services/misc/safeeyes.nix
index 638218d8bb..e1172d6ff5 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/safeeyes.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/safeeyes.nix
@@ -16,7 +16,7 @@ in
services.safeeyes = {
- enable = mkEnableOption "the safeeyes OSGi service";
+ enable = mkEnableOption (lib.mdDoc "the safeeyes OSGi service");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sdrplay.nix b/third_party/nixpkgs/nixos/modules/services/misc/sdrplay.nix
index 2801108f08..2d5333e388 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sdrplay.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sdrplay.nix
@@ -5,13 +5,13 @@ with lib;
enable = mkOption {
default = false;
example = true;
- description = ''
+ description = lib.mdDoc ''
Whether to enable the SDRplay API service and udev rules.
-
- To enable integration with SoapySDR and GUI applications like gqrx create an overlay containing
- soapysdr-with-plugins = super.soapysdr.override { extraPackages = [ super.soapysdrplay ]; };
-
+ ::: {.note}
+ To enable integration with SoapySDR and GUI applications like gqrx create an overlay containing
+ `soapysdr-with-plugins = super.soapysdr.override { extraPackages = [ super.soapysdrplay ]; };`
+ :::
'';
type = lib.types.bool;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/signald.nix b/third_party/nixpkgs/nixos/modules/services/misc/signald.nix
index 8a1d2c4ad3..32ba154506 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/signald.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/signald.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.signald = {
- enable = mkEnableOption "the signald service";
+ enable = mkEnableOption (lib.mdDoc "the signald service");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sonarr.nix b/third_party/nixpkgs/nixos/modules/services/misc/sonarr.nix
index a956a14d00..5a5c9b5aaa 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sonarr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sonarr.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.sonarr = {
- enable = mkEnableOption "Sonarr";
+ enable = mkEnableOption (lib.mdDoc "Sonarr");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix b/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
index 113c53f739..dd0e016a1d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
@@ -67,7 +67,7 @@ let
type = types.str;
default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
};
- migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; };
+ migrate-on-upgrade = mkEnableOption (lib.mdDoc "automatic migrations on package upgrade") // { default = true; };
oauth-client-id = mkOption {
description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
type = types.str;
@@ -108,10 +108,10 @@ let
in
{
options.services.sourcehut = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
sourcehut - git hosting, continuous integration, mailing list, ticket tracking,
task dispatching, wiki and account management services
- '';
+ '');
services = mkOption {
type = with types; listOf (enum
@@ -132,18 +132,18 @@ in
internal = true;
type = types.package;
default = python;
- description = ''
+ description = lib.mdDoc ''
The python package to use. It should contain references to the *srht modules and also
gunicorn.
'';
};
minio = {
- enable = mkEnableOption ''local minio integration'';
+ enable = mkEnableOption (lib.mdDoc ''local minio integration'');
};
nginx = {
- enable = mkEnableOption ''local nginx integration'';
+ enable = mkEnableOption (lib.mdDoc ''local nginx integration'');
virtualHost = mkOption {
type = types.attrs;
default = {};
@@ -152,15 +152,15 @@ in
};
postfix = {
- enable = mkEnableOption ''local postfix integration'';
+ enable = mkEnableOption (lib.mdDoc ''local postfix integration'');
};
postgresql = {
- enable = mkEnableOption ''local postgresql integration'';
+ enable = mkEnableOption (lib.mdDoc ''local postgresql integration'');
};
redis = {
- enable = mkEnableOption ''local redis integration in a dedicated redis-server'';
+ enable = mkEnableOption (lib.mdDoc ''local redis integration in a dedicated redis-server'');
};
settings = mkOption {
@@ -308,7 +308,7 @@ in
oauth-client-secret = mkOptionNullOrStr "OAuth client secret.";
};
options."dispatch.sr.ht::gitlab" = {
- enabled = mkEnableOption "GitLab integration";
+ enabled = mkEnableOption (lib.mdDoc "GitLab integration");
canonical-upstream = mkOption {
type = types.str;
description = lib.mdDoc "Canonical upstream.";
@@ -328,7 +328,7 @@ in
};
options."builds.sr.ht" = commonServiceSettings "builds" // {
- allow-free = mkEnableOption "nonpaying users to submit builds";
+ allow-free = mkEnableOption (lib.mdDoc "nonpaying users to submit builds");
redis = mkOption {
description = lib.mdDoc "The Redis connection used for the Celery worker.";
type = types.str;
@@ -465,7 +465,7 @@ in
};
options."lists.sr.ht" = commonServiceSettings "lists" // {
- allow-new-lists = mkEnableOption "Allow creation of new lists.";
+ allow-new-lists = mkEnableOption (lib.mdDoc "Allow creation of new lists.");
notify-from = mkOption {
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
@@ -539,7 +539,7 @@ in
type = types.str;
default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
};
- welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup";
+ welcome-emails = mkEnableOption (lib.mdDoc "sending stock sourcehut welcome emails after signup");
};
options."meta.sr.ht::api" = {
internal-ipnet = mkOption {
@@ -560,7 +560,7 @@ in
example = { "git.sr.ht" = 12345; };
};
options."meta.sr.ht::billing" = {
- enabled = mkEnableOption "the billing system";
+ enabled = mkEnableOption (lib.mdDoc "the billing system");
stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys";
stripe-secret-key = mkOptionNullOrStr ''
An absolute file path (which should be outside the Nix-store)
@@ -570,7 +570,7 @@ in
};
};
options."meta.sr.ht::settings" = {
- registration = mkEnableOption "public registration";
+ registration = mkEnableOption (lib.mdDoc "public registration");
onboarding-redirect = mkOption {
description = lib.mdDoc "Where to redirect new users upon registration.";
type = types.str;
@@ -601,9 +601,9 @@ in
default = 1024;
};
user-domain = mkOption {
- description = ''
+ description = lib.mdDoc ''
Configures the user domain, if enabled.
- All users are given <username>.this.domain.
+ All users are given \.this.domain.
'';
type = with types; nullOr str;
default = null;
@@ -668,17 +668,17 @@ in
};
builds = {
- enableWorker = mkEnableOption ''
+ enableWorker = mkEnableOption (lib.mdDoc ''
worker for builds.sr.ht
-
+ ::: {.warning}
For smaller deployments, job runners can be installed alongside the master server
but even if you only build your own software, integration with other services
may cause you to run untrusted builds
(e.g. automatic testing of patches via listssrht).
- See .
-
- '';
+ See .
+ :::
+ '');
images = mkOption {
type = with types; attrsOf (attrsOf (attrsOf package));
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix b/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
index 243a9cef59..37a439ee35 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
@@ -117,7 +117,7 @@ let
in
{
options.services.sourcehut.${srv} = {
- enable = mkEnableOption "${srv} service";
+ enable = mkEnableOption (lib.mdDoc "${srv} service");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/spice-vdagentd.nix b/third_party/nixpkgs/nixos/modules/services/misc/spice-vdagentd.nix
index 2dd9fcf68a..bde64847d8 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/spice-vdagentd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/spice-vdagentd.nix
@@ -7,7 +7,7 @@ in
{
options = {
services.spice-vdagentd = {
- enable = mkEnableOption "Spice guest vdagent daemon";
+ enable = mkEnableOption (lib.mdDoc "Spice guest vdagent daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/spice-webdavd.nix b/third_party/nixpkgs/nixos/modules/services/misc/spice-webdavd.nix
index bfb5b262ee..6c817e429a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/spice-webdavd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/spice-webdavd.nix
@@ -7,13 +7,13 @@ in
{
options = {
services.spice-webdavd = {
- enable = mkEnableOption "the spice guest webdav proxy daemon";
+ enable = mkEnableOption (lib.mdDoc "the spice guest webdav proxy daemon");
package = mkOption {
default = pkgs.phodav;
defaultText = literalExpression "pkgs.phodav";
type = types.package;
- description = "spice-webdavd provider package to use.";
+ description = lib.mdDoc "spice-webdavd provider package to use.";
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ssm-agent.nix b/third_party/nixpkgs/nixos/modules/services/misc/ssm-agent.nix
index 5f2b47bae4..d1f371c2bd 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/ssm-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ssm-agent.nix
@@ -17,7 +17,7 @@ let
'';
in {
options.services.ssm-agent = {
- enable = mkEnableOption "AWS SSM agent";
+ enable = mkEnableOption (lib.mdDoc "AWS SSM agent");
package = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sssd.nix b/third_party/nixpkgs/nixos/modules/services/misc/sssd.nix
index 60d4a799d5..edd5750a4a 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sssd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sssd.nix
@@ -10,7 +10,7 @@ let
in {
options = {
services.sssd = {
- enable = mkEnableOption "the System Security Services Daemon";
+ enable = mkEnableOption (lib.mdDoc "the System Security Services Daemon");
config = mkOption {
type = types.lines;
@@ -54,25 +54,23 @@ in {
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
- description = ''
- Environment file as defined in
- systemd.exec5
- .
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the world-readable
Nix store, by specifying placeholder variables as the option value in Nix and
setting these variables accordingly in the environment file.
-
+ ```
# snippet of sssd-related config
[domain/LDAP]
ldap_default_authtok = $SSSD_LDAP_DEFAULT_AUTHTOK
-
+ ```
-
+ ```
# contents of the environment file
SSSD_LDAP_DEFAULT_AUTHTOK=verysecretpassword
-
+ ```
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/subsonic.nix b/third_party/nixpkgs/nixos/modules/services/misc/subsonic.nix
index d657ae2b99..0862d57825 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/subsonic.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/subsonic.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.subsonic = {
- enable = mkEnableOption "Subsonic daemon";
+ enable = mkEnableOption (lib.mdDoc "Subsonic daemon");
home = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sundtek.nix b/third_party/nixpkgs/nixos/modules/services/misc/sundtek.nix
index e3234518c9..e85d7c5b92 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sundtek.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sundtek.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.sundtek = {
- enable = mkEnableOption "Sundtek driver";
+ enable = mkEnableOption (lib.mdDoc "Sundtek driver");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/synergy.nix b/third_party/nixpkgs/nixos/modules/services/misc/synergy.nix
index c02d80b35c..e630992f79 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/synergy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/synergy.nix
@@ -19,7 +19,7 @@ in
# !!! All these option descriptions needs to be cleaned up.
client = {
- enable = mkEnableOption "the Synergy client (receive keyboard and mouse events from a Synergy server)";
+ enable = mkEnableOption (lib.mdDoc "the Synergy client (receive keyboard and mouse events from a Synergy server)");
screenName = mkOption {
default = "";
@@ -45,7 +45,7 @@ in
};
server = {
- enable = mkEnableOption "the Synergy server (send keyboard and mouse events)";
+ enable = mkEnableOption (lib.mdDoc "the Synergy server (send keyboard and mouse events)");
configFile = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/sysprof.nix b/third_party/nixpkgs/nixos/modules/services/misc/sysprof.nix
index ab91a8b586..25c5b0fabf 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/sysprof.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/sysprof.nix
@@ -3,7 +3,7 @@
{
options = {
services.sysprof = {
- enable = lib.mkEnableOption "sysprof profiling daemon";
+ enable = lib.mkEnableOption (lib.mdDoc "sysprof profiling daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/taskserver/default.nix b/third_party/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
index ad4ab93a87..aeefd657f4 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
@@ -10,10 +10,12 @@ let
mkManualPkiOption = desc: mkOption {
type = types.nullOr types.path;
default = null;
- description = desc + ''
-
+ description = lib.mdDoc ''
+ ${desc}
+
+ ::: {.note}
Setting this option will prevent automatic CA creation and handling.
-
+ :::
'';
};
@@ -35,13 +37,13 @@ let
'';
};
- mkAutoDesc = preamble: ''
+ mkAutoDesc = preamble: lib.mdDoc ''
${preamble}
-
+ ::: {.note}
This option is for the automatically handled CA and will be ignored if any
- of the options are set.
-
+ of the {option}`services.taskserver.pki.manual.*` options are set.
+ :::
'';
mkExpireOption = desc: mkOption {
@@ -50,7 +52,7 @@ let
example = 365;
apply = val: if val == null then -1 else val;
description = mkAutoDesc ''
- The expiration time of ${desc} in days or null for no
+ The expiration time of ${desc} in days or `null` for no
expiration time.
'';
};
@@ -140,11 +142,11 @@ in {
default = false;
description = let
url = "https://nixos.org/manual/nixos/stable/index.html#module-services-taskserver";
- in ''
+ in lib.mdDoc ''
Whether to enable the Taskwarrior server.
More instructions about NixOS in conjuction with Taskserver can be
- found in the NixOS manual.
+ found [in the NixOS manual](${url}).
'';
};
@@ -172,9 +174,9 @@ in {
example = "NORMAL:-VERS-SSL3.0";
description = let
url = "https://gnutls.org/manual/html_node/Priority-Strings.html";
- in ''
+ in lib.mdDoc ''
List of GnuTLS ciphers to use. See the GnuTLS documentation about
- priority strings at for full details.
+ priority strings at <${url}> for full details.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/tautulli.nix b/third_party/nixpkgs/nixos/modules/services/misc/tautulli.nix
index 78f9429c9a..0efd0839bc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/tautulli.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/tautulli.nix
@@ -12,7 +12,7 @@ in
options = {
services.tautulli = {
- enable = mkEnableOption "Tautulli Plex Monitor";
+ enable = mkEnableOption (lib.mdDoc "Tautulli Plex Monitor");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/tiddlywiki.nix b/third_party/nixpkgs/nixos/modules/services/misc/tiddlywiki.nix
index 7052be23d7..849f53ca2d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/tiddlywiki.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/tiddlywiki.nix
@@ -14,7 +14,7 @@ in {
options.services.tiddlywiki = {
- enable = mkEnableOption "TiddlyWiki nodejs server";
+ enable = mkEnableOption (lib.mdDoc "TiddlyWiki nodejs server");
listenOptions = mkOption {
type = types.attrs;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/tp-auto-kbbl.nix b/third_party/nixpkgs/nixos/modules/services/misc/tp-auto-kbbl.nix
index 54dec0b3fe..8d92d3d936 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/tp-auto-kbbl.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/tp-auto-kbbl.nix
@@ -9,7 +9,7 @@ in {
options = {
services.tp-auto-kbbl = {
- enable = mkEnableOption "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux";
+ enable = mkEnableOption (lib.mdDoc "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix b/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
index c3eda0db44..80266b024e 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
@@ -19,7 +19,7 @@ in {
type = types.attrsOf (types.submodule {
options = {
- enable = mkEnableOption "hub instance" // { default = true; };
+ enable = mkEnableOption (lib.mdDoc "hub instance") // { default = true; };
enableTLS = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/weechat.nix b/third_party/nixpkgs/nixos/modules/services/misc/weechat.nix
index b1de30ae2b..663a767a0c 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/weechat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/weechat.nix
@@ -8,7 +8,7 @@ in
{
options.services.weechat = {
- enable = mkEnableOption "weechat";
+ enable = mkEnableOption (lib.mdDoc "weechat");
root = mkOption {
description = lib.mdDoc "Weechat state directory.";
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/xmr-stak.nix b/third_party/nixpkgs/nixos/modules/services/misc/xmr-stak.nix
index c218f747f2..6e123cf038 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/xmr-stak.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/xmr-stak.nix
@@ -15,9 +15,9 @@ in
{
options = {
services.xmr-stak = {
- enable = mkEnableOption "xmr-stak miner";
- openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
- cudaSupport = mkEnableOption "support for CUDA (NVidia graphics cards)";
+ enable = mkEnableOption (lib.mdDoc "xmr-stak miner");
+ openclSupport = mkEnableOption (lib.mdDoc "support for OpenCL (AMD/ATI graphics cards)");
+ cudaSupport = mkEnableOption (lib.mdDoc "support for CUDA (NVidia graphics cards)");
extraArgs = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/xmrig.nix b/third_party/nixpkgs/nixos/modules/services/misc/xmrig.nix
index a98b2292f5..d2aa3df45d 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/xmrig.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/xmrig.nix
@@ -13,7 +13,7 @@ with lib;
{
options = {
services.xmrig = {
- enable = mkEnableOption "XMRig Mining Software";
+ enable = mkEnableOption (lib.mdDoc "XMRig Mining Software");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/zoneminder.nix b/third_party/nixpkgs/nixos/modules/services/misc/zoneminder.nix
index fa0e06a014..e031fab597 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/zoneminder.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/zoneminder.nix
@@ -66,7 +66,7 @@ let
in {
options = {
services.zoneminder = with lib; {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
ZoneMinder
If you intend to run the database locally, you should set
@@ -75,7 +75,7 @@ in {
and database user as well as populate the database yourself.
Additionally, you will need to run `zmupdate.pl` yourself when
upgrading to a newer version.
- '';
+ '');
webserver = mkOption {
type = types.enum [ "nginx" "none" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/alerta.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/alerta.nix
index c0caa0dc3b..cf94f9813e 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/alerta.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/alerta.nix
@@ -21,7 +21,7 @@ let
in
{
options.services.alerta = {
- enable = mkEnableOption "alerta";
+ enable = mkEnableOption (lib.mdDoc "alerta");
port = mkOption {
type = types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/collectd.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/collectd.nix
index 3d518ebc67..5d525995c6 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/collectd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/collectd.nix
@@ -29,7 +29,7 @@ let
in {
options.services.collectd = with types; {
- enable = mkEnableOption "collectd agent";
+ enable = mkEnableOption (lib.mdDoc "collectd agent");
validateConfig = mkOption {
default = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/das_watchdog.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/das_watchdog.nix
index 88ca3a9227..fd420b0c8a 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/das_watchdog.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/das_watchdog.nix
@@ -12,7 +12,7 @@ in {
###### interface
options = {
- services.das_watchdog.enable = mkEnableOption "realtime watchdog";
+ services.das_watchdog.enable = mkEnableOption (lib.mdDoc "realtime watchdog");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/do-agent.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/do-agent.nix
index 4dfb623672..c1788c640c 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/do-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/do-agent.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.do-agent = {
- enable = mkEnableOption "do-agent, the DigitalOcean droplet metrics agent";
+ enable = mkEnableOption (lib.mdDoc "do-agent, the DigitalOcean droplet metrics agent");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
index 6b440e9fa4..7b28e8de12 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/fusion-inventory.nix
@@ -22,7 +22,7 @@ in {
services.fusionInventory = {
- enable = mkEnableOption "Fusion Inventory Agent";
+ enable = mkEnableOption (lib.mdDoc "Fusion Inventory Agent");
servers = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-agent.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-agent.nix
index 45b62d140c..ecb39a924f 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-agent.nix
@@ -11,7 +11,7 @@ in
};
options.services.grafana-agent = {
- enable = mkEnableOption "grafana-agent";
+ enable = mkEnableOption (lib.mdDoc "grafana-agent");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-image-renderer.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-image-renderer.nix
index d92ce5e1ee..549da138fe 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-image-renderer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-image-renderer.nix
@@ -10,7 +10,7 @@ let
configFile = format.generate "grafana-image-renderer-config.json" cfg.settings;
in {
options.services.grafana-image-renderer = {
- enable = mkEnableOption "grafana-image-renderer";
+ enable = mkEnableOption (lib.mdDoc "grafana-image-renderer");
chromium = mkOption {
type = types.package;
@@ -19,9 +19,9 @@ in {
'';
};
- verbose = mkEnableOption "verbosity for the service";
+ verbose = mkEnableOption (lib.mdDoc "verbosity for the service");
- provisionGrafana = mkEnableOption "Grafana configuration for grafana-image-renderer";
+ provisionGrafana = mkEnableOption (lib.mdDoc "Grafana configuration for grafana-image-renderer");
settings = mkOption {
type = types.submodule {
@@ -62,18 +62,16 @@ in {
mode = mkOption {
default = "default";
type = types.enum [ "default" "reusable" "clustered" ];
- description = ''
- Rendering mode of grafana-image-renderer:
-
- default: Creates on browser-instance
- per rendering request.
- reusable: One browser instance
- will be started and reused for each rendering request.
- clustered: allows to precisely
+ description = lib.mdDoc ''
+ Rendering mode of `grafana-image-renderer`:
+
+ - `default:` Creates on browser-instance
+ per rendering request.
+ - `reusable:` One browser instance
+ will be started and reused for each rendering request.
+ - `clustered:` allows to precisely
configure how many browser-instances are supposed to be used. The values
- for that mode can be declared in rendering.clustering.
-
-
+ for that mode can be declared in `rendering.clustering`.
'';
};
args = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-reporter.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-reporter.nix
index 7a27b5cbce..add725e7ba 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-reporter.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana-reporter.nix
@@ -7,7 +7,7 @@ let
in {
options.services.grafana_reporter = {
- enable = mkEnableOption "grafana_reporter";
+ enable = mkEnableOption (lib.mdDoc "grafana_reporter");
grafana = {
protocol = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
index 456fe92eea..dd99fa3ddc 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
@@ -302,7 +302,7 @@ let
};
in {
options.services.grafana = {
- enable = mkEnableOption "grafana";
+ enable = mkEnableOption (lib.mdDoc "grafana");
protocol = mkOption {
description = lib.mdDoc "Which protocol to listen.";
@@ -445,7 +445,7 @@ in {
};
provision = {
- enable = mkEnableOption "provision";
+ enable = mkEnableOption (lib.mdDoc "provision");
datasources = mkOption {
description = lib.mdDoc "Grafana datasources configuration.";
default = [];
@@ -513,7 +513,7 @@ in {
};
smtp = {
- enable = mkEnableOption "smtp";
+ enable = mkEnableOption (lib.mdDoc "smtp");
host = mkOption {
description = lib.mdDoc "Host to connect to.";
default = "localhost:25";
@@ -792,7 +792,7 @@ in {
SystemCallArchitectures = "native";
# Upstream grafana is not setting SystemCallFilter for compatibility
# reasons, see https://github.com/grafana/grafana/pull/40176
- SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+ SystemCallFilter = [ "@system-service" "~@privileged" ];
UMask = "0027";
};
preStart = ''
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/hdaps.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/hdaps.nix
index 2cad3b84d8..59b8b9b3c0 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/hdaps.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/hdaps.nix
@@ -9,10 +9,10 @@ in
{
options = {
services.hdapsd.enable = mkEnableOption
- ''
+ (lib.mdDoc ''
Hard Drive Active Protection System Daemon,
devices are detected and managed automatically by udev and systemd
- '';
+ '');
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/incron.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/incron.nix
index 53cbe1a9e2..3766f1fa23 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/incron.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/incron.nix
@@ -17,10 +17,10 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable the incron daemon.
- Note that commands run under incrontab only support common Nix profiles for the PATH provided variable.
+ Note that commands run under incrontab only support common Nix profiles for the {env}`PATH` provided variable.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/kapacitor.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/kapacitor.nix
index 9cdb0e4495..61529c2e45 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/kapacitor.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/kapacitor.nix
@@ -57,7 +57,7 @@ let
in
{
options.services.kapacitor = {
- enable = mkEnableOption "kapacitor";
+ enable = mkEnableOption (lib.mdDoc "kapacitor");
dataDir = mkOption {
type = types.path;
@@ -109,7 +109,7 @@ in
};
defaultDatabase = {
- enable = mkEnableOption "kapacitor.defaultDatabase";
+ enable = mkEnableOption (lib.mdDoc "kapacitor.defaultDatabase");
url = mkOption {
description = lib.mdDoc "The URL to an InfluxDB server that serves as the default database";
@@ -129,7 +129,7 @@ in
};
alerta = {
- enable = mkEnableOption "kapacitor alerta integration";
+ enable = mkEnableOption (lib.mdDoc "kapacitor alerta integration");
url = mkOption {
description = lib.mdDoc "The URL to the Alerta REST API";
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/loki.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/loki.nix
index d73e2abb71..11bb8497c9 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/loki.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/loki.nix
@@ -12,7 +12,7 @@ let
in {
options.services.loki = {
- enable = mkEnableOption "loki";
+ enable = mkEnableOption (lib.mdDoc "loki");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix
index 9182739ee1..4185cd76c4 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/mackerel-agent.nix
@@ -7,15 +7,15 @@ let
settingsFmt = pkgs.formats.toml {};
in {
options.services.mackerel-agent = {
- enable = mkEnableOption "mackerel.io agent";
+ enable = mkEnableOption (lib.mdDoc "mackerel.io agent");
# the upstream package runs as root, but doesn't seem to be strictly
# necessary for basic functionality
- runAsRoot = mkEnableOption "Whether to run as root.";
+ runAsRoot = mkEnableOption (lib.mdDoc "Whether to run as root.");
- autoRetirement = mkEnableOption ''
+ autoRetirement = mkEnableOption (lib.mdDoc ''
Whether to automatically retire the host upon OS shutdown.
- '';
+ '');
apiKeyFile = mkOption {
type = types.path;
@@ -59,7 +59,7 @@ in {
};
options.diagnostic =
- mkEnableOption "Collect memory usage for the agent itself";
+ mkEnableOption (lib.mdDoc "Collect memory usage for the agent itself");
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/metricbeat.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/metricbeat.nix
index 14066da1be..310c9d8ed5 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/metricbeat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/metricbeat.nix
@@ -19,7 +19,7 @@ in
services.metricbeat = {
- enable = mkEnableOption "metricbeat";
+ enable = mkEnableOption (lib.mdDoc "metricbeat");
package = mkOption {
type = types.package;
@@ -99,10 +99,10 @@ in
type = types.listOf settingsFormat.type;
default = [];
internal = true;
- description = ''
- The metric collecting modules. Use instead.
+ description = lib.mdDoc ''
+ The metric collecting modules. Use [](#opt-services.metricbeat.modules) instead.
- See .
+ See .
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/mimir.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/mimir.nix
index 87f7af7855..568066990f 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/mimir.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/mimir.nix
@@ -8,7 +8,7 @@ let
settingsFormat = pkgs.formats.yaml {};
in {
options.services.mimir = {
- enable = mkEnableOption "mimir";
+ enable = mkEnableOption (lib.mdDoc "mimir");
configuration = mkOption {
type = (pkgs.formats.json {}).type;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/monit.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/monit.nix
index 6ce5b44eb2..a22bbc9046 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/monit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/monit.nix
@@ -9,7 +9,7 @@ in
{
options.services.monit = {
- enable = mkEnableOption "Monit";
+ enable = mkEnableOption (lib.mdDoc "Monit");
config = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/nagios.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/nagios.nix
index 14dbc5fdb4..8feff22c11 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/nagios.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/nagios.nix
@@ -88,7 +88,7 @@ in
options = {
services.nagios = {
- enable = mkEnableOption ''Nagios to monitor your system or network.'';
+ enable = mkEnableOption (lib.mdDoc ''[Nagios](http://www.nagios.org/) to monitor your system or network.'');
objectDefs = mkOption {
description = lib.mdDoc ''
@@ -104,8 +104,8 @@ in
type = types.listOf types.package;
default = with pkgs; [ monitoring-plugins msmtp mailutils ];
defaultText = literalExpression "[pkgs.monitoring-plugins pkgs.msmtp pkgs.mailutils]";
- description = ''
- Packages to be added to the Nagios PATH.
+ description = lib.mdDoc ''
+ Packages to be added to the Nagios {env}`PATH`.
Typically used to add plugins, but can be anything.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
index e20eaf3b14..92c870bb23 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
@@ -49,7 +49,7 @@ let
in {
options = {
services.netdata = {
- enable = mkEnableOption "netdata";
+ enable = mkEnableOption (lib.mdDoc "netdata");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/parsedmarc.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/parsedmarc.nix
index b0858184b5..7618414d90 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/parsedmarc.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/parsedmarc.nix
@@ -20,9 +20,9 @@ in
{
options.services.parsedmarc = {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
parsedmarc, a DMARC report monitoring service
- '';
+ '');
provision = {
localMail = {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
index 60e0523cc3..ee2533ef12 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/alertmanager.nix
@@ -40,7 +40,7 @@ in {
options = {
services.prometheus.alertmanager = {
- enable = mkEnableOption "Prometheus Alertmanager";
+ enable = mkEnableOption (lib.mdDoc "Prometheus Alertmanager");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
index ada66fe246..7c03c18835 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
@@ -99,14 +99,14 @@ let
mkDefOpt = type: defaultStr: description: mkOpt type (description + ''
- Defaults to ${defaultStr} in prometheus
- when set to null.
+ Defaults to ````${defaultStr}```` in prometheus
+ when set to `null`.
'');
mkOpt = type: description: mkOption {
type = types.nullOr type;
default = null;
- inherit description;
+ description = lib.mdDoc description;
};
mkSdConfigModule = extraOptions: types.submodule {
@@ -288,7 +288,7 @@ let
If honor_labels is set to "false", label conflicts are
resolved by renaming conflicting labels in the scraped data
- to "exported_<original-label>" (for example
+ to "exported_\" (for example
"exported_instance", "exported_job") and then attaching
server-side labels. This is useful for use cases such as
federation, where all labels specified in the target should
@@ -299,10 +299,10 @@ let
honor_timestamps controls whether Prometheus respects the timestamps present
in scraped data.
- If honor_timestamps is set to true, the timestamps of the metrics exposed
+ If honor_timestamps is set to `true`, the timestamps of the metrics exposed
by the target will be used.
- If honor_timestamps is set to false, the timestamps of the metrics exposed
+ If honor_timestamps is set to `false`, the timestamps of the metrics exposed
by the target will be ignored.
'';
@@ -323,13 +323,13 @@ let
bearer_token = mkOpt types.str ''
Sets the `Authorization` header on every scrape request with
the configured bearer token. It is mutually exclusive with
- .
+ {option}`bearer_token_file`.
'';
bearer_token_file = mkOpt types.str ''
Sets the `Authorization` header on every scrape request with
the bearer token read from the configured file. It is mutually
- exclusive with .
+ exclusive with {option}`bearer_token`.
'';
tls_config = mkOpt promTypes.tls_config ''
@@ -379,7 +379,7 @@ let
gce_sd_configs = mkOpt (types.listOf promTypes.gce_sd_config) ''
List of Google Compute Engine service discovery configurations.
- See the relevant Prometheus configuration docs
+ See [the relevant Prometheus configuration docs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config)
for more detail.
'';
@@ -591,7 +591,7 @@ let
allow_stale = mkOpt types.bool ''
Allow stale Consul results
- (see ).
+ (see ).
Will reduce load on Consul.
'';
@@ -632,16 +632,16 @@ let
options = {
name = mkOption {
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Name of the filter. The available filters are listed in the upstream documentation:
- Services:
- Tasks:
- Nodes:
+ Services:
+ Tasks:
+ Nodes:
'';
};
values = mkOption {
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Value for the filter.
'';
};
@@ -707,12 +707,12 @@ let
access_key = mkOpt types.str ''
The AWS API key id. If blank, the environment variable
- AWS_ACCESS_KEY_ID is used.
+ `AWS_ACCESS_KEY_ID` is used.
'';
secret_key = mkOpt types.str ''
The AWS API key secret. If blank, the environment variable
- AWS_SECRET_ACCESS_KEY is used.
+ `AWS_SECRET_ACCESS_KEY` is used.
'';
profile = mkOpt types.str ''
@@ -738,8 +738,8 @@ let
options = {
name = mkOption {
type = types.str;
- description = ''
- See this list
+ description = lib.mdDoc ''
+ See [this list](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
for the available filters.
'';
};
@@ -747,7 +747,7 @@ let
values = mkOption {
type = types.listOf types.str;
default = [ ];
- description = ''
+ description = lib.mdDoc ''
Value of the filter.
'';
};
@@ -806,7 +806,7 @@ let
filter = mkOpt types.str ''
Filter can be used optionally to filter the instance list by other
criteria Syntax of this filter string is described here in the filter
- query parameter section: .
+ query parameter section: .
'';
refresh_interval = mkDefOpt types.str "60s" ''
@@ -822,7 +822,7 @@ let
The tag separator used to separate concatenated GCE instance network tags.
See the GCP documentation on network tags for more information:
-
+
'';
};
};
@@ -917,7 +917,7 @@ let
options = {
role = mkOption {
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Selector role
'';
};
@@ -976,11 +976,11 @@ let
'';
access_key = mkOpt types.str ''
- The AWS API keys. If blank, the environment variable AWS_ACCESS_KEY_ID is used.
+ The AWS API keys. If blank, the environment variable `AWS_ACCESS_KEY_ID` is used.
'';
secret_key = mkOpt types.str ''
- The AWS API keys. If blank, the environment variable AWS_SECRET_ACCESS_KEY is used.
+ The AWS API keys. If blank, the environment variable `AWS_SECRET_ACCESS_KEY` is used.
'';
profile = mkOpt types.str ''
@@ -1030,14 +1030,14 @@ let
auth_token = mkOpt types.str ''
Optional authentication information for token-based authentication:
-
- It is mutually exclusive with auth_token_file and other authentication mechanisms.
+
+ It is mutually exclusive with `auth_token_file` and other authentication mechanisms.
'';
auth_token_file = mkOpt types.str ''
Optional authentication information for token-based authentication:
-
- It is mutually exclusive with auth_token and other authentication mechanisms.
+
+ It is mutually exclusive with `auth_token` and other authentication mechanisms.
'';
};
@@ -1299,7 +1299,7 @@ let
};
groups = mkOpt (types.listOf types.str) ''
- A list of groups for which targets are retrieved, only supported when targeting the container role.
+ A list of groups for which targets are retrieved, only supported when targeting the `container` role.
If omitted all containers owned by the requesting account are scraped.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
index 47c30a0f24..d9e380d427 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -36,6 +36,7 @@ let
"fastly"
"fritzbox"
"influxdb"
+ "ipmi"
"json"
"jitsi"
"kea"
@@ -72,6 +73,7 @@ let
"unbound"
"unifi"
"unifi-poller"
+ "v2ray"
"varnish"
"wireguard"
"flow"
@@ -80,7 +82,7 @@ let
);
mkExporterOpts = ({ name, port }: {
- enable = mkEnableOption "the prometheus ${name} exporter";
+ enable = mkEnableOption (lib.mdDoc "the prometheus ${name} exporter");
port = mkOption {
type = types.port;
default = port;
@@ -115,10 +117,10 @@ let
example = literalExpression ''
"-i eth0 -p tcp -m tcp --dport ${toString port}"
'';
- description = ''
+ description = lib.mdDoc ''
Specify a filter for iptables to use when
-
- is true. It is used as `ip46tables -I nixos-fw -j nixos-fw-accept`.
+ {option}`services.prometheus.exporters.${name}.openFirewall`
+ is true. It is used as `ip46tables -I nixos-fw firewallFilter -j nixos-fw-accept`.
'';
};
user = mkOption {
@@ -242,6 +244,22 @@ in
config = mkMerge ([{
assertions = [ {
+ assertion = cfg.ipmi.enable -> (cfg.ipmi.configFile != null) -> (
+ !(lib.hasPrefix "/tmp/" cfg.ipmi.configFile)
+ );
+ message = ''
+ Config file specified in `services.prometheus.exporters.ipmi.configFile' must
+ not reside within /tmp - it won't be visible to the systemd service.
+ '';
+ } {
+ assertion = cfg.ipmi.enable -> (cfg.ipmi.webConfigFile != null) -> (
+ !(lib.hasPrefix "/tmp/" cfg.ipmi.webConfigFile)
+ );
+ message = ''
+ Config file specified in `services.prometheus.exporters.ipmi.webConfigFile' must
+ not reside within /tmp - it won't be visible to the systemd service.
+ '';
+ } {
assertion = cfg.snmp.enable -> (
(cfg.snmp.configurationPath == null) != (cfg.snmp.configuration == null)
);
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
index eab1f9e7b4..d9eedd237c 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
@@ -9,7 +9,7 @@ in
port = 9103;
extraOpts = {
collectdBinary = {
- enable = mkEnableOption "collectd binary protocol receiver";
+ enable = mkEnableOption (lib.mdDoc "collectd binary protocol receiver");
authFile = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
index 80a2f92881..6fb438353a 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -19,19 +19,19 @@ in
type = types.path;
default = "/var/run/dovecot/stats";
example = "/var/run/dovecot2/old-stats";
- description = ''
+ description = lib.mdDoc ''
Path under which the stats socket is placed.
The user/group under which the exporter runs,
should be able to access the socket in order
to scrape the metrics successfully.
Please keep in mind that the stats module has changed in
- Dovecot 2.3+ which
- is not compatible with this exporter.
+ [Dovecot 2.3+](https://wiki2.dovecot.org/Upgrading/2.3) which
+ is not [compatible with this exporter](https://github.com/kumina/dovecot_exporter/issues/8).
The following extra config has to be passed to Dovecot to ensure that recent versions
work with this exporter:
-
+ ```
{
services.prometheus.exporters.dovecot.enable = true;
services.prometheus.exporters.dovecot.socketPath = "/var/run/dovecot2/old-stats";
@@ -60,7 +60,7 @@ in
}
''';
}
-
+ ```
'';
};
scopes = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
index 182a1131c0..36409caccf 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
@@ -7,7 +7,7 @@ in
{
port = 9118;
extraOpts = {
- debug = mkEnableOption "Debug logging mode for fastly-exporter";
+ debug = mkEnableOption (lib.mdDoc "Debug logging mode for fastly-exporter");
configFile = mkOption {
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
new file mode 100644
index 0000000000..55c4f4aa48
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+ logPrefix = "services.prometheus.exporter.ipmi";
+ cfg = config.services.prometheus.exporters.ipmi;
+in {
+ port = 9290;
+
+ extraOpts = {
+ configFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ description = lib.mdDoc ''
+ Path to configuration file.
+ '';
+ };
+
+ webConfigFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ description = lib.mdDoc ''
+ Path to configuration file that can enable TLS or authentication.
+ '';
+ };
+ };
+
+ serviceOpts.serviceConfig = {
+ ExecStart = with cfg; concatStringsSep " " ([
+ "${pkgs.prometheus-ipmi-exporter}/bin/ipmi_exporter"
+ "--web.listen-address ${listenAddress}:${toString port}"
+ ] ++ optionals (cfg.webConfigFile != null) [
+ "--web.config.file ${escapeShellArg cfg.webConfigFile}"
+ ] ++ optionals (cfg.configFile != null) [
+ "--config.file ${escapeShellArg cfg.configFile}"
+ ] ++ extraFlags);
+
+ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
index 4ebe7128e2..129c73eba4 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
@@ -112,14 +112,14 @@ let
detectionDir = "/path/to/Maildir/new";
} ]
'';
- description = ''
+ description = lib.mdDoc ''
List of servers that should be probed.
- Note: if your mailserver has rspamd8 configured,
+ *Note:* if your mailserver has {manpage}`rspamd(8)` configured,
it can happen that emails from this exporter are marked as spam.
It's possible to work around the issue with a config like this:
-
+ ```
{
services.rspamd.locals."multimap.conf".text = '''
ALLOWLIST_PROMETHEUS {
@@ -130,7 +130,7 @@ let
}
''';
}
-
+ ```
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
index 6f77c05562..aee3ae5bb2 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
@@ -10,16 +10,16 @@ in {
ldapCredentialFile = mkOption {
type = types.path;
example = "/run/keys/ldap_pass";
- description = ''
+ description = lib.mdDoc ''
Environment file to contain the credentials to authenticate against
- openldap.
+ `openldap`.
The file should look like this:
-
+ ```
---
ldapUser: "cn=monitoring,cn=Monitor"
ldapPass: "secret"
-
+ ```
'';
};
protocol = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
index 5e8dd21af8..755d771ecd 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
@@ -36,8 +36,8 @@ in
type = types.nullOr types.path;
default = null;
example = "/root/prometheus-postgres-exporter.env";
- description = ''
- Environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the
world-readable Nix store, by specifying placeholder variables as
@@ -46,7 +46,7 @@ in
Environment variables from this file will be interpolated into the
config file using envsubst with this syntax:
- $ENVIRONMENT ''${VARIABLE}
+ `$ENVIRONMENT ''${VARIABLE}`
The main use is to set the DATA_SOURCE_NAME that contains the
postgres password
@@ -54,10 +54,10 @@ in
note that contents from this file will override dataSourceName
if you have set it from nix.
-
+ ```
# Content of the environment file
DATA_SOURCE_NAME=postgresql://username:password@localhost:5432/postgres?sslmode=disable
-
+ ```
Note that this file needs to be available on the host on which
this exporter is running.
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/unifi-poller.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/unifi-poller.nix
index 394e6e201f..d264e68be9 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/unifi-poller.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/unifi-poller.nix
@@ -21,9 +21,9 @@ in {
extraOpts = {
inherit (options.services.unifi-poller.unifi) controllers;
log = {
- debug = mkEnableOption "debug logging including line numbers, high resolution timestamps, per-device logs.";
- quiet = mkEnableOption "startup and error logs only.";
- prometheusErrors = mkEnableOption "emitting errors to prometheus.";
+ debug = mkEnableOption (lib.mdDoc "debug logging including line numbers, high resolution timestamps, per-device logs.");
+ quiet = mkEnableOption (lib.mdDoc "startup and error logs only.");
+ prometheusErrors = mkEnableOption (lib.mdDoc "emitting errors to prometheus.");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
new file mode 100644
index 0000000000..185506cfc2
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+ cfg = config.services.prometheus.exporters.v2ray;
+in
+{
+ port = 9299;
+ extraOpts = {
+ v2rayEndpoint = mkOption {
+ type = types.str;
+ default = "127.0.0.1:54321";
+ description = ''
+ v2ray grpc api endpoint
+ '';
+ };
+ };
+ serviceOpts = {
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.prometheus-v2ray-exporter}/bin/v2ray-exporter \
+ --v2ray-endpoint ${cfg.v2rayEndpoint} \
+ --listen ${cfg.listenAddress}:${toString cfg.port} \
+ ${concatStringsSep " \\\n " cfg.extraFlags}
+ '';
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 20631f2af9..c98dcd9f64 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -11,7 +11,7 @@ in {
({ options.warnings = options.warnings; options.assertions = options.assertions; })
];
extraOpts = {
- verbose = mkEnableOption "Verbose logging mode for prometheus-wireguard-exporter";
+ verbose = mkEnableOption (lib.mdDoc "Verbose logging mode for prometheus-wireguard-exporter");
wireguardConfig = mkOption {
type = with types; nullOr (either path str);
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/pushgateway.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/pushgateway.nix
index ac7a2300f6..f5c114c927 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/pushgateway.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/pushgateway.nix
@@ -21,7 +21,7 @@ let
in {
options = {
services.prometheus.pushgateway = {
- enable = mkEnableOption "Prometheus Pushgateway";
+ enable = mkEnableOption (lib.mdDoc "Prometheus Pushgateway");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/sachet.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/sachet.nix
new file mode 100644
index 0000000000..f1aa750b2f
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/sachet.nix
@@ -0,0 +1,88 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+ cfg = config.services.prometheus.sachet;
+ configFile = pkgs.writeText "sachet.yml" (builtins.toJSON cfg.configuration);
+in
+{
+ options = {
+ services.prometheus.sachet = {
+ enable = mkEnableOption (lib.mdDoc "Sachet, an SMS alerting tool for the Prometheus Alertmanager");
+
+ configuration = mkOption {
+ type = types.nullOr types.attrs;
+ default = null;
+ example = literalExample ''
+ {
+ providers = {
+ twilio = {
+ # environment variables gets expanded at runtime
+ account_sid = "$TWILIO_ACCOUNT";
+ auth_token = "$TWILIO_TOKEN";
+ };
+ };
+ templates = [ ./some-template.tmpl ];
+ receivers = [{
+ name = "pager";
+ provider = "twilio";
+ to = [ "+33123456789" ];
+ text = "{{ template \"message\" . }}";
+ }];
+ }
+ '';
+ description = lib.mdDoc ''
+ Sachet's configuration as a nix attribute set.
+ '';
+ };
+
+ address = mkOption {
+ type = types.str;
+ default = "localhost";
+ description = lib.mdDoc ''
+ The address Sachet will listen to.
+ '';
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 9876;
+ description = lib.mdDoc ''
+ The port Sachet will listen to.
+ '';
+ };
+
+ };
+ };
+
+ config = mkIf cfg.enable {
+ assertions = singleton {
+ assertion = cfg.configuration != null;
+ message = "Cannot enable Sachet without a configuration.";
+ };
+
+ systemd.services.sachet = {
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" "network-online.target" ];
+ script = ''
+ ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > /tmp/sachet.yaml
+ exec ${pkgs.prometheus-sachet}/bin/sachet -config /tmp/sachet.yaml -listen-address ${cfg.address}:${builtins.toString cfg.port}
+ '';
+
+ serviceConfig = {
+ Restart = "always";
+
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ ProtectKernelTunables = true;
+ ProtectKernelModules = true;
+ ProtectControlGroups = true;
+
+ DynamicUser = true;
+ PrivateTmp = true;
+ WorkingDirectory = "/tmp/";
+ };
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
index 1d7da7ced3..4545ca37d2 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
@@ -15,7 +15,7 @@ in
];
options.services.prometheus.xmpp-alerts = {
- enable = mkEnableOption "XMPP Web hook service for Alertmanager";
+ enable = mkEnableOption (lib.mdDoc "XMPP Web hook service for Alertmanager");
settings = mkOption {
type = settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/smartd.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/smartd.nix
index 83791631d2..cfebb4b979 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/smartd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/smartd.nix
@@ -95,7 +95,7 @@ in
services.smartd = {
- enable = mkEnableOption "smartd daemon from smartmontools package";
+ enable = mkEnableOption (lib.mdDoc "smartd daemon from `smartmontools` package");
autodetect = mkOption {
default = true;
@@ -135,9 +135,9 @@ in
default = "root";
example = "example@domain.tld";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Sender of the notification messages.
- Acts as the value of email in the emails' From: ... field.
+ Acts as the value of `email` in the emails' `From: ...` field.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/statsd.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/statsd.nix
index d109e08262..bbc1c7146a 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/statsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/statsd.nix
@@ -56,7 +56,7 @@ in
options.services.statsd = {
- enable = mkEnableOption "statsd";
+ enable = mkEnableOption (lib.mdDoc "statsd");
listenAddress = mkOption {
description = lib.mdDoc "Address that statsd listens on over UDP";
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/sysstat.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
index f8621f08bb..5468fc3aa4 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/sysstat.nix
@@ -5,7 +5,7 @@ let
in {
options = {
services.sysstat = {
- enable = mkEnableOption "sar system activity collection";
+ enable = mkEnableOption (lib.mdDoc "sar system activity collection");
collect-frequency = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/teamviewer.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/teamviewer.nix
index e2271e571c..f77b194c56 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/teamviewer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/teamviewer.nix
@@ -14,7 +14,7 @@ in
options = {
- services.teamviewer.enable = mkEnableOption "TeamViewer daemon";
+ services.teamviewer.enable = mkEnableOption (lib.mdDoc "TeamViewer daemon");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/telegraf.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
index d228b5cc2d..913e599c18 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/telegraf.nix
@@ -11,7 +11,7 @@ in {
###### interface
options = {
services.telegraf = {
- enable = mkEnableOption "telegraf server";
+ enable = mkEnableOption (lib.mdDoc "telegraf server");
package = mkOption {
default = pkgs.telegraf;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/thanos.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/thanos.nix
index c7404241fb..41462da4ff 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/thanos.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/thanos.nix
@@ -8,7 +8,7 @@ let
nullOpt = type: description: mkOption {
type = types.nullOr type;
default = null;
- inherit description;
+ description = lib.mdDoc description;
};
optionToArgs = opt: v : optional (v != null) ''--${opt}="${toString v}"'';
@@ -18,8 +18,8 @@ let
mkParamDef = type: default: description: mkParam type (description + ''
- Defaults to ${toString default} in Thanos
- when set to null.
+ Defaults to `${toString default}` in Thanos
+ when set to `null`.
'');
mkParam = type: description: {
@@ -32,7 +32,7 @@ let
option = mkOption {
type = types.bool;
default = false;
- inherit description;
+ description = lib.mdDoc description;
};
};
@@ -41,7 +41,7 @@ let
option = mkOption {
type = types.listOf types.str;
default = [];
- inherit description;
+ description = lib.mdDoc description;
};
};
@@ -50,7 +50,7 @@ let
option = mkOption {
type = types.attrsOf types.str;
default = {};
- inherit description;
+ description = lib.mdDoc description;
};
};
@@ -59,7 +59,7 @@ let
option = mkOption {
type = types.str;
inherit default;
- inherit description;
+ description = lib.mdDoc description;
};
};
@@ -83,8 +83,8 @@ let
mkArgumentsOption = cmd: mkOption {
type = types.listOf types.str;
default = argumentsOf cmd;
- defaultText = literalDocBook ''
- calculated from config.services.thanos.${cmd}
+ defaultText = literalMD ''
+ calculated from `config.services.thanos.${cmd}`
'';
description = lib.mdDoc ''
Arguments to the `thanos ${cmd}` command.
@@ -141,13 +141,13 @@ let
option = nullOpt types.attrs ''
Tracing configuration.
- When not null the attribute set gets converted to
+ When not `null` the attribute set gets converted to
a YAML file and stored in the Nix store. The option
- will default to its path.
+ {option}`tracing.config-file` will default to its path.
- If is set this option has no effect.
+ If {option}`tracing.config-file` is set this option has no effect.
- See format details:
+ See format details:
'';
};
};
@@ -155,11 +155,11 @@ let
common = cfg: params.log // params.tracing cfg // {
http-address = mkParamDef types.str "0.0.0.0:10902" ''
- Listen host:port for HTTP endpoints.
+ Listen `host:port` for HTTP endpoints.
'';
grpc-address = mkParamDef types.str "0.0.0.0:10901" ''
- Listen ip:port address for gRPC endpoints (StoreAPI).
+ Listen `ip:port` address for gRPC endpoints (StoreAPI).
Make sure this address is routable from other components.
'';
@@ -206,13 +206,13 @@ let
option = nullOpt types.attrs ''
Object store configuration.
- When not null the attribute set gets converted to
+ When not `null` the attribute set gets converted to
a YAML file and stored in the Nix store. The option
- will default to its path.
+ {option}`objstore.config-file` will default to its path.
- If is set this option has no effect.
+ If {option}`objstore.config-file` is set this option has no effect.
- See format details:
+ See format details:
'';
};
};
@@ -254,7 +254,7 @@ let
store = params.common cfg.store // params.objstore cfg.store // {
stateDir = mkStateDirParam "data-dir" "thanos-store" ''
- Data directory relative to /var/lib
+ Data directory relative to `/var/lib`
in which to cache remote blocks.
'';
@@ -269,7 +269,7 @@ let
store.grpc.series-sample-limit = mkParamDef types.int 0 ''
Maximum amount of samples returned via a single Series call.
- 0 means no limit.
+ `0` means no limit.
NOTE: for efficiency we take 120 as the number of samples in chunk (it
cannot be bigger than that), so the actual number of samples might be
@@ -327,14 +327,14 @@ let
grpc-client-server-name = mkParam types.str ''
Server name to verify the hostname on the returned gRPC certificates.
- See
+ See
'';
web.route-prefix = mkParam types.str ''
Prefix for API and UI endpoints.
This allows thanos UI to be served on a sub-path. This option is
- analogous to of Promethus.
+ analogous to {option}`web.route-prefix` of Promethus.
'';
web.external-prefix = mkParam types.str ''
@@ -342,7 +342,7 @@ let
interface.
Actual endpoints are still served on / or the
- . This allows thanos UI to be served
+ {option}`web.route-prefix`. This allows thanos UI to be served
behind a reverse proxy that strips a URL sub-path.
'';
@@ -351,15 +351,15 @@ let
redirects.
This option is ignored if the option
- web.external-prefix is set.
+ `web.external-prefix` is set.
Security risk: enable this option only if a reverse proxy in front of
thanos is resetting the header.
- The setting web.prefix-header="X-Forwarded-Prefix"
+ The setting `web.prefix-header="X-Forwarded-Prefix"`
can be useful, for example, if Thanos UI is served via Traefik reverse
- proxy with PathPrefixStrip option enabled, which
- sends the stripped prefix value in X-Forwarded-Prefix
+ proxy with `PathPrefixStrip` option enabled, which
+ sends the stripped prefix value in `X-Forwarded-Prefix`
header. This allows thanos UI to be served on a sub-path.
'';
@@ -376,7 +376,7 @@ let
deduplicated.
Still you will be able to query without deduplication using
- dedup=false parameter.
+ `dedup=false` parameter.
'';
selector-labels = mkAttrsParam "selector-label" ''
@@ -386,8 +386,8 @@ let
store.addresses = mkListParam "store" ''
Addresses of statically configured store API servers.
- The scheme may be prefixed with dns+ or
- dnssrv+ to detect store API servers through
+ The scheme may be prefixed with `dns+` or
+ `dnssrv+` to detect store API servers through
respective DNS lookups.
'';
@@ -411,12 +411,12 @@ let
query.auto-downsampling = mkFlagParam ''
Enable automatic adjustment (step / 5) to what source of data should
be used in store gateways if no
- max_source_resolution param is specified.
+ `max_source_resolution` param is specified.
'';
query.partial-response = mkFlagParam ''
Enable partial response for queries if no
- partial_response param is specified.
+ `partial_response` param is specified.
'';
query.default-evaluation-interval = mkParamDef types.str "1m" ''
@@ -426,7 +426,7 @@ let
store.response-timeout = mkParamDef types.str "0ms" ''
If a Store doesn't send any data in this specified duration then a
Store will be ignored and partial data will be returned if it's
- enabled. 0 disables timeout.
+ enabled. `0` disables timeout.
'';
};
@@ -440,7 +440,7 @@ let
'';
stateDir = mkStateDirParam "data-dir" "thanos-rule" ''
- Data directory relative to /var/lib.
+ Data directory relative to `/var/lib`.
'';
rule-files = mkListParam "rule-file" ''
@@ -464,9 +464,9 @@ let
Ruler claims success if push to at least one alertmanager from
discovered succeeds. The scheme may be prefixed with
- dns+ or dnssrv+ to detect
+ `dns+` or `dnssrv+` to detect
Alertmanager IPs through respective DNS lookups. The port defaults to
- 9093 or the SRV record's value. The URL path is
+ `9093` or the SRV record's value. The URL path is
used as a prefix for the regular Alertmanager API path.
'';
@@ -491,7 +491,7 @@ let
This allows thanos UI to be served on a sub-path.
- This option is analogous to --web.route-prefix of Promethus.
+ This option is analogous to `--web.route-prefix` of Promethus.
'';
web.external-prefix = mkParam types.str ''
@@ -499,7 +499,7 @@ let
interface.
Actual endpoints are still served on / or the
- . This allows thanos UI to be served
+ {option}`web.route-prefix`. This allows thanos UI to be served
behind a reverse proxy that strips a URL sub-path.
'';
@@ -508,23 +508,23 @@ let
redirects.
This option is ignored if the option
- is set.
+ {option}`web.external-prefix` is set.
Security risk: enable this option only if a reverse proxy in front of
thanos is resetting the header.
- The header X-Forwarded-Prefix can be useful, for
+ The header `X-Forwarded-Prefix` can be useful, for
example, if Thanos UI is served via Traefik reverse proxy with
- PathPrefixStrip option enabled, which sends the
- stripped prefix value in X-Forwarded-Prefix
+ `PathPrefixStrip` option enabled, which sends the
+ stripped prefix value in `X-Forwarded-Prefix`
header. This allows thanos UI to be served on a sub-path.
'';
query.addresses = mkListParam "query" ''
Addresses of statically configured query API servers.
- The scheme may be prefixed with dns+ or
- dnssrv+ to detect query API servers through
+ The scheme may be prefixed with `dns+` or
+ `dnssrv+` to detect query API servers through
respective DNS lookups.
'';
@@ -545,11 +545,11 @@ let
compact = params.log // params.tracing cfg.compact // params.objstore cfg.compact // {
http-address = mkParamDef types.str "0.0.0.0:10902" ''
- Listen host:port for HTTP endpoints.
+ Listen `host:port` for HTTP endpoints.
'';
stateDir = mkStateDirParam "data-dir" "thanos-compact" ''
- Data directory relative to /var/lib
+ Data directory relative to `/var/lib`
in which to cache blocks and process compactions.
'';
@@ -562,28 +562,28 @@ let
retention.resolution-raw = mkParamDef types.str "0d" ''
How long to retain raw samples in bucket.
- 0d - disables this retention
+ `0d` - disables this retention
'';
retention.resolution-5m = mkParamDef types.str "0d" ''
How long to retain samples of resolution 1 (5 minutes) in bucket.
- 0d - disables this retention
+ `0d` - disables this retention
'';
retention.resolution-1h = mkParamDef types.str "0d" ''
How long to retain samples of resolution 2 (1 hour) in bucket.
- 0d - disables this retention
+ `0d` - disables this retention
'';
startAt = {
toArgs = _opt: startAt: flagToArgs "wait" (startAt == null);
option = nullOpt types.str ''
- When this option is set to a systemd.time
+ When this option is set to a `systemd.time`
specification the Thanos compactor will run at the specified period.
- When this option is null the Thanos compactor service
+ When this option is `null` the Thanos compactor service
will run continuously. So it will not exit after all compactions have
been processed but wait for new work.
'';
@@ -609,7 +609,7 @@ let
downsample = params.log // params.tracing cfg.downsample // params.objstore cfg.downsample // {
stateDir = mkStateDirParam "data-dir" "thanos-downsample" ''
- Data directory relative to /var/lib
+ Data directory relative to `/var/lib`
in which to cache blocks and process downsamplings.
'';
@@ -622,7 +622,7 @@ let
'';
stateDir = mkStateDirParam "tsdb.path" "thanos-receive" ''
- Data directory relative to /var/lib of TSDB.
+ Data directory relative to `/var/lib` of TSDB.
'';
labels = mkAttrsParam "labels" ''
@@ -635,7 +635,7 @@ let
tsdb.retention = mkParamDef types.str "15d" ''
How long to retain raw samples on local storage.
- 0d - disables this retention
+ `0d` - disables this retention
'';
};
@@ -667,46 +667,46 @@ in {
sidecar = paramsToOptions params.sidecar // {
enable = mkEnableOption
- "the Thanos sidecar for Prometheus server";
+ (lib.mdDoc "the Thanos sidecar for Prometheus server");
arguments = mkArgumentsOption "sidecar";
};
store = paramsToOptions params.store // {
enable = mkEnableOption
- "the Thanos store node giving access to blocks in a bucket provider.";
+ (lib.mdDoc "the Thanos store node giving access to blocks in a bucket provider.");
arguments = mkArgumentsOption "store";
};
query = paramsToOptions params.query // {
enable = mkEnableOption
- ("the Thanos query node exposing PromQL enabled Query API " +
- "with data retrieved from multiple store nodes");
+ (lib.mdDoc ("the Thanos query node exposing PromQL enabled Query API " +
+ "with data retrieved from multiple store nodes"));
arguments = mkArgumentsOption "query";
};
rule = paramsToOptions params.rule // {
enable = mkEnableOption
- ("the Thanos ruler service which evaluates Prometheus rules against" +
- " given Query nodes, exposing Store API and storing old blocks in bucket");
+ (lib.mdDoc ("the Thanos ruler service which evaluates Prometheus rules against" +
+ " given Query nodes, exposing Store API and storing old blocks in bucket"));
arguments = mkArgumentsOption "rule";
};
compact = paramsToOptions params.compact // {
enable = mkEnableOption
- "the Thanos compactor which continuously compacts blocks in an object store bucket";
+ (lib.mdDoc "the Thanos compactor which continuously compacts blocks in an object store bucket");
arguments = mkArgumentsOption "compact";
};
downsample = paramsToOptions params.downsample // {
enable = mkEnableOption
- "the Thanos downsampler which continuously downsamples blocks in an object store bucket";
+ (lib.mdDoc "the Thanos downsampler which continuously downsamples blocks in an object store bucket");
arguments = mkArgumentsOption "downsample";
};
receive = paramsToOptions params.receive // {
enable = mkEnableOption
- ("the Thanos receiver which accept Prometheus remote write API requests " +
- "and write to local tsdb (EXPERIMENTAL, this may change drastically without notice)");
+ (lib.mdDoc ("the Thanos receiver which accept Prometheus remote write API requests " +
+ "and write to local tsdb (EXPERIMENTAL, this may change drastically without notice)"));
arguments = mkArgumentsOption "receive";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/tuptime.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/tuptime.nix
index 770fbee2a8..d97e408bce 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/tuptime.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/tuptime.nix
@@ -10,7 +10,7 @@ in {
options.services.tuptime = {
- enable = mkEnableOption "the total uptime service";
+ enable = mkEnableOption (lib.mdDoc "the total uptime service");
timer = {
enable = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/unifi-poller.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/unifi-poller.nix
index a955bf4907..b30e28a3ec 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/unifi-poller.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/unifi-poller.nix
@@ -11,7 +11,7 @@ let
in {
options.services.unifi-poller = {
- enable = mkEnableOption "unifi-poller";
+ enable = mkEnableOption (lib.mdDoc "unifi-poller");
poller = {
debug = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/ups.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/ups.nix
index 8af2c2a1f2..c7abaeb297 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/ups.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/ups.nix
@@ -116,7 +116,7 @@ in
mode = mkOption {
default = "standalone";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
The MODE determines which part of the NUT is to be started, and
which configuration files must be modified.
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/uptime.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/uptime.nix
index 24ca7c3763..7bf9e593c9 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/uptime.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/uptime.nix
@@ -51,9 +51,9 @@ in {
type = types.bool;
};
- enableWebService = mkEnableOption "the uptime monitoring program web service";
+ enableWebService = mkEnableOption (lib.mdDoc "the uptime monitoring program web service");
- enableSeparateMonitoringService = mkEnableOption "the uptime monitoring service" // {
+ enableSeparateMonitoringService = mkEnableOption (lib.mdDoc "the uptime monitoring service") // {
default = cfg.enableWebService;
defaultText = literalExpression "config.${opt.enableWebService}";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/vnstat.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/vnstat.nix
index 5e19c39956..a498962ae5 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/vnstat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/vnstat.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.vnstat;
in {
options.services.vnstat = {
- enable = mkEnableOption "update of network usage statistics via vnstatd";
+ enable = mkEnableOption (lib.mdDoc "update of network usage statistics via vnstatd");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
index f2a8adace6..b497ecbcdb 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-agent.nix
@@ -29,7 +29,7 @@ in
options = {
services.zabbixAgent = {
- enable = mkEnableOption "the Zabbix Agent";
+ enable = mkEnableOption (lib.mdDoc "the Zabbix Agent");
package = mkOption {
type = types.package;
@@ -43,8 +43,8 @@ in
default = with pkgs; [ nettools ];
defaultText = literalExpression "with pkgs; [ nettools ]";
example = literalExpression "with pkgs; [ nettools mysql ]";
- description = ''
- Packages to be added to the Zabbix PATH.
+ description = lib.mdDoc ''
+ Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
index 9cfe1bdaa2..e7e353f366 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -38,7 +38,7 @@ in
options = {
services.zabbixProxy = {
- enable = mkEnableOption "the Zabbix Proxy";
+ enable = mkEnableOption (lib.mdDoc "the Zabbix Proxy");
server = mkOption {
type = types.str;
@@ -61,8 +61,8 @@ in
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
- description = ''
- Packages to be added to the Zabbix PATH.
+ description = lib.mdDoc ''
+ Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
index 566ec4ab2f..b40437100f 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
@@ -40,7 +40,7 @@ in
options = {
services.zabbixServer = {
- enable = mkEnableOption "the Zabbix Server";
+ enable = mkEnableOption (lib.mdDoc "the Zabbix Server");
package = mkOption {
type = types.package;
@@ -53,8 +53,8 @@ in
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
- description = ''
- Packages to be added to the Zabbix PATH.
+ description = lib.mdDoc ''
+ Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
index 2437aba86e..22d58f29cb 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
@@ -72,7 +72,7 @@ in
options.services.ceph = {
# Ceph has a monolithic configuration file but different sections for
# each daemon, a separate client section and a global section
- enable = mkEnableOption "Ceph global configuration";
+ enable = mkEnableOption (lib.mdDoc "Ceph global configuration");
global = {
fsid = mkOption {
@@ -201,7 +201,7 @@ in
};
mgr = {
- enable = mkEnableOption "Ceph MGR daemon";
+ enable = mkEnableOption (lib.mdDoc "Ceph MGR daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
@@ -221,7 +221,7 @@ in
};
mon = {
- enable = mkEnableOption "Ceph MON daemon";
+ enable = mkEnableOption (lib.mdDoc "Ceph MON daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
@@ -241,7 +241,7 @@ in
};
osd = {
- enable = mkEnableOption "Ceph OSD daemon";
+ enable = mkEnableOption (lib.mdDoc "Ceph OSD daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
@@ -269,7 +269,7 @@ in
};
mds = {
- enable = mkEnableOption "Ceph MDS daemon";
+ enable = mkEnableOption (lib.mdDoc "Ceph MDS daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
@@ -289,7 +289,7 @@ in
};
rgw = {
- enable = mkEnableOption "Ceph RadosGW daemon";
+ enable = mkEnableOption (lib.mdDoc "Ceph RadosGW daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
@@ -304,7 +304,7 @@ in
};
client = {
- enable = mkEnableOption "Ceph client configuration";
+ enable = mkEnableOption (lib.mdDoc "Ceph client configuration");
extraConfig = mkOption {
type = with types; attrsOf (attrsOf str);
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/glusterfs.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/glusterfs.nix
index 99aa26feb6..5c3e197b68 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/glusterfs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/glusterfs.nix
@@ -33,7 +33,7 @@ in
services.glusterfs = {
- enable = mkEnableOption "GlusterFS Daemon";
+ enable = mkEnableOption (lib.mdDoc "GlusterFS Daemon");
logLevel = mkOption {
type = types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"];
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index af4b725bf2..b9cf9ea882 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -52,7 +52,7 @@ in
services.ipfs = {
- enable = mkEnableOption "Interplanetary File System (WARNING: may cause severe network degredation)";
+ enable = mkEnableOption (lib.mdDoc "Interplanetary File System (WARNING: may cause severe network degredation)");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix
index 92ae1d0fd3..884ffa50e7 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.litestream = {
- enable = mkEnableOption "litestream";
+ enable = mkEnableOption (lib.mdDoc "litestream");
package = mkOption {
description = lib.mdDoc "Package to use.";
@@ -40,8 +40,8 @@ in
type = types.nullOr types.path;
default = null;
example = "/run/secrets/litestream";
- description = ''
- Environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the
world-readable Nix store, by specifying placeholder variables as
@@ -54,11 +54,11 @@ in
variable values. If no value is set then it will be replaced with an
empty string.
-
+ ```
# Content of the environment file
LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
-
+ ```
Note that this file needs to be available on the host on which
this exporter is running.
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix
index 6ad4b37761..c9a5a43ebc 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix
@@ -85,7 +85,7 @@ in {
description = lib.mdDoc "Run daemons as user moosefs instead of root.";
};
- client.enable = mkEnableOption "Moosefs client.";
+ client.enable = mkEnableOption (lib.mdDoc "Moosefs client.");
master = {
enable = mkOption {
@@ -131,7 +131,7 @@ in {
};
metalogger = {
- enable = mkEnableOption "Moosefs metalogger daemon.";
+ enable = mkEnableOption (lib.mdDoc "Moosefs metalogger daemon.");
settings = mkOption {
type = types.submodule {
@@ -149,7 +149,7 @@ in {
};
chunkserver = {
- enable = mkEnableOption "Moosefs chunkserver daemon.";
+ enable = mkEnableOption (lib.mdDoc "Moosefs chunkserver daemon.");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
index 838a374ba6..a40f68557c 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
@@ -10,7 +10,7 @@ in {
options = {
services.netatalk = {
- enable = mkEnableOption "the Netatalk AFP fileserver";
+ enable = mkEnableOption (lib.mdDoc "the Netatalk AFP fileserver");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix
index 26cc0e169a..471e17970a 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/client.nix
@@ -10,7 +10,7 @@ in {
options = {
services.orangefs.client = {
- enable = mkEnableOption "OrangeFS client daemon";
+ enable = mkEnableOption (lib.mdDoc "OrangeFS client daemon");
extraOptions = mkOption {
type = with types; listOf str;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix
index 3bc3325e18..8e6838c046 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/orangefs/server.nix
@@ -74,7 +74,7 @@ in {
options = {
services.orangefs.server = {
- enable = mkEnableOption "OrangeFS server";
+ enable = mkEnableOption (lib.mdDoc "OrangeFS server");
logType = mkOption {
type = with types; enum [ "file" "syslog" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix
index d65113c84b..c9d7475395 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix
@@ -10,7 +10,7 @@ in {
options = {
services.rsyncd = {
- enable = mkEnableOption "the rsync daemon";
+ enable = mkEnableOption (lib.mdDoc "the rsync daemon");
port = mkOption {
default = 873;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix
index 38980593e7..e28fe4cf9c 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix
@@ -8,17 +8,17 @@ let
in {
options = {
services.samba-wsdd = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
Enable Web Services Dynamic Discovery host daemon. This enables (Samba) hosts, like your local NAS device,
to be found by Web Service Discovery Clients like Windows.
-
- If you use the firewall consider adding the following:
-
+
+ ::: {.note}
+ If you use the firewall consider adding the following:
+
networking.firewall.allowedTCPPorts = [ 5357 ];
networking.firewall.allowedUDPPorts = [ 3702 ];
-
-
- '';
+ :::
+ '');
interface = mkOption {
type = types.nullOr types.str;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
index 7a07b04385..1310a374ab 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/samba.nix
@@ -80,16 +80,15 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable Samba, which provides file and print
services to Windows clients through the SMB/CIFS protocol.
-
- If you use the firewall consider adding the following:
-
- services.samba.openFirewall = true;
-
-
+ ::: {.note}
+ If you use the firewall consider adding the following:
+
+ services.samba.openFirewall = true;
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/tahoe.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/tahoe.nix
index a816b5757f..4213f437f4 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/tahoe.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/tahoe.nix
@@ -128,7 +128,7 @@ in
The number of shares required to store a file.
'';
};
- storage.enable = mkEnableOption "storage service";
+ storage.enable = mkEnableOption (lib.mdDoc "storage service");
storage.reservedSpace = mkOption {
default = "1G";
type = types.str;
@@ -136,8 +136,8 @@ in
The amount of filesystem space to not use for storage.
'';
};
- helper.enable = mkEnableOption "helper service";
- sftpd.enable = mkEnableOption "SFTP service";
+ helper.enable = mkEnableOption (lib.mdDoc "helper service");
+ sftpd.enable = mkEnableOption (lib.mdDoc "SFTP service");
sftpd.port = mkOption {
default = null;
type = types.nullOr types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav-server-rs.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav-server-rs.nix
index bd07b8d438..9ea3041118 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav-server-rs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav-server-rs.nix
@@ -14,7 +14,7 @@ in
{
options = {
services.webdav-server-rs = {
- enable = mkEnableOption "WebDAV server";
+ enable = mkEnableOption (lib.mdDoc "WebDAV server");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav.nix
index b7c07b8c12..a384e58c96 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/webdav.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.webdav = {
- enable = mkEnableOption "WebDAV server";
+ enable = mkEnableOption (lib.mdDoc "WebDAV server");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix b/third_party/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
index 09d517740a..926c3c3bd5 100644
--- a/third_party/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
@@ -89,7 +89,7 @@ in
services.xtreemfs = {
- enable = mkEnableOption "XtreemFS";
+ enable = mkEnableOption (lib.mdDoc "XtreemFS");
homeDir = mkOption {
type = types.path;
@@ -180,7 +180,7 @@ in
'';
};
replication = {
- enable = mkEnableOption "XtreemFS DIR replication plugin";
+ enable = mkEnableOption (lib.mdDoc "XtreemFS DIR replication plugin");
extraConfig = mkOption {
type = types.lines;
example = ''
@@ -323,7 +323,7 @@ in
'';
};
replication = {
- enable = mkEnableOption "XtreemFS MRC replication plugin";
+ enable = mkEnableOption (lib.mdDoc "XtreemFS MRC replication plugin");
extraConfig = mkOption {
type = types.lines;
example = ''
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/3proxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/3proxy.nix
index 9fc1dac7c2..e643ed9413 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/3proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/3proxy.nix
@@ -6,7 +6,7 @@ let
optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
in {
options.services._3proxy = {
- enable = mkEnableOption "3proxy";
+ enable = mkEnableOption (lib.mdDoc "3proxy");
confFile = mkOption {
type = types.path;
example = "/var/lib/3proxy/3proxy.conf";
@@ -18,26 +18,26 @@ in {
type = types.nullOr types.path;
default = null;
example = "/var/lib/3proxy/3proxy.passwd";
- description = ''
+ description = lib.mdDoc ''
Load users and passwords from this file.
Example users file with plain-text passwords:
-
+ ```
test1:CL:password1
test2:CL:password2
-
+ ```
Example users file with md5-crypted passwords:
-
+ ```
test1:CR:$1$tFkisVd2$1GA8JXkRmTXdLDytM/i3a1
test2:CR:$1$rkpibm5J$Aq1.9VtYAn0JrqZ8M.1ME.
-
+ ```
You can generate md5-crypted passwords via https://unix4lyfe.org/crypt/
Note that htpasswd tool generates incompatible md5-crypted passwords.
- Consult documentation for more information.
+ Consult [documentation](https://github.com/z3APA3A/3proxy/wiki/How-To-%28incomplete%29#USERS) for more information.
'';
};
services = mkOption {
@@ -55,35 +55,17 @@ in {
"udppm"
];
example = "proxy";
- description = ''
+ description = lib.mdDoc ''
Service type. The following values are valid:
-
-
- "proxy": HTTP/HTTPS proxy (default port 3128).
-
-
- "socks": SOCKS 4/4.5/5 proxy (default port 1080).
-
-
- "pop3p": POP3 proxy (default port 110).
-
-
- "ftppr": FTP proxy (default port 21).
-
-
- "admin": Web interface (default port 80).
-
-
- "dnspr": Caching DNS proxy (default port 53).
-
-
- "tcppm": TCP portmapper.
-
-
- "udppm": UDP portmapper.
-
-
+ - `"proxy"`: HTTP/HTTPS proxy (default port 3128).
+ - `"socks"`: SOCKS 4/4.5/5 proxy (default port 1080).
+ - `"pop3p"`: POP3 proxy (default port 110).
+ - `"ftppr"`: FTP proxy (default port 21).
+ - `"admin"`: Web interface (default port 80).
+ - `"dnspr"`: Caching DNS proxy (default port 53).
+ - `"tcppm"`: TCP portmapper.
+ - `"udppm"`: UDP portmapper.
'';
};
bindAddress = mkOption {
@@ -113,24 +95,16 @@ in {
auth = mkOption {
type = types.listOf (types.enum [ "none" "iponly" "strong" ]);
example = [ "iponly" "strong" ];
- description = ''
+ description = lib.mdDoc ''
Authentication type. The following values are valid:
-
-
- "none": disables both authentication and authorization. You can not use ACLs.
-
-
- "iponly": specifies no authentication. ACLs authorization is used.
-
-
- "strong": authentication by username/password. If user is not registered their access is denied regardless of ACLs.
-
-
+ - `"none"`: disables both authentication and authorization. You can not use ACLs.
+ - `"iponly"`: specifies no authentication. ACLs authorization is used.
+ - `"strong"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs.
Double authentication is possible, e.g.
-
+ ```
{
auth = [ "iponly" "strong" ];
acl = [
@@ -144,7 +118,7 @@ in {
}
];
}
-
+ ```
In this example strong username authentication is not required to access 192.168.0.0/16.
'';
};
@@ -154,17 +128,11 @@ in {
rule = mkOption {
type = types.enum [ "allow" "deny" ];
example = "allow";
- description = ''
+ description = lib.mdDoc ''
ACL rule. The following values are valid:
-
-
- "allow": connections allowed.
-
-
- "deny": connections not allowed.
-
-
+ - `"allow"`: connections allowed.
+ - `"deny"`: connections not allowed.
'';
};
users = mkOption {
@@ -187,10 +155,10 @@ in {
type = types.listOf types.str;
default = [ ];
example = [ "127.0.0.1" "192.168.1.0/24" ];
- description = ''
+ description = lib.mdDoc ''
List of target IP ranges, use empty list for any.
May also contain host names instead of addresses.
- It's possible to use wildmask in the begginning and in the the end of hostname, e.g. *badsite.com or *badcontent*.
+ It's possible to use wildmask in the begginning and in the the end of hostname, e.g. `*badsite.com` or `*badcontent*`.
Hostname is only checked if hostname presents in request.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/adguardhome.nix b/third_party/nixpkgs/nixos/modules/services/networking/adguardhome.nix
index 13ef78c10c..13b6f6efcd 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/adguardhome.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/adguardhome.nix
@@ -25,7 +25,7 @@ let
in {
options.services.adguardhome = with types; {
- enable = mkEnableOption "AdGuard Home network-wide ad blocker";
+ enable = mkEnableOption (lib.mdDoc "AdGuard Home network-wide ad blocker");
host = mkOption {
default = "0.0.0.0";
@@ -64,16 +64,16 @@ in {
settings = mkOption {
type = (pkgs.formats.yaml { }).type;
default = { };
- description = ''
+ description = lib.mdDoc ''
AdGuard Home configuration. Refer to
-
+
for details on supported values.
-
- On start and if is true,
- these options are merged into the configuration file on start, taking
- precedence over configuration changes made on the web interface.
-
+ ::: {.note}
+ On start and if {option}`mutableSettings` is `true`,
+ these options are merged into the configuration file on start, taking
+ precedence over configuration changes made on the web interface.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/antennas.nix b/third_party/nixpkgs/nixos/modules/services/networking/antennas.nix
index e3bde2b67d..c0e5689086 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/antennas.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/antennas.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.antennas = {
- enable = mkEnableOption "Antennas";
+ enable = mkEnableOption (lib.mdDoc "Antennas");
tvheadendUrl = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/babeld.nix b/third_party/nixpkgs/nixos/modules/services/networking/babeld.nix
index b393b6e059..ff1ac6998e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/babeld.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/babeld.nix
@@ -40,7 +40,7 @@ in
services.babeld = {
- enable = mkEnableOption "the babeld network routing daemon";
+ enable = mkEnableOption (lib.mdDoc "the babeld network routing daemon");
interfaceDefaults = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bee-clef.nix b/third_party/nixpkgs/nixos/modules/services/networking/bee-clef.nix
index 852e1396b9..75e76f019a 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bee-clef.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bee-clef.nix
@@ -14,7 +14,7 @@ in {
options = {
services.bee-clef = {
- enable = mkEnableOption "clef external signer instance for Ethereum Swarm Bee";
+ enable = mkEnableOption (lib.mdDoc "clef external signer instance for Ethereum Swarm Bee");
dataDir = mkOption {
type = types.nullOr types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bee.nix b/third_party/nixpkgs/nixos/modules/services/networking/bee.nix
index a99513cb8c..add9861ebf 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bee.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bee.nix
@@ -15,7 +15,7 @@ in {
options = {
services.bee = {
- enable = mkEnableOption "Ethereum Swarm Bee";
+ enable = mkEnableOption (lib.mdDoc "Ethereum Swarm Bee");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/biboumi.nix b/third_party/nixpkgs/nixos/modules/services/networking/biboumi.nix
index 24e0c0328f..896a2350e3 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/biboumi.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/biboumi.nix
@@ -16,7 +16,7 @@ in
{
options = {
services.biboumi = {
- enable = mkEnableOption "the Biboumi XMPP gateway to IRC";
+ enable = mkEnableOption (lib.mdDoc "the Biboumi XMPP gateway to IRC");
settings = mkOption {
description = lib.mdDoc ''
@@ -166,7 +166,7 @@ in
example = "/run/keys/biboumi.cfg";
};
- openFirewall = mkEnableOption "opening of the identd port in the firewall";
+ openFirewall = mkEnableOption (lib.mdDoc "opening of the identd port in the firewall");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bind.nix b/third_party/nixpkgs/nixos/modules/services/networking/bind.nix
index 630d1b2073..f963e34154 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bind.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bind.nix
@@ -104,7 +104,7 @@ in
services.bind = {
- enable = mkEnableOption "BIND domain name server";
+ enable = mkEnableOption (lib.mdDoc "BIND domain name server");
package = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bird-lg.nix b/third_party/nixpkgs/nixos/modules/services/networking/bird-lg.nix
index 1440deb62b..11cfe3e7ec 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bird-lg.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bird-lg.nix
@@ -28,7 +28,7 @@ in
};
frontend = {
- enable = mkEnableOption "Bird Looking Glass Frontend Webserver";
+ enable = mkEnableOption (lib.mdDoc "Bird Looking Glass Frontend Webserver");
listenAddress = mkOption {
type = types.str;
@@ -143,7 +143,7 @@ in
};
proxy = {
- enable = mkEnableOption "Bird Looking Glass Proxy";
+ enable = mkEnableOption (lib.mdDoc "Bird Looking Glass Proxy");
listenAddress = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bird.nix b/third_party/nixpkgs/nixos/modules/services/networking/bird.nix
index 7708aaa476..77e0b3f8af 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bird.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bird.nix
@@ -10,7 +10,7 @@ in
###### interface
options = {
services.bird2 = {
- enable = mkEnableOption "BIRD Internet Routing Daemon";
+ enable = mkEnableOption (lib.mdDoc "BIRD Internet Routing Daemon");
config = mkOption {
type = types.lines;
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bitcoind.nix b/third_party/nixpkgs/nixos/modules/services/networking/bitcoind.nix
index 1788d5fcf5..e8b0fb65ff 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bitcoind.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bitcoind.nix
@@ -18,12 +18,12 @@ let
passwordHMAC = mkOption {
type = types.uniq (types.strMatching "[0-9a-f]+\\$[0-9a-f]{64}");
example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae";
- description = ''
+ description = lib.mdDoc ''
Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the
- format <SALT-HEX>$<HMAC-HEX>.
+ format \$\.
Tool (Python script) for HMAC generation is available here:
-
+
'';
};
};
@@ -35,7 +35,7 @@ let
bitcoindOpts = { config, lib, name, ...}: {
options = {
- enable = mkEnableOption "Bitcoin daemon";
+ enable = mkEnableOption (lib.mdDoc "Bitcoin daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/bitlbee.nix b/third_party/nixpkgs/nixos/modules/services/networking/bitlbee.nix
index e2844feda0..668ed388ae 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/bitlbee.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/bitlbee.nix
@@ -59,9 +59,9 @@ in
interface = mkOption {
type = types.str;
default = "127.0.0.1";
- description = ''
- The interface the BitlBee deamon will be listening to. If `127.0.0.1',
- only clients on the local host can connect to it; if `0.0.0.0', clients
+ description = lib.mdDoc ''
+ The interface the BitlBee deamon will be listening to. If `127.0.0.1`,
+ only clients on the local host can connect to it; if `0.0.0.0`, clients
can access it from any network interface.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/blockbook-frontend.nix b/third_party/nixpkgs/nixos/modules/services/networking/blockbook-frontend.nix
index 0164883c74..ab784563e4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/blockbook-frontend.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/blockbook-frontend.nix
@@ -10,7 +10,7 @@ let
options = {
- enable = mkEnableOption "blockbook-frontend application.";
+ enable = mkEnableOption (lib.mdDoc "blockbook-frontend application.");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/blocky.nix b/third_party/nixpkgs/nixos/modules/services/networking/blocky.nix
index 42eab14596..2acbcea2aa 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/blocky.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/blocky.nix
@@ -10,7 +10,7 @@ let
in
{
options.services.blocky = {
- enable = mkEnableOption "Fast and lightweight DNS proxy as ad-blocker for local network with many features";
+ enable = mkEnableOption (lib.mdDoc "Fast and lightweight DNS proxy as ad-blocker for local network with many features");
settings = mkOption {
type = format.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/charybdis.nix b/third_party/nixpkgs/nixos/modules/services/networking/charybdis.nix
index c875557a1a..168da243db 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/charybdis.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/charybdis.nix
@@ -18,7 +18,7 @@ in
services.charybdis = {
- enable = mkEnableOption "Charybdis IRC daemon";
+ enable = mkEnableOption (lib.mdDoc "Charybdis IRC daemon");
config = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/cloudflare-dyndns.nix b/third_party/nixpkgs/nixos/modules/services/networking/cloudflare-dyndns.nix
index 92d7f97b0b..627fdb880a 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/cloudflare-dyndns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/cloudflare-dyndns.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.cloudflare-dyndns = {
- enable = mkEnableOption "Cloudflare Dynamic DNS Client";
+ enable = mkEnableOption (lib.mdDoc "Cloudflare Dynamic DNS Client");
apiTokenFile = mkOption {
type = types.nullOr types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/cntlm.nix b/third_party/nixpkgs/nixos/modules/services/networking/cntlm.nix
index 2b5d0583c6..41510a8f07 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/cntlm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/cntlm.nix
@@ -33,7 +33,7 @@ in
options.services.cntlm = {
- enable = mkEnableOption "cntlm, which starts a local proxy";
+ enable = mkEnableOption (lib.mdDoc "cntlm, which starts a local proxy");
username = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/consul.nix b/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
index 16f1b5eec8..9f3c081e73 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
@@ -126,7 +126,7 @@ in
};
alerts = {
- enable = mkEnableOption "consul-alerts";
+ enable = mkEnableOption (lib.mdDoc "consul-alerts");
package = mkOption {
description = lib.mdDoc "Package to use for consul-alerts.";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/coredns.nix b/third_party/nixpkgs/nixos/modules/services/networking/coredns.nix
index deaba69e99..f928cdf961 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/coredns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/coredns.nix
@@ -7,7 +7,7 @@ let
configFile = pkgs.writeText "Corefile" cfg.config;
in {
options.services.coredns = {
- enable = mkEnableOption "Coredns dns server";
+ enable = mkEnableOption (lib.mdDoc "Coredns dns server");
config = mkOption {
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/corerad.nix b/third_party/nixpkgs/nixos/modules/services/networking/corerad.nix
index 88428eba55..0c6fb7a17c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/corerad.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/corerad.nix
@@ -10,7 +10,7 @@ in {
meta.maintainers = with maintainers; [ mdlayher ];
options.services.corerad = {
- enable = mkEnableOption "CoreRAD IPv6 NDP RA daemon";
+ enable = mkEnableOption (lib.mdDoc "CoreRAD IPv6 NDP RA daemon");
settings = mkOption {
type = settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/coturn.nix b/third_party/nixpkgs/nixos/modules/services/networking/coturn.nix
index 788c51aed6..4d83d2d48e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/coturn.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/coturn.nix
@@ -40,7 +40,7 @@ ${cfg.extraConfig}
in {
options = {
services.coturn = {
- enable = mkEnableOption "coturn TURN server";
+ enable = mkEnableOption (lib.mdDoc "coturn TURN server");
listening-port = mkOption {
type = types.int;
default = 3478;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/create_ap.nix b/third_party/nixpkgs/nixos/modules/services/networking/create_ap.nix
index 2fcf9b8a54..e772cf21ec 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/create_ap.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/create_ap.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.create_ap = {
- enable = mkEnableOption "setup wifi hotspots using create_ap";
+ enable = mkEnableOption (lib.mdDoc "setup wifi hotspots using create_ap");
settings = mkOption {
type = with types; attrsOf (oneOf [ int bool str ]);
default = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/croc.nix b/third_party/nixpkgs/nixos/modules/services/networking/croc.nix
index 8203585673..d3902611a6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/croc.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/croc.nix
@@ -6,7 +6,7 @@ let
in
{
options.services.croc = {
- enable = lib.mkEnableOption "croc relay";
+ enable = lib.mkEnableOption (lib.mdDoc "croc relay");
ports = lib.mkOption {
type = with types; listOf port;
default = [9009 9010 9011 9012 9013];
@@ -17,8 +17,8 @@ in
default = "pass123";
description = lib.mdDoc "Password or passwordfile for the relay.";
};
- openFirewall = lib.mkEnableOption "opening of the peer port(s) in the firewall";
- debug = lib.mkEnableOption "debug logs";
+ openFirewall = lib.mkEnableOption (lib.mdDoc "opening of the peer port(s) in the firewall");
+ debug = lib.mkEnableOption (lib.mdDoc "debug logs");
};
config = lib.mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/dante.nix b/third_party/nixpkgs/nixos/modules/services/networking/dante.nix
index 5ddbee8860..605f2d74f8 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/dante.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/dante.nix
@@ -19,7 +19,7 @@ in
options = {
services.dante = {
- enable = mkEnableOption "Dante SOCKS proxy";
+ enable = mkEnableOption (lib.mdDoc "Dante SOCKS proxy");
config = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix b/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
index ff79341010..99ff5ee0bd 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
@@ -6,7 +6,7 @@ in
{
options.services.dnscrypt-proxy2 = {
- enable = mkEnableOption "dnscrypt-proxy2";
+ enable = mkEnableOption (lib.mdDoc "dnscrypt-proxy2");
settings = mkOption {
description = lib.mdDoc ''
@@ -56,7 +56,7 @@ in
''}
${pkgs.remarshal}/bin/json2toml < config.json > $out
'';
- defaultText = literalDocBook "TOML file generated from ";
+ defaultText = literalMD "TOML file generated from {option}`services.dnscrypt-proxy2.settings`";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix b/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
index 5df1e8b51a..06b7ea24e2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/dnscrypt-wrapper.nix
@@ -124,7 +124,7 @@ in {
###### interface
options.services.dnscrypt-wrapper = {
- enable = mkEnableOption "DNSCrypt wrapper";
+ enable = mkEnableOption (lib.mdDoc "DNSCrypt wrapper");
address = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/dnsdist.nix b/third_party/nixpkgs/nixos/modules/services/networking/dnsdist.nix
index 44503248cf..483300111d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/dnsdist.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/dnsdist.nix
@@ -11,7 +11,7 @@ let
in {
options = {
services.dnsdist = {
- enable = mkEnableOption "dnsdist domain name server";
+ enable = mkEnableOption (lib.mdDoc "dnsdist domain name server");
listenAddress = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/doh-proxy-rust.nix b/third_party/nixpkgs/nixos/modules/services/networking/doh-proxy-rust.nix
index bfd88430d7..7f8bbb8a76 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/doh-proxy-rust.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/doh-proxy-rust.nix
@@ -10,7 +10,7 @@ in {
options.services.doh-proxy-rust = {
- enable = mkEnableOption "doh-proxy-rust";
+ enable = mkEnableOption (lib.mdDoc "doh-proxy-rust");
flags = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/envoy.nix b/third_party/nixpkgs/nixos/modules/services/networking/envoy.nix
index 6f3080d19e..20cfebb799 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/envoy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/envoy.nix
@@ -16,7 +16,7 @@ in
{
options.services.envoy = {
- enable = mkEnableOption "Envoy reverse proxy";
+ enable = mkEnableOption (lib.mdDoc "Envoy reverse proxy");
settings = mkOption {
type = format.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ergo.nix b/third_party/nixpkgs/nixos/modules/services/networking/ergo.nix
index 0dbb862b8e..033d4d9caf 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ergo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ergo.nix
@@ -33,7 +33,7 @@ in {
options = {
services.ergo = {
- enable = mkEnableOption "Ergo service";
+ enable = mkEnableOption (lib.mdDoc "Ergo service");
dataDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ergochat.nix b/third_party/nixpkgs/nixos/modules/services/networking/ergochat.nix
index 5e815a9eff..1a70b1f861 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ergochat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ergochat.nix
@@ -4,7 +4,7 @@ in {
options = {
services.ergochat = {
- enable = lib.mkEnableOption "Ergo IRC daemon";
+ enable = lib.mkEnableOption (lib.mdDoc "Ergo IRC daemon");
openFilesLimit = lib.mkOption {
type = lib.types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix b/third_party/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
index e90b6103a2..555307459e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
@@ -16,7 +16,7 @@ in
services.eternal-terminal = {
- enable = mkEnableOption "Eternal Terminal server";
+ enable = mkEnableOption (lib.mdDoc "Eternal Terminal server");
port = mkOption {
default = 2022;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ferm.nix b/third_party/nixpkgs/nixos/modules/services/networking/ferm.nix
index ea96a736fe..09151eb0b5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ferm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ferm.nix
@@ -30,7 +30,7 @@ in {
config = mkOption {
description = lib.mdDoc "Verbatim ferm.conf configuration.";
default = "";
- defaultText = literalDocBook "empty firewall, allows any traffic";
+ defaultText = literalMD "empty firewall, allows any traffic";
type = types.lines;
};
package = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/firefox-syncserver.nix b/third_party/nixpkgs/nixos/modules/services/networking/firefox-syncserver.nix
index 2944124b10..fa8e4fcaed 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/firefox-syncserver.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/firefox-syncserver.nix
@@ -34,22 +34,22 @@ in
{
options = {
services.firefox-syncserver = {
- enable = lib.mkEnableOption ''
+ enable = lib.mkEnableOption (lib.mdDoc ''
the Firefox Sync storage service.
Out of the box this will not be very useful unless you also configure at least
one service and one nodes by inserting them into the mysql database manually, e.g.
by running
-
+ ```
INSERT INTO `services` (`id`, `service`, `pattern`) VALUES ('1', 'sync-1.5', '{node}/1.5/{uid}');
INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,
`capacity`, `downed`, `backoff`)
VALUES ('1', '1', 'https://mydomain.tld', '1', '0', '10', '0', '0');
-
+ ```
- does this automatically when enabled
- '';
+ {option}`${opt.singleNode.enable}` does this automatically when enabled
+ '');
package = lib.mkOption {
type = lib.types.package;
@@ -118,11 +118,11 @@ in
};
singleNode = {
- enable = lib.mkEnableOption "auto-configuration for a simple single-node setup";
+ enable = lib.mkEnableOption (lib.mdDoc "auto-configuration for a simple single-node setup");
- enableTLS = lib.mkEnableOption "automatic TLS setup";
+ enableTLS = lib.mkEnableOption (lib.mdDoc "automatic TLS setup");
- enableNginx = lib.mkEnableOption "nginx virtualhost definitions";
+ enableNginx = lib.mkEnableOption (lib.mdDoc "nginx virtualhost definitions");
hostname = lib.mkOption {
type = lib.types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/firewall.nix b/third_party/nixpkgs/nixos/modules/services/networking/firewall.nix
index 48cb83e344..7f42df0b08 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/firewall.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/firewall.nix
@@ -417,7 +417,7 @@ in
checkReversePath = mkOption {
type = types.either types.bool (types.enum ["strict" "loose"]);
default = kernelHasRPFilter;
- defaultText = literalDocBook "true if supported by the chosen kernel";
+ defaultText = literalMD "`true` if supported by the chosen kernel";
example = "loose";
description =
lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/flannel.nix b/third_party/nixpkgs/nixos/modules/services/networking/flannel.nix
index 547b6e0394..c19e51e5aa 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/flannel.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/flannel.nix
@@ -14,7 +14,7 @@ let
};
in {
options.services.flannel = {
- enable = mkEnableOption "flannel";
+ enable = mkEnableOption (lib.mdDoc "flannel");
package = mkOption {
description = lib.mdDoc "Package to use for flannel";
@@ -83,7 +83,7 @@ in {
};
network = mkOption {
- description = " IPv4 network in CIDR format to use for the entire flannel network.";
+ description = lib.mdDoc " IPv4 network in CIDR format to use for the entire flannel network.";
type = types.str;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/freeradius.nix b/third_party/nixpkgs/nixos/modules/services/networking/freeradius.nix
index 6c6777c8a5..419a683cb7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/freeradius.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/freeradius.nix
@@ -33,7 +33,7 @@ let
};
freeradiusConfig = {
- enable = mkEnableOption "the freeradius server";
+ enable = mkEnableOption (lib.mdDoc "the freeradius server");
configDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/frr.nix b/third_party/nixpkgs/nixos/modules/services/networking/frr.nix
index 71b66b71ee..d350fe3548 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/frr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/frr.nix
@@ -51,7 +51,7 @@ let
serviceOptions = service:
{
- enable = mkEnableOption "the FRR ${toUpper service} routing protocol";
+ enable = mkEnableOption (lib.mdDoc "the FRR ${toUpper service} routing protocol");
configFile = mkOption {
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/gateone.nix b/third_party/nixpkgs/nixos/modules/services/networking/gateone.nix
index dc4a65f020..ac3f3c9bbf 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/gateone.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/gateone.nix
@@ -6,7 +6,7 @@ in
{
options = {
services.gateone = {
- enable = mkEnableOption "GateOne server";
+ enable = mkEnableOption (lib.mdDoc "GateOne server");
pidDir = mkOption {
default = "/run/gateone";
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/gdomap.nix b/third_party/nixpkgs/nixos/modules/services/networking/gdomap.nix
index 3d829cb691..53ea8b6875 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/gdomap.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/gdomap.nix
@@ -8,7 +8,7 @@ with lib;
#
options = {
services.gdomap = {
- enable = mkEnableOption "GNUstep Distributed Objects name server";
+ enable = mkEnableOption (lib.mdDoc "GNUstep Distributed Objects name server");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ghostunnel.nix b/third_party/nixpkgs/nixos/modules/services/networking/ghostunnel.nix
index 4b9620cea2..4902367e2a 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ghostunnel.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ghostunnel.nix
@@ -213,7 +213,7 @@ in
{
options = {
- services.ghostunnel.enable = mkEnableOption "ghostunnel";
+ services.ghostunnel.enable = mkEnableOption (lib.mdDoc "ghostunnel");
services.ghostunnel.package = mkOption {
description = lib.mdDoc "The ghostunnel package to use.";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/globalprotect-vpn.nix b/third_party/nixpkgs/nixos/modules/services/networking/globalprotect-vpn.nix
index bb60916244..36aa937804 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/globalprotect-vpn.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/globalprotect-vpn.nix
@@ -14,14 +14,12 @@ in
{
options.services.globalprotect = {
- enable = mkEnableOption "globalprotect";
+ enable = mkEnableOption (lib.mdDoc "globalprotect");
settings = mkOption {
- description = ''
+ description = lib.mdDoc ''
GlobalProtect-openconnect configuration. For more information, visit
- .
+ .
'';
default = { };
example = {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/go-neb.nix b/third_party/nixpkgs/nixos/modules/services/networking/go-neb.nix
index ffa7923d6f..8c04542c47 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/go-neb.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/go-neb.nix
@@ -9,7 +9,7 @@ let
configFile = settingsFormat.generate "config.yaml" cfg.config;
in {
options.services.go-neb = {
- enable = mkEnableOption "Extensible matrix bot written in Go";
+ enable = mkEnableOption (lib.mdDoc "Extensible matrix bot written in Go");
bindAddress = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix b/third_party/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix
index e3f99f68d6..d9c4a2421d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/go-shadowsocks2.nix
@@ -5,7 +5,7 @@ let
cfg = config.services.go-shadowsocks2.server;
in {
options.services.go-shadowsocks2.server = {
- enable = mkEnableOption "go-shadowsocks2 server";
+ enable = mkEnableOption (lib.mdDoc "go-shadowsocks2 server");
listenAddress = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/gobgpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/gobgpd.nix
index f1e2095708..b22242edaa 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/gobgpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/gobgpd.nix
@@ -8,7 +8,7 @@ let
confFile = format.generate "gobgpd.conf" cfg.settings;
in {
options.services.gobgpd = {
- enable = mkEnableOption "GoBGP Routing Daemon";
+ enable = mkEnableOption (lib.mdDoc "GoBGP Routing Daemon");
settings = mkOption {
type = format.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/gvpe.nix b/third_party/nixpkgs/nixos/modules/services/networking/gvpe.nix
index 5ecf78d09e..2279ceee2f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/gvpe.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/gvpe.nix
@@ -42,7 +42,7 @@ in
{
options = {
services.gvpe = {
- enable = lib.mkEnableOption "gvpe";
+ enable = lib.mkEnableOption (lib.mdDoc "gvpe");
nodename = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/headscale.nix b/third_party/nixpkgs/nixos/modules/services/networking/headscale.nix
index 23d8dac2f9..0334c5a00b 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/headscale.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/headscale.nix
@@ -12,7 +12,7 @@ in
{
options = {
services.headscale = {
- enable = mkEnableOption "headscale, Open Source coordination server for Tailscale";
+ enable = mkEnableOption (lib.mdDoc "headscale, Open Source coordination server for Tailscale");
package = mkOption {
type = types.package;
@@ -26,26 +26,28 @@ in
user = mkOption {
default = "headscale";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
User account under which headscale runs.
-
+
+ ::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the headscale service starts.
-
+ :::
'';
};
group = mkOption {
default = "headscale";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Group under which headscale runs.
-
+
+ ::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the headscale service starts.
-
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/https-dns-proxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/https-dns-proxy.nix
index 18b07a5ca3..87eb23ea45 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/https-dns-proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/https-dns-proxy.nix
@@ -46,7 +46,7 @@ in
###### interface
options.services.https-dns-proxy = {
- enable = mkEnableOption "https-dns-proxy daemon";
+ enable = mkEnableOption (lib.mdDoc "https-dns-proxy daemon");
address = mkOption {
description = lib.mdDoc "The address on which to listen";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/hylafax/options.nix b/third_party/nixpkgs/nixos/modules/services/networking/hylafax/options.nix
index 79275d628b..82c144236f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/hylafax/options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/hylafax/options.nix
@@ -118,7 +118,7 @@ in
options.services.hylafax = {
- enable = mkEnableOption "HylaFAX server";
+ enable = mkEnableOption (lib.mdDoc "HylaFAX server");
autostart = mkOption {
type = bool;
@@ -172,23 +172,23 @@ in
userAccessFile = mkOption {
type = path;
default = "/etc/hosts.hfaxd";
- description = ''
- The hosts.hfaxd
+ description = lib.mdDoc ''
+ The {file}`hosts.hfaxd`
file entry in the spooling area
will be symlinked to the location given here.
This file must exist and be
- readable only by the uucp user.
+ readable only by the `uucp` user.
See hosts.hfaxd(5) for details.
This configuration permits access for all users:
-
+ ```
environment.etc."hosts.hfaxd" = {
mode = "0600";
user = "uucp";
text = ".*";
};
-
+ ```
Note that host-based access can be controlled with
- ;
+ {option}`config.systemd.sockets.hylafax-hfaxd.listenStreams`;
by default, only 127.0.0.1 is permitted to connect.
'';
};
@@ -271,11 +271,11 @@ in
'';
};
- faxcron.enable.spoolInit = mkEnableOption ''
+ faxcron.enable.spoolInit = mkEnableOption (lib.mdDoc ''
Purge old files from the spooling area with
- faxcron
+ {file}`faxcron`
each time the spooling area is initialized.
- '';
+ '');
faxcron.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
@@ -311,11 +311,11 @@ in
'';
};
- faxqclean.enable.spoolInit = mkEnableOption ''
+ faxqclean.enable.spoolInit = mkEnableOption (lib.mdDoc ''
Purge old files from the spooling area with
- faxqclean
+ {file}`faxqclean`
each time the spooling area is initialized.
- '';
+ '');
faxqclean.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/i2p.nix b/third_party/nixpkgs/nixos/modules/services/networking/i2p.nix
index 3b6010531f..c5c7a955cb 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/i2p.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/i2p.nix
@@ -7,7 +7,7 @@ let
homeDir = "/var/lib/i2p";
in {
###### interface
- options.services.i2p.enable = mkEnableOption "I2P router";
+ options.services.i2p.enable = mkEnableOption (lib.mdDoc "I2P router");
###### implementation
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix b/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
index fb83778fcf..47f4a42aa5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
@@ -17,10 +17,10 @@ let
optionalNullInt = o: i: optional (i != null) (intOpt o i);
optionalEmptyList = o: l: optional ([] != l) (lstOpt o l);
- mkEnableTrueOption = name: mkEnableOption name // { default = true; };
+ mkEnableTrueOption = name: mkEnableOption (lib.mdDoc name) // { default = true; };
mkEndpointOpt = name: addr: port: {
- enable = mkEnableOption name;
+ enable = mkEnableOption (lib.mdDoc name);
name = mkOption {
type = types.str;
default = name;
@@ -247,8 +247,8 @@ in
services.i2pd = {
- enable = mkEnableOption "I2Pd daemon" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "I2Pd daemon") // {
+ description = lib.mdDoc ''
Enables I2Pd as a running service upon activation.
Please read http://i2pd.readthedocs.io/en/latest/ for further
configuration help.
@@ -276,7 +276,7 @@ in
'';
};
- logCLFTime = mkEnableOption "Full CLF-formatted date and time to log";
+ logCLFTime = mkEnableOption (lib.mdDoc "Full CLF-formatted date and time to log");
address = mkOption {
type = with types; nullOr str;
@@ -345,14 +345,14 @@ in
ntcp = mkEnableTrueOption "ntcp";
ssu = mkEnableTrueOption "ssu";
- notransit = mkEnableOption "notransit" // {
- description = ''
+ notransit = mkEnableOption (lib.mdDoc "notransit") // {
+ description = lib.mdDoc ''
Tells the router to not accept transit tunnels during startup.
'';
};
- floodfill = mkEnableOption "floodfill" // {
- description = ''
+ floodfill = mkEnableOption (lib.mdDoc "floodfill") // {
+ description = lib.mdDoc ''
If the router is declared to be unreachable and needs introduction nodes.
'';
};
@@ -383,10 +383,10 @@ in
};
enableIPv4 = mkEnableTrueOption "IPv4 connectivity";
- enableIPv6 = mkEnableOption "IPv6 connectivity";
+ enableIPv6 = mkEnableOption (lib.mdDoc "IPv6 connectivity");
nat = mkEnableTrueOption "NAT bypass";
- upnp.enable = mkEnableOption "UPnP service discovery";
+ upnp.enable = mkEnableOption (lib.mdDoc "UPnP service discovery");
upnp.name = mkOption {
type = types.str;
default = "I2Pd";
@@ -406,7 +406,7 @@ in
'';
};
- reseed.verify = mkEnableOption "SU3 signature verification";
+ reseed.verify = mkEnableOption (lib.mdDoc "SU3 signature verification");
reseed.file = mkOption {
type = with types; nullOr str;
@@ -467,7 +467,7 @@ in
'';
};
- trust.enable = mkEnableOption "Explicit trust options";
+ trust.enable = mkEnableOption (lib.mdDoc "Explicit trust options");
trust.family = mkOption {
type = with types; nullOr str;
@@ -485,7 +485,7 @@ in
'';
};
- trust.hidden = mkEnableOption "Router concealment";
+ trust.hidden = mkEnableOption (lib.mdDoc "Router concealment");
websocket = mkEndpointOpt "websockets" "127.0.0.1" 7666;
@@ -493,7 +493,7 @@ in
exploratory.outbound = i2cpOpts "exploratory";
ntcp2.enable = mkEnableTrueOption "NTCP2";
- ntcp2.published = mkEnableOption "NTCP2 publication";
+ ntcp2.published = mkEnableOption (lib.mdDoc "NTCP2 publication");
ntcp2.port = mkOption {
type = types.int;
default = 0;
@@ -550,7 +550,7 @@ in
'';
};
- yggdrasil.enable = mkEnableOption "Yggdrasil";
+ yggdrasil.enable = mkEnableOption (lib.mdDoc "Yggdrasil");
yggdrasil.address = mkOption {
type = with types; nullOr str;
@@ -563,7 +563,7 @@ in
proto.http = (mkEndpointOpt "http" "127.0.0.1" 7070) // {
- auth = mkEnableOption "Webconsole authentication";
+ auth = mkEnableOption (lib.mdDoc "Webconsole authentication");
user = mkOption {
type = types.str;
@@ -608,7 +608,7 @@ in
};
proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "socksproxy-keys.dat")
// {
- outproxyEnable = mkEnableOption "SOCKS outproxy";
+ outproxyEnable = mkEnableOption (lib.mdDoc "SOCKS outproxy");
outproxy = mkOption {
type = types.str;
default = "127.0.0.1";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/icecream/daemon.nix b/third_party/nixpkgs/nixos/modules/services/networking/icecream/daemon.nix
index f94832c477..fdd7a139c2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/icecream/daemon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/icecream/daemon.nix
@@ -12,7 +12,7 @@ in {
services.icecream.daemon = {
- enable = mkEnableOption "Icecream Daemon";
+ enable = mkEnableOption (lib.mdDoc "Icecream Daemon");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/icecream/scheduler.nix b/third_party/nixpkgs/nixos/modules/services/networking/icecream/scheduler.nix
index 51f3988fe5..33aee1bb19 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/icecream/scheduler.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/icecream/scheduler.nix
@@ -11,7 +11,7 @@ in {
options = {
services.icecream.scheduler = {
- enable = mkEnableOption "Icecream Scheduler";
+ enable = mkEnableOption (lib.mdDoc "Icecream Scheduler");
netName = mkOption {
type = types.nullOr types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/inspircd.nix b/third_party/nixpkgs/nixos/modules/services/networking/inspircd.nix
index f2464b9a11..da193df105 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/inspircd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/inspircd.nix
@@ -12,7 +12,7 @@ in {
options = {
services.inspircd = {
- enable = lib.mkEnableOption "InspIRCd";
+ enable = lib.mkEnableOption (lib.mdDoc "InspIRCd");
package = lib.mkOption {
type = lib.types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/iperf3.nix b/third_party/nixpkgs/nixos/modules/services/networking/iperf3.nix
index 0c308f8e7c..a70085bb1f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/iperf3.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/iperf3.nix
@@ -3,7 +3,7 @@ let
cfg = config.services.iperf3;
api = {
- enable = mkEnableOption "iperf3 network throughput testing server";
+ enable = mkEnableOption (lib.mdDoc "iperf3 network throughput testing server");
port = mkOption {
type = types.ints.u16;
default = 5201;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix b/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
index 44fadde1fb..554b0f7bb8 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
@@ -36,7 +36,7 @@ in
services.ircdHybrid = {
- enable = mkEnableOption "IRCD";
+ enable = mkEnableOption (lib.mdDoc "IRCD");
serverName = mkOption {
default = "hades.arpa";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/iscsi/initiator.nix b/third_party/nixpkgs/nixos/modules/services/networking/iscsi/initiator.nix
index 7414a705a2..d2865a660e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/iscsi/initiator.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/iscsi/initiator.nix
@@ -4,11 +4,11 @@ let
in
{
options.services.openiscsi = with types; {
- enable = mkEnableOption "the openiscsi iscsi daemon";
- enableAutoLoginOut = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc "the openiscsi iscsi daemon");
+ enableAutoLoginOut = mkEnableOption (lib.mdDoc ''
automatic login and logout of all automatic targets.
You probably do not want this.
- '';
+ '');
discoverPortal = mkOption {
type = nullOr str;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/iscsi/target.nix b/third_party/nixpkgs/nixos/modules/services/networking/iscsi/target.nix
index 5bdac4336c..88eaf45900 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/iscsi/target.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/iscsi/target.nix
@@ -9,7 +9,7 @@ in
###### interface
options = {
services.target = with types; {
- enable = mkEnableOption "the kernel's LIO iscsi target";
+ enable = mkEnableOption (lib.mdDoc "the kernel's LIO iscsi target");
config = mkOption {
type = attrs;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/iwd.nix b/third_party/nixpkgs/nixos/modules/services/networking/iwd.nix
index 4921fe2c76..526e6ab0a7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/iwd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/iwd.nix
@@ -17,7 +17,7 @@ let
in
{
options.networking.wireless.iwd = {
- enable = mkEnableOption "iwd";
+ enable = mkEnableOption (lib.mdDoc "iwd");
settings = mkOption {
type = ini.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/jibri/default.nix b/third_party/nixpkgs/nixos/modules/services/networking/jibri/default.nix
index 4ac5bae22c..6925ac5584 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/jibri/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/jibri/default.nix
@@ -89,7 +89,7 @@ let
in
{
options.services.jibri = with types; {
- enable = mkEnableOption "Jitsi BRoadcasting Infrastructure. Currently Jibri must be run on a host that is also running , so for most use cases it will be simpler to run ";
+ enable = mkEnableOption (lib.mdDoc "Jitsi BRoadcasting Infrastructure. Currently Jibri must be run on a host that is also running {option}`services.jitsi-meet.enable`, so for most use cases it will be simpler to run {option}`services.jitsi-meet.jibri.enable`");
config = mkOption {
type = attrs;
default = { };
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/jicofo.nix b/third_party/nixpkgs/nixos/modules/services/networking/jicofo.nix
index 3b9038f567..5e97889607 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/jicofo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/jicofo.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.jicofo = with types; {
- enable = mkEnableOption "Jitsi Conference Focus - component of Jitsi Meet";
+ enable = mkEnableOption (lib.mdDoc "Jitsi Conference Focus - component of Jitsi Meet");
xmppHost = mkOption {
type = str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/jitsi-videobridge.nix b/third_party/nixpkgs/nixos/modules/services/networking/jitsi-videobridge.nix
index 36e7616d75..4455b7bcee 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/jitsi-videobridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/jitsi-videobridge.nix
@@ -51,7 +51,7 @@ let
in
{
options.services.jitsi-videobridge = with types; {
- enable = mkEnableOption "Jitsi Videobridge, a WebRTC compatible video router";
+ enable = mkEnableOption (lib.mdDoc "Jitsi Videobridge, a WebRTC compatible video router");
config = mkOption {
type = attrs;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/kea.nix b/third_party/nixpkgs/nixos/modules/services/networking/kea.nix
index d674a97391..f39b149dd6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/kea.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/kea.nix
@@ -41,7 +41,7 @@ in
default = {};
type = submodule {
options = {
- enable = mkEnableOption "Kea Control Agent";
+ enable = mkEnableOption (lib.mdDoc "Kea Control Agent");
extraArgs = mkOption {
type = listOf str;
@@ -80,7 +80,7 @@ in
default = {};
type = submodule {
options = {
- enable = mkEnableOption "Kea DHCP4 server";
+ enable = mkEnableOption (lib.mdDoc "Kea DHCP4 server");
extraArgs = mkOption {
type = listOf str;
@@ -140,7 +140,7 @@ in
default = {};
type = submodule {
options = {
- enable = mkEnableOption "Kea DHCP6 server";
+ enable = mkEnableOption (lib.mdDoc "Kea DHCP6 server");
extraArgs = mkOption {
type = listOf str;
@@ -201,7 +201,7 @@ in
default = {};
type = submodule {
options = {
- enable = mkEnableOption "Kea DDNS server";
+ enable = mkEnableOption (lib.mdDoc "Kea DDNS server");
extraArgs = mkOption {
type = listOf str;
@@ -298,7 +298,7 @@ in
];
serviceConfig = {
- ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}";
+ ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.ctrl-agent.extraArgs}";
KillMode = "process";
Restart = "on-failure";
} // commonServiceConfig;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/keepalived/default.nix b/third_party/nixpkgs/nixos/modules/services/networking/keepalived/default.nix
index 768c8e4b13..1ab25c8799 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/keepalived/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/keepalived/default.nix
@@ -264,6 +264,19 @@ in
'';
};
+ secretFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ example = "/run/keys/keepalived.env";
+ description = ''
+ Environment variables from this file will be interpolated into the
+ final config file using envsubst with this syntax: $ENVIRONMENT
+ or ''${VARIABLE}.
+ The file should contain lines formatted as SECRET_VAR=SECRET_VALUE.
+ This is useful to avoid putting secrets into the nix store.
+ '';
+ };
+
};
};
@@ -282,7 +295,9 @@ in
};
};
- systemd.services.keepalived = {
+ systemd.services.keepalived = let
+ finalConfigFile = if cfg.secretFile == null then keepalivedConf else "/run/keepalived/keepalived.conf";
+ in {
description = "Keepalive Daemon (LVS and VRRP)";
after = [ "network.target" "network-online.target" "syslog.target" ];
wants = [ "network-online.target" ];
@@ -290,8 +305,15 @@ in
Type = "forking";
PIDFile = pidFile;
KillMode = "process";
+ RuntimeDirectory = "keepalived";
+ EnvironmentFile = lib.optional (cfg.secretFile != null) cfg.secretFile;
+ ExecStartPre = lib.optional (cfg.secretFile != null)
+ (pkgs.writeShellScript "keepalived-pre-start" ''
+ umask 077
+ ${pkgs.envsubst}/bin/envsubst -i "${keepalivedConf}" > ${finalConfigFile}
+ '');
ExecStart = "${pkgs.keepalived}/sbin/keepalived"
- + " -f ${keepalivedConf}"
+ + " -f ${finalConfigFile}"
+ " -p ${pidFile}"
+ optionalString cfg.snmp.enable " --snmp";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/knot.nix b/third_party/nixpkgs/nixos/modules/services/networking/knot.nix
index 20f11f0cd5..de23811282 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/knot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/knot.nix
@@ -37,7 +37,7 @@ let
in {
options = {
services.knot = {
- enable = mkEnableOption "Knot authoritative-only DNS server";
+ enable = mkEnableOption (lib.mdDoc "Knot authoritative-only DNS server");
extraArgs = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix b/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
index 08ffcca8a5..b5df31c28d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
@@ -47,7 +47,7 @@ in
services.libreswan = {
- enable = mkEnableOption "Libreswan IPsec service";
+ enable = mkEnableOption (lib.mdDoc "Libreswan IPsec service");
configSetup = mkOption {
type = types.lines;
@@ -93,12 +93,12 @@ in
''';
}
'';
- description = ''
+ description = lib.mdDoc ''
A set of policies to apply to the IPsec connections.
-
- The policy name must match the one of connection it needs to apply to.
-
+ ::: {.note}
+ The policy name must match the one of connection it needs to apply to.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/lldpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/lldpd.nix
index 41a3713fce..b7ac99d75d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/lldpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/lldpd.nix
@@ -9,7 +9,7 @@ in
{
options.services.lldpd = {
- enable = mkEnableOption "Link Layer Discovery Protocol Daemon";
+ enable = mkEnableOption (lib.mdDoc "Link Layer Discovery Protocol Daemon");
extraArgs = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/lokinet.nix b/third_party/nixpkgs/nixos/modules/services/networking/lokinet.nix
index 59622d173a..f6bc314ed2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/lokinet.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/lokinet.nix
@@ -7,7 +7,7 @@ let
configFile = settingsFormat.generate "lokinet.ini" (lib.filterAttrsRecursive (n: v: v != null) cfg.settings);
in with lib; {
options.services.lokinet = {
- enable = mkEnableOption "Lokinet daemon";
+ enable = mkEnableOption (lib.mdDoc "Lokinet daemon");
package = mkOption {
type = types.package;
@@ -65,9 +65,9 @@ in with lib; {
exit-node = [ "example.loki" ]; # maps all exit traffic to example.loki
exit-node = [ "example.loki:100.0.0.0/24" ]; # maps 100.0.0.0/24 to example.loki
'';
- description = ''
+ description = lib.mdDoc ''
Specify a `.loki` address and an optional ip range to use as an exit broker.
- See for
+ See for
a list of exit nodes.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/lxd-image-server.nix b/third_party/nixpkgs/nixos/modules/services/networking/lxd-image-server.nix
index 44f93a5c56..1099169440 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/lxd-image-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/lxd-image-server.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.lxd-image-server = {
- enable = mkEnableOption "lxd-image-server";
+ enable = mkEnableOption (lib.mdDoc "lxd-image-server");
group = mkOption {
type = types.str;
@@ -31,7 +31,7 @@ in
};
nginx = {
- enable = mkEnableOption "nginx";
+ enable = mkEnableOption (lib.mdDoc "nginx");
domain = mkOption {
type = types.str;
description = lib.mdDoc "Domain to use for nginx virtual host.";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/magic-wormhole-mailbox-server.nix b/third_party/nixpkgs/nixos/modules/services/networking/magic-wormhole-mailbox-server.nix
index 09d357cd2b..326abe8cfc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/magic-wormhole-mailbox-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/magic-wormhole-mailbox-server.nix
@@ -9,7 +9,7 @@ let
in
{
options.services.magic-wormhole-mailbox-server = {
- enable = mkEnableOption "Enable Magic Wormhole Mailbox Server";
+ enable = mkEnableOption (lib.mdDoc "Enable Magic Wormhole Mailbox Server");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/matterbridge.nix b/third_party/nixpkgs/nixos/modules/services/networking/matterbridge.nix
index f75be9b4e3..2921074fcd 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/matterbridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/matterbridge.nix
@@ -17,7 +17,7 @@ in
{
options = {
services.matterbridge = {
- enable = mkEnableOption "Matterbridge chat platform bridge";
+ enable = mkEnableOption (lib.mdDoc "Matterbridge chat platform bridge");
configPath = mkOption {
type = with types; nullOr str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/minidlna.nix b/third_party/nixpkgs/nixos/modules/services/networking/minidlna.nix
index 0cac41f58d..549f1fe5de 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/minidlna.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/minidlna.nix
@@ -1,6 +1,5 @@
# Module for MiniDLNA, a simple DLNA server.
{ config, lib, pkgs, ... }:
-
with lib;
let
@@ -34,8 +33,7 @@ in
default = {};
description = lib.mdDoc ''
The contents of MiniDLNA's configuration file.
- When the service is activated, a basic template is generated
- from the current options opened here.
+ When the service is activated, a basic template is generated from the current options opened here.
'';
type = types.submodule {
freeformType = settingsFormat.type;
@@ -46,10 +44,8 @@ in
example = [ "/data/media" "V,/home/alice/video" ];
description = lib.mdDoc ''
Directories to be scanned for media files.
- The prefixes `A,`,`V,` and
- `P,` restrict a directory to audio, video
- or image files. The directories must be accessible to the
- `minidlna` user account.
+ The `A,` `V,` `P,` prefixes restrict a directory to audio, video or image files.
+ The directories must be accessible to the `minidlna` user account.
'';
};
options.notify_interval = mkOption {
@@ -57,18 +53,11 @@ in
default = 90000;
description = lib.mdDoc ''
The interval between announces (in seconds).
- Instead of waiting on announces, one can open port UDP 1900 or
- set `openFirewall` option to use SSDP discovery.
- Furthermore announce interval has now been set as 90000 in order
- to prevent disconnects with certain clients and to rely solely
- on the SSDP method.
-
- Lower values (e.g. 60 seconds) should be used if one does not
- want to utilize SSDP. By default miniDLNA will announce its
- presence on the network approximately every 15 minutes. Many
- people prefer shorter announce intervals on their home networks,
- especially when DLNA clients are started on demand.
+ Instead of waiting for announces, you should set `openFirewall` option to use SSDP discovery.
+ Furthermore, this option has been set to 90000 in order to prevent disconnects with certain
+ clients and relies solely on the discovery.
+ Lower values (e.g. 30 seconds) should be used if you can't use the discovery.
Some relevant information can be found here:
https://sourceforge.net/p/minidlna/discussion/879957/thread/1389d197/
'';
@@ -86,7 +75,7 @@ in
};
options.friendly_name = mkOption {
type = types.str;
- default = "${config.networking.hostName} MiniDLNA";
+ default = config.networking.hostName;
defaultText = literalExpression "config.networking.hostName";
example = "rpi3";
description = lib.mdDoc "Name that the DLNA server presents to clients.";
@@ -116,7 +105,7 @@ in
options.wide_links = mkOption {
type = types.enum [ "yes" "no" ];
default = "no";
- description = lib.mdDoc "Set this to yes to allow symlinks that point outside user-defined media_dirs.";
+ description = lib.mdDoc "Set this to yes to allow symlinks that point outside user-defined `media_dir`.";
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/miniupnpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/miniupnpd.nix
index 524270edd1..64aacaf350 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/miniupnpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/miniupnpd.nix
@@ -19,7 +19,7 @@ in
{
options = {
services.miniupnpd = {
- enable = mkEnableOption "MiniUPnP daemon";
+ enable = mkEnableOption (lib.mdDoc "MiniUPnP daemon");
externalInterface = mkOption {
type = types.str;
@@ -36,7 +36,7 @@ in
'';
};
- natpmp = mkEnableOption "NAT-PMP support";
+ natpmp = mkEnableOption (lib.mdDoc "NAT-PMP support");
upnp = mkOption {
default = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/miredo.nix b/third_party/nixpkgs/nixos/modules/services/networking/miredo.nix
index 5e42678c32..d15a55b4d7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/miredo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/miredo.nix
@@ -20,7 +20,7 @@ in
services.miredo = {
- enable = mkEnableOption "the Miredo IPv6 tunneling service";
+ enable = mkEnableOption (lib.mdDoc "the Miredo IPv6 tunneling service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix b/third_party/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
index 8b490f0248..8f8d5f5c4d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/mjpg-streamer.nix
@@ -12,7 +12,7 @@ in {
services.mjpg-streamer = {
- enable = mkEnableOption "mjpg-streamer webcam streamer";
+ enable = mkEnableOption (lib.mdDoc "mjpg-streamer webcam streamer");
inputPlugin = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/monero.nix b/third_party/nixpkgs/nixos/modules/services/networking/monero.nix
index bac705843e..0de02882ac 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/monero.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/monero.nix
@@ -50,7 +50,7 @@ in
services.monero = {
- enable = mkEnableOption "Monero node daemon";
+ enable = mkEnableOption (lib.mdDoc "Monero node daemon");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/morty.nix b/third_party/nixpkgs/nixos/modules/services/networking/morty.nix
index cc5d7998f3..4b20c34cfc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/morty.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/morty.nix
@@ -17,7 +17,7 @@ in
services.morty = {
enable = mkEnableOption
- "Morty proxy server. See https://github.com/asciimoo/morty";
+ (lib.mdDoc "Morty proxy server. See https://github.com/asciimoo/morty");
ipv6 = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/mosquitto.nix b/third_party/nixpkgs/nixos/modules/services/networking/mosquitto.nix
index 49f0cc9012..5ada92adc9 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/mosquitto.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/mosquitto.nix
@@ -443,7 +443,7 @@ let
};
globalOptions = with types; {
- enable = mkEnableOption "the MQTT Mosquitto broker";
+ enable = mkEnableOption (lib.mdDoc "the MQTT Mosquitto broker");
package = mkOption {
type = package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/mtprotoproxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/mtprotoproxy.nix
index 7ff1cb0b2d..fc3d5dc963 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/mtprotoproxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/mtprotoproxy.nix
@@ -37,7 +37,7 @@ in
services.mtprotoproxy = {
- enable = mkEnableOption "mtprotoproxy";
+ enable = mkEnableOption (lib.mdDoc "mtprotoproxy");
port = mkOption {
type = types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix b/third_party/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix
index b95af08d36..43ebbbe96d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix
@@ -9,7 +9,7 @@ in {
options = {
services = {
mtr-exporter = {
- enable = mkEnableOption "a Prometheus exporter for MTR";
+ enable = mkEnableOption (lib.mdDoc "a Prometheus exporter for MTR");
target = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/multipath.nix b/third_party/nixpkgs/nixos/modules/services/networking/multipath.nix
index 3dc6be96e7..cb6b6db272 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/multipath.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/multipath.nix
@@ -22,7 +22,7 @@ in {
options.services.multipath = with types; {
- enable = mkEnableOption "the device mapper multipath (DM-MP) daemon";
+ enable = mkEnableOption (lib.mdDoc "the device mapper multipath (DM-MP) daemon");
package = mkOption {
type = package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/murmur.nix b/third_party/nixpkgs/nixos/modules/services/networking/murmur.nix
index 73787f433b..32498ca25e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/murmur.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/murmur.nix
@@ -261,25 +261,25 @@ in
type = types.nullOr types.path;
default = null;
example = "/var/lib/murmur/murmurd.env";
- description = ''
- Environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the world-readable
Nix store, by specifying placeholder variables as the option value in Nix and
setting these variables accordingly in the environment file.
-
+ ```
# snippet of murmur-related config
services.murmur.password = "$MURMURD_PASSWORD";
-
+ ```
-
+ ```
# content of the environment file
MURMURD_PASSWORD=verysecretpassword
-
+ ```
Note that this file needs to be available on the host on which
- murmur is running.
+ `murmur` is running.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/mxisd.nix b/third_party/nixpkgs/nixos/modules/services/networking/mxisd.nix
index 571326c5ac..528a51c1f3 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/mxisd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/mxisd.nix
@@ -37,7 +37,7 @@ let
in {
options = {
services.mxisd = {
- enable = mkEnableOption "matrix federated identity server";
+ enable = mkEnableOption (lib.mdDoc "matrix federated identity server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/namecoind.nix b/third_party/nixpkgs/nixos/modules/services/networking/namecoind.nix
index 45a9074146..085d6c5fe2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/namecoind.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/namecoind.nix
@@ -44,7 +44,7 @@ in
services.namecoind = {
- enable = mkEnableOption "namecoind, Namecoin client";
+ enable = mkEnableOption (lib.mdDoc "namecoind, Namecoin client");
wallet = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nar-serve.nix b/third_party/nixpkgs/nixos/modules/services/networking/nar-serve.nix
index a725f4453c..beee53c8a2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nar-serve.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nar-serve.nix
@@ -10,7 +10,7 @@ in
};
options = {
services.nar-serve = {
- enable = mkEnableOption "Serve NAR file contents via HTTP";
+ enable = mkEnableOption (lib.mdDoc "Serve NAR file contents via HTTP");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nat.nix b/third_party/nixpkgs/nixos/modules/services/networking/nat.nix
index 0eb9b158e6..0b70ae47cc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nat.nix
@@ -319,7 +319,10 @@ in
}
];
- environment.systemPackages = [ pkgs.iptables ];
+ # Use the same iptables package as in config.networking.firewall.
+ # When the firewall is enabled, this should be deduplicated without any
+ # error.
+ environment.systemPackages = [ config.networking.firewall.package ];
boot = {
kernelModules = [ "nf_nat_ftp" ];
@@ -347,7 +350,7 @@ in
description = "Network Address Translation";
wantedBy = [ "network.target" ];
after = [ "network-pre.target" "systemd-modules-load.service" ];
- path = [ pkgs.iptables ];
+ path = [ config.networking.firewall.package ];
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
serviceConfig = {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nats.nix b/third_party/nixpkgs/nixos/modules/services/networking/nats.nix
index 41e38add69..dd732d2a9f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nats.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nats.nix
@@ -16,7 +16,7 @@ in {
options = {
services.nats = {
- enable = mkEnableOption "NATS messaging system";
+ enable = mkEnableOption (lib.mdDoc "NATS messaging system");
user = mkOption {
type = types.str;
@@ -39,7 +39,7 @@ in {
'';
};
- jetstream = mkEnableOption "JetStream";
+ jetstream = mkEnableOption (lib.mdDoc "JetStream");
port = mkOption {
default = 4222;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nbd.nix b/third_party/nixpkgs/nixos/modules/services/networking/nbd.nix
index 76ca11dfea..454380aa31 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nbd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nbd.nix
@@ -43,7 +43,7 @@ in
options = {
services.nbd = {
server = {
- enable = mkEnableOption "the Network Block Device (nbd) server";
+ enable = mkEnableOption (lib.mdDoc "the Network Block Device (nbd) server");
listenPort = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ncdns.nix b/third_party/nixpkgs/nixos/modules/services/networking/ncdns.nix
index 8af1b532cf..1d49433209 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ncdns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ncdns.nix
@@ -50,11 +50,11 @@ in
services.ncdns = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
ncdns, a Go daemon to bridge Namecoin to DNS.
- To resolve .bit domains set services.namecoind.enable = true;
+ To resolve .bit domains set `services.namecoind.enable = true;`
and an RPC username/password
- '';
+ '');
address = mkOption {
type = types.str;
@@ -78,16 +78,16 @@ in
default = config.networking.hostName;
defaultText = literalExpression "config.networking.hostName";
example = "example.com";
- description = ''
+ description = lib.mdDoc ''
The hostname of this ncdns instance, which defaults to the machine
hostname. If specified, ncdns lists the hostname as an NS record at
the zone apex:
-
+ ```
bit. IN NS ns1.example.com.
-
+ ```
If unset ncdns will generate an internal psuedo-hostname under the
zone, which will resolve to the value of
- .
+ {option}`services.ncdns.identity.address`.
If you are only using ncdns locally you can ignore this.
'';
};
@@ -112,24 +112,24 @@ in
'';
};
- dnssec.enable = mkEnableOption ''
+ dnssec.enable = mkEnableOption (lib.mdDoc ''
DNSSEC support in ncdns. This will generate KSK and ZSK keypairs
(unless provided via the options
- ,
- etc.) and add a trust
+ {option}`services.ncdns.dnssec.publicKey`,
+ {option}`services.ncdns.dnssec.privateKey` etc.) and add a trust
anchor to recursive resolvers
- '';
+ '');
dnssec.keys.public = mkOption {
type = types.path;
default = defaultFiles.public;
- description = ''
+ description = lib.mdDoc ''
Path to the file containing the KSK public key.
- The key can be generated using the dnssec-keygen
- command, provided by the package bind as follows:
-
+ The key can be generated using the `dnssec-keygen`
+ command, provided by the package `bind` as follows:
+ ```
$ dnssec-keygen -a RSASHA256 -3 -b 2048 -f KSK bit
-
+ ```
'';
};
@@ -144,13 +144,13 @@ in
dnssec.keys.zonePublic = mkOption {
type = types.path;
default = defaultFiles.zonePublic;
- description = ''
+ description = lib.mdDoc ''
Path to the file containing the ZSK public key.
- The key can be generated using the dnssec-keygen
- command, provided by the package bind as follows:
-
+ The key can be generated using the `dnssec-keygen`
+ command, provided by the package `bind` as follows:
+ ```
$ dnssec-keygen -a RSASHA256 -3 -b 2048 bit
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ndppd.nix b/third_party/nixpkgs/nixos/modules/services/networking/ndppd.nix
index ed97fe233b..6cbc9712be 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ndppd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ndppd.nix
@@ -103,21 +103,21 @@ let
in {
options.services.ndppd = {
- enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
+ enable = mkEnableOption (lib.mdDoc "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces");
interface = mkOption {
type = types.nullOr types.str;
- description = ''
+ description = lib.mdDoc ''
Interface which is on link-level with router.
- (Legacy option, use services.ndppd.proxies.<interface>.rules.<network> instead)
+ (Legacy option, use services.ndppd.proxies.\.rules.\ instead)
'';
default = null;
example = "eth0";
};
network = mkOption {
type = types.nullOr types.str;
- description = ''
+ description = lib.mdDoc ''
Network that we proxy.
- (Legacy option, use services.ndppd.proxies.<interface>.rules.<network> instead)
+ (Legacy option, use services.ndppd.proxies.\.rules.\ instead)
'';
default = null;
example = "1111::/64";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/netbird.nix b/third_party/nixpkgs/nixos/modules/services/networking/netbird.nix
new file mode 100644
index 0000000000..5bd9e9ca61
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/networking/netbird.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.netbird;
+ kernel = config.boot.kernelPackages;
+ interfaceName = "wt0";
+in {
+ meta.maintainers = with maintainers; [ misuzu ];
+
+ options.services.netbird = {
+ enable = mkEnableOption (lib.mdDoc "Netbird daemon");
+ package = mkOption {
+ type = types.package;
+ default = pkgs.netbird;
+ defaultText = literalExpression "pkgs.netbird";
+ description = lib.mdDoc "The package to use for netbird";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
+
+ environment.systemPackages = [ cfg.package ];
+
+ networking.dhcpcd.denyInterfaces = [ interfaceName ];
+
+ systemd.network.networks."50-netbird" = mkIf config.networking.useNetworkd {
+ matchConfig = {
+ Name = interfaceName;
+ };
+ linkConfig = {
+ Unmanaged = true;
+ ActivationPolicy = "manual";
+ };
+ };
+
+ systemd.services.netbird = {
+ description = "A WireGuard-based mesh network that connects your devices into a single private network";
+ documentation = [ "https://netbird.io/docs/" ];
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ AmbientCapabilities = [ "CAP_NET_ADMIN" ];
+ DynamicUser = true;
+ Environment = [
+ "NB_CONFIG=/var/lib/netbird/config.json"
+ "NB_LOG_FILE=console"
+ ];
+ ExecStart = "${cfg.package}/bin/netbird service run";
+ Restart = "always";
+ RuntimeDirectory = "netbird";
+ StateDirectory = "netbird";
+ WorkingDirectory = "/var/lib/netbird";
+ };
+ unitConfig = {
+ StartLimitInterval = 5;
+ StartLimitBurst = 10;
+ };
+ stopIfChanged = false;
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix b/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
index d5d562e7ba..0aa301251b 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
@@ -106,30 +106,14 @@ let
type = types.either types.str (types.enum ["permanent" "preserve" "random" "stable"]);
default = "preserve";
example = "00:11:22:33:44:55";
- description = ''
+ description = lib.mdDoc ''
Set the MAC address of the interface.
-
-
- "XX:XX:XX:XX:XX:XX"
- MAC address of the interface
-
-
- "permanent"
- Use the permanent MAC address of the device
-
-
- "preserve"
- Don’t change the MAC address of the device upon activation
-
-
- "random"
- Generate a randomized value upon each connect
-
-
- "stable"
- Generate a stable, hashed MAC address
-
-
+
+ - `"XX:XX:XX:XX:XX:XX"`: MAC address of the interface
+ - `"permanent"`: Use the permanent MAC address of the device
+ - `"preserve"`: Don’t change the MAC address of the device upon activation
+ - `"random"`: Generate a randomized value upon each connect
+ - `"stable"`: Generate a stable, hashed MAC address
'';
};
@@ -343,9 +327,9 @@ in {
type = mkOption {
type = types.enum (attrNames dispatcherTypesSubdirMap);
default = "basic";
- description = ''
+ description = lib.mdDoc ''
Dispatcher hook type. Look up the hooks described at
- https://developer.gnome.org/NetworkManager/stable/NetworkManager.html
+ [https://developer.gnome.org/NetworkManager/stable/NetworkManager.html](https://developer.gnome.org/NetworkManager/stable/NetworkManager.html)
and choose the type depending on the output folder.
You should then filter the event type (e.g., "up"/"down") from within your script.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nftables.nix b/third_party/nixpkgs/nixos/modules/services/networking/nftables.nix
index 4e7d5ce59c..d2d7543e8c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nftables.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nftables.nix
@@ -11,7 +11,7 @@ in
type = types.bool;
default = false;
description =
- ''
+ lib.mdDoc ''
Whether to enable nftables. nftables is a Linux-based packet
filtering framework intended to replace frameworks like iptables.
@@ -21,14 +21,13 @@ in
Note that if you have Docker enabled you will not be able to use
nftables without intervention. Docker uses iptables internally to
setup NAT for containers. This module disables the ip_tables kernel
- module, however Docker automatically loads the module. Please see [1]
+ module, however Docker automatically loads the module. Please see
+
for more information.
There are other programs that use iptables internally too, such as
- libvirt. For information on how the two firewalls interact, see [2].
-
- [1]: https://github.com/NixOS/nixpkgs/issues/24318#issuecomment-289216273
- [2]: https://wiki.nftables.org/wiki-nftables/index.php/Troubleshooting#Question_4._How_do_nftables_and_iptables_interact_when_used_on_the_same_system.3F
+ libvirt. For information on how the two firewalls interact, see
+ .
'';
};
networking.nftables.ruleset = mkOption {
@@ -88,7 +87,7 @@ in
name = "nftables-rules";
text = cfg.ruleset;
};
- defaultText = literalDocBook ''a file with the contents of '';
+ defaultText = literalMD ''a file with the contents of {option}`networking.nftables.ruleset`'';
description =
lib.mdDoc ''
The ruleset file to be used with nftables. Should be in a format that
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nghttpx/nghttpx-options.nix b/third_party/nixpkgs/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
index 13c328b418..82ab8c4223 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
@@ -1,6 +1,6 @@
{ lib, ... }:
{ options.services.nghttpx = {
- enable = lib.mkEnableOption "nghttpx";
+ enable = lib.mkEnableOption (lib.mdDoc "nghttpx");
frontends = lib.mkOption {
type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
@@ -131,8 +131,8 @@
rlimit-nofile = lib.mkOption {
type = lib.types.int;
default = 0;
- description = ''
- Set maximum number of open files (RLIMIT_NOFILE) to <N>. If 0
+ description = lib.mdDoc ''
+ Set maximum number of open files (RLIMIT_NOFILE) to \. If 0
is given, nghttpx does not set the limit.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ngircd.nix b/third_party/nixpkgs/nixos/modules/services/networking/ngircd.nix
index f6c7415c1d..5e721f5aa6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ngircd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ngircd.nix
@@ -20,7 +20,7 @@ let
in {
options = {
services.ngircd = {
- enable = mkEnableOption "the ngircd IRC server";
+ enable = mkEnableOption (lib.mdDoc "the ngircd IRC server");
config = mkOption {
description = lib.mdDoc "The ngircd configuration (see ngircd.conf(5)).";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nix-serve.nix b/third_party/nixpkgs/nixos/modules/services/networking/nix-serve.nix
index 5deb31a486..dba2f1386b 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nix-serve.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nix-serve.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.nix-serve = {
- enable = mkEnableOption "nix-serve, the standalone Nix binary cache server";
+ enable = mkEnableOption (lib.mdDoc "nix-serve, the standalone Nix binary cache server");
port = mkOption {
type = types.port;
@@ -35,15 +35,15 @@ in
secretKeyFile = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
The path to the file used for signing derivation data.
Generate with:
-
+ ```
nix-store --generate-binary-cache-key key-name secret-key-file public-key-file
-
+ ```
- For more details see nix-store1.
+ For more details see {manpage}`nix-store(1)`.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
index 4dd2922e83..06a8bb8b87 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nntp-proxy.nix
@@ -59,7 +59,7 @@ in
options = {
services.nntp-proxy = {
- enable = mkEnableOption "NNTP-Proxy";
+ enable = mkEnableOption (lib.mdDoc "NNTP-Proxy");
upstreamServer = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nomad.nix b/third_party/nixpkgs/nixos/modules/services/networking/nomad.nix
index 73b6f13327..5e5d9469ef 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nomad.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nomad.nix
@@ -8,7 +8,7 @@ in
##### interface
options = {
services.nomad = {
- enable = mkEnableOption "Nomad, a distributed, highly available, datacenter-aware scheduler";
+ enable = mkEnableOption (lib.mdDoc "Nomad, a distributed, highly available, datacenter-aware scheduler");
package = mkOption {
type = types.package;
@@ -22,8 +22,8 @@ in
extraPackages = mkOption {
type = types.listOf types.package;
default = [ ];
- description = ''
- Extra packages to add to PATH for the Nomad agent process.
+ description = lib.mdDoc ''
+ Extra packages to add to {env}`PATH` for the Nomad agent process.
'';
example = literalExpression ''
with pkgs; [ cni-plugins ]
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nsd.nix b/third_party/nixpkgs/nixos/modules/services/networking/nsd.nix
index cf2afcacc5..57da208bd7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nsd.nix
@@ -213,24 +213,24 @@ let
example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name"
"10.0.3.4&255.255.0.0 BLOCKED"
];
- description = ''
+ description = lib.mdDoc ''
Listed primary servers are allowed to notify this secondary server.
-
- either a plain IPv4/IPv6 address or range. Valid patters for ranges:
- * 10.0.0.0/24 # via subnet size
- * 10.0.0.0&255.255.255.0 # via subnet mask
- * 10.0.0.1-10.0.0.254 # via range
+ Format: ` `
+
+ `` either a plain IPv4/IPv6 address or range.
+ Valid patters for ranges:
+ * `10.0.0.0/24`: via subnet size
+ * `10.0.0.0&255.255.255.0`: via subnet mask
+ * `10.0.0.1-10.0.0.254`: via range
A optional port number could be added with a '@':
- * 2001:1234::1@1234
+ * `2001:1234::1@1234`
-
- * will use the specified TSIG key
- * NOKEY no TSIG signature is required
- * BLOCKED notifies from non-listed or blocked IPs will be ignored
- * ]]>
+ ``
+ * `` will use the specified TSIG key
+ * `NOKEY` no TSIG signature is required
+ * `BLOCKED`notifies from non-listed or blocked IPs will be ignored
'';
};
@@ -262,7 +262,7 @@ let
'';
};
- dnssec = mkEnableOption "DNSSEC";
+ dnssec = mkEnableOption (lib.mdDoc "DNSSEC");
dnssecPolicy = {
algorithm = mkOption {
@@ -344,18 +344,17 @@ let
type = types.listOf types.str;
default = [];
example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ];
- description = ''
+ description = lib.mdDoc ''
This primary server will notify all given secondary servers about
zone changes.
-
- a plain IPv4/IPv6 address with on optional port number (ip@port)
+ Format: ` `
-
- * sign notifies with the specified key
- * NOKEY don't sign notifies
- ]]>
+ `` a plain IPv4/IPv6 address with on optional port number (ip@port)
+
+ ``
+ - `` sign notifies with the specified key
+ - `NOKEY` don't sign notifies
'';
};
@@ -383,9 +382,9 @@ let
type = types.listOf types.str;
default = [];
example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
- description = ''
+ description = lib.mdDoc ''
Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
- address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40
+ address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40
'';
};
@@ -479,9 +478,9 @@ in
# options are ordered alphanumerically
options.services.nsd = {
- enable = mkEnableOption "NSD authoritative DNS server";
+ enable = mkEnableOption (lib.mdDoc "NSD authoritative DNS server");
- bind8Stats = mkEnableOption "BIND8 like statistics";
+ bind8Stats = mkEnableOption (lib.mdDoc "BIND8 like statistics");
dnssecInterval = mkOption {
type = types.str;
@@ -617,7 +616,7 @@ in
'';
};
- roundRobin = mkEnableOption "round robin rotation of records";
+ roundRobin = mkEnableOption (lib.mdDoc "round robin rotation of records");
serverCount = mkOption {
type = types.int;
@@ -736,7 +735,7 @@ in
ratelimit = {
- enable = mkEnableOption "ratelimit capabilities";
+ enable = mkEnableOption (lib.mdDoc "ratelimit capabilities");
ipv4PrefixLength = mkOption {
type = types.nullOr types.int;
@@ -797,7 +796,7 @@ in
remoteControl = {
- enable = mkEnableOption "remote control via nsd-control";
+ enable = mkEnableOption (lib.mdDoc "remote control via nsd-control");
controlCertFile = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
index 2a766a134f..05df1f6e62 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ntp/openntpd.nix
@@ -19,7 +19,7 @@ in
###### interface
options.services.openntpd = {
- enable = mkEnableOption "OpenNTP time synchronization server";
+ enable = mkEnableOption (lib.mdDoc "OpenNTP time synchronization server");
servers = mkOption {
default = config.services.ntp.servers;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nullidentdmod.nix b/third_party/nixpkgs/nixos/modules/services/networking/nullidentdmod.nix
index 85f5c799a3..e74e1dd6b7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nullidentdmod.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nullidentdmod.nix
@@ -3,7 +3,7 @@
in {
options.services.nullidentdmod = with types; {
- enable = mkEnableOption "the nullidentdmod identd daemon";
+ enable = mkEnableOption (lib.mdDoc "the nullidentdmod identd daemon");
userid = mkOption {
type = nullOr str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/nylon.nix b/third_party/nixpkgs/nixos/modules/services/networking/nylon.nix
index 3eb15c23be..6ed832b6fa 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/nylon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/nylon.nix
@@ -139,7 +139,7 @@ in
services.nylon = mkOption {
default = {};
- description = "Collection of named nylon instances";
+ description = lib.mdDoc "Collection of named nylon instances";
type = with types; attrsOf (submodule nylonOpts);
internal = true;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ocserv.nix b/third_party/nixpkgs/nixos/modules/services/networking/ocserv.nix
index efe1d240a9..9548fd92db 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ocserv.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ocserv.nix
@@ -10,7 +10,7 @@ in
{
options.services.ocserv = {
- enable = mkEnableOption "ocserv";
+ enable = mkEnableOption (lib.mdDoc "ocserv");
config = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ofono.nix b/third_party/nixpkgs/nixos/modules/services/networking/ofono.nix
index 6192857cd3..960fc35a70 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ofono.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ofono.nix
@@ -19,7 +19,7 @@ in
###### interface
options = {
services.ofono = {
- enable = mkEnableOption "Ofono";
+ enable = mkEnableOption (lib.mdDoc "Ofono");
plugins = mkOption {
type = types.listOf types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ostinato.nix b/third_party/nixpkgs/nixos/modules/services/networking/ostinato.nix
index 808ccdd4e0..1e4dcf37f6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ostinato.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ostinato.nix
@@ -26,7 +26,7 @@ in
services.ostinato = {
- enable = mkEnableOption "Ostinato agent-controller (Drone)";
+ enable = mkEnableOption (lib.mdDoc "Ostinato agent-controller (Drone)");
port = mkOption {
type = types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/owamp.nix b/third_party/nixpkgs/nixos/modules/services/networking/owamp.nix
index baf64347b0..e7a5bfea52 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/owamp.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/owamp.nix
@@ -10,7 +10,7 @@ in
###### interface
options = {
- services.owamp.enable = mkEnableOption "Enable OWAMP server";
+ services.owamp.enable = mkEnableOption (lib.mdDoc "Enable OWAMP server");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix b/third_party/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
index 7319793101..473c2a1f1f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
@@ -27,7 +27,7 @@ let
in {
options.services.pdns-recursor = {
- enable = mkEnableOption "PowerDNS Recursor, a recursive DNS server";
+ enable = mkEnableOption (lib.mdDoc "PowerDNS Recursor, a recursive DNS server");
dns.address = mkOption {
type = oneOrMore types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pdnsd.nix b/third_party/nixpkgs/nixos/modules/services/networking/pdnsd.nix
index 03c9005413..8fe27a44ee 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pdnsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pdnsd.nix
@@ -24,7 +24,7 @@ in
{ options =
{ services.pdnsd =
- { enable = mkEnableOption "pdnsd";
+ { enable = mkEnableOption (lib.mdDoc "pdnsd");
cacheDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pixiecore.nix b/third_party/nixpkgs/nixos/modules/services/networking/pixiecore.nix
index c88081af62..ea4008d4d5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pixiecore.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pixiecore.nix
@@ -10,7 +10,7 @@ in
options = {
services.pixiecore = {
- enable = mkEnableOption "Pixiecore";
+ enable = mkEnableOption (lib.mdDoc "Pixiecore");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pleroma.nix b/third_party/nixpkgs/nixos/modules/services/networking/pleroma.nix
index de9d0821c6..dfd1ed4036 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pleroma.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pleroma.nix
@@ -4,7 +4,7 @@ let
in {
options = {
services.pleroma = with lib; {
- enable = mkEnableOption "pleroma";
+ enable = mkEnableOption (lib.mdDoc "pleroma");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/powerdns.nix b/third_party/nixpkgs/nixos/modules/services/networking/powerdns.nix
index f7c72361df..6aa5928d63 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/powerdns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/powerdns.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.powerdns = {
- enable = mkEnableOption "PowerDNS domain name server";
+ enable = mkEnableOption (lib.mdDoc "PowerDNS domain name server");
extraConfig = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pppd.nix b/third_party/nixpkgs/nixos/modules/services/networking/pppd.nix
index d923b49dda..75fc04c675 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pppd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pppd.nix
@@ -12,7 +12,7 @@ in
options = {
services.pppd = {
- enable = mkEnableOption "pppd";
+ enable = mkEnableOption (lib.mdDoc "pppd");
package = mkOption {
default = pkgs.ppp;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/pptpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/pptpd.nix
index d16496a2cb..2f206e813a 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/pptpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/pptpd.nix
@@ -5,7 +5,7 @@ with lib;
{
options = {
services.pptpd = {
- enable = mkEnableOption "pptpd, the Point-to-Point Tunneling Protocol daemon";
+ enable = mkEnableOption (lib.mdDoc "pptpd, the Point-to-Point Tunneling Protocol daemon");
serverIp = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/prayer.nix b/third_party/nixpkgs/nixos/modules/services/networking/prayer.nix
index 01e961997a..197aa8a6f4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/prayer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/prayer.nix
@@ -41,7 +41,7 @@ in
services.prayer = {
- enable = mkEnableOption "the prayer webmail http server";
+ enable = mkEnableOption (lib.mdDoc "the prayer webmail http server");
port = mkOption {
default = 2080;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/privoxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/privoxy.nix
index 1ad5b155fe..78d02aaa11 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/privoxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/privoxy.nix
@@ -53,7 +53,7 @@ in
options.services.privoxy = {
- enable = mkEnableOption "Privoxy, non-caching filtering proxy";
+ enable = mkEnableOption (lib.mdDoc "Privoxy, non-caching filtering proxy");
enableTor = mkOption {
type = types.bool;
@@ -67,21 +67,21 @@ in
inspectHttps = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to configure Privoxy to inspect HTTPS requests, meaning all
encrypted traffic will be filtered as well. This works by decrypting
and re-encrypting the requests using a per-domain generated certificate.
To issue per-domain certificates, Privoxy must be provided with a CA
- certificate, using the ca-cert-file,
- ca-key-file settings.
+ certificate, using the `ca-cert-file`,
+ `ca-key-file` settings.
-
- The CA certificate must also be added to the system trust roots,
- otherwise browsers will reject all Privoxy certificates as invalid.
- You can do so by using the option
- .
-
+ ::: {.warning}
+ The CA certificate must also be added to the system trust roots,
+ otherwise browsers will reject all Privoxy certificates as invalid.
+ You can do so by using the option
+ {option}`security.pki.certificateFiles`.
+ :::
'';
};
@@ -89,8 +89,8 @@ in
type = ageType;
default = "10d";
example = "12h";
- description = ''
- If inspectHttps is enabled, the time generated HTTPS
+ description = lib.mdDoc ''
+ If `inspectHttps` is enabled, the time generated HTTPS
certificates will be stored in a temporary directory for reuse. Once
the lifetime has expired the directory will cleared and the certificate
will have to be generated again, on-demand.
@@ -98,8 +98,10 @@ in
Depending on the traffic, you may want to reduce the lifetime to limit
the disk usage, since Privoxy itself never deletes the certificates.
- The format is that of the tmpfiles.d(5)
- Age parameter.
+ ::: {.note}
+ The format is that of the `tmpfiles.d(5)`
+ Age parameter.
+ :::
'';
};
@@ -179,15 +181,15 @@ in
# debug 64
}
'';
- description = ''
+ description = lib.mdDoc ''
This option is mapped to the main Privoxy configuration file.
Check out the Privoxy user manual at
-
+
for available settings and documentation.
-
- Repeated settings can be represented by using a list.
-
+ ::: {.note}
+ Repeated settings can be represented by using a list.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/prosody.nix b/third_party/nixpkgs/nixos/modules/services/networking/prosody.nix
index f32c7adbd2..6cd4678ae4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/prosody.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/prosody.nix
@@ -529,28 +529,28 @@ in
user = mkOption {
type = types.str;
default = "prosody";
- description = ''
+ description = lib.mdDoc ''
User account under which prosody runs.
-
+ ::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the prosody service starts.
-
+ :::
'';
};
group = mkOption {
type = types.str;
default = "prosody";
- description = ''
+ description = lib.mdDoc ''
Group account under which prosody runs.
-
+ ::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the prosody service starts.
-
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/quassel.nix b/third_party/nixpkgs/nixos/modules/services/networking/quassel.nix
index a4b203ea00..a074023b5e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/quassel.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/quassel.nix
@@ -17,7 +17,7 @@ in
services.quassel = {
- enable = mkEnableOption "the Quassel IRC client daemon";
+ enable = mkEnableOption (lib.mdDoc "the Quassel IRC client daemon");
certificateFile = mkOption {
type = types.nullOr types.str;
@@ -47,9 +47,9 @@ in
interfaces = mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
- description = ''
- The interfaces the Quassel daemon will be listening to. If `[ 127.0.0.1 ]',
- only clients on the local host can connect to it; if `[ 0.0.0.0 ]', clients
+ description = lib.mdDoc ''
+ The interfaces the Quassel daemon will be listening to. If `[ 127.0.0.1 ]`,
+ only clients on the local host can connect to it; if `[ 0.0.0.0 ]`, clients
can access it from any network interface.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/quicktun.nix b/third_party/nixpkgs/nixos/modules/services/networking/quicktun.nix
index e2282b9aaf..7aed972adc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/quicktun.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/quicktun.nix
@@ -20,65 +20,65 @@ with lib;
type = types.int;
default = 0;
example = 1;
- description = "";
+ description = lib.mdDoc "";
};
remoteAddress = mkOption {
type = types.str;
example = "tunnel.example.com";
- description = "";
+ description = lib.mdDoc "";
};
localAddress = mkOption {
type = types.str;
example = "0.0.0.0";
- description = "";
+ description = lib.mdDoc "";
};
localPort = mkOption {
type = types.int;
default = 2998;
- description = "";
+ description = lib.mdDoc "";
};
remotePort = mkOption {
type = types.int;
default = 2998;
- description = "";
+ description = lib.mdDoc "";
};
remoteFloat = mkOption {
type = types.int;
default = 0;
- description = "";
+ description = lib.mdDoc "";
};
protocol = mkOption {
type = types.str;
default = "nacltai";
- description = "";
+ description = lib.mdDoc "";
};
privateKey = mkOption {
type = types.str;
- description = "";
+ description = lib.mdDoc "";
};
publicKey = mkOption {
type = types.str;
- description = "";
+ description = lib.mdDoc "";
};
timeWindow = mkOption {
type = types.int;
default = 5;
- description = "";
+ description = lib.mdDoc "";
};
upScript = mkOption {
type = types.lines;
default = "";
- description = "";
+ description = lib.mdDoc "";
};
};
});
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/quorum.nix b/third_party/nixpkgs/nixos/modules/services/networking/quorum.nix
index 67027ae3f8..4b90b12f86 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/quorum.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/quorum.nix
@@ -13,7 +13,7 @@ in {
options = {
services.quorum = {
- enable = mkEnableOption "Quorum blockchain daemon";
+ enable = mkEnableOption (lib.mdDoc "Quorum blockchain daemon");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/r53-ddns.nix b/third_party/nixpkgs/nixos/modules/services/networking/r53-ddns.nix
index 77738c7553..277b65dcec 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/r53-ddns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/r53-ddns.nix
@@ -10,7 +10,7 @@ in
options = {
services.r53-ddns = {
- enable = mkEnableOption "r53-ddyns";
+ enable = mkEnableOption (lib.mdDoc "r53-ddyns");
interval = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/radicale.nix b/third_party/nixpkgs/nixos/modules/services/networking/radicale.nix
index 687cf206e1..a343dab7af 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/radicale.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/radicale.nix
@@ -25,7 +25,7 @@ let
in {
options.services.radicale = {
- enable = mkEnableOption "Radicale CalDAV and CardDAV server";
+ enable = mkEnableOption (lib.mdDoc "Radicale CalDAV and CardDAV server");
package = mkOption {
description = lib.mdDoc "Radicale package to use.";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/robustirc-bridge.nix b/third_party/nixpkgs/nixos/modules/services/networking/robustirc-bridge.nix
index c5afbaf8ea..9b93828c39 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/robustirc-bridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/robustirc-bridge.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.robustirc-bridge = {
- enable = mkEnableOption "RobustIRC bridge";
+ enable = mkEnableOption (lib.mdDoc "RobustIRC bridge");
extraFlags = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/routedns.nix b/third_party/nixpkgs/nixos/modules/services/networking/routedns.nix
index 6f3d769e86..2a29a06700 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/routedns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/routedns.nix
@@ -12,7 +12,7 @@ let
in
{
options.services.routedns = {
- enable = mkEnableOption "RouteDNS - DNS stub resolver, proxy and router";
+ enable = mkEnableOption (lib.mdDoc "RouteDNS - DNS stub resolver, proxy and router");
settings = mkOption {
type = settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/rxe.nix b/third_party/nixpkgs/nixos/modules/services/networking/rxe.nix
index 868e2c81cc..7dbb4823b4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/rxe.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/rxe.nix
@@ -10,14 +10,14 @@ in {
options = {
networking.rxe = {
- enable = mkEnableOption "RDMA over converged ethernet";
+ enable = mkEnableOption (lib.mdDoc "RDMA over converged ethernet");
interfaces = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "eth0" ];
- description = ''
+ description = lib.mdDoc ''
Enable RDMA on the listed interfaces. The corresponding virtual
- RDMA interfaces will be named rxe_<interface>.
+ RDMA interfaces will be named rxe_\.
UDP port 4791 must be open on the respective ethernet interfaces.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/sabnzbd.nix b/third_party/nixpkgs/nixos/modules/services/networking/sabnzbd.nix
index 18e1d9f48b..8486be1bc6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/sabnzbd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/sabnzbd.nix
@@ -15,7 +15,7 @@ in
options = {
services.sabnzbd = {
- enable = mkEnableOption "the sabnzbd server";
+ enable = mkEnableOption (lib.mdDoc "the sabnzbd server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/seafile.nix b/third_party/nixpkgs/nixos/modules/services/networking/seafile.nix
index d9617952ea..b07d51b9b4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/seafile.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/seafile.nix
@@ -37,7 +37,7 @@ in {
###### Interface
options.services.seafile = {
- enable = mkEnableOption "Seafile server";
+ enable = mkEnableOption (lib.mdDoc "Seafile server");
ccnetSettings = mkOption {
type = types.submodule {
@@ -131,9 +131,9 @@ in {
seahubExtraConf = mkOption {
default = "";
type = types.lines;
- description = ''
+ description = lib.mdDoc ''
Extra config to append to `seahub_settings.py` file.
- Refer to
+ Refer to
for all available options.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/searx.nix b/third_party/nixpkgs/nixos/modules/services/networking/searx.nix
index 238479864f..214b6c6a78 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/searx.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/searx.nix
@@ -81,35 +81,33 @@ in
};
}
'';
- description = ''
+ description = lib.mdDoc ''
Searx settings. These will be merged with (taking precedence over)
the default configuration. It's also possible to refer to
environment variables
- (defined in )
- using the syntax @VARIABLE_NAME@.
-
-
- For available settings, see the Searx
- docs.
-
-
+ (defined in [](#opt-services.searx.environmentFile))
+ using the syntax `@VARIABLE_NAME@`.
+
+ ::: {.note}
+ For available settings, see the Searx
+ [docs](https://searx.github.io/searx/admin/settings.html).
+ :::
'';
};
settingsFile = mkOption {
type = types.path;
default = "${runDir}/settings.yml";
- description = ''
+ description = lib.mdDoc ''
The path of the Searx server settings.yml file. If no file is
specified, a default file is used (default config file has debug mode
enabled). Note: setting this options overrides
- .
-
-
- This file, along with any secret key it contains, will be copied
- into the world-readable Nix store.
-
-
+ [](#opt-services.searx.settings).
+
+ ::: {.warning}
+ This file, along with any secret key it contains, will be copied
+ into the world-readable Nix store.
+ :::
'';
};
@@ -123,15 +121,14 @@ in
runInUwsgi = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to run searx in uWSGI as a "vassal", instead of using its
built-in HTTP server. This is the recommended mode for public or
large instances, but is unecessary for LAN or local-only use.
-
-
- The built-in HTTP server logs all queries by default.
-
-
+
+ ::: {.warning}
+ The built-in HTTP server logs all queries by default.
+ :::
'';
};
@@ -195,7 +192,10 @@ in
ExecStart = "${cfg.package}/bin/searx-run";
} // optionalAttrs (cfg.environmentFile != null)
{ EnvironmentFile = builtins.toPath cfg.environmentFile; };
- environment.SEARX_SETTINGS_PATH = cfg.settingsFile;
+ environment = {
+ SEARX_SETTINGS_PATH = cfg.settingsFile;
+ SEARXNG_SETTINGS_PATH = cfg.settingsFile;
+ };
};
systemd.services.uwsgi = mkIf (cfg.runInUwsgi)
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/shellhub-agent.nix b/third_party/nixpkgs/nixos/modules/services/networking/shellhub-agent.nix
index c13f183d4f..ad33c50f9d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/shellhub-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/shellhub-agent.nix
@@ -12,7 +12,7 @@ in
services.shellhub-agent = {
- enable = mkEnableOption "ShellHub Agent daemon";
+ enable = mkEnableOption (lib.mdDoc "ShellHub Agent daemon");
package = mkPackageOption pkgs "shellhub-agent" { };
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/shorewall.nix b/third_party/nixpkgs/nixos/modules/services/networking/shorewall.nix
index 795295d162..ba59d71120 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/shorewall.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/shorewall.nix
@@ -8,15 +8,14 @@ in {
enable = lib.mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable Shorewall IPv4 Firewall.
-
-
- Enabling this service WILL disable the existing NixOS
- firewall! Default firewall rules provided by packages are not
- considered at the moment.
-
-
+
+ ::: {.warning}
+ Enabling this service WILL disable the existing NixOS
+ firewall! Default firewall rules provided by packages are not
+ considered at the moment.
+ :::
'';
};
package = lib.mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/shorewall6.nix b/third_party/nixpkgs/nixos/modules/services/networking/shorewall6.nix
index 1d6d84eb89..e54be290bf 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/shorewall6.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/shorewall6.nix
@@ -8,15 +8,14 @@ in {
enable = lib.mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable Shorewall IPv6 Firewall.
-
-
- Enabling this service WILL disable the existing NixOS
- firewall! Default firewall rules provided by packages are not
- considered at the moment.
-
-
+
+ ::: {.warning}
+ Enabling this service WILL disable the existing NixOS
+ firewall! Default firewall rules provided by packages are not
+ considered at the moment.
+ :::
'';
};
package = lib.mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/shout.nix b/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
index 1ef21ad5bf..0b1687d44d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
@@ -23,7 +23,7 @@ let
in {
options.services.shout = {
- enable = mkEnableOption "Shout web IRC client";
+ enable = mkEnableOption (lib.mdDoc "Shout web IRC client");
private = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/skydns.nix b/third_party/nixpkgs/nixos/modules/services/networking/skydns.nix
index f73a871884..84cf6b0dea 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/skydns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/skydns.nix
@@ -7,7 +7,7 @@ let
in {
options.services.skydns = {
- enable = mkEnableOption "skydns service";
+ enable = mkEnableOption (lib.mdDoc "skydns service");
etcd = {
machines = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/smartdns.nix b/third_party/nixpkgs/nixos/modules/services/networking/smartdns.nix
index aa13274788..af8ee8b00c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/smartdns.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/smartdns.nix
@@ -20,7 +20,7 @@ let
} cfg.settings);
in {
options.services.smartdns = {
- enable = mkEnableOption "SmartDNS DNS server";
+ enable = mkEnableOption (lib.mdDoc "SmartDNS DNS server");
bindPort = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/smokeping.nix b/third_party/nixpkgs/nixos/modules/services/networking/smokeping.nix
index 7f1abcc682..df4f8905ec 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/smokeping.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/smokeping.nix
@@ -82,8 +82,10 @@ in
config = mkOption {
type = types.nullOr types.lines;
default = null;
- description = "Full smokeping config supplied by the user. Overrides " +
- "and replaces any other configuration supplied.";
+ description = lib.mdDoc ''
+ Full smokeping config supplied by the user. Overrides
+ and replaces any other configuration supplied.
+ '';
};
databaseConfig = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/sniproxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/sniproxy.nix
index dedeb96f73..b805b7b44d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/sniproxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/sniproxy.nix
@@ -18,7 +18,7 @@ in
options = {
services.sniproxy = {
- enable = mkEnableOption "sniproxy server";
+ enable = mkEnableOption (lib.mdDoc "sniproxy server");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/snowflake-proxy.nix b/third_party/nixpkgs/nixos/modules/services/networking/snowflake-proxy.nix
index d759b07e8b..7299db7a53 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/snowflake-proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/snowflake-proxy.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.snowflake-proxy = {
- enable = mkEnableOption "System to defeat internet censorship";
+ enable = mkEnableOption (lib.mdDoc "System to defeat internet censorship");
broker = mkOption {
description = lib.mdDoc "Broker URL (default \"https://snowflake-broker.torproject.net/\")";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/softether.nix b/third_party/nixpkgs/nixos/modules/services/networking/softether.nix
index 47d10bf64c..8d69b5304c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/softether.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/softether.nix
@@ -16,7 +16,7 @@ in
services.softether = {
- enable = mkEnableOption "SoftEther VPN services";
+ enable = mkEnableOption (lib.mdDoc "SoftEther VPN services");
package = mkOption {
type = types.package;
@@ -27,12 +27,12 @@ in
'';
};
- vpnserver.enable = mkEnableOption "SoftEther VPN Server";
+ vpnserver.enable = mkEnableOption (lib.mdDoc "SoftEther VPN Server");
- vpnbridge.enable = mkEnableOption "SoftEther VPN Bridge";
+ vpnbridge.enable = mkEnableOption (lib.mdDoc "SoftEther VPN Bridge");
vpnclient = {
- enable = mkEnableOption "SoftEther VPN Client";
+ enable = mkEnableOption (lib.mdDoc "SoftEther VPN Client");
up = mkOption {
type = types.lines;
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/soju.nix b/third_party/nixpkgs/nixos/modules/services/networking/soju.nix
index dddacea200..d4c4ca47bc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/soju.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/soju.nix
@@ -27,7 +27,7 @@ in
###### interface
options.services.soju = {
- enable = mkEnableOption "soju";
+ enable = mkEnableOption (lib.mdDoc "soju");
listen = mkOption {
type = types.listOf types.str;
@@ -79,7 +79,7 @@ in
acceptProxyIP = mkOption {
type = types.listOf types.str;
default = [];
- description = ''
+ description = lib.mdDoc ''
Allow the specified IPs to act as a proxy. Proxys have the ability to
overwrite the remote and local connection addresses (via the X-Forwarded-\*
HTTP header fields). The special name "localhost" accepts the loopback
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/solanum.nix b/third_party/nixpkgs/nixos/modules/services/networking/solanum.nix
index daa3650fc9..07a37279fe 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/solanum.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/solanum.nix
@@ -16,7 +16,7 @@ in
services.solanum = {
- enable = mkEnableOption "Solanum IRC daemon";
+ enable = mkEnableOption (lib.mdDoc "Solanum IRC daemon");
config = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/spacecookie.nix b/third_party/nixpkgs/nixos/modules/services/networking/spacecookie.nix
index 4aa76de6f4..b2956edfcb 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/spacecookie.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/spacecookie.nix
@@ -25,7 +25,7 @@ in {
services.spacecookie = {
- enable = mkEnableOption "spacecookie";
+ enable = mkEnableOption (lib.mdDoc "spacecookie");
package = mkOption {
type = types.package;
@@ -90,7 +90,7 @@ in {
};
options.log = {
- enable = mkEnableOption "logging for spacecookie"
+ enable = mkEnableOption (lib.mdDoc "logging for spacecookie")
// { default = true; example = false; };
hide-ips = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix b/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
index 03c0bd2314..9d76d69152 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
@@ -43,7 +43,7 @@ in
options = {
services.sslh = {
- enable = mkEnableOption "sslh";
+ enable = mkEnableOption (lib.mdDoc "sslh");
verbose = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
index a92834f0ec..c51e8ad9f5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -8,7 +8,7 @@ let
swanctlParams = import ./swanctl-params.nix lib;
in {
options.services.strongswan-swanctl = {
- enable = mkEnableOption "strongswan-swanctl service";
+ enable = mkEnableOption (lib.mdDoc "strongswan-swanctl service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
index d5a8daf98e..8245b25719 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
@@ -57,12 +57,12 @@ rec {
documentDefault = description : strongswanDefault :
if strongswanDefault == null
- then description
- else description + ''
+ then mdDoc description
+ else mdDoc (description + ''
- StrongSwan default:
- '';
+ StrongSwan default: ````${builtins.toJSON strongswanDefault}````
+ '');
single = f: name: value: { ${name} = f value; };
@@ -121,7 +121,7 @@ rec {
option = mkOption {
type = types.attrsOf option;
default = {};
- inherit description;
+ description = mdDoc description;
};
render = single (attrs:
(paramsToRenderedStrings attrs
@@ -139,7 +139,7 @@ rec {
option = mkOption {
type = types.attrsOf option;
default = {};
- inherit description;
+ description = mdDoc description;
};
render = prefix: attrs:
let prefixedAttrs = mapAttrs' (name: nameValuePair "${prefix}-${name}") attrs;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
index 737d0331f1..84ac4fef26 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
@@ -16,14 +16,14 @@ let
Absolute path to the certificate to load. Passed as-is to the daemon, so
it must be readable by it.
- Configure either this or , but not both, in one section.
+ Configure either this or {option}`handle`, but not both, in one section.
'';
handle = mkOptionalHexParam ''
Hex-encoded CKA_ID or handle of the certificate on a token or TPM,
respectively.
- Configure either this or , but not both, in one section.
+ Configure either this or {option}`file`, but not both, in one section.
'';
slot = mkOptionalIntParam ''
@@ -39,11 +39,11 @@ in {
cacert = mkOptionalStrParam ''
The certificates may use a relative path from the swanctl
- x509ca directory or an absolute path.
+ `x509ca` directory or an absolute path.
- Configure one of ,
- , or
- per section.
+ Configure one of {option}`cacert`,
+ {option}`file`, or
+ {option}`handle` per section.
'';
cert_uri_base = mkOptionalStrParam ''
@@ -71,12 +71,11 @@ in {
version = mkIntParam 0 ''
IKE major version to use for connection.
-
- 1 uses IKEv1 aka ISAKMP,
- 2 uses IKEv2.
- A connection using the default of 0 accepts both IKEv1 and IKEv2 as
- responder, and initiates the connection actively with IKEv2.
-
+
+ - 1 uses IKEv1 aka ISAKMP,
+ - 2 uses IKEv2.
+ - A connection using the default of 0 accepts both IKEv1 and IKEv2 as
+ responder, and initiates the connection actively with IKEv2.
'';
local_addrs = mkCommaSepListParam [] ''
@@ -107,9 +106,9 @@ in {
local_port = mkIntParam 500 ''
Local UDP port for IKE communication. By default the port of the socket
- backend is used, which is usually 500. If port
- 500 is used, automatic IKE port floating to port
- 4500 is used to work around NAT issues.
+ backend is used, which is usually `500`. If port
+ `500` is used, automatic IKE port floating to port
+ `4500` is used to work around NAT issues.
Using a non-default local IKE port requires support from the socket
backend in use (socket-dynamic).
@@ -117,8 +116,8 @@ in {
remote_port = mkIntParam 500 ''
Remote UDP port for IKE communication. If the default of port
- 500 is used, automatic IKE port floating to port
- 4500 is used to work around NAT issues.
+ `500` is used, automatic IKE port floating to port
+ `4500` is used to work around NAT issues.
'';
proposals = mkCommaSepListParam ["default"] ''
@@ -134,15 +133,15 @@ in {
combinations in IKEv1.
Algorithm keywords get separated using dashes. Multiple proposals may be
- specified in a list. The special value default forms a
+ specified in a list. The special value `default` forms a
default proposal of supported algorithms considered safe, and is usually a
good choice for interoperability.
'';
vips = mkCommaSepListParam [] ''
List of virtual IPs to request in IKEv2 configuration payloads or IKEv1
- Mode Config. The wildcard addresses 0.0.0.0 and
- :: request an arbitrary address, specific addresses may
+ Mode Config. The wildcard addresses `0.0.0.0` and
+ `::` request an arbitrary address, specific addresses may
be defined. The responder may return a different address, though, or none
at all.
'';
@@ -207,21 +206,20 @@ in {
fragmentation = mkEnumParam ["yes" "accept" "force" "no"] "yes" ''
Use IKE fragmentation (proprietary IKEv1 extension or RFC 7383 IKEv2
- fragmentation). Acceptable values are yes (the default
- since 5.5.1), accept (since versions:5.5.3),
- force and no.
-
- If set to yes, and the peer
- supports it, oversized IKE messages will be sent in fragments.
- If set to
- accept, support for fragmentation is announced to the peer but the daemon
- does not send its own messages in fragments.
- If set to force (only
- supported for IKEv1) the initial IKE message will already be fragmented if
- required.
- Finally, setting the option to no will disable announcing
- support for this feature.
-
+ fragmentation). Acceptable values are `yes` (the default
+ since 5.5.1), `accept` (since versions:5.5.3),
+ `force` and `no`.
+
+ - If set to `yes`, and the peer
+ supports it, oversized IKE messages will be sent in fragments.
+ - If set to
+ `accept`, support for fragmentation is announced to the peer but the daemon
+ does not send its own messages in fragments.
+ - If set to `force` (only
+ supported for IKEv1) the initial IKE message will already be fragmented if
+ required.
+ - Finally, setting the option to `no` will disable announcing
+ support for this feature.
Note that fragmented IKE messages sent by a peer are always processed
irrespective of the value of this option (even when set to no).
@@ -229,17 +227,17 @@ in {
childless = mkEnumParam [ "allow" "force" "never" ] "allow" ''
Use childless IKE_SA initiation (RFC 6023) for IKEv2. Acceptable values
- are allow (the default), force and
- never. If set to allow, responders
+ are `allow` (the default), `force` and
+ `never`. If set to `allow`, responders
will accept childless IKE_SAs (as indicated via notify in the IKE_SA_INIT
response) while initiators continue to create regular IKE_SAs with the
first CHILD_SA created during IKE_AUTH, unless the IKE_SA is initiated
explicitly without any children (which will fail if the responder does not
support or has disabled this extension). If set to
- force, only childless initiation is accepted and the
+ `force`, only childless initiation is accepted and the
first CHILD_SA is created with a separate CREATE_CHILD_SA exchange
(e.g. to use an independent DH exchange for all CHILD_SAs). Finally,
- setting the option to never disables support for
+ setting the option to `never` disables support for
childless IKE_SAs as responder.
'';
@@ -254,14 +252,13 @@ in {
send_cert = mkEnumParam ["always" "never" "ifasked" ] "ifasked" ''
Send certificate payloads when using certificate authentication.
-
- With the default of ifasked the daemon sends
- certificate payloads only if certificate requests have been received.
- never disables sending of certificate payloads
- altogether,
- always causes certificate payloads to be sent
- unconditionally whenever certificate authentication is used.
-
+
+ - With the default of `ifasked` the daemon sends
+ certificate payloads only if certificate requests have been received.
+ - `never` disables sending of certificate payloads
+ altogether,
+ - `always` causes certificate payloads to be sent
+ unconditionally whenever certificate authentication is used.
'';
ppk_id = mkOptionalStrParam ''
@@ -275,9 +272,9 @@ in {
keyingtries = mkIntParam 1 ''
Number of retransmission sequences to perform during initial
connect. Instead of giving up initiation after the first retransmission
- sequence with the default value of 1, additional
+ sequence with the default value of `1`, additional
sequences may be started according to the configured value. A value of
- 0 initiates a new sequence until the connection
+ `0` initiates a new sequence until the connection
establishes or fails with a permanent error.
'';
@@ -285,24 +282,15 @@ in {
Connection uniqueness policy to enforce. To avoid multiple connections
from the same user, a uniqueness policy can be enforced.
-
-
- The value never does never enforce such a policy, even
- if a peer included INITIAL_CONTACT notification messages,
-
-
- whereas no replaces existing connections for the same
- identity if a new one has the INITIAL_CONTACT notify.
-
-
- keep rejects new connection attempts if the same user
- already has an active connection,
-
-
- replace deletes any existing connection if a new one
- for the same user gets established.
-
-
+ - The value `never` does never enforce such a policy, even
+ if a peer included INITIAL_CONTACT notification messages,
+ - whereas `no` replaces existing connections for the same
+ identity if a new one has the INITIAL_CONTACT notify.
+ - `keep` rejects new connection attempts if the same user
+ already has an active connection,
+ - `replace` deletes any existing connection if a new one
+ for the same user gets established.
+
To compare connections for uniqueness, the remote IKE identity is used. If
EAP or XAuth authentication is involved, the EAP-Identity or XAuth
username is used to enforce the uniqueness policy instead.
@@ -310,7 +298,7 @@ in {
On initiators this setting specifies whether an INITIAL_CONTACT notify is
sent during IKE_AUTH if no existing connection is found with the remote
peer (determined by the identities of the first authentication
- round). Unless set to never the client will send a notify.
+ round). Unless set to `never` the client will send a notify.
'';
reauth_time = mkDurationParam "0s" ''
@@ -347,8 +335,8 @@ in {
In contrast to CHILD_SA rekeying, over_time is relative in time to the
rekey_time and reauth_time values, as it applies to both.
- The default is 10% of the longer of and
- .
+ The default is 10% of the longer of {option}`rekey_time` and
+ {option}`reauth_time`.
'';
rand_time = mkOptionalDurationParam ''
@@ -357,7 +345,7 @@ in {
procedure simultaneously, a random time gets subtracted from the
rekey/reauth times.
- The default is equal to the configured .
+ The default is equal to the configured {option}`over_time`.
'';
pools = mkCommaSepListParam [] ''
@@ -409,7 +397,7 @@ in {
certs = mkCommaSepListParam [] ''
List of certificate candidates to use for
authentication. The certificates may use a relative path from the
- swanctl x509 directory or an absolute path.
+ swanctl `x509` directory or an absolute path.
The certificate used for authentication is selected based on the
received certificate request payloads. If no appropriate CA can be
@@ -425,7 +413,7 @@ in {
pubkeys = mkCommaSepListParam [] ''
List of raw public key candidates to use for
authentication. The public keys may use a relative path from the swanctl
- pubkey directory or an absolute path.
+ `pubkey` directory or an absolute path.
Even though multiple local public keys could be defined in principle,
only the first public key in the list is used for authentication.
@@ -433,59 +421,44 @@ in {
auth = mkStrParam "pubkey" ''
Authentication to perform locally.
-
-
- The default pubkey uses public key authentication
- using a private key associated to a usable certificate.
-
-
- psk uses pre-shared key authentication.
-
-
- The IKEv1 specific xauth is used for XAuth or Hybrid
- authentication,
-
-
- while the IKEv2 specific eap keyword defines EAP
- authentication.
-
-
- For xauth, a specific backend name may be appended,
- separated by a dash. The appropriate xauth backend is
- selected to perform the XAuth exchange. For traditional XAuth, the
- xauth method is usually defined in the second
- authentication round following an initial pubkey (or
- psk) round. Using xauth in the
- first round performs Hybrid Mode client authentication.
-
-
- For eap, a specific EAP method name may be appended, separated by a
- dash. An EAP module implementing the appropriate method is selected to
- perform the EAP conversation.
-
-
- Since 5.4.0, if both peers support RFC 7427 ("Signature Authentication
- in IKEv2") specific hash algorithms to be used during IKEv2
- authentication may be configured. To do so use ike:
- followed by a trust chain signature scheme constraint (see description
- of the section's
- keyword). For example, with ike:pubkey-sha384-sha256
- a public key signature scheme with either SHA-384 or SHA-256 would get
- used for authentication, in that order and depending on the hash
- algorithms supported by the peer. If no specific hash algorithms are
- configured, the default is to prefer an algorithm that matches or
- exceeds the strength of the signature key. If no constraints with
- ike: prefix are configured any signature scheme
- constraint (without ike: prefix) will also apply to
- IKEv2 authentication, unless this is disabled in
- strongswan.conf. To use RSASSA-PSS signatures use
- rsa/pss instead of pubkey or
- rsa as in e.g.
- ike:rsa/pss-sha256. If pubkey or
- rsa constraints are configured RSASSA-PSS signatures
- will only be used if enabled in strongswan.conf(5).
-
-
+
+ - The default `pubkey` uses public key authentication
+ using a private key associated to a usable certificate.
+ - `psk` uses pre-shared key authentication.
+ - The IKEv1 specific `xauth` is used for XAuth or Hybrid
+ authentication,
+ - while the IKEv2 specific `eap` keyword defines EAP
+ authentication.
+ - For `xauth`, a specific backend name may be appended,
+ separated by a dash. The appropriate `xauth` backend is
+ selected to perform the XAuth exchange. For traditional XAuth, the
+ `xauth` method is usually defined in the second
+ authentication round following an initial `pubkey` (or
+ `psk`) round. Using `xauth` in the
+ first round performs Hybrid Mode client authentication.
+ - For `eap`, a specific EAP method name may be appended, separated by a
+ dash. An EAP module implementing the appropriate method is selected to
+ perform the EAP conversation.
+ - Since 5.4.0, if both peers support RFC 7427 ("Signature Authentication
+ in IKEv2") specific hash algorithms to be used during IKEv2
+ authentication may be configured. To do so use `ike:`
+ followed by a trust chain signature scheme constraint (see description
+ of the {option}`remote` section's {option}`auth`
+ keyword). For example, with `ike:pubkey-sha384-sha256`
+ a public key signature scheme with either SHA-384 or SHA-256 would get
+ used for authentication, in that order and depending on the hash
+ algorithms supported by the peer. If no specific hash algorithms are
+ configured, the default is to prefer an algorithm that matches or
+ exceeds the strength of the signature key. If no constraints with
+ `ike:` prefix are configured any signature scheme
+ constraint (without `ike:` prefix) will also apply to
+ IKEv2 authentication, unless this is disabled in
+ `strongswan.conf`. To use RSASSA-PSS signatures use
+ `rsa/pss` instead of `pubkey` or
+ `rsa` as in e.g.
+ `ike:rsa/pss-sha256`. If `pubkey` or
+ `rsa` constraints are configured RSASSA-PSS signatures
+ will only be used if enabled in `strongswan.conf`(5).
'';
id = mkOptionalStrParam ''
@@ -519,7 +492,7 @@ in {
peer. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
Authentication or IKEv1 XAuth.
- Each round is defined in a section having local as
+ Each round is defined in a section having `local` as
prefix, and an optional unique suffix. To define a single authentication
round, the suffix may be omitted.
'';
@@ -540,7 +513,7 @@ in {
eap_id = mkOptionalStrParam ''
Identity to use as peer identity during EAP authentication. If set to
- %any the EAP-Identity method will be used to ask the
+ `%any` the EAP-Identity method will be used to ask the
client for an EAP identity.
'';
@@ -559,7 +532,7 @@ in {
certs = mkCommaSepListParam [] ''
List of certificates to accept for authentication. The certificates may
- use a relative path from the swanctl x509 directory
+ use a relative path from the swanctl `x509` directory
or an absolute path.
'';
@@ -573,7 +546,7 @@ in {
Identity in CA certificate to accept for authentication. The specified
identity must be contained in one (intermediate) CA of the remote peer
trustchain, either as subject or as subjectAltName. This has the same
- effect as specifying cacerts to force clients under
+ effect as specifying `cacerts` to force clients under
a CA to specific connections; it does not require the CA certificate
to be available locally, and can be received from the peer during the
IKE exchange.
@@ -582,7 +555,7 @@ in {
cacerts = mkCommaSepListParam [] ''
List of CA certificates to accept for
authentication. The certificates may use a relative path from the
- swanctl x509ca directory or an absolute path.
+ swanctl `x509ca` directory or an absolute path.
'';
cacert = mkPostfixedAttrsOfParams certParams ''
@@ -594,57 +567,50 @@ in {
pubkeys = mkCommaSepListParam [] ''
List of raw public keys to accept for
authentication. The public keys may use a relative path from the swanctl
- pubkey directory or an absolute path.
+ `pubkey` directory or an absolute path.
'';
revocation = mkEnumParam ["strict" "ifuri" "relaxed"] "relaxed" ''
Certificate revocation policy for CRL or OCSP revocation.
-
-
- A strict revocation policy fails if no revocation information is
- available, i.e. the certificate is not known to be unrevoked.
-
-
- ifuri fails only if a CRL/OCSP URI is available, but certificate
- revocation checking fails, i.e. there should be revocation information
- available, but it could not be obtained.
-
-
- The default revocation policy relaxed fails only if a certificate is
- revoked, i.e. it is explicitly known that it is bad.
-
-
+
+ - A `strict` revocation policy fails if no revocation information is
+ available, i.e. the certificate is not known to be unrevoked.
+ - `ifuri` fails only if a CRL/OCSP URI is available, but certificate
+ revocation checking fails, i.e. there should be revocation information
+ available, but it could not be obtained.
+ - The default revocation policy `relaxed` fails only if a certificate is
+ revoked, i.e. it is explicitly known that it is bad.
'';
auth = mkStrParam "pubkey" ''
- Authentication to expect from remote. See the
- section's keyword description about the details of
+ Authentication to expect from remote. See the {option}`local`
+ section's {option}`auth` keyword description about the details of
supported mechanisms.
Since 5.4.0, to require a trustchain public key strength for the remote
side, specify the key type followed by the minimum strength in bits (for
- example ecdsa-384 or
- rsa-2048-ecdsa-256). To limit the acceptable set of
+ example `ecdsa-384` or
+ `rsa-2048-ecdsa-256`). To limit the acceptable set of
hashing algorithms for trustchain validation, append hash algorithms to
pubkey or a key strength definition (for example
- pubkey-sha256-sha512,
- rsa-2048-sha256-sha384-sha512 or
- rsa-2048-sha256-ecdsa-256-sha256-sha384).
- Unless disabled in strongswan.conf, or explicit IKEv2
+ `pubkey-sha256-sha512`,
+ `rsa-2048-sha256-sha384-sha512` or
+ `rsa-2048-sha256-ecdsa-256-sha256-sha384`).
+ Unless disabled in `strongswan.conf`, or explicit IKEv2
signature constraints are configured (refer to the description of the
- section's keyword for
+ {option}`local` section's {option}`auth` keyword for
details), such key types and hash algorithms are also applied as
constraints against IKEv2 signature authentication schemes used by the
remote side. To require RSASSA-PSS signatures use
- rsa/pss instead of pubkey or
- rsa as in e.g. rsa/pss-sha256. If
- pubkey or rsa constraints are
+ `rsa/pss` instead of `pubkey` or
+ `rsa` as in e.g. `rsa/pss-sha256`. If
+ `pubkey` or `rsa` constraints are
configured RSASSA-PSS signatures will only be accepted if enabled in
- strongswan.conf(5).
+ `strongswan.conf`(5).
To specify trust chain constraints for EAP-(T)TLS, append a colon to the
EAP method, followed by the key type/size and hash algorithm as
- discussed above (e.g. eap-tls:ecdsa-384-sha384).
+ discussed above (e.g. `eap-tls:ecdsa-384-sha384`).
'';
} ''
@@ -653,7 +619,7 @@ in {
connection. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
Authentication or IKEv1 XAuth.
- Each round is defined in a section having remote as
+ Each round is defined in a section having `remote` as
prefix, and an optional unique suffix. To define a single authentication
round, the suffix may be omitted.
'';
@@ -673,7 +639,7 @@ in {
combinations in IKEv1.
Algorithm keywords get separated using dashes. Multiple proposals may be
- specified in a list. The special value default forms
+ specified in a list. The special value `default` forms
a default proposal of supported algorithms considered safe, and is
usually a good choice for interoperability. By default no AH proposals
are included, instead ESP is proposed.
@@ -697,9 +663,9 @@ in {
SA is established, but may later cause rekeying to fail.
Extended Sequence Number support may be indicated with the
- esn and noesn values, both may be
+ `esn` and `noesn` values, both may be
included to indicate support for both modes. If omitted,
- noesn is assumed.
+ `noesn` is assumed.
In IKEv2, multiple algorithms of the same kind can be specified in a
single proposal, from which one gets selected. In IKEv1, only one
@@ -708,7 +674,7 @@ in {
combinations in IKEv1.
Algorithm keywords get separated using dashes. Multiple proposals may be
- specified as a list. The special value default forms
+ specified as a list. The special value `default` forms
a default proposal of supported algorithms considered safe, and is
usually a good choice for interoperability. If no algorithms are
specified for AH nor ESP, the default set of algorithms for ESP is
@@ -726,7 +692,7 @@ in {
local_ts = mkCommaSepListParam ["dynamic"] ''
List of local traffic selectors to include in CHILD_SA. Each selector is
a CIDR subnet definition, followed by an optional proto/port
- selector. The special value dynamic may be used
+ selector. The special value `dynamic` may be used
instead of a subnet definition, which gets replaced by the tunnel outer
address or the virtual IP, if negotiated. This is the default.
@@ -735,7 +701,7 @@ in {
name may be specified. After the optional protocol restriction, an
optional port restriction may be specified, separated by a slash. The
port restriction may be numeric, a getservent(3) service name, or the
- special value opaque for RFC 4301 OPAQUE
+ special value `opaque` for RFC 4301 OPAQUE
selectors. Port ranges may be specified as well, none of the kernel
backends currently support port ranges, though.
@@ -752,31 +718,31 @@ in {
remote_ts = mkCommaSepListParam ["dynamic"] ''
List of remote selectors to include in CHILD_SA. See
- for a description of the selector syntax.
+ {option}`local_ts` for a description of the selector syntax.
'';
rekey_time = mkDurationParam "1h" ''
Time to schedule CHILD_SA rekeying. CHILD_SA rekeying refreshes key
material, optionally using a Diffie-Hellman exchange if a group is
specified in the proposal. To avoid rekey collisions initiated by both
- ends simultaneously, a value in the range of
+ ends simultaneously, a value in the range of {option}`rand_time`
gets subtracted to form the effective soft lifetime.
By default CHILD_SA rekeying is scheduled every hour, minus
- .
+ {option}`rand_time`.
'';
life_time = mkOptionalDurationParam ''
Maximum lifetime before CHILD_SA gets closed. Usually this hard lifetime
is never reached, because the CHILD_SA gets rekeyed before. If that fails
for whatever reason, this limit closes the CHILD_SA. The default is 10%
- more than the .
+ more than the {option}`rekey_time`.
'';
rand_time = mkOptionalDurationParam ''
Time range from which to choose a random value to subtract from
- . The default is the difference between
- and .
+ {option}`rekey_time`. The default is the difference between
+ {option}`life_time` and {option}`rekey_time`.
'';
rekey_bytes = mkIntParam 0 ''
@@ -785,7 +751,7 @@ in {
exchange if a group is specified in the proposal.
To avoid rekey collisions initiated by both ends simultaneously, a value
- in the range of gets subtracted to form the
+ in the range of {option}`rand_bytes` gets subtracted to form the
effective soft volume limit.
Volume based CHILD_SA rekeying is disabled by default.
@@ -795,13 +761,13 @@ in {
Maximum bytes processed before CHILD_SA gets closed. Usually this hard
volume limit is never reached, because the CHILD_SA gets rekeyed
before. If that fails for whatever reason, this limit closes the
- CHILD_SA. The default is 10% more than .
+ CHILD_SA. The default is 10% more than {option}`rekey_bytes`.
'';
rand_bytes = mkOptionalIntParam ''
Byte range from which to choose a random value to subtract from
- . The default is the difference between
- and .
+ {option}`rekey_bytes`. The default is the difference between
+ {option}`life_bytes` and {option}`rekey_bytes`.
'';
rekey_packets = mkIntParam 0 ''
@@ -810,7 +776,7 @@ in {
exchange if a group is specified in the proposal.
To avoid rekey collisions initiated by both ends simultaneously, a value
- in the range of gets subtracted to form
+ in the range of {option}`rand_packets` gets subtracted to form
the effective soft packet count limit.
Packet count based CHILD_SA rekeying is disabled by default.
@@ -822,13 +788,13 @@ in {
rekeyed before. If that fails for whatever reason, this limit closes the
CHILD_SA.
- The default is 10% more than .
+ The default is 10% more than {option}`rekey_bytes`.
'';
rand_packets = mkOptionalIntParam ''
Packet range from which to choose a random value to subtract from
- . The default is the difference between
- and .
+ {option}`rekey_packets`. The default is the difference between
+ {option}`life_packets` and {option}`rekey_packets`.
'';
updown = mkOptionalStrParam ''
@@ -836,7 +802,7 @@ in {
'';
hostaccess = mkYesNoParam no ''
- Hostaccess variable to pass to updown script.
+ Hostaccess variable to pass to `updown` script.
'';
mode = mkEnumParam [ "tunnel"
@@ -847,33 +813,20 @@ in {
"drop"
] "tunnel" ''
IPsec Mode to establish CHILD_SA with.
-
-
- tunnel negotiates the CHILD_SA in IPsec Tunnel Mode,
-
-
- whereas transport uses IPsec Transport Mode.
-
-
- transport_proxy signifying the special Mobile IPv6
- Transport Proxy Mode.
-
-
- beet is the Bound End to End Tunnel mixture mode,
- working with fixed inner addresses without the need to include them in
- each packet.
-
-
- Both transport and beet modes are
- subject to mode negotiation; tunnel mode is
- negotiated if the preferred mode is not available.
-
-
- pass and drop are used to install
- shunt policies which explicitly bypass the defined traffic from IPsec
- processing or drop it, respectively.
-
-
+
+ - `tunnel` negotiates the CHILD_SA in IPsec Tunnel Mode,
+ - whereas `transport` uses IPsec Transport Mode.
+ - `transport_proxy` signifying the special Mobile IPv6
+ Transport Proxy Mode.
+ - `beet` is the Bound End to End Tunnel mixture mode,
+ working with fixed inner addresses without the need to include them in
+ each packet.
+ - Both `transport` and `beet` modes are
+ subject to mode negotiation; `tunnel` mode is
+ negotiated if the preferred mode is not available.
+ - `pass` and `drop` are used to install
+ shunt policies which explicitly bypass the defined traffic from IPsec
+ processing or drop it, respectively.
'';
policies = mkYesNoParam yes ''
@@ -932,18 +885,18 @@ in {
set. This allows installing duplicate policies and enables Netfilter
rules to select specific SAs/policies for incoming traffic. Note that
inbound marks are only set on policies, by default, unless
- is enabled. The special value
- %unique sets a unique mark on each CHILD_SA instance,
- beyond that the value %unique-dir assigns a different
+ {option}`mark_in_sa` is enabled. The special value
+ `%unique` sets a unique mark on each CHILD_SA instance,
+ beyond that the value `%unique-dir` assigns a different
unique mark for each
An additional mask may be appended to the mark, separated by
- /. The default mask if omitted is
- 0xffffffff.
+ `/`. The default mask if omitted is
+ `0xffffffff`.
'';
mark_in_sa = mkYesNoParam no ''
- Whether to set on the inbound SA. By default,
+ Whether to set {option}`mark_in` on the inbound SA. By default,
the inbound mark is only set on the inbound policy. The tuple destination
address, protocol and SPI is unique and the mark is not required to find
the correct SA, allowing to mark traffic after decryption instead (where
@@ -957,13 +910,13 @@ in {
require marks on each packet to match a policy/SA having that option
set. This allows installing duplicate policies and enables Netfilter
rules to select specific policies/SAs for outgoing traffic. The special
- value %unique sets a unique mark on each CHILD_SA
- instance, beyond that the value %unique-dir assigns a
+ value `%unique` sets a unique mark on each CHILD_SA
+ instance, beyond that the value `%unique-dir` assigns a
different unique mark for each CHILD_SA direction (in/out).
An additional mask may be appended to the mark, separated by
- /. The default mask if omitted is
- 0xffffffff.
+ `/`. The default mask if omitted is
+ `0xffffffff`.
'';
set_mark_in = mkStrParam "0/0x00000000" ''
@@ -973,10 +926,10 @@ in {
differently (e.g. via policy routing).
An additional mask may be appended to the mark, separated by
- /. The default mask if omitted is 0xffffffff. The
- special value %same uses the value (but not the mask)
- from as mark value, which can be fixed,
- %unique or %unique-dir.
+ `/`. The default mask if omitted is 0xffffffff. The
+ special value `%same` uses the value (but not the mask)
+ from {option}`mark_in` as mark value, which can be fixed,
+ `%unique` or `%unique-dir`.
Setting marks in XFRM input requires Linux 4.19 or higher.
'';
@@ -987,10 +940,10 @@ in {
traffic (e.g. via policy routing).
An additional mask may be appended to the mark, separated by
- /. The default mask if omitted is 0xffffffff. The
- special value %same uses the value (but not the mask)
- from as mark value, which can be fixed,
- %unique_ or %unique-dir.
+ `/`. The default mask if omitted is 0xffffffff. The
+ special value `%same` uses the value (but not the mask)
+ from {option}`mark_out` as mark value, which can be fixed,
+ `%unique_` or `%unique-dir`.
Setting marks in XFRM output is supported since Linux 4.14. Setting a
mask requires at least Linux 4.19.
@@ -999,18 +952,18 @@ in {
if_id_in = mkStrParam "0" ''
XFRM interface ID set on inbound policies/SA. This allows installing
duplicate policies/SAs and associates them with an interface with the
- same ID. The special value %unique sets a unique
+ same ID. The special value `%unique` sets a unique
interface ID on each CHILD_SA instance, beyond that the value
- %unique-dir assigns a different unique interface ID
+ `%unique-dir` assigns a different unique interface ID
for each CHILD_SA direction (in/out).
'';
if_id_out = mkStrParam "0" ''
XFRM interface ID set on outbound policies/SA. This allows installing
duplicate policies/SAs and associates them with an interface with the
- same ID. The special value %unique sets a unique
+ same ID. The special value `%unique` sets a unique
interface ID on each CHILD_SA instance, beyond that the value
- %unique-dir assigns a different unique interface ID
+ `%unique-dir` assigns a different unique interface ID
for each CHILD_SA direction (in/out).
The daemon will not install routes for CHILD_SAs that have this option set.
@@ -1020,23 +973,23 @@ in {
Pads ESP packets with additional data to have a consistent ESP packet
size for improved Traffic Flow Confidentiality. The padding defines the
minimum size of all ESP packets sent. The default value of
- 0 disables TFC padding, the special value
- mtu adds TFC padding to create a packet size equal to
+ `0` disables TFC padding, the special value
+ `mtu` adds TFC padding to create a packet size equal to
the Path Maximum Transfer Unit.
'';
replay_window = mkIntParam 32 ''
IPsec replay window to configure for this CHILD_SA. Larger values than
- the default of 32 are supported using the Netlink
- backend only, a value of 0 disables IPsec replay
+ the default of `32` are supported using the Netlink
+ backend only, a value of `0` disables IPsec replay
protection.
'';
hw_offload = mkEnumParam ["yes" "no" "auto"] "no" ''
Enable hardware offload for this CHILD_SA, if supported by the IPsec
- implementation. The value yes enforces offloading
+ implementation. The value `yes` enforces offloading
and the installation will fail if it's not supported by either kernel or
- device. The value auto enables offloading, if it's
+ device. The value `auto` enables offloading, if it's
supported, but the installation does not fail otherwise.
'';
@@ -1055,55 +1008,42 @@ in {
copy_dscp = mkEnumParam [ "out" "in" "yes" "no" ] "out" ''
Whether to copy the DSCP (Differentiated Services Field Codepoint)
header field to/from the outer IP header in tunnel mode. The value
- out only copies the field from the inner to the outer
- header, the value in does the opposite and only
+ `out` only copies the field from the inner to the outer
+ header, the value `in` does the opposite and only
copies the field from the outer to the inner header when decapsulating,
- the value yes copies the field in both directions,
- and the value no disables copying the field
- altogether. Setting this to yes or
- in could allow an attacker to adversely affect other
+ the value `yes` copies the field in both directions,
+ and the value `no` disables copying the field
+ altogether. Setting this to `yes` or
+ `in` could allow an attacker to adversely affect other
traffic at the receiver, which is why the default is
- out. Controlling this behavior is not supported by
+ `out`. Controlling this behavior is not supported by
all kernel interfaces.
'';
start_action = mkEnumParam ["none" "trap" "start"] "none" ''
Action to perform after loading the configuration.
-
-
- The default of none loads the connection only, which
- then can be manually initiated or used as a responder configuration.
-
-
- The value trap installs a trap policy, which triggers
- the tunnel as soon as matching traffic has been detected.
-
-
- The value start initiates the connection actively.
-
-
+
+ - The default of `none` loads the connection only, which
+ then can be manually initiated or used as a responder configuration.
+ - The value `trap` installs a trap policy, which triggers
+ the tunnel as soon as matching traffic has been detected.
+ - The value `start` initiates the connection actively.
+
When unloading or replacing a CHILD_SA configuration having a
- different from none,
+ {option}`start_action` different from `none`,
the inverse action is performed. Configurations with
- start get closed, while such with
- trap get uninstalled.
+ `start` get closed, while such with
+ `trap` get uninstalled.
'';
close_action = mkEnumParam ["none" "trap" "start"] "none" ''
Action to perform after a CHILD_SA gets closed by the peer.
-
-
- The default of none does not take any action,
-
-
- trap installs a trap policy for the CHILD_SA.
-
-
- start tries to re-create the CHILD_SA.
-
-
- does not provide any guarantee that the
+ - The default of `none` does not take any action,
+ - `trap` installs a trap policy for the CHILD_SA.
+ - `start` tries to re-create the CHILD_SA.
+
+ {option}`close_action` does not provide any guarantee that the
CHILD_SA is kept alive. It acts on explicit close messages only, but not
on negotiation failures. Use trap policies to reliably re-create failed
CHILD_SAs.
@@ -1111,9 +1051,9 @@ in {
} ''
CHILD_SA configuration sub-section. Each connection definition may have
- one or more sections in its subsection. The
+ one or more sections in its {option}`children` subsection. The
section name defines the name of the CHILD_SA configuration, which must be
- unique within the connection (denoted <child> below).
+ unique within the connection (denoted \ below).
'';
} ''
Section defining IKE connection configurations, each in its own subsection
@@ -1130,13 +1070,13 @@ in {
id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
Identity the EAP/XAuth secret belongs to. Multiple unique identities may
- be specified, each having an id prefix, if a secret
+ be specified, each having an `id` prefix, if a secret
is shared between multiple users.
'';
} ''
EAP secret section for a specific secret. Each EAP secret is defined in a
- unique section having the eap prefix. EAP secrets are
+ unique section having the `eap` prefix. EAP secrets are
used for XAuth authentication as well.
'';
@@ -1160,7 +1100,7 @@ in {
'';
} ''
NTLM secret section for a specific secret. Each NTLM secret is defined in
- a unique section having the ntlm prefix. NTLM secrets
+ a unique section having the `ntlm` prefix. NTLM secrets
may only be used for EAP-MSCHAPv2 authentication.
'';
@@ -1173,30 +1113,30 @@ in {
id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
IKE identity the IKE preshared secret belongs to. Multiple unique
- identities may be specified, each having an id
+ identities may be specified, each having an `id`
prefix, if a secret is shared between multiple peers.
'';
} ''
IKE preshared secret section for a specific secret. Each IKE PSK is
- defined in a unique section having the ike prefix.
+ defined in a unique section having the `ike` prefix.
'';
ppk = mkPrefixedAttrsOfParams {
secret = mkOptionalStrParam ''
Value of the PPK. It may either be an ASCII string, a hex encoded string
- if it has a 0x prefix or a Base64 encoded string if
- it has a 0s prefix in its value. Should have at least
+ if it has a `0x` prefix or a Base64 encoded string if
+ it has a `0s` prefix in its value. Should have at least
256 bits of entropy for 128-bit security.
'';
id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") ''
PPK identity the PPK belongs to. Multiple unique identities may be
- specified, each having an id prefix, if a secret is
+ specified, each having an `id` prefix, if a secret is
shared between multiple peers.
'';
} ''
Postquantum Preshared Key (PPK) section for a specific secret. Each PPK is
- defined in a unique section having the ppk prefix.
+ defined in a unique section having the `ppk` prefix.
'';
private = mkPrefixedAttrsOfParams {
@@ -1209,25 +1149,25 @@ in {
'';
} ''
Private key decryption passphrase for a key in the
- private folder.
+ `private` folder.
'';
rsa = mkPrefixedAttrsOfParams {
file = mkOptionalStrParam ''
- File name in the rsa folder for which this passphrase
+ File name in the `rsa` folder for which this passphrase
should be used.
'';
secret = mkOptionalStrParam ''
Value of decryption passphrase for RSA key.
'';
} ''
- Private key decryption passphrase for a key in the rsa
+ Private key decryption passphrase for a key in the `rsa`
folder.
'';
ecdsa = mkPrefixedAttrsOfParams {
file = mkOptionalStrParam ''
- File name in the ecdsa folder for which this
+ File name in the `ecdsa` folder for which this
passphrase should be used.
'';
secret = mkOptionalStrParam ''
@@ -1235,12 +1175,12 @@ in {
'';
} ''
Private key decryption passphrase for a key in the
- ecdsa folder.
+ `ecdsa` folder.
'';
pkcs8 = mkPrefixedAttrsOfParams {
file = mkOptionalStrParam ''
- File name in the pkcs8 folder for which this
+ File name in the `pkcs8` folder for which this
passphrase should be used.
'';
secret = mkOptionalStrParam ''
@@ -1248,12 +1188,12 @@ in {
'';
} ''
Private key decryption passphrase for a key in the
- pkcs8 folder.
+ `pkcs8` folder.
'';
pkcs12 = mkPrefixedAttrsOfParams {
file = mkOptionalStrParam ''
- File name in the pkcs12 folder for which this
+ File name in the `pkcs12` folder for which this
passphrase should be used.
'';
secret = mkOptionalStrParam ''
@@ -1261,7 +1201,7 @@ in {
'';
} ''
PKCS#12 decryption passphrase for a container in the
- pkcs12 folder.
+ `pkcs12` folder.
'';
token = mkPrefixedAttrsOfParams {
@@ -1281,7 +1221,7 @@ in {
pin = mkOptionalStrParam ''
Optional PIN required to access the key on the token. If none is
provided the user is prompted during an interactive
- --load-creds call.
+ `--load-creds` call.
'';
} "Definition for a private key that's stored on a token/smartcard/TPM.";
@@ -1291,7 +1231,7 @@ in {
addrs = mkOptionalStrParam ''
Subnet or range defining addresses allocated in pool. Accepts a single
CIDR subnet defining the pool to allocate addresses from or an address
- range (<from>-<to>). Pools must be unique and non-overlapping.
+ range (\-\). Pools must be unique and non-overlapping.
'';
dns = mkCommaSepListParam [] "Address or CIDR subnets";
@@ -1305,6 +1245,6 @@ in {
} ''
Section defining named pools. Named pools may be referenced by connections
with the pools option to assign virtual IPs and other configuration
- attributes. Each pool must have a unique name (denoted <name> below).
+ attributes. Each pool must have a unique name (denoted \ below).
'';
}
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
index f1b0a3f0d3..8b1398bfd4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
@@ -51,7 +51,7 @@ let
in
{
options.services.strongswan = {
- enable = mkEnableOption "strongSwan";
+ enable = mkEnableOption (lib.mdDoc "strongSwan");
secrets = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/stubby.nix b/third_party/nixpkgs/nixos/modules/services/networking/stubby.nix
index f9d6869ad9..491371e468 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/stubby.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/stubby.nix
@@ -23,7 +23,7 @@ in {
options = {
services.stubby = {
- enable = mkEnableOption "Stubby DNS resolver";
+ enable = mkEnableOption (lib.mdDoc "Stubby DNS resolver");
settings = mkOption {
type = types.attrsOf settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/supybot.nix b/third_party/nixpkgs/nixos/modules/services/networking/supybot.nix
index df7d92189a..22ba015cc5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/supybot.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/supybot.nix
@@ -67,10 +67,10 @@ in
type = types.functionTo (types.listOf types.package);
default = p: [];
defaultText = literalExpression "p: []";
- description = ''
+ description = lib.mdDoc ''
Extra Python packages available to supybot plugins. The
value must be a function which receives the attrset defined
- in python3Packages as the sole argument.
+ in {var}`python3Packages` as the sole argument.
'';
example = literalExpression "p: [ p.lxml p.requests ]";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/syncthing-relay.nix b/third_party/nixpkgs/nixos/modules/services/networking/syncthing-relay.nix
index e92557d654..64c4e731b9 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/syncthing-relay.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/syncthing-relay.nix
@@ -22,7 +22,7 @@ in {
###### interface
options.services.syncthing.relay = {
- enable = mkEnableOption "Syncthing relay service";
+ enable = mkEnableOption (lib.mdDoc "Syncthing relay service");
listenAddress = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/syncthing.nix b/third_party/nixpkgs/nixos/modules/services/networking/syncthing.nix
index 373fd03223..0b6b4bf9e5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/syncthing.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/syncthing.nix
@@ -74,7 +74,7 @@ in {
services.syncthing = {
enable = mkEnableOption
- "Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync";
+ (lib.mdDoc "Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync");
cert = mkOption {
type = types.nullOr types.str;
@@ -268,10 +268,10 @@ in {
{
versioning = {
type = "staggered";
+ fsPath = "/syncthing/backup";
params = {
cleanInterval = "3600";
maxAge = "31536000";
- versionsPath = "/syncthing/backup";
};
};
}
@@ -296,6 +296,14 @@ in {
See .
'';
};
+ fsPath = mkOption {
+ default = "";
+ type = either str path;
+ description = mdDoc ''
+ Path to the versioning folder.
+ See .
+ '';
+ };
params = mkOption {
type = attrsOf (either str path);
description = mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/tailscale.nix b/third_party/nixpkgs/nixos/modules/services/networking/tailscale.nix
index 12ac6d6da5..eb3afe118c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/tailscale.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/tailscale.nix
@@ -12,7 +12,7 @@ in {
meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
options.services.tailscale = {
- enable = mkEnableOption "Tailscale client daemon";
+ enable = mkEnableOption (lib.mdDoc "Tailscale client daemon");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/teamspeak3.nix b/third_party/nixpkgs/nixos/modules/services/networking/teamspeak3.nix
index 3be9fb31ec..f09ef1a959 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/teamspeak3.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/teamspeak3.nix
@@ -152,6 +152,7 @@ in
WorkingDirectory = cfg.dataDir;
User = user;
Group = group;
+ Restart = "on-failure";
};
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/tedicross.nix b/third_party/nixpkgs/nixos/modules/services/networking/tedicross.nix
index 3d7f298efa..cee7e11f4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/tedicross.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/tedicross.nix
@@ -13,7 +13,7 @@ let
in {
options = {
services.tedicross = {
- enable = mkEnableOption "the TediCross Telegram-Discord bridge service";
+ enable = mkEnableOption (lib.mdDoc "the TediCross Telegram-Discord bridge service");
config = mkOption {
type = types.attrs;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/teleport.nix b/third_party/nixpkgs/nixos/modules/services/networking/teleport.nix
index d03648df34..802907a00d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/teleport.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/teleport.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.teleport = with lib.types; {
- enable = mkEnableOption "the Teleport service";
+ enable = mkEnableOption (lib.mdDoc "the Teleport service");
settings = mkOption {
type = settingsYaml.type;
@@ -41,7 +41,7 @@ in
'';
};
- insecure.enable = mkEnableOption ''
+ insecure.enable = mkEnableOption (lib.mdDoc ''
starting teleport in insecure mode.
This is dangerous!
@@ -49,14 +49,14 @@ in
Proceed with caution!
Teleport starts with disabled certificate validation on Proxy Service, validation still occurs on Auth Service
- '';
+ '');
diag = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
endpoints for monitoring purposes.
- See
- '';
+ See
+ '');
addr = mkOption {
type = str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/tetrd.nix b/third_party/nixpkgs/nixos/modules/services/networking/tetrd.nix
index 0801ce1292..6284a5b1fb 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/tetrd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/tetrd.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
{
- options.services.tetrd.enable = lib.mkEnableOption "tetrd";
+ options.services.tetrd.enable = lib.mkEnableOption (lib.mdDoc "tetrd");
config = lib.mkIf config.services.tetrd.enable {
environment = {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/thelounge.nix b/third_party/nixpkgs/nixos/modules/services/networking/thelounge.nix
index 8db541d807..a188ffe866 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/thelounge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/thelounge.nix
@@ -23,7 +23,7 @@ in
imports = [ (mkRemovedOptionModule [ "services" "thelounge" "private" ] "The option was renamed to `services.thelounge.public` to follow upstream changes.") ];
options.services.thelounge = {
- enable = mkEnableOption "The Lounge web IRC client";
+ enable = mkEnableOption (lib.mdDoc "The Lounge web IRC client");
public = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/tox-node.nix b/third_party/nixpkgs/nixos/modules/services/networking/tox-node.nix
index 9371066be8..fa5b241f91 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/tox-node.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/tox-node.nix
@@ -28,7 +28,7 @@ let
in {
options.services.tox-node = {
- enable = mkEnableOption "Tox Node service";
+ enable = mkEnableOption (lib.mdDoc "Tox Node service");
logType = mkOption {
type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/toxvpn.nix b/third_party/nixpkgs/nixos/modules/services/networking/toxvpn.nix
index 618726b064..d0ff5bc4e8 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/toxvpn.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/toxvpn.nix
@@ -5,7 +5,7 @@ with lib;
{
options = {
services.toxvpn = {
- enable = mkEnableOption "toxvpn running on startup";
+ enable = mkEnableOption (lib.mdDoc "toxvpn running on startup");
localip = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/tvheadend.nix b/third_party/nixpkgs/nixos/modules/services/networking/tvheadend.nix
index dd5fa209be..466dbbccad 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/tvheadend.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/tvheadend.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.tvheadend = {
- enable = mkEnableOption "Tvheadend";
+ enable = mkEnableOption (lib.mdDoc "Tvheadend");
httpPort = mkOption {
type = types.int;
default = 9981;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ucarp.nix b/third_party/nixpkgs/nixos/modules/services/networking/ucarp.nix
index 7e8b1026db..1214cec63f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ucarp.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ucarp.nix
@@ -28,7 +28,7 @@ let
);
in {
options.networking.ucarp = {
- enable = mkEnableOption "ucarp, userspace implementation of CARP";
+ enable = mkEnableOption (lib.mdDoc "ucarp, userspace implementation of CARP");
interface = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/unbound.nix b/third_party/nixpkgs/nixos/modules/services/networking/unbound.nix
index 5bbb0f79d5..fa24c70e63 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/unbound.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/unbound.nix
@@ -40,7 +40,7 @@ in {
options = {
services.unbound = {
- enable = mkEnableOption "Unbound domain name server";
+ enable = mkEnableOption (lib.mdDoc "Unbound domain name server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/uptermd.nix b/third_party/nixpkgs/nixos/modules/services/networking/uptermd.nix
index 387478de99..f824d617f5 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/uptermd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/uptermd.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.uptermd = {
- enable = mkEnableOption "uptermd";
+ enable = mkEnableOption (lib.mdDoc "uptermd");
openFirewall = mkOption {
type = types.bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/vsftpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/vsftpd.nix
index b26adbf871..5fee7b66a4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/vsftpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/vsftpd.nix
@@ -27,7 +27,8 @@ let
type = types.bool;
name = nixosName;
value = mkOption {
- inherit description default;
+ description = lib.mdDoc description;
+ inherit default;
type = types.bool;
};
};
@@ -68,16 +69,16 @@ let
Whether users are included.
'')
(yesNoOption "userlistDeny" "userlist_deny" false ''
- Specifies whether is a list of user
+ Specifies whether {option}`userlistFile` is a list of user
names to allow or deny access.
- The default false means whitelist/allow.
+ The default `false` means whitelist/allow.
'')
(yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" false ''
- Only applies if is true. Non anonymous (local) users
+ Only applies if {option}`sslEnable` is true. Non anonymous (local) users
must use a secure SSL connection to send a password.
'')
(yesNoOption "forceLocalDataSSL" "force_local_data_ssl" false ''
- Only applies if is true. Non anonymous (local) users
+ Only applies if {option}`sslEnable` is true. Non anonymous (local) users
must use a secure SSL connection for sending/receiving data on data connection.
'')
(yesNoOption "portPromiscuous" "port_promiscuous" false ''
@@ -86,17 +87,17 @@ let
know what you are doing!
'')
(yesNoOption "ssl_tlsv1" "ssl_tlsv1" true ''
- Only applies if is activated. If
+ Only applies if {option}`ssl_enable` is activated. If
enabled, this option will permit TLS v1 protocol connections.
TLS v1 connections are preferred.
'')
(yesNoOption "ssl_sslv2" "ssl_sslv2" false ''
- Only applies if is activated. If
+ Only applies if {option}`ssl_enable` is activated. If
enabled, this option will permit SSL v2 protocol connections.
TLS v1 connections are preferred.
'')
(yesNoOption "ssl_sslv3" "ssl_sslv3" false ''
- Only applies if is activated. If
+ Only applies if {option}`ssl_enable` is activated. If
enabled, this option will permit SSL v3 protocol connections.
TLS v1 connections are preferred.
'')
@@ -149,7 +150,7 @@ in
services.vsftpd = {
- enable = mkEnableOption "vsftpd";
+ enable = mkEnableOption (lib.mdDoc "vsftpd");
userlist = mkOption {
default = [];
@@ -184,9 +185,9 @@ in
type = types.nullOr types.str;
example = "/etc/vsftpd/userDb";
default = null;
- description = ''
- Only applies if is true.
- Path pointing to the pam_userdb user
+ description = lib.mdDoc ''
+ Only applies if {option}`enableVirtualUsers` is true.
+ Path pointing to the `pam_userdb` user
database used by vsftpd to authenticate the virtual users.
This user list should be stored in the Berkeley DB database
@@ -194,21 +195,21 @@ in
To generate a new user database, create a text file, add
your users using the following format:
-
+ ```
user1
password1
user2
password2
-
+ ```
- You can then install pkgs.db to generate
+ You can then install `pkgs.db` to generate
the Berkeley DB using
-
+ ```
db_load -T -t hash -f logins.txt userDb.db
-
+ ```
- Caution: pam_userdb will automatically
- append a .db suffix to the filename you
+ Caution: `pam_userdb` will automatically
+ append a `.db` suffix to the filename you
provide though this option. This option shouldn't include
this filetype suffix.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/wasabibackend.nix b/third_party/nixpkgs/nixos/modules/services/networking/wasabibackend.nix
index 00d772a718..938145b35e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/wasabibackend.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/wasabibackend.nix
@@ -29,7 +29,7 @@ in {
options = {
services.wasabibackend = {
- enable = mkEnableOption "Wasabi backend service";
+ enable = mkEnableOption (lib.mdDoc "Wasabi backend service");
dataDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix b/third_party/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix
index 493ff7ceba..b260c57372 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix
@@ -9,7 +9,7 @@ in
options = {
services.wg-netmanager = {
- enable = mkEnableOption "Wireguard network manager";
+ enable = mkEnableOption (lib.mdDoc "Wireguard network manager");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix b/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
index 9017c53f4e..23b3008f02 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
@@ -194,19 +194,20 @@ let
default = null;
example = "demo.wireguard.io:12913";
type = with types; nullOr str;
- description = ''Endpoint IP or hostname of the peer, followed by a colon,
- and then a port number of the peer.
+ description = lib.mdDoc ''
+ Endpoint IP or hostname of the peer, followed by a colon,
+ and then a port number of the peer.
- Warning for endpoints with changing IPs:
- The WireGuard kernel side cannot perform DNS resolution.
- Thus DNS resolution is done once by the wg userspace
- utility, when setting up WireGuard. Consequently, if the IP address
- behind the name changes, WireGuard will not notice.
- This is especially common for dynamic-DNS setups, but also applies to
- any other DNS-based setup.
- If you do not use IP endpoints, you likely want to set
-
- to refresh the IPs periodically.
+ Warning for endpoints with changing IPs:
+ The WireGuard kernel side cannot perform DNS resolution.
+ Thus DNS resolution is done once by the `wg` userspace
+ utility, when setting up WireGuard. Consequently, if the IP address
+ behind the name changes, WireGuard will not notice.
+ This is especially common for dynamic-DNS setups, but also applies to
+ any other DNS-based setup.
+ If you do not use IP endpoints, you likely want to set
+ {option}`networking.wireguard.dynamicEndpointRefreshSeconds`
+ to refresh the IPs periodically.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix b/third_party/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
index 72b665f411..6c58bcfbbf 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
@@ -164,19 +164,19 @@ let
in {
options = {
networking.wireless = {
- enable = mkEnableOption "wpa_supplicant";
+ enable = mkEnableOption (lib.mdDoc "wpa_supplicant");
interfaces = mkOption {
type = types.listOf types.str;
default = [];
example = [ "wlan0" "wlan1" ];
- description = ''
- The interfaces wpa_supplicant will use. If empty, it will
+ description = lib.mdDoc ''
+ The interfaces {command}`wpa_supplicant` will use. If empty, it will
automatically use all wireless interfaces.
-
- A separate wpa_supplicant instance will be started for each interface.
-
+ ::: {.note}
+ A separate wpa_supplicant instance will be started for each interface.
+ :::
'';
};
@@ -186,7 +186,7 @@ in {
description = lib.mdDoc "Force a specific wpa_supplicant driver.";
};
- allowAuxiliaryImperativeNetworks = mkEnableOption "support for imperative & declarative networks" // {
+ allowAuxiliaryImperativeNetworks = mkEnableOption (lib.mdDoc "support for imperative & declarative networks") // {
description = ''
Whether to allow configuring networks "imperatively" (e.g. via
wpa_supplicant_gui) and declaratively via
@@ -222,24 +222,24 @@ in {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/wireless.env";
- description = ''
- File consisting of lines of the form varname=value
+ description = lib.mdDoc ''
+ File consisting of lines of the form `varname=value`
to define variables for the wireless configuration.
- See section "EnvironmentFile=" in systemd.exec5 for a syntax reference.
+ See section "EnvironmentFile=" in {manpage}`systemd.exec(5)` for a syntax reference.
Secrets (PSKs, passwords, etc.) can be provided without adding them to
the world-readable Nix store by defining them in the environment file and
- referring to them in option
- with the syntax @varname@. Example:
+ referring to them in option {option}`networking.wireless.networks`
+ with the syntax `@varname@`. Example:
-
+ ```
# content of /run/secrets/wireless.env
PSK_HOME=mypassword
PASS_WORK=myworkpassword
-
+ ```
-
+ ```
# wireless-related configuration
networking.wireless.environmentFile = "/run/secrets/wireless.env";
networking.wireless.networks = {
@@ -250,7 +250,7 @@ in {
password="@PASS_WORK@"
''';
};
-
+ ```
'';
};
@@ -260,36 +260,36 @@ in {
psk = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
The network's pre-shared key in plaintext defaulting
to being a network without any authentication.
-
- Be aware that this will be written to the nix store
- in plaintext! Use an environment variable instead.
-
+ ::: {.warning}
+ Be aware that this will be written to the nix store
+ in plaintext! Use an environment variable instead.
+ :::
-
- Mutually exclusive with pskRaw.
-
+ ::: {.note}
+ Mutually exclusive with {var}`pskRaw`.
+ :::
'';
};
pskRaw = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
The network's pre-shared key in hex defaulting
to being a network without any authentication.
-
- Be aware that this will be written to the nix store
- in plaintext! Use an environment variable instead.
-
+ ::: {.warning}
+ Be aware that this will be written to the nix store
+ in plaintext! Use an environment variable instead.
+ :::
-
- Mutually exclusive with psk.
-
+ ::: {.note}
+ Mutually exclusive with {var}`psk`.
+ :::
'';
};
@@ -343,21 +343,21 @@ in {
identity="user@example.com"
password="@EXAMPLE_PASSWORD@"
'';
- description = ''
+ description = lib.mdDoc ''
Use this option to configure advanced authentication methods like EAP.
See
- wpa_supplicant.conf5
+ {manpage}`wpa_supplicant.conf(5)`
for example configurations.
-
- Be aware that this will be written to the nix store
- in plaintext! Use an environment variable for secrets.
-
+ ::: {.warning}
+ Be aware that this will be written to the nix store
+ in plaintext! Use an environment variable for secrets.
+ :::
-
- Mutually exclusive with psk and
- pskRaw.
-
+ ::: {.note}
+ Mutually exclusive with {var}`psk` and
+ {var}`pskRaw`.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/x2goserver.nix b/third_party/nixpkgs/nixos/modules/services/networking/x2goserver.nix
index a1e096c19a..1242229a0b 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/x2goserver.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/x2goserver.nix
@@ -22,16 +22,16 @@ in {
];
options.services.x2goserver = {
- enable = mkEnableOption "x2goserver" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "x2goserver") // {
+ description = lib.mdDoc ''
Enables the x2goserver module.
NOTE: This will create a good amount of symlinks in `/usr/local/bin`
'';
};
superenicer = {
- enable = mkEnableOption "superenicer" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "superenicer") // {
+ description = lib.mdDoc ''
Enables the SupeReNicer code in x2gocleansessions, this will renice
suspended sessions to nice level 19 and renice them to level 0 if the
session becomes marked as running again
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/xandikos.nix b/third_party/nixpkgs/nixos/modules/services/networking/xandikos.nix
index 649e9c7a66..6d1ddc74c7 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/xandikos.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/xandikos.nix
@@ -9,7 +9,7 @@ in
options = {
services.xandikos = {
- enable = mkEnableOption "Xandikos CalDAV and CardDAV server";
+ enable = mkEnableOption (lib.mdDoc "Xandikos CalDAV and CardDAV server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/xinetd.nix b/third_party/nixpkgs/nixos/modules/services/networking/xinetd.nix
index 6c633d4ead..2ec0cd18dc 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/xinetd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/xinetd.nix
@@ -44,7 +44,7 @@ in
options = {
- services.xinetd.enable = mkEnableOption "the xinetd super-server daemon";
+ services.xinetd.enable = mkEnableOption (lib.mdDoc "the xinetd super-server daemon");
services.xinetd.extraDefaults = mkOption {
default = "";
@@ -105,7 +105,7 @@ in
flags = mkOption {
type = types.str;
default = "";
- description = "";
+ description = lib.mdDoc "";
};
unlisted = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/xl2tpd.nix b/third_party/nixpkgs/nixos/modules/services/networking/xl2tpd.nix
index c30a541d30..8f710bca32 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/xl2tpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/xl2tpd.nix
@@ -5,7 +5,7 @@ with lib;
{
options = {
services.xl2tpd = {
- enable = mkEnableOption "xl2tpd, the Layer 2 Tunnelling Protocol Daemon";
+ enable = mkEnableOption (lib.mdDoc "xl2tpd, the Layer 2 Tunnelling Protocol Daemon");
serverIp = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/xrdp.nix b/third_party/nixpkgs/nixos/modules/services/networking/xrdp.nix
index 17caeab272..554fb66f36 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/xrdp.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/xrdp.nix
@@ -42,7 +42,7 @@ in
services.xrdp = {
- enable = mkEnableOption "xrdp, the Remote Desktop Protocol server";
+ enable = mkEnableOption (lib.mdDoc "xrdp, the Remote Desktop Protocol server");
package = mkOption {
type = types.package;
@@ -100,7 +100,7 @@ in
confDir = mkOption {
type = types.path;
default = confDir;
- defaultText = literalDocBook "generated from configuration";
+ defaultText = literalMD "generated from configuration";
description = lib.mdDoc "The location of the config files for xrdp.";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/yggdrasil.nix b/third_party/nixpkgs/nixos/modules/services/networking/yggdrasil.nix
index e7513c5627..620ace2d8c 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/yggdrasil.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/yggdrasil.nix
@@ -17,7 +17,7 @@ in {
options = with types; {
services.yggdrasil = {
- enable = mkEnableOption "the yggdrasil system service";
+ enable = mkEnableOption (lib.mdDoc "the yggdrasil system service");
settings = mkOption {
type = format.type;
@@ -109,11 +109,11 @@ in {
description = lib.mdDoc "Yggdrasil package to use.";
};
- persistentKeys = mkEnableOption ''
+ persistentKeys = mkEnableOption (lib.mdDoc ''
If enabled then keys will be generated once and Yggdrasil
will retain the same IPv6 address when the service is
restarted. Keys are stored at ${keysPath}.
- '';
+ '');
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/zerobin.nix b/third_party/nixpkgs/nixos/modules/services/networking/zerobin.nix
index 0be694915c..9e07666f3e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/zerobin.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/zerobin.nix
@@ -12,7 +12,7 @@ in
{
options = {
services.zerobin = {
- enable = mkEnableOption "0bin";
+ enable = mkEnableOption (lib.mdDoc "0bin");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix b/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
index 2245204d45..1f3711bd0d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
@@ -17,7 +17,7 @@ let
};
in with lib; {
options.services.zeronet = {
- enable = mkEnableOption "zeronet";
+ enable = mkEnableOption (lib.mdDoc "zeronet");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/zerotierone.nix b/third_party/nixpkgs/nixos/modules/services/networking/zerotierone.nix
index 572ae2e929..30f75cd85d 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/zerotierone.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/zerotierone.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.zerotierone;
in
{
- options.services.zerotierone.enable = mkEnableOption "ZeroTierOne";
+ options.services.zerotierone.enable = mkEnableOption (lib.mdDoc "ZeroTierOne");
options.services.zerotierone.joinNetworks = mkOption {
default = [];
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/znc/default.nix b/third_party/nixpkgs/nixos/modules/services/networking/znc/default.nix
index 7ca28700da..2befab373b 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/znc/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/znc/default.nix
@@ -81,7 +81,7 @@ in
options = {
services.znc = {
- enable = mkEnableOption "ZNC";
+ enable = mkEnableOption (lib.mdDoc "ZNC");
user = mkOption {
default = "znc";
@@ -149,27 +149,27 @@ in
};
}
'';
- description = ''
+ description = lib.mdDoc ''
Configuration for ZNC, see
- for details. The
+ for details. The
Nix value declared here will be translated directly to the xml-like
format ZNC expects. This is much more flexible than the legacy options
- under , but also can't do
+ under {option}`services.znc.confOptions.*`, but also can't do
any type checking.
- You can use nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.services.znc.config
+ You can use {command}`nix-instantiate --eval --strict '' -A config.services.znc.config`
to view the current value. By default it contains a listener for port
5000 with SSL enabled.
- Nix attributes called extraConfig will be inserted
+ Nix attributes called `extraConfig` will be inserted
verbatim into the resulting config file.
- If is turned on, the
- option values in will be
+ If {option}`services.znc.useLegacyConfig` is turned on, the
+ option values in {option}`services.znc.confOptions.*` will be
gracefully be applied to this option.
If you intend to update the configuration through this option, be sure
- to enable , otherwise none of the
+ to enable {option}`services.znc.mutable`, otherwise none of the
changes here will be applied after the initial deploy.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/znc/options.nix b/third_party/nixpkgs/nixos/modules/services/networking/znc/options.nix
index 9d472abdf4..ce8e7a89a4 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/znc/options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/znc/options.nix
@@ -97,18 +97,18 @@ in
useLegacyConfig = mkOption {
default = true;
type = types.bool;
- description = ''
+ description = lib.mdDoc ''
Whether to propagate the legacy options under
- to the znc config. If this
+ {option}`services.znc.confOptions.*` to the znc config. If this
is turned on, the znc config will contain a user with the default name
"znc", global modules "webadmin" and "adminlog" will be enabled by
default, and more, all controlled through the
- options.
- You can use nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.services.znc.config
+ {option}`services.znc.confOptions.*` options.
+ You can use {command}`nix-instantiate --eval --strict '' -A config.services.znc.config`
to view the current value of the config.
In any case, if you need more flexibility,
- can be used to override/add to
+ {option}`services.znc.config` can be used to override/add to
all of the legacy options.
'';
};
@@ -177,11 +177,11 @@ in
</Pass>
'';
type = types.str;
- description = ''
- Generate with nix-shell -p znc --command "znc --makepass".
+ description = lib.mdDoc ''
+ Generate with {command}`nix-shell -p znc --command "znc --makepass"`.
This is the password used to log in to the ZNC web admin interface.
You can also set this through
-
+ {option}`services.znc.config.User..Pass.Method`
and co.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/printing/cupsd.nix b/third_party/nixpkgs/nixos/modules/services/printing/cupsd.nix
index 8f1c3d9c52..fea7ffb673 100644
--- a/third_party/nixpkgs/nixos/modules/services/printing/cupsd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/printing/cupsd.nix
@@ -167,7 +167,7 @@ in
type = types.lines;
internal = true;
default = "";
- description = ''
+ description = lib.mdDoc ''
Additional commands executed while creating the directory
containing the CUPS server binaries.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/search/elasticsearch-curator.nix b/third_party/nixpkgs/nixos/modules/services/search/elasticsearch-curator.nix
index da3b0dc9d7..f073ec7cf2 100644
--- a/third_party/nixpkgs/nixos/modules/services/search/elasticsearch-curator.nix
+++ b/third_party/nixpkgs/nixos/modules/services/search/elasticsearch-curator.nix
@@ -37,7 +37,7 @@ in {
options.services.elasticsearch-curator = {
- enable = mkEnableOption "elasticsearch curator";
+ enable = mkEnableOption (lib.mdDoc "elasticsearch curator");
interval = mkOption {
description = lib.mdDoc "The frequency to run curator, a systemd.time such as 'hourly'";
default = "hourly";
diff --git a/third_party/nixpkgs/nixos/modules/services/search/kibana.nix b/third_party/nixpkgs/nixos/modules/services/search/kibana.nix
index c945ef4c89..ffc7c4b68c 100644
--- a/third_party/nixpkgs/nixos/modules/services/search/kibana.nix
+++ b/third_party/nixpkgs/nixos/modules/services/search/kibana.nix
@@ -32,7 +32,7 @@ let
in {
options.services.kibana = {
- enable = mkEnableOption "kibana service";
+ enable = mkEnableOption (lib.mdDoc "kibana service");
listenAddress = mkOption {
description = lib.mdDoc "Kibana listening host";
@@ -122,13 +122,13 @@ in {
};
certificateAuthorities = mkOption {
- description = ''
+ description = lib.mdDoc ''
CA files to auth against elasticsearch.
- Please use the option when using kibana < 5.4
+ Please use the {option}`ca` option when using kibana \< 5.4
because those old versions don't support setting multiple CA's.
- This defaults to the singleton list [ca] when the option is defined.
+ This defaults to the singleton list [ca] when the {option}`ca` option is defined.
'';
default = if cfg.elasticsearch.ca == null then [] else [ca];
defaultText = literalExpression ''
diff --git a/third_party/nixpkgs/nixos/modules/services/search/meilisearch.nix b/third_party/nixpkgs/nixos/modules/services/search/meilisearch.nix
index 496200b808..9262b927cb 100644
--- a/third_party/nixpkgs/nixos/modules/services/search/meilisearch.nix
+++ b/third_party/nixpkgs/nixos/modules/services/search/meilisearch.nix
@@ -16,7 +16,7 @@ in
###### interface
options.services.meilisearch = {
- enable = mkEnableOption "MeiliSearch - a RESTful search API";
+ enable = mkEnableOption (lib.mdDoc "MeiliSearch - a RESTful search API");
package = mkOption {
description = lib.mdDoc "The package to use for meilisearch. Use this if you require specific features to be enabled. The default package has no features.";
diff --git a/third_party/nixpkgs/nixos/modules/services/search/solr.nix b/third_party/nixpkgs/nixos/modules/services/search/solr.nix
index ea8a2d6f92..48570412b0 100644
--- a/third_party/nixpkgs/nixos/modules/services/search/solr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/search/solr.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.solr = {
- enable = mkEnableOption "Solr";
+ enable = mkEnableOption (lib.mdDoc "Solr");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/aesmd.nix b/third_party/nixpkgs/nixos/modules/services/security/aesmd.nix
index 2f7deb7c84..7b0a46d6d0 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/aesmd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/aesmd.nix
@@ -19,7 +19,7 @@ let
in
{
options.services.aesmd = {
- enable = mkEnableOption "Intel's Architectural Enclave Service Manager (AESM) for Intel SGX";
+ enable = mkEnableOption (lib.mdDoc "Intel's Architectural Enclave Service Manager (AESM) for Intel SGX");
debug = mkOption {
type = types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/certmgr.nix b/third_party/nixpkgs/nixos/modules/services/security/certmgr.nix
index 40a566bc96..ca4cf50847 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/certmgr.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/certmgr.nix
@@ -35,7 +35,7 @@ let
in
{
options.services.certmgr = {
- enable = mkEnableOption "certmgr";
+ enable = mkEnableOption (lib.mdDoc "certmgr");
package = mkOption {
type = types.package;
@@ -118,34 +118,34 @@ in
service = mkOption {
type = nullOr str;
default = null;
- description = "The service on which to perform <action> after fetching.";
+ description = lib.mdDoc "The service on which to perform \ after fetching.";
};
action = mkOption {
type = addCheck str (x: cfg.svcManager == "command" || elem x ["restart" "reload" "nop"]);
default = "nop";
- description = "The action to take after fetching.";
+ description = lib.mdDoc "The action to take after fetching.";
};
# These ought all to be specified according to certmgr spec def.
authority = mkOption {
type = attrs;
- description = "certmgr spec authority object.";
+ description = lib.mdDoc "certmgr spec authority object.";
};
certificate = mkOption {
type = nullOr attrs;
- description = "certmgr spec certificate object.";
+ description = lib.mdDoc "certmgr spec certificate object.";
};
private_key = mkOption {
type = nullOr attrs;
- description = "certmgr spec private_key object.";
+ description = lib.mdDoc "certmgr spec private_key object.";
};
request = mkOption {
type = nullOr attrs;
- description = "certmgr spec request object.";
+ description = lib.mdDoc "certmgr spec request object.";
};
};
}));
diff --git a/third_party/nixpkgs/nixos/modules/services/security/cfssl.nix b/third_party/nixpkgs/nixos/modules/services/security/cfssl.nix
index 9408a602f1..202db98e22 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/cfssl.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/cfssl.nix
@@ -6,20 +6,20 @@ let
cfg = config.services.cfssl;
in {
options.services.cfssl = {
- enable = mkEnableOption "the CFSSL CA api-server";
+ enable = mkEnableOption (lib.mdDoc "the CFSSL CA api-server");
dataDir = mkOption {
default = "/var/lib/cfssl";
type = types.path;
- description = ''
+ description = lib.mdDoc ''
The work directory for CFSSL.
-
- If left as the default value this directory will automatically be
- created before the CFSSL server starts, otherwise you are
- responsible for ensuring the directory exists with appropriate
- ownership and permissions.
-
+ ::: {.note}
+ If left as the default value this directory will automatically be
+ created before the CFSSL server starts, otherwise you are
+ responsible for ensuring the directory exists with appropriate
+ ownership and permissions.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/clamav.nix b/third_party/nixpkgs/nixos/modules/services/security/clamav.nix
index 1b1194d311..34897a9ac7 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/clamav.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/clamav.nix
@@ -26,7 +26,7 @@ in
options = {
services.clamav = {
daemon = {
- enable = mkEnableOption "ClamAV clamd daemon";
+ enable = mkEnableOption (lib.mdDoc "ClamAV clamd daemon");
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
@@ -38,7 +38,7 @@ in
};
};
updater = {
- enable = mkEnableOption "ClamAV freshclam updater";
+ enable = mkEnableOption (lib.mdDoc "ClamAV freshclam updater");
frequency = mkOption {
type = types.int;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/fprintd.nix b/third_party/nixpkgs/nixos/modules/services/security/fprintd.nix
index 45b370009c..28f9b5908b 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/fprintd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/fprintd.nix
@@ -18,7 +18,7 @@ in
services.fprintd = {
- enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling";
+ enable = mkEnableOption (lib.mdDoc "fprintd daemon and PAM module for fingerprint readers handling");
package = mkOption {
type = types.package;
@@ -31,7 +31,7 @@ in
tod = {
- enable = mkEnableOption "Touch OEM Drivers library support";
+ enable = mkEnableOption (lib.mdDoc "Touch OEM Drivers library support");
driver = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/haka.nix b/third_party/nixpkgs/nixos/modules/services/security/haka.nix
index 893ab89d2a..c93638f44d 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/haka.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/haka.nix
@@ -55,7 +55,7 @@ in
services.haka = {
- enable = mkEnableOption "Haka";
+ enable = mkEnableOption (lib.mdDoc "Haka");
package = mkOption {
default = pkgs.haka;
@@ -103,9 +103,9 @@ in
description = lib.mdDoc "Whether to enable pcap";
};
- nfqueue = mkEnableOption "nfqueue";
+ nfqueue = mkEnableOption (lib.mdDoc "nfqueue");
- dump.enable = mkEnableOption "dump";
+ dump.enable = mkEnableOption (lib.mdDoc "dump");
dump.input = mkOption {
default = "/tmp/input.pcap";
example = "/path/to/file.pcap";
diff --git a/third_party/nixpkgs/nixos/modules/services/security/haveged.nix b/third_party/nixpkgs/nixos/modules/services/security/haveged.nix
index c65d5ab292..db12a28a7d 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/haveged.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/haveged.nix
@@ -15,10 +15,10 @@ in
services.haveged = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
haveged entropy daemon, which refills /dev/random when low.
NOTE: does nothing on kernels newer than 5.6.
- '';
+ '');
# source for the note https://github.com/jirka-h/haveged/issues/57
refill_threshold = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/security/hockeypuck.nix b/third_party/nixpkgs/nixos/modules/services/security/hockeypuck.nix
index 6fdad13f25..127134bc5d 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/hockeypuck.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/hockeypuck.nix
@@ -7,7 +7,7 @@ in {
meta.maintainers = with lib.maintainers; [ etu ];
options.services.hockeypuck = {
- enable = lib.mkEnableOption "Hockeypuck OpenPGP Key Server";
+ enable = lib.mkEnableOption (lib.mdDoc "Hockeypuck OpenPGP Key Server");
port = lib.mkOption {
default = 11371;
@@ -37,10 +37,10 @@ in {
};
}
'';
- description = ''
+ description = lib.mdDoc ''
Configuration file for hockeypuck, here you can override
- certain settings (loglevel and
- openpgp.db.dsn) by just setting those values.
+ certain settings (`loglevel` and
+ `openpgp.db.dsn`) by just setting those values.
For other settings you need to use lib.mkForce to override them.
@@ -49,7 +49,7 @@ in {
the database yourself.
Example:
-
+ ```
services.postgresql = {
enable = true;
ensureDatabases = [ "hockeypuck" ];
@@ -58,7 +58,7 @@ in {
ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES";
}];
};
-
+ ```
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/infnoise.nix b/third_party/nixpkgs/nixos/modules/services/security/infnoise.nix
index 883185fab1..739a0a84d9 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/infnoise.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/infnoise.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.infnoise = {
- enable = mkEnableOption "the Infinite Noise TRNG driver";
+ enable = mkEnableOption (lib.mdDoc "the Infinite Noise TRNG driver");
fillDevRandom = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/security/kanidm.nix b/third_party/nixpkgs/nixos/modules/services/security/kanidm.nix
index 6429273705..53929761b8 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/kanidm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/kanidm.nix
@@ -53,9 +53,9 @@ let
in
{
options.services.kanidm = {
- enableClient = lib.mkEnableOption "the Kanidm client";
- enableServer = lib.mkEnableOption "the Kanidm server";
- enablePam = lib.mkEnableOption "the Kanidm PAM and NSS integration.";
+ enableClient = lib.mkEnableOption (lib.mdDoc "the Kanidm client");
+ enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
+ enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration.");
serverSettings = lib.mkOption {
type = lib.types.submodule {
diff --git a/third_party/nixpkgs/nixos/modules/services/security/munge.nix b/third_party/nixpkgs/nixos/modules/services/security/munge.nix
index e2b0921b4b..4d6fe33f69 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/munge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/munge.nix
@@ -15,7 +15,7 @@ in
options = {
services.munge = {
- enable = mkEnableOption "munge service";
+ enable = mkEnableOption (lib.mdDoc "munge service");
password = mkOption {
default = "/etc/munge/munge.key";
diff --git a/third_party/nixpkgs/nixos/modules/services/security/nginx-sso.nix b/third_party/nixpkgs/nixos/modules/services/security/nginx-sso.nix
index 1c23c29781..971f22ed34 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/nginx-sso.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/nginx-sso.nix
@@ -8,7 +8,7 @@ let
configYml = pkgs.writeText "nginx-sso.yml" (builtins.toJSON cfg.configuration);
in {
options.services.nginx.sso = {
- enable = mkEnableOption "nginx-sso service";
+ enable = mkEnableOption (lib.mdDoc "nginx-sso service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix b/third_party/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
index e0b22d3f38..e3f8e75ca2 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/oauth2_proxy.nix
@@ -86,7 +86,7 @@ let
in
{
options.services.oauth2_proxy = {
- enable = mkEnableOption "oauth2_proxy";
+ enable = mkEnableOption (lib.mdDoc "oauth2_proxy");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/opensnitch.nix b/third_party/nixpkgs/nixos/modules/services/security/opensnitch.nix
index 4558236339..1612b0edf0 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/opensnitch.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/opensnitch.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.opensnitch = {
- enable = mkEnableOption "Opensnitch application firewall";
+ enable = mkEnableOption (lib.mdDoc "Opensnitch application firewall");
settings = mkOption {
type = types.submodule {
freeformType = format.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix b/third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix
index 611cea48ee..c3c70d97ff 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.passSecretService = {
- enable = mkEnableOption "pass secret service";
+ enable = mkEnableOption (lib.mdDoc "pass secret service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix b/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
index ce98b0393e..5cd338ebf7 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
@@ -66,25 +66,25 @@ in
{
options = {
services.privacyidea = {
- enable = mkEnableOption "PrivacyIDEA";
+ enable = mkEnableOption (lib.mdDoc "PrivacyIDEA");
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/root/privacyidea.env";
- description = ''
+ description = lib.mdDoc ''
File to load as environment file. Environment variables
from this file will be interpolated into the config file
- using envsubst which is helpful for specifying
+ using `envsubst` which is helpful for specifying
secrets:
-
- { = "$SECRET"; }
-
+ ```
+ { services.privacyidea.secretKey = "$SECRET"; }
+ ```
The environment-file can now specify the actual secret key:
-
+ ```
SECRET=veryverytopsecret
-
+ ```
'';
};
@@ -179,7 +179,7 @@ in
};
ldap-proxy = {
- enable = mkEnableOption "PrivacyIDEA LDAP Proxy";
+ enable = mkEnableOption (lib.mdDoc "PrivacyIDEA LDAP Proxy");
configFile = mkOption {
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/sks.nix b/third_party/nixpkgs/nixos/modules/services/security/sks.nix
index e9205e4855..550b61916a 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/sks.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/sks.nix
@@ -16,10 +16,10 @@ in {
services.sks = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
SKS (synchronizing key server for OpenPGP) and start the database
server. You need to create "''${dataDir}/dump/*.gpg" for the initial
- import'';
+ import'');
package = mkOption {
default = pkgs.sks;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/sslmate-agent.nix b/third_party/nixpkgs/nixos/modules/services/security/sslmate-agent.nix
index c850eb22a0..2d72406f0d 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/sslmate-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/sslmate-agent.nix
@@ -10,7 +10,7 @@ in {
options = {
services.sslmate-agent = {
- enable = mkEnableOption "sslmate-agent, a daemon for managing SSL/TLS certificates on a server";
+ enable = mkEnableOption (lib.mdDoc "sslmate-agent, a daemon for managing SSL/TLS certificates on a server");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/step-ca.nix b/third_party/nixpkgs/nixos/modules/services/security/step-ca.nix
index 1afcf65963..433f162ecb 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/step-ca.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/step-ca.nix
@@ -8,8 +8,8 @@ in
options = {
services.step-ca = {
- enable = lib.mkEnableOption "the smallstep certificate authority server";
- openFirewall = lib.mkEnableOption "opening the certificate authority server port";
+ enable = lib.mkEnableOption (lib.mdDoc "the smallstep certificate authority server");
+ openFirewall = lib.mkEnableOption (lib.mdDoc "opening the certificate authority server port");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.step-ca;
@@ -34,42 +34,38 @@ in
};
settings = lib.mkOption {
type = with lib.types; attrsOf anything;
- description = ''
- Settings that go into ca.json. See
- the step-ca manual
+ description = lib.mdDoc ''
+ Settings that go into {file}`ca.json`. See
+ [the step-ca manual](https://smallstep.com/docs/step-ca/configuration)
for more information. The easiest way to
- configure this module would be to run step ca init
- to generate ca.json and then import it using
- builtins.fromJSON.
- This article
+ configure this module would be to run `step ca init`
+ to generate {file}`ca.json` and then import it using
+ `builtins.fromJSON`.
+ [This article](https://smallstep.com/docs/step-cli/basic-crypto-operations#run-an-offline-x509-certificate-authority)
may also be useful if you want to customize certain aspects of
certificate generation for your CA.
- You need to change the database storage path to /var/lib/step-ca/db.
+ You need to change the database storage path to {file}`/var/lib/step-ca/db`.
-
-
- The option
- will be ignored and overwritten by
- and
- .
-
-
+ ::: {.warning}
+ The {option}`services.step-ca.settings.address` option
+ will be ignored and overwritten by
+ {option}`services.step-ca.address` and
+ {option}`services.step-ca.port`.
+ :::
'';
};
intermediatePasswordFile = lib.mkOption {
type = lib.types.path;
example = "/run/keys/smallstep-password";
- description = ''
+ description = lib.mdDoc ''
Path to the file containing the password for the intermediate
certificate private key.
-
-
- Make sure to use a quoted absolute path instead of a path literal
- to prevent it from being copied to the globally readable Nix
- store.
-
-
+ ::: {.warning}
+ Make sure to use a quoted absolute path instead of a path literal
+ to prevent it from being copied to the globally readable Nix
+ store.
+ :::
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/tor.nix b/third_party/nixpkgs/nixos/modules/services/security/tor.nix
index 84f577c385..730802d92c 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/tor.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/tor.nix
@@ -9,7 +9,7 @@ let
stateDir = "/var/lib/tor";
runDir = "/run/tor";
descriptionGeneric = option: ''
- See torrc manual.
+ See [torrc manual](https://2019.www.torproject.org/docs/tor-manual.html.en#${option}).
'';
bindsPrivilegedPort =
any (p0:
@@ -30,35 +30,35 @@ let
optionBool = optionName: mkOption {
type = with types; nullOr bool;
default = null;
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionInt = optionName: mkOption {
type = with types; nullOr int;
default = null;
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionString = optionName: mkOption {
type = with types; nullOr str;
default = null;
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionStrings = optionName: mkOption {
type = with types; listOf str;
default = [];
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionAddress = mkOption {
type = with types; nullOr str;
default = null;
example = "0.0.0.0";
- description = ''
+ description = lib.mdDoc ''
IPv4 or IPv6 (if between brackets) address.
'';
};
optionUnix = mkOption {
type = with types; nullOr path;
default = null;
- description = ''
+ description = lib.mdDoc ''
Unix domain socket path to use.
'';
};
@@ -69,7 +69,7 @@ let
optionPorts = optionName: mkOption {
type = with types; listOf port;
default = [];
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionIsolablePort = with types; oneOf [
port (enum ["auto"])
@@ -89,7 +89,7 @@ let
optionIsolablePorts = optionName: mkOption {
default = [];
type = with types; either optionIsolablePort (listOf optionIsolablePort);
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
isolateFlags = [
"IsolateClientAddr"
@@ -144,17 +144,17 @@ let
};
}))
]))];
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionBandwith = optionName: mkOption {
type = with types; nullOr (either int str);
default = null;
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
optionPath = optionName: mkOption {
type = with types; nullOr path;
default = null;
- description = descriptionGeneric optionName;
+ description = lib.mdDoc (descriptionGeneric optionName);
};
mkValueString = k: v:
@@ -224,11 +224,11 @@ in
options = {
services.tor = {
- enable = mkEnableOption ''Tor daemon.
+ enable = mkEnableOption (lib.mdDoc ''Tor daemon.
By default, the daemon is run without
- relay, exit, bridge or client connectivity'';
+ relay, exit, bridge or client connectivity'');
- openFirewall = mkEnableOption "opening of the relay port(s) in the firewall";
+ openFirewall = mkEnableOption (lib.mdDoc "opening of the relay port(s) in the firewall");
package = mkOption {
type = types.package;
@@ -237,19 +237,19 @@ in
description = lib.mdDoc "Tor package to use.";
};
- enableGeoIP = mkEnableOption ''use of GeoIP databases.
+ enableGeoIP = mkEnableOption (lib.mdDoc ''use of GeoIP databases.
Disabling this will disable by-country statistics for bridges and relays
- and some client and third-party software functionality'' // { default = true; };
+ and some client and third-party software functionality'') // { default = true; };
- controlSocket.enable = mkEnableOption ''control socket,
- created in ${runDir}/control'';
+ controlSocket.enable = mkEnableOption (lib.mdDoc ''control socket,
+ created in `${runDir}/control`'');
client = {
- enable = mkEnableOption ''the routing of application connections.
- You might want to disable this if you plan running a dedicated Tor relay'';
+ enable = mkEnableOption (lib.mdDoc ''the routing of application connections.
+ You might want to disable this if you plan running a dedicated Tor relay'');
- transparentProxy.enable = mkEnableOption "transparent proxy";
- dns.enable = mkEnableOption "DNS resolver";
+ transparentProxy.enable = mkEnableOption (lib.mdDoc "transparent proxy");
+ dns.enable = mkEnableOption (lib.mdDoc "DNS resolver");
socksListenAddress = mkOption {
type = optionSOCKSPort false;
@@ -262,7 +262,7 @@ in
};
onionServices = mkOption {
- description = descriptionGeneric "HiddenServiceDir";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceDir");
default = {};
example = {
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" = {
@@ -271,11 +271,14 @@ in
};
type = types.attrsOf (types.submodule ({name, config, ...}: {
options.clientAuthorizations = mkOption {
- description = ''
+ description = lib.mdDoc ''
Clients' authorizations for a v3 onion service,
as a list of files containing each one private key, in the format:
- descriptor:x25519:<base32-private-key>
- '' + descriptionGeneric "_client_authorization";
+ ```
+ descriptor:x25519:
+ ```
+ ${descriptionGeneric "_client_authorization"}
+ '';
type = with types; listOf path;
default = [];
example = ["/run/keys/tor/alice.prv.x25519"];
@@ -285,151 +288,109 @@ in
};
relay = {
- enable = mkEnableOption ''relaying of Tor traffic for others.
+ enable = mkEnableOption (lib.mdDoc "tor relaying") // {
+ description = lib.mdDoc ''
+ Whether to enable relaying of Tor traffic for others.
- See
- for details.
+ See
+ for details.
- Setting this to true requires setting
-
- and
-
- options'';
+ Setting this to true requires setting
+ {option}`services.tor.relay.role`
+ and
+ {option}`services.tor.settings.ORPort`
+ options.
+ '';
+ };
role = mkOption {
type = types.enum [ "exit" "relay" "bridge" "private-bridge" ];
- description = ''
+ description = lib.mdDoc ''
Your role in Tor network. There're several options:
-
-
- exit
-
-
- An exit relay. This allows Tor users to access regular
- Internet services through your public IP.
-
+ - `exit`:
+ An exit relay. This allows Tor users to access regular
+ Internet services through your public IP.
-
- Running an exit relay may expose you to abuse
- complaints. See
-
- for more info.
-
+ You can specify which services Tor users may access via
+ your exit relay using {option}`settings.ExitPolicy` option.
-
- You can specify which services Tor users may access via
- your exit relay using option.
-
-
-
+ - `relay`:
+ Regular relay. This allows Tor users to relay onion
+ traffic to other Tor nodes, but not to public
+ Internet.
-
- relay
-
-
- Regular relay. This allows Tor users to relay onion
- traffic to other Tor nodes, but not to public
- Internet.
-
+ See
+
+ for more info.
-
- Note that some misconfigured and/or disrespectful
- towards privacy sites will block you even if your
- relay is not an exit relay. That is, just being listed
- in a public relay directory can have unwanted
- consequences.
+ - `bridge`:
+ Regular bridge. Works like a regular relay, but
+ doesn't list you in the public relay directory and
+ hides your Tor node behind obfs4proxy.
- Which means you might not want to use
- this role if you browse public Internet from the same
- network as your relay, unless you want to write
- e-mails to those sites (you should!).
-
+ Using this option will make Tor advertise your bridge
+ to users through various mechanisms like
+ , though.
-
- See
-
- for more info.
-
-
-
+ See
+ for more info.
-
- bridge
-
-
- Regular bridge. Works like a regular relay, but
- doesn't list you in the public relay directory and
- hides your Tor node behind obfs4proxy.
-
+ - `private-bridge`:
+ Private bridge. Works like regular bridge, but does
+ not advertise your node in any way.
-
- Using this option will make Tor advertise your bridge
- to users through various mechanisms like
- , though.
-
+ Using this role means that you won't contribute to Tor
+ network in any way unless you advertise your node
+ yourself in some way.
-
-
- WARNING: THE FOLLOWING PARAGRAPH IS NOT LEGAL ADVICE.
- Consult with your lawyer when in doubt.
-
+ Use this if you want to run a private bridge, for
+ example because you'll give out your bridge addr
+ manually to your friends.
-
- This role should be safe to use in most situations
- (unless the act of forwarding traffic for others is
- a punishable offence under your local laws, which
- would be pretty insane as it would make ISP illegal).
-
-
+ Switching to this role after measurable time in
+ "bridge" role is pretty useless as some Tor users
+ would have learned about your node already. In the
+ latter case you can still change
+ {option}`port` option.
-
- See
- for more info.
-
-
-
+ See
+ for more info.
-
- private-bridge
-
-
- Private bridge. Works like regular bridge, but does
- not advertise your node in any way.
-
+ ::: {.important}
+ Running an exit relay may expose you to abuse
+ complaints. See
+
+ for more info.
+ :::
-
- Using this role means that you won't contribute to Tor
- network in any way unless you advertise your node
- yourself in some way.
-
+ ::: {.important}
+ Note that some misconfigured and/or disrespectful
+ towards privacy sites will block you even if your
+ relay is not an exit relay. That is, just being listed
+ in a public relay directory can have unwanted
+ consequences.
-
- Use this if you want to run a private bridge, for
- example because you'll give out your bridge addr
- manually to your friends.
-
+ Which means you might not want to use
+ this role if you browse public Internet from the same
+ network as your relay, unless you want to write
+ e-mails to those sites (you should!).
+ :::
-
- Switching to this role after measurable time in
- "bridge" role is pretty useless as some Tor users
- would have learned about your node already. In the
- latter case you can still change
- option.
-
+ ::: {.important}
+ WARNING: THE FOLLOWING PARAGRAPH IS NOT LEGAL ADVICE.
+ Consult with your lawyer when in doubt.
-
- See
- for more info.
-
-
-
-
+ The `bridge` role should be safe to use in most situations
+ (unless the act of forwarding traffic for others is
+ a punishable offence under your local laws, which
+ would be pretty insane as it would make ISP illegal).
+ :::
'';
};
onionServices = mkOption {
- description = descriptionGeneric "HiddenServiceDir";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceDir");
default = {};
example = {
"example.org/www" = {
@@ -462,7 +423,7 @@ in
'';
};
options.authorizeClient = mkOption {
- description = descriptionGeneric "HiddenServiceAuthorizeClient";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceAuthorizeClient");
default = null;
type = types.nullOr (types.submodule ({...}: {
options = {
@@ -487,17 +448,20 @@ in
}));
};
options.authorizedClients = mkOption {
- description = ''
+ description = lib.mdDoc ''
Authorized clients for a v3 onion service,
as a list of public key, in the format:
- descriptor:x25519:<base32-public-key>
- '' + descriptionGeneric "_client_authorization";
+ ```
+ descriptor:x25519:
+ ```
+ ${descriptionGeneric "_client_authorization"}
+ '';
type = with types; listOf str;
default = [];
example = ["descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];
};
options.map = mkOption {
- description = descriptionGeneric "HiddenServicePort";
+ description = lib.mdDoc (descriptionGeneric "HiddenServicePort");
type = with types; listOf (oneOf [
port (submodule ({...}: {
options = {
@@ -518,14 +482,15 @@ in
apply = map (v: if isInt v then {port=v; target=null;} else v);
};
options.version = mkOption {
- description = descriptionGeneric "HiddenServiceVersion";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceVersion");
type = with types; nullOr (enum [2 3]);
default = null;
};
options.settings = mkOption {
- description = ''
+ description = lib.mdDoc ''
Settings of the onion service.
- '' + descriptionGeneric "_hidden_service_options";
+ ${descriptionGeneric "_hidden_service_options"}
+ '';
default = {};
type = types.submodule {
freeformType = with types;
@@ -535,18 +500,18 @@ in
options.HiddenServiceAllowUnknownPorts = optionBool "HiddenServiceAllowUnknownPorts";
options.HiddenServiceDirGroupReadable = optionBool "HiddenServiceDirGroupReadable";
options.HiddenServiceExportCircuitID = mkOption {
- description = descriptionGeneric "HiddenServiceExportCircuitID";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceExportCircuitID");
type = with types; nullOr (enum ["haproxy"]);
default = null;
};
options.HiddenServiceMaxStreams = mkOption {
- description = descriptionGeneric "HiddenServiceMaxStreams";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceMaxStreams");
type = with types; nullOr (ints.between 0 65535);
default = null;
};
options.HiddenServiceMaxStreamsCloseCircuit = optionBool "HiddenServiceMaxStreamsCloseCircuit";
options.HiddenServiceNumIntroductionPoints = mkOption {
- description = descriptionGeneric "HiddenServiceNumIntroductionPoints";
+ description = lib.mdDoc (descriptionGeneric "HiddenServiceNumIntroductionPoints");
type = with types; nullOr (ints.between 0 20);
default = null;
};
@@ -605,7 +570,7 @@ in
options.ClientAutoIPv6ORPort = optionBool "ClientAutoIPv6ORPort";
options.ClientDNSRejectInternalAddresses = optionBool "ClientDNSRejectInternalAddresses";
options.ClientOnionAuthDir = mkOption {
- description = descriptionGeneric "ClientOnionAuthDir";
+ description = lib.mdDoc (descriptionGeneric "ClientOnionAuthDir");
default = null;
type = with types; nullOr path;
};
@@ -618,7 +583,7 @@ in
options.ConstrainedSockets = optionBool "ConstrainedSockets";
options.ContactInfo = optionString "ContactInfo";
options.ControlPort = mkOption rec {
- description = descriptionGeneric "ControlPort";
+ description = lib.mdDoc (descriptionGeneric "ControlPort");
default = [];
example = [{port = 9051;}];
type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [
@@ -653,7 +618,7 @@ in
options.DormantTimeoutDisabledByIdleStreams = optionBool "DormantTimeoutDisabledByIdleStreams";
options.DirCache = optionBool "DirCache";
options.DirPolicy = mkOption {
- description = descriptionGeneric "DirPolicy";
+ description = lib.mdDoc (descriptionGeneric "DirPolicy");
type = with types; listOf str;
default = [];
example = ["accept *:*"];
@@ -680,7 +645,7 @@ in
options.ExitPortStatistics = optionBool "ExitPortStatistics";
options.ExitRelay = optionBool "ExitRelay"; # default is null and like "auto"
options.ExtORPort = mkOption {
- description = descriptionGeneric "ExtORPort";
+ description = lib.mdDoc (descriptionGeneric "ExtORPort");
default = null;
type = with types; nullOr (oneOf [
port (enum ["auto"]) (submodule ({...}: {
@@ -709,7 +674,7 @@ in
options.GeoIPv6File = optionPath "GeoIPv6File";
options.GuardfractionFile = optionPath "GuardfractionFile";
options.HidServAuth = mkOption {
- description = descriptionGeneric "HidServAuth";
+ description = lib.mdDoc (descriptionGeneric "HidServAuth");
default = [];
type = with types; listOf (oneOf [
(submodule {
@@ -760,7 +725,7 @@ in
options.ProtocolWarnings = optionBool "ProtocolWarnings";
options.PublishHidServDescriptors = optionBool "PublishHidServDescriptors";
options.PublishServerDescriptor = mkOption {
- description = descriptionGeneric "PublishServerDescriptor";
+ description = lib.mdDoc (descriptionGeneric "PublishServerDescriptor");
type = with types; nullOr (enum [false true 0 1 "0" "1" "v3" "bridge"]);
default = null;
};
@@ -778,7 +743,7 @@ in
options.ServerDNSResolvConfFile = optionPath "ServerDNSResolvConfFile";
options.ServerDNSSearchDomains = optionBool "ServerDNSSearchDomains";
options.ServerTransportPlugin = mkOption {
- description = descriptionGeneric "ServerTransportPlugin";
+ description = lib.mdDoc (descriptionGeneric "ServerTransportPlugin");
default = null;
type = with types; nullOr (submodule ({...}: {
options = {
@@ -797,13 +762,13 @@ in
options.ShutdownWaitLength = mkOption {
type = types.int;
default = 30;
- description = descriptionGeneric "ShutdownWaitLength";
+ description = lib.mdDoc (descriptionGeneric "ShutdownWaitLength");
};
options.SocksPolicy = optionStrings "SocksPolicy" // {
example = ["accept *:*"];
};
options.SOCKSPort = mkOption {
- description = descriptionGeneric "SOCKSPort";
+ description = lib.mdDoc (descriptionGeneric "SOCKSPort");
default = if cfg.settings.HiddenServiceNonAnonymousMode == true then [{port = 0;}] else [];
defaultText = literalExpression ''
if config.${opt.settings}.HiddenServiceNonAnonymousMode == true
@@ -816,7 +781,7 @@ in
options.TestingTorNetwork = optionBool "TestingTorNetwork";
options.TransPort = optionIsolablePorts "TransPort";
options.TransProxyType = mkOption {
- description = descriptionGeneric "TransProxyType";
+ description = lib.mdDoc (descriptionGeneric "TransProxyType");
type = with types; nullOr (enum ["default" "TPROXY" "ipfw" "pf-divert"]);
default = null;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/torify.nix b/third_party/nixpkgs/nixos/modules/services/security/torify.nix
index 770e445d73..4d311adebc 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/torify.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/torify.nix
@@ -27,16 +27,16 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to build tsocks wrapper script to relay application traffic via Tor.
-
- You shouldn't use this unless you know what you're
- doing because your installation of Tor already comes with
- its own superior (doesn't leak DNS queries)
- torsocks wrapper which does pretty much
- exactly the same thing as this.
-
+ ::: {.important}
+ You shouldn't use this unless you know what you're
+ doing because your installation of Tor already comes with
+ its own superior (doesn't leak DNS queries)
+ `torsocks` wrapper which does pretty much
+ exactly the same thing as this.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/usbguard.nix b/third_party/nixpkgs/nixos/modules/services/security/usbguard.nix
index 2424759390..1b1fa84c4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/usbguard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/usbguard.nix
@@ -39,7 +39,7 @@ in
options = {
services.usbguard = {
- enable = mkEnableOption "USBGuard daemon";
+ enable = mkEnableOption (lib.mdDoc "USBGuard daemon");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/security/vault.nix b/third_party/nixpkgs/nixos/modules/services/security/vault.nix
index c471bf0186..7b9e31a8d9 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/vault.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/vault.nix
@@ -43,7 +43,7 @@ in
{
options = {
services.vault = {
- enable = mkEnableOption "Vault daemon";
+ enable = mkEnableOption (lib.mdDoc "Vault daemon");
package = mkOption {
type = types.package;
@@ -141,17 +141,17 @@ in
extraSettingsPaths = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
Configuration files to load besides the immutable one defined by the NixOS module.
This can be used to avoid putting credentials in the Nix store, which can be read by any user.
Each path can point to a JSON- or HCL-formatted file, or a directory
- to be scanned for files with .hcl or
- .json extensions.
+ to be scanned for files with `.hcl` or
+ `.json` extensions.
To upload the confidential file with NixOps, use for example:
-
+ ```
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix b/third_party/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
index 3aa38ed819..7e4863dd87 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
@@ -39,7 +39,7 @@ in {
];
options.services.vaultwarden = with types; {
- enable = mkEnableOption "vaultwarden";
+ enable = mkEnableOption (lib.mdDoc "vaultwarden");
dbBackend = mkOption {
type = enum [ "sqlite" "mysql" "postgresql" ];
@@ -97,26 +97,26 @@ in {
SMTP_FROM_NAME = "example.com Bitwarden server";
}
'';
- description = ''
+ description = lib.mdDoc ''
The configuration of vaultwarden is done through environment variables,
- therefore it is recommended to use upper snake case (e.g. DISABLE_2FA_REMEMBER).
+ therefore it is recommended to use upper snake case (e.g. {env}`DISABLE_2FA_REMEMBER`).
- However, camel case (e.g. disable2FARemember) is also supported:
+ However, camel case (e.g. `disable2FARemember`) is also supported:
The NixOS module will convert it automatically to
- upper case snake case (e.g. DISABLE_2FA_REMEMBER).
+ upper case snake case (e.g. {env}`DISABLE_2FA_REMEMBER`).
In this conversion digits (0-9) are handled just like upper case characters,
- so foo2 would be converted to FOO_2.
- Names already in this format remain unchanged, so FOO2 remains FOO2 if passed as such,
- even though foo2 would have been converted to FOO_2.
+ so `foo2` would be converted to {env}`FOO_2`.
+ Names already in this format remain unchanged, so `FOO2` remains `FOO2` if passed as such,
+ even though `foo2` would have been converted to {env}`FOO_2`.
This allows working around any potential future conflicting naming conventions.
Based on the attributes passed to this config option an environment file will be generated
that is passed to vaultwarden's systemd service.
The available configuration options can be found in
- the environment template file.
+ [the environment template file](https://github.com/dani-garcia/vaultwarden/blob/${vaultwarden.version}/.env.template).
- See for how
+ See ()[#opt-services.vaultwarden.environmentFile) for how
to set up access to the Admin UI to invite initial users.
'';
};
@@ -125,31 +125,31 @@ in {
type = with types; nullOr path;
default = null;
example = "/var/lib/vaultwarden.env";
- description = ''
- Additional environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Additional environment file as defined in {manpage}`systemd.exec(5)`.
- Secrets like ADMIN_TOKEN and SMTP_PASSWORD
+ Secrets like {env}`ADMIN_TOKEN` and {env}`SMTP_PASSWORD`
may be passed to the service without adding them to the world-readable Nix store.
Note that this file needs to be available on the host on which
- vaultwarden is running.
+ `vaultwarden` is running.
As a concrete example, to make the Admin UI available
(from which new users can be invited initially),
- the secret ADMIN_TOKEN needs to be defined as described
- here.
- Setting environmentFile to /var/lib/vaultwarden.env
+ the secret {env}`ADMIN_TOKEN` needs to be defined as described
+ [here](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page).
+ Setting `environmentFile` to `/var/lib/vaultwarden.env`
and ensuring permissions with e.g.
- chown vaultwarden:vaultwarden /var/lib/vaultwarden.env
- (the vaultwarden user will only exist after activating with
- enable = true; before this), we can set the contents of the file to have
+ `chown vaultwarden:vaultwarden /var/lib/vaultwarden.env`
+ (the `vaultwarden` user will only exist after activating with
+ `enable = true;` before this), we can set the contents of the file to have
contents such as:
-
-# Admin secret token, see
-# https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page
-ADMIN_TOKEN=...copy-paste a unique generated secret token here...
-
+ ```
+ # Admin secret token, see
+ # https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page
+ ADMIN_TOKEN=...copy-paste a unique generated secret token here...
+ ```
'';
};
@@ -196,6 +196,7 @@ ADMIN_TOKEN=...copy-paste a unique generated secret token here...
ProtectSystem = "strict";
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
StateDirectory = "bitwarden_rs";
+ StateDirectoryMode = "0700";
};
wantedBy = [ "multi-user.target" ];
};
diff --git a/third_party/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix b/third_party/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix
index b730118d46..2972e02b46 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix
@@ -8,7 +8,7 @@ in {
meta.maintainers = [ lib.maintainers.domenkozar ];
options.services.cachix-agent = {
- enable = mkEnableOption "Cachix Deploy Agent: https://docs.cachix.org/deploy/";
+ enable = mkEnableOption (lib.mdDoc "Cachix Deploy Agent: https://docs.cachix.org/deploy/");
name = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/system/dbus.nix b/third_party/nixpkgs/nixos/modules/services/system/dbus.nix
index def04d944f..c0de00bb91 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/dbus.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/dbus.nix
@@ -29,7 +29,7 @@ in
type = types.bool;
default = false;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether to start the D-Bus message bus daemon, which is
required by many other system services and applications.
'';
@@ -70,7 +70,7 @@ in
type = types.nullOr types.bool;
default = null;
visible = false;
- description = ''
+ description = lib.mdDoc ''
Removed option, do not use.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/system/earlyoom.nix b/third_party/nixpkgs/nixos/modules/services/system/earlyoom.nix
index b2e2d21002..3f501d4534 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/earlyoom.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/earlyoom.nix
@@ -11,7 +11,7 @@ let
in
{
options.services.earlyoom = {
- enable = mkEnableOption "Early out of memory killing";
+ enable = mkEnableOption (lib.mdDoc "Early out of memory killing");
freeMemThreshold = mkOption {
type = types.ints.between 1 100;
@@ -72,7 +72,7 @@ in
enableNotifications = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Send notifications about killed processes via the system d-bus.
WARNING: enabling this option (while convenient) should *not* be done on a
@@ -80,10 +80,10 @@ in
local user to DoS your session by spamming notifications.
To actually see the notifications in your GUI session, you need to have
- systembus-notify running as your user, which this
- option handles by enabling .
+ `systembus-notify` running as your user, which this
+ option handles by enabling {option}`services.systembus-notify`.
- See README for details.
+ See [README](https://github.com/rfjakob/earlyoom#notifications) for details.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/system/kerberos/default.nix b/third_party/nixpkgs/nixos/modules/services/system/kerberos/default.nix
index 3ace9de5ea..0c9e44a45c 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/kerberos/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/kerberos/default.nix
@@ -51,7 +51,7 @@ in
###### interface
options = {
services.kerberos_server = {
- enable = lib.mkEnableOption "the kerberos authentification server";
+ enable = lib.mkEnableOption (lib.mdDoc "the kerberos authentification server");
realms = mkOption {
type = types.attrsOf (types.submodule realm);
diff --git a/third_party/nixpkgs/nixos/modules/services/system/nscd.nix b/third_party/nixpkgs/nixos/modules/services/system/nscd.nix
index f3dfd2af3d..0a59feb706 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/nscd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/nscd.nix
@@ -30,7 +30,7 @@ in
user = mkOption {
type = types.str;
default = "nscd";
- description = ''
+ description = lib.mdDoc ''
User account under which nscd runs.
'';
};
@@ -38,7 +38,7 @@ in
group = mkOption {
type = types.str;
default = "nscd";
- description = ''
+ description = lib.mdDoc ''
User group under which nscd runs.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/system/saslauthd.nix b/third_party/nixpkgs/nixos/modules/services/system/saslauthd.nix
index c3fa7f7aef..09720146aa 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/saslauthd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/saslauthd.nix
@@ -16,7 +16,7 @@ in
services.saslauthd = {
- enable = mkEnableOption "saslauthd, the Cyrus SASL authentication daemon";
+ enable = mkEnableOption (lib.mdDoc "saslauthd, the Cyrus SASL authentication daemon");
package = mkOption {
default = pkgs.cyrus_sasl.bin;
diff --git a/third_party/nixpkgs/nixos/modules/services/system/self-deploy.nix b/third_party/nixpkgs/nixos/modules/services/system/self-deploy.nix
index ecba2e43dc..a508cecef2 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/self-deploy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/self-deploy.nix
@@ -23,7 +23,7 @@ let
in
{
options.services.self-deploy = {
- enable = lib.mkEnableOption "self-deploy";
+ enable = lib.mkEnableOption (lib.mdDoc "self-deploy");
nixFile = lib.mkOption {
type = lib.types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/system/systembus-notify.nix b/third_party/nixpkgs/nixos/modules/services/system/systembus-notify.nix
index e918bc552e..269197b399 100644
--- a/third_party/nixpkgs/nixos/modules/services/system/systembus-notify.nix
+++ b/third_party/nixpkgs/nixos/modules/services/system/systembus-notify.nix
@@ -8,13 +8,13 @@ let
in
{
options.services.systembus-notify = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
System bus notification support
WARNING: enabling this option (while convenient) should *not* be done on a
machine where you do not trust the other users as it allows any other
local user to DoS your session by spamming notifications.
- '';
+ '');
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/deluge.nix b/third_party/nixpkgs/nixos/modules/services/torrent/deluge.nix
index 3f4cd2ff6e..70fad4d7d7 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/deluge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/deluge.nix
@@ -37,7 +37,7 @@ in {
options = {
services = {
deluge = {
- enable = mkEnableOption "Deluge daemon";
+ enable = mkEnableOption (lib.mdDoc "Deluge daemon");
openFilesLimit = mkOption {
default = openFilesLimit;
@@ -157,7 +157,7 @@ in {
};
deluge.web = {
- enable = mkEnableOption "Deluge Web daemon";
+ enable = mkEnableOption (lib.mdDoc "Deluge Web daemon");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/flexget.nix b/third_party/nixpkgs/nixos/modules/services/torrent/flexget.nix
index 17d77bfae5..2a9ffac18d 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/flexget.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/flexget.nix
@@ -14,7 +14,7 @@ let
in {
options = {
services.flexget = {
- enable = mkEnableOption "Run FlexGet Daemon";
+ enable = mkEnableOption (lib.mdDoc "Run FlexGet Daemon");
user = mkOption {
default = "deluge";
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/magnetico.nix b/third_party/nixpkgs/nixos/modules/services/torrent/magnetico.nix
index ffc8577375..b681c58dfe 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/magnetico.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/magnetico.nix
@@ -43,7 +43,7 @@ in {
###### interface
options.services.magnetico = {
- enable = mkEnableOption "Magnetico, Bittorrent DHT crawler";
+ enable = mkEnableOption (lib.mdDoc "Magnetico, Bittorrent DHT crawler");
crawler.address = mkOption {
type = types.str;
@@ -116,43 +116,41 @@ in {
myuser = "$2y$12$YE01LZ8jrbQbx6c0s2hdZO71dSjn2p/O9XsYJpz.5968yCysUgiaG";
}
'';
- description = ''
+ description = lib.mdDoc ''
The credentials to access the web interface, in case authentication is
- enabled, in the format username:hash. If unset no
+ enabled, in the format `username:hash`. If unset no
authentication will be required.
Usernames must start with a lowercase ([a-z]) ASCII character, might
contain non-consecutive underscores except at the end, and consists of
small-case a-z characters and digits 0-9. The
- htpasswd tool from the apacheHttpd
+ {command}`htpasswd` tool from the `apacheHttpd`
package may be used to generate the hash:
- htpasswd -bnBC 12 username password
+ {command}`htpasswd -bnBC 12 username password`
-
-
- The hashes will be stored world-readable in the nix store.
- Consider using the credentialsFile option if you
- don't want this.
-
-
+ ::: {.warning}
+ The hashes will be stored world-readable in the nix store.
+ Consider using the `credentialsFile` option if you
+ don't want this.
+ :::
'';
};
web.credentialsFile = mkOption {
type = types.nullOr types.path;
default = null;
- description = ''
+ description = lib.mdDoc ''
The path to the file holding the credentials to access the web
interface. If unset no authentication will be required.
The file must constain user names and password hashes in the format
- username:hash , one for each line. Usernames must
+ `username:hash `, one for each line. Usernames must
start with a lowecase ([a-z]) ASCII character, might contain
non-consecutive underscores except at the end, and consists of
small-case a-z characters and digits 0-9.
- The htpasswd tool from the apacheHttpd
+ The {command}`htpasswd` tool from the `apacheHttpd`
package may be used to generate the hash:
- htpasswd -bnBC 12 username password
+ {command}`htpasswd -bnBC 12 username password`
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/opentracker.nix b/third_party/nixpkgs/nixos/modules/services/torrent/opentracker.nix
index 20b3d35a60..7d67491c11 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/opentracker.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/opentracker.nix
@@ -5,7 +5,7 @@ let
cfg = config.services.opentracker;
in {
options.services.opentracker = {
- enable = mkEnableOption "opentracker";
+ enable = mkEnableOption (lib.mdDoc "opentracker");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/rtorrent.nix b/third_party/nixpkgs/nixos/modules/services/torrent/rtorrent.nix
index a805e09923..935c11e3eb 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/rtorrent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/rtorrent.nix
@@ -9,7 +9,7 @@ let
in {
options.services.rtorrent = {
- enable = mkEnableOption "rtorrent";
+ enable = mkEnableOption (lib.mdDoc "rtorrent");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/torrent/transmission.nix b/third_party/nixpkgs/nixos/modules/services/torrent/transmission.nix
index 6a038dc0a3..5e0d13211b 100644
--- a/third_party/nixpkgs/nixos/modules/services/torrent/transmission.nix
+++ b/third_party/nixpkgs/nixos/modules/services/torrent/transmission.nix
@@ -24,14 +24,18 @@ in
];
options = {
services.transmission = {
- enable = mkEnableOption ''the headless Transmission BitTorrent daemon.
+ enable = mkEnableOption (lib.mdDoc "transmission") // {
+ description = lib.mdDoc ''
+ Whether to enable the headless Transmission BitTorrent daemon.
- Transmission daemon can be controlled via the RPC interface using
- transmission-remote, the WebUI (http://127.0.0.1:9091/ by default),
- or other clients like stig or tremc.
+ Transmission daemon can be controlled via the RPC interface using
+ transmission-remote, the WebUI (http://127.0.0.1:9091/ by default),
+ or other clients like stig or tremc.
- Torrents are downloaded to /${downloadsDir} by default and are
- accessible to users in the "transmission" group'';
+ Torrents are downloaded to [](#opt-services.transmission.home)/${downloadsDir} by default and are
+ accessible to users in the "transmission" group.
+ '';
+ };
settings = mkOption {
description = lib.mdDoc ''
@@ -67,7 +71,7 @@ in
options.incomplete-dir-enabled = mkOption {
type = types.bool;
default = true;
- description = "";
+ description = lib.mdDoc "";
};
options.message-level = mkOption {
type = types.ints.between 0 3;
@@ -104,9 +108,9 @@ in
type = types.str;
default = "127.0.0.1";
example = "0.0.0.0";
- description = ''
+ description = lib.mdDoc ''
Where to listen for RPC connections.
- Use \"0.0.0.0\" to listen on all interfaces.
+ Use `0.0.0.0` to listen on all interfaces.
'';
};
options.rpc-port = mkOption {
@@ -229,18 +233,22 @@ in
'';
};
- openPeerPorts = mkEnableOption "opening of the peer port(s) in the firewall";
+ openPeerPorts = mkEnableOption (lib.mdDoc "opening of the peer port(s) in the firewall");
- openRPCPort = mkEnableOption "opening of the RPC port in the firewall";
+ openRPCPort = mkEnableOption (lib.mdDoc "opening of the RPC port in the firewall");
- performanceNetParameters = mkEnableOption ''tweaking of kernel parameters
- to open many more connections at the same time.
+ performanceNetParameters = mkEnableOption (lib.mdDoc "performance tweaks") // {
+ description = lib.mdDoc ''
+ Whether to enable tweaking of kernel parameters
+ to open many more connections at the same time.
- Note that you may also want to increase
- peer-limit-global".
- And be aware that these settings are quite aggressive
- and might not suite your regular desktop use.
- For instance, SSH sessions may time out more easily'';
+ Note that you may also want to increase
+ `peer-limit-global`.
+ And be aware that these settings are quite aggressive
+ and might not suite your regular desktop use.
+ For instance, SSH sessions may time out more easily.
+ '';
+ };
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/tracing/tempo.nix b/third_party/nixpkgs/nixos/modules/services/tracing/tempo.nix
index 201f850656..4a098c31ef 100644
--- a/third_party/nixpkgs/nixos/modules/services/tracing/tempo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/tracing/tempo.nix
@@ -8,7 +8,7 @@ let
settingsFormat = pkgs.formats.yaml {};
in {
options.services.tempo = {
- enable = mkEnableOption "Grafana Tempo";
+ enable = mkEnableOption (lib.mdDoc "Grafana Tempo");
settings = mkOption {
type = settingsFormat.type;
diff --git a/third_party/nixpkgs/nixos/modules/services/video/epgstation/default.nix b/third_party/nixpkgs/nixos/modules/services/video/epgstation/default.nix
index 51f7138926..3d1d7a27c2 100644
--- a/third_party/nixpkgs/nixos/modules/services/video/epgstation/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/video/epgstation/default.nix
@@ -78,7 +78,7 @@ in
];
options.services.epgstation = {
- enable = lib.mkEnableOption description;
+ enable = lib.mkEnableOption (lib.mdDoc description);
package = lib.mkOption {
default = pkgs.epgstation;
@@ -101,16 +101,14 @@ in
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Open ports in the firewall for the EPGStation web interface.
-
-
- Exposing EPGStation to the open internet is generally advised
- against. Only use it inside a trusted local network, or consider
- putting it behind a VPN if you want remote access.
-
-
+ ::: {.warning}
+ Exposing EPGStation to the open internet is generally advised
+ against. Only use it inside a trusted local network, or consider
+ putting it behind a VPN if you want remote access.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/video/mirakurun.nix b/third_party/nixpkgs/nixos/modules/services/video/mirakurun.nix
index 6891b84ff4..5484515e7c 100644
--- a/third_party/nixpkgs/nixos/modules/services/video/mirakurun.nix
+++ b/third_party/nixpkgs/nixos/modules/services/video/mirakurun.nix
@@ -24,7 +24,7 @@ in
{
options = {
services.mirakurun = {
- enable = mkEnableOption "the Mirakurun DVR Tuner Server";
+ enable = mkEnableOption (lib.mdDoc "the Mirakurun DVR Tuner Server");
port = mkOption {
type = with types; nullOr port;
@@ -38,16 +38,14 @@ in
openFirewall = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Open ports in the firewall for Mirakurun.
-
-
- Exposing Mirakurun to the open internet is generally advised
- against. Only use it inside a trusted local network, or
- consider putting it behind a VPN if you want remote access.
-
-
+ ::: {.warning}
+ Exposing Mirakurun to the open internet is generally advised
+ against. Only use it inside a trusted local network, or
+ consider putting it behind a VPN if you want remote access.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/video/replay-sorcery.nix b/third_party/nixpkgs/nixos/modules/services/video/replay-sorcery.nix
index f3cecfc248..1be02f4d6d 100644
--- a/third_party/nixpkgs/nixos/modules/services/video/replay-sorcery.nix
+++ b/third_party/nixpkgs/nixos/modules/services/video/replay-sorcery.nix
@@ -9,12 +9,12 @@ in
{
options = with types; {
services.replay-sorcery = {
- enable = mkEnableOption "the ReplaySorcery service for instant-replays";
+ enable = mkEnableOption (lib.mdDoc "the ReplaySorcery service for instant-replays");
- enableSysAdminCapability = mkEnableOption ''
+ enableSysAdminCapability = mkEnableOption (lib.mdDoc ''
the system admin capability to support hardware accelerated
video capture. This is equivalent to running ReplaySorcery as
- root, so use with caution'';
+ root, so use with caution'');
autoStart = mkOption {
type = bool;
diff --git a/third_party/nixpkgs/nixos/modules/services/video/rtsp-simple-server.nix b/third_party/nixpkgs/nixos/modules/services/video/rtsp-simple-server.nix
index db6f0441bb..2dd62edab7 100644
--- a/third_party/nixpkgs/nixos/modules/services/video/rtsp-simple-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/video/rtsp-simple-server.nix
@@ -10,7 +10,7 @@ in
{
options = {
services.rtsp-simple-server = {
- enable = mkEnableOption "RTSP Simple Server";
+ enable = mkEnableOption (lib.mdDoc "RTSP Simple Server");
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/wayland/cage.nix b/third_party/nixpkgs/nixos/modules/services/wayland/cage.nix
index c7accc5f9e..330dce1d0c 100644
--- a/third_party/nixpkgs/nixos/modules/services/wayland/cage.nix
+++ b/third_party/nixpkgs/nixos/modules/services/wayland/cage.nix
@@ -5,7 +5,7 @@ with lib;
let
cfg = config.services.cage;
in {
- options.services.cage.enable = mkEnableOption "cage kiosk service";
+ options.services.cage.enable = mkEnableOption (lib.mdDoc "cage kiosk service");
options.services.cage.user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/confluence.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/confluence.nix
index 6c5de3fbe4..08cff32865 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/confluence.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/confluence.nix
@@ -29,7 +29,7 @@ in
{
options = {
services.confluence = {
- enable = mkEnableOption "Atlassian Confluence service";
+ enable = mkEnableOption (lib.mdDoc "Atlassian Confluence service");
user = mkOption {
type = types.str;
@@ -69,7 +69,7 @@ in
};
proxy = {
- enable = mkEnableOption "proxy support";
+ enable = mkEnableOption (lib.mdDoc "proxy support");
name = mkOption {
type = types.str;
@@ -93,7 +93,7 @@ in
};
sso = {
- enable = mkEnableOption "SSO with Atlassian Crowd";
+ enable = mkEnableOption (lib.mdDoc "SSO with Atlassian Crowd");
crowd = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/crowd.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/crowd.nix
index abe3a8bdb2..ac571e1888 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/crowd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/crowd.nix
@@ -34,7 +34,7 @@ in
{
options = {
services.crowd = {
- enable = mkEnableOption "Atlassian Crowd service";
+ enable = mkEnableOption (lib.mdDoc "Atlassian Crowd service");
user = mkOption {
type = types.str;
@@ -86,7 +86,7 @@ in
};
proxy = {
- enable = mkEnableOption "reverse proxy support";
+ enable = mkEnableOption (lib.mdDoc "reverse proxy support");
name = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/jira.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/jira.nix
index 5d62160ffb..8d28eb162e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -29,7 +29,7 @@ in
{
options = {
services.jira = {
- enable = mkEnableOption "Atlassian JIRA service";
+ enable = mkEnableOption (lib.mdDoc "Atlassian JIRA service");
user = mkOption {
type = types.str;
@@ -69,7 +69,7 @@ in
};
proxy = {
- enable = mkEnableOption "reverse proxy support";
+ enable = mkEnableOption (lib.mdDoc "reverse proxy support");
name = mkOption {
type = types.str;
@@ -99,7 +99,7 @@ in
};
sso = {
- enable = mkEnableOption "SSO with Atlassian Crowd";
+ enable = mkEnableOption (lib.mdDoc "SSO with Atlassian Crowd");
crowd = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/baget.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/baget.nix
index dd70d462d5..e4d5a1fadd 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/baget.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/baget.nix
@@ -53,7 +53,7 @@ let
in
{
options.services.baget = {
- enable = mkEnableOption "BaGet NuGet-compatible server";
+ enable = mkEnableOption (lib.mdDoc "BaGet NuGet-compatible server");
apiKeyFile = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/bookstack.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
index b939adc50f..3fbccf5400 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
@@ -34,7 +34,7 @@ in {
options.services.bookstack = {
- enable = mkEnableOption "BookStack";
+ enable = mkEnableOption (lib.mdDoc "BookStack");
user = mkOption {
default = "bookstack";
@@ -234,7 +234,7 @@ in {
options = {
_secret = mkOption {
type = nullOr str;
- description = ''
+ description = lib.mdDoc ''
The path to a file containing the value the
option should be set to in the final
configuration file.
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix
index 6bcf733452..143decfc09 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.calibre-web = {
- enable = mkEnableOption "Calibre-Web";
+ enable = mkEnableOption (lib.mdDoc "Calibre-Web");
listen = {
ip = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/code-server.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/code-server.nix
index 84fc03deab..1191fb5335 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/code-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/code-server.nix
@@ -11,7 +11,7 @@ in {
###### interface
options = {
services.code-server = {
- enable = mkEnableOption "code-server";
+ enable = mkEnableOption (lib.mdDoc "code-server");
package = mkOption {
default = pkgs.code-server;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/convos.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/convos.nix
index 120481c640..cd9f9d885d 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/convos.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/convos.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.convos = {
- enable = mkEnableOption "Convos";
+ enable = mkEnableOption (lib.mdDoc "Convos");
listenPort = mkOption {
type = types.port;
default = 3000;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix
index 82fdcd212f..a171487d4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix
@@ -19,13 +19,13 @@ let
in
{
options.services.dex = {
- enable = mkEnableOption "the OpenID Connect and OAuth2 identity provider";
+ enable = mkEnableOption (lib.mdDoc "the OpenID Connect and OAuth2 identity provider");
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
- description = ''
- Environment file (see systemd.exec(5)
+ description = lib.mdDoc ''
+ Environment file (see `systemd.exec(5)`
"EnvironmentFile=" section for the syntax) to define variables for dex.
This option can be used to safely include secret keys into the dex configuration.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix
index 0ebc6f5399..66b22ec87d 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix
@@ -26,7 +26,7 @@ in
{
options = {
services.discourse = {
- enable = lib.mkEnableOption "Discourse, an open source discussion platform";
+ enable = lib.mkEnableOption (lib.mdDoc "Discourse, an open source discussion platform");
package = lib.mkOption {
type = lib.types.package;
@@ -57,20 +57,20 @@ in
type = with lib.types; nullOr path;
default = null;
example = "/run/keys/secret_key_base";
- description = ''
+ description = lib.mdDoc ''
The path to a file containing the
- secret_key_base secret.
+ `secret_key_base` secret.
- Discourse uses secret_key_base to encrypt
+ Discourse uses `secret_key_base` to encrypt
the cookie store, which contains session data, and to digest
user auth tokens.
Needs to be a 64 byte long string of hexadecimal
characters. You can generate one by running
-
- $ openssl rand -hex 64 >/path/to/secret_key_base_file
-
+ ```
+ openssl rand -hex 64 >/path/to/secret_key_base_file
+ ```
This should be a string, not a nix path, since nix paths are
copied into the world-readable nix store.
@@ -100,9 +100,9 @@ in
enableACME = lib.mkOption {
type = lib.types.bool;
default = cfg.sslCertificate == null && cfg.sslCertificateKey == null;
- defaultText = lib.literalDocBook ''
- true, unless
- and are set.
+ defaultText = lib.literalMD ''
+ `true`, unless {option}`services.discourse.sslCertificate`
+ and {option}`services.discourse.sslCertificateKey` are set.
'';
description = lib.mdDoc ''
Whether an ACME certificate should be used to secure
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/documize.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/documize.nix
index 4353e3c244..f70da0829f 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/documize.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/documize.nix
@@ -12,7 +12,7 @@ let
in {
options.services.documize = {
- enable = mkEnableOption "Documize Wiki";
+ enable = mkEnableOption (lib.mdDoc "Documize Wiki");
stateDirectoryName = mkOption {
type = types.str;
@@ -85,37 +85,24 @@ in {
dbtype = mkOption {
type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ];
default = "postgresql";
- description = ''
- Specify the database provider:
-
- mysql
- percona
- mariadb
- postgresql
- sqlserver
-
+ description = lib.mdDoc ''
+ Specify the database provider: `mysql`, `percona`, `mariadb`, `postgresql`, `sqlserver`
'';
};
db = mkOption {
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Database specific connection string for example:
-
- MySQL/Percona/MariaDB:
- user:password@tcp(host:3306)/documize
-
- MySQLv8+:
- user:password@tcp(host:3306)/documize?allowNativePasswords=true
-
- PostgreSQL:
- host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable
-
- MSSQL:
- sqlserver://username:password@localhost:1433?database=Documize or
- sqlserver://sa@localhost/SQLExpress?database=Documize
-
-
+ - MySQL/Percona/MariaDB:
+ `user:password@tcp(host:3306)/documize`
+ - MySQLv8+:
+ `user:password@tcp(host:3306)/documize?allowNativePasswords=true`
+ - PostgreSQL:
+ `host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable`
+ - MSSQL:
+ `sqlserver://username:password@localhost:1433?database=Documize` or
+ `sqlserver://sa@localhost/SQLExpress?database=Documize`
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
index a148dec819..f4016cd522 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
@@ -60,7 +60,7 @@ let
siteOpts = { config, lib, name, ... }:
{
options = {
- enable = mkEnableOption "DokuWiki web application.";
+ enable = mkEnableOption (lib.mdDoc "DokuWiki web application.");
package = mkOption {
type = types.package;
@@ -137,11 +137,16 @@ let
usersFile = mkOption {
type = with types; nullOr str;
default = if config.aclUse then "/var/lib/dokuwiki/${name}/users.auth.php" else null;
- description = ''
+ description = lib.mdDoc ''
Location of the dokuwiki users file. List of users. Format:
- login:passwordhash:Real Name:email:groups,comma,separated
- Create passwordHash easily by using:$ mkpasswd -5 password `pwgen 8 1`
- Example:
+
+ login:passwordhash:Real Name:email:groups,comma,separated
+
+ Create passwordHash easily by using:
+
+ mkpasswd -5 password `pwgen 8 1`
+
+ Example:
'';
example = "/var/lib/dokuwiki/${name}/users.auth.php";
};
@@ -160,9 +165,12 @@ let
plugins = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
List of path(s) to respective plugin(s) which are copied from the 'plugin' directory.
- These plugins need to be packaged before use, see example.
+
+ ::: {.note}
+ These plugins need to be packaged before use, see example.
+ :::
'';
example = literalExpression ''
let
@@ -188,9 +196,12 @@ let
templates = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
List of path(s) to respective template(s) which are copied from the 'tpl' directory.
- These templates need to be packaged before use, see example.
+
+ ::: {.note}
+ These templates need to be packaged before use, see example.
+ :::
'';
example = literalExpression ''
let
@@ -318,6 +329,7 @@ in
"d ${stateDir hostName}/cache 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/index 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/locks 0750 ${user} ${webserver.group} - -"
+ "d ${stateDir hostName}/log 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media_attic 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media_meta 0750 ${user} ${webserver.group} - -"
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/dolibarr.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/dolibarr.nix
new file mode 100644
index 0000000000..2b2e2a6214
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/dolibarr.nix
@@ -0,0 +1,320 @@
+{ config, pkgs, lib, ... }:
+let
+ inherit (lib) any boolToString concatStringsSep isBool isString literalExpression mapAttrsToList mkDefault mkEnableOption mkIf mkOption optionalAttrs types;
+
+ package = pkgs.dolibarr.override { inherit (cfg) stateDir; };
+
+ cfg = config.services.dolibarr;
+ vhostCfg = config.services.nginx.virtualHosts."${cfg.domain}";
+
+ mkConfigFile = filename: settings:
+ let
+ # hack in special logic for secrets so we read them from a separate file avoiding the nix store
+ secretKeys = [ "force_install_databasepass" "dolibarr_main_db_pass" "dolibarr_main_instance_unique_id" ];
+
+ toStr = k: v:
+ if (any (str: k == str) secretKeys) then v
+ else if isString v then "'${v}'"
+ else if isBool v then boolToString v
+ else if isNull v then "null"
+ else toString v
+ ;
+ in
+ pkgs.writeText filename ''
+
+ If left as the default value this user will automatically be created
+ on system activation, otherwise you are responsible for
+ ensuring the user exists before the dolibarr application starts.
+
+ '';
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "dolibarr";
+ description = ''
+ Group account under which dolibarr runs.
+
+
+ If left as the default value this group will automatically be created
+ on system activation, otherwise you are responsible for
+ ensuring the group exists before the dolibarr application starts.
+
+ '';
+ };
+
+ stateDir = mkOption {
+ type = types.str;
+ default = "/var/lib/dolibarr";
+ description = ''
+ State and configuration directory dolibarr will use.
+ '';
+ };
+
+ database = {
+ host = mkOption {
+ type = types.str;
+ default = "localhost";
+ description = "Database host address.";
+ };
+ port = mkOption {
+ type = types.port;
+ default = 3306;
+ description = "Database host port.";
+ };
+ name = mkOption {
+ type = types.str;
+ default = "dolibarr";
+ description = "Database name.";
+ };
+ user = mkOption {
+ type = types.str;
+ default = "dolibarr";
+ description = "Database username.";
+ };
+ passwordFile = mkOption {
+ type = with types; nullOr path;
+ default = null;
+ example = "/run/keys/dolibarr-dbpassword";
+ description = "Database password file.";
+ };
+ createLocally = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Create the database and database user locally.";
+ };
+ };
+
+ settings = mkOption {
+ type = with types; (attrsOf (oneOf [ bool int str ]));
+ default = { };
+ description = lib.mdDoc "Dolibarr settings, see for details.";
+ };
+
+ nginx = mkOption {
+ type = types.nullOr (types.submodule (
+ lib.recursiveUpdate
+ (import ../web-servers/nginx/vhost-options.nix { inherit config lib; })
+ {
+ # enable encryption by default,
+ # as sensitive login and Dolibarr (ERP) data should not be transmitted in clear text.
+ options.forceSSL.default = true;
+ options.enableACME.default = true;
+ }
+ ));
+ default = null;
+ example = lib.literalExpression ''
+ {
+ serverAliases = [
+ "dolibarr.''${config.networking.domain}"
+ "erp.''${config.networking.domain}"
+ ];
+ enableACME = false;
+ }
+ '';
+ description = lib.mdDoc ''
+ With this option, you can customize an nginx virtual host which already has sensible defaults for Dolibarr.
+ Set to {} if you do not need any customization to the virtual host.
+ If enabled, then by default, the {option}`serverName` is
+ `''${domain}`,
+ SSL is active, and certificates are acquired via ACME.
+ If this is set to null (the default), no nginx virtualHost will be configured.
+ '';
+ };
+
+ poolConfig = mkOption {
+ type = with types; attrsOf (oneOf [ str int bool ]);
+ default = {
+ "pm" = "dynamic";
+ "pm.max_children" = 32;
+ "pm.start_servers" = 2;
+ "pm.min_spare_servers" = 2;
+ "pm.max_spare_servers" = 4;
+ "pm.max_requests" = 500;
+ };
+ description = lib.mdDoc ''
+ Options for the Dolibarr PHP pool. See the documentation on [`php-fpm.conf`](https://www.php.net/manual/en/install.fpm.configuration.php)
+ for details on configuration directives.
+ '';
+ };
+ };
+
+ # implementation
+ config = mkIf cfg.enable {
+
+ assertions = [
+ { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user;
+ message = "services.dolibarr.database.user must match services.dolibarr.user if the database is to be automatically provisioned";
+ }
+ ];
+
+ services.dolibarr.settings = {
+ dolibarr_main_url_root = "https://${cfg.domain}";
+ dolibarr_main_document_root = "${package}/htdocs";
+ dolibarr_main_url_root_alt = "/custom";
+ dolibarr_main_data_root = "${cfg.stateDir}/documents";
+
+ dolibarr_main_db_host = cfg.database.host;
+ dolibarr_main_db_port = toString cfg.database.port;
+ dolibarr_main_db_name = cfg.database.name;
+ dolibarr_main_db_prefix = "llx_";
+ dolibarr_main_db_user = cfg.database.user;
+ dolibarr_main_db_pass = mkIf (cfg.database.passwordFile != null) ''
+ file_get_contents("${cfg.database.passwordFile}")
+ '';
+ dolibarr_main_db_type = "mysqli";
+ dolibarr_main_db_character_set = mkDefault "utf8";
+ dolibarr_main_db_collation = mkDefault "utf8_unicode_ci";
+
+ # Authentication settings
+ dolibarr_main_authentication = mkDefault "dolibarr";
+
+ # Security settings
+ dolibarr_main_prod = true;
+ dolibarr_main_force_https = vhostCfg.forceSSL;
+ dolibarr_main_restrict_os_commands = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql";
+ dolibarr_nocsrfcheck = false;
+ dolibarr_main_instance_unique_id = ''
+ file_get_contents("${cfg.stateDir}/dolibarr_main_instance_unique_id")
+ '';
+ dolibarr_mailing_limit_sendbyweb = false;
+ };
+
+ systemd.tmpfiles.rules = [
+ "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group}"
+ "d '${cfg.stateDir}/documents' 0750 ${cfg.user} ${cfg.group}"
+ "f '${cfg.stateDir}/conf.php' 0660 ${cfg.user} ${cfg.group}"
+ "L '${cfg.stateDir}/install.forced.php' - ${cfg.user} ${cfg.group} - ${mkConfigFile "install.forced.php" install}"
+ ];
+
+ services.mysql = mkIf cfg.database.createLocally {
+ enable = mkDefault true;
+ package = mkDefault pkgs.mariadb;
+ ensureDatabases = [ cfg.database.name ];
+ ensureUsers = [
+ { name = cfg.database.user;
+ ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
+ }
+ ];
+ };
+
+ services.nginx.enable = mkIf (cfg.nginx != null) true;
+ services.nginx.virtualHosts."${cfg.domain}" = mkIf (cfg.nginx != null) (lib.mkMerge [
+ cfg.nginx
+ ({
+ root = lib.mkForce "${package}/htdocs";
+ locations."/".index = "index.php";
+ locations."~ [^/]\\.php(/|$)" = {
+ extraConfig = ''
+ fastcgi_split_path_info ^(.+?\.php)(/.*)$;
+ fastcgi_pass unix:${config.services.phpfpm.pools.dolibarr.socket};
+ '';
+ };
+ })
+ ]);
+
+ systemd.services."phpfpm-dolibarr".after = mkIf cfg.database.createLocally [ "mysql.service" ];
+ services.phpfpm.pools.dolibarr = {
+ inherit (cfg) user group;
+ phpPackage = pkgs.php.buildEnv {
+ extensions = { enabled, all }: enabled ++ [ all.calendar ];
+ # recommended by dolibarr web application
+ extraConfig = ''
+ session.use_strict_mode = 1
+ session.cookie_samesite = "Lax"
+ ; open_basedir = "${package}/htdocs, ${cfg.stateDir}"
+ allow_url_fopen = 0
+ disable_functions = "pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals"
+ '';
+ };
+
+ settings = {
+ "listen.mode" = "0660";
+ "listen.owner" = cfg.user;
+ "listen.group" = cfg.group;
+ } // cfg.poolConfig;
+ };
+
+ # there are several challenges with dolibarr and NixOS which we can address here
+ # - the dolibarr installer cannot be entirely automated, though it can partially be by including a file called install.forced.php
+ # - the dolibarr installer requires write access to its config file during installation, though not afterwards
+ # - the dolibarr config file generally holds secrets generated by the installer, though the config file is a php file so we can read and write these secrets from an external file
+ systemd.services.dolibarr-config = {
+ description = "dolibarr configuration file management via NixOS";
+ wantedBy = [ "multi-user.target" ];
+
+ script = ''
+ # extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file
+ ${pkgs.php}/bin/php -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);"
+
+ # replace configuration file generated by installer with the NixOS generated configuration file
+ install -m 644 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php'
+ '';
+
+ serviceConfig = {
+ Type = "oneshot";
+ User = cfg.user;
+ Group = cfg.group;
+ RemainAfterExit = "yes";
+ };
+
+ unitConfig = {
+ ConditionFileNotEmpty = "${cfg.stateDir}/conf.php";
+ };
+ };
+
+ users.users.dolibarr = mkIf (cfg.user == "dolibarr" ) {
+ isSystemUser = true;
+ group = cfg.group;
+ };
+
+ users.groups = optionalAttrs (cfg.group == "dolibarr") {
+ dolibarr = { };
+ };
+
+ users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ];
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/fluidd.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/fluidd.nix
index 8d6d48b3dd..d4b86b9dfb 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/fluidd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/fluidd.nix
@@ -6,7 +6,7 @@ let
in
{
options.services.fluidd = {
- enable = mkEnableOption "Fluidd, a Klipper web interface for managing your 3d printer";
+ enable = mkEnableOption (lib.mdDoc "Fluidd, a Klipper web interface for managing your 3d printer");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/galene.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/galene.nix
index 2fef43753d..ded104792b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/galene.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/galene.nix
@@ -12,7 +12,7 @@ in
{
options = {
services.galene = {
- enable = mkEnableOption "Galene Service.";
+ enable = mkEnableOption (lib.mdDoc "Galene Service.");
stateDir = mkOption {
default = defaultstateDir;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/gerrit.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
index 5b36204ff0..ab2eeea09b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
@@ -59,7 +59,7 @@ in
{
options = {
services.gerrit = {
- enable = mkEnableOption "Gerrit service";
+ enable = mkEnableOption (lib.mdDoc "Gerrit service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix
index 9e278b41ad..8db3a8ef3e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/gotify-server.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.gotify = {
- enable = mkEnableOption "Gotify webserver";
+ enable = mkEnableOption (lib.mdDoc "Gotify webserver");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/grocy.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/grocy.nix
index 173dd63dda..6efc2ccfd3 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/grocy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/grocy.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.grocy;
in {
options.services.grocy = {
- enable = mkEnableOption "grocy";
+ enable = mkEnableOption (lib.mdDoc "grocy");
hostName = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/healthchecks.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/healthchecks.nix
index e58cc6f202..2c55f5ec8e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/healthchecks.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/healthchecks.nix
@@ -26,8 +26,8 @@ let
in
{
options.services.healthchecks = {
- enable = mkEnableOption "healthchecks" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "healthchecks") // {
+ description = lib.mdDoc ''
Enable healthchecks.
It is expected to be run behind a HTTP reverse proxy.
'';
@@ -43,28 +43,28 @@ in
user = mkOption {
default = defaultUser;
type = types.str;
- description = ''
+ description = lib.mdDoc ''
User account under which healthchecks runs.
-
+ ::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the healthchecks service starts.
-
+ :::
'';
};
group = mkOption {
default = defaultUser;
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Group account under which healthchecks runs.
-
+ ::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the healthchecks service starts.
-
+ :::
'';
};
@@ -83,28 +83,28 @@ in
dataDir = mkOption {
type = types.str;
default = "/var/lib/healthchecks";
- description = ''
+ description = lib.mdDoc ''
The directory used to store all data for healthchecks.
-
+ ::: {.note}
If left as the default value this directory will automatically be created before
the healthchecks server starts, otherwise you are responsible for ensuring the
directory exists with appropriate ownership and permissions.
-
+ :::
'';
};
settings = lib.mkOption {
- description = ''
- Environment variables which are read by healthchecks (local)_settings.py.
+ description = lib.mdDoc ''
+ Environment variables which are read by healthchecks `(local)_settings.py`.
Settings which are explictly covered in options bewlow, are type-checked and/or transformed
before added to the environment, everything else is passed as a string.
- See https://healthchecks.io/docs/self_hosted_configuration/
+ See
for a full documentation of settings.
- We add two variables to this list inside the packages local_settings.py.
+ We add two variables to this list inside the packages `local_settings.py.`
- STATIC_ROOT to set a state directory for dynamically generated static files.
- SECRET_KEY_FILE to read SECRET_KEY from a file at runtime and keep it out of /nix/store.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/hedgedoc.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/hedgedoc.nix
index f1c450005a..e26dee6861 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/hedgedoc.nix
@@ -32,7 +32,7 @@ in
];
options.services.hedgedoc = {
- enable = mkEnableOption "the HedgeDoc Markdown Editor";
+ enable = mkEnableOption (lib.mdDoc "the HedgeDoc Markdown Editor");
groups = mkOption {
type = types.listOf types.str;
@@ -51,7 +51,7 @@ in
};
settings = let options = {
- debug = mkEnableOption "debug mode";
+ debug = mkEnableOption (lib.mdDoc "debug mode");
domain = mkOption {
type = types.nullOr types.str;
default = null;
@@ -933,6 +933,14 @@ in
Required group names.
'';
};
+ providerName = mkOption {
+ type = types.str;
+ default = "";
+ example = "My institution";
+ description = lib.mdDoc ''
+ Optional name to be displayed at login form indicating the SAML provider.
+ '';
+ };
attribute = {
id = mkOption {
type = types.str;
@@ -982,27 +990,27 @@ in
type = with types; nullOr path;
default = null;
example = "/var/lib/hedgedoc/hedgedoc.env";
- description = ''
- Environment file as defined in systemd.exec5.
+ description = lib.mdDoc ''
+ Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the world-readable
Nix store, by specifying placeholder variables as the option value in Nix and
setting these variables accordingly in the environment file.
-
+ ```
# snippet of HedgeDoc-related config
services.hedgedoc.configuration.dbURL = "postgres://hedgedoc:\''${DB_PASSWORD}@db-host:5432/hedgedocdb";
services.hedgedoc.configuration.minio.secretKey = "$MINIO_SECRET_KEY";
-
+ ```
-
+ ```
# content of the environment file
DB_PASSWORD=verysecretdbpassword
MINIO_SECRET_KEY=verysecretminiokey
-
+ ```
Note that this file needs to be available on the host on which
- HedgeDoc is running.
+ `HedgeDoc` is running.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/hledger-web.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/hledger-web.nix
index 4f02a637cd..86716a0264 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/hledger-web.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/hledger-web.nix
@@ -5,9 +5,9 @@ let
in {
options.services.hledger-web = {
- enable = mkEnableOption "hledger-web service";
+ enable = mkEnableOption (lib.mdDoc "hledger-web service");
- serveApi = mkEnableOption "Serve only the JSON web API, without the web UI.";
+ serveApi = mkEnableOption (lib.mdDoc "Serve only the JSON web API, without the web UI.");
host = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
index b96baaec76..67d235ab44 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
@@ -12,7 +12,7 @@ in {
meta.maintainers = with maintainers; [ das_j ];
options.services.icingaweb2 = with types; {
- enable = mkEnableOption "the icingaweb2 web interface";
+ enable = mkEnableOption (lib.mdDoc "the icingaweb2 web interface");
pool = mkOption {
type = str;
@@ -49,11 +49,11 @@ in {
};
modules = {
- doc.enable = mkEnableOption "the icingaweb2 doc module";
- migrate.enable = mkEnableOption "the icingaweb2 migrate module";
- setup.enable = mkEnableOption "the icingaweb2 setup module";
- test.enable = mkEnableOption "the icingaweb2 test module";
- translation.enable = mkEnableOption "the icingaweb2 translation module";
+ doc.enable = mkEnableOption (lib.mdDoc "the icingaweb2 doc module");
+ migrate.enable = mkEnableOption (lib.mdDoc "the icingaweb2 migrate module");
+ setup.enable = mkEnableOption (lib.mdDoc "the icingaweb2 setup module");
+ test.enable = mkEnableOption (lib.mdDoc "the icingaweb2 test module");
+ translation.enable = mkEnableOption (lib.mdDoc "the icingaweb2 translation module");
};
modulePackages = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix
index 0579c60221..9a848870e9 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix
@@ -66,7 +66,7 @@ in {
visible = false;
default = name;
type = str;
- description = "Name of this backend";
+ description = lib.mdDoc "Name of this backend";
};
resource = mkOption {
@@ -98,7 +98,7 @@ in {
visible = false;
default = name;
type = str;
- description = "Name of this transport";
+ description = lib.mdDoc "Name of this transport";
};
type = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix
index c771f0afa2..b0da0acfcf 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/ihatemoney/default.nix
@@ -47,7 +47,7 @@ let
in
{
options.services.ihatemoney = {
- enable = mkEnableOption "ihatemoney webapp. Note that this will set uwsgi to emperor mode";
+ enable = mkEnableOption (lib.mdDoc "ihatemoney webapp. Note that this will set uwsgi to emperor mode");
backend = mkOption {
type = types.enum [ "sqlite" "postgresql" ];
default = "sqlite";
@@ -88,10 +88,10 @@ in
default = true;
description = lib.mdDoc "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
};
- enableDemoProject = mkEnableOption "access to the demo project in ihatemoney";
- enablePublicProjectCreation = mkEnableOption "permission to create projects in ihatemoney by anyone";
- enableAdminDashboard = mkEnableOption "ihatemoney admin dashboard";
- enableCaptcha = mkEnableOption "a simplistic captcha for some forms";
+ enableDemoProject = mkEnableOption (lib.mdDoc "access to the demo project in ihatemoney");
+ enablePublicProjectCreation = mkEnableOption (lib.mdDoc "permission to create projects in ihatemoney by anyone");
+ enableAdminDashboard = mkEnableOption (lib.mdDoc "ihatemoney admin dashboard");
+ enableCaptcha = mkEnableOption (lib.mdDoc "a simplistic captcha for some forms");
legalLink = mkOption {
type = types.nullOr types.str;
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/invidious.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/invidious.nix
index cf6e7f92f0..e106478628 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/invidious.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/invidious.nix
@@ -146,7 +146,7 @@ let
in
{
options.services.invidious = {
- enable = lib.mkEnableOption "Invidious";
+ enable = lib.mkEnableOption (lib.mdDoc "Invidious");
package = lib.mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix
index 2a936027bd..156cc238e8 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix
@@ -67,7 +67,7 @@ let
{
options = {
- enable = mkEnableOption "InvoicePlane web application";
+ enable = mkEnableOption (lib.mdDoc "InvoicePlane web application");
stateDir = mkOption {
type = types.path;
@@ -124,9 +124,12 @@ let
invoiceTemplates = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
List of path(s) to respective template(s) which are copied from the 'invoice_templates/pdf' directory.
- These templates need to be packaged before use, see example.
+
+ ::: {.note}
+ These templates need to be packaged before use, see example.
+ :::
'';
example = literalExpression ''
let
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/isso.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/isso.nix
index a5d3d8bd73..941e1dd0f9 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/isso.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/isso.nix
@@ -11,13 +11,13 @@ in {
options = {
services.isso = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
A commenting server similar to Disqus.
Note: The application's author suppose to run isso behind a reverse proxy.
The embedded solution offered by NixOS is also only suitable for small installations
below 20 requests per second.
- '';
+ '');
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix
index c95d8ffd52..293cbb3af4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix
@@ -36,7 +36,7 @@ in
description = lib.mdDoc "Location of Jirafeau storage directory.";
};
- enable = mkEnableOption "Jirafeau file upload application.";
+ enable = mkEnableOption (lib.mdDoc "Jirafeau file upload application.");
extraConfig = mkOption {
type = types.lines;
@@ -45,12 +45,12 @@ in
$cfg['style'] = 'courgette';
$cfg['organisation'] = 'ACME';
'';
- description = let
+ description = let
documentationLink =
"https://gitlab.com/mojo42/Jirafeau/-/blob/${cfg.package.version}/lib/config.original.php";
in
- ''
- Jirefeau configuration. Refer to for supported
+ lib.mdDoc ''
+ Jirefeau configuration. Refer to <${documentationLink}> for supported
values.
'';
};
@@ -73,10 +73,10 @@ in
description = let
nginxCoreDocumentation = "http://nginx.org/en/docs/http/ngx_http_core_module.html";
in
- ''
+ lib.mdDoc ''
Timeout for reading client request bodies and headers. Refer to
- and
- for accepted values.
+ <${nginxCoreDocumentation}#client_body_timeout> and
+ <${nginxCoreDocumentation}#client_header_timeout> for accepted values.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
index b38a510bb8..a42e249189 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
@@ -46,7 +46,7 @@ let
in
{
options.services.jitsi-meet = with types; {
- enable = mkEnableOption "Jitsi Meet - Secure, Simple and Scalable Video Conferences";
+ enable = mkEnableOption (lib.mdDoc "Jitsi Meet - Secure, Simple and Scalable Video Conferences");
hostName = mkOption {
type = str;
@@ -159,7 +159,7 @@ in
'';
};
- caddy.enable = mkEnableOption "Whether to enable caddy reverse proxy to expose jitsi-meet";
+ caddy.enable = mkEnableOption (lib.mdDoc "Whether to enable caddy reverse proxy to expose jitsi-meet");
prosody.enable = mkOption {
type = bool;
@@ -267,6 +267,7 @@ in
EnvironmentFile = [ "/var/lib/jitsi-meet/secrets-env" ];
SupplementaryGroups = [ "jitsi-meet" ];
};
+ reloadIfChanged = true;
};
users.groups.jitsi-meet = {};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/keycloak.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
index b878cb74b5..da53d4ea76 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
@@ -20,11 +20,12 @@ let
mkDefault
literalExpression
isAttrs
- literalDocBook
+ literalMD
maintainers
catAttrs
collect
splitString
+ hasPrefix
;
inherit (builtins)
@@ -165,7 +166,7 @@ in
mkOption {
type = port;
default = dbPorts.${cfg.database.type};
- defaultText = literalDocBook "default port of selected database";
+ defaultText = literalMD "default port of selected database";
description = lib.mdDoc ''
Port of the database to connect to.
'';
@@ -312,25 +313,24 @@ in
http-relative-path = mkOption {
type = str;
- default = "";
+ default = "/";
example = "/auth";
- description = ''
- The path relative to / for serving
+ apply = x: if !(hasPrefix "/") x then "/" + x else x;
+ description = lib.mdDoc ''
+ The path relative to `/` for serving
resources.
-
-
- In versions of Keycloak using Wildfly (<17),
- this defaulted to /auth. If
- upgrading from the Wildfly version of Keycloak,
- i.e. a NixOS version before 22.05, you'll likely
- want to set this to /auth to
- keep compatibility with your clients.
+ ::: {.note}
+ In versions of Keycloak using Wildfly (<17),
+ this defaulted to `/auth`. If
+ upgrading from the Wildfly version of Keycloak,
+ i.e. a NixOS version before 22.05, you'll likely
+ want to set this to `/auth` to
+ keep compatibility with your clients.
- See
- for more information on migrating from Wildfly to Quarkus.
-
-
+ See
+ for more information on migrating from Wildfly to Quarkus.
+ :::
'';
};
@@ -366,41 +366,21 @@ in
type = enum [ "edge" "reencrypt" "passthrough" "none" ];
default = "none";
example = "edge";
- description = ''
+ description = lib.mdDoc ''
The proxy address forwarding mode if the server is
behind a reverse proxy.
-
-
- edge
-
-
- Enables communication through HTTP between the
- proxy and Keycloak.
-
-
-
-
- reencrypt
-
-
- Requires communication through HTTPS between the
- proxy and Keycloak.
-
-
-
-
- passthrough
-
-
- Enables communication through HTTP or HTTPS between
- the proxy and Keycloak.
-
-
-
-
+ - `edge`:
+ Enables communication through HTTP between the
+ proxy and Keycloak.
+ - `reencrypt`:
+ Requires communication through HTTPS between the
+ proxy and Keycloak.
+ - `passthrough`:
+ Enables communication through HTTP or HTTPS between
+ the proxy and Keycloak.
- See for more information.
+ See for more information.
'';
};
};
@@ -658,7 +638,7 @@ in
'' + ''
export KEYCLOAK_ADMIN=admin
export KEYCLOAK_ADMIN_PASSWORD=${cfg.initialAdminPassword}
- kc.sh start
+ kc.sh start --optimized
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/komga.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/komga.nix
index a2809e64a9..31f475fc7b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/komga.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/komga.nix
@@ -8,7 +8,7 @@ let
in {
options = {
services.komga = {
- enable = mkEnableOption "Komga, a free and open source comics/mangas media server";
+ enable = mkEnableOption (lib.mdDoc "Komga, a free and open source comics/mangas media server");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/lemmy.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
index 3e726149e9..1f2168b2a4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
@@ -12,7 +12,7 @@ in
options.services.lemmy = {
- enable = mkEnableOption "lemmy a federated alternative to reddit in rust";
+ enable = mkEnableOption (lib.mdDoc "lemmy a federated alternative to reddit in rust");
jwtSecretPath = mkOption {
type = types.path;
@@ -27,7 +27,7 @@ in
};
};
- caddy.enable = mkEnableOption "exposing lemmy with the caddy reverse proxy";
+ caddy.enable = mkEnableOption (lib.mdDoc "exposing lemmy with the caddy reverse proxy");
settings = mkOption {
default = { };
@@ -49,7 +49,7 @@ in
};
options.federation = {
- enabled = mkEnableOption "activitypub federation";
+ enabled = mkEnableOption (lib.mdDoc "activitypub federation");
};
options.captcha = {
@@ -65,7 +65,7 @@ in
};
};
- options.database.createLocally = mkEnableOption "creation of database on the instance";
+ options.database.createLocally = mkEnableOption (lib.mdDoc "creation of database on the instance");
};
};
@@ -117,7 +117,7 @@ in
file_server
}
@for_backend {
- path /api/* /pictrs/* feeds/* nodeinfo/*
+ path /api/* /pictrs/* /feeds/* /nodeinfo/*
}
handle @for_backend {
reverse_proxy 127.0.0.1:${toString cfg.settings.port}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
index e0995e0b5a..f6a1b55952 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
@@ -32,7 +32,7 @@ in
# interface
options.services.limesurvey = {
- enable = mkEnableOption "Limesurvey web application.";
+ enable = mkEnableOption (lib.mdDoc "Limesurvey web application.");
database = {
type = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/mastodon.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
index 5abaad85b4..779e7d4ad4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
@@ -104,26 +104,26 @@ in {
options = {
services.mastodon = {
- enable = lib.mkEnableOption "Mastodon, a federated social network server";
+ enable = lib.mkEnableOption (lib.mdDoc "Mastodon, a federated social network server");
configureNginx = lib.mkOption {
- description = ''
+ description = lib.mdDoc ''
Configure nginx as a reverse proxy for mastodon.
Note that this makes some assumptions on your setup, and sets settings that will
affect other virtualHosts running on your nginx instance, if any.
Alternatively you can configure a reverse-proxy of your choice to serve these paths:
- / -> $(nix-instantiate --eval '<nixpkgs>' -A mastodon.outPath)/public
+ `/ -> $(nix-instantiate --eval '' -A mastodon.outPath)/public`
- / -> 127.0.0.1:{{ webPort }} (If there was no file in the directory above.)
+ `/ -> 127.0.0.1:{{ webPort }} `(If there was no file in the directory above.)
- /system/ -> /var/lib/mastodon/public-system/
+ `/system/ -> /var/lib/mastodon/public-system/`
- /api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}
+ `/api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}`
Make sure that websockets are forwarded properly. You might want to set up caching
of some requests. Take a look at mastodon's provided nginx configuration at
- https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf.
+ `https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf`.
'';
type = lib.types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/matomo.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/matomo.nix
index f9927992a8..9e8d85161d 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/matomo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/matomo.nix
@@ -53,11 +53,11 @@ in {
type = types.nullOr types.str;
default = null;
example = "lighttpd";
- description = ''
- Name of the web server user that forwards requests to the fastcgi socket for Matomo if the nginx
+ description = lib.mdDoc ''
+ Name of the web server user that forwards requests to {option}`services.phpfpm.pools..socket` the fastcgi socket for Matomo if the nginx
option is not used. Either this option or the nginx option is mandatory.
If you want to use another webserver than nginx, you need to set this to that server's user
- and pass fastcgi requests to index.php, matomo.php and piwik.php (legacy name) to this socket.
+ and pass fastcgi requests to `index.php`, `matomo.php` and `piwik.php` (legacy name) to this socket.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/mattermost.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
index 6e9e2abcaa..71292c47d6 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
@@ -101,7 +101,7 @@ in
{
options = {
services.mattermost = {
- enable = mkEnableOption "Mattermost chat server";
+ enable = mkEnableOption (lib.mdDoc "Mattermost chat server");
package = mkOption {
type = types.package;
@@ -234,7 +234,7 @@ in
};
matterircd = {
- enable = mkEnableOption "Mattermost IRC bridge";
+ enable = mkEnableOption (lib.mdDoc "Mattermost IRC bridge");
package = mkOption {
type = types.package;
default = pkgs.matterircd;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
index 01083eff61..0260af7771 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
@@ -171,7 +171,7 @@ in
options = {
services.mediawiki = {
- enable = mkEnableOption "MediaWiki";
+ enable = mkEnableOption (lib.mdDoc "MediaWiki");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/miniflux.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
index 55e3664bee..fad5701aee 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
@@ -19,7 +19,7 @@ in
{
options = {
services.miniflux = {
- enable = mkEnableOption "miniflux and creates a local postgres database for it";
+ enable = mkEnableOption (lib.mdDoc "miniflux and creates a local postgres database for it");
config = mkOption {
type = types.attrsOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/moodle.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/moodle.nix
index 03dd57753a..dc434d0fc8 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/moodle.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/moodle.nix
@@ -56,13 +56,15 @@ let
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
- phpExt = pkgs.php81.withExtensions
- ({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache ]);
+ phpExt = pkgs.php80.buildEnv {
+ extensions = { all, ... }: with all; [ iconv mbstring curl openssl tokenizer soap ctype zip gd simplexml dom intl sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache exif sodium ];
+ extraConfig = "max_input_vars = 5000";
+ };
in
{
# interface
options.services.moodle = {
- enable = mkEnableOption "Moodle web application";
+ enable = mkEnableOption (lib.mdDoc "Moodle web application");
package = mkOption {
type = types.package;
@@ -230,6 +232,7 @@ in
phpOptions = ''
zend_extension = opcache.so
opcache.enable = 1
+ max_input_vars = 5000
'';
settings = {
"listen.owner" = config.services.httpd.user;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index b286b1a64c..fdbaa90ebb 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -79,7 +79,7 @@ in {
];
options.services.nextcloud = {
- enable = mkEnableOption "nextcloud";
+ enable = mkEnableOption (lib.mdDoc "nextcloud");
hostName = mkOption {
type = types.str;
description = lib.mdDoc "FQDN for the nextcloud instance.";
@@ -254,6 +254,14 @@ in {
'';
};
+ fastcgiTimeout = mkOption {
+ type = types.int;
+ default = 120;
+ description = lib.mdDoc ''
+ FastCGI timeout for database connection in seconds.
+ '';
+ };
+
database = {
createLocally = mkOption {
@@ -363,31 +371,31 @@ in {
default = null;
type = types.nullOr types.str;
example = "DE";
- description = ''
-
- This option exists since Nextcloud 21! If older versions are used,
- this will throw an eval-error!
-
+ description = lib.mdDoc ''
+ ::: {.warning}
+ This option exists since Nextcloud 21! If older versions are used,
+ this will throw an eval-error!
+ :::
- ISO 3611-1
+ [ISO 3611-1](https://www.iso.org/iso-3166-country-codes.html)
country codes for automatic phone-number detection without a country code.
- With e.g. DE set, the +49 can be omitted for
+ With e.g. `DE` set, the `+49` can be omitted for
phone-numbers.
'';
};
objectstore = {
s3 = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
S3 object storage as primary storage.
This mounts a bucket on an Amazon S3 object storage or compatible
implementation into the virtual filesystem.
Further details about this feature can be found in the
- upstream documentation.
- '';
+ [upstream documentation](https://docs.nextcloud.com/server/22/admin_manual/configuration_files/primary_storage.html).
+ '');
bucket = mkOption {
type = types.str;
example = "nextcloud";
@@ -462,13 +470,13 @@ in {
};
};
- enableImagemagick = mkEnableOption ''
+ enableImagemagick = mkEnableOption (lib.mdDoc ''
the ImageMagick module for PHP.
This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
You may want to disable it for increased security. In that case, previews will still be available
for some images (e.g. JPEG and PNG).
- See .
- '' // {
+ See .
+ '') // {
default = true;
};
@@ -511,39 +519,37 @@ in {
type = with types; either str (listOf str);
default = "05:00:00";
example = "Sun 14:00:00";
- description = ''
- When to run the update. See `systemd.services.<name>.startAt`.
+ description = lib.mdDoc ''
+ When to run the update. See `systemd.services..startAt`.
'';
};
};
occ = mkOption {
type = types.package;
default = occ;
- defaultText = literalDocBook "generated script";
+ defaultText = literalMD "generated script";
internal = true;
- description = ''
+ description = lib.mdDoc ''
The nextcloud-occ program preconfigured to target this Nextcloud instance.
'';
};
- globalProfiles = mkEnableOption "global profiles" // {
- description = ''
- Makes user-profiles globally available under nextcloud.tld/u/user.name.
+ globalProfiles = mkEnableOption (lib.mdDoc "global profiles") // {
+ description = lib.mdDoc ''
+ Makes user-profiles globally available under `nextcloud.tld/u/user.name`.
Even though it's enabled by default in Nextcloud, it must be explicitly enabled
here because it has the side-effect that personal information is even accessible to
unauthenticated users by default.
By default, the following properties are set to “Show to everyone”
if this flag is enabled:
-
- About
- Full name
- Headline
- Organisation
- Profile picture
- Role
- Twitter
- Website
-
+ - About
+ - Full name
+ - Headline
+ - Organisation
+ - Profile picture
+ - Role
+ - Twitter
+ - Website
Only has an effect in Nextcloud 23 and later.
'';
@@ -1032,7 +1038,7 @@ in {
fastcgi_pass unix:${fpm.socket};
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
- fastcgi_read_timeout 120s;
+ fastcgi_read_timeout ${builtins.toString cfg.fastcgiTimeout}s;
'';
};
"~ \\.(?:css|js|woff2?|svg|gif|map)$".extraConfig = ''
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/nexus.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/nexus.nix
index 64dc0b625d..1f4a758b87 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/nexus.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/nexus.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.nexus = {
- enable = mkEnableOption "Sonatype Nexus3 OSS service";
+ enable = mkEnableOption (lib.mdDoc "Sonatype Nexus3 OSS service");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/nifi.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/nifi.nix
index e3f30c710e..f643e24d81 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/nifi.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/nifi.nix
@@ -27,7 +27,7 @@ let
in {
options = {
services.nifi = {
- enable = lib.mkEnableOption "Apache NiFi";
+ enable = lib.mkEnableOption (lib.mdDoc "Apache NiFi");
package = lib.mkOption {
type = lib.types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/node-red.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/node-red.nix
index e5b0998d3c..f4d4ad9681 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/node-red.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/node-red.nix
@@ -17,7 +17,7 @@ let
in
{
options.services.node-red = {
- enable = mkEnableOption "the Node-RED service";
+ enable = mkEnableOption (lib.mdDoc "the Node-RED service");
package = mkOption {
default = pkgs.nodePackages.node-red;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
index 15fc3b03a8..ad0a527759 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
@@ -7,9 +7,9 @@ let
in
{
options.services.onlyoffice = {
- enable = mkEnableOption "OnlyOffice DocumentServer";
+ enable = mkEnableOption (lib.mdDoc "OnlyOffice DocumentServer");
- enableExampleServer = mkEnableOption "OnlyOffice example server";
+ enableExampleServer = mkEnableOption (lib.mdDoc "OnlyOffice example server");
hostname = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/openwebrx.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/openwebrx.nix
index c409adbc71..72c5d6c781 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/openwebrx.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/openwebrx.nix
@@ -4,7 +4,7 @@ let
in
{
options.services.openwebrx = with lib; {
- enable = mkEnableOption "OpenWebRX Web interface for Software-Defined Radios on http://localhost:8073";
+ enable = mkEnableOption (lib.mdDoc "OpenWebRX Web interface for Software-Defined Radios on http://localhost:8073");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/outline.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/outline.nix
new file mode 100644
index 0000000000..8a312d7958
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/outline.nix
@@ -0,0 +1,777 @@
+{ config, lib, pkgs, ...}:
+
+let
+ defaultUser = "outline";
+ cfg = config.services.outline;
+in
+{
+ # See here for a reference of all the options:
+ # https://github.com/outline/outline/blob/v0.65.2/.env.sample
+ # https://github.com/outline/outline/blob/v0.65.2/app.json
+ # https://github.com/outline/outline/blob/v0.65.2/server/env.ts
+ # https://github.com/outline/outline/blob/v0.65.2/shared/types.ts
+ # The order is kept the same here to make updating easier.
+ options.services.outline = {
+ enable = lib.mkEnableOption (lib.mdDoc "outline");
+
+ package = lib.mkOption {
+ default = pkgs.outline;
+ defaultText = lib.literalExpression "pkgs.outline";
+ type = lib.types.package;
+ example = lib.literalExpression ''
+ pkgs.outline.overrideAttrs (super: {
+ # Ignore the domain part in emails that come from OIDC. This is might
+ # be helpful if you want multiple users with different email providers
+ # to still land in the same team. Note that this effectively makes
+ # Outline a single-team instance.
+ patchPhase = ${"''"}
+ sed -i 's/const domain = parts\.length && parts\[1\];/const domain = "example.com";/g' server/routes/auth/providers/oidc.ts
+ ${"''"};
+ })
+ '';
+ description = lib.mdDoc "Outline package to use.";
+ };
+
+ user = lib.mkOption {
+ type = lib.types.str;
+ default = defaultUser;
+ description = lib.mdDoc ''
+ User under which the service should run. If this is the default value,
+ the user will be created, with the specified group as the primary
+ group.
+ '';
+ };
+
+ group = lib.mkOption {
+ type = lib.types.str;
+ default = defaultUser;
+ description = lib.mdDoc ''
+ Group under which the service should run. If this is the default value,
+ the group will be created.
+ '';
+ };
+
+ sequelizeArguments = lib.mkOption {
+ type = lib.types.str;
+ default = "";
+ example = "--env=production-ssl-disabled";
+ description = lib.mdDoc ''
+ Optional arguments to pass to `sequelize` calls.
+ '';
+ };
+
+ #
+ # Required options
+ #
+
+ secretKeyFile = lib.mkOption {
+ type = lib.types.str;
+ default = "/var/lib/outline/secret_key";
+ description = lib.mdDoc ''
+ File path that contains the application secret key. It must be 32
+ bytes long and hex-encoded. If the file does not exist, a new key will
+ be generated and saved here.
+ '';
+ };
+
+ utilsSecretFile = lib.mkOption {
+ type = lib.types.str;
+ default = "/var/lib/outline/utils_secret";
+ description = lib.mdDoc ''
+ File path that contains the utility secret key. If the file does not
+ exist, a new key will be generated and saved here.
+ '';
+ };
+
+ databaseUrl = lib.mkOption {
+ type = lib.types.str;
+ default = "local";
+ description = lib.mdDoc ''
+ URI to use for the main PostgreSQL database. If this needs to include
+ credentials that shouldn't be world-readable in the Nix store, set an
+ environment file on the systemd service and override the
+ `DATABASE_URL` entry. Pass the string
+ `local` to setup a database on the local server.
+ '';
+ };
+
+ redisUrl = lib.mkOption {
+ type = lib.types.str;
+ default = "local";
+ description = lib.mdDoc ''
+ Connection to a redis server. If this needs to include credentials
+ that shouldn't be world-readable in the Nix store, set an environment
+ file on the systemd service and override the
+ `REDIS_URL` entry. Pass the string
+ `local` to setup a local Redis database.
+ '';
+ };
+
+ publicUrl = lib.mkOption {
+ type = lib.types.str;
+ default = "http://localhost:3000";
+ description = lib.mdDoc "The fully qualified, publicly accessible URL";
+ };
+
+ port = lib.mkOption {
+ type = lib.types.port;
+ default = 3000;
+ description = lib.mdDoc "Listening port.";
+ };
+
+ storage = lib.mkOption {
+ description = lib.mdDoc ''
+ To support uploading of images for avatars and document attachments an
+ s3-compatible storage must be provided. AWS S3 is recommended for
+ redundency however if you want to keep all file storage local an
+ alternative such as [minio](https://github.com/minio/minio)
+ can be used.
+
+ A more detailed guide on setting up S3 is available
+ [here](https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f).
+ '';
+ example = lib.literalExpression ''
+ {
+ accessKey = "...";
+ secretKeyFile = "/somewhere";
+ uploadBucketUrl = "https://minio.example.com";
+ uploadBucketName = "outline";
+ region = "us-east-1";
+ }
+ '';
+ type = lib.types.submodule {
+ options = {
+ accessKey = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "S3 access key.";
+ };
+ secretKeyFile = lib.mkOption {
+ type = lib.types.path;
+ description = lib.mdDoc "File path that contains the S3 secret key.";
+ };
+ region = lib.mkOption {
+ type = lib.types.str;
+ default = "xx-xxxx-x";
+ description = lib.mdDoc "AWS S3 region name.";
+ };
+ uploadBucketUrl = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc ''
+ URL endpoint of an S3-compatible API where uploads should be
+ stored.
+ '';
+ };
+ uploadBucketName = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Name of the bucket where uploads should be stored.";
+ };
+ uploadMaxSize = lib.mkOption {
+ type = lib.types.int;
+ default = 26214400;
+ description = lib.mdDoc "Maxmium file size for uploads.";
+ };
+ forcePathStyle = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ description = lib.mdDoc "Force S3 path style.";
+ };
+ acl = lib.mkOption {
+ type = lib.types.str;
+ default = "private";
+ description = lib.mdDoc "ACL setting.";
+ };
+ };
+ };
+ };
+
+ #
+ # Authentication
+ #
+
+ slackAuthentication = lib.mkOption {
+ description = lib.mdDoc ''
+ To configure Slack auth, you'll need to create an Application at
+ https://api.slack.com/apps
+
+ When configuring the Client ID, add a redirect URL under "OAuth & Permissions"
+ to `https://[publicUrl]/auth/slack.callback`.
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ clientId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Authentication key.";
+ };
+ secretFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "File path containing the authentication secret.";
+ };
+ };
+ });
+ };
+
+ googleAuthentication = lib.mkOption {
+ description = lib.mdDoc ''
+ To configure Google auth, you'll need to create an OAuth Client ID at
+ https://console.cloud.google.com/apis/credentials
+
+ When configuring the Client ID, add an Authorized redirect URI to
+ `https://[publicUrl]/auth/google.callback`.
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ clientId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Authentication client identifier.";
+ };
+ clientSecretFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "File path containing the authentication secret.";
+ };
+ };
+ });
+ };
+
+ azureAuthentication = lib.mkOption {
+ description = lib.mdDoc ''
+ To configure Microsoft/Azure auth, you'll need to create an OAuth
+ Client. See
+ [the guide](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4)
+ for details on setting up your Azure App.
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ clientId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Authentication client identifier.";
+ };
+ clientSecretFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "File path containing the authentication secret.";
+ };
+ resourceAppId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Authentication application resource ID.";
+ };
+ };
+ });
+ };
+
+ oidcAuthentication = lib.mkOption {
+ description = lib.mdDoc ''
+ To configure generic OIDC auth, you'll need some kind of identity
+ provider. See the documentation for whichever IdP you use to fill out
+ all the fields. The redirect URL is
+ `https://[publicUrl]/auth/oidc.callback`.
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ clientId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Authentication client identifier.";
+ };
+ clientSecretFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "File path containing the authentication secret.";
+ };
+ authUrl = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "OIDC authentication URL endpoint.";
+ };
+ tokenUrl = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "OIDC token URL endpoint.";
+ };
+ userinfoUrl = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "OIDC userinfo URL endpoint.";
+ };
+ usernameClaim = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc ''
+ Specify which claims to derive user information from. Supports any
+ valid JSON path with the JWT payload
+ '';
+ default = "preferred_username";
+ };
+ displayName = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Display name for OIDC authentication.";
+ default = "OpenID";
+ };
+ scopes = lib.mkOption {
+ type = lib.types.listOf lib.types.str;
+ description = lib.mdDoc "OpenID authentication scopes.";
+ default = [ "openid" "profile" "email" ];
+ };
+ };
+ });
+ };
+
+ #
+ # Optional configuration
+ #
+
+ sslKeyFile = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = lib.mdDoc ''
+ File path that contains the Base64-encoded private key for HTTPS
+ termination. This is only required if you do not use an external reverse
+ proxy. See
+ [the documentation](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4).
+ '';
+ };
+ sslCertFile = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = lib.mdDoc ''
+ File path that contains the Base64-encoded certificate for HTTPS
+ termination. This is only required if you do not use an external reverse
+ proxy. See
+ [the documentation](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4).
+ '';
+ };
+
+ cdnUrl = lib.mkOption {
+ type = lib.types.str;
+ default = "";
+ description = lib.mdDoc ''
+ If using a Cloudfront/Cloudflare distribution or similar it can be set
+ using this option. This will cause paths to JavaScript files,
+ stylesheets and images to be updated to the hostname defined here. In
+ your CDN configuration the origin server should be set to public URL.
+ '';
+ };
+
+ forceHttps = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ description = lib.mdDoc ''
+ Auto-redirect to HTTPS in production. The default is
+ `true` but you may set this to `false`
+ if you can be sure that SSL is terminated at an external loadbalancer.
+ '';
+ };
+
+ enableUpdateCheck = lib.mkOption {
+ type = lib.types.bool;
+ default = false;
+ description = lib.mdDoc ''
+ Have the installation check for updates by sending anonymized statistics
+ to the maintainers.
+ '';
+ };
+
+ concurrency = lib.mkOption {
+ type = lib.types.int;
+ default = 1;
+ description = lib.mdDoc ''
+ How many processes should be spawned. For a rough estimate, divide your
+ server's available memory by 512.
+ '';
+ };
+
+ maximumImportSize = lib.mkOption {
+ type = lib.types.int;
+ default = 5120000;
+ description = lib.mdDoc ''
+ The maximum size of document imports. Overriding this could be required
+ if you have especially large Word documents with embedded imagery.
+ '';
+ };
+
+ debugOutput = lib.mkOption {
+ type = lib.types.nullOr (lib.types.enum [ "http" ]);
+ default = null;
+ description = lib.mdDoc "Set this to `http` log HTTP requests.";
+ };
+
+ slackIntegration = lib.mkOption {
+ description = lib.mdDoc ''
+ For a complete Slack integration with search and posting to channels
+ this configuration is also needed. See here for details:
+ https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ verificationTokenFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "File path containing the verification token.";
+ };
+ appId = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Application ID.";
+ };
+ messageActions = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ description = lib.mdDoc "Whether to enable message actions.";
+ };
+ };
+ });
+ };
+
+ googleAnalyticsId = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = lib.mdDoc ''
+ Optionally enable Google Analytics to track page views in the knowledge
+ base.
+ '';
+ };
+
+ sentryDsn = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = lib.mdDoc ''
+ Optionally enable [Sentry](https://sentry.io/) to
+ track errors and performance.
+ '';
+ };
+
+ logo = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = lib.mdDoc ''
+ Custom logo displayed on the authentication screen. This will be scaled
+ to a height of 60px.
+ '';
+ };
+
+ smtp = lib.mkOption {
+ description = lib.mdDoc ''
+ To support sending outgoing transactional emails such as
+ "document updated" or "you've been invited" you'll need to provide
+ authentication for an SMTP server.
+ '';
+ default = null;
+ type = lib.types.nullOr (lib.types.submodule {
+ options = {
+ host = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Host name or IP adress of the SMTP server.";
+ };
+ port = lib.mkOption {
+ type = lib.types.port;
+ description = lib.mdDoc "TCP port of the SMTP server.";
+ };
+ username = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Username to authenticate with.";
+ };
+ passwordFile = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc ''
+ File path containing the password to authenticate with.
+ '';
+ };
+ fromEmail = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Sender email in outgoing mail.";
+ };
+ replyEmail = lib.mkOption {
+ type = lib.types.str;
+ description = lib.mdDoc "Reply address in outgoing mail.";
+ };
+ tlsCiphers = lib.mkOption {
+ type = lib.types.str;
+ default = "";
+ description = lib.mdDoc "Override SMTP cipher configuration.";
+ };
+ secure = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ description = lib.mdDoc "Use a secure SMTP connection.";
+ };
+ };
+ });
+ };
+
+ defaultLanguage = lib.mkOption {
+ type = lib.types.enum [
+ "da_DK"
+ "de_DE"
+ "en_US"
+ "es_ES"
+ "fa_IR"
+ "fr_FR"
+ "it_IT"
+ "ja_JP"
+ "ko_KR"
+ "nl_NL"
+ "pl_PL"
+ "pt_BR"
+ "pt_PT"
+ "ru_RU"
+ "sv_SE"
+ "th_TH"
+ "vi_VN"
+ "zh_CN"
+ "zh_TW"
+ ];
+ default = "en_US";
+ description = lib.mdDoc ''
+ The default interface language. See
+ [translate.getoutline.com](https://translate.getoutline.com/)
+ for a list of available language codes and their rough percentage
+ translated.
+ '';
+ };
+
+ rateLimiter.enable = lib.mkEnableOption (lib.mdDoc "rate limiter for the application web server");
+ rateLimiter.requests = lib.mkOption {
+ type = lib.types.int;
+ default = 5000;
+ description = lib.mdDoc "Maximum number of requests in a throttling window.";
+ };
+ rateLimiter.durationWindow = lib.mkOption {
+ type = lib.types.int;
+ default = 60;
+ description = lib.mdDoc "Length of a throttling window.";
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ users.users = lib.optionalAttrs (cfg.user == defaultUser) {
+ ${defaultUser} = {
+ isSystemUser = true;
+ group = cfg.group;
+ };
+ };
+
+ users.groups = lib.optionalAttrs (cfg.group == defaultUser) {
+ ${defaultUser} = { };
+ };
+
+ systemd.tmpfiles.rules = [
+ "f ${cfg.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -"
+ "f ${cfg.utilsSecretFile} 0600 ${cfg.user} ${cfg.group} -"
+ "f ${cfg.storage.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -"
+ ];
+
+ services.postgresql = lib.mkIf (cfg.databaseUrl == "local") {
+ enable = true;
+ ensureUsers = [{
+ name = "outline";
+ ensurePermissions."DATABASE outline" = "ALL PRIVILEGES";
+ }];
+ ensureDatabases = [ "outline" ];
+ };
+
+ services.redis.servers.outline = lib.mkIf (cfg.redisUrl == "local") {
+ enable = true;
+ user = config.services.outline.user;
+ port = 0; # Disable the TCP listener
+ };
+
+ systemd.services.outline = let
+ localRedisUrl = "redis+unix:///run/redis-outline/redis.sock";
+ localPostgresqlUrl = "postgres://localhost/outline?host=/run/postgresql";
+
+ # Create an outline-sequalize wrapper (a wrapper around the wrapper) that
+ # has the config file's path baked in. This is necessary because there is
+ # at least one occurrence of outline calling this from its own code.
+ sequelize = pkgs.writeShellScriptBin "outline-sequelize" ''
+ exec ${cfg.package}/bin/outline-sequelize \
+ --config $RUNTIME_DIRECTORY/database.json \
+ ${cfg.sequelizeArguments} \
+ "$@"
+ '';
+ in {
+ description = "Outline wiki and knowledge base";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "networking.target" ]
+ ++ lib.optional (cfg.databaseUrl == "local") "postgresql.service"
+ ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service";
+ requires = lib.optional (cfg.databaseUrl == "local") "postgresql.service"
+ ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service";
+ path = [
+ pkgs.openssl # Required by the preStart script
+ sequelize
+ ];
+
+
+ environment = lib.mkMerge [
+ {
+ NODE_ENV = "production";
+
+ REDIS_URL = if cfg.redisUrl == "local" then localRedisUrl else cfg.redisUrl;
+ URL = cfg.publicUrl;
+ PORT = builtins.toString cfg.port;
+
+ AWS_ACCESS_KEY_ID = cfg.storage.accessKey;
+ AWS_REGION = cfg.storage.region;
+ AWS_S3_UPLOAD_BUCKET_URL = cfg.storage.uploadBucketUrl;
+ AWS_S3_UPLOAD_BUCKET_NAME = cfg.storage.uploadBucketName;
+ AWS_S3_UPLOAD_MAX_SIZE = builtins.toString cfg.storage.uploadMaxSize;
+ AWS_S3_FORCE_PATH_STYLE = builtins.toString cfg.storage.forcePathStyle;
+ AWS_S3_ACL = cfg.storage.acl;
+
+ CDN_URL = cfg.cdnUrl;
+ FORCE_HTTPS = builtins.toString cfg.forceHttps;
+ ENABLE_UPDATES = builtins.toString cfg.enableUpdateCheck;
+ WEB_CONCURRENCY = builtins.toString cfg.concurrency;
+ MAXIMUM_IMPORT_SIZE = builtins.toString cfg.maximumImportSize;
+ DEBUG = cfg.debugOutput;
+ GOOGLE_ANALYTICS_ID = lib.optionalString (cfg.googleAnalyticsId != null) cfg.googleAnalyticsId;
+ SENTRY_DSN = lib.optionalString (cfg.sentryDsn != null) cfg.sentryDsn;
+ TEAM_LOGO = lib.optionalString (cfg.logo != null) cfg.logo;
+ DEFAULT_LANGUAGE = cfg.defaultLanguage;
+
+ RATE_LIMITER_ENABLED = builtins.toString cfg.rateLimiter.enable;
+ RATE_LIMITER_REQUESTS = builtins.toString cfg.rateLimiter.requests;
+ RATE_LIMITER_DURATION_WINDOW = builtins.toString cfg.rateLimiter.durationWindow;
+ }
+
+ (lib.mkIf (cfg.slackAuthentication != null) {
+ SLACK_CLIENT_ID = cfg.slackAuthentication.clientId;
+ })
+
+ (lib.mkIf (cfg.googleAuthentication != null) {
+ GOOGLE_CLIENT_ID = cfg.googleAuthentication.clientId;
+ })
+
+ (lib.mkIf (cfg.azureAuthentication != null) {
+ AZURE_CLIENT_ID = cfg.azureAuthentication.clientId;
+ AZURE_RESOURCE_APP_ID = cfg.azureAuthentication.resourceAppId;
+ })
+
+ (lib.mkIf (cfg.oidcAuthentication != null) {
+ OIDC_CLIENT_ID = cfg.oidcAuthentication.clientId;
+ OIDC_AUTH_URI = cfg.oidcAuthentication.authUrl;
+ OIDC_TOKEN_URI = cfg.oidcAuthentication.tokenUrl;
+ OIDC_USERINFO_URI = cfg.oidcAuthentication.userinfoUrl;
+ OIDC_USERNAME_CLAIM = cfg.oidcAuthentication.usernameClaim;
+ OIDC_DISPLAY_NAME = cfg.oidcAuthentication.displayName;
+ OIDC_SCOPES = lib.concatStringsSep " " cfg.oidcAuthentication.scopes;
+ })
+
+ (lib.mkIf (cfg.slackIntegration != null) {
+ SLACK_APP_ID = cfg.slackIntegration.appId;
+ SLACK_MESSAGE_ACTIONS = builtins.toString cfg.slackIntegration.messageActions;
+ })
+
+ (lib.mkIf (cfg.smtp != null) {
+ SMTP_HOST = cfg.smtp.host;
+ SMTP_PORT = builtins.toString cfg.smtp.port;
+ SMTP_USERNAME = cfg.smtp.username;
+ SMTP_FROM_EMAIL = cfg.smtp.fromEmail;
+ SMTP_REPLY_EMAIL = cfg.smtp.replyEmail;
+ SMTP_TLS_CIPHERS = cfg.smtp.tlsCiphers;
+ SMTP_SECURE = builtins.toString cfg.smtp.secure;
+ })
+ ];
+
+ preStart = ''
+ if [ ! -s ${lib.escapeShellArg cfg.secretKeyFile} ]; then
+ openssl rand -hex 32 > ${lib.escapeShellArg cfg.secretKeyFile}
+ fi
+ if [ ! -s ${lib.escapeShellArg cfg.utilsSecretFile} ]; then
+ openssl rand -hex 32 > ${lib.escapeShellArg cfg.utilsSecretFile}
+ fi
+
+ # The config file is required for the CLI, the DATABASE_URL environment
+ # variable is read by the app.
+ ${if (cfg.databaseUrl == "local") then ''
+ cat < $RUNTIME_DIRECTORY/database.json
+ {
+ "production": {
+ "dialect": "postgres",
+ "host": "/run/postgresql",
+ "username": null,
+ "password": null
+ }
+ }
+ EOF
+ export DATABASE_URL=${lib.escapeShellArg localPostgresqlUrl}
+ export PGSSLMODE=disable
+ '' else ''
+ cat < $RUNTIME_DIRECTORY/database.json
+ {
+ "production": {
+ "use_env_variable": "DATABASE_URL",
+ "dialect": "postgres",
+ "dialectOptions": {
+ "ssl": {
+ "rejectUnauthorized": false
+ }
+ }
+ },
+ "production-ssl-disabled": {
+ "use_env_variable": "DATABASE_URL",
+ "dialect": "postgres"
+ }
+ }
+ EOF
+ export DATABASE_URL=${lib.escapeShellArg cfg.databaseUrl}
+ ''}
+
+ cd $RUNTIME_DIRECTORY
+ ${sequelize}/bin/outline-sequelize db:migrate
+ '';
+
+ script = ''
+ export SECRET_KEY="$(head -n1 ${lib.escapeShellArg cfg.secretKeyFile})"
+ export UTILS_SECRET="$(head -n1 ${lib.escapeShellArg cfg.utilsSecretFile})"
+ export AWS_SECRET_ACCESS_KEY="$(head -n1 ${lib.escapeShellArg cfg.storage.secretKeyFile})"
+ ${lib.optionalString (cfg.slackAuthentication != null) ''
+ export SLACK_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.slackAuthentication.secretFile})"
+ ''}
+ ${lib.optionalString (cfg.googleAuthentication != null) ''
+ export GOOGLE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.googleAuthentication.clientSecretFile})"
+ ''}
+ ${lib.optionalString (cfg.azureAuthentication != null) ''
+ export AZURE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.azureAuthentication.clientSecretFile})"
+ ''}
+ ${lib.optionalString (cfg.oidcAuthentication != null) ''
+ export OIDC_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.oidcAuthentication.clientSecretFile})"
+ ''}
+ ${lib.optionalString (cfg.sslKeyFile != null) ''
+ export SSL_KEY="$(head -n1 ${lib.escapeShellArg cfg.sslKeyFile})"
+ ''}
+ ${lib.optionalString (cfg.sslCertFile != null) ''
+ export SSL_CERT="$(head -n1 ${lib.escapeShellArg cfg.sslCertFile})"
+ ''}
+ ${lib.optionalString (cfg.slackIntegration != null) ''
+ export SLACK_VERIFICATION_TOKEN="$(head -n1 ${lib.escapeShellArg cfg.slackIntegration.verificationTokenFile})"
+ ''}
+ ${lib.optionalString (cfg.smtp != null) ''
+ export SMTP_PASSWORD="$(head -n1 ${lib.escapeShellArg cfg.smtp.passwordFile})"
+ ''}
+
+ ${if (cfg.databaseUrl == "local") then ''
+ export DATABASE_URL=${lib.escapeShellArg localPostgresqlUrl}
+ export PGSSLMODE=disable
+ '' else ''
+ export DATABASE_URL=${lib.escapeShellArg cfg.databaseUrl}
+ ''}
+
+ ${cfg.package}/bin/outline-server
+ '';
+
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ Restart = "always";
+ ProtectSystem = "strict";
+ PrivateHome = true;
+ PrivateTmp = true;
+ UMask = "0007";
+
+ StateDirectory = "outline";
+ StateDirectoryMode = "0750";
+ RuntimeDirectory = "outline";
+ RuntimeDirectoryMode = "0750";
+ # This working directory is required to find stuff like the set of
+ # onboarding files:
+ WorkingDirectory = "${cfg.package}/share/outline/build";
+ };
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/peertube.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/peertube.nix
index c5a80e2d7d..1ac6c15dac 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/peertube.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/peertube.nix
@@ -69,7 +69,7 @@ let
in {
options.services.peertube = {
- enable = lib.mkEnableOption "Enable Peertube’s service";
+ enable = lib.mkEnableOption (lib.mdDoc "Enable Peertube’s service");
user = lib.mkOption {
type = lib.types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/pgpkeyserver-lite.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/pgpkeyserver-lite.nix
index 2552441bef..0ab39b0793 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/pgpkeyserver-lite.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/pgpkeyserver-lite.nix
@@ -18,7 +18,7 @@ in
services.pgpkeyserver-lite = {
- enable = mkEnableOption "pgpkeyserver-lite on a nginx vHost proxying to a gpg keyserver";
+ enable = mkEnableOption (lib.mdDoc "pgpkeyserver-lite on a nginx vHost proxying to a gpg keyserver");
package = mkOption {
default = pkgs.pgpkeyserver-lite;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/phylactery.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/phylactery.nix
index d512b48539..4801bd203b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/phylactery.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/phylactery.nix
@@ -4,7 +4,7 @@ with lib;
let cfg = config.services.phylactery;
in {
options.services.phylactery = {
- enable = mkEnableOption "Whether to enable Phylactery server";
+ enable = mkEnableOption (lib.mdDoc "Whether to enable Phylactery server");
host = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix
index ab5a9ed073..ee9ff9b484 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix
@@ -10,7 +10,7 @@ in
meta.doc = ./pict-rs.xml;
options.services.pict-rs = {
- enable = mkEnableOption "pict-rs server";
+ enable = mkEnableOption (lib.mdDoc "pict-rs server");
dataDir = mkOption {
type = types.path;
default = "/var/lib/pict-rs";
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/plantuml-server.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/plantuml-server.nix
index acd9292ceb..5ebee48c3e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/plantuml-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/plantuml-server.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.plantuml-server = {
- enable = mkEnableOption "PlantUML server";
+ enable = mkEnableOption (lib.mdDoc "PlantUML server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix
index d938cc0ad8..e5dc1b1036 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix
@@ -7,7 +7,7 @@ let
in {
options.services.plausible = {
- enable = mkEnableOption "plausible";
+ enable = mkEnableOption (lib.mdDoc "plausible");
releaseCookiePath = mkOption {
type = with types; either str path;
@@ -40,12 +40,12 @@ in {
'';
};
- activate = mkEnableOption "activating the freshly created admin-user";
+ activate = mkEnableOption (lib.mdDoc "activating the freshly created admin-user");
};
database = {
clickhouse = {
- setup = mkEnableOption "creating a clickhouse instance" // { default = true; };
+ setup = mkEnableOption (lib.mdDoc "creating a clickhouse instance") // { default = true; };
url = mkOption {
default = "http://localhost:8123/default";
type = types.str;
@@ -55,7 +55,7 @@ in {
};
};
postgres = {
- setup = mkEnableOption "creating a postgresql instance" // { default = true; };
+ setup = mkEnableOption (lib.mdDoc "creating a postgresql instance") // { default = true; };
dbname = mkOption {
default = "plausible";
type = types.str;
@@ -148,7 +148,7 @@ in {
The path to the file with the password in case SMTP auth is enabled.
'';
};
- enableSSL = mkEnableOption "SSL when connecting to the SMTP server";
+ enableSSL = mkEnableOption (lib.mdDoc "SSL when connecting to the SMTP server");
retries = mkOption {
type = types.ints.unsigned;
default = 2;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
index c2d65f59e4..e9f7f41055 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
@@ -19,7 +19,7 @@ let
in
{
options.services.powerdns-admin = {
- enable = mkEnableOption "the PowerDNS web interface";
+ enable = mkEnableOption (lib.mdDoc "the PowerDNS web interface");
extraArgs = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix
index 1d40809c42..279b4104b0 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix
@@ -11,7 +11,7 @@ in {
options = {
services.prosody-filer = {
- enable = mkEnableOption "Prosody Filer XMPP upload file server";
+ enable = mkEnableOption (lib.mdDoc "Prosody Filer XMPP upload file server");
settings = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/restya-board.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
index ae80a7866a..69f9b3ebe5 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
@@ -25,7 +25,7 @@ in
services.restya-board = {
- enable = mkEnableOption "restya-board";
+ enable = mkEnableOption (lib.mdDoc "restya-board");
dataDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix
index bef3d9de2a..1a710f4a6a 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix
@@ -11,7 +11,7 @@ in
{
options = {
services.rss-bridge = {
- enable = mkEnableOption "rss-bridge";
+ enable = mkEnableOption (lib.mdDoc "rss-bridge");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/selfoss.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
index 016e053c80..8debd4904e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
@@ -30,7 +30,7 @@ in
{
options = {
services.selfoss = {
- enable = mkEnableOption "selfoss";
+ enable = mkEnableOption (lib.mdDoc "selfoss");
user = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
index 494f858730..7bd0a4d2b9 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
@@ -6,7 +6,7 @@ let
in {
options = {
services.shiori = {
- enable = mkEnableOption "Shiori simple bookmarks manager";
+ enable = mkEnableOption (lib.mdDoc "Shiori simple bookmarks manager");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/snipe-it.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/snipe-it.nix
index c0d29b048a..264b72fe83 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/snipe-it.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/snipe-it.nix
@@ -28,7 +28,7 @@ let
in {
options.services.snipe-it = {
- enable = mkEnableOption "A free open source IT asset/license management system";
+ enable = mkEnableOption (lib.mdDoc "A free open source IT asset/license management system");
user = mkOption {
default = "snipeit";
@@ -250,7 +250,7 @@ in {
options = {
_secret = mkOption {
type = nullOr (oneOf [ str path ]);
- description = ''
+ description = lib.mdDoc ''
The path to a file containing the value the
option should be set to in the final
configuration file.
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/sogo.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/sogo.nix
index a134282de8..ca1f426623 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/sogo.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/sogo.nix
@@ -18,7 +18,7 @@
in {
options.services.sogo = with types; {
- enable = mkEnableOption "SOGo groupware";
+ enable = mkEnableOption (lib.mdDoc "SOGo groupware");
vhostName = mkOption {
description = lib.mdDoc "Name of the nginx vhost";
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/trilium.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/trilium.nix
index bb1061cf27..81ed7ca83b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/trilium.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/trilium.nix
@@ -24,7 +24,7 @@ in
{
options.services.trilium-server = with lib; {
- enable = mkEnableOption "trilium-server";
+ enable = mkEnableOption (lib.mdDoc "trilium-server");
dataDir = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
index f105b0aa3f..870e8f4795 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
@@ -121,7 +121,7 @@ let
services.tt-rss = {
- enable = mkEnableOption "tt-rss";
+ enable = mkEnableOption (lib.mdDoc "tt-rss");
root = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/vikunja.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/vikunja.nix
index 7db6101598..c3552200d4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/vikunja.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/vikunja.nix
@@ -10,7 +10,7 @@ let
usePostgresql = cfg.database.type == "postgres";
in {
options.services.vikunja = with lib; {
- enable = mkEnableOption "vikunja service";
+ enable = mkEnableOption (lib.mdDoc "vikunja service");
package-api = mkOption {
default = pkgs.vikunja-api;
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/whitebophir.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/whitebophir.nix
index c4dee3c6ee..b673a7c117 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/whitebophir.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/whitebophir.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.whitebophir = {
- enable = mkEnableOption "whitebophir, an online collaborative whiteboard server (persistent state will be maintained under /var/lib/whitebophir)";
+ enable = mkEnableOption (lib.mdDoc "whitebophir, an online collaborative whiteboard server (persistent state will be maintained under {file}`/var/lib/whitebophir`)");
package = mkOption {
default = pkgs.whitebophir;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix
index c648cfff6c..9cdbe989a3 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix
@@ -10,7 +10,7 @@ let
configFile = format.generate "wiki-js.yml" cfg.settings;
in {
options.services.wiki-js = {
- enable = mkEnableOption "wiki-js";
+ enable = mkEnableOption (lib.mdDoc "wiki-js");
environmentFile = mkOption {
type = types.nullOr types.path;
@@ -85,25 +85,23 @@ in {
'';
};
- offline = mkEnableOption "offline mode" // {
- description = ''
+ offline = mkEnableOption (lib.mdDoc "offline mode") // {
+ description = lib.mdDoc ''
Disable latest file updates and enable
- sideloading.
+ [sideloading](https://docs.requarks.io/install/sideload).
'';
};
};
};
- description = ''
- Settings to configure wiki-js. This directly
- corresponds to the upstream configuration options.
+ description = lib.mdDoc ''
+ Settings to configure `wiki-js`. This directly
+ corresponds to [the upstream configuration options](https://docs.requarks.io/install/config).
Secrets can be injected via the environment by
-
- specifying
- to contain secrets
- and setting sensitive values to $(ENVIRONMENT_VAR)
- with this value defined in the environment-file.
-
+ - specifying [](#opt-services.wiki-js.environmentFile)
+ to contain secrets
+ - and setting sensitive values to `$(ENVIRONMENT_VAR)`
+ with this value defined in the environment-file.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/wordpress.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
index c841ded353..f2e78d0285 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
@@ -97,9 +97,12 @@ let
plugins = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
List of path(s) to respective plugin(s) which are copied from the 'plugins' directory.
- These plugins need to be packaged before use, see example.
+
+ ::: {.note}
+ These plugins need to be packaged before use, see example.
+ :::
'';
example = literalExpression ''
let
@@ -124,9 +127,12 @@ let
themes = mkOption {
type = types.listOf types.path;
default = [];
- description = ''
+ description = lib.mdDoc ''
List of path(s) to respective theme(s) which are copied from the 'theme' directory.
- These themes need to be packaged before use, see example.
+
+ ::: {.note}
+ These themes need to be packaged before use, see example.
+ :::
'';
example = literalExpression ''
let
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/writefreely.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/writefreely.nix
new file mode 100644
index 0000000000..c363760d5c
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/writefreely.nix
@@ -0,0 +1,485 @@
+{ config, lib, pkgs, ... }:
+
+let
+ inherit (builtins) toString;
+ inherit (lib) types mkIf mkOption mkDefault;
+ inherit (lib) optional optionals optionalAttrs optionalString;
+
+ inherit (pkgs) sqlite;
+
+ format = pkgs.formats.ini {
+ mkKeyValue = key: value:
+ let
+ value' = if builtins.isNull value then
+ ""
+ else if builtins.isBool value then
+ if value == true then "true" else "false"
+ else
+ toString value;
+ in "${key} = ${value'}";
+ };
+
+ cfg = config.services.writefreely;
+
+ isSqlite = cfg.database.type == "sqlite3";
+ isMysql = cfg.database.type == "mysql";
+ isMysqlLocal = isMysql && cfg.database.createLocally == true;
+
+ hostProtocol = if cfg.acme.enable then "https" else "http";
+
+ settings = cfg.settings // {
+ app = cfg.settings.app or { } // {
+ host = cfg.settings.app.host or "${hostProtocol}://${cfg.host}";
+ };
+
+ database = if cfg.database.type == "sqlite3" then {
+ type = "sqlite3";
+ filename = cfg.settings.database.filename or "writefreely.db";
+ database = cfg.database.name;
+ } else {
+ type = "mysql";
+ username = cfg.database.user;
+ password = "#dbpass#";
+ database = cfg.database.name;
+ host = cfg.database.host;
+ port = cfg.database.port;
+ tls = cfg.database.tls;
+ };
+
+ server = cfg.settings.server or { } // {
+ bind = cfg.settings.server.bind or "localhost";
+ gopher_port = cfg.settings.server.gopher_port or 0;
+ autocert = !cfg.nginx.enable && cfg.acme.enable;
+ templates_parent_dir =
+ cfg.settings.server.templates_parent_dir or cfg.package.src;
+ static_parent_dir = cfg.settings.server.static_parent_dir or assets;
+ pages_parent_dir =
+ cfg.settings.server.pages_parent_dir or cfg.package.src;
+ keys_parent_dir = cfg.settings.server.keys_parent_dir or cfg.stateDir;
+ };
+ };
+
+ configFile = format.generate "config.ini" settings;
+
+ assets = pkgs.stdenvNoCC.mkDerivation {
+ pname = "writefreely-assets";
+
+ inherit (cfg.package) version src;
+
+ nativeBuildInputs = with pkgs.nodePackages; [ less ];
+
+ buildPhase = ''
+ mkdir -p $out
+
+ cp -r static $out/
+ '';
+
+ installPhase = ''
+ less_dir=$src/less
+ css_dir=$out/static/css
+
+ lessc $less_dir/app.less $css_dir/write.css
+ lessc $less_dir/fonts.less $css_dir/fonts.css
+ lessc $less_dir/icons.less $css_dir/icons.css
+ lessc $less_dir/prose.less $css_dir/prose.css
+ '';
+ };
+
+ withConfigFile = text: ''
+ db_pass=${
+ optionalString (cfg.database.passwordFile != null)
+ "$(head -n1 ${cfg.database.passwordFile})"
+ }
+
+ cp -f ${configFile} '${cfg.stateDir}/config.ini'
+ sed -e "s,#dbpass#,$db_pass,g" -i '${cfg.stateDir}/config.ini'
+ chmod 440 '${cfg.stateDir}/config.ini'
+
+ ${text}
+ '';
+
+ withMysql = text:
+ withConfigFile ''
+ query () {
+ local result=$(${config.services.mysql.package}/bin/mysql \
+ --user=${cfg.database.user} \
+ --password=$db_pass \
+ --database=${cfg.database.name} \
+ --silent \
+ --raw \
+ --skip-column-names \
+ --execute "$1" \
+ )
+
+ echo $result
+ }
+
+ ${text}
+ '';
+
+ withSqlite = text:
+ withConfigFile ''
+ query () {
+ local result=$(${sqlite}/bin/sqlite3 \
+ '${cfg.stateDir}/${settings.database.filename}'
+ "$1" \
+ )
+
+ echo $result
+ }
+
+ ${text}
+ '';
+in {
+ options.services.writefreely = {
+ enable =
+ lib.mkEnableOption "Writefreely, build a digital writing community";
+
+ package = lib.mkOption {
+ type = lib.types.package;
+ default = pkgs.writefreely;
+ defaultText = lib.literalExpression "pkgs.writefreely";
+ description = "Writefreely package to use.";
+ };
+
+ stateDir = mkOption {
+ type = types.path;
+ default = "/var/lib/writefreely";
+ description = "The state directory where keys and data are stored.";
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "writefreely";
+ description = "User under which Writefreely is ran.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "writefreely";
+ description = "Group under which Writefreely is ran.";
+ };
+
+ host = mkOption {
+ type = types.str;
+ default = "";
+ description = "The public host name to serve.";
+ example = "example.com";
+ };
+
+ settings = mkOption {
+ default = { };
+ description = ''
+ Writefreely configuration (config.ini). Refer to
+
+ for details.
+ '';
+
+ type = types.submodule {
+ freeformType = format.type;
+
+ options = {
+ app = {
+ theme = mkOption {
+ type = types.str;
+ default = "write";
+ description = "The theme to apply.";
+ };
+ };
+
+ server = {
+ port = mkOption {
+ type = types.port;
+ default = if cfg.nginx.enable then 18080 else 80;
+ defaultText = "80";
+ description = "The port WriteFreely should listen on.";
+ };
+ };
+ };
+ };
+ };
+
+ database = {
+ type = mkOption {
+ type = types.enum [ "sqlite3" "mysql" ];
+ default = "sqlite3";
+ description = "The database provider to use.";
+ };
+
+ name = mkOption {
+ type = types.str;
+ default = "writefreely";
+ description = "The name of the database to store data in.";
+ };
+
+ user = mkOption {
+ type = types.nullOr types.str;
+ default = if cfg.database.type == "mysql" then "writefreely" else null;
+ defaultText = "writefreely";
+ description = "The database user to connect as.";
+ };
+
+ passwordFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ description = "The file to load the database password from.";
+ };
+
+ host = mkOption {
+ type = types.str;
+ default = "localhost";
+ description = "The database host to connect to.";
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 3306;
+ description = "The port used when connecting to the database host.";
+ };
+
+ tls = mkOption {
+ type = types.bool;
+ default = false;
+ description =
+ "Whether or not TLS should be used for the database connection.";
+ };
+
+ migrate = mkOption {
+ type = types.bool;
+ default = true;
+ description =
+ "Whether or not to automatically run migrations on startup.";
+ };
+
+ createLocally = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ When is set to
+ "mysql"
, this option will enable the MySQL service locally.
+ '';
+ };
+ };
+
+ admin = {
+ name = mkOption {
+ type = types.nullOr types.str;
+ description = "The name of the first admin user.";
+ default = null;
+ };
+
+ initialPasswordFile = mkOption {
+ type = types.path;
+ description = ''
+ Path to a file containing the initial password for the admin user.
+ If not provided, the default password will be set to nixos
.
+ '';
+ default = pkgs.writeText "default-admin-pass" "nixos";
+ defaultText = "/nix/store/xxx-default-admin-pass";
+ };
+ };
+
+ nginx = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description =
+ "Whether or not to enable and configure nginx as a proxy for WriteFreely.";
+ };
+
+ forceSSL = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether or not to force the use of SSL.";
+ };
+ };
+
+ acme = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description =
+ "Whether or not to automatically fetch and configure SSL certs.";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ assertions = [
+ {
+ assertion = cfg.host != "";
+ message = "services.writefreely.host must be set";
+ }
+ {
+ assertion = isMysqlLocal -> cfg.database.passwordFile != null;
+ message =
+ "services.writefreely.database.passwordFile must be set if services.writefreely.database.createLocally is set to true";
+ }
+ {
+ assertion = isSqlite -> !cfg.database.createLocally;
+ message =
+ "services.writefreely.database.createLocally has no use when services.writefreely.database.type is set to sqlite3";
+ }
+ ];
+
+ users = {
+ users = optionalAttrs (cfg.user == "writefreely") {
+ writefreely = {
+ group = cfg.group;
+ home = cfg.stateDir;
+ isSystemUser = true;
+ };
+ };
+
+ groups =
+ optionalAttrs (cfg.group == "writefreely") { writefreely = { }; };
+ };
+
+ systemd.tmpfiles.rules =
+ [ "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" ];
+
+ systemd.services.writefreely = {
+ after = [ "network.target" ]
+ ++ optional isSqlite "writefreely-sqlite-init.service"
+ ++ optional isMysql "writefreely-mysql-init.service"
+ ++ optional isMysqlLocal "mysql.service";
+ wantedBy = [ "multi-user.target" ];
+
+ serviceConfig = {
+ Type = "simple";
+ User = cfg.user;
+ Group = cfg.group;
+ WorkingDirectory = cfg.stateDir;
+ Restart = "always";
+ RestartSec = 20;
+ ExecStart =
+ "${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' serve";
+ AmbientCapabilities =
+ optionalString (settings.server.port < 1024) "cap_net_bind_service";
+ };
+
+ preStart = ''
+ if ! test -d "${cfg.stateDir}/keys"; then
+ mkdir -p ${cfg.stateDir}/keys
+
+ # Key files end up with the wrong permissions by default.
+ # We need to correct them so that Writefreely can read them.
+ chmod -R 750 "${cfg.stateDir}/keys"
+
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' keys generate
+ fi
+ '';
+ };
+
+ systemd.services.writefreely-sqlite-init = mkIf isSqlite {
+ wantedBy = [ "multi-user.target" ];
+
+ serviceConfig = {
+ Type = "oneshot";
+ User = cfg.user;
+ Group = cfg.group;
+ WorkingDirectory = cfg.stateDir;
+ ReadOnlyPaths = optional (cfg.admin.initialPasswordFile != null)
+ cfg.admin.initialPasswordFile;
+ };
+
+ script = let
+ migrateDatabase = optionalString cfg.database.migrate ''
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' db migrate
+ '';
+
+ createAdmin = optionalString (cfg.admin.name != null) ''
+ if [[ $(query "SELECT COUNT(*) FROM users") == 0 ]]; then
+ admin_pass=$(head -n1 ${cfg.admin.initialPasswordFile})
+
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' --create-admin ${cfg.admin.name}:$admin_pass
+ fi
+ '';
+ in withSqlite ''
+ if ! test -f '${settings.database.filename}'; then
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' db init
+ fi
+
+ ${migrateDatabase}
+
+ ${createAdmin}
+ '';
+ };
+
+ systemd.services.writefreely-mysql-init = mkIf isMysql {
+ wantedBy = [ "multi-user.target" ];
+ after = optional isMysqlLocal "mysql.service";
+
+ serviceConfig = {
+ Type = "oneshot";
+ User = cfg.user;
+ Group = cfg.group;
+ WorkingDirectory = cfg.stateDir;
+ ReadOnlyPaths = optional isMysqlLocal cfg.database.passwordFile
+ ++ optional (cfg.admin.initialPasswordFile != null)
+ cfg.admin.initialPasswordFile;
+ };
+
+ script = let
+ updateUser = optionalString isMysqlLocal ''
+ # WriteFreely currently *requires* a password for authentication, so we
+ # need to update the user in MySQL accordingly. By default MySQL users
+ # authenticate with auth_socket or unix_socket.
+ # See: https://github.com/writefreely/writefreely/issues/568
+ ${config.services.mysql.package}/bin/mysql --skip-column-names --execute "ALTER USER '${cfg.database.user}'@'localhost' IDENTIFIED VIA unix_socket OR mysql_native_password USING PASSWORD('$db_pass'); FLUSH PRIVILEGES;"
+ '';
+
+ migrateDatabase = optionalString cfg.database.migrate ''
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' db migrate
+ '';
+
+ createAdmin = optionalString (cfg.admin.name != null) ''
+ if [[ $(query 'SELECT COUNT(*) FROM users') == 0 ]]; then
+ admin_pass=$(head -n1 ${cfg.admin.initialPasswordFile})
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' --create-admin ${cfg.admin.name}:$admin_pass
+ fi
+ '';
+ in withMysql ''
+ ${updateUser}
+
+ if [[ $(query "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '${cfg.database.name}'") == 0 ]]; then
+ ${cfg.package}/bin/writefreely -c '${cfg.stateDir}/config.ini' db init
+ fi
+
+ ${migrateDatabase}
+
+ ${createAdmin}
+ '';
+ };
+
+ services.mysql = mkIf isMysqlLocal {
+ enable = true;
+ package = mkDefault pkgs.mariadb;
+ ensureDatabases = [ cfg.database.name ];
+ ensureUsers = [{
+ name = cfg.database.user;
+ ensurePermissions = {
+ "${cfg.database.name}.*" = "ALL PRIVILEGES";
+ # WriteFreely requires the use of passwords, so we need permissions
+ # to `ALTER` the user to add password support and also to reload
+ # permissions so they can be used.
+ "*.*" = "CREATE USER, RELOAD";
+ };
+ }];
+ };
+
+ services.nginx = lib.mkIf cfg.nginx.enable {
+ enable = true;
+ recommendedProxySettings = true;
+
+ virtualHosts."${cfg.host}" = {
+ enableACME = cfg.acme.enable;
+ forceSSL = cfg.nginx.forceSSL;
+
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:${toString settings.server.port}";
+ };
+ };
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/youtrack.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/youtrack.nix
index 789880d61f..0db8a98d1e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/youtrack.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/youtrack.nix
@@ -21,7 +21,7 @@ in
{
options.services.youtrack = {
- enable = mkEnableOption "YouTrack service";
+ enable = mkEnableOption (lib.mdDoc "YouTrack service");
address = mkOption {
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/zabbix.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
index c6ac809a73..0e43922f35 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
@@ -40,7 +40,7 @@ in
options.services = {
zabbixWeb = {
- enable = mkEnableOption "the Zabbix web interface";
+ enable = mkEnableOption (lib.mdDoc "the Zabbix web interface");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/agate.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/agate.nix
index 3f7b298fa9..9d635c64a4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/agate.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/agate.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.agate = {
- enable = mkEnableOption "Agate Server";
+ enable = mkEnableOption (lib.mdDoc "Agate Server");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
index a8c9fe2636..6b43d46fde 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -404,7 +404,7 @@ in
services.httpd = {
- enable = mkEnableOption "the Apache HTTP Server";
+ enable = mkEnableOption (lib.mdDoc "the Apache HTTP Server");
package = mkOption {
type = types.package;
@@ -445,11 +445,11 @@ in
{ name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
]
'';
- description = ''
+ description = lib.mdDoc ''
Additional Apache modules to be used. These can be
specified as a string in the case of modules distributed
with Apache, or as an attribute set specifying the
- name and path of the
+ {var}`name` and {var}`path` of the
module.
'';
};
@@ -484,14 +484,14 @@ in
user = mkOption {
type = types.str;
default = "wwwrun";
- description = ''
+ description = lib.mdDoc ''
User account under which httpd children processes run.
If you require the main httpd process to run as
- root add the following configuration:
-
+ `root` add the following configuration:
+ ```
systemd.services.httpd.serviceConfig.User = lib.mkForce "root";
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
index 4f84cad735..0d60d533c9 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
@@ -45,16 +45,14 @@ in
{ ip = "192.154.1.1"; port = 80; }
{ ip = "*"; port = 8080; }
];
- description = ''
+ description = lib.mdDoc ''
Listen addresses and ports for this virtual host.
-
-
- This option overrides addSSL, forceSSL and onlySSL.
-
-
- If you only want to set the addresses manually and not the ports, take a look at listenAddresses.
-
-
+
+ ::: {.note}
+ This option overrides `addSSL`, `forceSSL` and `onlySSL`.
+
+ If you only want to set the addresses manually and not the ports, take a look at `listenAddresses`.
+ :::
'';
};
@@ -118,12 +116,12 @@ in
useACMEHost = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
A host of an existing Let's Encrypt certificate to use.
This is useful if you have many subdomains and want to avoid hitting the
- rate limit.
- Alternately, you can generate a certificate through .
- Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using .
+ [rate limit](https://letsencrypt.org/docs/rate-limits).
+ Alternately, you can generate a certificate through {option}`enableACME`.
+ *Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using [](#opt-security.acme.certs).*
'';
};
@@ -202,14 +200,14 @@ in
file = "/home/eelco/some-file.png";
}
];
- description = ''
+ description = lib.mdDoc ''
This option provides a simple way to serve individual, static files.
-
- This option has been deprecated and will be removed in a future
- version of NixOS. You can achieve the same result by making use of
- the locations.<name>.alias option.
-
+ ::: {.note}
+ This option has been deprecated and will be removed in a future
+ version of NixOS. You can achieve the same result by making use of
+ the `locations..alias` option.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
index 7f6bc3c4a4..e364cb33be 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
@@ -52,33 +52,33 @@ in
# interface
options.services.caddy = {
- enable = mkEnableOption "Caddy web server";
+ enable = mkEnableOption (lib.mdDoc "Caddy web server");
user = mkOption {
default = "caddy";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
User account under which caddy runs.
-
- If left as the default value this user will automatically be created
- on system activation, otherwise you are responsible for
- ensuring the user exists before the Caddy service starts.
-
+ ::: {.note}
+ If left as the default value this user will automatically be created
+ on system activation, otherwise you are responsible for
+ ensuring the user exists before the Caddy service starts.
+ :::
'';
};
group = mkOption {
default = "caddy";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Group account under which caddy runs.
-
- If left as the default value this user will automatically be created
- on system activation, otherwise you are responsible for
- ensuring the user exists before the Caddy service starts.
-
+ ::: {.note}
+ If left as the default value this user will automatically be created
+ on system activation, otherwise you are responsible for
+ ensuring the user exists before the Caddy service starts.
+ :::
'';
};
@@ -94,34 +94,31 @@ in
dataDir = mkOption {
type = types.path;
default = "/var/lib/caddy";
- description = ''
+ description = lib.mdDoc ''
The data directory for caddy.
-
-
- If left as the default value this directory will automatically be created
- before the Caddy server starts, otherwise you are responsible for ensuring
- the directory exists with appropriate ownership and permissions.
-
-
- Caddy v2 replaced CADDYPATH with XDG directories.
- See .
-
-
+ ::: {.note}
+ If left as the default value this directory will automatically be created
+ before the Caddy server starts, otherwise you are responsible for ensuring
+ the directory exists with appropriate ownership and permissions.
+
+ Caddy v2 replaced `CADDYPATH` with XDG directories.
+ See .
+ :::
'';
};
logDir = mkOption {
type = types.path;
default = "/var/log/caddy";
- description = ''
+ description = lib.mdDoc ''
Directory for storing Caddy access logs.
-
- If left as the default value this directory will automatically be created
- before the Caddy server starts, otherwise the sysadmin is responsible for
- ensuring the directory exists with appropriate ownership and permissions.
-
+ ::: {.note}
+ If left as the default value this directory will automatically be created
+ before the Caddy server starts, otherwise the sysadmin is responsible for
+ ensuring the directory exists with appropriate ownership and permissions.
+ :::
'';
};
@@ -163,15 +160,15 @@ in
default = "caddyfile";
example = "nginx";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Name of the config adapter to use.
- See
+ See
for the full list.
-
- Any value other than caddyfile is only valid when
- providing your own .
-
+ ::: {.note}
+ Any value other than `caddyfile` is only valid when
+ providing your own {option}`configFile`.
+ :::
'';
};
@@ -308,7 +305,6 @@ in
StateDirectory = mkIf (cfg.dataDir == "/var/lib/caddy") [ "caddy" ];
LogsDirectory = mkIf (cfg.logDir == "/var/log/caddy") [ "caddy" ];
Restart = "on-abnormal";
- SupplementaryGroups = mkIf (length acmeVHosts != 0) [ "acme" ];
# TODO: attempt to upstream these options
NoNewPrivileges = true;
@@ -331,9 +327,12 @@ in
security.acme.certs =
let
- reloads = map (useACMEHost: nameValuePair useACMEHost { reloadServices = [ "caddy.service" ]; }) acmeHosts;
+ certCfg = map (useACMEHost: nameValuePair useACMEHost {
+ group = mkDefault cfg.group;
+ reloadServices = [ "caddy.service" ];
+ }) acmeHosts;
in
- listToAttrs reloads;
+ listToAttrs certCfg;
};
}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix
index ed4902b037..229b53efb4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix
@@ -33,16 +33,14 @@ in
useACMEHost = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
A host of an existing Let's Encrypt certificate to use.
This is mostly useful if you use DNS challenges but Caddy does not
currently support your provider.
- Note that this option does not create any certificates, nor
+ *Note that this option does not create any certificates, nor
does it add subdomains to existing ones – you will need to create them
- manually using . Additionally,
- you should probably add the caddy user to the
- acme group to grant access to the certificates.
+ manually using [](#opt-security.acme.certs).*
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix
index ca079ea005..1e3a7166bc 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix
@@ -15,7 +15,7 @@ let
in {
options.services.darkhttpd = with types; {
- enable = mkEnableOption "DarkHTTPd web server";
+ enable = mkEnableOption (lib.mdDoc "DarkHTTPd web server");
port = mkOption {
default = 80;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
index 78bae14055..6c8b3cda5f 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/hitch/default.nix
@@ -17,7 +17,7 @@ with lib;
{
options = {
services.hitch = {
- enable = mkEnableOption "Hitch Server";
+ enable = mkEnableOption (lib.mdDoc "Hitch Server");
backend = mkOption {
type = types.str;
@@ -36,9 +36,9 @@ with lib;
frontend = mkOption {
type = types.either types.str (types.listOf types.str);
default = "[127.0.0.1]:443";
- description = ''
+ description = lib.mdDoc ''
The port and interface of the listen endpoint in the
-+ form [HOST]:PORT[+CERT].
+ form [HOST]:PORT[+CERT].
'';
apply = toList;
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/hydron.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/hydron.nix
index 292493c4c7..4434965b21 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/hydron.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/hydron.nix
@@ -4,7 +4,7 @@ let
cfg = config.services.hydron;
in with lib; {
options.services.hydron = {
- enable = mkEnableOption "hydron";
+ enable = mkEnableOption (lib.mdDoc "hydron");
dataDir = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/keter/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/keter/default.nix
index 83e221add3..42ab6640b4 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/keter/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/keter/default.nix
@@ -8,22 +8,22 @@ in
};
options.services.keter = {
- enable = lib.mkEnableOption ''keter, a web app deployment manager.
+ enable = lib.mkEnableOption (lib.mdDoc ''keter, a web app deployment manager.
Note that this module only support loading of webapps:
Keep an old app running and swap the ports when the new one is booted.
-'';
+'');
keterRoot = lib.mkOption {
type = lib.types.str;
default = "/var/lib/keter";
- description = "Mutable state folder for keter";
+ description = lib.mdDoc "Mutable state folder for keter";
};
keterPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.haskellPackages.keter;
defaultText = lib.literalExpression "pkgs.haskellPackages.keter";
- description = "The keter package to be used";
+ description = lib.mdDoc "The keter package to be used";
};
globalKeterConfig = lib.mkOption {
@@ -47,31 +47,31 @@ Keep an old app running and swap the ports when the new one is booted.
}];
}
'';
- description = "Global config for keter";
+ description = lib.mdDoc "Global config for keter";
};
bundle = {
appName = lib.mkOption {
type = lib.types.str;
default = "myapp";
- description = "The name keter assigns to this bundle";
+ description = lib.mdDoc "The name keter assigns to this bundle";
};
executable = lib.mkOption {
type = lib.types.path;
- description = "The executable to be run";
+ description = lib.mdDoc "The executable to be run";
};
domain = lib.mkOption {
type = lib.types.str;
default = "example.com";
- description = "The domain keter will bind to";
+ description = lib.mdDoc "The domain keter will bind to";
};
publicScript = lib.mkOption {
type = lib.types.str;
default = "";
- description = ''
+ description = lib.mdDoc ''
Allows loading of public environment variables,
these are emitted to the log so it shouldn't contain secrets.
'';
@@ -81,7 +81,7 @@ Keep an old app running and swap the ports when the new one is booted.
secretScript = lib.mkOption {
type = lib.types.str;
default = "";
- description = "Allows loading of private environment variables";
+ description = lib.mdDoc "Allows loading of private environment variables";
example = "MY_AWS_KEY=$(cat /run/keys/AWS_ACCESS_KEY_ID)";
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/lighttpd/collectd.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/lighttpd/collectd.nix
index 270517a4e2..9a4285e3e2 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/lighttpd/collectd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/lighttpd/collectd.nix
@@ -25,13 +25,13 @@ in
options.services.lighttpd.collectd = {
- enable = mkEnableOption "collectd subservice accessible at http://yourserver/collectd";
+ enable = mkEnableOption (lib.mdDoc "collectd subservice accessible at http://yourserver/collectd");
collectionCgi = mkOption {
type = types.path;
default = defaultCollectionCgi;
- defaultText = literalDocBook ''
- config.${options.services.collectd.package} configured for lighttpd
+ defaultText = literalMD ''
+ `config.${options.services.collectd.package}` configured for lighttpd
'';
description = lib.mdDoc ''
Path to collection.cgi script from (collectd sources)/contrib/collection.cgi
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/mighttpd2.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/mighttpd2.nix
index 523b5de2d6..2d887af87c 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/mighttpd2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/mighttpd2.nix
@@ -8,7 +8,7 @@ let
routingFile = pkgs.writeText "mighty-routing" cfg.routing;
in {
options.services.mighttpd2 = {
- enable = mkEnableOption "Mighttpd2 web server";
+ enable = mkEnableOption (lib.mdDoc "Mighttpd2 web server");
config = mkOption {
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
index 60e3068521..1a9eacb431 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
@@ -14,7 +14,7 @@ in
meta.maintainers = [ maintainers.bachp ];
options.services.minio = {
- enable = mkEnableOption "Minio Object Storage";
+ enable = mkEnableOption (lib.mdDoc "Minio Object Storage");
listenAddress = mkOption {
default = ":9000";
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/molly-brown.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/molly-brown.nix
index 31a2e856db..6d7ca0c12e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/molly-brown.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/molly-brown.nix
@@ -10,7 +10,7 @@ in {
options.services.molly-brown = {
- enable = mkEnableOption "Molly-Brown Gemini server";
+ enable = mkEnableOption (lib.mdDoc "Molly-Brown Gemini server");
port = mkOption {
default = 1965;
@@ -34,16 +34,16 @@ in {
certPath = mkOption {
type = types.path;
example = "/var/lib/acme/example.com/cert.pem";
- description = ''
+ description = lib.mdDoc ''
Path to TLS certificate. An ACME certificate and key may be
shared with an HTTP server, but only if molly-brown has
permissions allowing it to read such keys.
As an example:
-
+ ```
systemd.services.molly-brown.serviceConfig.SupplementaryGroups =
[ config.security.acme.certs."example.com".group ];
-
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index 0c4b2246a1..aa782b4267 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -385,7 +385,7 @@ in
{
options = {
services.nginx = {
- enable = mkEnableOption "Nginx Web Server";
+ enable = mkEnableOption (lib.mdDoc "Nginx Web Server");
statusPage = mkOption {
default = false;
@@ -499,21 +499,16 @@ in
config = mkOption {
type = types.str;
default = "";
- description = ''
- Verbatim nginx.conf configuration.
+ description = lib.mdDoc ''
+ Verbatim {file}`nginx.conf` configuration.
This is mutually exclusive to any other config option for
- nginx.conf except for
-
-
-
-
-
-
-
-
+ {file}`nginx.conf` except for
+ - [](#opt-services.nginx.appendConfig)
+ - [](#opt-services.nginx.httpConfig)
+ - [](#opt-services.nginx.logError)
If additional verbatim config in addition to other options is needed,
- should be used instead.
+ [](#opt-services.nginx.appendConfig) should be used instead.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 96006f8875..ccf8804943 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -75,12 +75,12 @@ with lib;
useACMEHost = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
+ description = lib.mdDoc ''
A host of an existing Let's Encrypt certificate to use.
This is useful if you have many subdomains and want to avoid hitting the
- rate limit.
- Alternately, you can generate a certificate through .
- Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using .
+ [rate limit](https://letsencrypt.org/docs/rate-limits).
+ Alternately, you can generate a certificate through {option}`enableACME`.
+ *Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using [](#opt-security.acme.certs).*
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
index e24c77d056..0bd1d5b29b 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -40,9 +40,12 @@ let
socket = mkOption {
type = types.str;
readOnly = true;
- description = ''
+ description = lib.mdDoc ''
Path to the unix socket file on which to accept FastCGI requests.
- This option is read-only and managed by NixOS.
+
+ ::: {.note}
+ This option is read-only and managed by NixOS.
+ :::
'';
example = "${runtimeDir}/.sock";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix
index 209de55e36..90748f74d2 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix
@@ -7,7 +7,7 @@ let
in
{
options.services.pomerium = {
- enable = mkEnableOption "the Pomerium authenticating reverse proxy";
+ enable = mkEnableOption (lib.mdDoc "the Pomerium authenticating reverse proxy");
configFile = mkOption {
type = with types; nullOr path;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/tomcat.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
index 95c307dba6..d8bfee547c 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/tomcat.nix
@@ -19,7 +19,7 @@ in
options = {
services.tomcat = {
- enable = mkEnableOption "Apache Tomcat";
+ enable = mkEnableOption (lib.mdDoc "Apache Tomcat");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/traefik.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/traefik.nix
index abef963201..9e5603e0ed 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/traefik.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/traefik.nix
@@ -50,7 +50,7 @@ let
cfg.staticConfigFile;
in {
options.services.traefik = {
- enable = mkEnableOption "Traefik web server";
+ enable = mkEnableOption (lib.mdDoc "Traefik web server");
staticConfigFile = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/trafficserver/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/trafficserver/default.nix
index beb5e437c5..17dece8746 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/trafficserver/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/trafficserver/default.nix
@@ -33,7 +33,7 @@ let
in
{
options.services.trafficserver = {
- enable = mkEnableOption "Apache Traffic Server";
+ enable = mkEnableOption (lib.mdDoc "Apache Traffic Server");
cache = mkOption {
type = types.lines;
@@ -62,7 +62,7 @@ in
ipAllow = mkOption {
type = types.nullOr yaml.type;
default = lib.importJSON ./ip_allow.json;
- defaultText = literalDocBook "upstream defaults";
+ defaultText = literalMD "upstream defaults";
example = literalExpression ''
{
ip_allow = [{
@@ -85,7 +85,7 @@ in
logging = mkOption {
type = types.nullOr yaml.type;
default = lib.importJSON ./logging.json;
- defaultText = literalDocBook "upstream defaults";
+ defaultText = literalMD "upstream defaults";
example = { };
description = lib.mdDoc ''
Configure logs.
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/ttyd.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
index 0c47d9583c..affd5bbeea 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
@@ -30,7 +30,7 @@ in
options = {
services.ttyd = {
- enable = mkEnableOption "ttyd daemon";
+ enable = mkEnableOption (lib.mdDoc "ttyd daemon");
port = mkOption {
type = types.port;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/unit/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
index 5ad4a240be..0aaac8a14e 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/unit/default.nix
@@ -10,7 +10,7 @@ let
in {
options = {
services.unit = {
- enable = mkEnableOption "Unit App Server";
+ enable = mkEnableOption (lib.mdDoc "Unit App Server");
package = mkOption {
type = types.package;
default = pkgs.unit;
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
index af6c6c0661..510582feaa 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
@@ -167,22 +167,20 @@ in {
"CAP_NET_RAW" # open raw sockets
]
'';
- description = ''
+ description = lib.mdDoc ''
Grant capabilities to the uWSGI instance. See the
- capabilities(7) for available values.
-
-
- uWSGI runs as an unprivileged user (even as Emperor) with the minimal
- capabilities required. This option can be used to add fine-grained
- permissions without running the service as root.
-
-
- When in Emperor mode, any capability to be inherited by a vassal must
- be specified again in the vassal configuration using cap.
- See the uWSGI docs
- for more information.
-
-
+ `capabilities(7)` for available values.
+
+ ::: {.note}
+ uWSGI runs as an unprivileged user (even as Emperor) with the minimal
+ capabilities required. This option can be used to add fine-grained
+ permissions without running the service as root.
+
+ When in Emperor mode, any capability to be inherited by a vassal must
+ be specified again in the vassal configuration using `cap`.
+ See the uWSGI [docs](https://uwsgi-docs.readthedocs.io/en/latest/Capabilities.html)
+ for more information.
+ :::
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
index c812c36642..e34c22d286 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/varnish/default.nix
@@ -11,9 +11,9 @@ in
{
options = {
services.varnish = {
- enable = mkEnableOption "Varnish Server";
+ enable = mkEnableOption (lib.mdDoc "Varnish Server");
- enableConfigCheck = mkEnableOption "checking the config during build time" // { default = true; };
+ enableConfigCheck = mkEnableOption (lib.mdDoc "checking the config during build time") // { default = true; };
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/colord.nix b/third_party/nixpkgs/nixos/modules/services/x11/colord.nix
index 31ccee6aa3..cb7b9096e5 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/colord.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/colord.nix
@@ -11,7 +11,7 @@ in {
options = {
services.colord = {
- enable = mkEnableOption "colord, the color management daemon";
+ enable = mkEnableOption (lib.mdDoc "colord, the color management daemon");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix
index 05cf011f62..e0b4fb0e7b 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cde.nix
@@ -7,7 +7,7 @@ let
cfg = xcfg.desktopManager.cde;
in {
options.services.xserver.desktopManager.cde = {
- enable = mkEnableOption "Common Desktop Environment";
+ enable = mkEnableOption (lib.mdDoc "Common Desktop Environment");
extraPackages = mkOption {
type = with types; listOf package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index a8e0bf9ddd..3d79a3b851 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -17,11 +17,11 @@ in
{
options = {
services.cinnamon = {
- apps.enable = mkEnableOption "Cinnamon default applications";
+ apps.enable = mkEnableOption (lib.mdDoc "Cinnamon default applications");
};
services.xserver.desktopManager.cinnamon = {
- enable = mkEnableOption "the cinnamon desktop manager";
+ enable = mkEnableOption (lib.mdDoc "the cinnamon desktop manager");
sessionPath = mkOption {
default = [];
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
index a0fc3e4b5a..510561246a 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
@@ -64,10 +64,10 @@ in
bgSupport = true;
start = "...";
};
- description = ''
+ description = lib.mdDoc ''
Internal option used to add some common line to desktop manager
scripts before forwarding the value to the
- displayManager.
+ `displayManager`.
'';
apply = map (d: d // {
manage = "desktop";
@@ -86,8 +86,8 @@ in
type = types.nullOr types.str;
default = null;
example = "none";
- description = ''
- Deprecated, please use instead.
+ description = lib.mdDoc ''
+ **Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead.
Default desktop manager loaded if none have been chosen.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
index b69102f046..7bb7ef27ed 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -165,11 +165,11 @@ in
options = {
services.gnome = {
- core-os-services.enable = mkEnableOption "essential services for GNOME3";
- core-shell.enable = mkEnableOption "GNOME Shell services";
- core-utilities.enable = mkEnableOption "GNOME core utilities";
- core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
- games.enable = mkEnableOption "GNOME games";
+ core-os-services.enable = mkEnableOption (lib.mdDoc "essential services for GNOME3");
+ core-shell.enable = mkEnableOption (lib.mdDoc "GNOME Shell services");
+ core-utilities.enable = mkEnableOption (lib.mdDoc "GNOME core utilities");
+ core-developer-tools.enable = mkEnableOption (lib.mdDoc "GNOME core developer tools");
+ games.enable = mkEnableOption (lib.mdDoc "GNOME games");
};
services.xserver.desktopManager.gnome = {
@@ -201,7 +201,7 @@ in
favorite-apps=[ 'firefox.desktop', 'org.gnome.Calendar.desktop' ]
'''
'';
- description = "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally.";
+ description = lib.mdDoc "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally.";
};
extraGSettingsOverrides = mkOption {
@@ -216,10 +216,10 @@ in
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
- debug = mkEnableOption "gnome-session debug messages";
+ debug = mkEnableOption (lib.mdDoc "gnome-session debug messages");
flashback = {
- enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity";
+ enableMetacity = mkEnableOption (lib.mdDoc "the standard GNOME Flashback session with Metacity");
customSessions = mkOption {
type = types.listOf (types.submodule {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
index 1ca47313ad..c93f120bed 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -19,7 +19,7 @@ in
description = lib.mdDoc "Enable the MATE desktop environment";
};
- debug = mkEnableOption "mate-session debug messages";
+ debug = mkEnableOption (lib.mdDoc "mate-session debug messages");
};
environment.mate.excludePackages = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 94de7f4dd7..90a8787ed2 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -26,10 +26,10 @@ in
services.pantheon = {
contractor = {
- enable = mkEnableOption "contractor, a desktop-wide extension service used by Pantheon";
+ enable = mkEnableOption (lib.mdDoc "contractor, a desktop-wide extension service used by Pantheon");
};
- apps.enable = mkEnableOption "Pantheon default applications";
+ apps.enable = mkEnableOption (lib.mdDoc "Pantheon default applications");
};
@@ -76,7 +76,7 @@ in
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
- debug = mkEnableOption "gnome-session debug messages";
+ debug = mkEnableOption (lib.mdDoc "gnome-session debug messages");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/phosh.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/phosh.nix
index 2f670d3492..e889c0e34e 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/phosh.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/phosh.nix
@@ -33,14 +33,14 @@ let
default = "false";
};
cursorTheme = mkOption {
- description = ''
+ description = lib.mdDoc ''
Cursor theme to use in Phosh.
'';
type = types.str;
default = "default";
};
outputs = mkOption {
- description = ''
+ description = lib.mdDoc ''
Output configurations.
'';
type = types.attrsOf phocOutputType;
@@ -56,7 +56,7 @@ let
phocOutputType = types.submodule {
options = {
modeline = mkOption {
- description = ''
+ description = lib.mdDoc ''
One or more modelines.
'';
type = types.either types.str (types.listOf types.str);
@@ -67,7 +67,7 @@ let
];
};
mode = mkOption {
- description = ''
+ description = lib.mdDoc ''
Default video mode.
'';
type = types.nullOr types.str;
@@ -75,7 +75,7 @@ let
example = "768x1024";
};
scale = mkOption {
- description = ''
+ description = lib.mdDoc ''
Display scaling factor.
'';
type = types.nullOr (
@@ -89,7 +89,7 @@ let
example = 2;
};
rotate = mkOption {
- description = ''
+ description = lib.mdDoc ''
Screen transformation.
'';
type = types.enum [
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix
index c5504e5149..5552f37612 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix
@@ -6,7 +6,7 @@ let cfg = config.services.xserver.desktopManager.retroarch;
in {
options.services.xserver.desktopManager.retroarch = {
- enable = mkEnableOption "RetroArch";
+ enable = mkEnableOption (lib.mdDoc "RetroArch");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
index 7d2ad5a3f2..38ebb9d02b 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/surf-display.nix
@@ -45,7 +45,7 @@ let
in {
options = {
services.xserver.desktopManager.surf-display = {
- enable = mkEnableOption "surf-display as a kiosk browser session";
+ enable = mkEnableOption (lib.mdDoc "surf-display as a kiosk browser session");
defaultWwwUri = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/default.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
index 03bf5d1cd2..995ecd231c 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
@@ -24,7 +24,7 @@ let
Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter}
Xft.hinting: ${if fontconfig.hinting.enable then "1" else "0"}
Xft.autohint: ${if fontconfig.hinting.autohint then "1" else "0"}
- Xft.hintstyle: hintslight
+ Xft.hintstyle: ${fontconfig.hinting.style}
'';
# file provided by services.xserver.displayManager.sessionData.wrapper
@@ -153,7 +153,7 @@ in
internal = true;
default = "${xorg.xauth}/bin/xauth";
defaultText = literalExpression ''"''${pkgs.xorg.xauth}/bin/xauth"'';
- description = "Path to the xauth program used by display managers.";
+ description = lib.mdDoc "Path to the {command}`xauth` program used by display managers.";
};
xserverBin = mkOption {
@@ -235,15 +235,15 @@ in
}
]
'';
- description = ''
+ description = lib.mdDoc ''
List of sessions supported with the command used to start each
session. Each session script can set the
- waitPID shell variable to make this script
+ {var}`waitPID` shell variable to make this script
wait until the end of the user session. Each script is used
to define either a window manager or a desktop manager. These
can be differentiated by setting the attribute
- manage either to "window"
- or "desktop".
+ {var}`manage` either to `"window"`
+ or `"desktop"`.
The list of desktop manager and window manager should appear
inside the display manager with the desktop manager name
@@ -252,7 +252,7 @@ in
};
sessionData = mkOption {
- description = "Data exported for display managers’ convenience";
+ description = lib.mdDoc "Data exported for display managers’ convenience";
internal = true;
default = {};
apply = val: {
@@ -285,7 +285,7 @@ in
defaultSessionFromLegacyOptions
else
null;
- defaultText = literalDocBook ''
+ defaultText = literalMD ''
Taken from display manager settings or window manager settings, if either is set.
'';
example = "gnome";
@@ -299,7 +299,7 @@ in
importedVariables = mkOption {
type = types.listOf (types.strMatching "[a-zA-Z_][a-zA-Z0-9_]*");
visible = false;
- description = ''
+ description = lib.mdDoc ''
Environment variables to import into the systemd user environment.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index 025d572957..1c3881bef2 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -67,9 +67,9 @@ in
services.xserver.displayManager.gdm = {
- enable = mkEnableOption "GDM, the GNOME Display Manager";
+ enable = mkEnableOption (lib.mdDoc "GDM, the GNOME Display Manager");
- debug = mkEnableOption "debugging messages in GDM";
+ debug = mkEnableOption (lib.mdDoc "debugging messages in GDM");
# Auto login options specific to GDM
autoLogin.delay = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix
index d9d15522c9..00fa8af71d 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix
@@ -25,7 +25,7 @@ in
{
options = {
services.xserver.displayManager.lightdm.greeters.slick = {
- enable = mkEnableOption "lightdm-slick-greeter as the lightdm greeter";
+ enable = mkEnableOption (lib.mdDoc "lightdm-slick-greeter as the lightdm greeter");
theme = {
package = mkOption {
@@ -84,7 +84,7 @@ in
};
};
- draw-user-backgrounds = mkEnableOption "draw user backgrounds";
+ draw-user-backgrounds = mkEnableOption (lib.mdDoc "draw user backgrounds");
extraConfig = mkOption {
type = types.lines;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
index 1d557fb5f3..b0508c3b4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -311,7 +311,6 @@ in
home = "/var/lib/lightdm";
group = "lightdm";
uid = config.ids.uids.lightdm;
- shell = pkgs.bash;
};
systemd.tmpfiles.rules = [
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix
index e309773643..6a7fc1a040 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix
@@ -7,8 +7,8 @@ let cfg = config.services.xserver.displayManager.sx;
in {
options = {
services.xserver.displayManager.sx = {
- enable = mkEnableOption "sx pseudo-display manager" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "sx pseudo-display manager") // {
+ description = lib.mdDoc ''
Whether to enable the "sx" pseudo-display manager, which allows users
to start manually via the "sx" command from a vt shell. The X server
runs under the user's id, not as root. The user must provide a
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/xpra.nix b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/xpra.nix
index 15b3f70d46..cb78f52d9b 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/display-managers/xpra.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/display-managers/xpra.nix
@@ -40,7 +40,7 @@ in
description = lib.mdDoc "Authentication to use when connecting to xpra";
};
- pulseaudio = mkEnableOption "pulseaudio audio streaming";
+ pulseaudio = mkEnableOption (lib.mdDoc "pulseaudio audio streaming");
extraOptions = mkOption {
description = lib.mdDoc "Extra xpra options";
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix b/third_party/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix
index b1b1682f00..f82aac41a3 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/hardware/digimend.nix
@@ -16,7 +16,7 @@ in
services.xserver.digimend = {
- enable = mkEnableOption "the digimend drivers for Huion/XP-Pen/etc. tablets";
+ enable = mkEnableOption (lib.mdDoc "the digimend drivers for Huion/XP-Pen/etc. tablets");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix b/third_party/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
index 6603498eea..8eb11e281d 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/hardware/libinput.nix
@@ -250,7 +250,7 @@ in {
options = {
services.xserver.libinput = {
- enable = mkEnableOption "libinput";
+ enable = mkEnableOption (lib.mdDoc "libinput");
mouse = mkConfigForDevice "mouse";
touchpad = mkConfigForDevice "touchpad";
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/imwheel.nix b/third_party/nixpkgs/nixos/modules/services/x11/imwheel.nix
index 9f4fc7e90c..03cbdbfb09 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/imwheel.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/imwheel.nix
@@ -6,7 +6,7 @@ in
{
options = {
services.xserver.imwheel = {
- enable = mkEnableOption "IMWheel service";
+ enable = mkEnableOption (lib.mdDoc "IMWheel service");
extraOptions = mkOption {
type = types.listOf types.str;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/touchegg.nix b/third_party/nixpkgs/nixos/modules/services/x11/touchegg.nix
index 905e8521cf..f1103c054c 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/touchegg.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/touchegg.nix
@@ -11,7 +11,7 @@ in {
###### interface
options.services.touchegg = {
- enable = mkEnableOption "touchegg, a multi-touch gesture recognizer";
+ enable = mkEnableOption (lib.mdDoc "touchegg, a multi-touch gesture recognizer");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/urserver.nix b/third_party/nixpkgs/nixos/modules/services/x11/urserver.nix
index 0beb62eb76..d0b6e0775e 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/urserver.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/urserver.nix
@@ -5,7 +5,7 @@ let
cfg = config.services.urserver;
in {
- options.services.urserver.enable = lib.mkEnableOption "urserver";
+ options.services.urserver.enable = lib.mkEnableOption (lib.mdDoc "urserver");
config = lib.mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/2bwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/2bwm.nix
index fdbdf35b0f..8483a74b9f 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/2bwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/2bwm.nix
@@ -13,7 +13,7 @@ in
###### interface
options = {
- services.xserver.windowManager."2bwm".enable = mkEnableOption "2bwm";
+ services.xserver.windowManager."2bwm".enable = mkEnableOption (lib.mdDoc "2bwm");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/afterstep.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/afterstep.nix
index ba88a64c70..a060635979 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/afterstep.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/afterstep.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.afterstep.enable = mkEnableOption "afterstep";
+ services.xserver.windowManager.afterstep.enable = mkEnableOption (lib.mdDoc "afterstep");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
index 8db7d86c72..c1231d3fbf 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.xserver.windowManager.awesome;
awesome = cfg.package;
- getLuaPath = lib : dir : "${lib}/${dir}/lua/${pkgs.luaPackages.lua.luaversion}";
+ getLuaPath = lib: dir: "${lib}/${dir}/lua/${awesome.lua.luaversion}";
makeSearchPath = lib.concatMapStrings (path:
" --search " + (getLuaPath path "share") +
" --search " + (getLuaPath path "lib")
@@ -21,7 +21,7 @@ in
services.xserver.windowManager.awesome = {
- enable = mkEnableOption "Awesome window manager";
+ enable = mkEnableOption (lib.mdDoc "Awesome window manager");
luaModules = mkOption {
default = [];
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/berry.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/berry.nix
index 0d2285e7a6..eb55286026 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/berry.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/berry.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.berry.enable = mkEnableOption "berry";
+ services.xserver.windowManager.berry.enable = mkEnableOption (lib.mdDoc "berry");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/bspwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/bspwm.nix
index 4fcd2b7c72..c403f744cd 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/bspwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/bspwm.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.xserver.windowManager.bspwm = {
- enable = mkEnableOption "bspwm";
+ enable = mkEnableOption (lib.mdDoc "bspwm");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
index cf8eec249c..f2e4c2f91c 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.xserver.windowManager.clfswm = {
- enable = mkEnableOption "clfswm";
+ enable = mkEnableOption (lib.mdDoc "clfswm");
package = mkOption {
type = types.package;
default = pkgs.lispPackages.clfswm;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix
index 03375a226b..9a143e7bcc 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/cwm.nix
@@ -7,7 +7,7 @@ let
in
{
options = {
- services.xserver.windowManager.cwm.enable = mkEnableOption "cwm";
+ services.xserver.windowManager.cwm.enable = mkEnableOption (lib.mdDoc "cwm");
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/default.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
index 52083dcaaa..36d5b3c815 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
@@ -59,10 +59,10 @@ in
name = "wmii";
start = "...";
}];
- description = ''
+ description = lib.mdDoc ''
Internal option used to add some common line to window manager
scripts before forwarding the value to the
- displayManager.
+ `displayManager`.
'';
apply = map (d: d // {
manage = "window";
@@ -73,8 +73,8 @@ in
type = types.nullOr types.str;
default = null;
example = "wmii";
- description = ''
- Deprecated, please use instead.
+ description = lib.mdDoc ''
+ **Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead.
Default window manager loaded if none have been chosen.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/dwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/dwm.nix
index 7777913ce1..2dac41dbe9 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/dwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/dwm.nix
@@ -13,7 +13,7 @@ in
###### interface
options = {
- services.xserver.windowManager.dwm.enable = mkEnableOption "dwm";
+ services.xserver.windowManager.dwm.enable = mkEnableOption (lib.mdDoc "dwm");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/e16.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/e16.nix
index 3e1a22c4da..000feea12c 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/e16.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/e16.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.e16.enable = mkEnableOption "e16";
+ services.xserver.windowManager.e16.enable = mkEnableOption (lib.mdDoc "e16");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/evilwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/evilwm.nix
index 6f1db2110f..842f84c2cf 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/evilwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/evilwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.evilwm.enable = mkEnableOption "evilwm";
+ services.xserver.windowManager.evilwm.enable = mkEnableOption (lib.mdDoc "evilwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/exwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/exwm.nix
index 5b0a15804e..a97ed74ae8 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/exwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/exwm.nix
@@ -18,7 +18,7 @@ in
{
options = {
services.xserver.windowManager.exwm = {
- enable = mkEnableOption "exwm";
+ enable = mkEnableOption (lib.mdDoc "exwm");
loadScript = mkOption {
default = "(require 'exwm)";
type = types.lines;
@@ -48,10 +48,10 @@ in
epkgs.proofgeneral
]
'';
- description = ''
+ description = lib.mdDoc ''
Extra packages available to Emacs. The value must be a
function which receives the attrset defined in
- emacs.pkgs as the sole argument.
+ {var}`emacs.pkgs` as the sole argument.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fluxbox.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fluxbox.nix
index b409335702..24165fb6fb 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fluxbox.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fluxbox.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.fluxbox.enable = mkEnableOption "fluxbox";
+ services.xserver.windowManager.fluxbox.enable = mkEnableOption (lib.mdDoc "fluxbox");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix
index b5ef36f58d..aaf3c5c469 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix
@@ -19,7 +19,7 @@ in
options = {
services.xserver.windowManager.fvwm2 = {
- enable = mkEnableOption "Fvwm2 window manager";
+ enable = mkEnableOption (lib.mdDoc "Fvwm2 window manager");
gestures = mkOption {
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm3.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm3.nix
index 43111f917d..50c76b67ee 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm3.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/fvwm3.nix
@@ -13,7 +13,7 @@ in
options = {
services.xserver.windowManager.fvwm3 = {
- enable = mkEnableOption "Fvwm3 window manager";
+ enable = mkEnableOption (lib.mdDoc "Fvwm3 window manager");
};
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/hackedbox.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/hackedbox.nix
index 641cf1bdcb..61e911961f 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/hackedbox.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/hackedbox.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.hackedbox.enable = mkEnableOption "hackedbox";
+ services.xserver.windowManager.hackedbox.enable = mkEnableOption (lib.mdDoc "hackedbox");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/herbstluftwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/herbstluftwm.nix
index af077c4d22..816cbb36ca 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/herbstluftwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/herbstluftwm.nix
@@ -9,7 +9,7 @@ in
{
options = {
services.xserver.windowManager.herbstluftwm = {
- enable = mkEnableOption "herbstluftwm";
+ enable = mkEnableOption (lib.mdDoc "herbstluftwm");
package = mkOption {
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/i3.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/i3.nix
index 87479f2ac4..64109e0c39 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/i3.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/i3.nix
@@ -8,7 +8,7 @@ in
{
options.services.xserver.windowManager.i3 = {
- enable = mkEnableOption "i3 window manager";
+ enable = mkEnableOption (lib.mdDoc "i3 window manager");
configFile = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
index f4ae9222df..48741aa41d 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.icewm.enable = mkEnableOption "icewm";
+ services.xserver.windowManager.icewm.enable = mkEnableOption (lib.mdDoc "icewm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/jwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/jwm.nix
index 0e8dab2e92..40758029bc 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/jwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/jwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.jwm.enable = mkEnableOption "jwm";
+ services.xserver.windowManager.jwm.enable = mkEnableOption (lib.mdDoc "jwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/leftwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/leftwm.nix
index 3ef40df95d..2571735ba8 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/leftwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/leftwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.leftwm.enable = mkEnableOption "leftwm";
+ services.xserver.windowManager.leftwm.enable = mkEnableOption (lib.mdDoc "leftwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/lwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/lwm.nix
index e2aa062fd1..517abb23d4 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/lwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/lwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.lwm.enable = mkEnableOption "lwm";
+ services.xserver.windowManager.lwm.enable = mkEnableOption (lib.mdDoc "lwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/metacity.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/metacity.nix
index 600afe759b..1f69147af5 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/metacity.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/metacity.nix
@@ -10,7 +10,7 @@ in
{
options = {
- services.xserver.windowManager.metacity.enable = mkEnableOption "metacity";
+ services.xserver.windowManager.metacity.enable = mkEnableOption (lib.mdDoc "metacity");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix
index 0ee1d7b097..fe0433c24b 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix
@@ -8,7 +8,7 @@ in
{
options.services.xserver.windowManager.mlvwm = {
- enable = mkEnableOption "Macintosh-like Virtual Window Manager";
+ enable = mkEnableOption (lib.mdDoc "Macintosh-like Virtual Window Manager");
configFile = mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mwm.nix
index 31f7b725f7..9f8dc0939e 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/mwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.mwm.enable = mkEnableOption "mwm";
+ services.xserver.windowManager.mwm.enable = mkEnableOption (lib.mdDoc "mwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/notion.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/notion.nix
index 4ece0d241c..0015e90a41 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/notion.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/notion.nix
@@ -8,7 +8,7 @@ in
{
options = {
- services.xserver.windowManager.notion.enable = mkEnableOption "notion";
+ services.xserver.windowManager.notion.enable = mkEnableOption (lib.mdDoc "notion");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/openbox.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/openbox.nix
index 165772d1aa..bf5a500f43 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/openbox.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/openbox.nix
@@ -7,7 +7,7 @@ in
{
options = {
- services.xserver.windowManager.openbox.enable = mkEnableOption "openbox";
+ services.xserver.windowManager.openbox.enable = mkEnableOption (lib.mdDoc "openbox");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/oroborus.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/oroborus.nix
index bd7e339686..654b8708e4 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/oroborus.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/oroborus.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.oroborus.enable = mkEnableOption "oroborus";
+ services.xserver.windowManager.oroborus.enable = mkEnableOption (lib.mdDoc "oroborus");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/pekwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/pekwm.nix
index 850335ce7d..8818f56864 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/pekwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/pekwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.pekwm.enable = mkEnableOption "pekwm";
+ services.xserver.windowManager.pekwm.enable = mkEnableOption (lib.mdDoc "pekwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
index 4d455fdf7b..523642591d 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
@@ -8,7 +8,7 @@ in
{
options.services.xserver.windowManager.qtile = {
- enable = mkEnableOption "qtile";
+ enable = mkEnableOption (lib.mdDoc "qtile");
package = mkPackageOption pkgs "qtile" { };
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/ratpoison.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/ratpoison.nix
index 0d58481d45..1de0fad3e5 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/ratpoison.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/ratpoison.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.ratpoison.enable = mkEnableOption "ratpoison";
+ services.xserver.windowManager.ratpoison.enable = mkEnableOption (lib.mdDoc "ratpoison");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/sawfish.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/sawfish.nix
index b988b5e182..1945a1af67 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/sawfish.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/sawfish.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.sawfish.enable = mkEnableOption "sawfish";
+ services.xserver.windowManager.sawfish.enable = mkEnableOption (lib.mdDoc "sawfish");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/smallwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/smallwm.nix
index 091ba4f92b..e92b18690d 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/smallwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/smallwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.smallwm.enable = mkEnableOption "smallwm";
+ services.xserver.windowManager.smallwm.enable = mkEnableOption (lib.mdDoc "smallwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/spectrwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/spectrwm.nix
index a1dc298d24..c464803a0b 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/spectrwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/spectrwm.nix
@@ -9,7 +9,7 @@ in
{
options = {
- services.xserver.windowManager.spectrwm.enable = mkEnableOption "spectrwm";
+ services.xserver.windowManager.spectrwm.enable = mkEnableOption (lib.mdDoc "spectrwm");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/stumpwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/stumpwm.nix
index 27a1717847..162af689db 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/stumpwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/stumpwm.nix
@@ -8,7 +8,7 @@ in
{
options = {
- services.xserver.windowManager.stumpwm.enable = mkEnableOption "stumpwm";
+ services.xserver.windowManager.stumpwm.enable = mkEnableOption (lib.mdDoc "stumpwm");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/tinywm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/tinywm.nix
index 8e5d9b9170..7418a6ddc7 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/tinywm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/tinywm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.tinywm.enable = mkEnableOption "tinywm";
+ services.xserver.windowManager.tinywm.enable = mkEnableOption (lib.mdDoc "tinywm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/twm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/twm.nix
index fc09901aae..231817a26e 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/twm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/twm.nix
@@ -13,7 +13,7 @@ in
###### interface
options = {
- services.xserver.windowManager.twm.enable = mkEnableOption "twm";
+ services.xserver.windowManager.twm.enable = mkEnableOption (lib.mdDoc "twm");
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowlab.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowlab.nix
index fb891a39fa..9a0646b6ee 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowlab.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowlab.nix
@@ -7,7 +7,7 @@ in
{
options = {
services.xserver.windowManager.windowlab.enable =
- lib.mkEnableOption "windowlab";
+ lib.mkEnableOption (lib.mdDoc "windowlab");
};
config = lib.mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowmaker.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowmaker.nix
index b627237580..a679e2b5bc 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowmaker.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/windowmaker.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.windowmaker.enable = mkEnableOption "windowmaker";
+ services.xserver.windowManager.windowmaker.enable = mkEnableOption (lib.mdDoc "windowmaker");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmderland.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmderland.nix
index 835c1b3028..ed515741f6 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmderland.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmderland.nix
@@ -8,7 +8,7 @@ in
{
options.services.xserver.windowManager.wmderland = {
- enable = mkEnableOption "wmderland";
+ enable = mkEnableOption (lib.mdDoc "wmderland");
extraSessionCommands = mkOption {
default = "";
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmii.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmii.nix
index 9b50a99bf2..090aa31610 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmii.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/wmii.nix
@@ -7,7 +7,7 @@ let
in
{
options = {
- services.xserver.windowManager.wmii.enable = mkEnableOption "wmii";
+ services.xserver.windowManager.wmii.enable = mkEnableOption (lib.mdDoc "wmii");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
index f616802acc..de5996448c 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -41,18 +41,18 @@ in {
options = {
services.xserver.windowManager.xmonad = {
- enable = mkEnableOption "xmonad";
+ enable = mkEnableOption (lib.mdDoc "xmonad");
haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = literalExpression "pkgs.haskellPackages";
example = literalExpression "pkgs.haskell.packages.ghc8107";
type = types.attrs;
- description = ''
+ description = lib.mdDoc ''
haskellPackages used to build Xmonad and other packages.
This can be used to change the GHC version used to build
Xmonad and the packages listed in
- extraPackages.
+ {var}`extraPackages`.
'';
};
@@ -66,10 +66,10 @@ in {
haskellPackages.monad-logger
]
'';
- description = ''
+ description = lib.mdDoc ''
Extra packages available to ghc when rebuilding Xmonad. The
value must be a function which receives the attrset defined
- in haskellPackages as the sole argument.
+ in {var}`haskellPackages` as the sole argument.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/yeahwm.nix b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/yeahwm.nix
index 351bd7dfe4..9b40cecace 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/window-managers/yeahwm.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/window-managers/yeahwm.nix
@@ -8,7 +8,7 @@ in
{
###### interface
options = {
- services.xserver.windowManager.yeahwm.enable = mkEnableOption "yeahwm";
+ services.xserver.windowManager.yeahwm.enable = mkEnableOption (lib.mdDoc "yeahwm");
};
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/xautolock.nix b/third_party/nixpkgs/nixos/modules/services/x11/xautolock.nix
index ca3909d7b8..8200057660 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/xautolock.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/xautolock.nix
@@ -8,9 +8,9 @@ in
{
options = {
services.xserver.xautolock = {
- enable = mkEnableOption "xautolock";
- enableNotifier = mkEnableOption "xautolock.notify" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "xautolock");
+ enableNotifier = mkEnableOption (lib.mdDoc "xautolock.notify") // {
+ description = lib.mdDoc ''
Whether to enable the notifier feature of xautolock.
This publishes a notification before the autolock.
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/xbanish.nix b/third_party/nixpkgs/nixos/modules/services/x11/xbanish.nix
index f494f2054a..de893fae75 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/xbanish.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/xbanish.nix
@@ -7,7 +7,7 @@ let cfg = config.services.xbanish;
in {
options.services.xbanish = {
- enable = mkEnableOption "xbanish";
+ enable = mkEnableOption (lib.mdDoc "xbanish");
arguments = mkOption {
description = lib.mdDoc "Arguments to pass to xbanish command";
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/xserver.nix b/third_party/nixpkgs/nixos/modules/services/x11/xserver.nix
index dc48f3ac03..83a71dcf23 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/xserver.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/xserver.nix
@@ -151,8 +151,10 @@ in
(mkRemovedOptionModule
[ "services" "xserver" "startDbusSession" ]
"The user D-Bus session is now always socket activated and this option can safely be removed.")
- (mkRemovedOptionModule ["services" "xserver" "useXFS" ]
+ (mkRemovedOptionModule [ "services" "xserver" "useXFS" ]
"Use services.xserver.fontPath instead of useXFS")
+ (mkRemovedOptionModule [ "services" "xserver" "useGlamor" ]
+ "Option services.xserver.useGlamor was removed because it is unnecessary. Drivers that uses Glamor will use it automatically.")
];
@@ -292,7 +294,7 @@ in
drivers = mkOption {
type = types.listOf types.attrs;
internal = true;
- description = ''
+ description = lib.mdDoc ''
A list of attribute sets specifying drivers to be loaded by
the X11 server.
'';
@@ -429,23 +431,25 @@ in
firstPrimary = head heads // { primary = true; };
newHeads = singleton firstPrimary ++ tail heads;
in if heads != [] && !hasPrimary then newHeads else heads;
- description = ''
+ description = lib.mdDoc ''
Multiple monitor configuration, just specify a list of XRandR
outputs. The individual elements should be either simple strings or
an attribute set of output options.
If the element is a string, it is denoting the physical output for a
monitor, if it's an attribute set, you must at least provide the
- option.
+ {option}`output` option.
The monitors will be mapped from left to right in the order of the
list.
By default, the first monitor will be set as the primary monitor if
none of the elements contain an option that has set
- to true.
+ {option}`primary` to `true`.
- Only one monitor is allowed to be primary.
+ ::: {.note}
+ Only one monitor is allowed to be primary.
+ :::
Be careful using this option with multiple graphic adapters or with
drivers that have poor support for XRandR, unexpected things might
@@ -555,15 +559,6 @@ in
'';
};
- useGlamor = mkOption {
- type = types.bool;
- default = false;
- description = lib.mdDoc ''
- Whether to use the Glamor module for 2D acceleration,
- if possible.
- '';
- };
-
enableCtrlAltBackspace = mkOption {
type = types.bool;
default = false;
@@ -794,13 +789,6 @@ in
'')}
EndSection
- ${if cfg.useGlamor then ''
- Section "Module"
- Load "dri2"
- Load "glamoregl"
- EndSection
- '' else ""}
-
# For each supported driver, add a "Device" and "Screen"
# section.
${flip concatMapStrings cfg.drivers (driver: ''
@@ -808,7 +796,6 @@ in
Section "Device"
Identifier "Device-${driver.name}[0]"
Driver "${driver.driverName or driver.name}"
- ${if cfg.useGlamor then ''Option "AccelMethod" "glamor"'' else ""}
${indent cfg.deviceSection}
${indent (driver.deviceSection or "")}
${indent xrandrDeviceSection}
diff --git a/third_party/nixpkgs/nixos/modules/system/activation/activation-script.nix b/third_party/nixpkgs/nixos/modules/system/activation/activation-script.nix
index 3a57642a53..ddb165a76c 100644
--- a/third_party/nixpkgs/nixos/modules/system/activation/activation-script.nix
+++ b/third_party/nixpkgs/nixos/modules/system/activation/activation-script.nix
@@ -78,21 +78,21 @@ let
{ deps = mkOption
{ type = types.listOf types.str;
default = [ ];
- description = "List of dependencies. The script will run after these.";
+ description = lib.mdDoc "List of dependencies. The script will run after these.";
};
text = mkOption
{ type = types.lines;
- description = "The content of the script.";
+ description = lib.mdDoc "The content of the script.";
};
} // optionalAttrs withDry {
supportsDryActivation = mkOption
{ type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether this activation script supports being dry-activated.
These activation scripts will also be executed on dry-activate
activations with the environment variable
- NIXOS_ACTION being set to dry-activate.
+ `NIXOS_ACTION` being set to `dry-activate`.
it's important that these activation scripts don't
modify anything about the system when the variable is set.
'';
@@ -139,11 +139,11 @@ in
};
system.dryActivationScript = mkOption {
- description = "The shell script that is to be run when dry-activating a system.";
+ description = lib.mdDoc "The shell script that is to be run when dry-activating a system.";
readOnly = true;
internal = true;
default = systemActivationScript (removeAttrs config.system.activationScripts [ "script" ]) true;
- defaultText = literalDocBook "generated activation script";
+ defaultText = literalMD "generated activation script";
};
system.userActivationScripts = mkOption {
@@ -199,9 +199,9 @@ in
example = literalExpression ''"''${pkgs.busybox}/bin/env"'';
type = types.nullOr types.path;
visible = false;
- description = ''
+ description = lib.mdDoc ''
The env(1) executable that is linked system-wide to
- /usr/bin/env.
+ `/usr/bin/env`.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl b/third_party/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
index f39549db88..9a4c635402 100755
--- a/third_party/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/third_party/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
@@ -167,7 +167,7 @@ sub get_active_units {
# Takes the name of the unit as an argument and returns a bool whether the unit is active or not.
sub unit_is_active {
my ($unit_name) = @_;
- my $units = busctl_call_systemd1_mgr("ListUnitsByNames", "as", 1, $unit_name)->{data}->[0];
+ my $units = busctl_call_systemd1_mgr("ListUnitsByNames", "as", 1, , "--", $unit_name)->{data}->[0];
if (scalar(@{$units}) == 0) {
return 0;
}
diff --git a/third_party/nixpkgs/nixos/modules/system/activation/top-level.nix b/third_party/nixpkgs/nixos/modules/system/activation/top-level.nix
index 76150cc959..b71ddf95dc 100644
--- a/third_party/nixpkgs/nixos/modules/system/activation/top-level.nix
+++ b/third_party/nixpkgs/nixos/modules/system/activation/top-level.nix
@@ -164,17 +164,17 @@ in
specialisation = mkOption {
default = {};
example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.settings = { core = 0; max-jobs = 1; }; }; }";
- description = ''
+ description = lib.mdDoc ''
Additional configurations to build. If
- inheritParentConfig is true, the system
+ `inheritParentConfig` is true, the system
will be based on the overall system configuration.
To switch to a specialised configuration
- (e.g. fewJobsManyCores) at runtime, run:
+ (e.g. `fewJobsManyCores`) at runtime, run:
-
- # sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test
-
+ ```
+ sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test
+ ```
'';
type = types.attrsOf (types.submodule (
local@{ ... }: let
@@ -207,7 +207,7 @@ in
system.boot.loader.id = mkOption {
internal = true;
default = "";
- description = ''
+ description = lib.mdDoc ''
Id string of the used bootloader.
'';
};
@@ -217,7 +217,7 @@ in
default = pkgs.stdenv.hostPlatform.linux-kernel.target;
defaultText = literalExpression "pkgs.stdenv.hostPlatform.linux-kernel.target";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Name of the kernel file to be passed to the bootloader.
'';
};
@@ -226,7 +226,7 @@ in
internal = true;
default = "initrd";
type = types.str;
- description = ''
+ description = lib.mdDoc ''
Name of the initrd file to be passed to the bootloader.
'';
};
@@ -238,10 +238,10 @@ in
# go to `true` instead of `echo`, hiding the useless path
# from the log.
default = "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
- description = ''
+ description = lib.mdDoc ''
A program that writes a bootloader installation script to the path passed in the first command line argument.
- See nixos/modules/system/activation/switch-to-configuration.pl.
+ See `nixos/modules/system/activation/switch-to-configuration.pl`.
'';
type = types.unique {
message = ''
@@ -280,7 +280,7 @@ in
type = types.lines;
internal = true;
default = "";
- description = ''
+ description = lib.mdDoc ''
This code will be added to the builder creating the system store path.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/binfmt.nix b/third_party/nixpkgs/nixos/modules/system/boot/binfmt.nix
index 4d95af61ac..260638ceed 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/binfmt.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/binfmt.nix
@@ -256,7 +256,7 @@ in {
interpreterSandboxPath = mkOption {
internal = true;
default = null;
- description = ''
+ description = lib.mdDoc ''
Path of the interpreter to expose in the build sandbox.
'';
type = types.nullOr types.path;
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/grow-partition.nix b/third_party/nixpkgs/nixos/modules/system/boot/grow-partition.nix
index 87c981b24c..034b2b9906 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/grow-partition.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/grow-partition.nix
@@ -12,7 +12,7 @@ with lib;
];
options = {
- boot.growPartition = mkEnableOption "grow the root partition on boot";
+ boot.growPartition = mkEnableOption (lib.mdDoc "grow the root partition on boot");
};
config = mkIf config.boot.growPartition {
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix b/third_party/nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix
index 9f476e0720..b41e752432 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix
@@ -25,15 +25,13 @@ in
boot.initrd.network.openvpn.configuration = mkOption {
type = types.path; # Same type as boot.initrd.secrets
- description = ''
+ description = lib.mdDoc ''
The configuration file for OpenVPN.
-
-
- Unless your bootloader supports initrd secrets, this configuration
- is stored insecurely in the global Nix store.
-
-
+ ::: {.warning}
+ Unless your bootloader supports initrd secrets, this configuration
+ is stored insecurely in the global Nix store.
+ :::
'';
example = literalExpression "./configuration.ovpn";
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/initrd-ssh.nix b/third_party/nixpkgs/nixos/modules/system/boot/initrd-ssh.nix
index 265399e562..256aa608ac 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/initrd-ssh.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/initrd-ssh.nix
@@ -47,31 +47,29 @@ in
"/etc/secrets/initrd/ssh_host_rsa_key"
"/etc/secrets/initrd/ssh_host_ed25519_key"
];
- description = ''
+ description = lib.mdDoc ''
Specify SSH host keys to import into the initrd.
To generate keys, use
- ssh-keygen1:
+ {manpage}`ssh-keygen(1)`
+ as root:
-
- # ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
- # ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
-
+ ```
+ ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
+ ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
+ ```
-
-
- Unless your bootloader supports initrd secrets, these keys
- are stored insecurely in the global Nix store. Do NOT use
- your regular SSH host private keys for this purpose or
- you'll expose them to regular users!
-
-
- Additionally, even if your initrd supports secrets, if
- you're using initrd SSH to unlock an encrypted disk then
- using your regular host keys exposes the private keys on
- your unencrypted boot partition.
-
-
+ ::: {.warning}
+ Unless your bootloader supports initrd secrets, these keys
+ are stored insecurely in the global Nix store. Do NOT use
+ your regular SSH host private keys for this purpose or
+ you'll expose them to regular users!
+
+ Additionally, even if your initrd supports secrets, if
+ you're using initrd SSH to unlock an encrypted disk then
+ using your regular host keys exposes the private keys on
+ your unencrypted boot partition.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/kernel.nix b/third_party/nixpkgs/nixos/modules/system/boot/kernel.nix
index 33e9eca62b..8a1630f7e3 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/kernel.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/kernel.nix
@@ -25,7 +25,7 @@ in
default = {};
example = literalExpression "{ debug = true; }";
internal = true;
- description = ''
+ description = lib.mdDoc ''
This option allows to enable or disable certain kernel features.
It's not API, because it's about kernel feature sets, that
make sense for specific use cases. Mostly along with programs,
@@ -48,17 +48,17 @@ in
# - some of it might not even evaluate correctly.
defaultText = literalExpression "pkgs.linuxPackages";
example = literalExpression "pkgs.linuxKernel.packages.linux_5_10";
- description = ''
+ description = lib.mdDoc ''
This option allows you to override the Linux kernel used by
NixOS. Since things like external kernel module packages are
tied to the kernel you're using, it also overrides those.
This option is a function that takes Nixpkgs as an argument
(as a convenience), and returns an attribute set containing at
- the very least an attribute kernel.
+ the very least an attribute {var}`kernel`.
Additional attributes may be needed depending on your
configuration. For instance, if you use the NVIDIA X driver,
then it also needs to contain an attribute
- nvidia_x11.
+ {var}`nvidia_x11`.
'';
};
@@ -73,9 +73,9 @@ in
type = types.str;
default = "";
example = "my secret seed";
- description = ''
- Provides a custom seed for the RANDSTRUCT security
- option of the Linux kernel. Note that RANDSTRUCT is
+ description = lib.mdDoc ''
+ Provides a custom seed for the {var}`RANDSTRUCT` security
+ option of the Linux kernel. Note that {var}`RANDSTRUCT` is
only enabled in NixOS hardened kernels. Using a custom seed requires
building the kernel and dependent packages locally, since this
customization happens at build time.
@@ -173,7 +173,7 @@ in
type = types.listOf types.path;
internal = true;
default = [];
- description = ''
+ description = lib.mdDoc ''
Tree of kernel modules. This includes the kernel, plus modules
built outside of the kernel. Combine these into a single tree of
symlinks because modprobe only supports one directory.
@@ -193,7 +193,7 @@ in
'';
internal = true;
type = types.listOf types.attrs;
- description = ''
+ description = lib.mdDoc ''
This option allows modules to specify the kernel config options that
must be set (or unset) for the module to work. Please use the
lib.kernelConfig functions to build list elements.
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/kernel_config.nix b/third_party/nixpkgs/nixos/modules/system/boot/kernel_config.nix
index 997c404be1..31e9ec626c 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/kernel_config.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/kernel_config.nix
@@ -14,7 +14,7 @@ let
default = null;
internal = true;
visible = true;
- description = ''
+ description = lib.mdDoc ''
Use this field for tristate kernel options expecting a "y" or "m" or "n".
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix b/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
index 1ad7cd8109..1b075133ff 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
@@ -417,23 +417,23 @@ in
splashImage = mkOption {
type = types.nullOr types.path;
example = literalExpression "./my-background.png";
- description = ''
+ description = lib.mdDoc ''
Background image used for GRUB.
- Set to null to run GRUB in text mode.
+ Set to `null` to run GRUB in text mode.
-
+ ::: {.note}
For grub 1:
It must be a 640x480,
14-colour image in XPM format, optionally compressed with
- gzip or bzip2.
-
+ {command}`gzip` or {command}`bzip2`.
+ :::
-
+ ::: {.note}
For grub 2:
File must be one of .png, .tga, .jpg, or .jpeg. JPEG images must
not be progressive.
The image will be scaled if necessary to fit the screen.
-
+ :::
'';
};
@@ -441,36 +441,36 @@ in
type = types.nullOr types.str;
example = "#7EBAE4";
default = null;
- description = ''
+ description = lib.mdDoc ''
Background color to be used for GRUB to fill the areas the image isn't filling.
-
+ ::: {.note}
This options has no effect for GRUB 1.
-
+ :::
'';
};
entryOptions = mkOption {
default = "--class nixos --unrestricted";
type = types.nullOr types.str;
- description = ''
+ description = lib.mdDoc ''
Options applied to the primary NixOS menu entry.
-
+ ::: {.note}
This options has no effect for GRUB 1.
-
+ :::
'';
};
subEntryOptions = mkOption {
default = "--class nixos";
type = types.nullOr types.str;
- description = ''
+ description = lib.mdDoc ''
Options applied to the secondary NixOS submenu entry.
-
+ ::: {.note}
This options has no effect for GRUB 1.
-
+ :::
'';
};
@@ -478,24 +478,24 @@ in
type = types.nullOr types.path;
example = literalExpression "pkgs.nixos-grub2-theme";
default = null;
- description = ''
+ description = lib.mdDoc ''
Grub theme to be used.
-
+ ::: {.note}
This options has no effect for GRUB 1.
-
+ :::
'';
};
splashMode = mkOption {
type = types.enum [ "normal" "stretch" ];
default = "stretch";
- description = ''
+ description = lib.mdDoc ''
Whether to stretch the image or show the image in the top-left corner unstretched.
-
+ ::: {.note}
This options has no effect for GRUB 1.
-
+ :::
'';
};
@@ -622,37 +622,35 @@ in
efiInstallAsRemovable = mkOption {
default = false;
type = types.bool;
- description = ''
- Whether to invoke grub-install with
- --removable.
+ description = lib.mdDoc ''
+ Whether to invoke `grub-install` with
+ `--removable`.
Unless you turn this on, GRUB will install itself somewhere in
- boot.loader.efi.efiSysMountPoint (exactly where
+ `boot.loader.efi.efiSysMountPoint` (exactly where
depends on other config variables). If you've set
- boot.loader.efi.canTouchEfiVariables *AND* you
+ `boot.loader.efi.canTouchEfiVariables` *AND* you
are currently booted in UEFI mode, then GRUB will use
- efibootmgr to modify the boot order in the
+ `efibootmgr` to modify the boot order in the
EFI variables of your firmware to include this location. If you are
*not* booted in UEFI mode at the time GRUB is being installed, the
NVRAM will not be modified, and your system will not find GRUB at
boot time. However, GRUB will still return success so you may miss
- the warning that gets printed ("efibootmgr: EFI variables
- are not supported on this system.").
+ the warning that gets printed ("`efibootmgr: EFI variables
+ are not supported on this system.`").
If you turn this feature on, GRUB will install itself in a
- special location within efiSysMountPoint (namely
- EFI/boot/boot$arch.efi) which the firmwares
+ special location within `efiSysMountPoint` (namely
+ `EFI/boot/boot$arch.efi`) which the firmwares
are hardcoded to try first, regardless of NVRAM EFI variables.
To summarize, turn this on if:
-
- You are installing NixOS and want it to boot in UEFI mode,
- but you are currently booted in legacy mode
- You want to make a drive that will boot regardless of
- the NVRAM state of the computer (like a USB "removable" drive)
- You simply dislike the idea of depending on NVRAM
- state to make your drive bootable
-
+ - You are installing NixOS and want it to boot in UEFI mode,
+ but you are currently booted in legacy mode
+ - You want to make a drive that will boot regardless of
+ the NVRAM state of the computer (like a USB "removable" drive)
+ - You simply dislike the idea of depending on NVRAM
+ state to make your drive bootable
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix b/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix
index 150068e0e9..ccb6e8cc3c 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix
@@ -31,45 +31,29 @@ in
default = [];
example = [ "console=ttyS0,115200" ];
type = types.listOf types.str;
- description = ''
+ description = lib.mdDoc ''
Parameters added to the Memtest86+ command line. As of memtest86+ 5.01
the following list of (apparently undocumented) parameters are
accepted:
-
-
-
- console=..., set up a serial console.
+ - `console=...`, set up a serial console.
Examples:
- console=ttyS0,
- console=ttyS0,9600 or
- console=ttyS0,115200n8.
-
+ `console=ttyS0`,
+ `console=ttyS0,9600` or
+ `console=ttyS0,115200n8`.
-
- btrace, enable boot trace.
-
+ - `btrace`, enable boot trace.
-
- maxcpus=N, limit number of CPUs.
-
+ - `maxcpus=N`, limit number of CPUs.
-
- onepass, run one pass and exit if there
- are no errors.
-
+ - `onepass`, run one pass and exit if there
+ are no errors.
-
- tstlist=..., list of tests to run.
- Example: 0,1,2.
-
+ - `tstlist=...`, list of tests to run.
+ Example: `0,1,2`.
-
- cpumask=..., set a CPU mask, to select CPUs
- to use for testing.
-
-
-
+ - `cpumask=...`, set a CPU mask, to select CPUs
+ to use for testing.
This list of command line options was obtained by reading the
Memtest86+ source code.
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/third_party/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
index 426aa021c8..1dde550743 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
@@ -58,7 +58,7 @@ in
version = mkOption {
default = 2;
type = types.enum [ 0 1 2 3 4 ];
- description = "";
+ description = lib.mdDoc "";
};
uboot = {
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 77280a9680..5398ef6b84 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -240,11 +240,11 @@ def main() -> None:
if "@graceful@" == "1":
flags.append("--graceful")
- subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@"] + flags + ["install"])
+ subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + flags + ["install"])
else:
# Update bootloader to latest if needed
available_out = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[2]
- installed_out = subprocess.check_output(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "status"], universal_newlines=True)
+ installed_out = subprocess.check_output(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "status"], universal_newlines=True)
# See status_binaries() in systemd bootctl.c for code which generates this
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
@@ -263,7 +263,7 @@ def main() -> None:
if installed_version < available_version:
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
- subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
+ subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "update"])
mkdir_p("@efiSysMountPoint@/efi/nixos")
mkdir_p("@efiSysMountPoint@/loader/entries")
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index baf0a9fe9c..a9d43d027e 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -104,29 +104,15 @@ in {
type = types.enum [ "0" "1" "2" "auto" "max" "keep" ];
- description = ''
+ description = lib.mdDoc ''
The resolution of the console. The following values are valid:
-
-
- "0": Standard UEFI 80x25 mode
-
-
- "1": 80x50 mode, not supported by all devices
-
-
- "2": The first non-standard mode provided by the device firmware, if any
-
-
- "auto": Pick a suitable mode automatically using heuristics
-
-
- "max": Pick the highest-numbered available mode
-
-
- "keep": Keep the mode selected by firmware (the default)
-
-
+ - `"0"`: Standard UEFI 80x25 mode
+ - `"1"`: 80x50 mode, not supported by all devices
+ - `"2"`: The first non-standard mode provided by the device firmware, if any
+ - `"auto"`: Pick a suitable mode automatically using heuristics
+ - `"max"`: Pick the highest-numbered available mode
+ - `"keep"`: Keep the mode selected by firmware (the default)
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/luksroot.nix b/third_party/nixpkgs/nixos/modules/system/boot/luksroot.nix
index 8cd1697491..a076ea24a4 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/luksroot.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/luksroot.nix
@@ -523,7 +523,7 @@ in
type = types.bool;
default = false;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether to configure luks support in the initrd, when no luks
devices are configured.
'';
@@ -563,7 +563,7 @@ in
default = name;
example = "luksroot";
type = types.str;
- description = "Name of the unencrypted device in /dev/mapper.";
+ description = lib.mdDoc "Name of the unencrypted device in {file}`/dev/mapper`.";
};
device = mkOption {
@@ -819,7 +819,7 @@ in
default = [];
example = [ "_netdev" ];
visible = false;
- description = ''
+ description = lib.mdDoc ''
Only used with systemd stage 1.
Extra options to append to the last column of the generated crypttab file.
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/networkd.nix b/third_party/nixpkgs/nixos/modules/system/boot/networkd.nix
index 337d238f91..0b38a94c25 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/networkd.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/networkd.nix
@@ -451,6 +451,7 @@ let
"Multicast"
"AllMulticast"
"Unmanaged"
+ "Group"
"RequiredForOnline"
"RequiredFamilyForOnline"
"ActivationPolicy"
@@ -463,6 +464,8 @@ let
(assertValueOneOf "AllMulticast" boolValues)
(assertValueOneOf "Promiscuous" boolValues)
(assertValueOneOf "Unmanaged" boolValues)
+ (assertInt "Group")
+ (assertRange "Group" 0 2147483647)
(assertValueOneOf "RequiredForOnline" (boolValues ++ [
"missing"
"off"
@@ -800,10 +803,12 @@ let
sectionDHCPServer = checkUnitConfig "DHCPServer" [
(assertOnlyFields [
+ "ServerAddress"
"PoolOffset"
"PoolSize"
"DefaultLeaseTimeSec"
"MaxLeaseTimeSec"
+ "UplinkInterface"
"EmitDNS"
"DNS"
"EmitNTP"
@@ -817,10 +822,15 @@ let
"EmitLPR"
"LPR"
"EmitRouter"
+ "Router"
"EmitTimezone"
"Timezone"
"SendOption"
"SendVendorOption"
+ "BindToInterface"
+ "RelayTarget"
+ "RelayAgentCircuitId"
+ "RelayAgentRemoteId"
])
(assertInt "PoolOffset")
(assertMinimum "PoolOffset" 0)
@@ -834,6 +844,7 @@ let
(assertValueOneOf "EmitLPR" boolValues)
(assertValueOneOf "EmitRouter" boolValues)
(assertValueOneOf "EmitTimezone" boolValues)
+ (assertValueOneOf "BindToInterface" boolValues)
];
sectionIPv6SendRA = checkUnitConfig "IPv6SendRA" [
@@ -842,6 +853,7 @@ let
"OtherInformation"
"RouterLifetimeSec"
"RouterPreference"
+ "UplinkInterface"
"EmitDNS"
"DNS"
"EmitDomains"
@@ -867,6 +879,15 @@ let
(assertValueOneOf "OnLink" boolValues)
];
+ sectionIPv6RoutePrefix = checkUnitConfig "IPv6RoutePrefix" [
+ (assertOnlyFields [
+ "Route"
+ "LifetimeSec"
+ ])
+ (assertHasField "Route")
+ (assertInt "LifetimeSec")
+ ];
+
sectionDHCPServerStaticLease = checkUnitConfig "DHCPServerStaticLease" [
(assertOnlyFields [
"MACAddress"
@@ -1230,6 +1251,22 @@ let
};
};
+ ipv6RoutePrefixOptions = {
+ options = {
+ ipv6RoutePrefixConfig = mkOption {
+ default = {};
+ example = { Route = "fd00::/64"; };
+ type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6RoutePrefix;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [IPv6RoutePrefix] section of the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+ };
+ };
+
dhcpServerStaticLeaseOptions = {
options = {
dhcpServerStaticLeaseConfig = mkOption {
@@ -1372,6 +1409,17 @@ let
'';
};
+ ipv6RoutePrefixes = mkOption {
+ default = [];
+ example = [ { Route = "fd00::/64"; LifetimeSec = 3600; } ];
+ type = with types; listOf (submodule ipv6RoutePrefixOptions);
+ description = ''
+ A list of ipv6RoutePrefix sections to be added to the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
name = mkOption {
type = types.nullOr types.str;
default = null;
@@ -1763,6 +1811,10 @@ let
[IPv6Prefix]
${attrsToSection x.ipv6PrefixConfig}
'')
+ + flip concatMapStrings def.ipv6RoutePrefixes (x: ''
+ [IPv6RoutePrefix]
+ ${attrsToSection x.ipv6RoutePrefixConfig}
+ '')
+ flip concatMapStrings def.dhcpServerStaticLeases (x: ''
[DHCPServerStaticLease]
${attrsToSection x.dhcpServerStaticLeaseConfig}
@@ -1812,7 +1864,7 @@ in
};
systemd.network.units = mkOption {
- description = "Definition of networkd units.";
+ description = lib.mdDoc "Definition of networkd units.";
default = {};
internal = true;
type = with types; attrsOf (submodule (
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/plymouth.nix b/third_party/nixpkgs/nixos/modules/system/boot/plymouth.nix
index 02d8fcf479..9b6472fea4 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/plymouth.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/plymouth.nix
@@ -62,7 +62,7 @@ in
boot.plymouth = {
- enable = mkEnableOption "Plymouth boot splash screen";
+ enable = mkEnableOption (lib.mdDoc "Plymouth boot splash screen");
font = mkOption {
default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
@@ -75,10 +75,10 @@ in
themePackages = mkOption {
default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth;
- defaultText = literalDocBook ''
+ defaultText = literalMD ''
A NixOS branded variant of the breeze theme when
- config.${opt.theme} == "breeze", otherwise
- [ ].
+ `config.${opt.theme} == "breeze"`, otherwise
+ `[ ]`.
'';
type = types.listOf types.package;
description = lib.mdDoc ''
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/stage-1.nix b/third_party/nixpkgs/nixos/modules/system/boot/stage-1.nix
index 37adcc531d..28c76fb169 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/stage-1.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/stage-1.nix
@@ -475,12 +475,12 @@ in
type = types.str;
default = "";
example = "/dev/sda3";
- description = ''
+ description = lib.mdDoc ''
Device for manual resume attempt during boot. This should be used primarily
if you want to resume from file. If left empty, the swap partitions are used.
Specify here the device where the file resides.
- You should also use boot.kernelParams to specify
- «resume_offset».
+ You should also use {var}`boot.kernelParams` to specify
+ `«resume_offset»`.
'';
};
@@ -575,7 +575,7 @@ in
internal = true;
default = "";
type = types.lines;
- description = ''
+ description = lib.mdDoc ''
Shell commands to be executed in the builder of the
extra-utils derivation. This can be used to provide
additional utilities in the initial ramdisk.
@@ -586,7 +586,7 @@ in
internal = true;
default = "";
type = types.lines;
- description = ''
+ description = lib.mdDoc ''
Shell commands to be executed in the builder of the
extra-utils derivation after patchelf has done its
job. This can be used to test additional utilities
@@ -598,7 +598,7 @@ in
internal = true;
default = "";
type = types.lines;
- description = ''
+ description = lib.mdDoc ''
Shell commands to be executed in the builder of the
udev-rules derivation. This can be used to add
additional udev rules in the initial ramdisk.
@@ -611,16 +611,14 @@ in
then "zstd"
else "gzip"
);
- defaultText = literalDocBook "zstd if the kernel supports it (5.9+), gzip if not";
+ defaultText = literalMD "`zstd` if the kernel supports it (5.9+), `gzip` if not";
type = types.either types.str (types.functionTo types.str);
- description = ''
+ description = lib.mdDoc ''
The compressor to use on the initrd image. May be any of:
-
- The name of one of the predefined compressors, see pkgs/build-support/kernel/initrd-compressor-meta.nix for the definitions.
- A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. pkgs: "''${pkgs.pigz}/bin/pigz"
- (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. "''${pkgs.pigz}/bin/pigz"
-
+ - The name of one of the predefined compressors, see {file}`pkgs/build-support/kernel/initrd-compressor-meta.nix` for the definitions.
+ - A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. `pkgs: "''${pkgs.pigz}/bin/pigz"`
+ - (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. `"''${pkgs.pigz}/bin/pigz"`
The given program should read data from stdin and write it to stdout compressed.
'';
@@ -662,16 +660,14 @@ in
default = true;
type = types.bool;
description =
- ''
+ lib.mdDoc ''
Verbosity of the initrd. Please note that disabling verbosity removes
only the mandatory messages generated by the NixOS scripts. For a
completely silent boot, you might also want to set the two following
configuration options:
-
- boot.consoleLogLevel = 0;
- boot.kernelParams = [ "quiet" "udev.log_level=3" ];
-
+ - `boot.consoleLogLevel = 0;`
+ - `boot.kernelParams = [ "quiet" "udev.log_level=3" ];`
'';
};
@@ -680,7 +676,7 @@ in
default = false;
type = types.bool;
description =
- ''
+ lib.mdDoc ''
Whether the bootloader setup runs append-initrd-secrets.
If not, any needed secrets must be copied into the initrd
and thus added to the store.
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/systemd/initrd.nix b/third_party/nixpkgs/nixos/modules/system/boot/systemd/initrd.nix
index 8b3bbfdd24..e843214f85 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/systemd/initrd.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/systemd/initrd.nix
@@ -132,12 +132,15 @@ let
in {
options.boot.initrd.systemd = {
- enable = mkEnableOption ''systemd in initrd.
+ enable = mkEnableOption (lib.mdDoc "systemd in initrd") // {
+ description = lib.mdDoc ''
+ Whether to enable systemd in initrd.
- Note: This is in very early development and is highly
- experimental. Most of the features NixOS supports in initrd are
- not yet supported by the intrd generated with this option.
- '';
+ Note: This is in very early development and is highly
+ experimental. Most of the features NixOS supports in initrd are
+ not yet supported by the intrd generated with this option.
+ '';
+ };
package = (mkPackageOption pkgs "systemd" {
default = "systemdStage1";
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/systemd/shutdown.nix b/third_party/nixpkgs/nixos/modules/system/boot/systemd/shutdown.nix
index cb257dce6f..b4b750fa9a 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/systemd/shutdown.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/systemd/shutdown.nix
@@ -9,7 +9,7 @@
in {
options.systemd.shutdownRamfs = {
- enable = lib.mkEnableOption "pivoting back to an initramfs for shutdown" // { default = true; };
+ enable = lib.mkEnableOption (lib.mdDoc "pivoting back to an initramfs for shutdown") // { default = true; };
contents = lib.mkOption {
description = lib.mdDoc "Set of files that have to be linked into the shutdown ramfs";
example = lib.literalExpression ''
@@ -33,26 +33,30 @@ in {
systemd.shutdownRamfs.contents."/shutdown".source = "${config.systemd.package}/lib/systemd/systemd-shutdown";
systemd.shutdownRamfs.storePaths = [pkgs.runtimeShell "${pkgs.coreutils}/bin"];
+ systemd.mounts = [{
+ what = "tmpfs";
+ where = "/run/initramfs";
+ type = "tmpfs";
+ }];
+
systemd.services.generate-shutdown-ramfs = {
description = "Generate shutdown ramfs";
wantedBy = [ "shutdown.target" ];
before = [ "shutdown.target" ];
unitConfig = {
DefaultDependencies = false;
+ RequiresMountsFor = "/run/initramfs";
ConditionFileIsExecutable = [
"!/run/initramfs/shutdown"
];
};
- path = [pkgs.util-linux pkgs.makeInitrdNGTool];
- serviceConfig.Type = "oneshot";
- script = ''
- mkdir -p /run/initramfs
- if ! mountpoint -q /run/initramfs; then
- mount -t tmpfs tmpfs /run/initramfs
- fi
- make-initrd-ng ${ramfsContents} /run/initramfs
- '';
+ serviceConfig = {
+ Type = "oneshot";
+ ProtectSystem = "strict";
+ ReadWritePaths = "/run/initramfs";
+ ExecStart = "${pkgs.makeInitrdNGTool}/bin/make-initrd-ng ${ramfsContents} /run/initramfs";
+ };
};
};
}
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/systemd/user.nix b/third_party/nixpkgs/nixos/modules/system/boot/systemd/user.nix
index 3200a58d73..46d66fe4e6 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/systemd/user.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/systemd/user.nix
@@ -97,7 +97,7 @@ in {
default = [];
type = types.listOf types.str;
example = [];
- description = ''
+ description = lib.mdDoc ''
Additional units shipped with systemd that should be enabled for per-user systemd instances.
'';
internal = true;
diff --git a/third_party/nixpkgs/nixos/modules/tasks/bcache.nix b/third_party/nixpkgs/nixos/modules/tasks/bcache.nix
index 0a13522de1..408ddc0237 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/bcache.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/bcache.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
{
- options.boot.initrd.services.bcache.enable = (lib.mkEnableOption "bcache support in the initrd") // {
+ options.boot.initrd.services.bcache.enable = (lib.mkEnableOption (lib.mdDoc "bcache support in the initrd")) // {
visible = false; # only works with systemd stage 1
};
diff --git a/third_party/nixpkgs/nixos/modules/tasks/filesystems.nix b/third_party/nixpkgs/nixos/modules/tasks/filesystems.nix
index 4cf974b2ed..9947476013 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/filesystems.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/filesystems.nix
@@ -223,7 +223,7 @@ in
system.fsPackages = mkOption {
internal = true;
default = [ ];
- description = "Packages supplying file system mounters and checkers.";
+ description = lib.mdDoc "Packages supplying file system mounters and checkers.";
};
boot.supportedFilesystems = mkOption {
@@ -237,7 +237,7 @@ in
default = {};
type = types.attrsOf (types.submodule coreFileSystemOpts);
internal = true;
- description = ''
+ description = lib.mdDoc ''
Special filesystems that are mounted very early during boot.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix b/third_party/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
index 32bfaba95c..bd85a1f8d1 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
@@ -19,7 +19,7 @@ in
# One could also do regular btrfs balances, but that shouldn't be necessary
# during normal usage and as long as the filesystems aren't filled near capacity
services.btrfs.autoScrub = {
- enable = mkEnableOption "regular btrfs scrub";
+ enable = mkEnableOption (lib.mdDoc "regular btrfs scrub");
fileSystems = mkOption {
type = types.listOf types.path;
diff --git a/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix b/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
index 0975ed0aab..96222f3b4f 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
@@ -209,7 +209,7 @@ in
readOnly = true;
type = types.bool;
default = inInitrd || inSystem;
- defaultText = literalDocBook "true if ZFS filesystem support is enabled";
+ defaultText = literalMD "`true` if ZFS filesystem support is enabled";
description = lib.mdDoc "True if ZFS filesystem support is enabled";
};
@@ -277,12 +277,12 @@ in
forceImportAll = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Forcibly import all ZFS pool(s).
- If you set this option to false and NixOS subsequently fails to
+ If you set this option to `false` and NixOS subsequently fails to
import your non-root ZFS pool(s), you should manually import each pool with
- "zpool import -f <pool-name>", and then reboot. You should only need to do
+ "zpool import -f \", and then reboot. You should only need to do
this once.
'';
};
@@ -399,7 +399,7 @@ in
};
services.zfs.autoScrub = {
- enable = mkEnableOption "periodic scrubbing of ZFS pools";
+ enable = mkEnableOption (lib.mdDoc "periodic scrubbing of ZFS pools");
interval = mkOption {
default = "Sun, 02:00";
@@ -440,7 +440,7 @@ in
};
services.zfs.zed = {
- enableMail = mkEnableOption "ZED's ability to send emails" // {
+ enableMail = mkEnableOption (lib.mdDoc "ZED's ability to send emails") // {
default = cfgZfs.package.enableMail;
defaultText = literalExpression "config.${optZfs.package}.enableMail";
};
diff --git a/third_party/nixpkgs/nixos/modules/tasks/lvm.nix b/third_party/nixpkgs/nixos/modules/tasks/lvm.nix
index 2f98e3e7da..760133fafa 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/lvm.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/lvm.nix
@@ -10,18 +10,18 @@ in {
default = pkgs.lvm2;
internal = true;
defaultText = literalExpression "pkgs.lvm2";
- description = ''
+ description = lib.mdDoc ''
This option allows you to override the LVM package that's used on the system
(udev rules, tmpfiles, systemd services).
Defaults to pkgs.lvm2, pkgs.lvm2_dmeventd if dmeventd or pkgs.lvm2_vdo if vdo is enabled.
'';
};
- dmeventd.enable = mkEnableOption "the LVM dmevent daemon";
- boot.thin.enable = mkEnableOption "support for booting from ThinLVs";
- boot.vdo.enable = mkEnableOption "support for booting from VDOLVs";
+ dmeventd.enable = mkEnableOption (lib.mdDoc "the LVM dmevent daemon");
+ boot.thin.enable = mkEnableOption (lib.mdDoc "support for booting from ThinLVs");
+ boot.vdo.enable = mkEnableOption (lib.mdDoc "support for booting from VDOLVs");
};
- options.boot.initrd.services.lvm.enable = (mkEnableOption "enable booting from LVM2 in the initrd") // {
+ options.boot.initrd.services.lvm.enable = (mkEnableOption (lib.mdDoc "enable booting from LVM2 in the initrd")) // {
visible = false;
};
diff --git a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
index eb4818756b..e2a17c246b 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
@@ -172,13 +172,13 @@ let
type = types.enum (lib.attrNames tempaddrValues);
default = cfg.tempAddresses;
defaultText = literalExpression ''config.networking.tempAddresses'';
- description = ''
+ description = lib.mdDoc ''
When IPv6 is enabled with SLAAC, this option controls the use of
temporary address (aka privacy extensions) on this
interface. This is used to reduce tracking.
See also the global option
- , which
+ [](#opt-networking.tempAddresses), which
applies to all interfaces where this is not set.
Possible values are:
@@ -227,15 +227,19 @@ let
{ address = "192.168.2.0"; prefixLength = 24; via = "192.168.1.1"; }
];
type = with types; listOf (submodule (routeOpts 4));
- description = ''
+ description = lib.mdDoc ''
List of extra IPv4 static routes that will be assigned to the interface.
- If the route type is the default unicast, then the scope
- is set differently depending on the value of :
- the script-based backend sets it to link, while networkd sets
- it to global.
+
+ ::: {.warning}
+ If the route type is the default `unicast`, then the scope
+ is set differently depending on the value of {option}`networking.useNetworkd`:
+ the script-based backend sets it to `link`, while networkd sets
+ it to `global`.
+ :::
+
If you want consistency between the two implementations,
set the scope of the route manually with
- networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]
+ `networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]`
for example.
'';
};
@@ -407,17 +411,10 @@ let
description = "generate IPv6 temporary addresses and use these as source addresses in routing";
};
};
- tempaddrDoc = ''
-
- ${concatStringsSep "\n" (mapAttrsToList (name: { description, ... }: ''
-
-
- "${name}" to ${description};
-
-
- '') tempaddrValues)}
-
- '';
+ tempaddrDoc = concatStringsSep "\n"
+ (mapAttrsToList
+ (name: { description, ... }: ''- `"${name}"` to ${description};'')
+ tempaddrValues);
hostidFile = pkgs.runCommand "gen-hostid" { preferLocalBuild = true; } ''
hi="${cfg.hostId}"
@@ -1241,17 +1238,15 @@ in
type = types.nullOr types.str;
default = null;
example = "02:00:00:00:00:01";
- description = ''
- MAC address to use for the device. If null, then the MAC of the
+ description = lib.mdDoc ''
+ MAC address to use for the device. If `null`, then the MAC of the
underlying hardware WLAN device is used.
INFO: Locally administered MAC addresses are of the form:
-
- x2:xx:xx:xx:xx:xx
- x6:xx:xx:xx:xx:xx
- xA:xx:xx:xx:xx:xx
- xE:xx:xx:xx:xx:xx
-
+ - x2:xx:xx:xx:xx:xx
+ - x6:xx:xx:xx:xx:xx
+ - xA:xx:xx:xx:xx:xx
+ - xE:xx:xx:xx:xx:xx
'';
};
@@ -1287,10 +1282,10 @@ in
if ''${config.${opt.enableIPv6}} then "default" else "disabled"
'';
type = types.enum (lib.attrNames tempaddrValues);
- description = ''
+ description = lib.mdDoc ''
Whether to enable IPv6 Privacy Extensions for interfaces not
configured explicitly in
- .
+ [](#opt-networking.interfaces._name_.tempAddress).
This sets the ipv6.conf.*.use_tempaddr sysctl for all
interfaces. Possible values are:
diff --git a/third_party/nixpkgs/nixos/modules/tasks/powertop.nix b/third_party/nixpkgs/nixos/modules/tasks/powertop.nix
index e8064f9fa8..3839b7a426 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/powertop.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/powertop.nix
@@ -7,7 +7,7 @@ let
in {
###### interface
- options.powerManagement.powertop.enable = mkEnableOption "powertop auto tuning on startup";
+ options.powerManagement.powertop.enable = mkEnableOption (lib.mdDoc "powertop auto tuning on startup");
###### implementation
diff --git a/third_party/nixpkgs/nixos/modules/tasks/snapraid.nix b/third_party/nixpkgs/nixos/modules/tasks/snapraid.nix
index 634ffa0311..243d25f884 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/snapraid.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/snapraid.nix
@@ -6,7 +6,7 @@ let cfg = config.snapraid;
in
{
options.snapraid = with types; {
- enable = mkEnableOption "SnapRAID";
+ enable = mkEnableOption (lib.mdDoc "SnapRAID");
dataDisks = mkOption {
default = { };
example = {
diff --git a/third_party/nixpkgs/nixos/modules/tasks/swraid.nix b/third_party/nixpkgs/nixos/modules/tasks/swraid.nix
index 26d6bd914d..7832bbf920 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/swraid.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/swraid.nix
@@ -5,7 +5,7 @@
in {
options.boot.initrd.services.swraid = {
- enable = (lib.mkEnableOption "swraid support using mdadm") // {
+ enable = (lib.mkEnableOption (lib.mdDoc "swraid support using mdadm")) // {
visible = false; # only has effect when the new stage 1 is in place
};
diff --git a/third_party/nixpkgs/nixos/modules/testing/service-runner.nix b/third_party/nixpkgs/nixos/modules/testing/service-runner.nix
index 9060be3cca..bdb35f128a 100644
--- a/third_party/nixpkgs/nixos/modules/testing/service-runner.nix
+++ b/third_party/nixpkgs/nixos/modules/testing/service-runner.nix
@@ -107,7 +107,7 @@ let
opts = { config, name, ... }: {
options.runner = mkOption {
internal = true;
- description = ''
+ description = lib.mdDoc ''
A script that runs the service outside of systemd,
useful for testing or for using NixOS services outside
of NixOS.
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/amazon-options.nix b/third_party/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
index ef0ad52b90..227f3e433c 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
@@ -8,7 +8,7 @@ in {
enable = lib.mkOption {
default = false;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether the EC2 instance uses a ZFS root.
'';
};
@@ -44,7 +44,7 @@ in {
hvm = lib.mkOption {
default = lib.versionAtLeast config.system.stateVersion "17.03";
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether the EC2 instance is a HVM instance.
'';
};
@@ -52,7 +52,7 @@ in {
default = pkgs.stdenv.hostPlatform.isAarch64;
defaultText = literalExpression "pkgs.stdenv.hostPlatform.isAarch64";
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether the EC2 instance is using EFI.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/anbox.nix b/third_party/nixpkgs/nixos/modules/virtualisation/anbox.nix
index 6ba71ede7d..c7e9e23c4c 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/anbox.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/anbox.nix
@@ -31,7 +31,7 @@ in
options.virtualisation.anbox = {
- enable = mkEnableOption "Anbox";
+ enable = mkEnableOption (lib.mdDoc "Anbox");
image = mkOption {
default = pkgs.anbox.image;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/containerd.nix b/third_party/nixpkgs/nixos/modules/virtualisation/containerd.nix
index 96fa676129..f6e3c83872 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/containerd.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/containerd.nix
@@ -19,7 +19,7 @@ in
{
options.virtualisation.containerd = with lib.types; {
- enable = lib.mkEnableOption "containerd container runtime";
+ enable = lib.mkEnableOption (lib.mdDoc "containerd container runtime");
configFile = lib.mkOption {
default = null;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/containers.nix b/third_party/nixpkgs/nixos/modules/virtualisation/containers.nix
index 956844352f..fb9c19d79c 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/containers.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/containers.nix
@@ -11,20 +11,6 @@ in
maintainers = [ ] ++ lib.teams.podman.members;
};
-
- imports = [
- (
- lib.mkRemovedOptionModule
- [ "virtualisation" "containers" "users" ]
- "All users with `isNormalUser = true` set now get appropriate subuid/subgid mappings."
- )
- (
- lib.mkRemovedOptionModule
- [ "virtualisation" "containers" "containersConf" "extraConfig" ]
- "Use virtualisation.containers.containersConf.settings instead."
- )
- ];
-
options.virtualisation.containers = {
enable =
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/cri-o.nix b/third_party/nixpkgs/nixos/modules/virtualisation/cri-o.nix
index 3c9b0a061d..95ce1fea58 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/cri-o.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/cri-o.nix
@@ -11,16 +11,12 @@ let
cfgFile = format.generate "00-default.conf" cfg.settings;
in
{
- imports = [
- (mkRenamedOptionModule [ "virtualisation" "cri-o" "registries" ] [ "virtualisation" "containers" "registries" "search" ])
- ];
-
meta = {
maintainers = teams.podman.members;
};
options.virtualisation.cri-o = {
- enable = mkEnableOption "Container Runtime Interface for OCI (CRI-O)";
+ enable = mkEnableOption (lib.mdDoc "Container Runtime Interface for OCI (CRI-O)");
storageDriver = mkOption {
type = types.enum [ "btrfs" "overlay" "vfs" ];
@@ -72,7 +68,7 @@ in
type = types.package;
default = crioPackage;
internal = true;
- description = ''
+ description = lib.mdDoc ''
The final CRI-O package (including extra packages).
'';
};
@@ -80,7 +76,7 @@ in
networkDir = mkOption {
type = types.nullOr types.path;
default = null;
- description = "Override the network_dir option.";
+ description = lib.mdDoc "Override the network_dir option.";
internal = true;
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix b/third_party/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix
index e29e34c477..1a5d4e898e 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/digital-ocean-init.nix
@@ -20,7 +20,7 @@ in {
options.virtualisation.digitalOcean.defaultConfigFile = mkOption {
type = types.path;
default = defaultConfigFile;
- defaultText = literalDocBook ''
+ defaultText = literalMD ''
The default configuration imports user-data if applicable and
`(modulesPath + "/virtualisation/digital-ocean-config.nix")`.
'';
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/ecs-agent.nix b/third_party/nixpkgs/nixos/modules/virtualisation/ecs-agent.nix
index af1736fcf0..dd87df9a27 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/ecs-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/ecs-agent.nix
@@ -6,7 +6,7 @@ let
cfg = config.services.ecs-agent;
in {
options.services.ecs-agent = {
- enable = mkEnableOption "Amazon ECS agent";
+ enable = mkEnableOption (lib.mdDoc "Amazon ECS agent");
package = mkOption {
type = types.path;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/hyperv-guest.nix b/third_party/nixpkgs/nixos/modules/virtualisation/hyperv-guest.nix
index e6ba38370f..7c73e32be6 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/hyperv-guest.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/hyperv-guest.nix
@@ -8,7 +8,7 @@ let
in {
options = {
virtualisation.hypervGuest = {
- enable = mkEnableOption "Hyper-V Guest Support";
+ enable = mkEnableOption (lib.mdDoc "Hyper-V Guest Support");
videoMode = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/kvmgt.nix b/third_party/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
index 5671e5b66d..1e02636f81 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
@@ -17,11 +17,11 @@ let
in {
options = {
virtualisation.kvmgt = {
- enable = mkEnableOption ''
+ enable = mkEnableOption (lib.mdDoc ''
KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card.
Currently only one graphical device can be shared. To allow users to access the device without root add them
- to the kvm group: users.extraUsers.<yourusername>.extraGroups = [ "kvm" ];
- '';
+ to the kvm group: `users.extraUsers..extraGroups = [ "kvm" ];`
+ '');
# multi GPU support is under the question
device = mkOption {
type = types.str;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/libvirtd.nix b/third_party/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
index c2ff6b611a..be6ebb3eac 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
@@ -282,7 +282,7 @@ in
setuid = true;
owner = "root";
group = "root";
- source = "/run/${dirName}/nix-helpers/qemu-bridge-helper";
+ source = "${cfg.qemu.package}/libexec/qemu-bridge-helper";
};
systemd.packages = [ cfg.package ];
@@ -308,7 +308,7 @@ in
ln -s --force "$emulator" /run/${dirName}/nix-emulators/
done
- for helper in libexec/qemu-bridge-helper bin/qemu-pr-helper; do
+ for helper in bin/qemu-pr-helper; do
ln -s --force ${cfg.qemu.package}/$helper /run/${dirName}/nix-helpers/
done
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/lxc-container.nix b/third_party/nixpkgs/nixos/modules/virtualisation/lxc-container.nix
index d3a2e0ed15..f05f04baa3 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/lxc-container.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/lxc-container.nix
@@ -5,22 +5,22 @@ with lib;
let
templateSubmodule = { ... }: {
options = {
- enable = mkEnableOption "this template";
+ enable = mkEnableOption (lib.mdDoc "this template");
target = mkOption {
- description = "Path in the container";
+ description = lib.mdDoc "Path in the container";
type = types.path;
};
template = mkOption {
- description = ".tpl file for rendering the target";
+ description = lib.mdDoc ".tpl file for rendering the target";
type = types.path;
};
when = mkOption {
- description = "Events which trigger a rewrite (create, copy)";
+ description = lib.mdDoc "Events which trigger a rewrite (create, copy)";
type = types.listOf (types.str);
};
properties = mkOption {
- description = "Additional properties";
+ description = lib.mdDoc "Additional properties";
type = types.attrs;
default = {};
};
@@ -58,7 +58,7 @@ in
options = {
virtualisation.lxc = {
templates = mkOption {
- description = "Templates for LXD";
+ description = lib.mdDoc "Templates for LXD";
type = types.attrsOf (types.submodule (templateSubmodule));
default = {};
example = literalExpression ''
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/lxcfs.nix b/third_party/nixpkgs/nixos/modules/virtualisation/lxcfs.nix
index b245740346..fb0ba49f73 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/lxcfs.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/lxcfs.nix
@@ -15,13 +15,13 @@ in {
mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
This enables LXCFS, a FUSE filesystem for LXC.
To use lxcfs in include the following configuration in your
container configuration:
-
- virtualisation.lxc.defaultConfig = "lxc.include = ''${pkgs.lxcfs}/share/lxc/config/common.conf.d/00-lxcfs.conf";
-
+ ```
+ virtualisation.lxc.defaultConfig = "lxc.include = ''${pkgs.lxcfs}/share/lxc/config/common.conf.d/00-lxcfs.conf";
+ ```
'';
};
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/lxd.nix b/third_party/nixpkgs/nixos/modules/virtualisation/lxd.nix
index f1eabee5ff..764bb5e3b4 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/lxd.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/lxd.nix
@@ -18,17 +18,17 @@ in {
enable = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
This option enables lxd, a daemon that manages
containers. Users in the "lxd" group can interact with
the daemon (e.g. to start or stop containers) using the
- lxc command line tool, among others.
+ {command}`lxc` command line tool, among others.
Most of the time, you'll also want to start lxcfs, so
that containers can "see" the limits:
-
- virtualisation.lxc.lxcfs.enable = true;
-
+ ```
+ virtualisation.lxc.lxcfs.enable = true;
+ ```
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix b/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
index f15511f2df..22be1d5bff 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
@@ -550,7 +550,7 @@ in
ephemeral = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Runs container in ephemeral mode with the empty root filesystem at boot.
This way container will be bootstrapped from scratch on each boot
and will be cleaned up on shutdown leaving no traces behind.
@@ -558,8 +558,8 @@ in
Note that this option might require to do some adjustments to the container configuration,
e.g. you might want to set
- systemd.network.networks.$interface.dhcpV4Config.ClientIdentifier to "mac"
- if you use macvlans option.
+ {var}`systemd.network.networks.$interface.dhcpV4Config.ClientIdentifier` to "mac"
+ if you use {var}`macvlans` option.
This way dhcp client identifier will be stable between the container restarts.
Note that the container journal will not be linked to the host if this option is enabled.
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/openstack-options.nix b/third_party/nixpkgs/nixos/modules/virtualisation/openstack-options.nix
index e1985a2073..c71b581b02 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/openstack-options.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/openstack-options.nix
@@ -9,7 +9,7 @@ in
enable = lib.mkOption {
default = false;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether the OpenStack instance uses a ZFS root.
'';
};
@@ -47,7 +47,7 @@ in
default = pkgs.stdenv.hostPlatform.isAarch64;
defaultText = literalExpression "pkgs.stdenv.hostPlatform.isAarch64";
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether the instance is using EFI.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/podman/default.nix b/third_party/nixpkgs/nixos/modules/virtualisation/podman/default.nix
index ccf30a0ff6..118bf82cdd 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/podman/default.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/podman/default.nix
@@ -46,7 +46,6 @@ in
imports = [
./dnsname.nix
./network-socket.nix
- (lib.mkRenamedOptionModule [ "virtualisation" "podman" "libpod" ] [ "virtualisation" "containers" "containersConf" ])
];
meta = {
@@ -114,7 +113,7 @@ in
type = types.package;
default = podmanPackage;
internal = true;
- description = ''
+ description = lib.mdDoc ''
The final Podman package (including extra packages).
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-image.nix b/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-image.nix
index 4076d68b93..4fca8ce9e7 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-image.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-image.nix
@@ -127,23 +127,38 @@ with lib;
name = "proxmox-${cfg.filenameSuffix}";
postVM = let
# Build qemu with PVE's patch that adds support for the VMA format
- vma = pkgs.qemu_kvm.overrideAttrs ( super: rec {
+ vma = (pkgs.qemu_kvm.override {
+ alsaSupport = false;
+ pulseSupport = false;
+ sdlSupport = false;
+ jackSupport = false;
+ gtkSupport = false;
+ vncSupport = false;
+ smartcardSupport = false;
+ spiceSupport = false;
+ ncursesSupport = false;
+ libiscsiSupport = false;
+ tpmSupport = false;
+ numaSupport = false;
+ seccompSupport = false;
+ guestAgentSupport = false;
+ }).overrideAttrs ( super: rec {
- # proxmox's VMA patch doesn't work with qemu 7.0 yet
- version = "6.2.0";
+ version = "7.0.0";
src = pkgs.fetchurl {
url= "https://download.qemu.org/qemu-${version}.tar.xz";
- hash = "sha256-aOFdjkWsVjJuC5pK+otJo9/oq6NIgiHQmMhGmLymW0U=";
+ sha256 = "sha256-9rN1x5UfcoQCeYsLqrsthkeMpT1Eztvvq74cRr9G+Dk=";
};
-
- patches = let
- rev = "b37b17c286da3d32945fbee8ee4fd97a418a50db";
- path = "debian/patches/pve/0026-PVE-Backup-add-vma-backup-format-code.patch";
- vma-patch = pkgs.fetchpatch {
- url = "https://git.proxmox.com/?p=pve-qemu.git;a=blob_plain;h=${rev};f=${path}";
- hash = "sha256-siuDWDUnM9Zq0/L2Faww3ELAOUHhVIHu5RAQn6L4Atc=";
- };
- in [ vma-patch ];
+ patches = [
+ (pkgs.fetchpatch {
+ url =
+ let
+ rev = "1976ca460796f28447b41e3618e5c1e234035dd5";
+ path = "debian/patches/pve/0026-PVE-Backup-add-vma-backup-format-code.patch";
+ in "https://git.proxmox.com/?p=pve-qemu.git;a=blob_plain;hb=${rev};f=${path}";
+ hash = "sha256-2Dz+ceTwrcyYYxi76RtyY3v15/2pwGcDhFuoZWlgbjc=";
+ })
+ ];
buildInputs = super.buildInputs ++ [ pkgs.libuuid ];
@@ -155,6 +170,9 @@ with lib;
rm $diskImage
${pkgs.zstd}/bin/zstd "vzdump-qemu-${cfg.filenameSuffix}.vma"
mv "vzdump-qemu-${cfg.filenameSuffix}.vma.zst" $out/
+
+ mkdir -p $out/nix-support
+ echo "file vma $out/vzdump-qemu-${cfg.filenameSuffix}.vma.zst" >> $out/nix-support/hydra-build-products
'';
format = "raw";
inherit config lib pkgs;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix b/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix
index 9b9f99e5b8..3d966d725a 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix
@@ -7,14 +7,14 @@ with lib;
privileged = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable privileged mounts
'';
};
manageNetwork = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to manage network interfaces through nix options
When false, systemd-networkd is enabled to accept network
configuration from proxmox.
@@ -23,7 +23,7 @@ with lib;
manageHostName = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to manage hostname through nix options
When false, the hostname is picked up from /etc/hostname
populated by proxmox.
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix b/third_party/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
index 5cb2a99bc3..0207bfba82 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
@@ -98,17 +98,13 @@ let
addDeviceNames =
imap1 (idx: drive: drive // { device = driveDeviceName idx; });
- efiPrefix =
- if pkgs.stdenv.hostPlatform.isx86 then "${pkgs.OVMF.fd}/FV/OVMF"
- else if pkgs.stdenv.isAarch64 then "${pkgs.OVMF.fd}/FV/AAVMF"
- else throw "No EFI firmware available for platform";
- efiFirmware = "${efiPrefix}_CODE.fd";
- efiVarsDefault = "${efiPrefix}_VARS.fd";
# Shell script to start the VM.
startVM =
''
- #! ${pkgs.runtimeShell}
+ #! ${cfg.host.pkgs.runtimeShell}
+
+ export PATH=${makeBinPath [ cfg.host.pkgs.coreutils ]}''${PATH:+:}$PATH
set -e
@@ -218,14 +214,14 @@ let
${qemu}/bin/qemu-img create -f qcow2 $diskImage "60M"
${if cfg.useEFIBoot then ''
efiVars=$out/efi-vars.fd
- cp ${efiVarsDefault} $efiVars
+ cp ${cfg.efi.variables} $efiVars
chmod 0644 $efiVars
'' else ""}
'';
buildInputs = [ pkgs.util-linux ];
QEMU_OPTS = "-nographic -serial stdio -monitor none"
+ lib.optionalString cfg.useEFIBoot (
- " -drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}"
+ " -drive if=pflash,format=raw,unit=0,readonly=on,file=${cfg.efi.firmware}"
+ " -drive if=pflash,format=raw,unit=1,file=$efiVars");
}
''
@@ -469,14 +465,13 @@ in
type = types.enum [ "host" "guest" ];
default = "host";
description =
- ''
+ lib.mdDoc ''
Controls the direction in which the ports are mapped:
- - "host" means traffic from the host ports
- is forwarded to the given guest port.
-
- - "guest" means traffic from the guest ports
- is forwarded to the given host port.
+ - `"host"` means traffic from the host ports
+ is forwarded to the given guest port.
+ - `"guest"` means traffic from the guest ports
+ is forwarded to the given host port.
'';
};
options.proto = mkOption {
@@ -517,17 +512,19 @@ in
]
'';
description =
- ''
+ lib.mdDoc ''
When using the SLiRP user networking (default), this option allows to
forward ports to/from the host/guest.
-
- If the NixOS firewall on the virtual machine is enabled, you also
- have to open the guest ports to enable the traffic between host and
- guest.
-
+ ::: {.warning}
+ If the NixOS firewall on the virtual machine is enabled, you also
+ have to open the guest ports to enable the traffic between host and
+ guest.
+ :::
- Currently QEMU supports only IPv4 forwarding.
+ ::: {.note}
+ Currently QEMU supports only IPv4 forwarding.
+ :::
'';
};
@@ -577,14 +574,27 @@ in
type = types.str;
default = "";
internal = true;
- description = "Primary IP address used in /etc/hosts.";
+ description = lib.mdDoc "Primary IP address used in /etc/hosts.";
};
+ virtualisation.host.pkgs = mkOption {
+ type = options.nixpkgs.pkgs.type;
+ default = pkgs;
+ defaultText = "pkgs";
+ example = literalExpression ''
+ import pkgs.path { system = "x86_64-darwin"; }
+ '';
+ description = ''
+ pkgs set to use for the host-specific packages of the vm runner.
+ Changing this to e.g. a Darwin package set allows running NixOS VMs on Darwin.
+ '';
+ };
+
virtualisation.qemu = {
package =
mkOption {
type = types.package;
- default = pkgs.qemu_kvm;
+ default = cfg.host.pkgs.qemu_kvm;
example = "pkgs.qemu_test";
description = lib.mdDoc "QEMU package to use.";
};
@@ -705,8 +715,31 @@ in
manager.
useEFIBoot is ignored if useBootLoader == false.
'';
+ };
+
+ virtualisation.efi = {
+ firmware = mkOption {
+ type = types.path;
+ default = pkgs.OVMF.firmware;
+ defaultText = "pkgs.OVMF.firmware";
+ description =
+ lib.mdDoc ''
+ Firmware binary for EFI implementation, defaults to OVMF.
+ '';
};
+ variables = mkOption {
+ type = types.path;
+ default = pkgs.OVMF.variables;
+ defaultText = "pkgs.OVMF.variables";
+ description =
+ lib.mdDoc ''
+ Platform-specific flash binary for EFI variables, implementation-dependent to the EFI firmware.
+ Defaults to OVMF.
+ '';
+ };
+ };
+
virtualisation.useDefaultFilesystems =
mkOption {
type = types.bool;
@@ -928,7 +961,7 @@ in
''-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS"''
])
(mkIf cfg.useEFIBoot [
- "-drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}"
+ "-drive if=pflash,format=raw,unit=0,readonly=on,file=${cfg.efi.firmware}"
"-drive if=pflash,format=raw,unit=1,file=$NIX_EFI_VARS"
])
(mkIf (cfg.bios != null) [
@@ -1058,14 +1091,14 @@ in
services.qemuGuest.enable = cfg.qemu.guestAgent.enable;
- system.build.vm = pkgs.runCommand "nixos-vm" {
+ system.build.vm = cfg.host.pkgs.runCommand "nixos-vm" {
preferLocalBuild = true;
meta.mainProgram = "run-${config.system.name}-vm";
}
''
mkdir -p $out/bin
ln -s ${config.system.build.toplevel} $out/system
- ln -s ${pkgs.writeScript "run-nixos-vm" startVM} $out/bin/run-${config.system.name}-vm
+ ln -s ${cfg.host.pkgs.writeScript "run-nixos-vm" startVM} $out/bin/run-${config.system.name}-vm
'';
# When building a regular system configuration, override whatever
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix b/third_party/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
index 4e47febed1..5a2ec4939d 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix
@@ -18,25 +18,25 @@ in
{
options.virtualisation.virtualbox.host = {
- enable = mkEnableOption "VirtualBox" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "VirtualBox") // {
+ description = lib.mdDoc ''
Whether to enable VirtualBox.
-
- In order to pass USB devices from the host to the guests, the user
- needs to be in the vboxusers group.
-
+ ::: {.note}
+ In order to pass USB devices from the host to the guests, the user
+ needs to be in the `vboxusers` group.
+ :::
'';
};
- enableExtensionPack = mkEnableOption "VirtualBox extension pack" // {
- description = ''
+ enableExtensionPack = mkEnableOption (lib.mdDoc "VirtualBox extension pack") // {
+ description = lib.mdDoc ''
Whether to install the Oracle Extension Pack for VirtualBox.
-
- You must set nixpkgs.config.allowUnfree = true in
- order to use this. This requires you accept the VirtualBox PUEL.
-
+ ::: {.important}
+ You must set `nixpkgs.config.allowUnfree = true` in
+ order to use this. This requires you accept the VirtualBox PUEL.
+ :::
'';
};
@@ -60,15 +60,15 @@ in
enableHardening = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = lib.mdDoc ''
Enable hardened VirtualBox, which ensures that only the binaries in the
system path get access to the devices exposed by the kernel modules
instead of all users in the vboxusers group.
-
- Disabling this can put your system's security at risk, as local users
- in the vboxusers group can tamper with the VirtualBox device files.
-
+ ::: {.important}
+ Disabling this can put your system's security at risk, as local users
+ in the vboxusers group can tamper with the VirtualBox device files.
+ :::
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix b/third_party/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
index 61ff9da65a..3b4d484fc8 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
@@ -13,7 +13,7 @@ in
];
options.virtualisation.vmware.guest = {
- enable = mkEnableOption "VMWare Guest Support";
+ enable = mkEnableOption (lib.mdDoc "VMWare Guest Support");
headless = mkOption {
type = types.bool;
default = false;
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/vmware-host.nix b/third_party/nixpkgs/nixos/modules/virtualisation/vmware-host.nix
index b4869f0210..e1d695640b 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/vmware-host.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/vmware-host.nix
@@ -20,21 +20,21 @@ in
{
options = with lib; {
virtualisation.vmware.host = {
- enable = mkEnableOption "VMware" // {
- description = ''
+ enable = mkEnableOption (lib.mdDoc "VMware") // {
+ description = lib.mdDoc ''
This enables VMware host virtualisation for running VMs.
-
- vmware-vmx will cause kcompactd0 due to
- Transparent Hugepages feature in kernel.
- Apply [ "transparent_hugepage=never" ] in
- option to disable them.
-
+ ::: {.important}
+ `vmware-vmx` will cause kcompactd0 due to
+ `Transparent Hugepages` feature in kernel.
+ Apply `[ "transparent_hugepage=never" ]` in
+ option {option}`boot.kernelParams` to disable them.
+ :::
-
- If that didn't work disable TRANSPARENT_HUGEPAGE,
- COMPACTION configs and recompile kernel.
-
+ ::: {.note}
+ If that didn't work disable `TRANSPARENT_HUGEPAGE`,
+ `COMPACTION` configs and recompile kernel.
+ :::
'';
};
package = mkOption {
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/waydroid.nix b/third_party/nixpkgs/nixos/modules/virtualisation/waydroid.nix
index 84abf60658..a2cfd806f3 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/waydroid.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/waydroid.nix
@@ -22,7 +22,7 @@ in
{
options.virtualisation.waydroid = {
- enable = mkEnableOption "Waydroid";
+ enable = mkEnableOption (lib.mdDoc "Waydroid");
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix b/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
index 25ccbaebc0..792edc9b39 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
@@ -5,7 +5,7 @@ let
in {
options = {
services.xe-guest-utilities = {
- enable = mkEnableOption "the Xen guest utilities daemon";
+ enable = mkEnableOption (lib.mdDoc "the Xen guest utilities daemon");
};
};
config = mkIf cfg.enable {
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix b/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
index 25d06e3c72..8f361a7ac0 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
@@ -139,7 +139,7 @@ in
};
};
- virtualisation.xen.trace = mkEnableOption "Xen tracing";
+ virtualisation.xen.trace = mkEnableOption (lib.mdDoc "Xen tracing");
};
diff --git a/third_party/nixpkgs/nixos/tests/all-tests.nix b/third_party/nixpkgs/nixos/tests/all-tests.nix
index c718c292b2..f3cde7e23a 100644
--- a/third_party/nixpkgs/nixos/tests/all-tests.nix
+++ b/third_party/nixpkgs/nixos/tests/all-tests.nix
@@ -82,6 +82,7 @@ in {
cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {};
charliecloud = handleTest ./charliecloud.nix {};
chromium = (handleTestOn ["x86_64-linux"] ./chromium.nix {}).stable or {};
+ cinnamon = handleTest ./cinnamon.nix {};
cjdns = handleTest ./cjdns.nix {};
clickhouse = handleTest ./clickhouse.nix {};
cloud-init = handleTest ./cloud-init.nix {};
@@ -276,14 +277,17 @@ in {
krb5 = discoverTests (import ./krb5 {});
ksm = handleTest ./ksm.nix {};
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
+ languagetool = handleTest ./languagetool.nix {};
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
leaps = handleTest ./leaps.nix {};
+ lemmy = handleTest ./lemmy.nix {};
libinput = handleTest ./libinput.nix {};
libreddit = handleTest ./libreddit.nix {};
libresprite = handleTest ./libresprite.nix {};
libreswan = handleTest ./libreswan.nix {};
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
libuiohook = handleTest ./libuiohook.nix {};
+ libvirtd = handleTest ./libvirtd.nix {};
lidarr = handleTest ./lidarr.nix {};
lightdm = handleTest ./lightdm.nix {};
lighttpd = handleTest ./lighttpd.nix {};
@@ -357,6 +361,7 @@ in {
ncdns = handleTest ./ncdns.nix {};
ndppd = handleTest ./ndppd.nix {};
nebula = handleTest ./nebula.nix {};
+ netbird = handleTest ./netbird.nix {};
neo4j = handleTest ./neo4j.nix {};
netdata = handleTest ./netdata.nix {};
networking.networkd = handleTest ./networking.nix { networkd = true; };
@@ -619,6 +624,7 @@ in {
wmderland = handleTest ./wmderland.nix {};
wpa_supplicant = handleTest ./wpa_supplicant.nix {};
wordpress = handleTest ./wordpress.nix {};
+ writefreely = handleTest ./web-apps/writefreely.nix {};
xandikos = handleTest ./xandikos.nix {};
xautolock = handleTest ./xautolock.nix {};
xfce = handleTest ./xfce.nix {};
diff --git a/third_party/nixpkgs/nixos/tests/cagebreak.nix b/third_party/nixpkgs/nixos/tests/cagebreak.nix
index 1dcc910f97..1fef7cb57c 100644
--- a/third_party/nixpkgs/nixos/tests/cagebreak.nix
+++ b/third_party/nixpkgs/nixos/tests/cagebreak.nix
@@ -33,6 +33,7 @@ in
hardware.opengl.enable = true;
programs.xwayland.enable = true;
+ security.polkit.enable = true;
environment.systemPackages = [ pkgs.cagebreak pkgs.wayland-utils ];
# Need to switch to a different GPU driver than the default one (-vga std) so that Cagebreak can launch:
diff --git a/third_party/nixpkgs/nixos/tests/cinnamon.nix b/third_party/nixpkgs/nixos/tests/cinnamon.nix
new file mode 100644
index 0000000000..f0add41429
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/cinnamon.nix
@@ -0,0 +1,68 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+ name = "cinnamon";
+
+ meta = with lib; {
+ maintainers = teams.cinnamon.members;
+ };
+
+ nodes.machine = { nodes, ... }: {
+ imports = [ ./common/user-account.nix ];
+ services.xserver.enable = true;
+ services.xserver.desktopManager.cinnamon.enable = true;
+ };
+
+ enableOCR = true;
+
+ testScript = { nodes, ... }:
+ let
+ user = nodes.machine.config.users.users.alice;
+ uid = toString user.uid;
+ bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
+ display = "DISPLAY=:0.0";
+ env = "${bus} ${display}";
+ gdbus = "${env} gdbus";
+ su = command: "su - ${user.name} -c '${env} ${command}'";
+
+ # Call javascript in cinnamon (the shell), returns a tuple (success, output),
+ # where `success` is true if the dbus call was successful and `output` is what
+ # the javascript evaluates to.
+ eval = "call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval";
+
+ # Should be 2 (RunState.RUNNING) when startup is done.
+ # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187
+ getRunState = su "${gdbus} ${eval} Main.runState";
+
+ # Start gnome-terminal.
+ gnomeTerminalCommand = su "gnome-terminal";
+
+ # Hopefully gnome-terminal's wm class.
+ wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
+ in
+ ''
+ machine.wait_for_unit("display-manager.service")
+
+ with subtest("Test if we can see username in slick-greeter"):
+ machine.wait_for_text("${user.description}")
+ machine.screenshot("slick_greeter_lightdm")
+
+ with subtest("Login with slick-greeter"):
+ machine.send_chars("${user.password}\n")
+ machine.wait_for_x()
+ machine.wait_for_file("${user.home}/.Xauthority")
+ machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+ with subtest("Check that logging in has given the user ownership of devices"):
+ machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+ with subtest("Wait for the Cinnamon shell"):
+ # Correct output should be (true, '2')
+ machine.wait_until_succeeds("${getRunState} | grep -q 'true,..2'")
+
+ with subtest("Open GNOME Terminal"):
+ machine.succeed("${gnomeTerminalCommand}")
+ # Correct output should be (true, '"Gnome-terminal"')
+ machine.wait_until_succeeds("${wmClass} | grep -q 'true,...Gnome-terminal'")
+ machine.sleep(20)
+ machine.screenshot("screen")
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/common/acme/server/default.nix b/third_party/nixpkgs/nixos/tests/common/acme/server/default.nix
index 450d49e603..fa1b9b545d 100644
--- a/third_party/nixpkgs/nixos/tests/common/acme/server/default.nix
+++ b/third_party/nixpkgs/nixos/tests/common/acme/server/default.nix
@@ -81,8 +81,8 @@ in {
type = types.str;
readOnly = true;
default = domain;
- description = ''
- A domain name to use with the nodes attribute to
+ description = lib.mdDoc ''
+ A domain name to use with the `nodes` attribute to
identify the CA server.
'';
};
@@ -90,10 +90,10 @@ in {
type = types.path;
readOnly = true;
default = testCerts.ca.cert;
- description = ''
- A certificate file to use with the nodes attribute to
+ description = lib.mdDoc ''
+ A certificate file to use with the `nodes` attribute to
inject the test CA certificate used in the ACME server into
- .
+ {option}`security.pki.certificateFiles`.
'';
};
};
diff --git a/third_party/nixpkgs/nixos/tests/common/auto.nix b/third_party/nixpkgs/nixos/tests/common/auto.nix
index da6b14e9f1..f2ab82f88f 100644
--- a/third_party/nixpkgs/nixos/tests/common/auto.nix
+++ b/third_party/nixpkgs/nixos/tests/common/auto.nix
@@ -19,17 +19,17 @@ in
enable = mkOption {
default = false;
- description = ''
+ description = lib.mdDoc ''
Whether to enable the fake "auto" display manager, which
automatically logs in the user specified in the
- option. This is mostly useful for
+ {option}`user` option. This is mostly useful for
automated tests.
'';
};
user = mkOption {
default = "root";
- description = "The user account to login automatically.";
+ description = lib.mdDoc "The user account to login automatically.";
};
};
diff --git a/third_party/nixpkgs/nixos/tests/common/resolver.nix b/third_party/nixpkgs/nixos/tests/common/resolver.nix
index 09a74de20f..3ddf730668 100644
--- a/third_party/nixpkgs/nixos/tests/common/resolver.nix
+++ b/third_party/nixpkgs/nixos/tests/common/resolver.nix
@@ -10,15 +10,15 @@
type = lib.types.bool;
default = true;
internal = true;
- description = ''
+ description = lib.mdDoc ''
Whether to enable the resolver that automatically discovers zone in the
test network.
- This option is true by default, because the module
+ This option is `true` by default, because the module
defining this option needs to be explicitly imported.
The reason this option exists is for the
- nixos/tests/common/acme/server module, which
+ {file}`nixos/tests/common/acme/server` module, which
needs that option to disable the resolver once the user has set its own
resolver.
'';
diff --git a/third_party/nixpkgs/nixos/tests/dolibarr.nix b/third_party/nixpkgs/nixos/tests/dolibarr.nix
new file mode 100644
index 0000000000..2f012a0c67
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/dolibarr.nix
@@ -0,0 +1,59 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+ name = "dolibarr";
+ meta.maintainers = [ lib.maintainers.raitobezarius ];
+
+ nodes.machine =
+ { ... }:
+ {
+ services.dolibarr = {
+ enable = true;
+ domain = "localhost";
+ nginx = {
+ forceSSL = false;
+ enableACME = false;
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 80 ];
+ };
+
+ testScript = ''
+ from html.parser import HTMLParser
+ start_all()
+
+ csrf_token = None
+ class TokenParser(HTMLParser):
+ def handle_starttag(self, tag, attrs):
+ attrs = dict(attrs) # attrs is an assoc list originally
+ if tag == 'input' and attrs.get('name') == 'token':
+ csrf_token = attrs.get('value')
+ print(f'[+] Caught CSRF token: {csrf_token}')
+ def handle_endtag(self, tag): pass
+ def handle_data(self, data): pass
+
+ machine.wait_for_unit("phpfpm-dolibarr.service")
+ machine.wait_for_unit("nginx.service")
+ machine.wait_for_open_port(80)
+ # Sanity checks on URLs.
+ # machine.succeed("curl -fL http://localhost/index.php")
+ # machine.succeed("curl -fL http://localhost/")
+ # Perform installation.
+ machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto')
+ machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto')
+ # First time is to write the configuration file correctly.
+ machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"')
+ # Now, we have a proper conf.php in $stateDir.
+ assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php")
+ machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"')
+ machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"')
+ machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"')
+ # Now, we have installed the machine, let's verify we still have the right configuration.
+ assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php")
+ # We do not want any redirect now as we have installed the machine.
+ machine.succeed('curl -f -X POST http://localhost')
+ # Test authentication to the webservice.
+ parser = TokenParser()
+ parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root'))
+ machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2')
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/installed-tests/ibus.nix b/third_party/nixpkgs/nixos/tests/installed-tests/ibus.nix
index a4bc2a7d7d..028c20c29f 100644
--- a/third_party/nixpkgs/nixos/tests/installed-tests/ibus.nix
+++ b/third_party/nixpkgs/nixos/tests/installed-tests/ibus.nix
@@ -4,6 +4,7 @@ makeInstalledTest {
tested = pkgs.ibus;
testConfig = {
+ i18n.supportedLocales = [ "all" ];
i18n.inputMethod.enabled = "ibus";
systemd.user.services.ibus-daemon = {
serviceConfig.ExecStart = "${pkgs.ibus}/bin/ibus-daemon --xim --verbose";
diff --git a/third_party/nixpkgs/nixos/tests/k3s/multi-node.nix b/third_party/nixpkgs/nixos/tests/k3s/multi-node.nix
index afb8c78f23..ae9609fbcc 100644
--- a/third_party/nixpkgs/nixos/tests/k3s/multi-node.nix
+++ b/third_party/nixpkgs/nixos/tests/k3s/multi-node.nix
@@ -53,9 +53,10 @@ import ../make-test-python.nix ({ pkgs, ... }:
enable = true;
role = "server";
package = pkgs.k3s;
+ clusterInit = true;
extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local --node-ip 192.168.1.1";
};
- networking.firewall.allowedTCPPorts = [ 6443 ];
+ networking.firewall.allowedTCPPorts = [ 2379 2380 6443 ];
networking.firewall.allowedUDPPorts = [ 8472 ];
networking.firewall.trustedInterfaces = [ "flannel.1" ];
networking.useDHCP = false;
@@ -65,6 +66,28 @@ import ../make-test-python.nix ({ pkgs, ... }:
];
};
+ server2 = { pkgs, ... }: {
+ environment.systemPackages = with pkgs; [ gzip jq ];
+ virtualisation.memorySize = 1536;
+ virtualisation.diskSize = 4096;
+
+ services.k3s = {
+ inherit tokenFile;
+ enable = true;
+ serverAddr = "https://192.168.1.1:6443";
+ clusterInit = false;
+ extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local --node-ip 192.168.1.3";
+ };
+ networking.firewall.allowedTCPPorts = [ 2379 2380 6443 ];
+ networking.firewall.allowedUDPPorts = [ 8472 ];
+ networking.firewall.trustedInterfaces = [ "flannel.1" ];
+ networking.useDHCP = false;
+ networking.defaultGateway = "192.168.1.3";
+ networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [
+ { address = "192.168.1.3"; prefixLength = 24; }
+ ];
+ };
+
agent = { pkgs, ... }: {
virtualisation.memorySize = 1024;
virtualisation.diskSize = 2048;
@@ -72,7 +95,7 @@ import ../make-test-python.nix ({ pkgs, ... }:
inherit tokenFile;
enable = true;
role = "agent";
- serverAddr = "https://192.168.1.1:6443";
+ serverAddr = "https://192.168.1.3:6443";
extraFlags = "--pause-image test.local/pause:local --node-ip 192.168.1.2";
};
networking.firewall.allowedTCPPorts = [ 6443 ];
@@ -91,9 +114,9 @@ import ../make-test-python.nix ({ pkgs, ... }:
};
testScript = ''
- start_all()
- machines = [server, agent]
+ machines = [server, server2, agent]
for m in machines:
+ m.start()
m.wait_for_unit("k3s")
# wait for the agent to show up
diff --git a/third_party/nixpkgs/nixos/tests/kanidm.nix b/third_party/nixpkgs/nixos/tests/kanidm.nix
index d34f680f52..852dc53e75 100644
--- a/third_party/nixpkgs/nixos/tests/kanidm.nix
+++ b/third_party/nixpkgs/nixos/tests/kanidm.nix
@@ -69,7 +69,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
server.wait_until_succeeds("ldapsearch -H ldap://[::1]:636 -b '${ldapBaseDN}' -x '(name=test)'")
client.wait_until_succeeds("kanidm login -D anonymous && kanidm self whoami | grep anonymous@${serverDomain}")
- (rv, result) = server.execute("kanidmd recover_account -d quiet -c ${serverConfigFile} -n admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
+ rv, result = server.execute("kanidmd recover_account -c ${serverConfigFile} idm_admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
assert rv == 0
'';
})
diff --git a/third_party/nixpkgs/nixos/tests/languagetool.nix b/third_party/nixpkgs/nixos/tests/languagetool.nix
new file mode 100644
index 0000000000..e4ab2a4706
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/languagetool.nix
@@ -0,0 +1,19 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+let port = 8082;
+in {
+ name = "languagetool";
+ meta = with lib.maintainers; { maintainers = [ fbeffa ]; };
+
+ nodes.machine = { ... }:
+ {
+ services.languagetool.enable = true;
+ services.languagetool.port = port;
+ };
+
+ testScript = ''
+ machine.start()
+ machine.wait_for_unit("languagetool.service")
+ machine.wait_for_open_port(${toString port})
+ machine.wait_until_succeeds('curl -d "language=en-US" -d "text=a simple test" http://localhost:${toString port}/v2/check')
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/lemmy.nix b/third_party/nixpkgs/nixos/tests/lemmy.nix
new file mode 100644
index 0000000000..543bd2ce57
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/lemmy.nix
@@ -0,0 +1,93 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+let
+ uiPort = 1234;
+ backendPort = 5678;
+ lemmyNodeName = "server";
+in
+{
+ name = "lemmy";
+ meta = with lib.maintainers; { maintainers = [ mightyiam ]; };
+
+ nodes = {
+ client = { };
+
+ "${lemmyNodeName}" = {
+ services.lemmy = {
+ enable = true;
+ jwtSecretPath = pkgs.writeTextFile {
+ name = "lemmy-secret";
+ text = "very-secret-password123";
+ };
+ ui.port = uiPort;
+ settings = {
+ hostname = "http://${lemmyNodeName}";
+ port = backendPort;
+ database.createLocally = true;
+ # Without setup, the /feeds/* and /nodeinfo/* API endpoints won't return 200
+ setup = {
+ admin_username = "mightyiam";
+ admin_password = "ThisIsWhatIUseEverywhereTryIt";
+ site_name = "Lemmy FTW";
+ admin_email = "mightyiam@example.com";
+ };
+ };
+ caddy.enable = true;
+ };
+
+ networking.firewall.allowedTCPPorts = [ 80 ];
+
+ # pict-rs seems to need more than 1025114112 bytes
+ virtualisation.memorySize = 2000;
+ };
+ };
+
+ testScript = ''
+ server = ${lemmyNodeName}
+
+ with subtest("the backend starts and responds"):
+ server.wait_for_unit("lemmy.service")
+ server.wait_for_open_port(${toString backendPort})
+ server.succeed("curl --fail localhost:${toString backendPort}/api/v3/site")
+
+ with subtest("the UI starts and responds"):
+ server.wait_for_unit("lemmy-ui.service")
+ server.wait_for_open_port(${toString uiPort})
+ server.succeed("curl --fail localhost:${toString uiPort}")
+
+ with subtest("Lemmy-UI responds through the caddy reverse proxy"):
+ server.wait_for_unit("network-online.target")
+ server.wait_for_unit("caddy.service")
+ server.wait_for_open_port(80)
+ body = server.execute("curl --fail --location ${lemmyNodeName}")[1]
+ assert "Lemmy" in body, f"String Lemmy not found in response for ${lemmyNodeName}: \n{body}"
+
+ with subtest("the server is exposed externally"):
+ client.wait_for_unit("network-online.target")
+ client.succeed("curl -v --fail ${lemmyNodeName}")
+
+ with subtest("caddy correctly routes backend requests"):
+ # Make sure we are not hitting frontend
+ server.execute("systemctl stop lemmy-ui.service")
+
+ def assert_http_code(url, expected_http_code, extra_curl_args=""):
+ _, http_code = server.execute(f'curl --silent -o /dev/null {extra_curl_args} --fail --write-out "%{{http_code}}" {url}')
+ assert http_code == str(expected_http_code), f"expected http code {expected_http_code}, got {http_code}"
+
+ # Caddy responds with HTTP code 502 if it cannot handle the requested path
+ assert_http_code("${lemmyNodeName}/obviously-wrong-path/", 502)
+
+ assert_http_code("${lemmyNodeName}/static/js/client.js", 200)
+ assert_http_code("${lemmyNodeName}/api/v3/site", 200)
+
+ # A 404 confirms that the request goes to the backend
+ # No path can return 200 until after we upload an image to pict-rs
+ assert_http_code("${lemmyNodeName}/pictrs/", 404)
+
+ assert_http_code("${lemmyNodeName}/feeds/all.xml", 200)
+ assert_http_code("${lemmyNodeName}/nodeinfo/2.0.json", 200)
+
+ assert_http_code("${lemmyNodeName}/some-other-made-up-path/", 404, "-X POST")
+ assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/activity+json'")
+ assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"'")
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/libvirtd.nix b/third_party/nixpkgs/nixos/tests/libvirtd.nix
new file mode 100644
index 0000000000..1ab082c1e9
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/libvirtd.nix
@@ -0,0 +1,49 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+ name = "libvirtd";
+ meta.maintainers = with pkgs.lib.maintainers; [ fpletz ];
+
+ nodes = {
+ virthost =
+ { pkgs, ... }:
+ {
+ virtualisation = {
+ cores = 2;
+ memorySize = 2048;
+
+ libvirtd.enable = true;
+ };
+ networking.nameservers = [ "192.168.122.1" ];
+ security.polkit.enable = true;
+ environment.systemPackages = with pkgs; [ virt-manager ];
+ };
+ };
+
+ testScript = let
+ nixosInstallISO = (import ../release.nix {}).iso_minimal.${pkgs.hostPlatform.system};
+ virshShutdownCmd = if pkgs.stdenv.isx86_64 then "shutdown" else "destroy";
+ in ''
+ start_all()
+
+ virthost.wait_for_unit("sockets.target")
+
+ with subtest("enable default network"):
+ virthost.succeed("virsh net-start default")
+ virthost.succeed("virsh net-autostart default")
+ virthost.succeed("virsh net-info default")
+
+ with subtest("check if partition disk pools works with parted"):
+ virthost.succeed("fallocate -l100m /tmp/foo; losetup /dev/loop0 /tmp/foo; echo 'label: dos' | sfdisk /dev/loop0")
+ virthost.succeed("virsh pool-create-as foo disk --source-dev /dev/loop0 --target /dev")
+ virthost.succeed("virsh vol-create-as foo loop0p1 25MB")
+ virthost.succeed("virsh vol-create-as foo loop0p2 50MB")
+
+ with subtest("check if nixos install iso boots and network works"):
+ virthost.succeed(
+ "virt-install -n nixos --osinfo=nixos-unstable --ram=1024 --graphics=none --disk=`find ${nixosInstallISO}/iso -type f | head -n1`,readonly=on --import --noautoconsole"
+ )
+ virthost.succeed("virsh domstate nixos | grep running")
+ virthost.wait_until_succeeds("ping -c 1 nixos")
+ virthost.succeed("virsh ${virshShutdownCmd} nixos")
+ virthost.wait_until_succeeds("virsh domstate nixos | grep 'shut off'")
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/meilisearch.nix b/third_party/nixpkgs/nixos/tests/meilisearch.nix
index 6d7514a1cc..c31dcb0559 100644
--- a/third_party/nixpkgs/nixos/tests/meilisearch.nix
+++ b/third_party/nixpkgs/nixos/tests/meilisearch.nix
@@ -35,20 +35,20 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
with subtest("create index"):
machine.succeed(
- "curl -XPOST --header 'Content-Type: application/json' ${apiUrl}/indexes --data @${indexJSON}"
+ "curl -X POST -H 'Content-Type: application/json' ${apiUrl}/indexes --data @${indexJSON}"
)
indexes = json.loads(machine.succeed("curl ${apiUrl}/indexes"))
- assert len(indexes) == 1, "index wasn't created"
+ assert indexes["total"] == 1, "index wasn't created"
with subtest("add documents"):
response = json.loads(
machine.succeed(
- "curl -XPOST --header 'Content-Type: application/json' ${apiUrl}/indexes/${uid}/documents --data @${moviesJSON}"
+ "curl -X POST -H 'Content-Type: application/json' ${apiUrl}/indexes/${uid}/documents --data-binary @${moviesJSON}"
)
)
- update_id = response["updateId"]
+ task_uid = response["taskUid"]
machine.wait_until_succeeds(
- f"curl ${apiUrl}/indexes/${uid}/updates/{update_id} | jq -e '.status == \"processed\"'"
+ f"curl ${apiUrl}/tasks/{task_uid} | jq -e '.status == \"succeeded\"'"
)
with subtest("search"):
diff --git a/third_party/nixpkgs/nixos/tests/minecraft-server.nix b/third_party/nixpkgs/nixos/tests/minecraft-server.nix
index a51b36ff53..6e733bb96c 100644
--- a/third_party/nixpkgs/nixos/tests/minecraft-server.nix
+++ b/third_party/nixpkgs/nixos/tests/minecraft-server.nix
@@ -18,6 +18,8 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
serverProperties = {
enable-rcon = true;
level-seed = seed;
+ level-type = "flat";
+ generate-structures = false;
online-mode = false;
"rcon.password" = rcon-pass;
"rcon.port" = rcon-port;
diff --git a/third_party/nixpkgs/nixos/tests/minidlna.nix b/third_party/nixpkgs/nixos/tests/minidlna.nix
index 76039b0bb4..3272181963 100644
--- a/third_party/nixpkgs/nixos/tests/minidlna.nix
+++ b/third_party/nixpkgs/nixos/tests/minidlna.nix
@@ -6,25 +6,24 @@ import ./make-test-python.nix ({ pkgs, ... }: {
{ ... }:
{
imports = [ ../modules/profiles/minimal.nix ];
- networking.firewall.allowedTCPPorts = [ 8200 ];
- services.minidlna = {
- enable = true;
- loglevel = "error";
- mediaDirs = [
- "PV,/tmp/stuff"
+ services.minidlna.enable = true;
+ services.minidlna.openFirewall = true;
+ services.minidlna.settings = {
+ log_level = "error";
+ media_dir = [
+ "PV,/tmp/stuff"
+ ];
+ friendly_name = "rpi3";
+ root_container = "B";
+ notify_interval = 60;
+ album_art_names = [
+ "Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg"
+ "AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg"
+ "Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg"
];
- friendlyName = "rpi3";
- rootContainer = "B";
- extraConfig =
- ''
- album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
- album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
- album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
- notify_interval=60
- '';
};
};
- client = { ... }: { };
+ client = { ... }: { };
};
testScript =
diff --git a/third_party/nixpkgs/nixos/tests/moodle.nix b/third_party/nixpkgs/nixos/tests/moodle.nix
index 4570e89638..8fd011e0cb 100644
--- a/third_party/nixpkgs/nixos/tests/moodle.nix
+++ b/third_party/nixpkgs/nixos/tests/moodle.nix
@@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
testScript = ''
start_all()
- machine.wait_for_unit("phpfpm-moodle.service")
+ machine.wait_for_unit("phpfpm-moodle.service", timeout=1800)
machine.wait_until_succeeds("curl http://localhost/ | grep 'You are not logged in'")
'';
})
diff --git a/third_party/nixpkgs/nixos/tests/netbird.nix b/third_party/nixpkgs/nixos/tests/netbird.nix
new file mode 100644
index 0000000000..ef793cfe98
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/netbird.nix
@@ -0,0 +1,21 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+{
+ name = "netbird";
+
+ meta = with pkgs.lib.maintainers; {
+ maintainers = [ misuzu ];
+ };
+
+ nodes = {
+ node = { ... }: {
+ services.netbird.enable = true;
+ };
+ };
+
+ testScript = ''
+ start_all()
+ node.wait_for_unit("netbird.service")
+ node.wait_for_file("/var/run/netbird/sock")
+ node.succeed("netbird status | grep -q 'Daemon status: NeedsLogin'")
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix b/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
index 4fdff7dbda..596a4eafcd 100644
--- a/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
@@ -307,6 +307,19 @@ let
'';
};
+ ipmi = {
+ exporterConfig = {
+ enable = true;
+ };
+ exporterTest = ''
+ wait_for_unit("prometheus-ipmi-exporter.service")
+ wait_for_open_port(9290)
+ succeed(
+ "curl -sSf http://localhost:9290/metrics | grep 'ipmi_scrape_duration_seconds'"
+ )
+ '';
+ };
+
jitsi = {
exporterConfig = {
enable = true;
@@ -1256,6 +1269,67 @@ let
'';
};
+ v2ray = {
+ exporterConfig = {
+ enable = true;
+ };
+
+ metricProvider = {
+ systemd.services.prometheus-nginx-exporter.after = [ "v2ray.service" ];
+ services.v2ray = {
+ enable = true;
+ config = {
+ stats = {};
+ api = {
+ tag = "api";
+ services = [ "StatsService" ];
+ };
+ inbounds = [
+ {
+ port = 1080;
+ listen = "127.0.0.1";
+ protocol = "http";
+ }
+ {
+ listen = "127.0.0.1";
+ port = 54321;
+ protocol = "dokodemo-door";
+ settings = { address = "127.0.0.1"; };
+ tag = "api";
+ }
+ ];
+ outbounds = [
+ {
+ protocol = "freedom";
+ }
+ {
+ protocol = "freedom";
+ settings = {};
+ tag = "api";
+ }
+ ];
+ routing = {
+ strategy = "rules";
+ settings = {
+ rules = [
+ {
+ inboundTag = [ "api" ];
+ outboundTag = "api";
+ type = "field";
+ }
+ ];
+ };
+ };
+ };
+ };
+ };
+ exporterTest = ''
+ wait_for_unit("prometheus-v2ray-exporter.service")
+ wait_for_open_port(9299)
+ succeed("curl -sSf localhost:9299/scrape | grep 'v2ray_up 1'")
+ '';
+ };
+
varnish = {
exporterConfig = {
enable = true;
diff --git a/third_party/nixpkgs/nixos/tests/sanoid.nix b/third_party/nixpkgs/nixos/tests/sanoid.nix
index 97833c37e6..411ebcead9 100644
--- a/third_party/nixpkgs/nixos/tests/sanoid.nix
+++ b/third_party/nixpkgs/nixos/tests/sanoid.nix
@@ -34,6 +34,7 @@ in {
autosnap = true;
};
datasets."pool/sanoid".use_template = [ "test" ];
+ datasets."pool/compat".useTemplate = [ "test" ];
extraArgs = [ "--verbose" ];
};
@@ -51,6 +52,12 @@ in {
# Test pool without parent (regression test for https://github.com/NixOS/nixpkgs/pull/180111)
"pool".target = "root@target:pool/full-pool";
+
+ # Test backward compatible options (regression test for https://github.com/NixOS/nixpkgs/issues/181561)
+ "pool/compat" = {
+ target = "root@target:pool/compat";
+ extraArgs = [ "--no-sync-snap" ];
+ };
};
};
};
@@ -70,6 +77,7 @@ in {
"udevadm settle",
"zpool create pool -R /mnt /dev/vdb1",
"zfs create pool/sanoid",
+ "zfs create pool/compat",
"zfs create pool/syncoid",
"udevadm settle",
)
@@ -94,6 +102,7 @@ in {
# Take snapshot with sanoid
source.succeed("touch /mnt/pool/sanoid/test.txt")
+ source.succeed("touch /mnt/pool/compat/test.txt")
source.systemctl("start --wait sanoid.service")
assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after snapshotting"
@@ -111,6 +120,9 @@ in {
source.systemctl("start --wait syncoid-pool.service")
target.succeed("[[ -d /mnt/pool/full-pool/syncoid ]]")
+ source.systemctl("start --wait syncoid-pool-compat.service")
+ target.succeed("cat /mnt/pool/compat/test.txt")
+
assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after syncing snapshots"
assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after syncing snapshots"
assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after syncing snapshots"
diff --git a/third_party/nixpkgs/nixos/tests/switch-test.nix b/third_party/nixpkgs/nixos/tests/switch-test.nix
index 0198866b6f..f891a2cb2f 100644
--- a/third_party/nixpkgs/nixos/tests/switch-test.nix
+++ b/third_party/nixpkgs/nixos/tests/switch-test.nix
@@ -214,6 +214,25 @@ in {
systemd.services."escaped\\x2ddash".serviceConfig.X-Test = "test";
};
+ unitStartingWithDash.configuration = {
+ systemd.services."-" = {
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ ExecStart = "${pkgs.coreutils}/bin/true";
+ };
+ };
+ };
+
+ unitStartingWithDashModified.configuration = {
+ imports = [ unitStartingWithDash.configuration ];
+ systemd.services."-" = {
+ reloadIfChanged = true;
+ serviceConfig.ExecReload = "${pkgs.coreutils}/bin/true";
+ };
+ };
+
unitWithRequirement.configuration = {
systemd.services.required-service = {
wantedBy = [ "multi-user.target" ];
@@ -637,9 +656,27 @@ in {
assert_contains(out, "\nstarting the following units: escaped\\x2ddash.service\n")
assert_lacks(out, "the following new units were started:")
+ # Ensure units can start with a dash
+ out = switch_to_specialisation("${machine}", "unitStartingWithDash")
+ assert_contains(out, "stopping the following units: escaped\\x2ddash.service\n")
+ assert_lacks(out, "NOT restarting the following changed units:")
+ assert_lacks(out, "reloading the following units:")
+ assert_lacks(out, "\nrestarting the following units:")
+ assert_lacks(out, "\nstarting the following units:")
+ assert_contains(out, "the following new units were started: -.service\n")
+
+ # The regression only occurs when reloading units
+ out = switch_to_specialisation("${machine}", "unitStartingWithDashModified")
+ assert_lacks(out, "stopping the following units:")
+ assert_lacks(out, "NOT restarting the following changed units:")
+ assert_contains(out, "reloading the following units: -.service")
+ assert_lacks(out, "\nrestarting the following units:")
+ assert_lacks(out, "\nstarting the following units:")
+ assert_lacks(out, "the following new units were started:")
+
# Ensure units that require changed units are properly reloaded
out = switch_to_specialisation("${machine}", "unitWithRequirement")
- assert_contains(out, "stopping the following units: escaped\\x2ddash.service\n")
+ assert_contains(out, "stopping the following units: -.service\n")
assert_lacks(out, "NOT restarting the following changed units:")
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
diff --git a/third_party/nixpkgs/nixos/tests/systemd-confinement.nix b/third_party/nixpkgs/nixos/tests/systemd-confinement.nix
index bde5b770ea..428888d41a 100644
--- a/third_party/nixpkgs/nixos/tests/systemd-confinement.nix
+++ b/third_party/nixpkgs/nixos/tests/systemd-confinement.nix
@@ -153,7 +153,7 @@ import ./make-test-python.nix {
options.__testSteps = lib.mkOption {
type = lib.types.lines;
- description = "All of the test steps combined as a single script.";
+ description = lib.mdDoc "All of the test steps combined as a single script.";
};
config.environment.systemPackages = lib.singleton testClient;
diff --git a/third_party/nixpkgs/nixos/tests/web-apps/writefreely.nix b/third_party/nixpkgs/nixos/tests/web-apps/writefreely.nix
new file mode 100644
index 0000000000..ce61490970
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/web-apps/writefreely.nix
@@ -0,0 +1,44 @@
+{ system ? builtins.currentSystem, config ? { }
+, pkgs ? import ../../.. { inherit system config; } }:
+
+with import ../../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+
+let
+ writefreelyTest = { name, type }:
+ makeTest {
+ name = "writefreely-${name}";
+
+ nodes.machine = { config, pkgs, ... }: {
+ services.writefreely = {
+ enable = true;
+ host = "localhost:3000";
+ admin.name = "nixos";
+
+ database = {
+ inherit type;
+ createLocally = type == "mysql";
+ passwordFile = pkgs.writeText "db-pass" "pass";
+ };
+
+ settings.server.port = 3000;
+ };
+ };
+
+ testScript = ''
+ start_all()
+ machine.wait_for_unit("writefreely.service")
+ machine.wait_for_open_port(3000)
+ machine.succeed("curl --fail http://localhost:3000")
+ '';
+ };
+in {
+ sqlite = writefreelyTest {
+ name = "sqlite";
+ type = "sqlite3";
+ };
+ mysql = writefreelyTest {
+ name = "mysql";
+ type = "mysql";
+ };
+}
diff --git a/third_party/nixpkgs/nixos/tests/zigbee2mqtt.nix b/third_party/nixpkgs/nixos/tests/zigbee2mqtt.nix
index 1592202fb3..1a40d175df 100644
--- a/third_party/nixpkgs/nixos/tests/zigbee2mqtt.nix
+++ b/third_party/nixpkgs/nixos/tests/zigbee2mqtt.nix
@@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
-
{
+ name = "zigbee2mqtt";
nodes.machine = { pkgs, ... }:
{
services.zigbee2mqtt = {
diff --git a/third_party/nixpkgs/pkgs/applications/accessibility/wvkbd/default.nix b/third_party/nixpkgs/pkgs/applications/accessibility/wvkbd/default.nix
index a593b0d2ea..e44b68f966 100644
--- a/third_party/nixpkgs/pkgs/applications/accessibility/wvkbd/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/accessibility/wvkbd/default.nix
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "wvkbd";
- version = "0.7";
+ version = "0.10";
src = fetchFromGitHub {
owner = "jjsullivan5196";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-5UV2PMrLXtF3AxjfPxxwFRkgVef+Ap8nG1v795o0bWE=";
+ sha256 = "sha256-h/hXHQfLiDkVKYZFsjyq2+w1Pnn3lR6H+r+fXYkP5ZY=";
};
nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/amberol/default.nix b/third_party/nixpkgs/pkgs/applications/audio/amberol/default.nix
index 0c5523c0a3..5c905f97c4 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/amberol/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/amberol/default.nix
@@ -19,20 +19,20 @@
stdenv.mkDerivation rec {
pname = "amberol";
- version = "0.9.0";
+ version = "0.9.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = version;
- hash = "sha256-/kZYzUzycHKre6/dvZgeqXu6mrkblftV51Z7866fZVY=";
+ hash = "sha256-UZFOQw9eXSyCey4YQ4pWV91BIo+5tFw1N8es5H03+fc=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
- hash = "sha256-1+RWL9MD6aX+zI2rtQUQCqemCephLKGEAf5xNCb+jo4=";
+ hash = "sha256-ebo718+HAZFd7Pjy06jAzmaLdjR3o4Hn0xEeO7yiIC0=";
};
postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/applications/audio/bambootracker/default.nix b/third_party/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
index 7408f57a1a..f19afcefc6 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
@@ -12,14 +12,14 @@
mkDerivation rec {
pname = "bambootracker";
- version = "0.5.1";
+ version = "0.5.2";
src = fetchFromGitHub {
owner = "BambooTracker";
repo = "BambooTracker";
rev = "v${version}";
fetchSubmodules = true;
- sha256 = "sha256-AEELUJYiapF/sBWRXXuBXUHwnKp0szdIOCNVMYufv94=";
+ sha256 = "sha256-+9PmpmsF08oU//pJOWaoGQzG7a2O13kYqKbGwVRAMlU=";
};
nativeBuildInputs = [ qmake qttools pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/cmus/default.nix b/third_party/nixpkgs/pkgs/applications/audio/cmus/default.nix
index 3a4cae32a1..66c172ff01 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/cmus/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/cmus/default.nix
@@ -102,13 +102,13 @@ in
stdenv.mkDerivation rec {
pname = "cmus";
- version = "2.9.1";
+ version = "2.10.0";
src = fetchFromGitHub {
owner = "cmus";
repo = "cmus";
rev = "v${version}";
- sha256 = "sha256-HEiEnEWf/MzhPO19VKTLYzhylpEvyzy1Jxs6EW2NU34=";
+ sha256 = "sha256-Ha0bIh3SYMhA28YXQ//Loaz9J1lTJAzjTx8eK3AqUjM=";
};
patches = [ ./option-debugging.patch ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/dexed/default.nix b/third_party/nixpkgs/pkgs/applications/audio/dexed/default.nix
new file mode 100644
index 0000000000..67d9a56a1d
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/dexed/default.nix
@@ -0,0 +1,107 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, freetype
+, alsa-lib
+, libjack2
+, Cocoa
+, WebKit
+, MetalKit
+, simd
+, DiscRecording
+, CoreAudioKit
+}:
+
+stdenv.mkDerivation rec {
+ pname = "dexed";
+ version = "unstable-2022-07-09";
+
+ src = fetchFromGitHub {
+ owner = "asb2m10";
+ repo = "dexed";
+ rev = "2c036316bcd512818aa9cc8129767ad9e0ec7132";
+ fetchSubmodules = true;
+ sha256 = "sha256-6buvA72YRlGjHWLPEZMr45lYYG6ZY+IWmylcHruX27g=";
+ };
+
+ postPatch = ''
+ # needs special setup on Linux, dunno if it can work on Darwin
+ # https://github.com/NixOS/nixpkgs/issues/19098
+ sed -i -e '/juce::juce_recommended_lto_flags/d' Source/CMakeLists.txt
+ '';
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+
+ buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+ libX11
+ libXext
+ libXcursor
+ libXinerama
+ libXrandr
+ freetype
+ alsa-lib
+ libjack2
+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ Cocoa
+ WebKit
+ MetalKit
+ simd
+ DiscRecording
+ CoreAudioKit
+ ];
+
+ # JUCE insists on only dlopen'ing these
+ NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux (toString [
+ "-lX11"
+ "-lXext"
+ "-lXcursor"
+ "-lXinerama"
+ "-lXrandr"
+ "-ljack"
+ ]);
+
+ installPhase = let
+ vst3Dir = if stdenv.hostPlatform.isDarwin then "$out/Library/Audio/Plug-Ins/VST3" else "$out/lib/vst3";
+ # this one's a guess, don't know where ppl have agreed to put them yet
+ clapDir = if stdenv.hostPlatform.isDarwin then "$out/Library/Audio/Plug-Ins/CLAP" else "$out/lib/clap";
+ auDir = "$out/Library/Audio/Plug-Ins/Components";
+ in ''
+ runHook preInstall
+
+ '' + (if stdenv.hostPlatform.isDarwin then ''
+ mkdir -p $out/{Applications,bin}
+ mv Source/Dexed_artefacts/Release/Standalone/Dexed.app $out/Applications/
+ ln -s $out/{Applications/Dexed.app/Contents/MacOS,bin}/Dexed
+ '' else ''
+ install -Dm755 {Source/Dexed_artefacts/Release/Standalone,$out/bin}/Dexed
+ '') + ''
+ mkdir -p ${vst3Dir} ${clapDir}
+ mv Source/Dexed_artefacts/Release/VST3/* ${vst3Dir}
+ mv Source/Dexed_artefacts/Release/CLAP/* ${clapDir}
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ mkdir -p ${auDir}
+ mv Source/Dexed_artefacts/Release/AU/* ${auDir}
+ '' + ''
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "DX7 FM multi platform/multi format plugin";
+ mainProgram = "Dexed";
+ homepage = "https://asb2m10.github.io/dexed";
+ license = licenses.gpl3Only;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ OPNA2608 ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/easyeffects/default.nix b/third_party/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
index aa3162df91..4e65d79ab2 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
@@ -23,7 +23,6 @@
, nlohmann_json
, pipewire
, pkg-config
-, python3
, rnnoise
, rubberband
, speexdsp
@@ -35,13 +34,13 @@
stdenv.mkDerivation rec {
pname = "easyeffects";
- version = "6.2.8";
+ version = "6.3.0";
src = fetchFromGitHub {
owner = "wwmm";
repo = "easyeffects";
rev = "v${version}";
- sha256 = "sha256-iADECt0m74Irm3JEQgZVLCr6Z2SKATAh9SvPwzd7HCo=";
+ sha256 = "sha256-OLxuE1jiALuKlC9U9esVlhaMBEaoZyNae8OO8upE4ZM=";
};
nativeBuildInputs = [
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
- python3
wrapGAppsHook4
];
@@ -76,11 +74,6 @@ stdenv.mkDerivation rec {
zita-convolver
];
- postPatch = ''
- chmod +x meson_post_install.py
- patchShebangs meson_post_install.py
- '';
-
preFixup =
let
lv2Plugins = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/famistudio/default.nix b/third_party/nixpkgs/pkgs/applications/audio/famistudio/default.nix
index 002ddd78ab..b90bc3f133 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/famistudio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/famistudio/default.nix
@@ -3,27 +3,31 @@
, fetchzip
, autoPatchelfHook
, makeWrapper
-, alsa-lib
-, gtk-sharp-2_0
-, glib
-, gtk2
, mono
, openal
+, libGL
}:
stdenv.mkDerivation rec {
pname = "famistudio";
- version = "3.3.1";
+ version = "4.0.1";
src = fetchzip {
url = "https://github.com/BleuBleu/FamiStudio/releases/download/${version}/FamiStudio${lib.strings.concatStrings (lib.splitVersion version)}-LinuxAMD64.zip";
stripRoot = false;
- sha256 = "sha256-Bgry+cRsmC+aBff6EaeHoGBygpiZS5SmgICPU32zO+c=";
+ sha256 = "sha256-pAULW2aIaKiA61rARpL+hSoffnQO6hfqVpOcEMwD7oo=";
};
- nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+ nativeBuildInputs = [
+ autoPatchelfHook
+ makeWrapper
+ ];
- buildInputs = [ alsa-lib gtk-sharp-2_0 glib gtk2 mono openal ];
+ buildInputs = [
+ mono
+ openal
+ libGL
+ ];
dontConfigure = true;
dontBuild = true;
@@ -36,16 +40,11 @@ stdenv.mkDerivation rec {
makeWrapper ${mono}/bin/mono $out/bin/famistudio \
--add-flags $out/lib/famistudio/FamiStudio.exe \
- --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \
- --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk2 gtk-sharp-2_0 ]}
+ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]}
- # Fails to find openal32.dll on its own, needs abit of help
+ # Bundled openal lib freezes the application
rm $out/lib/famistudio/libopenal32.so
- cat <$out/lib/famistudio/OpenTK.dll.config
-
-
-
- EOF
+ ln -s ${openal}/lib/libopenal.so $out/lib/famistudio/libopenal32.so
runHook postInstall
'';
diff --git a/third_party/nixpkgs/pkgs/applications/audio/flacon/default.nix b/third_party/nixpkgs/pkgs/applications/audio/flacon/default.nix
index 782792086e..3a78e89717 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/flacon/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/flacon/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "flacon";
- version = "9.1.0";
+ version = "9.2.0";
src = fetchFromGitHub {
owner = "flacon";
repo = "flacon";
rev = "v${version}";
- sha256 = "sha256-gchFd3yL0ni0PJ4+mWwR8XCKPpyQOajtO+/A7fnwoeE=";
+ sha256 = "sha256-qnjWpsgCRAi09o9O7CBc0R9MN1EpXVmCoxB2npc9qpM=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
index f6a1ef821b..0e8e4e6e24 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
- version = "1.56";
+ version = "1.57";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
- sha256 = "sha256-kSnsep6abE07Q1EpGEeX8e/2APc60TxR2MhLZxqW9WY=";
+ sha256 = "sha256-47MDroiO8zvYDdHe0350ukczzemRbesEzIXZ2KoXZUI=";
};
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
diff --git a/third_party/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix b/third_party/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
index 55f12fd3c6..b54bf789f6 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchurl, cmake, removeReferencesTo }:
stdenv.mkDerivation rec {
version = "0.6.3";
@@ -9,13 +9,21 @@ stdenv.mkDerivation rec {
sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb";
};
cmakeFlags = lib.optionals stdenv.isDarwin [ "-DENABLE_UBSAN=OFF" ];
- nativeBuildInputs = [ cmake ];
+ nativeBuildInputs = [ cmake removeReferencesTo ];
+
+ # It used to reference it, in the past, but thanks to the postFixup hook, now
+ # it doesn't.
+ disallowedReferences = [ stdenv.cc.cc ];
+
+ postFixup = lib.optionalString stdenv.isLinux ''
+ remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/lib/libgme.so)"
+ '';
meta = with lib; {
homepage = "https://bitbucket.org/mpyne/game-music-emu/wiki/Home";
description = "A collection of video game music file emulators";
license = licenses.lgpl21Plus;
platforms = platforms.all;
- maintainers = with maintainers; [ luc65r ];
+ maintainers = with maintainers; [ luc65r lheckemann ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/guitarix/default.nix b/third_party/nixpkgs/pkgs/applications/audio/guitarix/default.nix
index 724280fbcd..870f4b216f 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/guitarix/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/guitarix/default.nix
@@ -6,6 +6,7 @@
, boost
, curl
, eigen
+, faust
, fftw
, gettext
, glib
@@ -42,22 +43,13 @@ in
stdenv.mkDerivation rec {
pname = "guitarix";
- version = "0.42.1";
+ version = "0.44.1";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
- sha256 = "101c2hdpipj3s6rmva5wf3q9hfjv7bkyzi7s8sgaiys8f7h4czkr";
+ sha256 = "d+g9dU9RrDjFQj847rVd5bPiYSjmC1EbAtLe/PNubBg=";
};
- patches = [
- (fetchpatch {
- name = "guitarix-gcc11.patch";
- url = "https://github.com/brummer10/guitarix/commit/d8f003484c57d808682025dfb07a7a1fb848afdc.patch";
- stripLen = 1;
- sha256 = "1qhlbf18cn6m9jdz3741nrdfqvznjna3daqmn9l10k5nd3asy4il";
- })
- ];
-
nativeBuildInputs = [
gettext
hicolor-icon-theme
@@ -74,6 +66,7 @@ stdenv.mkDerivation rec {
boost
curl
eigen
+ faust
fftw
glib
glib-networking.out
@@ -96,11 +89,7 @@ stdenv.mkDerivation rec {
zita-resampler
];
- # this doesnt build, probably because we have the wrong faust version:
- # "--faust"
- # aproved versions are 2.20.2 and 2.15.11
wafConfigureFlags = [
- "--no-faust"
"--no-font-cache-update"
"--shared-lib"
"--no-desktop-update"
diff --git a/third_party/nixpkgs/pkgs/applications/audio/headset/default.nix b/third_party/nixpkgs/pkgs/applications/audio/headset/default.nix
new file mode 100644
index 0000000000..9fbf3c08c2
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/headset/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchurl
+, dpkg
+, makeWrapper
+, electron
+}:
+
+stdenv.mkDerivation rec {
+ pname = "headset";
+ version = "4.0.0";
+
+ src = fetchurl {
+ url = "https://github.com/headsetapp/headset-electron/releases/download/v${version}/headset_${version}_amd64.deb";
+ hash = "sha256-M1HMZgYczZWFq0EGlCMEGOGUNoUcmq37J8Ycen72PhM=";
+ };
+
+ dontConfigure = true;
+ dontBuild = true;
+
+ nativeBuildInputs = [ makeWrapper dpkg ];
+
+ unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin $out/share/headset
+ cp -R usr/share/{applications,icons} $out/share
+ cp -R usr/lib/headset/resources/app.asar $out/share/headset/
+
+ makeWrapper ${electron}/bin/electron $out/bin/headset \
+ --add-flags $out/share/headset/app.asar
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "A simple music player for YouTube and Reddit";
+ homepage = "https://headsetapp.co/";
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ muscaln ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix b/third_party/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix
index 6326d7cc56..f5fe5914ba 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix
@@ -15,13 +15,13 @@
python3Packages.buildPythonApplication rec {
pname = "indicator-sound-switcher";
- version = "2.3.7";
+ version = "2.3.9";
src = fetchFromGitHub {
owner = "yktoo";
repo = pname;
- rev = "v${version}";
- sha256 = "sha256-agzU3Z3E6NvCnlsz9L719LqMTm8EmYg3TY/2lWTYgKs=";
+ rev = "refs/tags/v${version}";
+ sha256 = "sha256-qJ1lg9A1aCM+/v/JbQAVpYGX25qA5ULqsM8k7uH1uvQ=";
};
postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/applications/audio/muse/default.nix b/third_party/nixpkgs/pkgs/applications/audio/muse/default.nix
index f5a6bafe79..89ccf00c6d 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/muse/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/muse/default.nix
@@ -16,10 +16,6 @@ stdenv.mkDerivation rec {
sourceRoot = "source/muse3";
- prePatch = ''
- chmod u+w $NIX_BUILD_TOP
- '';
-
patches = [ ./fix-parallel-building.patch ];
nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/mympd/default.nix b/third_party/nixpkgs/pkgs/applications/audio/mympd/default.nix
index e6027eef06..9402cfe307 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/mympd/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/mympd/default.nix
@@ -8,28 +8,38 @@
, lua5_3
, libid3tag
, flac
-, pcre
+, pcre2
+, gzip
+, perl
}:
stdenv.mkDerivation rec {
pname = "mympd";
- version = "8.0.4";
+ version = "9.5.3";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${version}";
- sha256 = "sha256-hpUoXqblhHreDZg8fDD5S4UG+ltptIbzP9LKyQ/WbX0=";
+ sha256 = "sha256-0plbOBTrEOjfVbyfrQ8mNByJb6XygIPTrwGfY6+0DHo=";
};
- nativeBuildInputs = [ pkg-config cmake ];
+ nativeBuildInputs = [
+ pkg-config
+ cmake
+ gzip
+ perl
+ ];
+ preConfigure = ''
+ env MYMPD_BUILDDIR=$PWD/build ./build.sh createassets
+ '';
buildInputs = [
libmpdclient
openssl
lua5_3
libid3tag
flac
- pcre
+ pcre2
];
cmakeFlags = [
@@ -43,7 +53,7 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "strictoverflow" ];
meta = {
- homepage = "https://jcorporation.github.io/mympd";
+ homepage = "https://jcorporation.github.io/myMPD";
description = "A standalone and mobile friendly web mpd client with a tiny footprint and advanced features";
maintainers = [ lib.maintainers.doronbehar ];
platforms = lib.platforms.linux;
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ncspot/default.nix
index 14042fc205..e0d5006392 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/ncspot/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/ncspot/default.nix
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ncspot";
- version = "0.10.1";
+ version = "0.11.0";
src = fetchFromGitHub {
owner = "hrkfdn";
repo = "ncspot";
rev = "v${version}";
- sha256 = "sha256-KETLPBMBWGqmuczF5BG7WZ15szWqQHx7uKwDA2KyN/U=";
+ sha256 = "sha256-mtveGRwadcct9R8CxLWCvT9FamK2PnicpeSvL4iT4oE=";
};
- cargoSha256 = "sha256-95IFRFZySpyyF3k3RpGeV+sDXkg38kcHyPYxuxTfJJA=";
+ cargoSha256 = "sha256-JqHJY91q2vm0x819zUkBBAObpnXN5aPde8m5UJ2NeNY=";
nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch b/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch
deleted file mode 100644
index 2820506c51..0000000000
--- a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch
+++ /dev/null
@@ -1,2151 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..7171b64
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,2145 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+version = 3
-+
-+[[package]]
-+name = "adler"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-+
-+[[package]]
-+name = "adler32"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-+
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "anyhow"
-+version = "1.0.60"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c794e162a5eff65c72ef524dfe393eb923c354e350bb78b9c7383df13f3bc142"
-+
-+[[package]]
-+name = "async-channel"
-+version = "1.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
-+dependencies = [
-+ "concurrent-queue",
-+ "event-listener",
-+ "futures-core",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-+
-+[[package]]
-+name = "base64"
-+version = "0.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
-+
-+[[package]]
-+name = "bit_field"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-+
-+[[package]]
-+name = "block"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-+
-+[[package]]
-+name = "bumpalo"
-+version = "3.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
-+
-+[[package]]
-+name = "bytemuck"
-+version = "1.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a5377c8865e74a160d21f29c2d40669f53286db6eab59b88540cbb12ffc8b835"
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-+
-+[[package]]
-+name = "bytes"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
-+
-+[[package]]
-+name = "cache-padded"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
-+
-+[[package]]
-+name = "cairo-rs"
-+version = "0.15.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc"
-+dependencies = [
-+ "bitflags",
-+ "cairo-sys-rs",
-+ "glib",
-+ "libc",
-+ "thiserror",
-+]
-+
-+[[package]]
-+name = "cairo-sys-rs"
-+version = "0.15.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8"
-+dependencies = [
-+ "glib-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "castaway"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
-+
-+[[package]]
-+name = "cfg-expr"
-+version = "0.10.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db"
-+dependencies = [
-+ "smallvec",
-+]
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "color_quant"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-+
-+[[package]]
-+name = "concurrent-queue"
-+version = "1.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
-+dependencies = [
-+ "cache-padded",
-+]
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "crossbeam-channel"
-+version = "0.5.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
-+dependencies = [
-+ "cfg-if",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
-+name = "crossbeam-deque"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
-+dependencies = [
-+ "cfg-if",
-+ "crossbeam-epoch",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
-+name = "crossbeam-epoch"
-+version = "0.9.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
-+dependencies = [
-+ "autocfg",
-+ "cfg-if",
-+ "crossbeam-utils",
-+ "memoffset",
-+ "once_cell",
-+ "scopeguard",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.8.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
-+dependencies = [
-+ "cfg-if",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "curl"
-+version = "0.4.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
-+dependencies = [
-+ "curl-sys",
-+ "libc",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "schannel",
-+ "socket2",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "curl-sys"
-+version = "0.4.56+curl-7.83.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6093e169dd4de29e468fa649fbae11cdcd5551c81fe5bf1b0677adad7ef3d26f"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libnghttp2-sys",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+ "vcpkg",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "dbus"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "48b5f0f36f1eebe901b0e6bee369a77ed3396334bf3f09abd46454a576f71819"
-+dependencies = [
-+ "libc",
-+ "libdbus-sys",
-+]
-+
-+[[package]]
-+name = "deflate"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f"
-+dependencies = [
-+ "adler32",
-+]
-+
-+[[package]]
-+name = "either"
-+version = "1.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
-+
-+[[package]]
-+name = "encoding_rs"
-+version = "0.8.31"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "event-listener"
-+version = "2.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
-+
-+[[package]]
-+name = "exr"
-+version = "1.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14cc0e06fb5f67e5d6beadf3a382fec9baca1aa751c6d5368fdeee7e5932c215"
-+dependencies = [
-+ "bit_field",
-+ "deflate",
-+ "flume",
-+ "half",
-+ "inflate",
-+ "lebe",
-+ "smallvec",
-+ "threadpool",
-+]
-+
-+[[package]]
-+name = "fastrand"
-+version = "1.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
-+dependencies = [
-+ "instant",
-+]
-+
-+[[package]]
-+name = "field-offset"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92"
-+dependencies = [
-+ "memoffset",
-+ "rustc_version",
-+]
-+
-+[[package]]
-+name = "flate2"
-+version = "1.0.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
-+dependencies = [
-+ "crc32fast",
-+ "miniz_oxide",
-+]
-+
-+[[package]]
-+name = "flume"
-+version = "0.10.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
-+dependencies = [
-+ "futures-core",
-+ "futures-sink",
-+ "nanorand",
-+ "pin-project",
-+ "spin",
-+]
-+
-+[[package]]
-+name = "fnv"
-+version = "1.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-+
-+[[package]]
-+name = "foreign-types"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-+dependencies = [
-+ "foreign-types-shared",
-+]
-+
-+[[package]]
-+name = "foreign-types-shared"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+
-+[[package]]
-+name = "form_urlencoded"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
-+dependencies = [
-+ "matches",
-+ "percent-encoding",
-+]
-+
-+[[package]]
-+name = "fragile"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "85dcb89d2b10c5f6133de2efd8c11959ce9dbb46a2f7a4cab208c4eeda6ce1ab"
-+
-+[[package]]
-+name = "futures-channel"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
-+dependencies = [
-+ "futures-core",
-+]
-+
-+[[package]]
-+name = "futures-core"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
-+
-+[[package]]
-+name = "futures-executor"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
-+dependencies = [
-+ "futures-core",
-+ "futures-task",
-+ "futures-util",
-+]
-+
-+[[package]]
-+name = "futures-io"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
-+
-+[[package]]
-+name = "futures-lite"
-+version = "1.12.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
-+dependencies = [
-+ "fastrand",
-+ "futures-core",
-+ "futures-io",
-+ "memchr",
-+ "parking",
-+ "pin-project-lite",
-+ "waker-fn",
-+]
-+
-+[[package]]
-+name = "futures-sink"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
-+
-+[[package]]
-+name = "futures-task"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
-+
-+[[package]]
-+name = "futures-util"
-+version = "0.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
-+dependencies = [
-+ "futures-core",
-+ "futures-task",
-+ "pin-project-lite",
-+ "pin-utils",
-+ "slab",
-+]
-+
-+[[package]]
-+name = "gdk-pixbuf"
-+version = "0.15.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a"
-+dependencies = [
-+ "bitflags",
-+ "gdk-pixbuf-sys",
-+ "gio",
-+ "glib",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "gdk-pixbuf-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7"
-+dependencies = [
-+ "gio-sys",
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gdk4"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4fabb7cf843c26b085a5d68abb95d0c0bf27a9ae2eeff9c4adb503a1eb580876"
-+dependencies = [
-+ "bitflags",
-+ "cairo-rs",
-+ "gdk-pixbuf",
-+ "gdk4-sys",
-+ "gio",
-+ "glib",
-+ "libc",
-+ "pango",
-+]
-+
-+[[package]]
-+name = "gdk4-sys"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "efe7dcb44f5c00aeabff3f69abfc5673de46559070f89bd3fbb7b66485d9cef2"
-+dependencies = [
-+ "cairo-sys-rs",
-+ "gdk-pixbuf-sys",
-+ "gio-sys",
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "pango-sys",
-+ "pkg-config",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-+dependencies = [
-+ "cfg-if",
-+ "js-sys",
-+ "libc",
-+ "wasi",
-+ "wasm-bindgen",
-+]
-+
-+[[package]]
-+name = "gettext-rs"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
-+dependencies = [
-+ "gettext-sys",
-+ "locale_config",
-+]
-+
-+[[package]]
-+name = "gettext-sys"
-+version = "0.21.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
-+dependencies = [
-+ "cc",
-+ "temp-dir",
-+]
-+
-+[[package]]
-+name = "gif"
-+version = "0.11.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
-+dependencies = [
-+ "color_quant",
-+ "weezl",
-+]
-+
-+[[package]]
-+name = "gio"
-+version = "0.15.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b"
-+dependencies = [
-+ "bitflags",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-io",
-+ "gio-sys",
-+ "glib",
-+ "libc",
-+ "once_cell",
-+ "thiserror",
-+]
-+
-+[[package]]
-+name = "gio-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "system-deps",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "glib"
-+version = "0.15.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d"
-+dependencies = [
-+ "bitflags",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-executor",
-+ "futures-task",
-+ "glib-macros",
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "once_cell",
-+ "smallvec",
-+ "thiserror",
-+]
-+
-+[[package]]
-+name = "glib-macros"
-+version = "0.15.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64"
-+dependencies = [
-+ "anyhow",
-+ "heck",
-+ "proc-macro-crate",
-+ "proc-macro-error",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "glib-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4"
-+dependencies = [
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gobject-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a"
-+dependencies = [
-+ "glib-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "graphene-rs"
-+version = "0.15.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7c54f9fbbeefdb62c99f892dfca35f83991e2cb5b46a8dc2a715e58612f85570"
-+dependencies = [
-+ "glib",
-+ "graphene-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "graphene-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fa691fc7337ba1df599afb55c3bcb85c04f1b3f17362570e9bb0ff0d1bc3028a"
-+dependencies = [
-+ "glib-sys",
-+ "libc",
-+ "pkg-config",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gsk4"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05e9020d333280b3aa38d496495bfa9b50712eebf1ad63f0ec5bcddb5eb61be4"
-+dependencies = [
-+ "bitflags",
-+ "cairo-rs",
-+ "gdk4",
-+ "glib",
-+ "graphene-rs",
-+ "gsk4-sys",
-+ "libc",
-+ "pango",
-+]
-+
-+[[package]]
-+name = "gsk4-sys"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7add39ccf60078508c838643a2dcc91f045c46ed63b5ea6ab701b2e25bda3fea"
-+dependencies = [
-+ "cairo-sys-rs",
-+ "gdk4-sys",
-+ "glib-sys",
-+ "gobject-sys",
-+ "graphene-sys",
-+ "libc",
-+ "pango-sys",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gstreamer"
-+version = "0.18.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d66363bacf5e4f6eb281564adc2902e44c52ae5c45082423e7439e9012b75456"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-util",
-+ "glib",
-+ "gstreamer-sys",
-+ "libc",
-+ "muldiv",
-+ "num-integer",
-+ "num-rational",
-+ "once_cell",
-+ "option-operations",
-+ "paste",
-+ "pretty-hex",
-+ "thiserror",
-+]
-+
-+[[package]]
-+name = "gstreamer-base"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "224f35f36582407caf58ded74854526beeecc23d0cf64b8d1c3e00584ed6863f"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "glib",
-+ "gstreamer",
-+ "gstreamer-base-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "gstreamer-base-sys"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a083493c3c340e71fa7c66eebda016e9fafc03eb1b4804cf9b2bad61994b078e"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gstreamer-player"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5f14ee02352ba73cadebe640bfb33f12fe8d03cbcad816a102d55a0251fb99bb"
-+dependencies = [
-+ "bitflags",
-+ "glib",
-+ "gstreamer",
-+ "gstreamer-player-sys",
-+ "gstreamer-video",
-+ "libc",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "gstreamer-player-sys"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1f9b674b39a4d0e18710f6e3d2b109f1793d8028ee4e39da3909b55b4529d399"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer-sys",
-+ "gstreamer-video-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gstreamer-sys"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e3517a65d3c2e6f8905b456eba5d53bda158d664863aef960b44f651cb7d33e2"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gstreamer-video"
-+version = "0.18.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9418adfc72dafa1ad9eb106527ce4804887d101027c4528ec28c7d29cc899519"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "futures-channel",
-+ "glib",
-+ "gstreamer",
-+ "gstreamer-base",
-+ "gstreamer-video-sys",
-+ "libc",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "gstreamer-video-sys"
-+version = "0.18.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "33331b1675e73b5b000c796354278eca7fdde9327015971d9f41afe28b96e0dc"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer-base-sys",
-+ "gstreamer-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "gtk4"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c64f0c2a3d80e899dc3febddad5bac193ffcf74a0fd7e31037f30dd34d6f7396"
-+dependencies = [
-+ "bitflags",
-+ "cairo-rs",
-+ "field-offset",
-+ "futures-channel",
-+ "gdk-pixbuf",
-+ "gdk4",
-+ "gio",
-+ "glib",
-+ "graphene-rs",
-+ "gsk4",
-+ "gtk4-macros",
-+ "gtk4-sys",
-+ "libc",
-+ "once_cell",
-+ "pango",
-+]
-+
-+[[package]]
-+name = "gtk4-macros"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fafbcc920af4eb677d7d164853e7040b9de5a22379c596f570190c675d45f7a7"
-+dependencies = [
-+ "anyhow",
-+ "proc-macro-crate",
-+ "proc-macro-error",
-+ "proc-macro2",
-+ "quick-xml",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "gtk4-sys"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5bc8006eea634b7c72da3ff79e24606e45f21b3b832a3c5a1f543f5f97eb0f63"
-+dependencies = [
-+ "cairo-sys-rs",
-+ "gdk-pixbuf-sys",
-+ "gdk4-sys",
-+ "gio-sys",
-+ "glib-sys",
-+ "gobject-sys",
-+ "graphene-sys",
-+ "gsk4-sys",
-+ "libc",
-+ "pango-sys",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "half"
-+version = "1.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
-+
-+[[package]]
-+name = "heck"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "hex"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-+
-+[[package]]
-+name = "html-escape"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b8e7479fa1ef38eb49fb6a42c426be515df2d063f06cb8efd3e50af073dbc26c"
-+dependencies = [
-+ "utf8-width",
-+]
-+
-+[[package]]
-+name = "http"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
-+dependencies = [
-+ "bytes",
-+ "fnv",
-+ "itoa",
-+]
-+
-+[[package]]
-+name = "httpdate"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
-+
-+[[package]]
-+name = "idna"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
-+dependencies = [
-+ "matches",
-+ "unicode-bidi",
-+ "unicode-normalization",
-+]
-+
-+[[package]]
-+name = "image"
-+version = "0.24.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7e30ca2ecf7666107ff827a8e481de6a132a9b687ed3bb20bb1c144a36c00964"
-+dependencies = [
-+ "bytemuck",
-+ "byteorder",
-+ "color_quant",
-+ "exr",
-+ "gif",
-+ "jpeg-decoder",
-+ "num-rational",
-+ "num-traits",
-+ "png",
-+ "scoped_threadpool",
-+ "tiff",
-+]
-+
-+[[package]]
-+name = "inflate"
-+version = "0.4.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
-+dependencies = [
-+ "adler32",
-+]
-+
-+[[package]]
-+name = "instant"
-+version = "0.1.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "isahc"
-+version = "1.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
-+dependencies = [
-+ "async-channel",
-+ "castaway",
-+ "crossbeam-utils",
-+ "curl",
-+ "curl-sys",
-+ "encoding_rs",
-+ "event-listener",
-+ "futures-lite",
-+ "http",
-+ "httpdate",
-+ "log",
-+ "mime",
-+ "once_cell",
-+ "polling",
-+ "slab",
-+ "sluice",
-+ "tracing",
-+ "tracing-futures",
-+ "url",
-+ "waker-fn",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "1.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
-+
-+[[package]]
-+name = "jpeg-decoder"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b"
-+dependencies = [
-+ "rayon",
-+]
-+
-+[[package]]
-+name = "js-sys"
-+version = "0.3.59"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
-+dependencies = [
-+ "wasm-bindgen",
-+]
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+
-+[[package]]
-+name = "lebe"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7efd1d698db0759e6ef11a7cd44407407399a910c774dd804c64c032da7826ff"
-+
-+[[package]]
-+name = "libadwaita"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f2ae453d28e3b91f03749f02b1531e8cfe315a1d0762b77a61797d2ab80bb87d"
-+dependencies = [
-+ "gdk-pixbuf",
-+ "gdk4",
-+ "gio",
-+ "glib",
-+ "gtk4",
-+ "libadwaita-sys",
-+ "libc",
-+ "once_cell",
-+ "pango",
-+]
-+
-+[[package]]
-+name = "libadwaita-sys"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f18b6ac4cadd252a89f5cba0a5a4e99836131795d6fad37b859ac79e8cb7d2c8"
-+dependencies = [
-+ "gdk4-sys",
-+ "gio-sys",
-+ "glib-sys",
-+ "gobject-sys",
-+ "gtk4-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.127"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "505e71a4706fa491e9b1b55f51b95d4037d0821ee40131190475f692b35b009b"
-+
-+[[package]]
-+name = "libdbus-sys"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c185b5b7ad900923ef3a8ff594083d4d9b5aea80bb4f32b8342363138c0d456b"
-+dependencies = [
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "libnghttp2-sys"
-+version = "0.1.7+1.45.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57ed28aba195b38d5ff02b9170cbff627e336a20925e43b4945390401c5dc93f"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "libz-sys"
-+version = "1.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "locale_config"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
-+dependencies = [
-+ "lazy_static",
-+ "objc",
-+ "objc-foundation",
-+ "regex",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "lock_api"
-+version = "0.4.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
-+dependencies = [
-+ "autocfg",
-+ "scopeguard",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "malloc_buf"
-+version = "0.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "matches"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "mime"
-+version = "0.3.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
-+dependencies = [
-+ "adler",
-+]
-+
-+[[package]]
-+name = "mpris-player"
-+version = "0.6.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be832ec9171fdaf43609d02bb552f4129ba6eacd184bb25186e2906dbd3cf098"
-+dependencies = [
-+ "dbus",
-+ "glib",
-+]
-+
-+[[package]]
-+name = "muldiv"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3"
-+
-+[[package]]
-+name = "nanorand"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "netease-cloud-music-api"
-+version = "1.0.0"
-+source = "git+https://github.com/gmg137/netease-cloud-music-api.git#56c64c6d96ee36c716ac02f145a635456746ad54"
-+dependencies = [
-+ "anyhow",
-+ "base64",
-+ "hex",
-+ "isahc",
-+ "lazy_static",
-+ "openssl",
-+ "rand",
-+ "regex",
-+ "serde",
-+ "serde_json",
-+ "urlqstring",
-+]
-+
-+[[package]]
-+name = "netease-cloud-music-gtk4"
-+version = "2.0.1"
-+dependencies = [
-+ "anyhow",
-+ "fastrand",
-+ "fragile",
-+ "gettext-rs",
-+ "gstreamer",
-+ "gstreamer-player",
-+ "gtk4",
-+ "libadwaita",
-+ "mpris-player",
-+ "netease-cloud-music-api",
-+ "once_cell",
-+ "qrcode-generator",
-+ "regex",
-+]
-+
-+[[package]]
-+name = "num-integer"
-+version = "0.1.45"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-+dependencies = [
-+ "autocfg",
-+ "num-traits",
-+]
-+
-+[[package]]
-+name = "num-rational"
-+version = "0.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-+dependencies = [
-+ "autocfg",
-+ "num-integer",
-+ "num-traits",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.13.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "objc"
-+version = "0.2.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
-+dependencies = [
-+ "malloc_buf",
-+]
-+
-+[[package]]
-+name = "objc-foundation"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
-+dependencies = [
-+ "block",
-+ "objc",
-+ "objc_id",
-+]
-+
-+[[package]]
-+name = "objc_id"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
-+dependencies = [
-+ "objc",
-+]
-+
-+[[package]]
-+name = "once_cell"
-+version = "1.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
-+
-+[[package]]
-+name = "openssl"
-+version = "0.10.41"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "foreign-types",
-+ "libc",
-+ "once_cell",
-+ "openssl-macros",
-+ "openssl-sys",
-+]
-+
-+[[package]]
-+name = "openssl-macros"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "openssl-probe"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-+
-+[[package]]
-+name = "openssl-sys"
-+version = "0.9.75"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
-+dependencies = [
-+ "autocfg",
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "option-operations"
-+version = "0.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "42b01597916c91a493b1e8a2fde64fec1764be3259abc1f06efc99c274f150a2"
-+dependencies = [
-+ "paste",
-+]
-+
-+[[package]]
-+name = "pango"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f"
-+dependencies = [
-+ "bitflags",
-+ "glib",
-+ "libc",
-+ "once_cell",
-+ "pango-sys",
-+]
-+
-+[[package]]
-+name = "pango-sys"
-+version = "0.15.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa"
-+dependencies = [
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "system-deps",
-+]
-+
-+[[package]]
-+name = "parking"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
-+
-+[[package]]
-+name = "paste"
-+version = "1.0.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22"
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-+
-+[[package]]
-+name = "pest"
-+version = "2.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "69486e2b8c2d2aeb9762db7b4e00b0331156393555cff467f4163ff06821eef8"
-+dependencies = [
-+ "thiserror",
-+ "ucd-trie",
-+]
-+
-+[[package]]
-+name = "pin-project"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
-+dependencies = [
-+ "pin-project-internal",
-+]
-+
-+[[package]]
-+name = "pin-project-internal"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "pin-project-lite"
-+version = "0.2.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-+
-+[[package]]
-+name = "pin-utils"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.25"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
-+
-+[[package]]
-+name = "png"
-+version = "0.17.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba"
-+dependencies = [
-+ "bitflags",
-+ "crc32fast",
-+ "deflate",
-+ "miniz_oxide",
-+]
-+
-+[[package]]
-+name = "polling"
-+version = "2.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "log",
-+ "wepoll-ffi",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-+
-+[[package]]
-+name = "pretty-hex"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
-+
-+[[package]]
-+name = "proc-macro-crate"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26d50bfb8c23f23915855a00d98b5a35ef2e0b871bb52937bacadb798fbb66c8"
-+dependencies = [
-+ "once_cell",
-+ "thiserror",
-+ "toml",
-+]
-+
-+[[package]]
-+name = "proc-macro-error"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-+dependencies = [
-+ "proc-macro-error-attr",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "proc-macro-error-attr"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.43"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
-+dependencies = [
-+ "unicode-ident",
-+]
-+
-+[[package]]
-+name = "qrcode-generator"
-+version = "4.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "501c33c9127afb867693646b38817bf63a9a756d4b66aefbc5c0d7e5e8c3125a"
-+dependencies = [
-+ "html-escape",
-+ "image",
-+ "qrcodegen",
-+]
-+
-+[[package]]
-+name = "qrcodegen"
-+version = "1.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4339fc7a1021c9c1621d87f5e3505f2805c8c105420ba2f2a4df86814590c142"
-+
-+[[package]]
-+name = "quick-xml"
-+version = "0.22.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.8.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-+dependencies = [
-+ "libc",
-+ "rand_chacha",
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rayon"
-+version = "1.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
-+dependencies = [
-+ "autocfg",
-+ "crossbeam-deque",
-+ "either",
-+ "rayon-core",
-+]
-+
-+[[package]]
-+name = "rayon-core"
-+version = "1.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
-+dependencies = [
-+ "crossbeam-channel",
-+ "crossbeam-deque",
-+ "crossbeam-utils",
-+ "num_cpus",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
-+
-+[[package]]
-+name = "rustc_version"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
-+dependencies = [
-+ "semver",
-+]
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
-+
-+[[package]]
-+name = "schannel"
-+version = "0.1.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
-+dependencies = [
-+ "lazy_static",
-+ "windows-sys",
-+]
-+
-+[[package]]
-+name = "scoped_threadpool"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-+
-+[[package]]
-+name = "scopeguard"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-+
-+[[package]]
-+name = "semver"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
-+dependencies = [
-+ "semver-parser",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.10.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
-+dependencies = [
-+ "pest",
-+]
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.142"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e590c437916fb6b221e1d00df6e3294f3fccd70ca7e92541c475d6ed6ef5fee2"
-+dependencies = [
-+ "serde_derive",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.142"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34b5b8d809babe02f538c2cfec6f2c1ed10804c0e5a6a041a049a4f5588ccc2e"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.83"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "slab"
-+version = "0.4.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "sluice"
-+version = "0.5.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
-+dependencies = [
-+ "async-channel",
-+ "futures-core",
-+ "futures-io",
-+]
-+
-+[[package]]
-+name = "smallvec"
-+version = "1.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
-+
-+[[package]]
-+name = "socket2"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
-+dependencies = [
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "spin"
-+version = "0.9.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
-+dependencies = [
-+ "lock_api",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.99"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-ident",
-+]
-+
-+[[package]]
-+name = "system-deps"
-+version = "6.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709"
-+dependencies = [
-+ "cfg-expr",
-+ "heck",
-+ "pkg-config",
-+ "toml",
-+ "version-compare",
-+]
-+
-+[[package]]
-+name = "temp-dir"
-+version = "0.1.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
-+
-+[[package]]
-+name = "thiserror"
-+version = "1.0.32"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
-+dependencies = [
-+ "thiserror-impl",
-+]
-+
-+[[package]]
-+name = "thiserror-impl"
-+version = "1.0.32"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "threadpool"
-+version = "1.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
-+dependencies = [
-+ "num_cpus",
-+]
-+
-+[[package]]
-+name = "tiff"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7259662e32d1e219321eb309d5f9d898b779769d81b76e762c07c8e5d38fcb65"
-+dependencies = [
-+ "flate2",
-+ "jpeg-decoder",
-+ "weezl",
-+]
-+
-+[[package]]
-+name = "tinyvec"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-+dependencies = [
-+ "tinyvec_macros",
-+]
-+
-+[[package]]
-+name = "tinyvec_macros"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-+
-+[[package]]
-+name = "toml"
-+version = "0.5.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "tracing"
-+version = "0.1.36"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
-+dependencies = [
-+ "cfg-if",
-+ "log",
-+ "pin-project-lite",
-+ "tracing-attributes",
-+ "tracing-core",
-+]
-+
-+[[package]]
-+name = "tracing-attributes"
-+version = "0.1.22"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "tracing-core"
-+version = "0.1.29"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
-+dependencies = [
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "tracing-futures"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
-+dependencies = [
-+ "pin-project",
-+ "tracing",
-+]
-+
-+[[package]]
-+name = "ucd-trie"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c"
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
-+
-+[[package]]
-+name = "unicode-ident"
-+version = "1.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
-+dependencies = [
-+ "tinyvec",
-+]
-+
-+[[package]]
-+name = "url"
-+version = "2.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
-+dependencies = [
-+ "form_urlencoded",
-+ "idna",
-+ "matches",
-+ "percent-encoding",
-+]
-+
-+[[package]]
-+name = "urlqstring"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "25ef3473a06a065718d8ec7cd7acc6a35fc20f836dee7661ad3b64ea3cc2e0cc"
-+
-+[[package]]
-+name = "utf8-width"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
-+
-+[[package]]
-+name = "vcpkg"
-+version = "0.2.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-+
-+[[package]]
-+name = "version-compare"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73"
-+
-+[[package]]
-+name = "version_check"
-+version = "0.9.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-+
-+[[package]]
-+name = "waker-fn"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
-+
-+[[package]]
-+name = "wasi"
-+version = "0.11.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-+
-+[[package]]
-+name = "wasm-bindgen"
-+version = "0.2.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
-+dependencies = [
-+ "cfg-if",
-+ "wasm-bindgen-macro",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-backend"
-+version = "0.2.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
-+dependencies = [
-+ "bumpalo",
-+ "log",
-+ "once_cell",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro"
-+version = "0.2.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
-+dependencies = [
-+ "quote",
-+ "wasm-bindgen-macro-support",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro-support"
-+version = "0.2.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-backend",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-shared"
-+version = "0.2.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
-+
-+[[package]]
-+name = "weezl"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
-+
-+[[package]]
-+name = "wepoll-ffi"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
-+dependencies = [
-+ "cc",
-+]
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+
-+[[package]]
-+name = "windows-sys"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
-+dependencies = [
-+ "windows_aarch64_msvc",
-+ "windows_i686_gnu",
-+ "windows_i686_msvc",
-+ "windows_x86_64_gnu",
-+ "windows_x86_64_msvc",
-+]
-+
-+[[package]]
-+name = "windows_aarch64_msvc"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
-+
-+[[package]]
-+name = "windows_i686_gnu"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
-+
-+[[package]]
-+name = "windows_i686_msvc"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
-+
-+[[package]]
-+name = "windows_x86_64_gnu"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
-+
-+[[package]]
-+name = "windows_x86_64_msvc"
-+version = "0.36.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
diff --git a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix b/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
index b854ebb8ce..7811125bd2 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
@@ -1,5 +1,6 @@
{ lib
, stdenv
+, fetchpatch
, fetchFromGitHub
, rustPlatform
, meson
@@ -21,20 +22,26 @@
stdenv.mkDerivation rec {
pname = "netease-cloud-music-gtk";
- version = "2.0.1";
+ version = "2.0.2";
src = fetchFromGitHub {
owner = "gmg137";
repo = pname;
rev = version;
- hash = "sha256-dlJZvmfw9+cavAysxVzCekgPdygg5zbU3ZR5BOjPk08=";
+ hash = "sha256-0pmuzdRQBdUS4ORh3zJQWb/hbhk7SY3P4QMwoy4Mgp8=";
};
- patches = [ ./cargo-lock.patch ];
+ patches = [
+ (fetchpatch {
+ name = "add-cargo-lock-for-2.0.2.patch";
+ url = "https://github.com/gmg137/netease-cloud-music-gtk/commit/21b5d40d49e661fe7bd35ed10bb8b883ef7fcd9f.patch";
+ hash = "sha256-pSgc+yJQMNyLPYUMc1Kp/Kr+++2tH8srIM5PgVeoZ+E=";
+ })
+ ];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src patches;
- hash = "sha256-mJyjWEBsLhHwJCeZyRdby/K/jse0F9UBwfQxkNtZito=";
+ hash = "sha256-7Z5i5Xqtk4ZbBXSVYg1e05ENa2swC88Ctd2paE60Yyo=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh b/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh
deleted file mode 100755
index ef5b1dcbbc..0000000000
--- a/third_party/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p coreutils ripgrep git cargo
-
-# Ref: https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/applications/audio/netease-music-tui/update-cargo-lock.sh
-
-set -eu -vx
-
-here=$PWD
-version=$(rg '^ version = "' default.nix | cut -d '"' -f 2)
-checkout=$(mktemp -d)
-
-git clone -b "$version" --depth=1 https://github.com/gmg137/netease-cloud-music-gtk "$checkout"
-cd "$checkout"
-
-cargo generate-lockfile
-git add -f Cargo.lock
-git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
-
-cd "$here"
-rm -rf "$checkout"
diff --git a/third_party/nixpkgs/pkgs/applications/audio/new-session-manager/default.nix b/third_party/nixpkgs/pkgs/applications/audio/new-session-manager/default.nix
index 78f71ed950..287b593d3e 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/new-session-manager/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/new-session-manager/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "new-session-manager";
- version = "1.5.3";
+ version = "1.6.0";
src = fetchFromGitHub {
owner = "linuxaudio";
repo = "new-session-manager";
rev = "v${version}";
- sha256 = "sha256-dQE7kUoxqDtTrk5euHqpMVeApxniecWZWOARcCl573o=";
+ sha256 = "sha256-QVykRYXToeVXr7pYQy2afgEAlXrQnm68+xEUZhd+FkY=";
};
nativeBuildInputs = [ meson pkg-config ninja ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/noisetorch/default.nix b/third_party/nixpkgs/pkgs/applications/audio/noisetorch/default.nix
index f422ad7fe1..c305b99176 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/noisetorch/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/noisetorch/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, copyDesktopItems }:
+{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "NoiseTorch";
@@ -20,8 +20,6 @@ buildGoModule rec {
subPackages = [ "." ];
- nativeBuildInputs = [ copyDesktopItems ];
-
preBuild = ''
make -C c/ladspa/
go generate
@@ -30,7 +28,7 @@ buildGoModule rec {
postInstall = ''
install -D ./assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/noisetorch.png
- copyDesktopItems assets/noisetorch.desktop $out/share/applications/
+ install -Dm444 ./assets/noisetorch.desktop $out/share/applications/noisetorch.desktop
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
index 1bbbe3583f..862c082a38 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "ocenaudio";
- version = "3.11.11";
+ version = "3.11.14";
src = fetchurl {
url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
- sha256 = "sha256-S3Fqg5DjhVoYwfF3A/P7WcOUsU1x+IGwLopyNA3FkRQ=";
+ sha256 = "sha256-5HQ64jCM8kyWLqxFqsFN3lJgM/JlWf1/RYKSpAFYTYE=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/osdlyrics/default.nix b/third_party/nixpkgs/pkgs/applications/audio/osdlyrics/default.nix
index 6a057f1a03..ccac797631 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/osdlyrics/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/osdlyrics/default.nix
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "osdlyrics";
- version = "0.5.11";
+ version = "0.5.12";
src = fetchFromGitHub {
owner = "osdlyrics";
repo = "osdlyrics";
rev = version;
- sha256 = "sha256-VxLNaNe4hFwgSW4JEF1T4BWC2NwiOgfwVGiAIOszfGE=";
+ sha256 = "sha256-QGgwxmurdwo0xyq7p+1xditRebv64ewGTvNJI7MUnq4=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/patchage/default.nix b/third_party/nixpkgs/pkgs/applications/audio/patchage/default.nix
index fffa05915a..a8a5bed0e0 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/patchage/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/patchage/default.nix
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "patchage";
- version = "1.0.4";
+ version = "1.0.6";
src = fetchFromGitLab {
owner = "drobilla";
repo = pname;
rev = "v${version}";
- hash = "sha256-feQXACsn2i2pJXs0EA9tIbtpl9Lxx5K4G7eG5VWuDV0=";
+ hash = "sha256-LzN6RyF/VT4LUVeR0904BnLuNMFZjFTDu9oDIKYG2Yo=";
fetchSubmodules = true;
};
diff --git a/third_party/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix b/third_party/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix
index 41e5eeb822..f9e54bbbd5 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
configureFlags = [ "--disable-lynx" ];
+ enableParallelBuilding = true;
+
meta = with lib; {
description = "PulseAudio Volume Control";
diff --git a/third_party/nixpkgs/pkgs/applications/audio/picard/default.nix b/third_party/nixpkgs/pkgs/applications/audio/picard/default.nix
index 481f151ed5..ae81b13597 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/picard/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/picard/default.nix
@@ -18,13 +18,13 @@ let
in
pythonPackages.buildPythonApplication rec {
pname = "picard";
- version = "2.8.1";
+ version = "2.8.3";
src = fetchFromGitHub {
owner = "metabrainz";
repo = pname;
rev = "refs/tags/release-${version}";
- sha256 = "sha256-KEKOouTNmmZiPyKo8xCQv6Zkreidtz2DaEbHjuwJJvY=";
+ sha256 = "sha256-KUHciIlwaKXvyCCkAzdh1vpe9cunDizrMUl0SoCpxgY=";
};
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]
diff --git a/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix b/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix
index 8c63212dc2..377dc4d297 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "praat";
- version = "6.2.10";
+ version = "6.2.22";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${version}";
- sha256 = "sha256-IYbPMjKWDQQrF+JiqBQ2wsjY+Ms93tEdsG75CxipwaI=";
+ sha256 = "sha256-RE4QDK5x9xG1RsAWB6dgviu3V1ay/+r0vyHCPCu/qCU=";
};
configurePhase = ''
diff --git a/third_party/nixpkgs/pkgs/applications/audio/psst/default.nix b/third_party/nixpkgs/pkgs/applications/audio/psst/default.nix
index 5d41661b6d..a3d05f97e4 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/psst/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/psst/default.nix
@@ -1,5 +1,17 @@
-{ lib, fetchFromGitHub, rustPlatform, alsa-lib, atk, cairo, dbus, gdk-pixbuf, glib, gtk3, pango, pkg-config }:
+{ lib, fetchFromGitHub, rustPlatform, alsa-lib, atk, cairo, dbus, gdk-pixbuf, glib, gtk3, pango, pkg-config, makeDesktopItem }:
+let
+ desktopItem = makeDesktopItem {
+ name = "Psst";
+ exec = "psst-gui";
+ comment = "Fast and multi-platform Spotify client with native GUI";
+ desktopName = "Psst";
+ type = "Application";
+ categories = [ "Audio" "AudioVideo" ];
+ icon = "psst";
+ terminal = false;
+ };
+in
rustPlatform.buildRustPackage rec {
pname = "psst";
version = "unstable-2022-05-19";
@@ -29,7 +41,10 @@ rustPlatform.buildRustPackage rec {
];
postInstall = ''
- install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/${pname}.png
+ mkdir -pv $out/share/icons/hicolor/512x512/apps
+ install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
+ mkdir -pv $out/share/applications
+ ln -s ${desktopItem}/share/applications/* $out/share/applications
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ptcollab/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
index b2faf62b0f..2ec27cb49e 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
mkDerivation rec {
pname = "ptcollab";
- version = "0.6.1.1";
+ version = "0.6.2.0";
src = fetchFromGitHub {
owner = "yuxshao";
repo = "ptcollab";
rev = "v${version}";
- sha256 = "sha256-ydn3qKOK0GwA/mBPbGwSIac09b9cz6YOFbuDFFV8jJs=";
+ sha256 = "sha256-iSCuFCwOPrvff9N/a2J0kPrxikhyR7yYbD4VaU/TF4M=";
};
nativeBuildInputs = [ qmake pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/puddletag/default.nix b/third_party/nixpkgs/pkgs/applications/audio/puddletag/default.nix
index 7af2735642..320b837ab8 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/puddletag/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/puddletag/default.nix
@@ -39,6 +39,7 @@ python3Packages.buildPythonApplication rec {
--replace share/pixmaps share/icons
cp requirements.in requirements.txt
+ sed -i requirements.txt -e 's/^chromaprint$//'
'' + lib.concatMapStringsSep "\n"
(e: ''
sed -i requirements.txt -e 's/^${e}.*/${e}/'
@@ -49,7 +50,6 @@ python3Packages.buildPythonApplication rec {
propagatedBuildInputs = with python3Packages; [
pyacoustid
- chromaprint
configobj
levenshtein
lxml
diff --git a/third_party/nixpkgs/pkgs/applications/audio/pyradio/default.nix b/third_party/nixpkgs/pkgs/applications/audio/pyradio/default.nix
index 9309ea2f81..6e096c2bf3 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/pyradio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/pyradio/default.nix
@@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "pyradio";
- version = "0.8.9.22";
+ version = "0.8.9.26";
src = fetchFromGitHub {
owner = "coderholic";
repo = pname;
rev = "refs/tags/${version}";
- sha256 = "sha256-QBgXg2SNEQX1ngY+cEWqStC0zsFZ0Er81tuhTszbHWM=";
+ sha256 = "sha256-RuQAbmzB8s+YmJLSbzJTQtpiYLr1oFtrxKF8P+MlHeU=";
};
nativeBuildInputs = [ installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix b/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
index 6c7bfff86b..434be82f6f 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
@@ -5,7 +5,7 @@
}:
mkDerivation rec {
- version = "0.9.6";
+ version = "0.9.7";
pname = "qjackctl";
# some dependencies such as killall have to be installed additionally
@@ -14,7 +14,7 @@ mkDerivation rec {
owner = "rncbc";
repo = "qjackctl";
rev = "${pname}_${lib.replaceChars ["."] ["_"] version}";
- sha256 = "sha256-8oVnUe+/y4p1WeHMEhKMIl0/ax3PT0pN4f1UJaBmZBw=";
+ sha256 = "sha256-PchW9cM5qEP51G9RXUZ3j/AvKqTkgNiw3esqSQqsy0M=";
};
buildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix b/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
index 71d05ac2f3..f09de4001b 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
@@ -5,14 +5,14 @@
mkDerivation rec {
pname = "qpwgraph";
- version = "0.3.4";
+ version = "0.3.5";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "rncbc";
repo = "qpwgraph";
rev = "v${version}";
- sha256 = "sha256-JCnvwSredXO1WrTu4BIUaUTTjPcd5U/ZZcRbI/GiFfc=";
+ sha256 = "sha256-ZpVQjlqz1aPpf04qHMsN06s1n5msf32oB7cJYZf6xAU=";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/reaper/default.nix b/third_party/nixpkgs/pkgs/applications/audio/reaper/default.nix
index 47a50f2a85..28d050d2e4 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "reaper";
- version = "6.61";
+ version = "6.66";
src = fetchurl {
url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz";
hash = {
- x86_64-linux = "sha256-Lp2EVky1+ruc86LdMmvhZIisoYl0OxdkVnN3h/u09IQ=";
- aarch64-linux = "sha256-sPLCMA//xAdWXjY7++R6eLWS56Zi0u+9ju7JlICGvVc=";
+ x86_64-linux = "sha256-kMXHHd+uIc5tKlDlxKjphZsfNMYvvV/4Zx84eRwPGcs=";
+ aarch64-linux = "sha256-pB3qj9CJbI5iWBNKNX2niIfHrpSz9+qotX/zKGYDwYo=";
}.${stdenv.hostPlatform.system};
};
diff --git a/third_party/nixpkgs/pkgs/applications/audio/snapcast/default.nix b/third_party/nixpkgs/pkgs/applications/audio/snapcast/default.nix
index 19016b700f..f0e5dc9cbb 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/snapcast/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/snapcast/default.nix
@@ -1,40 +1,11 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
, alsa-lib, asio, avahi, boost17x, flac, libogg, libvorbis, soxr
+, aixlog, popl
, pulseaudioSupport ? false, libpulseaudio
, nixosTests }:
assert pulseaudioSupport -> libpulseaudio != null;
-let
-
- dependency = { name, version, sha256 }:
- stdenv.mkDerivation {
- name = "${name}-${version}";
-
- src = fetchFromGitHub {
- owner = "badaix";
- repo = name;
- rev = "v${version}";
- inherit sha256;
- };
-
- nativeBuildInputs = [ cmake ];
- };
-
- aixlog = dependency {
- name = "aixlog";
- version = "1.5.0";
- sha256 = "09mnkrans9zmwfxsiwgkm0rba66c11kg5zby9x3rjic34gnmw6ay";
- };
-
- popl = dependency {
- name = "popl";
- version = "1.2.0";
- sha256 = "1z6z7fwffs3d9h56mc2m24d5gp4fc5bi8836zyfb276s6fjyfcai";
- };
-
-in
-
stdenv.mkDerivation rec {
pname = "snapcast";
version = "0.26.0";
diff --git a/third_party/nixpkgs/pkgs/applications/audio/songrec/default.nix b/third_party/nixpkgs/pkgs/applications/audio/songrec/default.nix
index 03cfae066b..30e6ba9b2f 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/songrec/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/songrec/default.nix
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "songrec";
- version = "0.3.0";
+ version = "0.3.2";
src = fetchFromGitHub {
owner = "marin-m";
repo = pname;
rev = version;
- sha256 = "sha256-aHZH3sQNUUPcMRySy8Di0XUoFo4qjGi2pi0phLwORaA=";
+ sha256 = "sha256-cUiy8ApeUv1K8SEH4APMTvbieGTt4kZYhyB9iGJd/IY=";
};
- cargoSha256 = "sha256-EpkB43rMUJO6ouUV9TmQ+RSnGhX32DZHpKic1E6lUyU=";
+ cargoSha256 = "sha256-Tlq4qDp56PXP4N1UyHjtQoRgDrc/19vIv8uml/lAqqc=";
nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix b/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
index 051a326c60..3e7f2ddd4a 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
@@ -39,13 +39,13 @@
stdenv.mkDerivation rec {
pname = "sonic-pi";
- version = "4.0.3";
+ version = "4.1.0";
src = fetchFromGitHub {
owner = "sonic-pi-net";
repo = pname;
rev = "v${version}";
- hash = "sha256-kTuW+i/kdPhyG3L6SkgQTE9UvADY49KahJcw3+5Uz4k=";
+ hash = "sha256-kEZNVTAWkiqxyPJHSL4Gismpwxd+PnXiH8CgQCV3+PQ=";
};
mixFodDeps = beamPackages.fetchMixDeps {
@@ -61,10 +61,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
wrapQtAppsHook
copyDesktopItems
-
cmake
pkg-config
-
erlang
elixir
beamPackages.hex
diff --git a/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix b/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
index 67edd91949..65a921ed5b 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
@@ -30,7 +30,7 @@ mkDerivation rec {
description = "Lightweight unofficial Spotify client using Qt";
homepage = "https://github.com/kraxarn/spotify-qt";
license = licenses.gpl3Only;
- maintainers = with maintainers; [ kiyengar ];
+ maintainers = with maintainers; [ ];
platforms = platforms.unix;
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
index b3dd4bee21..8d77f661fb 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
@@ -42,13 +42,13 @@ let
in
stdenv.mkDerivation rec {
pname = "strawberry";
- version = "1.0.7";
+ version = "1.0.9";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
- hash = "sha256-TAt/P9nykUtOoHmprFiUJnip8mAnJlvkufD0v9ZWrp4=";
+ hash = "sha256-l6q9iTC3K7SwD0KfVVtXUGzeyuuR6OxtPkaj85s+qT4=";
};
# the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead
diff --git a/third_party/nixpkgs/pkgs/applications/audio/tauon/default.nix b/third_party/nixpkgs/pkgs/applications/audio/tauon/default.nix
index 5ae179d9e3..19cc4107fa 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/tauon/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/tauon/default.nix
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
install -Dm755 tauon.py $out/bin/tauon
mkdir -p $out/share/tauon
cp -r lib $out
- cp -r assets input.txt t_modules theme $out/share/tauon
+ cp -r assets input.txt t_modules theme templates $out/share/tauon
wrapPythonPrograms
diff --git a/third_party/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix b/third_party/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
index 1af5357cf0..730a5fce19 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
@@ -36,11 +36,11 @@
stdenv.mkDerivation rec {
pname = "tidal-hifi";
- version = "4.1.0";
+ version = "4.1.1";
src = fetchurl {
url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${version}/tidal-hifi_${version}_amd64.deb";
- sha256 = "1lvdym7wcg9042an03zxvckq6kmcd5v5snp2ma54f4knj9kmzwyf";
+ sha256 = "1l8axsf9d7a370fs96j16bnsi8fcdgwq036yxc4r4ykpnnskf1ds";
};
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
@@ -106,6 +106,8 @@ stdenv.mkDerivation rec {
makeWrapper $out/opt/tidal-hifi/tidal-hifi $out/bin/tidal-hifi \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
"''${gappsWrapperArgs[@]}"
+ substituteInPlace $out/share/applications/tidal-hifi.desktop --replace \
+ "/opt/tidal-hifi/tidal-hifi" "tidal-hifi"
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/transcribe/default.nix b/third_party/nixpkgs/pkgs/applications/audio/transcribe/default.nix
index 06f0d47d8a..5c9f31b750 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/transcribe/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/transcribe/default.nix
@@ -20,14 +20,14 @@
stdenv.mkDerivation rec {
pname = "transcribe";
- version = "9.10";
+ version = "9.21";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchzip
{
- url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.10.0.tar.gz";
- sha256 = "sha256-6+P2qdjyvCzwrXYgw2yeG+hu8W5t6E0RCZx6Znkvj3g=";
+ url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.21.0.tar.gz";
+ sha256 = "sha256-M0hOJOsTTRxPef8rTO+/KpiP4lr8mtplS9KITaFOFPA=";
}
else throw "Platform not supported";
diff --git a/third_party/nixpkgs/pkgs/applications/audio/uade123/default.nix b/third_party/nixpkgs/pkgs/applications/audio/uade/default.nix
similarity index 69%
rename from third_party/nixpkgs/pkgs/applications/audio/uade123/default.nix
rename to third_party/nixpkgs/pkgs/applications/audio/uade/default.nix
index a18b38371e..8a7a336283 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/uade123/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/uade/default.nix
@@ -6,22 +6,24 @@
, which
, makeWrapper
, libao
-, libbencodetools
+, bencodetools
, sox
, lame
, flac
, vorbis-tools
+# https://gitlab.com/uade-music-player/uade/-/issues/38
+, withWriteAudio ? !stdenv.hostPlatform.isDarwin
}:
stdenv.mkDerivation rec {
- pname = "uade123";
- version = "3.01";
+ pname = "uade";
+ version = "3.02";
src = fetchFromGitLab {
owner = "uade-music-player";
repo = "uade";
rev = "uade-${version}";
- sha256 = "0fam3g8mlzrirrac3iwcwsz9jmsqwdy7lkwwdr2q4pkq9cpmh8m5";
+ sha256 = "sha256-skPEXBQwyr326zCmZ2jwGxcBoTt3Y/h2hagDeeqbMpw=";
};
postPatch = ''
@@ -31,30 +33,41 @@ stdenv.mkDerivation rec {
substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \
--replace '-e stat' '-n stat' \
--replace '/usr/local' "$out"
+ substituteInPlace python/uade/generate_oscilloscope_view.py \
+ --replace "default='uade123'" "default='$out/bin/uade123'"
+ # https://gitlab.com/uade-music-player/uade/-/issues/37
+ substituteInPlace write_audio/Makefile.in \
+ --replace 'g++' '${stdenv.cc.targetPrefix}c++'
'';
nativeBuildInputs = [
pkg-config
which
makeWrapper
+ ] ++ lib.optionals withWriteAudio [
python3
];
buildInputs = [
libao
- libbencodetools
+ bencodetools
sox
lame
flac
vorbis-tools
+ ] ++ lib.optionals withWriteAudio [
(python3.withPackages (p: with p; [
pillow
tqdm
+ more-itertools
]))
];
configureFlags = [
- "--bencode-tools-prefix=${libbencodetools}"
+ "--bencode-tools-prefix=${bencodetools}"
+ "--with-text-scope"
+ ] ++ lib.optionals (!withWriteAudio) [
+ "--without-write-audio"
];
enableParallelBuilding = true;
@@ -66,6 +79,7 @@ stdenv.mkDerivation rec {
--prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]}
# This is an old script, don't break expectations by renaming it
ln -s $out/bin/mod2ogg2{.sh,}
+ '' + lib.optionalString withWriteAudio ''
wrapProgram $out/bin/generate_amiga_oscilloscope_view \
--prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}"
'';
@@ -79,6 +93,7 @@ stdenv.mkDerivation rec {
# Let's make it easy and flag the whole package as unfree.
license = licenses.unfree;
maintainers = with maintainers; [ OPNA2608 ];
+ mainProgram = "uade123";
platforms = platforms.unix;
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix b/third_party/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
index 71174d5999..e7d101546d 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
@@ -1,4 +1,5 @@
{ alsa-lib
+, cmake
, copyDesktopItems
, curl
, fetchFromBitbucket
@@ -23,7 +24,6 @@
, makeDesktopItem
, makeWrapper
, pkg-config
-, rtaudio
, rtmidi
, speex
, stdenv
@@ -75,13 +75,35 @@ let
fundamental-source = fetchFromGitHub {
owner = "VCVRack";
repo = "Fundamental";
- rev = "533397cdcad5c6401ebd3937d6c1663de2473627"; # tip of branch v2
- sha256 = "QnwOgrYxiCa/7t/u6F63Ks8C9E8k6T+hia4JZFhp1LI=";
+ rev = "03bd00b96ad19e0575939bb7a0b8b08eff22f076"; # tip of branch v2
+ sha256 = "1rd5yvdr6k03mc3r2y7wxhmiqd69jfvqmpqagxb83y1mn0zfv0pr";
+ };
+ vcv-rtaudio = stdenv.mkDerivation rec {
+ pname = "vcv-rtaudio";
+ version = "unstable-2020-01-30";
+
+ src = fetchFromGitHub {
+ owner = "VCVRack";
+ repo = "rtaudio";
+ rev = "ece277bd839603648c80c8a5f145678e13bc23f3"; # tip of master branch
+ sha256 = "11gpl0ak757ilrq4fi0brj0chmlcr1hihc32yd7qza4fxjw2yx2v";
+ };
+
+ nativeBuildInputs = [ cmake pkg-config ];
+
+ buildInputs = [ alsa-lib libjack2 libpulseaudio ];
+
+ cmakeFlags = [
+ "-DRTAUDIO_API_ALSA=ON"
+ "-DRTAUDIO_API_PULSE=ON"
+ "-DRTAUDIO_API_JACK=ON"
+ "-DRTAUDIO_API_CORE=OFF"
+ ];
};
in
stdenv.mkDerivation rec {
pname = "VCV-Rack";
- version = "2.0.6";
+ version = "2.1.2";
desktopItems = [
(makeDesktopItem {
@@ -101,7 +123,7 @@ stdenv.mkDerivation rec {
owner = "VCVRack";
repo = "Rack";
rev = "v${version}";
- sha256 = "vvGx8tnE7gMiboVUTywIzBB1q/IfiJ8TPnSHvmfHUQg=";
+ sha256 = "0583izk3j36mg7wm30ss2387j9dqsbbxkxrdh3993azb4q5naf02";
};
patches = [
@@ -137,8 +159,6 @@ stdenv.mkDerivation rec {
--replace 'zenityBin[] = "zenity"' 'zenityBin[] = "${gnome.zenity}/bin/zenity"'
'';
- enableParallelBuilding = true;
-
nativeBuildInputs = [
copyDesktopItems
imagemagick
@@ -161,9 +181,9 @@ stdenv.mkDerivation rec {
libjack2
libpulseaudio
libsamplerate
- rtaudio
rtmidi
speex
+ vcv-rtaudio
zstd
];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/vmpk/default.nix b/third_party/nixpkgs/pkgs/applications/audio/vmpk/default.nix
index ff9b6c679a..cc864316f0 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/vmpk/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/vmpk/default.nix
@@ -5,11 +5,11 @@
mkDerivation rec {
pname = "vmpk";
- version = "0.8.6";
+ version = "0.8.7";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
- sha256 = "sha256-cwfJJVeUokyZI1iGvqBvXjcBR36VGodzrUx5Atv3POM=";
+ sha256 = "sha256-0y1XS+I3bmNrJ65LT0LyTd8aSLXVlVZFFDZwgxVDLGk=";
};
nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/whipper/default.nix b/third_party/nixpkgs/pkgs/applications/audio/whipper/default.nix
index f06907ad32..dfe540f04e 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/whipper/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/whipper/default.nix
@@ -37,6 +37,7 @@ in python3.pkgs.buildPythonApplication rec {
nativeBuildInputs = with python3.pkgs; [
setuptools-scm
docutils
+ setuptoolsCheckHook
];
propagatedBuildInputs = with python3.pkgs; [
@@ -64,14 +65,12 @@ in python3.pkgs.buildPythonApplication rec {
export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
'';
- checkPhase = ''
- runHook preCheck
+ preCheck = ''
# disable tests that require internet access
# https://github.com/JoeLametta/whipper/issues/291
substituteInPlace whipper/test/test_common_accurip.py \
--replace "test_AccurateRipResponse" "dont_test_AccurateRipResponse"
- HOME=$TMPDIR ${python3.interpreter} -m unittest discover
- runHook postCheck
+ export HOME=$TMPDIR
'';
passthru.tests.version = testers.testVersion {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix b/third_party/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
index 4e2bb5600d..30b7abc6df 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
stdenv.mkDerivation rec {
- version = "20220327";
+ version = "20220714";
pname = "x42-plugins";
src = fetchurl {
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
- sha256 = "sha256-IhuPqTlCbCxExT5B9Au42RQQl4sDEvz6+HhsuT02KVs=";
+ sha256 = "sha256-myrHOfgpCwuW8YX0jZ3RutoqtXysU0ejBNcuxN3stXU=";
};
nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ymuse/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ymuse/default.nix
new file mode 100644
index 0000000000..dc0fb16c45
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/ymuse/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, buildGoModule
+, wrapGAppsHook
+, pkg-config
+, glib
+, gobject-introspection
+, gtk3
+, gdk-pixbuf
+, gettext
+, librsvg
+}:
+
+buildGoModule rec {
+ pname = "ymuse";
+ version = "0.20";
+
+ src = fetchFromGitHub {
+ owner = "yktoo";
+ repo = "ymuse";
+ rev = "v${version}";
+ sha256 = "sha256-wDQjNBxwxFVFdSswubp4AVD35aXKJ8i0ahk/tgRsDRc=";
+ };
+ vendorSha256 = "sha256-Ap/nf0NT0VkP2k9U1HzEiptDfLjKkBopP5h0czP3vis=";
+
+ nativeBuildInputs = [
+ pkg-config
+ wrapGAppsHook
+ glib
+ gobject-introspection
+ gdk-pixbuf
+ gettext
+ ];
+
+ buildInputs = [
+ gtk3
+ librsvg
+ ];
+
+ postInstall = ''
+ install -Dm644 ./resources/ymuse.desktop -t $out/share/applications
+ cp -r ./resources/icons $out/share
+
+ app_id="ymuse"
+ find ./resources/i18n -type f -name '*.po' |
+ while read file; do
+ # Language is the filename without the extension
+ lang="$(basename "$file")"
+ lang="''${lang%.*}"
+
+ # Create the target dir if needed
+ target_dir="$out/share/locale/$lang/LC_MESSAGES"
+ mkdir -p "$target_dir"
+
+ # Compile the .po into a .mo
+ echo "Compiling $file" into "$target_dir/$app_id.mo"
+ msgfmt "$file" -o "$target_dir/$app_id.mo"
+ done
+ '';
+
+ # IDK how to deal with tests that open up display.
+ doCheck = false;
+
+ meta = with lib; {
+ homepage = "https://yktoo.com/en/software/ymuse/";
+ description = "GTK client for Music Player Daemon (MPD)";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ foo-dogsquared ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/backup/unifi-protect-backup/default.nix b/third_party/nixpkgs/pkgs/applications/backup/unifi-protect-backup/default.nix
index 07e078b588..dbfff51d8f 100644
--- a/third_party/nixpkgs/pkgs/applications/backup/unifi-protect-backup/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/backup/unifi-protect-backup/default.nix
@@ -2,15 +2,15 @@
python3.pkgs.buildPythonApplication rec {
pname = "unifi-protect-backup";
- version = "0.7.1";
+ version = "0.7.4";
format = "pyproject";
src = fetchFromGitHub {
owner = "ep1cman";
repo = pname;
- rev = "v${version}";
- hash = "sha256-HAiyNFWLs1McrlAB48me/iI15LssO8ec7BiWuJbRlbs=";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-4Kpz89yqKmxHmnaPYpvJ2hx46yfcaCYjOioyya+38vE=";
};
preBuild = ''
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
index 51557b3fec..95dbd68a97 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
@@ -4,7 +4,7 @@
}:
let
- version = "0.14.1.0";
+ version = "0.14.2.2";
in
stdenv.mkDerivation {
pname = "aeon";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
repo = "aeon";
rev = "v${version}-aeon";
fetchSubmodules = true;
- sha256 = "sha256-yej4w/2m9YXsMobqHwzA5GBbduhaeTVvmnHUJNWX87E=";
+ sha256 = "sha256-2MptLS12CUm9eUKm+V+yYpbLVwNyZeZ5HvAFyjEc4R4=";
};
nativeBuildInputs = [ cmake pkg-config git doxygen graphviz ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
index eb43013010..4d83d797f7 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "btcpayserver";
- version = "1.6.9";
+ version = "1.6.10";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "sha256-kN+/TQCc35iI8gr9pYlW4B3B6WasGyKQffkJ8rMffVk=";
+ sha256 = "sha256-fy8mIGVij6rjaGEWE6700gbiFnH741hIuvg26W1dBlw=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/chia/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/chia/default.nix
index d10287f3e3..38262e7cd0 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/chia/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/chia/default.nix
@@ -6,14 +6,14 @@
let chia = python3Packages.buildPythonApplication rec {
pname = "chia";
- version = "1.5.0";
+ version = "1.5.1";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "chia-blockchain";
rev = version;
fetchSubmodules = true;
- hash = "sha256-OlaAnUy16QBff81XMoYQaZA0wKnsr+/3XEQLBP8IMug=";
+ hash = "sha256-FzKdb6Z/ykKYjpjCr7QR5fxXPNnQbW3bBY97t7DxS90=";
};
patches = [
@@ -55,7 +55,7 @@ let chia = python3Packages.buildPythonApplication rec {
concurrent-log-handler
cryptography
dnslib
- dnspythonchia
+ dnspython
fasteners
filelock
keyrings-cryptfile
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/clightning/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/clightning/default.nix
index 27e2fea284..8e87610e03 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/clightning/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/clightning/default.nix
@@ -3,11 +3,11 @@
, darwin
, fetchurl
, autoconf
-, automake
, autogen
+, automake
, gettext
, libtool
-, pkg-config
+, protobuf
, unzip
, which
, gmp
@@ -17,25 +17,34 @@
, zlib
}:
let
- py3 = python3.withPackages (p: [ p.Mako p.mrkd ]);
+ py3 = python3.withPackages (p: [ p.Mako ]);
in
stdenv.mkDerivation rec {
pname = "clightning";
- version = "0.11.2";
+ version = "0.12.0";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
- sha256 = "09qqfnj809dpwar9ijm3ic5cv4019hsnvh2h6sfpdqp1smf9igxs";
+ sha256 = "1ff400339db3d314b459e1a3e973f1213783e814faa21f2e1b18917693cabfd9";
+ };
+
+ manpages = fetchurl {
+ url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}-manpages.tar.xz";
+ sha256 = "sha256-7EohXp0/gIJwlMsTHwlcLNBzZb8LwF9n0eXkQhOnY7g=";
};
# when building on darwin we need dawin.cctools to provide the correct libtool
# as libwally-core detects the host as darwin and tries to add the -static
# option to libtool, also we have to add the modified gsed package.
- nativeBuildInputs = [ autogen autoconf automake gettext pkg-config py3 unzip which ]
- ++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ] ++ [ libtool ];
+ nativeBuildInputs = [ autoconf autogen automake gettext libtool protobuf py3 unzip which ]
+ ++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ];
buildInputs = [ gmp libsodium sqlite zlib ];
+ postUnpack = ''
+ tar -xf $manpages -C $sourceRoot
+ '';
+
# this causes some python trouble on a darwin host so we skip this step.
# also we have to tell libwally-core to use sed instead of gsed.
postPatch = if !stdenv.isDarwin then ''
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/electrs/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
index 57eaeace12..3fa08757f7 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
@@ -12,16 +12,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "electrs";
- version = "0.9.7";
+ version = "0.9.9";
src = fetchFromGitHub {
owner = "romanz";
repo = pname;
rev = "v${version}";
- hash = "sha256-hdXc64gj7QtCnTq3f5mpQDEKLM6qaDBLkQE07xxNaDE=";
+ hash = "sha256-jU0qN+T5bHn9l/SXDR/Wa8uCGyJhIDUCHzEQe39L2MQ=";
};
- cargoHash = "sha256-xMATO+H3bGkM/tLRimmLGYtrOAX8hzkw5Hb0c6iVAXY=";
+ cargoHash = "sha256-hdScQd0Fd6gE9/f4kk0zjZLK42oK1aaDzIOcAIsJqbU=";
# needed for librocksdb-sys
nativeBuildInputs = [ llvmPackages.clang ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/ergo/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
index 4bd870fc5d..966cbb7e4a 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ergo";
- version = "4.0.38";
+ version = "4.0.42";
src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
- sha256 = "sha256-FdgF2xxqk9n1la6Lu4g6n+3O5pgIUKSYC3KzH0yM2Ok=";
+ sha256 = "sha256-ZcNV6qgD736KlKz4h6xHAl3ByYzca77YXoETonRaWP8=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix b/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
index e17baf49dc..f6c4dcbbbf 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
@@ -2,17 +2,17 @@
buildGoModule rec {
pname = "erigon";
- version = "2022.07.03";
+ version = "2022.08.03";
src = fetchFromGitHub {
owner = "ledgerwatch";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-zWygG06H5+QuG11klRq+7T2v40FNMxmYENdsK3KB+ko=";
+ sha256 = "sha256-Z+YghJjJfeGO/LuwcLb5A9ghZUcL1OoppMZPsa38ahQ=";
fetchSubmodules = true;
};
- vendorSha256 = "sha256-vxLe8uEjuQ96JiIDxlSrpVATScNl2fscXVUqFKmMPxs=";
+ vendorSha256 = "sha256-2+9oXLIDYZfWzQfnjwJet4QT01tGzLlQJFjN4ZbG6uw=";
proxyVendor = true;
# Build errors in mdbx when format hardening is enabled:
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
index 7766158193..fa1aca4360 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,13 +9,13 @@ let
in buildGoModule rec {
pname = "go-ethereum";
- version = "1.10.21";
+ version = "1.10.23";
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-qaM1I3ytMZN+5v/Oj47n3Oc21Jk7DtjfWA/xDprbn/M=";
+ sha256 = "sha256-1fEmtbHKrjuyIVrGr/vTudZ99onkNjEMvyBJt4I8KK4=";
};
vendorSha256 = "sha256-Dj+xN8lr98LJyYr2FwJ7yUIJkUeUrr1fkcbj4hShJI0=";
@@ -46,6 +46,9 @@ in buildGoModule rec {
"cmd/utils"
];
+ # Following upstream: https://github.com/ethereum/go-ethereum/blob/v1.10.23/build/ci.go#L218
+ tags = [ "urfave_cli_no_docs" ];
+
# Fix for usb-related segmentation faults on darwin
propagatedBuildInputs =
lib.optionals stdenv.isDarwin [ libobjc IOKit ];
@@ -56,6 +59,6 @@ in buildGoModule rec {
homepage = "https://geth.ethereum.org/";
description = "Official golang implementation of the Ethereum protocol";
license = with licenses; [ lgpl3Plus gpl3Plus ];
- maintainers = with maintainers; [ adisbladis lionello RaghavSood ];
+ maintainers = with maintainers; [ adisbladis RaghavSood ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 1fc4170ffe..7e84dd4389 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
- version = "2.45.1";
+ version = "2.46.0";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
- hash = "sha256-KUp7ZQZ+THjioOSe3A40Zj+5OteWxEv+dnSbTUM8qME=";
+ hash = "sha256-QbCiOzASqicd0Tns1sV9ZVoc/GmuoohB9wB/g0Z6uFA=";
};
appimageContents = appimageTools.extractType2 {
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
index 736cd9637d..d150d73474 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
@@ -6,23 +6,24 @@
, withGui ? true, libevent
, qtbase, qttools
, zeromq
+, fmt
}:
with lib;
mkDerivation rec {
pname = "litecoin" + optionalString (!withGui) "d";
- version = "0.18.1";
+ version = "0.21.2.1";
src = fetchFromGitHub {
owner = "litecoin-project";
repo = "litecoin";
rev = "v${version}";
- sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c";
+ sha256 = "sha256-WJFdac5hGrHy9o3HzjS91zH+4EtJY7kUJAQK+aZaEyo=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
- buildInputs = [ openssl db48 boost zlib zeromq
+ buildInputs = [ openssl db48 boost zlib zeromq fmt
miniupnpc glib protobuf util-linux libevent ]
++ optionals stdenv.isDarwin [ AppKit ]
++ optionals withGui [ qtbase qttools qrencode ];
@@ -34,6 +35,11 @@ mkDerivation rec {
enableParallelBuilding = true;
+ doCheck = true;
+ checkPhase = ''
+ ./src/test/test_litecoin
+ '';
+
meta = {
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/lnd/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
index aa8673351c..28813ae6b0 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "lnd";
- version = "0.15.0-beta";
+ version = "0.15.1-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
- sha256 = "sha256-v8nLsnd6dus+og75U9VIO1K5IuyNh+VYdQfbfbYeox0=";
+ sha256 = "sha256-E1RxFy7eRCTnzTg2B0llRt+r41K6V4VQH7Edh1As4cY=";
};
- vendorSha256 = "sha256-fx3WsyLyES+ezJGDe3SjFTeGlPMmqKEtWlYGkWpxODc=";
+ vendorSha256 = "sha256-e72HIsS1fftJEOvjr1RQMo3+gjlBxXPHq2olGWfurJk=";
subPackages = [ "cmd/lncli" "cmd/lnd" ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/nearcore/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/nearcore/default.nix
index c0c2e18677..579627d974 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/nearcore/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/nearcore/default.nix
@@ -4,7 +4,7 @@
}:
rustPlatform.buildRustPackage rec {
pname = "nearcore";
- version = "1.28.0";
+ version = "1.28.1";
# https://github.com/near/nearcore/tags
src = fetchFromGitHub {
@@ -13,10 +13,10 @@ rustPlatform.buildRustPackage rec {
# there is also a branch for this version number, so we need to be explicit
rev = "refs/tags/${version}";
- sha256 = "sha256-DRVlD74XTYgy3GeUd/7OIl2aie8nEJLmrmmkwPRkrA8=";
+ sha256 = "sha256-lAbVcmr8StAZAII++21xiBd4tRcdprefvcGzPLIjl74=";
};
- cargoSha256 = "sha256-hTqje17EdVkgqReuLnizaK3cBJuqXJXC6x5NuoKJLbs=";
+ cargoSha256 = "sha256-1aoL5fbKZ4XZ1ELVDWNDFHDL2FyNuoX/DVb0h8RWBxI=";
cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
index abf56d54fe..2e7df608eb 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
@@ -10,13 +10,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "polkadot";
- version = "0.9.27";
+ version = "0.9.28";
src = fetchFromGitHub {
owner = "paritytech";
repo = "polkadot";
rev = "v${version}";
- sha256 = "sha256-abDkDkFXBG4C7lvE9g6cvUYTfQt7ObZ+Ya8V0W7ASBE=";
+ sha256 = "sha256-PYPNbysk9jHGtAUGr8O/Ah0ArTNKQYYToR5djG+XujI=";
# the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string.
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
'';
};
- cargoSha256 = "sha256-xDjHu6JARIFy2fVQMGhkdU9Qcz/aqumBFe4MjlH0TCY=";
+ cargoSha256 = "sha256-Dqcjt3yvZdaHp6sIQFo9wYH/icIInyXqKHE1Q/JjrwY=";
buildInputs = lib.optional stdenv.isDarwin [ Security ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/default.nix
new file mode 100644
index 0000000000..d9e159966a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/default.nix
@@ -0,0 +1,92 @@
+# largely inspired from https://github.com/saber-hq/saber-overlay/blob/master/packages/solana/solana.nix
+
+{ stdenv
+, fetchFromGitHub
+, lib
+, rustPlatform
+, IOKit
+, Security
+, AppKit
+, pkg-config
+, udev
+, zlib
+, protobuf
+, clang
+, llvm
+, pkgconfig
+, openssl
+, libclang
+, rustfmt
+, perl
+, hidapi
+, solanaPkgs ? [
+ "solana"
+ "solana-bench-tps"
+ "solana-faucet"
+ "solana-gossip"
+ "solana-install"
+ "solana-keygen"
+ "solana-ledger-tool"
+ "solana-log-analyzer"
+ "solana-net-shaper"
+ "solana-sys-tuner"
+ "solana-validator"
+ "cargo-build-bpf"
+ "cargo-test-bpf"
+ "solana-dos"
+ "solana-install-init"
+ "solana-stake-accounts"
+ "solana-test-validator"
+ "solana-tokens"
+ "solana-watchtower"
+ ] ++ [
+ # XXX: Ensure `solana-genesis` is built LAST!
+ # See https://github.com/solana-labs/solana/issues/5826
+ "solana-genesis"
+ ]
+}:
+let
+ pinData = lib.importJSON ./pin.json;
+ version = pinData.version;
+ sha256 = pinData.sha256;
+ cargoSha256 = pinData.cargoSha256;
+in
+rustPlatform.buildRustPackage rec {
+ pname = "solana-validator";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "solana-labs";
+ repo = "solana";
+ rev = "v${version}";
+ inherit sha256;
+ };
+
+ # partly inspired by https://github.com/obsidiansystems/solana-bridges/blob/develop/default.nix#L29
+ inherit cargoSha256;
+ verifyCargoDeps = true;
+
+ cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs;
+
+ # weird errors. see https://github.com/NixOS/nixpkgs/issues/52447#issuecomment-852079285
+ LIBCLANG_PATH = "${libclang.lib}/lib";
+ BINDGEN_EXTRA_CLANG_ARGS =
+ "-isystem ${libclang.lib}/lib/clang/${lib.getVersion clang}/include";
+ LLVM_CONFIG_PATH = "${llvm}/bin/llvm-config";
+
+ nativeBuildInputs = [ clang llvm pkgconfig protobuf rustfmt perl ];
+ buildInputs =
+ [ openssl zlib libclang hidapi ] ++ (lib.optionals stdenv.isLinux [ udev ]);
+ strictDeps = true;
+
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. ";
+ homepage = "https://solana.com";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ adjacentresearch ];
+ platforms = platforms.unix;
+ };
+ passthru.updateScript = ./update.sh;
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/pin.json b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/pin.json
new file mode 100644
index 0000000000..175cd79ad1
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/pin.json
@@ -0,0 +1,5 @@
+{
+ "version": "1.10.35",
+ "sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
+ "cargoSha256": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs"
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/update.sh b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/update.sh
new file mode 100644
index 0000000000..ffd8b0010c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/solana-validator/update.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
+
+# TODO set to `verbose` or `extdebug` once implemented in oil
+shopt --set xtrace
+# we need failures inside of command subs to get the correct cargoSha256
+shopt --unset inherit_errexit
+
+const directory = $(dirname $0 | xargs realpath)
+const owner = "solana-labs"
+const repo = "solana"
+const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
+ jq -r '.tag_name')
+const latest_version = $(echo $latest_rev | sd 'v' '')
+const current_version = $(jq -r '.version' $directory/pin.json)
+if ("$latest_version" === "$current_version") {
+ echo "solana is already up-to-date"
+ return 0
+} else {
+ const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
+ const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
+
+ jq ".version = \"$latest_version\" | \
+ .\"sha256\" = \"$tarball_hash\" | \
+ .\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
+
+ const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \
+ tail -n 2 | \
+ head -n 1 | \
+ sd '\s+got:\s+' '')
+
+ jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/terra-station/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/terra-station/default.nix
new file mode 100644
index 0000000000..7b82f2658a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/terra-station/default.nix
@@ -0,0 +1,71 @@
+{ lib, stdenv
+, fetchurl
+, gcc-unwrapped
+, dpkg
+, util-linux
+, bash
+, makeWrapper
+, electron
+}:
+
+let
+ inherit (stdenv.hostPlatform) system;
+
+ throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
+
+ sha256 = {
+ "x86_64-linux" = "139nlr191bsinx6ixpi2glcr03lsnzq7b0438h3245napsnjpx6p";
+ }."${system}" or throwSystem;
+
+ arch = {
+ "x86_64-linux" = "amd64";
+ }."${system}" or throwSystem;
+
+in
+
+stdenv.mkDerivation rec {
+ pname = "terra-station";
+ version = "1.2.0";
+
+ src = fetchurl {
+ url = "https://github.com/terra-money/station-desktop/releases/download/v${version}/Terra.Station_${version}_${arch}.deb";
+ inherit sha256;
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ dontConfigure = true;
+ dontBuild = true;
+
+ unpackPhase = ''
+ ${dpkg}/bin/dpkg-deb -x $src .
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin $out/share/${pname}
+
+ cp -a usr/share/* $out/share
+ cp -a "opt/Terra Station/"{locales,resources} $out/share/${pname}
+
+ substituteInPlace $out/share/applications/station-electron.desktop \
+ --replace "/opt/Terra Station/station-electron" ${pname}
+
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+ --add-flags $out/share/${pname}/resources/app.asar \
+ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
+ '';
+
+ meta = with lib; {
+ description = "Terra station is the official wallet of the Terra blockchain.";
+ homepage = "https://docs.terra.money/docs/learn/terra-station/README.html";
+ license = licenses.isc;
+ maintainers = [ maintainers.peterwilli ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
index 9c38a3f786..b110bd4e33 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -8,7 +8,7 @@
let
pname = "trezor-suite";
- version = "22.3.2";
+ version = "22.8.2";
name = "${pname}-${version}";
suffix = {
@@ -19,8 +19,8 @@ let
src = fetchurl {
url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
- aarch64-linux = "sha512-GW8wmfTjuWrXijyPKeDJgF+mas1pfEMgAASmlvCURfFwg+oSL0B/0Z2qm5QRXIHmyd7eg/Zd8nEZL7Fg2Lb9ww==";
- x86_64-linux = "sha512-/XQ/sI0TP++3KHlkBXLHe/SVGKcmyjT7vPkV0NCK4rlL70VE+wKLKQK6XKp4V81B5w2+3a/uPOWtmcVr5iVkSA==";
+ aarch64-linux = "sha512-tzGkEDVXOJaTfRPO4UUfDpqaddjeJvVHpf81A9hhpUTRIgbAO4fcOrTgJcgWCBotDo8nHCWjw+n5BG5PEfQ19Q==";
+ x86_64-linux = "sha512-qUM3HGYXbVbLRYXetLGbShPU5ochuptCUNn0G5RD3tQeipVZsgRkQCSfZ1Zb3HgoPUOna3u8Mp7Ipu1n8xi3vg==";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
diff --git a/third_party/nixpkgs/pkgs/applications/editors/cudatext/default.nix b/third_party/nixpkgs/pkgs/applications/editors/cudatext/default.nix
index 1289ee7549..07eb699afe 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/cudatext/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/cudatext/default.nix
@@ -31,20 +31,20 @@ let
(name: spec:
fetchFromGitHub {
repo = name;
- inherit (spec) owner rev sha256;
+ inherit (spec) owner rev hash;
}
)
(lib.importJSON ./deps.json);
in
stdenv.mkDerivation rec {
pname = "cudatext";
- version = "1.168.0";
+ version = "1.169.2";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
rev = version;
- sha256 = "sha256-/06eZ79Zeq6jtcfq+lOcumBgP59bqCX/Km7k21FroSc=";
+ hash = "sha256-EQAoKft/L4sbdY8hOvyu+Cy+3I8Lt4g1KTxTlSYALac=";
};
postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/applications/editors/cudatext/deps.json b/third_party/nixpkgs/pkgs/applications/editors/cudatext/deps.json
index 012f504e0e..910f0163cb 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/cudatext/deps.json
+++ b/third_party/nixpkgs/pkgs/applications/editors/cudatext/deps.json
@@ -2,56 +2,56 @@
"EncConv": {
"owner": "Alexey-T",
"rev": "2022.06.19",
- "sha256": "sha256-M00rHH3dG6Vx6MEALxRNlnLLfX/rRI+rdTS7riOhgeg="
+ "hash": "sha256-M00rHH3dG6Vx6MEALxRNlnLLfX/rRI+rdTS7riOhgeg="
},
"ATBinHex-Lazarus": {
"owner": "Alexey-T",
"rev": "2022.06.14",
- "sha256": "sha256-3QhARraYURW5uCf2f4MZfUbxdbsg9h7BlXUxKcz4jwA="
+ "hash": "sha256-3QhARraYURW5uCf2f4MZfUbxdbsg9h7BlXUxKcz4jwA="
},
"ATFlatControls": {
"owner": "Alexey-T",
- "rev": "2022.07.17",
- "sha256": "sha256-KMGmimbtUQHa8i5wt4KLA/HotLbb/ISzdznmdqPXkNU="
+ "rev": "2022.08.28",
+ "hash": "sha256-jkVHwPQGPtLeSRy502thPIrDWzkkwvlnyGcTzjgFgIc="
},
"ATSynEdit": {
"owner": "Alexey-T",
- "rev": "2022.07.27",
- "sha256": "sha256-SGozuk0pvp0+PwAFbGG+QMUhQ2A6mXKr31u10WIveh0="
+ "rev": "2022.08.28",
+ "hash": "sha256-U/UD3vPnIdQUe/1g/mKgs5yGirsIB/uHTjD0MOouAyI="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",
- "rev": "2022.05.04",
- "sha256": "sha256-6O4RijSejPogokLSBuC6pKrOpihMi/ykS06YyV64Sak="
+ "rev": "2022.08.28",
+ "hash": "sha256-/MWC4BoU/4kflvbly0phh+cfIR8rNwgWFtrXnmxk0Ks="
},
"EControl": {
"owner": "Alexey-T",
- "rev": "2022.07.20",
- "sha256": "sha256-pCIt21m34BuDbWLn+CQwqsMQHVWHtctME63Bjx1B9hE="
+ "rev": "2022.08.22",
+ "hash": "sha256-o87V32HhFpCeSxhgkfKiL69oCcmpiReVmiNBPyv1kc4="
},
"ATSynEdit_Ex": {
"owner": "Alexey-T",
"rev": "2022.07.20",
- "sha256": "sha256-f/BdOMcx7NTpKgaFTz4MbK3O0GcUepyMPyRdhnZImjU="
+ "hash": "sha256-f/BdOMcx7NTpKgaFTz4MbK3O0GcUepyMPyRdhnZImjU="
},
"Python-for-Lazarus": {
"owner": "Alexey-T",
"rev": "2021.10.27",
- "sha256": "sha256-ikXdDUMJ9MxRejEVAhwUsXYVh0URVFHzEpnXuN5NGpA="
+ "hash": "sha256-ikXdDUMJ9MxRejEVAhwUsXYVh0URVFHzEpnXuN5NGpA="
},
"Emmet-Pascal": {
"owner": "Alexey-T",
"rev": "2022.01.17",
- "sha256": "sha256-5yqxRW7xFJ4MwHjKnxYL8/HrCDLn30a1gyQRjGMx/qw="
+ "hash": "sha256-5yqxRW7xFJ4MwHjKnxYL8/HrCDLn30a1gyQRjGMx/qw="
},
"CudaText-lexers": {
"owner": "Alexey-T",
"rev": "2021.07.09",
- "sha256": "sha256-OyC85mTMi9m5kbtx8TAK2V4voL1i+J+TFoLVwxlHiD4="
+ "hash": "sha256-OyC85mTMi9m5kbtx8TAK2V4voL1i+J+TFoLVwxlHiD4="
},
"bgrabitmap": {
"owner": "bgrabitmap",
- "rev": "v11.5",
- "sha256": "sha256-Pevh+yhtN3oSSvbQfnO7SM6UHBVe0sSpbK8ss98XqcU="
+ "rev": "v11.5.2",
+ "hash": "sha256-aGNKkLDbGTeFgFEhuX7R2BXhnllsanJmk4k+1muiSD8="
}
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/cudatext/update.sh b/third_party/nixpkgs/pkgs/applications/editors/cudatext/update.sh
index 5cee9d709a..36b53ec141 100755
--- a/third_party/nixpkgs/pkgs/applications/editors/cudatext/update.sh
+++ b/third_party/nixpkgs/pkgs/applications/editors/cudatext/update.sh
@@ -20,7 +20,7 @@ hash=$(nix-prefetch-url --quiet --unpack --type sha256 $url)
sriHash=$(nix hash to-sri --type sha256 $hash)
sed -i "s#version = \".*\"#version = \"$version\"#" default.nix
-sed -i "s#sha256 = \".*\"#sha256 = \"$sriHash\"#" default.nix
+sed -i "s#hash = \".*\"#hash = \"$sriHash\"#" default.nix
while IFS=$'\t' read repo owner rev; do
latest=$(curl -s https://api.github.com/repos/${owner}/${repo}/releases/latest | jq -r '.tag_name')
@@ -28,6 +28,6 @@ while IFS=$'\t' read repo owner rev; do
url="https://github.com/${owner}/${repo}/archive/refs/tags/${latest}.tar.gz"
hash=$(nix-prefetch-url --quiet --unpack --type sha256 $url)
sriHash=$(nix hash to-sri --type sha256 $hash)
- jq ".\"${repo}\".rev = \"${latest}\" | .\"${repo}\".sha256 = \"${sriHash}\"" deps.json | sponge deps.json
+ jq ".\"${repo}\".rev = \"${latest}\" | .\"${repo}\".hash = \"${sriHash}\"" deps.json | sponge deps.json
fi
done <<< $(jq -r 'to_entries[]|[.key,.value.owner,.value.rev]|@tsv' deps.json)
diff --git a/third_party/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix b/third_party/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
index 19a2e378f3..d2a0080859 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
categories = [ "Development" ];
};
+ nativeBuildInputs = [ makeWrapper ];
buildInputs = [
fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
- libXrender libXtst libsecret makeWrapper zlib
+ libXrender libXtst libsecret zlib
] ++ lib.optional (webkitgtk != null) webkitgtk;
buildCommand = ''
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
deleted file mode 100644
index e7d673e339..0000000000
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, stdenv
-, trivialBuild
-, fetchFromGitHub
-, emacs
-}:
-
-trivialBuild rec {
- pname = "apheleia";
- version = "1.2";
-
- src = fetchFromGitHub {
- owner = "raxod502";
- repo = pname;
- rev = "v${version}";
- hash = "sha256-yd9yhQOs0+RB8RKaXnV/kClDm8cO97RkC8yw5b8IKRo=";
- };
-
- buildInputs = [
- emacs
- ];
-
- meta = with lib; {
- homepage = "https://github.com/raxod502/apheleia";
- description = "Asynchronous buffer reformat";
- longDescription = ''
- Run code formatter on buffer contents without moving point, using RCS
- patches and dynamic programming.
- '';
- license = licenses.mit;
- maintainers = with maintainers; [ AndersonTorres leungbk ];
- inherit (emacs.meta) platforms;
- };
-}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
index ad4f209565..04a105ed51 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
@@ -2,11 +2,11 @@
trivialBuild rec {
pname = "ebuild-mode";
- version = "1.55";
+ version = "1.60";
src = fetchurl {
url = "https://dev.gentoo.org/~ulm/emacs/${pname}-${version}.tar.xz";
- sha256 = "1bs2s5g79vrbk8544lvp388cdbig0s121kwk0h10hif4kp56ka9w";
+ sha256 = "sha256-XN+RLVff4yvxjaAuNjUgSOzU0KdnVGMt9B78rfW389g=";
};
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
index f89d0ce800..6482d46d38 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
@@ -13,13 +13,13 @@
trivialBuild {
pname = "ement";
- version = "unstable-2022-05-14";
+ version = "unstable-2022-09-01";
src = fetchFromGitHub {
owner = "alphapapa";
repo = "ement.el";
- rev = "961d650377f9e7440e47c36c0386e899f5b2d86b";
- sha256 = "sha256-4KTSPgso7UvzCRKNFI3YaPR1t4DUwggO4KtBYLm0W4Y=";
+ rev = "4ec2107e6a90ed962ddd3875d47caa523eb466b9";
+ sha256 = "sha256-zKkBpaOj3qb/Oy89rt7BxmWZDZzDzMIJjjOm+1rrnnc=";
};
packageRequires = [
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 80fde736ac..ec3eeaf7fd 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -162,8 +162,6 @@
# Packages made the classical callPackage way
- apheleia = callPackage ./apheleia { };
-
ebuild-mode = callPackage ./ebuild-mode { };
evil-markdown = callPackage ./evil-markdown { };
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
index e62a37565c..cb4cec172b 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
@@ -17,7 +17,8 @@ let
inherit (melpaStablePackages) tree-sitter-langs;
libSuffix = if stdenv.isDarwin then "dylib" else "so";
- soName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname) + "." + libSuffix;
+ langName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname);
+ soName = g: langName g + "." + libSuffix;
grammarDir = runCommand "emacs-tree-sitter-grammars" {
# Fake same version number as upstream language bundle to prevent triggering runtime downloads
@@ -28,6 +29,7 @@ let
'' + lib.concatStringsSep "\n" (map (
g: "ln -s ${g}/parser $out/langs/bin/${soName g}") plugins
));
+ siteDir = "$out/share/emacs/site-lisp/elpa/${tree-sitter-langs.pname}-${tree-sitter-langs.version}";
in
melpaStablePackages.tree-sitter-langs.overrideAttrs(old: {
@@ -36,6 +38,19 @@ melpaStablePackages.tree-sitter-langs.overrideAttrs(old: {
--replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${grammarDir}/langs\""
'';
+ postInstall =
+ old.postInstall or ""
+ + lib.concatStringsSep "\n"
+ (map
+ (g: ''
+ if [[ -d "${g}/queries" ]]; then
+ mkdir -p ${siteDir}/queries/${langName g}/
+ for f in ${g}/queries/*; do
+ ln -sfn "$f" ${siteDir}/queries/${langName g}/
+ done
+ fi
+ '') plugins);
+
passthru = old.passthru or {} // {
inherit plugins;
withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; };
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/generic.nix b/third_party/nixpkgs/pkgs/applications/editors/emacs/generic.nix
index 1f49c3c23a..34853b8904 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/generic.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/generic.nix
@@ -11,14 +11,14 @@
, libtiff, librsvg, libwebp, gconf, libxml2, imagemagick, gnutls, libselinux
, alsa-lib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf
, sigtool, jansson, harfbuzz, sqlite, nixosTests
-, dontRecurseIntoAttrs, emacsPackagesFor
+, recurseIntoAttrs, emacsPackagesFor
, libgccjit, targetPlatform, makeWrapper # native-comp params
, fetchFromSavannah
, systemd ? null
-, withX ? !stdenv.isDarwin
+, withX ? !stdenv.isDarwin && !withPgtk
, withNS ? stdenv.isDarwin
, withGTK2 ? false, gtk2-x11 ? null
-, withGTK3 ? true, gtk3-x11 ? null, gsettings-desktop-schemas ? null
+, withGTK3 ? withPgtk, gtk3-x11 ? null, gsettings-desktop-schemas ? null
, withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null
, withMotif ? false, motif ? null
, withSQLite3 ? false
@@ -29,8 +29,8 @@
, nativeComp ? true
, withAthena ? false
, withToolkitScrollBars ? true
-, withPgtk ? false
-, withXinput2 ? false
+, withPgtk ? false, gtk3 ? null
+, withXinput2 ? withX && lib.versionAtLeast version "29"
, withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
, toolkit ? (
if withGTK2 then "gtk2"
@@ -45,9 +45,10 @@ assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
assert withNS -> !withX;
assert withNS -> stdenv.isDarwin;
assert (withGTK2 && !withNS) -> withX;
-assert (withGTK3 && !withNS) -> withX;
-assert withGTK2 -> !withGTK3 && gtk2-x11 != null;
-assert withGTK3 -> !withGTK2 && gtk3-x11 != null;
+assert (withGTK3 && !withNS) -> withX || withPgtk;
+assert withGTK2 -> !withGTK3 && gtk2-x11 != null && !withPgtk;
+assert withGTK3 -> !withGTK2 && ((gtk3-x11 != null) || withPgtk);
+assert withPgtk -> withGTK3 && !withX && gtk3 != null;
assert withXwidgets -> withGTK3 && webkitgtk != null;
@@ -134,7 +135,9 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
++ lib.optionals withImageMagick [ imagemagick ]
++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
++ lib.optional (withX && withGTK2) gtk2-x11
- ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
+ ++ lib.optional (withX && withGTK3) gtk3-x11
+ ++ lib.optional withGTK3 gsettings-desktop-schemas
+ ++ lib.optional withPgtk gtk3
++ lib.optional (withX && withMotif) motif
++ lib.optional withSQLite3 sqlite
++ lib.optional withWebP libwebp
@@ -204,19 +207,14 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
-f batch-native-compile $out/share/emacs/site-lisp/site-start.el
'';
- postFixup = lib.concatStringsSep "\n" [
-
- (lib.optionalString (stdenv.isLinux && withX && toolkit == "lucid") ''
- patchelf --set-rpath \
- "$(patchelf --print-rpath "$out/bin/emacs"):${lib.makeLibraryPath [ libXcursor ]}" \
- "$out/bin/emacs"
+ postFixup = lib.optionalString (stdenv.isLinux && withX && toolkit == "lucid") ''
+ patchelf --add-rpath ${lib.makeLibraryPath [ libXcursor ]} $out/bin/emacs
patchelf --add-needed "libXcursor.so.1" "$out/bin/emacs"
- '')
- ];
+ '';
passthru = {
inherit nativeComp;
- pkgs = dontRecurseIntoAttrs (emacsPackagesFor emacs);
+ pkgs = recurseIntoAttrs (emacsPackagesFor emacs);
tests = { inherit (nixosTests) emacs-daemon; };
};
diff --git a/third_party/nixpkgs/pkgs/applications/editors/emacs/site-start.el b/third_party/nixpkgs/pkgs/applications/editors/emacs/site-start.el
index 3f9ec25d99..acc6833b98 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/emacs/site-start.el
+++ b/third_party/nixpkgs/pkgs/applications/editors/emacs/site-start.el
@@ -5,22 +5,14 @@ The list is ordered from more-specific (the user profile) to the
least specific (the system profile)"
(reverse (split-string (or (getenv "NIX_PROFILES") ""))))
-;;; Extend `load-path' to search for elisp files in subdirectories of
-;;; all folders in `NIX_PROFILES'. Also search for one level of
-;;; subdirectories in these directories to handle multi-file libraries
-;;; like `mu4e'.'
-(require 'seq)
-(let* ((subdirectory-sites (lambda (site-lisp)
- (when (file-exists-p site-lisp)
- (seq-filter (lambda (f) (file-directory-p (file-truename f)))
- ;; Returns all files in `site-lisp', excluding `.' and `..'
- (directory-files site-lisp 'full "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)")))))
- (paths (apply #'append
- (mapcar (lambda (profile-dir)
- (let ((site-lisp (concat profile-dir "/share/emacs/site-lisp/")))
- (cons site-lisp (funcall subdirectory-sites site-lisp))))
- (nix--profile-paths)))))
- (setq load-path (append paths load-path)))
+;;; Extend `load-path' to search for elisp files in subdirectories of all folders in `NIX_PROFILES'.
+;;; Non-Nix distros have similar logic in /usr/share/emacs/site-lisp/subdirs.el.
+;;; See https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
+(dolist (profile (nix--profile-paths))
+ (let ((default-directory (expand-file-name "share/emacs/site-lisp/" profile)))
+ (when (file-exists-p default-directory)
+ (setq load-path (cons default-directory load-path))
+ (normal-top-level-add-subdirs-to-load-path))))
;;; Remove wrapper site-lisp from EMACSLOADPATH so it's not propagated
;;; to any other Emacsen that might be started as subprocesses.
diff --git a/third_party/nixpkgs/pkgs/applications/editors/featherpad/default.nix b/third_party/nixpkgs/pkgs/applications/editors/featherpad/default.nix
index ff5b195bf7..dc00e09b97 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/featherpad/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/featherpad/default.nix
@@ -3,13 +3,13 @@
mkDerivation rec {
pname = "featherpad";
- version = "1.3.0";
+ version = "1.3.1";
src = fetchFromGitHub {
owner = "tsujan";
repo = "FeatherPad";
rev = "V${version}";
- sha256 = "sha256-j8nfK162JmhQLWS1qN909jjxWpzhxE6JnO5uRwtw3c4=";
+ sha256 = "sha256-OLipBhSrXf9lLpSYLwjjOv5AYJDt46MlnEW4YetXZjI=";
};
nativeBuildInputs = [ cmake pkg-config qttools ];
diff --git a/third_party/nixpkgs/pkgs/applications/editors/gophernotes/default.nix b/third_party/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
index c7375536bf..9efb2fd577 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "gophernotes";
- version = "0.7.4";
+ version = "0.7.5";
src = fetchFromGitHub {
owner = "gopherdata";
repo = "gophernotes";
rev = "v${version}";
- sha256 = "sha256-ZyZ5VOZEgFn9QrFBC1bNHKA2g8msDUnd1c5plooO+b8=";
+ sha256 = "sha256-cGlYgay/t6XIl0U9XvrHkqNxZ6BXtXi0TIANY1WdZ3Y=";
};
- vendorSha256 = "sha256-NH8Hz9SzmDksvGqCpggi6hG4kW+AoA1tctF6rGgy4H4=";
+ vendorSha256 = "sha256-iIBqx52fD12R+7MSjQNihMYYtZ9vPAdJndOG4YJVhy4=";
meta = with lib; {
description = "Go kernel for Jupyter notebooks";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix b/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
index e33eaa787a..d3d0c7c2f9 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -1,20 +1,20 @@
-{ fetchzip, lib, rustPlatform, makeWrapper }:
+{ fetchzip, lib, rustPlatform, installShellFiles, makeWrapper }:
rustPlatform.buildRustPackage rec {
pname = "helix";
- version = "22.05";
+ version = "22.08.1";
# This release tarball includes source code for the tree-sitter grammars,
# which is not ordinarily part of the repository.
src = fetchzip {
url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz";
- sha256 = "sha256-MVHfj9iVC8rFGFU+kpRcH0qX9kQ+scFsRgSw7suC5RU=";
+ sha256 = "sha256-pqAhUxKeFN7eebVdNN3Ge38sA30SUSu4Xn4HDZAjjyY=";
stripRoot = false;
};
- cargoSha256 = "sha256-9jkSZ2yW0Pca1ats7Mgv7HprpjoZWLpsbuwMjYOKlmk=";
+ cargoSha256 = "sha256-idItRkymr+cxk3zv2mPBR/frCGvzEUdSAhY7gghfR3M=";
- nativeBuildInputs = [ makeWrapper ];
+ nativeBuildInputs = [ installShellFiles makeWrapper ];
postInstall = ''
# not needed at runtime
@@ -22,6 +22,7 @@ rustPlatform.buildRustPackage rec {
mkdir -p $out/lib
cp -r runtime $out/lib
+ installShellCompletion contrib/completion/hx.{bash,fish,zsh}
'';
postFixup = ''
wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime
diff --git a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 4e6a91b603..3ec39fa071 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -1,5 +1,6 @@
{ lib, stdenv, callPackage, fetchurl
, jdk, cmake, gdb, zlib, python3
+, lldb
, dotnet-sdk_6
, maven
, autoPatchelfHook
@@ -45,6 +46,7 @@ let
python3
stdenv.cc.cc
libdbusmenu
+ lldb
];
dontAutoPatchelf = true;
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
@@ -56,6 +58,9 @@ let
# bundled gdb does not find libcrypto 10
rm -rf bin/gdb/linux
ln -s ${gdb} bin/gdb/linux
+ # bundled lldb does not find libssl
+ rm -rf bin/lldb/linux
+ ln -s ${lldb} bin/lldb/linux
autoPatchelf $PWD/bin
diff --git a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/versions.json b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/versions.json
index c38506432f..19fefe9ad6 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/versions.json
+++ b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/versions.json
@@ -3,157 +3,157 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "6f0234d41c4ca1cf8eaa4ea5585ba4cfc17d86c16c78edc59501e0ca05a80d56",
- "url": "https://download.jetbrains.com/cpp/CLion-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "a0d9e77ad4afbb5f7d69e23cf84ccf132eed6ead6c3a7cd442b33924e6931656",
+ "url": "https://download.jetbrains.com/cpp/CLion-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.54"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
- "version": "2022.1.5",
- "sha256": "688fcb5996d9bdffd0735e14d10171cfefc72bc482dd773102dcc9e28e245ab8",
- "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.5.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "4015bfa478f7ee33914975b530f13930bc32eff86223e9256f2610497f95825f",
+ "url": "https://download.jetbrains.com/datagrip/datagrip-2022.2.1.tar.gz",
"version-major-minor": "2022.1.1",
- "build_number": "221.5787.39"
+ "build_number": "222.3345.126"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "b96a1cb1b6be1d1e55c85de551fbd94b9a8c0566193d784f3bc408da60e6904e",
- "url": "https://download.jetbrains.com/go/goland-2022.1.3.tar.gz",
+ "version": "2022.2.2",
+ "sha256": "c3cfc300f55adc3a52528d13a1133bffd2aa7c2d20ea301cd20e3aff52d87609",
+ "url": "https://download.jetbrains.com/go/goland-2022.2.2.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.26"
+ "build_number": "222.3739.57"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "f8a14e3ab100cf745dc7e329e13bd31961cd728c6b7676493b9ffb4e290a9543",
- "url": "https://download.jetbrains.com/idea/ideaIC-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "93eb9391a898aad164ca47965e0445cbf0f04d7062b6875c4e4a3136799ee6cf",
+ "url": "https://download.jetbrains.com/idea/ideaIC-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-no-jbr.tar.gz",
- "version": "2022.1.3",
- "sha256": "97748cd2dacf74701eb4ec30227d96a9b5ab5c09afc7e59443669ab839d20d02",
- "url": "https://download.jetbrains.com/idea/ideaIU-2022.1.3-no-jbr.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "43eee4b9ea9aed7601252823689e7232b39829784a9bab5e8b5462f55eecc83a",
+ "url": "https://download.jetbrains.com/idea/ideaIU-2022.2.1-no-jbr.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"mps": {
"update-channel": "MPS RELEASE",
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
"version": "2021.3.1",
"sha256": "b7d41c4362e71f30adeaed9f0ec30afd5ac0e6eea9650ee4a19d70a5783db3e6",
- "url": "https://download.jetbrains.com/mps/2021.3/MPS-2021.3.1.tar.gz",
+ "url": "https://download.jetbrains.com/mps/2021.3.1/MPS-2021.3.1.tar.gz",
"version-major-minor": "2021.3",
"build_number": "213.7172.958"
},
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "ea5d005f3aee2588dd725bd3aa87d5e3beb51ac87b1505f34263f9da3babd360",
- "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "dc463578e879f958cae3c5fc775170dd0a6a89347c02aa087126f03cc7a63f79",
+ "url": "https://download.jetbrains.com/webide/PhpStorm-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.28"
+ "build_number": "222.3739.61"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "888595caa9510d31fd1b56009b6346fd705e8e7cd36d07205f8bf510b92f26a5",
- "url": "https://download.jetbrains.com/python/pycharm-community-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "fc91b134b6899a09ce8cbdc1ebdbdcfe1c1ffb6dbe756b30b24d7ad131bf27c8",
+ "url": "https://download.jetbrains.com/python/pycharm-community-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "f8b9a761529358e97d1b77510a8ef81314bccdfb0fa450f2adcd466ba1fd0bf5",
- "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "a23ffa7b617ab27d3c8abb0689b4d03b5370534193152cd4cfe4196c7d150751",
+ "url": "https://download.jetbrains.com/python/pycharm-professional-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
- "version": "2022.1.2",
- "sha256": "4513e55d3db013986bdfda52854f89fb127a153f2588ae456d6e7a182987b741",
- "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1.2.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "3f61c5fbdf46b94a5cb772ad51dda5a9cad8a9c7ad78dbcacf01daa2226a5633",
+ "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5787.36"
+ "build_number": "222.3739.37"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "9d9c729bd1908a865c72c215b25525e3b82ffee46986b58b747cb502dc6ec2f4",
- "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1.3.tar.gz",
+ "version": "2022.2",
+ "sha256": "4300570552fb94932fe4311b6f8c7a071296e0c0c84246039f26f1b37dda9f0a",
+ "url": "https://download.jetbrains.com/ruby/RubyMine-2022.2.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3345.111"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
- "version": "2022.1.3",
- "sha256": "cc32c57753f1846f2679cef27a365aebcdacfbbffaea9f33bef1d0da6032ed6c",
- "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1.3.tar.gz",
+ "version": "2022.2.1",
+ "sha256": "508fe7272dd049875d848b52a2908e4d228ce576d4dde5f56f51a8c346b12a2c",
+ "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.2.1.tar.gz",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.57"
}
},
"x86_64-darwin": {
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "6358b42546906c43e46499ea176f901df83ed8c922af65aad068ed048248138d",
- "url": "https://download.jetbrains.com/cpp/CLion-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "ba2a8fcf9a1f080ca6b2ef832b13104c440077b9e6a2bb6e26bc97bdea373208",
+ "url": "https://download.jetbrains.com/cpp/CLion-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.54"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
- "version": "2022.1.5",
- "sha256": "ac96ab12d7b4593df21cd466b3cea26bcce0db2c2eb92b5d31456887f500032b",
- "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.5.dmg",
+ "version": "2022.2.1",
+ "sha256": "7cd7bcdc7588a88459dcda5bab0e7c97751b8d7a87a37c5af8e08072fc9beb03",
+ "url": "https://download.jetbrains.com/datagrip/datagrip-2022.2.1.dmg",
"version-major-minor": "2022.1.1",
- "build_number": "221.5787.39"
+ "build_number": "222.3345.126"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "5a6821d54cd8777c937fe4dc1ef1d6cab528a24419ac0c751df6bd877a264610",
- "url": "https://download.jetbrains.com/go/goland-2022.1.3.dmg",
+ "version": "2022.2.2",
+ "sha256": "e11f07aebf849ed942c4b8658c11c70ce81b4138186a0301c0ec7cd236f1ff51",
+ "url": "https://download.jetbrains.com/go/goland-2022.2.2.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.26"
+ "build_number": "222.3739.57"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "63637f764018d50717a54c7088be6038f14fbdc8240b3e84fddecf9747471f01",
- "url": "https://download.jetbrains.com/idea/ideaIC-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "9c1402f8682ecefe84ae9494c65b80da1b763664624a7f6b0104b044b4cb687a",
+ "url": "https://download.jetbrains.com/idea/ideaIC-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "7297867bb7c5041015ff2e68415e35537c37bf500c53a5e003c82fc6af9515ab",
- "url": "https://download.jetbrains.com/idea/ideaIU-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "e54a026da11d05d9bb0172f4ef936ba2366f985b5424e7eecf9e9341804d65bf",
+ "url": "https://download.jetbrains.com/idea/ideaIU-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -167,103 +167,103 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "306e3bb8224bfb538d02fa33c777d744d369814f460fe254150d722507827abf",
- "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "ba9cc863c2247e6404b015fac085e8b3427b29aba3d7cb07940840f7c5e3b647",
+ "url": "https://download.jetbrains.com/webide/PhpStorm-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.28"
+ "build_number": "222.3739.61"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "d653aaf52be86d7327d566f03a61a5ce4dfd8059948d1d612833215410dde09b",
- "url": "https://download.jetbrains.com/python/pycharm-community-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "8c2b322cab74cbf52dbe33e0fd9be63fe320d1ade2446790c4eec7309b590eea",
+ "url": "https://download.jetbrains.com/python/pycharm-community-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "af7594948effdbe5c9a704185d8abd65a23aab5098059f3fbfef4f29c777fd98",
- "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "6636139dc9c0e28b90517e91d1c1924e218b5d33d9418cca888b05c11fbf54d9",
+ "url": "https://download.jetbrains.com/python/pycharm-professional-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
- "version": "2022.1.2",
- "sha256": "ddcf6544e7302632a117ec00cf2e20688b53a47319114418fa55f7304bf49b82",
- "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1.2.dmg",
+ "version": "2022.2.1",
+ "sha256": "13cdaa0f83e645a0a08bc3dd05522441e591b247af853b22c8ca5bbce047a125",
+ "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5787.36"
+ "build_number": "222.3739.37"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "1088ef00fef9e63cc3b24c90b4b86e20a473b1d3c72c18b0926e76a41218956f",
- "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1.3.dmg",
+ "version": "2022.2",
+ "sha256": "d806254af68425089d40a7a302ce10c87283a25399e7b667e8d261b3958f4fbb",
+ "url": "https://download.jetbrains.com/ruby/RubyMine-2022.2.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3345.111"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
- "version": "2022.1.3",
- "sha256": "85c73a9c5415eecb18d11e22e8b6aced4c16908aaec129c5a1a7241e5f354c2a",
- "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1.3.dmg",
+ "version": "2022.2.1",
+ "sha256": "7d57692ce83dd6c853c80c457bdb8239dd833cf5535c600154a7ebc0be18a05d",
+ "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.2.1.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.57"
}
},
"aarch64-darwin": {
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "60f3f83cc1e526f126c89c444928c2ab5dfaf26aab109de5f05baca2fdf20a24",
- "url": "https://download.jetbrains.com/cpp/CLion-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "af36f7f9a98881d37d89757083875494c472e60d14bd70fe0d08533d284dd4e1",
+ "url": "https://download.jetbrains.com/cpp/CLion-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.54"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
- "version": "2022.1.5",
- "sha256": "31df43a4f1adab562730adade212916091fc7f7090121001840c1453d2037694",
- "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.5-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "01d8de1225fb4a74f22752edf74038405f02d27565f01816d8e751d7989a75bb",
+ "url": "https://download.jetbrains.com/datagrip/datagrip-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1.1",
- "build_number": "221.5787.39"
+ "build_number": "222.3345.126"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "5e29fbd0b2ed2ea06445ee378fd12f8172cfffb122652d26579b7dfea6c774e5",
- "url": "https://download.jetbrains.com/go/goland-2022.1.3-aarch64.dmg",
+ "version": "2022.2.2",
+ "sha256": "7098f05847c0524bc90b00766c71c2f1cc1442983da956c79ee1445b48da73fd",
+ "url": "https://download.jetbrains.com/go/goland-2022.2.2-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.26"
+ "build_number": "222.3739.57"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "b436120ee2bb380f30e29582c3958e110d9c85186bde6af6fe5c571c75e99df8",
- "url": "https://download.jetbrains.com/idea/ideaIC-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "4bf843152fe009838dbb5e5a1d8e39ebf98df5f6771254cf1f26ff0b299798fd",
+ "url": "https://download.jetbrains.com/idea/ideaIC-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "0f0ec167c0394b7d4969cb0b95e08e2b469e811a1aa515971bc84d5ef4d54def",
- "url": "https://download.jetbrains.com/idea/ideaIU-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "f7b56525adf96d0ac290eebebd08a53b962a799db65942e07cd437aef655fa0e",
+ "url": "https://download.jetbrains.com/idea/ideaIU-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3739.54"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -277,56 +277,56 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "68c6093701f86b6a31601e159569629ceea87c7db20b8b98089bf8efadb0310e",
- "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "b553e1f0249b4d7f89cacdac7bada758895cd35aec8ddac5f81017f61ddc44fb",
+ "url": "https://download.jetbrains.com/webide/PhpStorm-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.28"
+ "build_number": "222.3739.61"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "0d578b5ab3140ac20e6a0250c2733cc2fa6888b8ab478a046181c273ac6a66cb",
- "url": "https://download.jetbrains.com/python/pycharm-community-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "c3abc618614be830dbf41479b74ae489aa44290d9bbb11e3c4d2cdffb4d569b6",
+ "url": "https://download.jetbrains.com/python/pycharm-community-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "88bcc8acc6bb7bc189466da427cc049df62062e8590108f17b080208a8008a07",
- "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "416ca961042b9c3ae8b23039cc3b84b64e941c1d82478bca3e327089efa4f4d2",
+ "url": "https://download.jetbrains.com/python/pycharm-professional-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.56"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
- "version": "2022.1.2",
- "sha256": "81ce9020cc2b20f50ce73efe80969b054fce2a62a1736aed877a1141eaf07d4b",
- "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1.2-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "96e539ba43d7dcecb9e709c1b1483b4c832fbff4b9fd77f6e91b266a91125a55",
+ "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5787.36"
+ "build_number": "222.3739.37"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "ed4b77ad69207872190b3200143c8bca50234c19539fcaaf55bfa4643e7be3b0",
- "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1.3-aarch64.dmg",
+ "version": "2022.2",
+ "sha256": "c7650443f16ab9cc0b3f6fc701164633bab079f11eeb7aa93b78f2ddc73640a0",
+ "url": "https://download.jetbrains.com/ruby/RubyMine-2022.2-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.22"
+ "build_number": "222.3345.111"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
- "version": "2022.1.3",
- "sha256": "60de3524c32fbc6dde2989b7ffcfce861c069ce79bded6206dbc587c94f411a2",
- "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1.3-aarch64.dmg",
+ "version": "2022.2.1",
+ "sha256": "fa790240b0d00cb134bf0e87c6a85d5a749b73b3f577a9564a890e5819926e53",
+ "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.2.1-aarch64.dmg",
"version-major-minor": "2022.1",
- "build_number": "221.5921.27"
+ "build_number": "222.3739.57"
}
}
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/jupyter-kernels/octave/default.nix b/third_party/nixpkgs/pkgs/applications/editors/jupyter-kernels/octave/default.nix
index 7a1c997a7c..8a6dc4e007 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/jupyter-kernels/octave/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/jupyter-kernels/octave/default.nix
@@ -22,7 +22,7 @@ rec {
launcher = runCommand "octave-kernel-launcher" {
inherit octave;
python = python3.withPackages (ps: [ ps.traitlets ps.jupyter_core ps.ipykernel ps.metakernel kernel ]);
- buildInputs = [ makeWrapper ];
+ nativeBuildInputs = [ makeWrapper ];
} ''
mkdir -p $out/bin
diff --git a/third_party/nixpkgs/pkgs/applications/editors/kibi/default.nix b/third_party/nixpkgs/pkgs/applications/editors/kibi/default.nix
index 2020729d81..3d1f01f4b0 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/kibi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/kibi/default.nix
@@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, rustPlatform
+, makeWrapper
}:
rustPlatform.buildRustPackage rec {
@@ -16,6 +17,13 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-ox1qKWxJlUIFzEqeyzG2kqZix3AHnOKFrlpf6O5QM+k=";
};
+ nativeBuildInputs = [ makeWrapper ];
+
+ postInstall = ''
+ install -Dm644 syntax.d/* -t $out/share/kibi/syntax.d
+ wrapProgram $out/bin/kibi --prefix XDG_DATA_DIRS : "$out/share"
+ '';
+
meta = with lib; {
description = "A text editor in ≤1024 lines of code, written in Rust";
homepage = "https://github.com/ilai-deutel/kibi";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/leo-editor/default.nix b/third_party/nixpkgs/pkgs/applications/editors/leo-editor/default.nix
index 1f4fbdf4ed..10b2b0a54a 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/leo-editor/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/leo-editor/default.nix
@@ -2,13 +2,13 @@
mkDerivation rec {
pname = "leo-editor";
- version = "6.6.3";
+ version = "6.6.4";
src = fetchFromGitHub {
owner = "leo-editor";
repo = "leo-editor";
rev = version;
- sha256 = "sha256-QBK+4V9Nff3K6KcJ1PEyU0Ohn3cLawKe/5sR4Tih0dM=";
+ sha256 = "sha256-NwqvlDG37OpWaLJHb6NqkRYvWwDzICKqfgIJRTBDnkI=";
};
dontBuild = true;
diff --git a/third_party/nixpkgs/pkgs/applications/editors/manuskript/default.nix b/third_party/nixpkgs/pkgs/applications/editors/manuskript/default.nix
index 810d8365b5..c93ba5ed88 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/manuskript/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/manuskript/default.nix
@@ -2,15 +2,15 @@
python3Packages.buildPythonApplication rec {
pname = "manuskript";
- version = "0.13.1";
+ version = "0.14.0";
format = "other";
src = fetchFromGitHub {
repo = pname;
owner = "olivierkes";
- rev = version;
- hash = "sha256-TEmAamNdqBK7bu62tLtJl05wBI6hga84PQSrWiMPROY=";
+ rev = "refs/tags/${version}";
+ hash = "sha256-mWLkah4eO1i5sp79xGLCIkr26TpbXxuVxIJ6gudKGWI=";
};
nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/third_party/nixpkgs/pkgs/applications/editors/neovim/tests/default.nix b/third_party/nixpkgs/pkgs/applications/editors/neovim/tests/default.nix
index 97c7a2505a..14b6bdf2e3 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/neovim/tests/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/neovim/tests/default.nix
@@ -1,3 +1,4 @@
+# run tests by building `neovim.tests`
{ vimUtils, vim_configurable, writeText, neovim, vimPlugins
, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable
, neovim-unwrapped
@@ -66,6 +67,15 @@ let
sha256 = "1ykcvyx82nhdq167kbnpgwkgjib8ii7c92y3427v986n2s5lsskc";
};
+ # this plugin checks that it's ftplugin/vim.tex is loaded before $VIMRUNTIME/ftplugin/vim.tex
+ # the answer is store in `plugin_was_loaded_too_late` in the cwd
+ texFtplugin = pkgs.runCommandLocal "tex-ftplugin" {} ''
+ mkdir -p $out/ftplugin
+ echo 'call system("echo ". exists("b:did_ftplugin") . " > plugin_was_loaded_too_late")' > $out/ftplugin/tex.vim
+ echo ':q!' >> $out/ftplugin/tex.vim
+ echo '\documentclass{article}' > $out/main.tex
+ '';
+
# neovim-drv must be a wrapped neovim
runTest = neovim-drv: buildCommand:
runCommandLocal "test-${neovim-drv.name}" ({
@@ -128,6 +138,25 @@ rec {
${nvim_with_plug}/bin/nvim -i NONE -c 'color base16-tomorrow-night' +quit! -e
'';
+ nvim_with_ftplugin = neovim.override {
+ extraName = "-with-ftplugin";
+ configure.packages.plugins = with pkgs.vimPlugins; {
+ start = [
+ texFtplugin
+ ];
+ };
+ };
+
+ # regression test that ftplugin files from plugins are loaded before the ftplugin
+ # files from $VIMRUNTIME
+ run_nvim_with_ftplugin = runTest nvim_with_ftplugin ''
+ export HOME=$TMPDIR
+ ${nvim_with_ftplugin}/bin/nvim ${texFtplugin}/main.tex
+ result="$(cat plugin_was_loaded_too_late)"
+ echo $result
+ [ "$result" = 0 ]
+ '';
+
# check that the vim-doc hook correctly generates the tag
# we know for a fact packer has a doc folder
diff --git a/third_party/nixpkgs/pkgs/applications/editors/neovim/utils.nix b/third_party/nixpkgs/pkgs/applications/editors/neovim/utils.nix
index cb0c005759..2af7ffb439 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/neovim/utils.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/neovim/utils.nix
@@ -106,6 +106,7 @@ let
flags = [
"--cmd" (lib.intersperse "|" hostProviderViml)
"--cmd" "set packpath^=${vimUtils.packDir packDirArgs}"
+ "--cmd" "set rtp^=${vimUtils.packDir packDirArgs}"
];
in
[
diff --git a/third_party/nixpkgs/pkgs/applications/editors/netbeans/default.nix b/third_party/nixpkgs/pkgs/applications/editors/netbeans/default.nix
index 1fd1e2cbf5..a004598fe8 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/netbeans/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/netbeans/default.nix
@@ -3,7 +3,7 @@
}:
let
- version = "14";
+ version = "15";
desktopItem = makeDesktopItem {
name = "netbeans";
exec = "netbeans";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
inherit version;
src = fetchurl {
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
- hash = "sha512-AEuUOiVCvZh4SjghQR2j8LBIubEBzEaZqWsb93icZU9K1sc6ddUanLD0NsQhzjK6oK1EDv5GG9PmqOXo6Sf1xg==";
+ hash = "sha512-WxqAQiPKdMfQCw9Hxaa7K2VIGTJj+Hu9WO2ehG4yQUkHBd+l0f0siLKk/i2xqLE1ZA522rxKud6iwXDuAsjjDg==";
};
buildCommand = ''
diff --git a/third_party/nixpkgs/pkgs/applications/editors/oed/default.nix b/third_party/nixpkgs/pkgs/applications/editors/oed/default.nix
index a17199c2ff..77183d0872 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/oed/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/oed/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "oed";
- version = "6.7";
+ version = "7.1";
src = fetchFromGitHub {
owner = "ibara";
repo = "oed";
rev = "oed-${version}";
- hash = "sha256-Z8B1RIFve3UPj+9G/WJX0BNc2ynG/qtoGfoesarYGz8=";
+ hash = "sha256-ySfw8Xo/dCBd3K3dxWsdPz8gQ+KeXyReIlUo4q5SFCc=";
};
postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
diff --git a/third_party/nixpkgs/pkgs/applications/editors/pinegrow/default.nix b/third_party/nixpkgs/pkgs/applications/editors/pinegrow/default.nix
index eca556fa86..e94fb02fcd 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/pinegrow/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/pinegrow/default.nix
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
pname = "pinegrow";
# deactivate auto update, because an old 6.21 version is getting mixed up
# see e.g. https://github.com/NixOS/nixpkgs/pull/184460
- version = "6.6"; # nixpkgs-update: no auto update
+ version = "6.8"; # nixpkgs-update: no auto update
src = fetchurl {
url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
- sha256 = "sha256-a3SwUNcMXl42+Gy3wjcx/KvVprgFAO0D0lFPohPV3Tk=";
+ sha256 = "sha256-gqRmu0VR8Aj57UwYYLKICd4FnYZMhM6pTTSGIY5MLMk=";
};
nativeBuildInputs = [
@@ -58,16 +58,16 @@ stdenv.mkDerivation rec {
# folder and symlinked.
unzip -q $src -d $out/opt/pinegrow
substituteInPlace $out/opt/pinegrow/Pinegrow.desktop \
- --replace 'Exec=sh -c "$(dirname %k)/PinegrowLibrary"' 'Exec=sh -c "$out/bin/Pinegrow"'
- mv $out/opt/pinegrow/Pinegrow.desktop $out/share/applications/Pinegrow.desktop
- ln -s $out/opt/pinegrow/PinegrowLibrary $out/bin/Pinegrow
+ --replace 'Exec=sh -c "$(dirname %k)/PinegrowLibrary"' 'Exec=sh -c "$out/bin/pinegrow"'
+ mv $out/opt/pinegrow/Pinegrow.desktop $out/share/applications/pinegrow.desktop
+ ln -s $out/opt/pinegrow/PinegrowLibrary $out/bin/pinegrow
runHook postInstall
'';
# GSETTINGS_SCHEMAS_PATH is not set in installPhase
preFixup = ''
- wrapProgram $out/bin/Pinegrow \
+ wrapProgram $out/bin/pinegrow \
''${makeWrapperArgs[@]} \
''${gappsWrapperArgs[@]}
'';
diff --git a/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix b/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
index 5a790e7809..d8e57fdb50 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
@@ -25,7 +25,6 @@ in buildFHSUserEnv rec {
# qsys requirements
xorg.libXtst
xorg.libXi
- libudev0-shim
];
multiPkgs = pkgs: with pkgs; let
# This seems ugly - can we override `libpng = libpng12` for all `pkgs`?
@@ -44,6 +43,7 @@ in buildFHSUserEnv rec {
xorg.libX11
xorg.libXext
xorg.libXrender
+ libudev0-shim
];
passthru = { inherit unwrapped; };
@@ -71,7 +71,7 @@ in buildFHSUserEnv rec {
EXECUTABLES="${lib.concatStringsSep " " (quartusExecutables ++ qsysExecutables ++ modelsimExecutables)}"
for executable in $EXECUTABLES; do
echo "#!${stdenv.shell}" >> $out/$executable
- echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
+ echo "$WRAPPER ${unwrapped}/$executable \"\$@\"" >> $out/$executable
done
cd $out
@@ -80,7 +80,12 @@ in buildFHSUserEnv rec {
ln --symbolic --relative --target-directory ./bin $EXECUTABLES
'';
+ # LD_PRELOAD fixes issues in the licensing system that cause memory corruption and crashes when
+ # starting most operations in many containerized environments, including WSL2, Docker, and LXC
+ # (a similiar fix involving LD_PRELOADing tcmalloc did not solve the issue in my situation)
+ # we use the name so that quartus can load the 64 bit verson and modelsim can load the 32 bit version
+ # https://community.intel.com/t5/Intel-FPGA-Software-Installation/Running-Quartus-Prime-Standard-on-WSL-crashes-in-libudev-so/m-p/1189032
runScript = writeScript "${name}-wrapper" ''
- exec $@
+ exec env LD_PRELOAD=libudev.so.0 "$@"
'';
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix b/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix
index 4b56698602..134a7807e0 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, unstick, requireFile
+{ stdenv, lib, unstick, fetchurl
, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
}:
@@ -34,18 +34,18 @@ let
};
version = "20.1.1.720";
- homepage = "https://fpgasoftware.intel.com";
- require = {name, sha256}: requireFile {
+ download = {name, sha256}: fetchurl {
inherit name sha256;
- url = "${homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
+ # e.g. "20.1.1.720" -> "20.1std.1/720"
+ url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std.${lib.versions.patch version}/${lib.elemAt (lib.splitVersion version) 3}/ib_installers/${name}";
};
in stdenv.mkDerivation rec {
inherit version;
pname = "quartus-prime-lite-unwrapped";
- src = map require ([{
+ src = map download ([{
name = "QuartusLiteSetup-${version}-linux.run";
sha256 = "0mjp1rg312dipr7q95pb4nf4b8fwvxgflnd1vafi3g9cshbb1c3k";
} {
@@ -87,12 +87,11 @@ in stdenv.mkDerivation rec {
'';
meta = with lib; {
- inherit homepage;
+ homepage = "https://fpgasoftware.intel.com";
description = "FPGA design and simulation software";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
- platforms = platforms.linux;
- hydraPlatforms = [ ]; # requireFile srcs cannot be fetched by hydra, ignore
+ platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ kwohlfahrt ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/sublime/4/common.nix b/third_party/nixpkgs/pkgs/applications/editors/sublime/4/common.nix
index de9bf276aa..0f2afb432e 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/sublime/4/common.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/sublime/4/common.nix
@@ -6,33 +6,22 @@
}:
let
- pname = "sublimetext4";
+ pnameBase = "sublimetext4";
packageAttribute = "sublime4${lib.optionalString dev "-dev"}";
binaries = [ "sublime_text" "plugin_host-3.3" "plugin_host-3.8" "crash_reporter" ];
primaryBinary = "sublime_text";
primaryBinaryAliases = [ "subl" "sublime" "sublime4" ];
- downloadUrl = "https://download.sublimetext.com/sublime_text_build_${buildVersion}_${arch}.tar.xz";
+ downloadUrl = arch: "https://download.sublimetext.com/sublime_text_build_${buildVersion}_${arch}.tar.xz";
versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}";
versionFile = builtins.toString ./packages.nix;
- archSha256 = {
- "aarch64-linux" = aarch64sha256;
- "x86_64-linux" = x64sha256;
- }.${stdenv.hostPlatform.system};
- arch = {
- "aarch64-linux" = "arm64";
- "x86_64-linux" = "x64";
- }.${stdenv.hostPlatform.system};
libPath = lib.makeLibraryPath [ xorg.libX11 xorg.libXtst glib libglvnd openssl gtk3 cairo pango curl ];
in let
- binaryPackage = stdenv.mkDerivation {
- pname = "${pname}-bin";
+ binaryPackage = stdenv.mkDerivation rec {
+ pname = "${pnameBase}-bin";
version = buildVersion;
- src = fetchurl {
- url = downloadUrl;
- sha256 = archSha256;
- };
+ src = passthru.sources.${stdenv.hostPlatform.system};
dontStrip = true;
dontPatchELF = true;
@@ -95,9 +84,22 @@ in let
--set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \
"''${gappsWrapperArgs[@]}"
'';
+
+ passthru = {
+ sources = {
+ "aarch64-linux" = fetchurl {
+ url = downloadUrl "arm64";
+ sha256 = aarch64sha256;
+ };
+ "x86_64-linux" = fetchurl {
+ url = downloadUrl "x64";
+ sha256 = x64sha256;
+ };
+ };
+ };
};
in stdenv.mkDerivation (rec {
- inherit pname;
+ pname = pnameBase;
version = buildVersion;
dontUnpack = true;
@@ -119,24 +121,30 @@ in stdenv.mkDerivation (rec {
done
'';
- passthru.updateScript = writeShellScript "${pname}-update-script" ''
- set -o errexit
- PATH=${lib.makeBinPath [ common-updater-scripts curl ]}
+ passthru = {
+ updateScript =
+ let
+ script = writeShellScript "${packageAttribute}-update-script" ''
+ set -o errexit
+ PATH=${lib.makeBinPath [ common-updater-scripts curl ]}
- latestVersion=$(curl -s ${versionUrl})
+ versionFile=$1
+ latestVersion=$(curl -s "${versionUrl}")
- if [[ "${buildVersion}" = "$latestVersion" ]]; then
- echo "The new version same as the old version."
- exit 0
- fi
+ if [[ "${buildVersion}" = "$latestVersion" ]]; then
+ echo "The new version same as the old version."
+ exit 0
+ fi
- for platform in ${lib.concatStringsSep " " meta.platforms}; do
- # The script will not perform an update when the version attribute is up to date from previous platform run
- # We need to clear it before each run
- update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform
- update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform
- done
- '';
+ for platform in ${lib.escapeShellArgs meta.platforms}; do
+ # The script will not perform an update when the version attribute is up to date from previous platform run
+ # We need to clear it before each run
+ update-source-version "${packageAttribute}.${primaryBinary}" 0 "${lib.fakeSha256}" --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
+ update-source-version "${packageAttribute}.${primaryBinary}" "$latestVersion" --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
+ done
+ '';
+ in [ script versionFile ];
+ };
meta = with lib; {
description = "Sophisticated text editor for code, markup and prose";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/sublime/4/packages.nix b/third_party/nixpkgs/pkgs/applications/editors/sublime/4/packages.nix
index 0761565643..9569f4ebf6 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/sublime/4/packages.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/sublime/4/packages.nix
@@ -11,9 +11,9 @@ in
} {};
sublime4-dev = common {
- buildVersion = "4125";
+ buildVersion = "4134";
dev = true;
- x64sha256 = "sha256-+WvLkA7sltJadfm704rOECU4LNoVsv8rDmoAlO/M6Jo=";
- aarch64sha256 = "11rbdy9rsn5b39qykbws4dqss89snrik7c2vdiw9cj0kibglsc3f";
+ x64sha256 = "rd3EG8e13FsPKihSM9qjUMRsEA6joMwVqhj1NZlwIaE=";
+ aarch64sha256 = "gdfEDd2E1sew08sVmcmw21zyil8JuJJMpG2T/9Pi81E=";
} {};
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/texstudio/default.nix b/third_party/nixpkgs/pkgs/applications/editors/texstudio/default.nix
index 7f34fc6e07..76762fd927 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/texstudio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
mkDerivation rec {
pname = "texstudio";
- version = "4.3.0";
+ version = "4.3.1";
src = fetchFromGitHub {
owner = "${pname}-org";
repo = pname;
rev = version;
- hash = "sha256-nw6LG8U4ne5nngmE7F4yFE8mTEvaRSMfwwOxg2TnAdA=";
+ hash = "sha256-CwfnRkG8GsRQuE0+l394gMdj5ao3SUKaDnYP2dfUEew=";
};
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix b/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
index b8d4c0a916..95799f09cf 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
- version = "9.0.0135";
+ version = "9.0.0180";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
- sha256 = "sha256-xAIfGNJIPO9XoSbAQTRa36Tjln3y+oWQk0lADCnL25g=";
+ hash = "sha256-38l97auTi6cue457bfRHme5fvsAmvk1MT2va1E/qguw=";
};
enableParallelBuilding = true;
@@ -24,7 +24,7 @@ rec {
description = "The most popular clone of the VI editor";
homepage = "http://www.vim.org";
license = licenses.vim;
- maintainers = with maintainers; [ lovek323 equirosa ];
+ maintainers = with maintainers; [ das_j equirosa ];
platforms = platforms.unix;
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
index 091de4dede..c2579f6a2a 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
@@ -1,6 +1,6 @@
{
"TrueZen-nvim": {
- "date": "2022-08-20",
+ "date": "2022-09-02",
"new": "true-zen-nvim"
},
"compe-tmux": {
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
index bcc8d5de3e..19fd08a4d5 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
@@ -113,12 +113,12 @@ final: prev:
Ionide-vim = buildVimPluginFrom2Nix {
pname = "Ionide-vim";
- version = "2022-05-13";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "ionide";
repo = "Ionide-vim";
- rev = "3092ca0fed470c01457d0cecbe5e108e2b008f0d";
- sha256 = "0fbkmsqpnwrh8skv5yiva8y4aj4d7zm2z5vxbzl0hl6k728dwxvz";
+ rev = "a0685e9184c75beb6c608d783389d95446775c93";
+ sha256 = "0y3amhzsnzanibq4i6im1p7ha8li115mjscfywc91v3zk9zim22i";
};
meta.homepage = "https://github.com/ionide/Ionide-vim/";
};
@@ -161,12 +161,12 @@ final: prev:
LeaderF = buildVimPluginFrom2Nix {
pname = "LeaderF";
- version = "2022-07-20";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "Yggdroot";
repo = "LeaderF";
- rev = "aef58eaa7f328d6f5713a04198c80590bbc4ecba";
- sha256 = "08xacx5n5di51929yiqz51z57ph8scvk4z9pa02r69iq4wa9grzr";
+ rev = "1137327cf3b3e357c308ee7a459599f7ccfcb4eb";
+ sha256 = "16w4069zwpws9a2fvl9nzlfzxn6sp1cays2r9d3xlk5b0q4v21qd";
};
meta.homepage = "https://github.com/Yggdroot/LeaderF/";
};
@@ -281,12 +281,12 @@ final: prev:
SchemaStore-nvim = buildVimPluginFrom2Nix {
pname = "SchemaStore.nvim";
- version = "2022-08-19";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "b0o";
repo = "SchemaStore.nvim";
- rev = "539a2d39f1c675132412c55135950b829bfee886";
- sha256 = "1spxk4011fq1jby17kk2rbyiq7p0is3lp81bpsxkqk5c92ii4d5g";
+ rev = "0c2d8387ca73bd3f9b8884f387b0f592796cbfa0";
+ sha256 = "0zrdgyg8xcl14lgykh18x8ihs4f9kh9agq7c9w9imqq7zz0sbr41";
};
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
};
@@ -341,12 +341,12 @@ final: prev:
SpaceVim = buildVimPluginFrom2Nix {
pname = "SpaceVim";
- version = "2022-07-28";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "SpaceVim";
repo = "SpaceVim";
- rev = "9fa6fad9ed2ff3c56b35c1d82d5fcdf79721e3ef";
- sha256 = "13wvm3xnpq0yi5piksjrni1xd72dl2w0d9wnp8b5mxcy1sisbn10";
+ rev = "5216b5ea3864de2f2be46a72612554c7878fc2ff";
+ sha256 = "064ax85w8l736wi7gnczr6ifgg0dx27jzml63lmrv6skfnfp00hn";
};
meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
};
@@ -375,18 +375,6 @@ final: prev:
meta.homepage = "https://github.com/chrisbra/SudoEdit.vim/";
};
- TrueZen-nvim = buildVimPluginFrom2Nix {
- pname = "TrueZen.nvim";
- version = "2022-08-07";
- src = fetchFromGitHub {
- owner = "Pocco81";
- repo = "true-zen.nvim";
- rev = "98740c76254c65576ec294551028b65081053588";
- sha256 = "1g7wwb081yliqzpzmgjgvv9fn9qcry9k4xbgv0zcgz7z1lbhmyj1";
- };
- meta.homepage = "https://github.com/Pocco81/true-zen.nvim/";
- };
-
VimCompletesMe = buildVimPluginFrom2Nix {
pname = "VimCompletesMe";
version = "2022-02-18";
@@ -449,12 +437,12 @@ final: prev:
YouCompleteMe = buildVimPluginFrom2Nix {
pname = "YouCompleteMe";
- version = "2022-08-20";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "ycm-core";
repo = "YouCompleteMe";
- rev = "535ff847abc4f2fb2a1570bfb9b6505a141286a2";
- sha256 = "0ns5jz8nk8vxd1a18g0m2hf5iyhaqiyf2cxilyrlrhkfscjfj6ky";
+ rev = "d4343e8384ffb25d70a9ebc966bbf1277735567c";
+ sha256 = "12pgal13zxdmdb6vqbnllxjdk68p9p1c9wvwhqrrwa1jriwijap0";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -498,12 +486,12 @@ final: prev:
aerial-nvim = buildVimPluginFrom2Nix {
pname = "aerial.nvim";
- version = "2022-08-10";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "stevearc";
repo = "aerial.nvim";
- rev = "f40bb382b1b2fc6a83fd452cc67bf6ecfba094e3";
- sha256 = "1gnaisvqankjhgazp4jwphb4953va1gfxxm8jbs02a269mya9lln";
+ rev = "a0e497ed94e5f3692475e4e84abec18514d968df";
+ sha256 = "0yr4qby12b17fh137avyzdilf1gcdwqmb7q9n1bnhagbch59lajb";
};
meta.homepage = "https://github.com/stevearc/aerial.nvim/";
};
@@ -546,12 +534,12 @@ final: prev:
ale = buildVimPluginFrom2Nix {
pname = "ale";
- version = "2022-08-17";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "dense-analysis";
repo = "ale";
- rev = "992476982ab97bfa7298f5da1ec0d38026f5960a";
- sha256 = "0rcxsa87dk004mfdx6m5gm3i5p8rdm4fv5wz2qwjy3yimza41kz6";
+ rev = "477ad3fdd2df80a9dc479f974caeca1aa6ae640b";
+ sha256 = "0x5j9dcng80cwfqlf4nm3gj6s2b59l67vsdw7ihljqwy548ydgg6";
};
meta.homepage = "https://github.com/dense-analysis/ale/";
};
@@ -570,24 +558,24 @@ final: prev:
alpha-nvim = buildVimPluginFrom2Nix {
pname = "alpha-nvim";
- version = "2022-07-23";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "goolord";
repo = "alpha-nvim";
- rev = "d688f46090a582be8f9d7b70b4cf999b780e993d";
- sha256 = "10cajjc18n9hvbb3y1c6al4xpzdnv6rd2kx5mi9q3bnk90kmyq7d";
+ rev = "d2336550abec27c6af8be4ed5045fb4fa82a9c93";
+ sha256 = "05y8iddcb2214kqh8b3v14qgzgdkcbfykzqhyw3p4r81a3ipld5y";
};
meta.homepage = "https://github.com/goolord/alpha-nvim/";
};
aniseed = buildVimPluginFrom2Nix {
pname = "aniseed";
- version = "2022-07-23";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "Olical";
repo = "aniseed";
- rev = "411d81776d996f3d6afee07469ebe58248fe9e36";
- sha256 = "0a1a241c2ldkrxyil8d3x67v6f3vqqjnihh6qx8mswg6qdyv60jl";
+ rev = "9892a40d4cf970a2916a984544b7f984fc12f55c";
+ sha256 = "1dbhvbaiabc8f9p3vfch3pkail2zx234g048mywl005s90d339kz";
};
meta.homepage = "https://github.com/Olical/aniseed/";
};
@@ -678,24 +666,24 @@ final: prev:
asyncrun-vim = buildVimPluginFrom2Nix {
pname = "asyncrun.vim";
- version = "2022-06-14";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "skywind3000";
repo = "asyncrun.vim";
- rev = "aa8a99e87e64276d52556f4d9d4f4a19afd37556";
- sha256 = "0r79iq6fl4rcpadwvwma70gxk57lri15bqb5p12xad67fxd40320";
+ rev = "c37c2305ddfc7324e3ad8f2b111bd875d5b57ba8";
+ sha256 = "1s5x5p6vmbx3irsldgf4l3qvzrakqhk9hdff7r8sgsnvqcx1rrlb";
};
meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
};
asynctasks-vim = buildVimPluginFrom2Nix {
pname = "asynctasks.vim";
- version = "2022-08-19";
+ version = "2022-08-23";
src = fetchFromGitHub {
owner = "skywind3000";
repo = "asynctasks.vim";
- rev = "2fcc169529109b5e54589c9e8540e7b6095e8550";
- sha256 = "0mzzyciq50dp90y4bib42qjrk3zhxnxv2lzsi5pll1n79lcp46jg";
+ rev = "4b6abc813b67e743fee205da2f996f737df1ae20";
+ sha256 = "03vqz5yz76wymsrvbkyvnfl3453b4hba2h0ji9lyy3brxb6lf1bg";
};
meta.homepage = "https://github.com/skywind3000/asynctasks.vim/";
};
@@ -714,12 +702,12 @@ final: prev:
aurora = buildVimPluginFrom2Nix {
pname = "aurora";
- version = "2022-08-19";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "ray-x";
repo = "aurora";
- rev = "d6f95bcd8bb9bf18628eaf805a5beef0f4a5b79f";
- sha256 = "1lv58w08dsjnzvx4nnw9dfw5dv2611l1n0h5c3nhsa9h1l4kchv4";
+ rev = "298394e61d57b6cc0a050c91e30475f0aeb421ef";
+ sha256 = "001l0m5z2vg5kpnbvikj033x3qg52yn3b2lsb8fpyqbnjs2r8nma";
};
meta.homepage = "https://github.com/ray-x/aurora/";
};
@@ -798,12 +786,12 @@ final: prev:
barbar-nvim = buildVimPluginFrom2Nix {
pname = "barbar.nvim";
- version = "2022-08-10";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "romgrk";
repo = "barbar.nvim";
- rev = "8c6a2e6e472ff9b7dc0a53d9a3bd88f1fbc7da6d";
- sha256 = "1nc45lp9lszxqjknrhqhjmyialfv6nqb60087snx212wm9igy661";
+ rev = "c41ad6e3f68c2c9f6aa268c6232cdef885107303";
+ sha256 = "0mdimwsiclpjn2df75lc92ryyjyql4m1x0bvpl629z33hvhlcvs0";
};
meta.homepage = "https://github.com/romgrk/barbar.nvim/";
};
@@ -930,24 +918,24 @@ final: prev:
bufferline-nvim = buildVimPluginFrom2Nix {
pname = "bufferline.nvim";
- version = "2022-08-17";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "akinsho";
repo = "bufferline.nvim";
- rev = "06eb4ad9486bd13440ffea243ea83d314f4a8e7e";
- sha256 = "1chrq34v657jbdbkg5l2vyisxb5h2mvxrx9hwvvwgiqlzyvksivp";
+ rev = "4548b8618c667f61989825dae703207dcb43d1e3";
+ sha256 = "0vnk5s8dniq0nbnwb8jk1zq2av43rnazj6k22jzp1i078zji8zya";
};
meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
};
bullets-vim = buildVimPluginFrom2Nix {
pname = "bullets.vim";
- version = "2022-08-13";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "dkarter";
repo = "bullets.vim";
- rev = "5b38374ead59c84ecc1013d3267af14b624f4469";
- sha256 = "1zk06c72lqyppm3y8iipb9q0lap56qmbsdrqp7s9spvpf5bcj1hz";
+ rev = "770a93c1770491ad45e47678a9cd7c581f3f24ee";
+ sha256 = "05wn0v6vi51iq5rsxfz6vnsfiz5w2xnsii7d32gk0vhbm9f83cb3";
};
meta.homepage = "https://github.com/dkarter/bullets.vim/";
};
@@ -1038,24 +1026,24 @@ final: prev:
clang_complete = buildVimPluginFrom2Nix {
pname = "clang_complete";
- version = "2022-07-08";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "xavierd";
repo = "clang_complete";
- rev = "813aa270bd390bf64f03dc34f98834fb726a707d";
- sha256 = "1kjr2qb431xqr8bzmb5bzd98mym4s4azr0h2qlgm7cqqpmh19i0m";
+ rev = "e25b6a54e5cf648eb36d5be5b82c1bbb22260fde";
+ sha256 = "0ik55akiyivq70a0jds35f8jqvs78mzxq3b302vhyq07w44mk7vx";
};
meta.homepage = "https://github.com/xavierd/clang_complete/";
};
clangd_extensions-nvim = buildVimPluginFrom2Nix {
pname = "clangd_extensions.nvim";
- version = "2022-07-19";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "p00f";
repo = "clangd_extensions.nvim";
- rev = "2390bf75e25daf738d2cc04aac8f83f62b7f037d";
- sha256 = "0hj0cazy5mzwswjrdhi8sn2p9v72k35z7cap67crqn321fp4hp0z";
+ rev = "8fd2d8a11bb9b7610b3caedd3601843ceafc119f";
+ sha256 = "16blllwprqi52797bbmvkcfyh43i8yjd6k4kjkh77gx2nwqr7f6v";
};
meta.homepage = "https://github.com/p00f/clangd_extensions.nvim/";
};
@@ -1194,24 +1182,24 @@ final: prev:
cmp-dap = buildVimPluginFrom2Nix {
pname = "cmp-dap";
- version = "2022-07-20";
+ version = "2022-08-21";
src = fetchFromGitHub {
owner = "rcarriga";
repo = "cmp-dap";
- rev = "e21f0e5d188ee428f8acab1af21839af391607a4";
- sha256 = "19lv7671imcdcxwz6yzn8lq2gm7jgh52mmr2xk1knq744d7dfld0";
+ rev = "3310f7daec849ba708c1dd34e3d3bc721ca35511";
+ sha256 = "0dhyglycl4wyhzsz3j93s36q1k1ssq9866xjl6vmamvjdq31szm3";
};
meta.homepage = "https://github.com/rcarriga/cmp-dap/";
};
cmp-dictionary = buildVimPluginFrom2Nix {
pname = "cmp-dictionary";
- version = "2022-07-06";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "uga-rosa";
repo = "cmp-dictionary";
- rev = "5286fc8a23a701a38381571202710fd977cbec84";
- sha256 = "1n9hxd9qbnkcrw6ksh1062bx514qwsk32g32vl2ljxamr3mg9ghl";
+ rev = "93f3e2cb2e0b4d31cf3a97820daddc4e9933ef01";
+ sha256 = "0bmmaxnf5inm7lgni4132vh01wkx7864690jv932wkpk0665y2hm";
};
meta.homepage = "https://github.com/uga-rosa/cmp-dictionary/";
};
@@ -1242,36 +1230,36 @@ final: prev:
cmp-fish = buildVimPluginFrom2Nix {
pname = "cmp-fish";
- version = "2022-06-23";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "mtoohey31";
repo = "cmp-fish";
- rev = "8ce7517d74c11a55bf2d0e52e4649e49cea6c7a1";
- sha256 = "0nlcx39hycl15bw1vn35lcw0lmgckn396m2pwfk22lyijdqdgnlk";
+ rev = "8ae7bfb1b3251d433c4adf4e64396ef929fbd91f";
+ sha256 = "02yvzj7n8j20x6hxbgj7jy2ddhfqbccg6bg9hfl2yg67prqmz7p5";
};
meta.homepage = "https://github.com/mtoohey31/cmp-fish/";
};
cmp-fuzzy-buffer = buildVimPluginFrom2Nix {
pname = "cmp-fuzzy-buffer";
- version = "2022-07-07";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "tzachar";
repo = "cmp-fuzzy-buffer";
- rev = "a939269ccaa251374a6543d90f304a234304cd3d";
- sha256 = "11pwqrjlm1z8ynnb9jxilpjcq38qr0hlxbf3fa7z2fbgplbvf9lq";
+ rev = "4758be3e346499bec0c7524dc3ebcc4cd60a7036";
+ sha256 = "0kcizsfm9gnpygf3bj520qbgcfag7rx3nxsc4xc7pnlgzm3cv1d2";
};
meta.homepage = "https://github.com/tzachar/cmp-fuzzy-buffer/";
};
cmp-fuzzy-path = buildVimPluginFrom2Nix {
pname = "cmp-fuzzy-path";
- version = "2022-07-26";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "tzachar";
repo = "cmp-fuzzy-path";
- rev = "b4a8c1bebfe5a5d45b36e0b09e72f9f082e9a40c";
- sha256 = "0zfx0mh4bq2mvppdl6vr5045hdjjqq6wd1xjn7mjwj3mbvnfpk2f";
+ rev = "857097778bc772f9d6f885e50eeb05f39632d2bb";
+ sha256 = "1gwscb808m2qvryslmh5a1ndq1xaigsng82c2wk4fsqvz751zg79";
};
meta.homepage = "https://github.com/tzachar/cmp-fuzzy-path/";
};
@@ -1470,12 +1458,12 @@ final: prev:
cmp-rg = buildVimPluginFrom2Nix {
pname = "cmp-rg";
- version = "2022-07-27";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "lukas-reineke";
repo = "cmp-rg";
- rev = "7cf6ddc0046591b8a95c737826edf683489c3a66";
- sha256 = "1xi3vygr5czjx904314ny2pgyxz9s8s7m27cl74ii05np7i27nnz";
+ rev = "1cad8eb315643d0df13c37401c03d7986f891011";
+ sha256 = "02ij7isp6hzcfkd5zw9inymmpgcmhiz0asjra45w8jkzqlxd322j";
};
meta.homepage = "https://github.com/lukas-reineke/cmp-rg/";
};
@@ -1506,12 +1494,12 @@ final: prev:
cmp-tabnine = buildVimPluginFrom2Nix {
pname = "cmp-tabnine";
- version = "2022-08-18";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "tzachar";
repo = "cmp-tabnine";
- rev = "cdfa2b1609e1e05e9cc56ffda1438b6dbe9fa791";
- sha256 = "0y0pr8vq53hixwax5jdgwqamzxpdvr96lzjzmpv1jlkd7ghynj35";
+ rev = "cfd93698c1ada2c0f493e48f0df19930d6cdc218";
+ sha256 = "19xc1ypah2ql4cspbj6c3y9hhfjcx5iwjb6c34cfdqzlaynfar9s";
};
meta.homepage = "https://github.com/tzachar/cmp-tabnine/";
};
@@ -1650,12 +1638,12 @@ final: prev:
coc-lua = buildVimPluginFrom2Nix {
pname = "coc-lua";
- version = "2022-08-13";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "josa42";
repo = "coc-lua";
- rev = "183214d6c56f45a5d74a4d8b6387404e9634f113";
- sha256 = "0970yda1ilqfwz38yg2r40h1rbjnda67sjlbn131566dybpdl648";
+ rev = "d5cae4cdff02f5e839ac7ec051bc477b5eb299cb";
+ sha256 = "0dx9x8bv65d4pgm2p3fggh167g3d7hjfic1ykpfxyqvrabrkppn2";
};
meta.homepage = "https://github.com/josa42/coc-lua/";
};
@@ -1710,12 +1698,12 @@ final: prev:
coc-nvim = buildVimPluginFrom2Nix {
pname = "coc.nvim";
- version = "2022-08-20";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "neoclide";
repo = "coc.nvim";
- rev = "a2f7d232d7d5e05c3aecd47074c49bce625b5a0c";
- sha256 = "1v11gs75sv2r4czixqn9nmv8wirziyasyynglyrxslywhjw4bscy";
+ rev = "f63823713515d872e19f79c0b92258625738008a";
+ sha256 = "0kqhxl6hyhfrxrd7ym77kmnf0128g8ljx7l6any32mxlj66jlx0y";
};
meta.homepage = "https://github.com/neoclide/coc.nvim/";
};
@@ -1782,25 +1770,24 @@ final: prev:
command-t = buildVimPluginFrom2Nix {
pname = "command-t";
- version = "2022-06-18";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "wincent";
repo = "command-t";
- rev = "81dba1e2741686514f466701ca62ce3831d49a08";
- sha256 = "0mmvdhxzj8nv38nw1vddzzg7xkair72x7lwk4lkd369yc3bbwv6g";
- fetchSubmodules = true;
+ rev = "29a6a305012c0d39cd88d11e15df62ee3aa99091";
+ sha256 = "160j5fv9fr4vwxjh3gvfj4h56l9gav2zc568k3171vyk2bwj7phs";
};
meta.homepage = "https://github.com/wincent/command-t/";
};
comment-nvim = buildVimPluginFrom2Nix {
pname = "comment.nvim";
- version = "2022-08-20";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "numtostr";
repo = "comment.nvim";
- rev = "350bf0cb47bfb2a48ddca79475888bc333c74a37";
- sha256 = "0z9jn3rcnsmq91k8w508w7a18ps9g19lcrk0226dypqbscswwgl6";
+ rev = "30d23aa2e1ba204a74d5dfb99777e9acbe9dd2d6";
+ sha256 = "1nr66wjb4y1m5dp4vr9c1x4ygm45f4j3c2dy7cvin1abaj0bz06y";
};
meta.homepage = "https://github.com/numtostr/comment.nvim/";
};
@@ -1865,6 +1852,18 @@ final: prev:
meta.homepage = "https://github.com/tamago324/compe-zsh/";
};
+ compiler-explorer-nvim = buildVimPluginFrom2Nix {
+ pname = "compiler-explorer.nvim";
+ version = "2022-09-08";
+ src = fetchFromGitHub {
+ owner = "krady21";
+ repo = "compiler-explorer.nvim";
+ rev = "5fe1bdd9ff255d7ad2cc952b844c59fd71bd58a9";
+ sha256 = "06klr4mgqr30p33pcm74h7isajkq4rj0wk7ibl5h9jg7l0d4jiqh";
+ };
+ meta.homepage = "https://github.com/krady21/compiler-explorer.nvim/";
+ };
+
completion-buffers = buildVimPluginFrom2Nix {
pname = "completion-buffers";
version = "2021-01-17";
@@ -1939,16 +1938,28 @@ final: prev:
conjure = buildVimPluginFrom2Nix {
pname = "conjure";
- version = "2022-08-07";
+ version = "2022-08-31";
src = fetchFromGitHub {
owner = "Olical";
repo = "conjure";
- rev = "08236a13164a948fe403f34fe1f593ead0a3c6fe";
- sha256 = "13iqzsj4x5fyzd40119jcng5vlz35y3ylrndiqwl62qj4pk4xqjb";
+ rev = "a8686aa6f8760bd3cd4f219a8a4101af037c9d9b";
+ sha256 = "0w74571l9hnds4f57fbs0p0snfbdavy052304yazjfxlmyppfrwf";
};
meta.homepage = "https://github.com/Olical/conjure/";
};
+ context-vim = buildVimPluginFrom2Nix {
+ pname = "context.vim";
+ version = "2022-05-02";
+ src = fetchFromGitHub {
+ owner = "wellle";
+ repo = "context.vim";
+ rev = "c06541451aa94957c1c07a9f8a7130ad97d83a65";
+ sha256 = "1n9623cp8ljyrwnq0i4zqfaxp1fwsl5l3shg87ksn1xvj14fw66c";
+ };
+ meta.homepage = "https://github.com/wellle/context.vim/";
+ };
+
context_filetype-vim = buildVimPluginFrom2Nix {
pname = "context_filetype.vim";
version = "2021-08-08";
@@ -1963,36 +1974,36 @@ final: prev:
copilot-vim = buildVimPluginFrom2Nix {
pname = "copilot.vim";
- version = "2022-08-15";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "github";
repo = "copilot.vim";
- rev = "554460008f18cbffecb9f1e5de58fec8410dc16f";
- sha256 = "19chh2085dfq69dv9faxc7sawwxmz00i9h80d095zj8nc35rqk4j";
+ rev = "1bfbaf5b027ee4d3d3dbc828c8bfaef2c45d132d";
+ sha256 = "198xycf4zm3n92mkya7abaqj8nm5jm9xyqfqwsf5a88s9ymzqvw6";
};
meta.homepage = "https://github.com/github/copilot.vim/";
};
coq-artifacts = buildVimPluginFrom2Nix {
pname = "coq.artifacts";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "coq.artifacts";
- rev = "fa7eb726e42611ec43696d7faaa88ac4337ab61d";
- sha256 = "0dp8bfrmc09pd7cnlhjiz8587d66r2nrdfg4860k61lprk0pg42g";
+ rev = "1df675a2938efe5c8bf561c7953326f1cc337a0a";
+ sha256 = "00vrx7ah5b8bfp281858k4464ribfpqq1xkfg9djxnc4nhdpgiy3";
};
meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
};
coq-thirdparty = buildVimPluginFrom2Nix {
pname = "coq.thirdparty";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "coq.thirdparty";
- rev = "5695d4c6cd23e45a953ad2a183cd880941675cbf";
- sha256 = "1m6xmc7sl6w52rics1qkwhgj6cndvs3jy00i3whklg3yfc32dqv0";
+ rev = "e2425780c53966647627531c9e61677336736bd7";
+ sha256 = "17fag6vrg8qpm0myfbn56r66rnci8v1m9d59nvn7wrsfs22as8n6";
};
meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
};
@@ -2011,12 +2022,12 @@ final: prev:
coq_nvim = buildVimPluginFrom2Nix {
pname = "coq_nvim";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "coq_nvim";
- rev = "6cbd89e1270aa84d88843b702aa33e37529fa100";
- sha256 = "0j16g15x57c3wsfav8rvcailgdj74mmy1rrad9sfi1f6fg0yynhq";
+ rev = "9ef107562e6392c26fe04a6f96617aace95515e2";
+ sha256 = "0rzwiw3jv2vb6m11lhmfvabkj5z22dy8wjq5vna3kjhwhvmxiwfm";
};
meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
};
@@ -2047,12 +2058,12 @@ final: prev:
crates-nvim = buildVimPluginFrom2Nix {
pname = "crates.nvim";
- version = "2022-08-15";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "saecki";
repo = "crates.nvim";
- rev = "75ee7231a2d29f80b14c42300ec96235518638db";
- sha256 = "0v86kxc063h5b3gn8imix0r8xikqx36xw8x36rdbyi8vi73y74ar";
+ rev = "49808e2c03516d7f6290f033b004d57494c824d2";
+ sha256 = "0bi4w37lfakxgkdfxij62a716wvkf4s44rj3527wfpnd27s04qac";
};
meta.homepage = "https://github.com/saecki/crates.nvim/";
};
@@ -2083,12 +2094,12 @@ final: prev:
csv-vim = buildVimPluginFrom2Nix {
pname = "csv.vim";
- version = "2022-08-04";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "chrisbra";
repo = "csv.vim";
- rev = "5a62e08b7191848f2d67fcf7e25c3f672285d64d";
- sha256 = "08r1nfdkixwnm8vf9r428klp9qd8x67w1qvg2adiyj95y1fb8j2b";
+ rev = "2fcac7660734223f6cc57a3c5ec5d87e5a52d2e2";
+ sha256 = "0fwxfsfnmr6jh3w3hh1lw03zapgwcsn7y5kwlvd98273qa4m290k";
};
meta.homepage = "https://github.com/chrisbra/csv.vim/";
};
@@ -2155,12 +2166,12 @@ final: prev:
dashboard-nvim = buildVimPluginFrom2Nix {
pname = "dashboard-nvim";
- version = "2022-08-18";
+ version = "2022-08-28";
src = fetchFromGitHub {
owner = "glepnir";
repo = "dashboard-nvim";
- rev = "b7e9f65bb259e52c29770e3c6cca32dd8519c76f";
- sha256 = "0lmzhw6a86kfnmpli1bw711yjx6v7bi5fxbrvrp352w7c05d3b9v";
+ rev = "fecbf08ff81a5068ee4d999a015223a8fcd2f8dc";
+ sha256 = "02dv7zpa3279qfi04dp4d6dc8i45ryndz08v9gl6yywh5ga75lnz";
};
meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
};
@@ -2469,12 +2480,12 @@ final: prev:
deoplete-nvim = buildVimPluginFrom2Nix {
pname = "deoplete.nvim";
- version = "2022-08-15";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "Shougo";
repo = "deoplete.nvim";
- rev = "036a265c1983bb872afbeea931d85ffe3ad708ad";
- sha256 = "0n3j4yscw9x8pgrk58hcxa5iw03iih00f0abm4xaai2raf716ylk";
+ rev = "4e30d980f51087241499e20d687b76dc5000274e";
+ sha256 = "0ll5wb8kpqy907rw6c9v99vkldp9lcvbrzdysjcdq4z8gzcwrvac";
};
meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
};
@@ -2505,12 +2516,12 @@ final: prev:
diaglist-nvim = buildVimPluginFrom2Nix {
pname = "diaglist.nvim";
- version = "2022-01-11";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "onsails";
repo = "diaglist.nvim";
- rev = "6c43beac1ff07f6ef00f063090b5a6c9ed11b800";
- sha256 = "1a10hmz38g3lpf1xxsk3b62vr16iaz5z5yqvk21m9bpai871fv1r";
+ rev = "afc124a0976d56db43cc840e62757193ccab7856";
+ sha256 = "04virm388yi2lrq8bi6331m7q7lj46wrlh8pd8js6q7ylkvz6qfq";
};
meta.homepage = "https://github.com/onsails/diaglist.nvim/";
};
@@ -2529,12 +2540,12 @@ final: prev:
diffview-nvim = buildVimPluginFrom2Nix {
pname = "diffview.nvim";
- version = "2022-08-19";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "sindrets";
repo = "diffview.nvim";
- rev = "c244577dd425072275eff925e87739820ac5e0aa";
- sha256 = "0wh2ccsizkjb92pb5b00qf6rm1vx6a08p5bd7j0f8j1x6wlrpciw";
+ rev = "be476758db1126632a62c8ef64113c931d763fbc";
+ sha256 = "1qs10jwdrc6mpgwqlvjca7gcivlpgmxphklffcnq6qnx6gs57rpg";
};
meta.homepage = "https://github.com/sindrets/diffview.nvim/";
};
@@ -2565,12 +2576,12 @@ final: prev:
dressing-nvim = buildVimPluginFrom2Nix {
pname = "dressing.nvim";
- version = "2022-07-31";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "stevearc";
repo = "dressing.nvim";
- rev = "d886a1bb0b43a81af58e0331fedbe8b02ac414fa";
- sha256 = "1cd11p19hi6jcmirahnmz8cp6962wm9rpjjypvffihj1j8wgl23p";
+ rev = "b188b7750c78c0dbe0c61d79d824673a53ff82db";
+ sha256 = "1098vj0fgz1zazbw1a4nk5zsgq5gf38nc2xck0nlqwankrzasl2d";
};
meta.homepage = "https://github.com/stevearc/dressing.nvim/";
};
@@ -2589,12 +2600,12 @@ final: prev:
edge = buildVimPluginFrom2Nix {
pname = "edge";
- version = "2022-08-16";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "sainnhe";
repo = "edge";
- rev = "b2df9d53ebd796f6304966d4bd0740d41b160538";
- sha256 = "0bag2l66fgh4hk8la4dbipprdgicmyxxjakfb49m7fal54a9qjqj";
+ rev = "27c3d5da4f3e1f08dbe754d3458182b7b18ae059";
+ sha256 = "0fiag3ma9a5hjhxk8h93hcqzgmkjgyjrfmmdgw5rdyzhzszji81i";
};
meta.homepage = "https://github.com/sainnhe/edge/";
};
@@ -2675,12 +2686,12 @@ final: prev:
everforest = buildVimPluginFrom2Nix {
pname = "everforest";
- version = "2022-08-19";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "sainnhe";
repo = "everforest";
- rev = "b89036098577d6b1b31806e67697038f78c1769d";
- sha256 = "01xvpp8k92d7dm3wsq7w43grx6fv7ava95wb7z9fsa1axlpy6adb";
+ rev = "ec0b9676203a84500984da5e162a129128c99a9c";
+ sha256 = "1a3bshd370m755xslf67ig7nfzjybdzn9jgv18dk9igy6szxa16x";
};
meta.homepage = "https://github.com/sainnhe/everforest/";
};
@@ -2699,12 +2710,12 @@ final: prev:
far-vim = buildVimPluginFrom2Nix {
pname = "far.vim";
- version = "2022-01-07";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "brooth";
repo = "far.vim";
- rev = "611d9c221c370a64f582c3dc4c38f9ea7b29f441";
- sha256 = "1gflszsbnabb9mbf0njzv2nwn5lsmb0ghhmzvnylfqcyll1ib44q";
+ rev = "5ad7d647434c7d89f715afa5aeae46e5441d32b3";
+ sha256 = "0rmlpm415knarnqbqykw9yhaliv4pw2c1kx4dlclg8xgx0a191f0";
};
meta.homepage = "https://github.com/brooth/far.vim/";
};
@@ -2735,12 +2746,12 @@ final: prev:
feline-nvim = buildVimPluginFrom2Nix {
pname = "feline.nvim";
- version = "2022-08-08";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "feline-nvim";
repo = "feline.nvim";
- rev = "b7391bbfcb9cf6acf28e8015d9e41a9c9b6c91f5";
- sha256 = "0cjwp7c99xhdc0s40k7s5j1yn47yzib07zzhlj6wp3jmm5lnhjj5";
+ rev = "331a79449d86668618a4e00fced153bce3ce2780";
+ sha256 = "0ph2aljg8i6nqnd2l9bbvcd96b2c46xm45d5n8fq92y0rp8k54dq";
};
meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
};
@@ -2759,12 +2770,12 @@ final: prev:
fern-vim = buildVimPluginFrom2Nix {
pname = "fern.vim";
- version = "2022-08-19";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "lambdalisue";
repo = "fern.vim";
- rev = "3afc6aa1e4f591c8706f92759f364c4573d863d7";
- sha256 = "1khwqng9sdmrzlbvf9dpdpd9xqa7a1bwm5byndqrzh7h6cfvg4v0";
+ rev = "d134808916cb7ccd0800830032d07a0757ed68ee";
+ sha256 = "0234020pb2xpii4g0flsjs9y4vrlrckgnj9d52bw4qf53a79j630";
};
meta.homepage = "https://github.com/lambdalisue/fern.vim/";
};
@@ -2856,24 +2867,24 @@ final: prev:
flutter-tools-nvim = buildVimPluginFrom2Nix {
pname = "flutter-tools.nvim";
- version = "2022-08-16";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "akinsho";
repo = "flutter-tools.nvim";
- rev = "78551498310e25055ec26d0f8dec2b5297043676";
- sha256 = "0lihim61vp59ffdk86gwqpb41n79grjhbs71s9m51b6pnljnda29";
+ rev = "45e1091deaf185e26347b75b1bff6963f5fb1c4a";
+ sha256 = "1h07la516gwg1x78alwnw5yn9lk4dj9g5dly7pgjwlp8sr5r0yq0";
};
meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
};
formatter-nvim = buildVimPluginFrom2Nix {
pname = "formatter.nvim";
- version = "2022-08-06";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "mhartington";
repo = "formatter.nvim";
- rev = "6e5fbf459ebb522b84cd3ae5f6c76fe3f58039d2";
- sha256 = "0hwfk3jax9cp53ccyfa8xy9ax609hv3cywqnxk4msjwn1722vrcg";
+ rev = "07a746e6df6bf4c77766aa6c19723da618a38781";
+ sha256 = "0qffbwvb3vh92vixk8wq6h11ayvzvlq64x4qdwx7nz7dfd6cwlhb";
};
meta.homepage = "https://github.com/mhartington/formatter.nvim/";
};
@@ -2892,12 +2903,12 @@ final: prev:
friendly-snippets = buildVimPluginFrom2Nix {
pname = "friendly-snippets";
- version = "2022-08-18";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "rafamadriz";
repo = "friendly-snippets";
- rev = "6227548c97d7bd7d2f5f0897814c16649fcce368";
- sha256 = "1rywcw65fk81didm7dxgpmssvik2s2na4smp5dssazr9qb99ryip";
+ rev = "22a99756492a340c161ab122b0ded90ab115a1b3";
+ sha256 = "1ldm4sabp9wvq1mww8rzzmkd9axlnm86hid6sr3prva9xqmwxq5d";
};
meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
};
@@ -3000,12 +3011,12 @@ final: prev:
fzf-lua = buildVimPluginFrom2Nix {
pname = "fzf-lua";
- version = "2022-08-20";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "ibhagwan";
repo = "fzf-lua";
- rev = "d4ec9eea65454590506dba8ace92c11ff751c367";
- sha256 = "0vib3kdk3kb50jfwiccza6zsah11cvv8gpw1428cy425qi4kn6ll";
+ rev = "0944e1e85fc74c7c006c696b74b7af3acf345d8b";
+ sha256 = "0g81gr2ic1yvnkylwg33j9msvxqjaxl41hgf27sxkbd1aqcwbv1m";
};
meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
};
@@ -3060,12 +3071,12 @@ final: prev:
ghcid = buildVimPluginFrom2Nix {
pname = "ghcid";
- version = "2022-03-26";
+ version = "2022-08-31";
src = fetchFromGitHub {
owner = "ndmitchell";
repo = "ghcid";
- rev = "f48626bf5b64067a84b644bcc56afac686046966";
- sha256 = "0v2m05980r5zq77b11nghjgz0yr70a88gd7jv0d0iy2z6ah63sxv";
+ rev = "2ee828d864ea81900b38c375d4bc4cd3657fe6fd";
+ sha256 = "1sgskxl6yf6c4bls6wf3hlqww48h53m3a9wyypy6mx303k2qcl2c";
};
meta.homepage = "https://github.com/ndmitchell/ghcid/";
};
@@ -3096,24 +3107,24 @@ final: prev:
git-blame-nvim = buildVimPluginFrom2Nix {
pname = "git-blame.nvim";
- version = "2022-08-02";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "f-person";
repo = "git-blame.nvim";
- rev = "65292dfcd80897a5f24962096b8df2bb5bb65e15";
- sha256 = "0z7lxwsa4zrhl23vz61jj8gl8sqn7sqj2jjw8nipywvrqq2p8h5i";
+ rev = "0cd43a623d98d71cd5bb3d86f4c5a6e98f6c9cc5";
+ sha256 = "1pks1csm39rbrg632pzya4pn239cwikf4wkwv862iiirci91nj3h";
};
meta.homepage = "https://github.com/f-person/git-blame.nvim/";
};
git-messenger-vim = buildVimPluginFrom2Nix {
pname = "git-messenger.vim";
- version = "2022-05-02";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "rhysd";
repo = "git-messenger.vim";
- rev = "6c0b55fb38d0e0633127823aab89b0676d13e509";
- sha256 = "1ghqc5kmwsh1f7sbc5xyssffgh5lxcf35686mg6zm9ly3k2z8azk";
+ rev = "8a61bdfa351d4df9a9118ee1d3f45edbed617072";
+ sha256 = "0p4pj11sxl3bb2dqsnxwrpn0pf76df1r98wwj9lhjvy7514wc2a8";
};
meta.homepage = "https://github.com/rhysd/git-messenger.vim/";
};
@@ -3156,12 +3167,12 @@ final: prev:
gitsigns-nvim = buildNeovimPluginFrom2Nix {
pname = "gitsigns.nvim";
- version = "2022-08-19";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
- rev = "79c55eb553bb68840539651b083937f1010ba4db";
- sha256 = "0q3vjm2g436lxas5rxrqpp4l5djlramxdd7qzg35lma572w1axgy";
+ rev = "d7e0bcbe45bd9d5d106a7b2e11dc15917d272c7a";
+ sha256 = "1h4gxyamynwygxpqfib2a7sd1xbi6sh8ixg85j6qiaqqpahr0a4k";
};
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
};
@@ -3192,12 +3203,12 @@ final: prev:
glow-nvim = buildVimPluginFrom2Nix {
pname = "glow.nvim";
- version = "2022-07-15";
+ version = "2022-08-23";
src = fetchFromGitHub {
owner = "ellisonleao";
repo = "glow.nvim";
- rev = "764527caeb36cd68cbf3f6d905584750cb02229d";
- sha256 = "0yj49bfjsljpza08dc96wdnbiqvgp6dx1zq7ksvhyvc1nsaymm4b";
+ rev = "8dca3583e44d54bcfd79cb8dc06ddb89128aa5e0";
+ sha256 = "09k7773w0y6mi3q13q5myv55x498f0vlifmlqna6bfgn9lw03glv";
};
meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
};
@@ -3240,11 +3251,11 @@ final: prev:
goyo-vim = buildVimPluginFrom2Nix {
pname = "goyo.vim";
- version = "2022-08-03";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "junegunn";
repo = "goyo.vim";
- rev = "d0bb582dd478011cfdba18ac3b2d52a7f1659aeb";
+ rev = "7f5d35a65510083ea5c2d0941797244b9963d4a9";
sha256 = "1gb34x4djv34z3s1v6c1kcngwzfyx9vslhjx5vm73lbxyxs2nkjl";
};
meta.homepage = "https://github.com/junegunn/goyo.vim/";
@@ -3300,24 +3311,24 @@ final: prev:
gruvbox-material = buildVimPluginFrom2Nix {
pname = "gruvbox-material";
- version = "2022-08-16";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "sainnhe";
repo = "gruvbox-material";
- rev = "5ffcbe2d00e2200ff50533d96e97f2da06ecd39e";
- sha256 = "0nddblbxxsdagaal42z3rsayvx68g9963166l1m0660v7rfn3a91";
+ rev = "ac48c0b6017407e9fa9c607e14ab0aef250f2ae6";
+ sha256 = "0ggilhkhwg29mg8zlyvsmfp84ls2m3r63yfwfnsz0ga73ikkszv8";
};
meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
};
gruvbox-nvim = buildVimPluginFrom2Nix {
pname = "gruvbox.nvim";
- version = "2022-08-02";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "ellisonleao";
repo = "gruvbox.nvim";
- rev = "a78dbbe5bcf8d01292b26d06f569f06835f70b0a";
- sha256 = "047svnk0bimlwncy2iyfmkydcx3n00cxc7ksyqskl9yskinrlmnp";
+ rev = "c7aaa3ec3f431d90b0b9382cb52bebffc0e4283a";
+ sha256 = "1srz8gxghahsjqngwicgg4si3lc1c2707imi2pfk4a76j39s56fw";
};
meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
};
@@ -3348,11 +3359,11 @@ final: prev:
hare-vim = buildVimPluginFrom2Nix {
pname = "hare.vim";
- version = "2022-08-15";
+ version = "2022-08-27";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/hare.vim";
- rev = "3be6efa5ef6e43683d6b72a209a90cd090b3ab64";
- sha256 = "181207ccgbj7layf860yfzbx23q65r7azqxhshwb7yi2k4ma7zy8";
+ rev = "0bdef854f8531747438f7764cf7553ba16e56fb8";
+ sha256 = "15ajgvhwl63h5268kp56m741bglaq3zgcf0bv61sasrh4v97xmgz";
};
meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
};
@@ -3419,12 +3430,12 @@ final: prev:
hologram-nvim = buildVimPluginFrom2Nix {
pname = "hologram.nvim";
- version = "2022-08-17";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "edluffy";
repo = "hologram.nvim";
- rev = "842c0b0b1e6f25165078eb83d76d4f3ee0f04340";
- sha256 = "129f03pr7rjycws0ak68b1qf4i5il6gamikwjwgrpwmmnjl5dbvf";
+ rev = "338969044a5d6f9f56f728c8efeeced7408d580a";
+ sha256 = "0q493i7fsws9q2wrmddbvxwr968qkkz8nlgm0nynb13m5qxpdzvh";
};
meta.homepage = "https://github.com/edluffy/hologram.nvim/";
};
@@ -3455,12 +3466,12 @@ final: prev:
hotpot-nvim = buildVimPluginFrom2Nix {
pname = "hotpot.nvim";
- version = "2022-07-20";
+ version = "2022-08-28";
src = fetchFromGitHub {
owner = "rktjmp";
repo = "hotpot.nvim";
- rev = "b942e8760ea26f6ff3782f675a8d6c1323f3e7d4";
- sha256 = "1xcrv6ih5jphzlim362k23nc6l306inya0272bjzql4asvgzzmhy";
+ rev = "368e451bfb4d4c61251c69f14f312bced795b972";
+ sha256 = "115z0jb8lqy10pnr3wqv0sz3c2rw7h0g7vnakssqmlwg6l94gypn";
};
meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
};
@@ -3563,24 +3574,24 @@ final: prev:
indent-blankline-nvim = buildVimPluginFrom2Nix {
pname = "indent-blankline.nvim";
- version = "2022-07-27";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "lukas-reineke";
repo = "indent-blankline.nvim";
- rev = "c15bbe9f23d88b5c0b4ca45a446e01a0a3913707";
- sha256 = "03l28ja345vz4hrbj9ha864vfyagid116mqi4z8ka2g2nk7s1brd";
+ rev = "db7cbcb40cc00fc5d6074d7569fb37197705e7f6";
+ sha256 = "1r9y6zqar0gv8kvqqxlh07ifa16h5yqa24fj22qw63vgnysbxqbp";
};
meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
};
indentLine = buildVimPluginFrom2Nix {
pname = "indentLine";
- version = "2022-02-15";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "Yggdroot";
repo = "indentLine";
- rev = "7753505f3c500ec88d11e9373d05250f49c1d900";
- sha256 = "1lh6d3ljz1rmj3xa4f0n687fyxxc30dnmsq8mgd77v27f7lj62p5";
+ rev = "d15d63bf9c4a74a02470d4bc8ecce53df13e3a75";
+ sha256 = "079r951hg2z2cjlb4sh8iz4pvivlinbvidpgq66ddlv4v5q5yg34";
};
meta.homepage = "https://github.com/Yggdroot/indentLine/";
};
@@ -3744,12 +3755,12 @@ final: prev:
kanagawa-nvim = buildVimPluginFrom2Nix {
pname = "kanagawa.nvim";
- version = "2022-08-18";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "rebelot";
repo = "kanagawa.nvim";
- rev = "6ee96842cbfe3b7ebf7a1c3fa9602c2a3f5fdf38";
- sha256 = "18j6v7apbp13zz1kziisj0rwvn1ysvrrsvmvc91w4a4vxzja9q3p";
+ rev = "dda1b8c13e0e7588c014064e5e8baf7f2953dd29";
+ sha256 = "0wnww29p1a4vqga50az5ml244kk8n1jsvm7hfw2225x52fwma8in";
};
meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
};
@@ -3828,12 +3839,12 @@ final: prev:
lean-nvim = buildVimPluginFrom2Nix {
pname = "lean.nvim";
- version = "2022-08-15";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "Julian";
repo = "lean.nvim";
- rev = "be320485b450166054d65317662b48171e63f71e";
- sha256 = "1i4dflin65b0pw8f8gw02p0pcsh9mhy4rb7hargf43pyw34aysxl";
+ rev = "1940d8746157cc4c7cc12f540db8ed4506408773";
+ sha256 = "1f00ajmm6x9jj6anqyd6lpq59c3zgni0n8a4vvfbgi7c6shdhnqc";
};
meta.homepage = "https://github.com/Julian/lean.nvim/";
};
@@ -3852,12 +3863,12 @@ final: prev:
legendary-nvim = buildVimPluginFrom2Nix {
pname = "legendary.nvim";
- version = "2022-07-26";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "mrjones2014";
repo = "legendary.nvim";
- rev = "b0bcc7681ba884d1222faa8f2a56a438a02fc7c7";
- sha256 = "1w1d5z47l72wmj5wi44yvmbicdczw4ym85msq333hhilh2866fw0";
+ rev = "bb997500c454a470dc029c054d66f6d698404f2c";
+ sha256 = "0shy8k0lm1747lscmcsb4g6axkf10jcwrkmw19xsj84inz79lbd4";
};
meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
};
@@ -3900,12 +3911,12 @@ final: prev:
lf-vim = buildVimPluginFrom2Nix {
pname = "lf.vim";
- version = "2022-03-30";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "ptzz";
repo = "lf.vim";
- rev = "eab8f04b2953f08e3fcd425585598d176369ae4b";
- sha256 = "125qdj8grw1vilhfqzmjwcwk3r4f1m2kxnxga9klmgypjmcgnkxd";
+ rev = "e77c40a5ff3e900fb2c348939c636667df647bc8";
+ sha256 = "0b5pmn5s2w4zvv05b4ysjxbfb0ivb4ljamza26g2jzq34sc1w04b";
};
meta.homepage = "https://github.com/ptzz/lf.vim/";
};
@@ -3948,12 +3959,12 @@ final: prev:
lightline-bufferline = buildVimPluginFrom2Nix {
pname = "lightline-bufferline";
- version = "2022-08-16";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "mengelbrecht";
repo = "lightline-bufferline";
- rev = "f838276ce0a29518b8c7fdecf6d6e61c53eb73ef";
- sha256 = "0d346kbdyziawzhdxszwlvmii4s1cbcxphihrwwjrnma37xz2byg";
+ rev = "8b6e29e65e9711b75df289879186ff3888feed00";
+ sha256 = "0lmrqv20qxiiipljkybpv3m1jsskddks6h92i6hrfldvpn1a8vx3";
};
meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
};
@@ -4068,12 +4079,12 @@ final: prev:
litee-filetree-nvim = buildVimPluginFrom2Nix {
pname = "litee-filetree.nvim";
- version = "2022-08-18";
+ version = "2022-08-27";
src = fetchFromGitHub {
owner = "ldelossa";
repo = "litee-filetree.nvim";
- rev = "ffab70e4b783a87519f23ca82ace501904226c3d";
- sha256 = "05p2jfs093p96gwvn67qcmlcf7z6anxhyw6lk4y7h12hpz2b62cg";
+ rev = "3f403873836117b26d822448c9602ae446560178";
+ sha256 = "0blmcv0x0ilzn0yipz6vjkj55fqwsrn46agwgfxlqr4d5iwxcdg8";
};
meta.homepage = "https://github.com/ldelossa/litee-filetree.nvim/";
};
@@ -4104,24 +4115,24 @@ final: prev:
lsp-colors-nvim = buildVimPluginFrom2Nix {
pname = "lsp-colors.nvim";
- version = "2021-10-22";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "folke";
repo = "lsp-colors.nvim";
- rev = "517fe3ab6b63f9907b093bc9443ef06b56f804f3";
- sha256 = "15q3hiwh0zpyhadapjk3wabnn71kafcljj2gq11qk53fk3zzsxdx";
+ rev = "4e6da1984d23da88a947805866580c48fc3cc8d7";
+ sha256 = "1mckrs0rfbrz86wrvachdklfcl0c55a8h7mp5jlk7nc9cbvn280m";
};
meta.homepage = "https://github.com/folke/lsp-colors.nvim/";
};
lsp-format-nvim = buildVimPluginFrom2Nix {
pname = "lsp-format.nvim";
- version = "2022-05-21";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "lukas-reineke";
repo = "lsp-format.nvim";
- rev = "a5a54eeb36d7001b4a6f0874dde6afd167319ac9";
- sha256 = "0lj40p9ykj5f0d3sl4g0g0gjbfwx1vm6y5q613zphimpjgs3wl64";
+ rev = "b611bd6cea82ccc127cf8fd781a1cb784b0d6d3c";
+ sha256 = "1sx09l5c8xi9n4nbnmwn7hx0wzsih3kdavgdygjckknjl1261bm1";
};
meta.homepage = "https://github.com/lukas-reineke/lsp-format.nvim/";
};
@@ -4223,12 +4234,12 @@ final: prev:
lua-dev-nvim = buildVimPluginFrom2Nix {
pname = "lua-dev.nvim";
- version = "2022-05-12";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "folke";
repo = "lua-dev.nvim";
- rev = "f5c31936fe06fcbeb59b98f69f74f9c2f91abaec";
- sha256 = "0vwpi3cg0gv17w3bm2vlzspsms1rn2yjrzkq2zvf2f4slqq3rfpw";
+ rev = "f511470a61816d0f1347fabfaf10d68d5528e13f";
+ sha256 = "0v5pixghca4n6x7l6aykblc3h6bgys7cwspa3y3yggzhawx2s1p8";
};
meta.homepage = "https://github.com/folke/lua-dev.nvim/";
};
@@ -4247,24 +4258,25 @@ final: prev:
lualine-nvim = buildVimPluginFrom2Nix {
pname = "lualine.nvim";
- version = "2022-08-20";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "nvim-lualine";
repo = "lualine.nvim";
- rev = "9076378ac1c53684c4fbfcf34b1277018c15c233";
- sha256 = "0cj6lslgmcgc0z5xwq6ms9xb04la70b71hw56pk9bh26pd0il813";
+ rev = "3cf45404d4ab5e3b5da283877f57b676cb78d41d";
+ sha256 = "1j0hd73pwm9vyig2iw91wjrl7vww8yymq37l85hras9h8xlnfjbv";
};
meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
};
luasnip = buildVimPluginFrom2Nix {
pname = "luasnip";
- version = "2022-08-18";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "l3mon4d3";
repo = "luasnip";
- rev = "faa525713e1244551877a4d89646a10f3c3fa31e";
- sha256 = "0ynd51j4wl9q49m9cm6lic87rbq4xcsfn1w8xw40ahm8wg813ahj";
+ rev = "4073f821e1c02c7deb50235b4b68ecc5cf0b95e9";
+ sha256 = "0zc4f2ibynp2q9qdaxjw015d1af32fxsm17p78zj9c703c810f23";
+ fetchSubmodules = true;
};
meta.homepage = "https://github.com/l3mon4d3/luasnip/";
};
@@ -4367,12 +4379,12 @@ final: prev:
mini-nvim = buildVimPluginFrom2Nix {
pname = "mini.nvim";
- version = "2022-08-20";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "echasnovski";
repo = "mini.nvim";
- rev = "9d5a7d27d292b81f08f5f10d9cab3f558ab687fa";
- sha256 = "006qz18h64hdhzff9xp6gwwqh4a6m7sz7wrq0gy8g0s5jf989wnd";
+ rev = "02e22656f1b78aa9f9a678e0ff31b62bbaf0dee6";
+ sha256 = "10zsypp2rbiwhambk6zsfsp0k4c6zzc3cbxvfjvp10da3lqi52na";
};
meta.homepage = "https://github.com/echasnovski/mini.nvim/";
};
@@ -4437,6 +4449,18 @@ final: prev:
meta.homepage = "https://github.com/tomasr/molokai/";
};
+ moonscript-vim = buildVimPluginFrom2Nix {
+ pname = "moonscript-vim";
+ version = "2016-11-22";
+ src = fetchFromGitHub {
+ owner = "leafo";
+ repo = "moonscript-vim";
+ rev = "715c96c7c3b02adc507f84bf5754985460afc426";
+ sha256 = "1m4yz2xnazqagmkcli2xvwidsgssy9p650ykgdybk7wwlrq2vvqi";
+ };
+ meta.homepage = "https://github.com/leafo/moonscript-vim/";
+ };
+
mru = buildVimPluginFrom2Nix {
pname = "mru";
version = "2022-08-20";
@@ -4715,24 +4739,24 @@ final: prev:
neoformat = buildVimPluginFrom2Nix {
pname = "neoformat";
- version = "2022-08-15";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "sbdchd";
repo = "neoformat";
- rev = "c7f4580019ea5f001a7a38734b03b6cb29743b4f";
- sha256 = "1x9wcmwzrv4yzz09qflyhzmchcgvpsx35x95llwk2hj1xp3l4s7p";
+ rev = "0ae951121da29a157d80db70c32679b428afffdc";
+ sha256 = "1nslf2wfj0z4qq7zgqcx62gb31px6sqqb8rk1a10j3ply5bc7r67";
};
meta.homepage = "https://github.com/sbdchd/neoformat/";
};
neogit = buildVimPluginFrom2Nix {
pname = "neogit";
- version = "2022-08-12";
+ version = "2022-08-21";
src = fetchFromGitHub {
owner = "TimUntersberger";
repo = "neogit";
- rev = "05386ff1e9da447d4688525d64f7611c863f05ca";
- sha256 = "1zarnnv3qh7gq3q5vd1r68vp6h26a1jbfqvg6hjwssb1ilaxzidb";
+ rev = "1843330963cc0299fd453145248681f3d33862b3";
+ sha256 = "1a6jfpy94nymvx4452jqwc0g4q6s4f8709kzs3g6q8g2h6y00fk6";
};
meta.homepage = "https://github.com/TimUntersberger/neogit/";
};
@@ -4787,12 +4811,12 @@ final: prev:
neorg = buildVimPluginFrom2Nix {
pname = "neorg";
- version = "2022-08-19";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "nvim-neorg";
repo = "neorg";
- rev = "4c0a5b1e49577fba0bd61ea18cf130d9545d2d52";
- sha256 = "1qw3ns1i0aa03ihycynrx589sqd4pgr17jksnjprh4wz2w3k78dr";
+ rev = "23c2420a8cbf98414594b9f4a2991d7bf25b5dc9";
+ sha256 = "1hr9aiyy3xsj6amxjb69s2mspdvkwiia3mpb7jsyzq7h5mchm924";
};
meta.homepage = "https://github.com/nvim-neorg/neorg/";
};
@@ -4823,24 +4847,24 @@ final: prev:
neosnippet-vim = buildVimPluginFrom2Nix {
pname = "neosnippet.vim";
- version = "2022-02-18";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "Shougo";
repo = "neosnippet.vim";
- rev = "5973e801e7ad38a01e888cb794d74e076a35ea9b";
- sha256 = "1mbx2iw4s0ny89siic156y7lwypw55abkvskmzzjjf7y4h8g9rsv";
+ rev = "af18dc963b706568bf28f7dd2facea2ca2784299";
+ sha256 = "130x7nfygwqgwmaly77zp37z3gh16jyjvrb7sk4pg19d5ax8ysbr";
};
meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
};
neoterm = buildVimPluginFrom2Nix {
pname = "neoterm";
- version = "2022-05-31";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "kassio";
repo = "neoterm";
- rev = "4881d6428bcaa524ad4686431ce184c6fb9bfe59";
- sha256 = "1i98sfb7vb0fx16zl15lf6ac65f1j0h9hbskmfk6zdiqcfcwhx4f";
+ rev = "e1148589b8b9e1e72ef755d4495286c3b8516771";
+ sha256 = "06k0r92qhgp1sb1jacfwxqbzn69cw604s5qla4q32a38a2spbmcr";
};
meta.homepage = "https://github.com/kassio/neoterm/";
};
@@ -4967,12 +4991,12 @@ final: prev:
nightfox-nvim = buildVimPluginFrom2Nix {
pname = "nightfox.nvim";
- version = "2022-08-09";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "EdenEast";
repo = "nightfox.nvim";
- rev = "e2f961859cbfb2ba38147dc59fdd2314992c8b62";
- sha256 = "10m27rm3bcrq38h08p0sxvwxgl0mdjs231rn0bk0mn5myvqq44ja";
+ rev = "83f6ee9e646c803aa14c7293ad7775900f24ea1a";
+ sha256 = "07fi55ilkqmb7xqwk1vd6nkmpfwrpqjnjz8wv8z84h1s3dpcslzx";
};
meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
};
@@ -5003,12 +5027,12 @@ final: prev:
nnn-vim = buildVimPluginFrom2Nix {
pname = "nnn.vim";
- version = "2022-06-25";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "mcchrish";
repo = "nnn.vim";
- rev = "bc6e2e34d9114c93ce50782949d260b4d4f0e2b6";
- sha256 = "0qhblwqvkxnjjw4jrya6xkcbm4lv8fjajmrasl76mn19mh14dgv5";
+ rev = "46bb8355a3bbe7df9f466bb116534dda4f257895";
+ sha256 = "1yxpbdsmd48i631d7k246jz1xa8nkda6nqz1f4chvggl0dqj3f1q";
};
meta.homepage = "https://github.com/mcchrish/nnn.vim/";
};
@@ -5063,24 +5087,24 @@ final: prev:
nui-nvim = buildVimPluginFrom2Nix {
pname = "nui.nvim";
- version = "2022-08-20";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "MunifTanjim";
repo = "nui.nvim";
- rev = "cc76e6ff13629b18d3dedfadd4f52e35ff085700";
- sha256 = "1zgczj68d8nq5p0w0xs4bry0dqzyy855g1w0dfanhlfz1bldkyp6";
+ rev = "62facd37e0dd8196212399a897374f689886f500";
+ sha256 = "19krk2n4ndrmx1kp99zdm6hh3pbhbdz8yhf2lsm83h0267f5k993";
};
meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
};
null-ls-nvim = buildVimPluginFrom2Nix {
pname = "null-ls.nvim";
- version = "2022-08-18";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "jose-elias-alvarez";
repo = "null-ls.nvim";
- rev = "9d1f8dc1c8984e30efd8406aceba53dfadeaadbd";
- sha256 = "14ix8d2w8s7k4qai8vi7q47g14kxv0ba09r62lhabbqnd4fl9qyx";
+ rev = "bb19d790e139713eaddbcd8fd8ee58a23d290bda";
+ sha256 = "0zhfjwrwy6y1wlrv6i8kzvx9w5wq3s1bpm33j63yd0g03havsdll";
};
meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
};
@@ -5135,12 +5159,12 @@ final: prev:
nvim-base16 = buildVimPluginFrom2Nix {
pname = "nvim-base16";
- version = "2022-08-13";
+ version = "2022-08-28";
src = fetchFromGitHub {
owner = "RRethy";
repo = "nvim-base16";
- rev = "5ca2b50a0c71b631b40dc65430187acb88858b51";
- sha256 = "1628rfc3hcbzic3nc0a8i4k6lfic7v1yzwpsalxs3kwy1xflv75g";
+ rev = "d2a56671ed19fb471acf0c39af261568ea47ee26";
+ sha256 = "1w4d0z06zzzjlksr6amdjqwb0lgvpidx3xi93n08yjbhzq0c0plw";
};
meta.homepage = "https://github.com/RRethy/nvim-base16/";
};
@@ -5159,24 +5183,24 @@ final: prev:
nvim-bqf = buildVimPluginFrom2Nix {
pname = "nvim-bqf";
- version = "2022-07-20";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "kevinhwang91";
repo = "nvim-bqf";
- rev = "8b62211ad7529c314e80b22968eef6ba275c781c";
- sha256 = "1h7k6yca9axv8qvi11cajwwcjd6xpncpkq0211mg7dhqqb4f9xlj";
+ rev = "aac1ff94a8b411a08810117f41e948743a4df69e";
+ sha256 = "16a50ywcmdkpd69y1i03ppfygkxvx19x7jkfbmi6s0sr436m6pg7";
};
meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
};
nvim-bufdel = buildVimPluginFrom2Nix {
pname = "nvim-bufdel";
- version = "2022-01-07";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "ojroques";
repo = "nvim-bufdel";
- rev = "af537a915b8c60c6dcb6416e0e9382a5bed94bb3";
- sha256 = "1k242j2gzpv82cpccmiai6k50rfmnhxx6kyxbs1h1zwzyb0s2gxz";
+ rev = "1386685ab7ac4f2fe3196ce62e41957d4ffb2ded";
+ sha256 = "1rg3rqkmpzlrwz8g4fwbi86dxhlm4ilm9lp392hadrfkcvhc8cri";
};
meta.homepage = "https://github.com/ojroques/nvim-bufdel/";
};
@@ -5195,12 +5219,12 @@ final: prev:
nvim-cmp = buildVimPluginFrom2Nix {
pname = "nvim-cmp";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-cmp";
- rev = "828768631bf224a1a63771aefd09c1a072b6fe84";
- sha256 = "00dg06kl18wx6lanqis7h4ghcb3x96b1vsi2f0g8qidnl2jgg5af";
+ rev = "913eb8599816b0b71fe959693080917d8063b26a";
+ sha256 = "1jzjp97ggx31wsyvda1h21z74yjd3d58savacnlx4mvkli3zqgm1";
};
meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
};
@@ -5291,24 +5315,24 @@ final: prev:
nvim-dap = buildVimPluginFrom2Nix {
pname = "nvim-dap";
- version = "2022-08-15";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-dap";
- rev = "ad8b0de205a077b66cb301531bdc31c8fc7551b6";
- sha256 = "1rkmp43h6hq1nrrs8m9gzz9hj80vwgbvsj2wph3xy0m76cz5sidc";
+ rev = "d9b315a81622457cddf6875c6ac7134baa9932ce";
+ sha256 = "1mlvh0p5zhl903drk58pibq58z76s0nw7bnv8an5dlzw2svnbzc4";
};
meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
};
nvim-dap-ui = buildVimPluginFrom2Nix {
pname = "nvim-dap-ui";
- version = "2022-08-02";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "rcarriga";
repo = "nvim-dap-ui";
- rev = "225115ae986b39fdaffaf715e571dd43b3ac9670";
- sha256 = "1ww4hsjbylgi3520rn717pqrpbrwb2p052wpsmdl05104zny2zmj";
+ rev = "ce8894c586e904ce0d00fcae1a7124132810a206";
+ sha256 = "154l60q9p65cxwjx8wmp55waa39f86pn5cbqxm5cnjxjpwgh0gv9";
};
meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
};
@@ -5387,24 +5411,24 @@ final: prev:
nvim-highlite = buildVimPluginFrom2Nix {
pname = "nvim-highlite";
- version = "2022-07-19";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "Iron-E";
repo = "nvim-highlite";
- rev = "80e52a18be416790c20e035fa2816aa5e7e34cc9";
- sha256 = "07g7k1dyycyamk5cx36hnwwza6npqi793pivaqs3w80qmqqqba1s";
+ rev = "8895dc24c1590412bbb0ae6b06b53db99abe003d";
+ sha256 = "1kd2glnihamfnqkn2qs25xxffj947l94xn302w3c7sr97cj1mm96";
};
meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
};
nvim-hlslens = buildVimPluginFrom2Nix {
pname = "nvim-hlslens";
- version = "2022-07-07";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "kevinhwang91";
repo = "nvim-hlslens";
- rev = "75b20ce89908bc56eeab5c7b4d0a77e9e054d2e4";
- sha256 = "0hyz660mlffgwgmnrxp5h11b121dxszjmsaagnxp5qibnn1gjpll";
+ rev = "9955998345d26459dffb587bbade1ad99a17d216";
+ sha256 = "18nbdq62i7cfsh6k5551ga8711zi67l3bjk7x3byf6ai7ldzsas4";
};
meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
};
@@ -5423,12 +5447,12 @@ final: prev:
nvim-jdtls = buildVimPluginFrom2Nix {
pname = "nvim-jdtls";
- version = "2022-08-18";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-jdtls";
- rev = "782867324475c451427b7d972f886620da9c5167";
- sha256 = "1rdmd7x9c13dhbvgrbsqn6rzr76xb2dsk3hg35kl0njx1npfp2vr";
+ rev = "774a7714f9dcdfaa8d6d86831809ab941b2b7f26";
+ sha256 = "0qlcn2sdrkwbkjz2kg7rhll830iardlqn8m2w21qq6kfpkyhv4gk";
};
meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
};
@@ -5459,12 +5483,12 @@ final: prev:
nvim-lightbulb = buildVimPluginFrom2Nix {
pname = "nvim-lightbulb";
- version = "2022-06-08";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "kosayoda";
repo = "nvim-lightbulb";
- rev = "1e2844b68a07d3e7ad9e6cc9a2aebc347488ec1b";
- sha256 = "0mff25sbbksfl88zcylqj4p6b9iyr34pqws1lssvrajbqjgprcbq";
+ rev = "56b9ce31ec9d09d560fe8787c0920f76bc208297";
+ sha256 = "0xi9bgfcn2dlwp06lkfvr6nddspjbaaprsxrl5mpfx5qskyqf3lz";
};
meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
};
@@ -5483,12 +5507,12 @@ final: prev:
nvim-lint = buildVimPluginFrom2Nix {
pname = "nvim-lint";
- version = "2022-08-15";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-lint";
- rev = "688255fa5d3d5c3f26f5c9709e785fe71dec39c5";
- sha256 = "0a5fdmq90nbsv3dk1q6j3kmgcncy2s56xik4skxarkkz541lf7dm";
+ rev = "b551a7218c802a5b361dd46857af4945fe779dcd";
+ sha256 = "09dlqcfgandw7v08w8nfs8b277z9za01l6zm80c4i2p8h9xpn6fc";
};
meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
};
@@ -5507,12 +5531,12 @@ final: prev:
nvim-lspconfig = buildVimPluginFrom2Nix {
pname = "nvim-lspconfig";
- version = "2022-08-09";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "neovim";
repo = "nvim-lspconfig";
- rev = "da7461b596d70fa47b50bf3a7acfaef94c47727d";
- sha256 = "1bahbla28qx4vzkdfbncws22qf0pr4kkra0df52sca245xzgl605";
+ rev = "079581281dc49b8f5cb4880954e646580cb23d5f";
+ sha256 = "1si0piql6sk4fiwqmgyhl8qs0hx252pq8f6y6psvdvq5d7w4g3rg";
};
meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
};
@@ -5543,24 +5567,24 @@ final: prev:
nvim-metals = buildVimPluginFrom2Nix {
pname = "nvim-metals";
- version = "2022-08-13";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "scalameta";
repo = "nvim-metals";
- rev = "9629138151e927ab6826de726a73bb366f49d801";
- sha256 = "0hxsfwp9k9p013spjj4p5gxjg1lf63z2jb43rq4k9s4a2lmjpkxs";
+ rev = "b7587a9155d22761f1b28c18f7927e6df0d08387";
+ sha256 = "03jym28bk49609m5k0lw18xir6ia23df4m4av5046zqm9dmvhkj0";
};
meta.homepage = "https://github.com/scalameta/nvim-metals/";
};
nvim-neoclip-lua = buildVimPluginFrom2Nix {
pname = "nvim-neoclip.lua";
- version = "2022-07-24";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "AckslD";
repo = "nvim-neoclip.lua";
- rev = "74af02e289b3ea465bc8a4d7b9b83adc4e4b8c06";
- sha256 = "1mh93h1bp4r4w7bm1m3g7758bmsdznna5smid64mry2x4ni002dg";
+ rev = "fbbe56a196bf8409df8cc41ea028210dc8694464";
+ sha256 = "1qr89p677grvr4hfgbhdnsm450p0yw17kji4jsz9qvqf8vjbfln8";
};
meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
};
@@ -5579,12 +5603,12 @@ final: prev:
nvim-notify = buildVimPluginFrom2Nix {
pname = "nvim-notify";
- version = "2022-08-02";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "rcarriga";
repo = "nvim-notify";
- rev = "60bb6bfd6992549ee5336bbb761705b62797ce1d";
- sha256 = "06wyk09y3yykp4njxqxl211v508xw4qm4q987gz609xdd5n8x15d";
+ rev = "7076ce8e8f042e193668b7ac67f776858df5206b";
+ sha256 = "0403zcnwlarh3ixdznmiw9w236cdlf5ycna5606s1rxpqa29604n";
};
meta.homepage = "https://github.com/rcarriga/nvim-notify/";
};
@@ -5603,12 +5627,12 @@ final: prev:
nvim-scrollview = buildVimPluginFrom2Nix {
pname = "nvim-scrollview";
- version = "2022-08-18";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "dstein64";
repo = "nvim-scrollview";
- rev = "14ce355d357c4b10e7dbf4ecc9c6b3533fa69f9f";
- sha256 = "021psm85gqkdr1ayiqyj85pyhwsrdbcg0jim8pi7ldz5fhai19rl";
+ rev = "c31bfc0effc828191fca7e0bf33bfb97ec856a80";
+ sha256 = "1hdymggdjdb3np2mr1j54hv6w5ys9971pdq655l6a6cd16mn20bp";
};
meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
};
@@ -5639,16 +5663,28 @@ final: prev:
nvim-spectre = buildVimPluginFrom2Nix {
pname = "nvim-spectre";
- version = "2022-08-02";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "nvim-pack";
repo = "nvim-spectre";
- rev = "c553eb47ad9d82f8452119ceb6eb209c930640ec";
- sha256 = "0ppzcwv1gywaxi0h81h4rldnbkcjx5lkai3v80x6c199asv0jyc6";
+ rev = "766e3667c49c498afa0821dfcc758cfa6f581f44";
+ sha256 = "0bld77f8xm6fpmv33a17bhzvn8xh5fya6946p7sdlmbsy9125qci";
};
meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
};
+ nvim-surround = buildVimPluginFrom2Nix {
+ pname = "nvim-surround";
+ version = "2022-09-04";
+ src = fetchFromGitHub {
+ owner = "kylechui";
+ repo = "nvim-surround";
+ rev = "d91787d5a716623be7cec3be23c06c0856dc21b8";
+ sha256 = "054kpdx7s0pj49yqf5111f1dsfh80js6fxlma1r0mds5q7vw5mav";
+ };
+ meta.homepage = "https://github.com/kylechui/nvim-surround/";
+ };
+
nvim-terminal-lua = buildVimPluginFrom2Nix {
pname = "nvim-terminal.lua";
version = "2019-10-17";
@@ -5663,36 +5699,36 @@ final: prev:
nvim-tree-lua = buildVimPluginFrom2Nix {
pname = "nvim-tree.lua";
- version = "2022-08-20";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "kyazdani42";
repo = "nvim-tree.lua";
- rev = "81eb718394e489d2aebbffa730d2517d72ec7f9c";
- sha256 = "1rcqbjd31k914331cxw21daaylir6q4jjc7i09prbjzwsmz4andr";
+ rev = "3e49d9b7484e21f0b24ebdf21b8b7af227ea97a6";
+ sha256 = "0vc3yds9ad5rxrc35yi21ax8pw7svbxslyp5pdwn2w0wpjvykad6";
};
meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
};
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
- rev = "67fb8939ff1f7e29659f5c4efe50a5689e3458bc";
- sha256 = "01zd9l6085d6d9jk8c0kxy15xs48rs4iv9hfxb6f1wjxi1mwnl8q";
+ rev = "9b13872f19aa97916ba0ae92bac6fb9e2c1dd06d";
+ sha256 = "0ivcnm7vwx1j4rv1bcd6llc7nmrd7k90q72zgahxjjhprsn0v88k";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
nvim-treesitter-context = buildVimPluginFrom2Nix {
pname = "nvim-treesitter-context";
- version = "2022-08-05";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-context";
- rev = "8e88b67d0dc386d6ba1b3d09c206f19a50bc0625";
- sha256 = "1h74h4a69mxyc40nmg4mkaw6gja4hf6mvhrrh3vbh92lfb6k49sc";
+ rev = "82631f666f186dbccb8190bc37a65d7cfab45d16";
+ sha256 = "1niq0wg47gk8lsgsw90sq7kdh35p3f63mwkvwlsa3h4jy5dy9rcy";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
};
@@ -5723,12 +5759,12 @@ final: prev:
nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
pname = "nvim-treesitter-textobjects";
- version = "2022-08-16";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-textobjects";
- rev = "4234c446d14370b3cd7604bd8e2e51ae2680f5ee";
- sha256 = "0ifa4l0l1pl268w4w3mwhbncxi5bd7n3yb0j3vikjhz567kwqfz2";
+ rev = "e63c2ff8e38fad77299dd74e14c7c9360e1b3181";
+ sha256 = "1f3lkjfb7nh68yd2466fglz5xvzplghq522irfndq8ik5jpwcwbn";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
};
@@ -5747,24 +5783,24 @@ final: prev:
nvim-ts-context-commentstring = buildVimPluginFrom2Nix {
pname = "nvim-ts-context-commentstring";
- version = "2022-08-19";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "joosepalviste";
repo = "nvim-ts-context-commentstring";
- rev = "37a97a04c39f26fffe7745815517e1ce1a0eb3be";
- sha256 = "0np5p0gg7vqpikvm5vxh03makmqm17mm5537dxfycr23r82zhm06";
+ rev = "4d3a68c41a53add8804f471fcc49bb398fe8de08";
+ sha256 = "1q3j91fylhq9l3q0b9c7g4qwb6g2v5w99g2wmf3h8sid0iwsm2yg";
};
meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
};
nvim-ts-rainbow = buildVimPluginFrom2Nix {
pname = "nvim-ts-rainbow";
- version = "2022-08-10";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "p00f";
repo = "nvim-ts-rainbow";
- rev = "1e904f6d1b41adb9d3b87df2108dc4a315a72379";
- sha256 = "1x4mfq63z7fxg7cyv2dmhzy7kxq9xgz16cvfj69gxz0mqxmmg3xz";
+ rev = "c641e224731180371e6a4705762af0c6a882d95e";
+ sha256 = "0lx55j1bz373iqsq77vhhrzjn5l0ilyh7b67y67836y797jigi23";
};
meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
};
@@ -5819,12 +5855,12 @@ final: prev:
nvimdev-nvim = buildVimPluginFrom2Nix {
pname = "nvimdev.nvim";
- version = "2022-06-23";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "neovim";
repo = "nvimdev.nvim";
- rev = "4c261a74ec44dc7ca62b0ceb5106f752208b24b3";
- sha256 = "18a0p52c70m8d624frpp8b9hvjrcf1kd1hgxism075mb5nm5rs3s";
+ rev = "6d8f8b756ae22122926476f8f79fdbc19a860333";
+ sha256 = "0y6qvm959qy4cb5hb6zbgd26v3r0z4y7dk2hinhkcxl09jchcwwy";
};
meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
};
@@ -5855,12 +5891,12 @@ final: prev:
octo-nvim = buildVimPluginFrom2Nix {
pname = "octo.nvim";
- version = "2022-08-16";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "pwntester";
repo = "octo.nvim";
- rev = "ec869fdf14c9ea7f8ef192f2924e9b30c19f6dae";
- sha256 = "0q6n0g8xyacx3nw1jz1zqgldar9kkc4pj89cfyyjim1nsy83mrvi";
+ rev = "9980b7ddb0b6a11866c539bb63ec511a552a0a43";
+ sha256 = "0v7scsj3qhb9blgimhh59y0g1pgkrpda2r4402q5d26lwgc4vvdf";
};
meta.homepage = "https://github.com/pwntester/octo.nvim/";
};
@@ -5891,12 +5927,12 @@ final: prev:
onedark-nvim = buildVimPluginFrom2Nix {
pname = "onedark.nvim";
- version = "2022-08-19";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "navarasu";
repo = "onedark.nvim";
- rev = "551f299d9ab2fd557247aa1995b2831a1237e4ae";
- sha256 = "0pchrlc52jfixy0yya11hv3hmkm818h6siawgy0g4icrh8lan7a7";
+ rev = "7db03a134b392c8fc9e5b8fea85767fc5f7be78f";
+ sha256 = "14b6mc4fdyvyq5fd4j1cmkbgw804dh8zx7k1zkasrip0kvlyv6j8";
};
meta.homepage = "https://github.com/navarasu/onedark.nvim/";
};
@@ -5915,12 +5951,12 @@ final: prev:
onedarkpro-nvim = buildVimPluginFrom2Nix {
pname = "onedarkpro.nvim";
- version = "2022-08-18";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "olimorris";
repo = "onedarkpro.nvim";
- rev = "38484ce9d062e8a0fb2733c952d30c7cad8a7700";
- sha256 = "0vix97n5b8j3lkbz7xj9w7dj9ffcsjfms9lgcsfwcmdnch0wg7h5";
+ rev = "8f317d97d22322d2461a2be4685ce0cf6bb3901f";
+ sha256 = "11j58pchcw0wq4xhkcbzjnb21f10n24griibi1g2rd79yvchbhhg";
};
meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
};
@@ -5939,12 +5975,12 @@ final: prev:
onenord-nvim = buildVimPluginFrom2Nix {
pname = "onenord.nvim";
- version = "2022-07-15";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "rmehri01";
repo = "onenord.nvim";
- rev = "c2021ba34aecd8027437dadd27edf9fc949c9aa8";
- sha256 = "1ps8pmib1xc9cxw6vs4hgns39680qnfhq783gabgz9gnk8v10j5y";
+ rev = "66f3c29ab54993d37030bd200602fc99278d0654";
+ sha256 = "1hwsyn5p4h8k4wpk8mmj237xcp01gkngy6c40p2mii9j5bqg5adm";
};
meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
};
@@ -5975,12 +6011,12 @@ final: prev:
orgmode = buildVimPluginFrom2Nix {
pname = "orgmode";
- version = "2022-08-16";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "nvim-orgmode";
repo = "orgmode";
- rev = "57cf939fda156191a3e02891763c61e6c384529f";
- sha256 = "1bds2lliawwyji6l11dqk10n1vijlrhshlci0qx1382ghhd2jnax";
+ rev = "1f103a9b5aa15e420d249afe1a3e086a61570563";
+ sha256 = "0x7595bi4m2v7mchl0mnbx32ly6abz78dby85bnqf1bdlms9s58a";
};
meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
};
@@ -5999,12 +6035,12 @@ final: prev:
packer-nvim = buildVimPluginFrom2Nix {
pname = "packer.nvim";
- version = "2022-08-15";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "wbthomason";
repo = "packer.nvim";
- rev = "90b323bccc04ad9b23c971a85813a1405c7725a8";
- sha256 = "05wzadwl8l3688v3kvmmr62frbwcfxkj3pawkwkblnl49n16jid0";
+ rev = "50aeb9060cf64c3c27e6d7b11d7af9e209ed6c3b";
+ sha256 = "1q220ic50m4yfcng7ilgjpx1p3bk0nnc7pkfcb0m692jlwgizch9";
};
meta.homepage = "https://github.com/wbthomason/packer.nvim/";
};
@@ -6095,36 +6131,36 @@ final: prev:
plantuml-syntax = buildVimPluginFrom2Nix {
pname = "plantuml-syntax";
- version = "2022-02-20";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "aklt";
repo = "plantuml-syntax";
- rev = "660bbb1ece1e654b2176f76ce0689304c5a4a025";
- sha256 = "05xf36np8y0gdcd05nzmkawh131lp4mm5cjgjr1byr8cjyl1idr3";
+ rev = "845abb56dcd3f12afa6eb47684ef5ba3055802b8";
+ sha256 = "0d2frv6knkj4bjavq2c2kx8qdnmcq0d8l04a5z7bpqwkmrrhd31f";
};
meta.homepage = "https://github.com/aklt/plantuml-syntax/";
};
playground = buildVimPluginFrom2Nix {
pname = "playground";
- version = "2022-06-22";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "playground";
- rev = "ce7e4b757598f1c785ed0fd94fc65959acd7d39c";
- sha256 = "0r3pjpzwjp1m563n80qp93y7f8gvpqjzlhsrd0hvi67qzm6pj87f";
+ rev = "bcfab84f98a33f2ad34dda6c842046dca70aabf6";
+ sha256 = "0w7ixzq3i3pa0kmf6h9acmmpcb9baq9jh8h1a669b6z6yv2px6qw";
};
meta.homepage = "https://github.com/nvim-treesitter/playground/";
};
plenary-nvim = buildNeovimPluginFrom2Nix {
pname = "plenary.nvim";
- version = "2022-08-01";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "nvim-lua";
repo = "plenary.nvim";
- rev = "31807eef4ed574854b8a53ae40ea3292033a78ea";
- sha256 = "1vkyqrk0shpc076rq1s7rwldmcmw2k96hcpifligrsplr170kkhv";
+ rev = "4b66054e75356ac0b909bbfee9c682e703f535c2";
+ sha256 = "1yl5m7is35bk30swr5m1pcl2i0wf8gjcnas6bpahlxqa4x0yr1x8";
};
meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
};
@@ -6397,12 +6433,12 @@ final: prev:
refactoring-nvim = buildVimPluginFrom2Nix {
pname = "refactoring.nvim";
- version = "2022-08-14";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "theprimeagen";
repo = "refactoring.nvim";
- rev = "e5da743f34340f446761846593a504d162dc0b95";
- sha256 = "1nlyzhg4yw60m9ryjl2lm4mba11c47hhqbdi3wmxff90h91f65jv";
+ rev = "c9ca8e3bbf7218101f16e6a03b15bf72b99b2cae";
+ sha256 = "10b7235ia2klad1vdriw24g4vvjb8lcbw8z878h5hd1q9nryn7bs";
};
meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
};
@@ -6421,24 +6457,24 @@ final: prev:
renamer-nvim = buildVimPluginFrom2Nix {
pname = "renamer.nvim";
- version = "2022-05-19";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "filipdutescu";
repo = "renamer.nvim";
- rev = "4a4707992a79f481f4882bab9b3823ac6455c942";
- sha256 = "1wgavzbmwgjrhlmqya69n3mfz4d5cz3p4b4q115ydsbidprdwpr5";
+ rev = "1614d466df53899f11dd5395eaac3c09a275c384";
+ sha256 = "1bh11ybjcby7y87kagwlz2yhbl5d3pi0q96f6sdblw408hwglg9p";
};
meta.homepage = "https://github.com/filipdutescu/renamer.nvim/";
};
rest-nvim = buildVimPluginFrom2Nix {
pname = "rest.nvim";
- version = "2022-08-11";
+ version = "2022-08-28";
src = fetchFromGitHub {
owner = "rest-nvim";
repo = "rest.nvim";
- rev = "8c719ed329f521a92582b9144d4e75bb74c36e23";
- sha256 = "1bkz5rhf64fjds5kvlig2y422arix4ccx5sc1j4v75rkpy6hv3w7";
+ rev = "33e91991efcf0ee89fa72f3fd2b3d6303cb3485e";
+ sha256 = "0yf1a1cjrrzw0wmjgg48g3qn9kfxn7hv38yx88l1sc1r1nsfijrq";
};
meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
};
@@ -6517,12 +6553,12 @@ final: prev:
rust-tools-nvim = buildVimPluginFrom2Nix {
pname = "rust-tools.nvim";
- version = "2022-08-18";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "simrat39";
repo = "rust-tools.nvim";
- rev = "b696e6dee1e79a53159f1c0472289f5486ac31bc";
- sha256 = "1g049mxwhpa8hl4m1ijnsrjh40y3f0nc4yg6pyy2h5w7mgwx4rs3";
+ rev = "86a2b4e31f504c00715d0dd082a6b8b5d4afbf03";
+ sha256 = "1623d6s05wx2qfcrsfg0avx9cwp0ahz4sbpnp2b3miq7r0nbl7yd";
};
meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
};
@@ -6565,12 +6601,12 @@ final: prev:
satellite-nvim = buildVimPluginFrom2Nix {
pname = "satellite.nvim";
- version = "2022-06-26";
+ version = "2022-08-31";
src = fetchFromGitHub {
owner = "lewis6991";
repo = "satellite.nvim";
- rev = "320e3c54b507486e3ed0c9dacc656fdf54b40057";
- sha256 = "1qkx0mcrmqgvpx9gmncblkm7km4ap3hvkcp65dqc9nn2h4w63hvy";
+ rev = "25d0c59edab4892363c3cec47fc5f34769e5a242";
+ sha256 = "1frnkh6ny4dxia793jkmv95wvvivmyp5296sg68vbf043hwny4a3";
};
meta.homepage = "https://github.com/lewis6991/satellite.nvim/";
};
@@ -6758,12 +6794,12 @@ final: prev:
sonokai = buildVimPluginFrom2Nix {
pname = "sonokai";
- version = "2022-08-16";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "sainnhe";
repo = "sonokai";
- rev = "003e5798eb7f16b35ab79d93279ba484b66fd353";
- sha256 = "0gfz2rgyglaxrvq7d8mg2y3fqdvf87clyrrsvkc9ladccihfvg1w";
+ rev = "cc3c4b19a58b267492a9bd1b32f7c1af0c4e1c1e";
+ sha256 = "1sgxk31cbiqwmqlxckxsbd69icjw9cwzvbb823imnpvlfp7lbyb6";
};
meta.homepage = "https://github.com/sainnhe/sonokai/";
};
@@ -6818,24 +6854,24 @@ final: prev:
specs-nvim = buildVimPluginFrom2Nix {
pname = "specs.nvim";
- version = "2021-11-12";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "edluffy";
repo = "specs.nvim";
- rev = "e043580a65409ea071dfe34e94284959fd24e3be";
- sha256 = "1sg2i99ncx5j7al3mhwpnwyx1hila5gars0ak7q3n9yr4013i7dx";
+ rev = "6fbdb0fe1f57315ffb1ff65ec5293473051431fd";
+ sha256 = "09mw9jz3abgwmk0gqmzrqcp7h602436902jqbfzg74zqs7ap9xgj";
};
meta.homepage = "https://github.com/edluffy/specs.nvim/";
};
spellsitter-nvim = buildVimPluginFrom2Nix {
pname = "spellsitter.nvim";
- version = "2022-07-09";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "lewis6991";
repo = "spellsitter.nvim";
- rev = "eb74c4b1f4240cf1a7860877423195cec6311bd5";
- sha256 = "0qajg4kjwlwbxjjms580v5aisg1vjid4vbmvzwk6nsfms8nrzn18";
+ rev = "4af8640d9d706447e78c13150ef7475ea2c16b30";
+ sha256 = "1m4y1gfg17gwkq5wwv9n3zv7dqdl7yqvhysgyllg60rzi0g6pwqs";
};
meta.homepage = "https://github.com/lewis6991/spellsitter.nvim/";
};
@@ -6878,12 +6914,12 @@ final: prev:
splitjoin-vim = buildVimPluginFrom2Nix {
pname = "splitjoin.vim";
- version = "2022-08-01";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "AndrewRadev";
repo = "splitjoin.vim";
- rev = "ab9d5cd1fba6d3f1acaf25a1b31d4f6ff961c839";
- sha256 = "1fxx01hwiv5r7z9qv1z162wyq3nnh3dnip8811hvss8baqqz4vy7";
+ rev = "956d67c88512b91c2938da3a9e0aeeea2b82cd0b";
+ sha256 = "0dlsdb42j4d9q1fcw7jfwks6w516xi8ap1v7kip831bh4p6jyl1w";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -7035,12 +7071,12 @@ final: prev:
swayconfig-vim = buildVimPluginFrom2Nix {
pname = "swayconfig.vim";
- version = "2022-07-31";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "jamespeapen";
repo = "swayconfig.vim";
- rev = "cfca1e50df5448d81c8f6c54caba273575d5cd62";
- sha256 = "0mfcbm58yx4bv00y128fqnd0xd61izg4yhbxjcxz9dbz96pm7y78";
+ rev = "70eb9f5866c1770f8dc18395a4a4d4040d9a4fba";
+ sha256 = "1yj2vh6hq2jjxlmrspz4rv9c1c4g82m85cvs047p9y4arp59jyqr";
};
meta.homepage = "https://github.com/jamespeapen/swayconfig.vim/";
};
@@ -7072,12 +7108,12 @@ final: prev:
symbols-outline-nvim = buildVimPluginFrom2Nix {
pname = "symbols-outline.nvim";
- version = "2022-08-18";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "simrat39";
repo = "symbols-outline.nvim";
- rev = "e459f3262c4c79a62e654ada0fbbb9758313c968";
- sha256 = "01a9k8kmiql8k71n1h1bn98gmmg5pnjxk5b0pws3gcmxj1n6pk5c";
+ rev = "6a3ed24c5631da7a5d418bced57c16b32af7747c";
+ sha256 = "0x4jq7z54nj7p4abnaqc2cnldyi7rcl5r444n9jc82i5pmg6ck27";
};
meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
};
@@ -7265,12 +7301,12 @@ final: prev:
telescope-coc-nvim = buildVimPluginFrom2Nix {
pname = "telescope-coc.nvim";
- version = "2022-08-10";
+ version = "2022-08-27";
src = fetchFromGitHub {
owner = "fannheyward";
repo = "telescope-coc.nvim";
- rev = "e71def9442840130e147a8b79fa8dd4fa828d263";
- sha256 = "00q2lifmyqimvkcnri6ylb0b4fbz7q66zp4dlc6y8jmyj1ag0w20";
+ rev = "f1e5a5129129e2dd69f1d3f3df0dd8956903a963";
+ sha256 = "1jhif6vi7n5kvn4xfz11ahy0a37dzkjq0scc3iiah9ad5nydmykx";
};
meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
};
@@ -7289,36 +7325,36 @@ final: prev:
telescope-file-browser-nvim = buildVimPluginFrom2Nix {
pname = "telescope-file-browser.nvim";
- version = "2022-08-01";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-file-browser.nvim";
- rev = "4272c52078cc457dfaabce6fa3545e7495651d04";
- sha256 = "0mrd9z0n96h7fwsk5dgb25ax3p3xygwfav4gfgyysb7s7fz3529d";
+ rev = "00a814a891de086ed446151bacc559c63682b6ee";
+ sha256 = "0m73m1nhphslvn0g58vzqghcb4nh8hs4zj5nwh9szz1ql2y0nw0y";
};
meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
};
telescope-frecency-nvim = buildVimPluginFrom2Nix {
pname = "telescope-frecency.nvim";
- version = "2022-08-13";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-frecency.nvim";
- rev = "6d2db0ee0ca6487bf3fc9eda581e83eaea25cb07";
- sha256 = "0q6kcig52dd2wg6jnv1wajg4dmc6zscv7xdgl8agnilaz8xw92z9";
+ rev = "d51c7631dcc0f598692676f554c4e79d7596d541";
+ sha256 = "03mjzlk28igjjwln61r8g4xz972ps7yfhdxgs4fh3b2m08gqkdnd";
};
meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
};
telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
pname = "telescope-fzf-native.nvim";
- version = "2022-08-10";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-fzf-native.nvim";
- rev = "6791f74e9f08a9412c43dcba805ecf2f8888bdde";
- sha256 = "1fl4k6r71zgqx57hilf92zfjvqdb9znnxd0ymx68b9kqr66bwidx";
+ rev = "65c0ee3d4bb9cb696e262bca1ea5e9af3938fc90";
+ sha256 = "0nyvhlalrgg6n793lp3yrxgszv5j0ln9sjbh45pxxg0wn15jxm45";
};
meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
};
@@ -7470,12 +7506,12 @@ final: prev:
telescope-nvim = buildVimPluginFrom2Nix {
pname = "telescope.nvim";
- version = "2022-08-19";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
- rev = "28dc08f614f45d37ad90f170935f1f4e12559aeb";
- sha256 = "1vmwp62aizvda3jmvi3j5rw8ffyfr6xk15adfqpj9gkgzw5lmh56";
+ rev = "2584ff391b528d01bf5e8c04206d5902a79ebdde";
+ sha256 = "1z06vp94xc4ircpkv71s5zq1ck3azgc17p3ys34jxw67nnfmhqr5";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@@ -7614,12 +7650,12 @@ final: prev:
todo-comments-nvim = buildVimPluginFrom2Nix {
pname = "todo-comments.nvim";
- version = "2022-01-19";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "folke";
repo = "todo-comments.nvim";
- rev = "98b1ebf198836bdc226c0562b9f906584e6c400e";
- sha256 = "02qjn45qpvxhw7zifw0a86alika5r8b5a98y1199jpdx2d7zks7j";
+ rev = "a57b18c8b3fe9340d48585371df2c793fff417a7";
+ sha256 = "0f48kzxib63v9m8i95acx7r6hvfc0b2rmdpp87dv3lmpq1gkhcay";
};
meta.homepage = "https://github.com/folke/todo-comments.nvim/";
};
@@ -7651,24 +7687,24 @@ final: prev:
toggleterm-nvim = buildVimPluginFrom2Nix {
pname = "toggleterm.nvim";
- version = "2022-08-13";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "akinsho";
repo = "toggleterm.nvim";
- rev = "62683d927dfd30dc68441a5811fdcb6c9f176c42";
- sha256 = "0ac58nyl9lk1wxr9g2jkckxzjr2gfahpidg983bjdl3mk42qc4d6";
+ rev = "5e393e558f7c41d132542c8e9626aa824a1caa59";
+ sha256 = "0scbyj1z48c35a194h5v1q1z3l6j9zsl3izflynanajdbjzxgxny";
};
meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
};
tokyonight-nvim = buildVimPluginFrom2Nix {
pname = "tokyonight.nvim";
- version = "2021-12-31";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "folke";
repo = "tokyonight.nvim";
- rev = "8223c970677e4d88c9b6b6d81bda23daf11062bb";
- sha256 = "1rzg0h0ab3jsfrimdawh8vlxa6y3j3rmk57zyapnmzpzllcswj0i";
+ rev = "54cf70dbd19acd7c32cc12bb743fec17eaf6fef5";
+ sha256 = "08fzm5xwb4wdawyqpy3fl1l40rv4gkj0xnqablm525170fnfbb30";
};
meta.homepage = "https://github.com/folke/tokyonight.nvim/";
};
@@ -7723,16 +7759,28 @@ final: prev:
trouble-nvim = buildVimPluginFrom2Nix {
pname = "trouble.nvim";
- version = "2022-05-09";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "folke";
repo = "trouble.nvim";
- rev = "da61737d860ddc12f78e638152834487eabf0ee5";
- sha256 = "1aa45r9z8mghak8f5gymhm875rssi1afs92h0mpnn43y0j76xy31";
+ rev = "929315ea5f146f1ce0e784c76c943ece6f36d786";
+ sha256 = "07nyhg5mmy1fhf6v4480wb8gq3dh7g9fz9l5ksv4v94sdp5pgzvz";
};
meta.homepage = "https://github.com/folke/trouble.nvim/";
};
+ true-zen-nvim = buildVimPluginFrom2Nix {
+ pname = "true-zen.nvim";
+ version = "2022-08-07";
+ src = fetchFromGitHub {
+ owner = "Pocco81";
+ repo = "true-zen.nvim";
+ rev = "98740c76254c65576ec294551028b65081053588";
+ sha256 = "1g7wwb081yliqzpzmgjgvv9fn9qcry9k4xbgv0zcgz7z1lbhmyj1";
+ };
+ meta.homepage = "https://github.com/Pocco81/true-zen.nvim/";
+ };
+
tslime-vim = buildVimPluginFrom2Nix {
pname = "tslime.vim";
version = "2020-09-09";
@@ -7759,12 +7807,12 @@ final: prev:
twilight-nvim = buildVimPluginFrom2Nix {
pname = "twilight.nvim";
- version = "2021-08-06";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "folke";
repo = "twilight.nvim";
- rev = "8ab43c0fdc246fdd82382d7ef4ec383f8f755ef9";
- sha256 = "0fh752l53yk3bnas07kds7vhmdnxrbslq126qdyqb6f1xgzb9gjj";
+ rev = "1ffa6a4d89fb2fbb784c6674044bf54f1fca936f";
+ sha256 = "1aw1my5a2xz35j4v7kgq78mgh3g6clkxwahcyzqj9355zryxha5g";
};
meta.homepage = "https://github.com/folke/twilight.nvim/";
};
@@ -7831,12 +7879,12 @@ final: prev:
urlview-nvim = buildVimPluginFrom2Nix {
pname = "urlview.nvim";
- version = "2022-08-19";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "axieax";
repo = "urlview.nvim";
- rev = "ac5d34be94c5f092752d53ec6436c1de593fb355";
- sha256 = "0wfgizpvwqjvqwhxvzb25akz391i0brcn3pw4ldad5d7glqmpi5m";
+ rev = "94444456ebd16c6876338adb61118dc9cf8c54bc";
+ sha256 = "1l424zi8qzshlhy072fz9nfm75q8h5xskczgm101a584mlxa2gsh";
};
meta.homepage = "https://github.com/axieax/urlview.nvim/";
};
@@ -7891,24 +7939,24 @@ final: prev:
verilog_systemverilog-vim = buildVimPluginFrom2Nix {
pname = "verilog_systemverilog.vim";
- version = "2022-05-15";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "vhda";
repo = "verilog_systemverilog.vim";
- rev = "e63a6d7093ab4a483eac7479e7d9ae8efff67472";
- sha256 = "08x7kw2al6j1sixbkyizyk05rp54577syf121mihwbam935j5sgf";
+ rev = "eaec3e8c06dcc011b6e34d17f0cd1c0fc9240295";
+ sha256 = "1ip5lnrbmy4dv5b9xbxhy6xsrsa1kv2a0mhhshw642bbjmcqi05w";
};
meta.homepage = "https://github.com/vhda/verilog_systemverilog.vim/";
};
vifm-vim = buildVimPluginFrom2Nix {
pname = "vifm.vim";
- version = "2022-08-20";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "vifm";
repo = "vifm.vim";
- rev = "c3a2a8dfbec766c74c81dd2c7c67579c839e1119";
- sha256 = "1q51n1jlz1dzigh1q3q0fms2ndnjz84whz31z526srxrs88qwkav";
+ rev = "2c553b3e75393c1c7fed833106c7cbe4d744a24d";
+ sha256 = "1b8z6y2g946d2v9w1f7wxssf0yi25fz6m2s55ag1kx52jfld02ld";
};
meta.homepage = "https://github.com/vifm/vifm.vim/";
};
@@ -8059,12 +8107,12 @@ final: prev:
vim-addon-errorformats = buildVimPluginFrom2Nix {
pname = "vim-addon-errorformats";
- version = "2019-07-16";
+ version = "2022-08-28";
src = fetchFromGitHub {
owner = "MarcWeber";
repo = "vim-addon-errorformats";
- rev = "bb83675cb0b8cc377fb0a79ba492ba2445674ba6";
- sha256 = "09cds33lb5gm69wv5plgidprm8nf52vvg9qdzpq9mihvinvj5qv7";
+ rev = "15921fdc10aa56b969ea1e78c5a3dd8cdddc68ec";
+ sha256 = "0q3nch4caniq9i347ap2v3annq01vyb0fzm80l493nhiflnjvd08";
};
meta.homepage = "https://github.com/MarcWeber/vim-addon-errorformats/";
};
@@ -8239,12 +8287,12 @@ final: prev:
vim-airline = buildVimPluginFrom2Nix {
pname = "vim-airline";
- version = "2022-08-15";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "vim-airline";
repo = "vim-airline";
- rev = "9d20473e912ab39008a25b1902e5f35189e67aad";
- sha256 = "1b25c52rgk3nk35liwrl51rqvi8y56kqxxb9k4z00ls603pwxac6";
+ rev = "2cea8346cfaf0d92da079c27708bec7c092cef84";
+ sha256 = "01lrymsr65yc2565frgnysdi7qq0320zd5klkjsvz8kp5p5mj57v";
};
meta.homepage = "https://github.com/vim-airline/vim-airline/";
};
@@ -8287,12 +8335,12 @@ final: prev:
vim-android = buildVimPluginFrom2Nix {
pname = "vim-android";
- version = "2022-08-14";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "hsanson";
repo = "vim-android";
- rev = "6c3de0dec1df86231b9b92e81249b8ccf8f0aa84";
- sha256 = "0w5rjn9833mdfx3wcmvmyjvfrih2kif45qgipf95q1b65rvn2bqg";
+ rev = "8911f86284315cd574e807424bcea62fd99c588a";
+ sha256 = "013f2p7jf9gj4xxs789906zrflpjv2kqa1whbg7y4viqs6j62y9l";
};
meta.homepage = "https://github.com/hsanson/vim-android/";
};
@@ -8611,12 +8659,12 @@ final: prev:
vim-clap = buildVimPluginFrom2Nix {
pname = "vim-clap";
- version = "2022-08-20";
+ version = "2022-08-31";
src = fetchFromGitHub {
owner = "liuchengxu";
repo = "vim-clap";
- rev = "ccaea1352a5b56aa91957f8918b4b6cfaa20a6bf";
- sha256 = "14znprc8abbaj6cg5y2rkhpdkikp22vbq86agmgav6m9ck9wsilr";
+ rev = "8deab93d37dfa93fbc61438a013cdd2b075e3eb0";
+ sha256 = "0pi9pniism8qc0fxfqnp0np9fi0vhqin6i38b4vnvyapg6jsfk8x";
};
meta.homepage = "https://github.com/liuchengxu/vim-clap/";
};
@@ -9175,12 +9223,12 @@ final: prev:
vim-erlang-runtime = buildVimPluginFrom2Nix {
pname = "vim-erlang-runtime";
- version = "2021-11-25";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "vim-erlang";
repo = "vim-erlang-runtime";
- rev = "abb5ff4de17aa0add2afedaa478e06ede6ba2baf";
- sha256 = "1zspw3p00b31x97if1hmmgvxmv6yzky4q4y16qckwn838yjarlhn";
+ rev = "5f576e08a4a9cd54e4b11a3c240d4b7fae05d380";
+ sha256 = "0rm3r7llaqr8w6kd4kr52pl2g32i608z25w925f38sfr5b8acc53";
};
meta.homepage = "https://github.com/vim-erlang/vim-erlang-runtime/";
};
@@ -9319,12 +9367,12 @@ final: prev:
vim-floaterm = buildVimPluginFrom2Nix {
pname = "vim-floaterm";
- version = "2022-06-11";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "voldikss";
repo = "vim-floaterm";
- rev = "e3f2d94d722603f8b65088ea1d7e0329951985bd";
- sha256 = "0d7r5g1wrcbq6ahd3hbwpjw54qk8k471wm704cmpdlgfjbjxdfqf";
+ rev = "d3ac089c66c728ffcd2ed55a71f80dfa314d2632";
+ sha256 = "1x46y782q1nb9sa6y4n687pgjhwbv88k6c5yv536bd6dz1s4jmhr";
};
meta.homepage = "https://github.com/voldikss/vim-floaterm/";
};
@@ -9391,12 +9439,12 @@ final: prev:
vim-fugitive = buildVimPluginFrom2Nix {
pname = "vim-fugitive";
- version = "2022-08-17";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-fugitive";
- rev = "b411b753f805b969cca856e2ae51fdbab49880df";
- sha256 = "0bcq71hfy08q4lq83rcrwpg7jkq0aszcbaqnjhphvg8wja5q30dm";
+ rev = "dd8107cabf5fe85df94d5eedcae52415e543f208";
+ sha256 = "19xrmyrqfxsx7damlbl0dd5dsr75jinmssvpvnamixzjzq6jyfr3";
};
meta.homepage = "https://github.com/tpope/vim-fugitive/";
};
@@ -9487,12 +9535,12 @@ final: prev:
vim-gitgutter = buildVimPluginFrom2Nix {
pname = "vim-gitgutter";
- version = "2022-05-24";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "airblade";
repo = "vim-gitgutter";
- rev = "ded11946c04aeab5526f869174044019ae9e3c32";
- sha256 = "144c2ws85wjh335h80alg4k4jghpvkb322p2m15q978i942mh5na";
+ rev = "f19b6203191d69de955d91467a5707959572119b";
+ sha256 = "0gnfnh15rmjvsyzlb9cw6nwvz46lmkiqzmifi8dvwrn0fi868hzf";
};
meta.homepage = "https://github.com/airblade/vim-gitgutter/";
};
@@ -9535,12 +9583,12 @@ final: prev:
vim-go = buildVimPluginFrom2Nix {
pname = "vim-go";
- version = "2022-08-12";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "fatih";
repo = "vim-go";
- rev = "4d6962d8e0792617f87b37b938996f44e2a54645";
- sha256 = "09jn9hvklhj8q83sxdrkbj5vdfyshh6268vxhm2kbdg5885jkjqw";
+ rev = "22b2273cfe562ac1c1af976ce77f18a3b1776f3c";
+ sha256 = "0vhyz67shgl8bpp07q4r808fas83xa86kl4jh5qkyfvxd95nrrm9";
};
meta.homepage = "https://github.com/fatih/vim-go/";
};
@@ -9691,12 +9739,12 @@ final: prev:
vim-helm = buildVimPluginFrom2Nix {
pname = "vim-helm";
- version = "2022-01-20";
+ version = "2022-08-22";
src = fetchFromGitHub {
owner = "towolf";
repo = "vim-helm";
- rev = "86a63d007ffee156d759061850cda9d8daa8ea12";
- sha256 = "17s4zbl34zi9nhn1dr7z0kyfaf7a7r466bcj195ahsz7c9a48i62";
+ rev = "c2e7b85711d410e1d73e64eb5df7b70b1c4c10eb";
+ sha256 = "1khisqaiq0gvjn2p3w42vcwadcbcs2ml5x6mi3gaclp7q0hyc19m";
};
meta.homepage = "https://github.com/towolf/vim-helm/";
};
@@ -9836,12 +9884,12 @@ final: prev:
vim-illuminate = buildVimPluginFrom2Nix {
pname = "vim-illuminate";
- version = "2022-08-20";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "RRethy";
repo = "vim-illuminate";
- rev = "78cf9c1ce0dc1ee3cfd6f29f9aab1b538a2784b6";
- sha256 = "06ja5xn04wy5qcli3zdpzaf22x8yiyv4x34i865djva689d6yj8i";
+ rev = "1c8132dc81078fc1ec7a4a1492352b8f541ee84b";
+ sha256 = "01h8z0d0dkj7bgdvd4xymix2hgj7z5963nynafgb3prq94j0njbv";
};
meta.homepage = "https://github.com/RRethy/vim-illuminate/";
};
@@ -10207,6 +10255,18 @@ final: prev:
meta.homepage = "https://github.com/tpope/vim-liquid/";
};
+ vim-llvm = buildVimPluginFrom2Nix {
+ pname = "vim-llvm";
+ version = "2022-09-06";
+ src = fetchFromGitHub {
+ owner = "rhysd";
+ repo = "vim-llvm";
+ rev = "acad2bd168778545972d6eef58560376869da373";
+ sha256 = "0cjg5dpv68k6cji3k1qjwg24ghadbxzkcfq8i2a3cs18pchmr18x";
+ };
+ meta.homepage = "https://github.com/rhysd/vim-llvm/";
+ };
+
vim-localvimrc = buildVimPluginFrom2Nix {
pname = "vim-localvimrc";
version = "2022-05-11";
@@ -10257,12 +10317,12 @@ final: prev:
vim-lsp = buildVimPluginFrom2Nix {
pname = "vim-lsp";
- version = "2022-08-20";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "prabirshrestha";
repo = "vim-lsp";
- rev = "e5d2d3f7440ec109cb157b1b00a4a96030e2a564";
- sha256 = "06yinlsnd5808ljfy8bs16p5frv7i95chipzg75pxmm4rxvjic30";
+ rev = "4d8a27513daef41915eaf2d315a2662e95d71080";
+ sha256 = "020xrcvp1q1kwgfwxyqskz3sy5dgvry2ay8zkkyakccawcasrhf9";
};
meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
};
@@ -10354,24 +10414,24 @@ final: prev:
vim-markdown-toc = buildVimPluginFrom2Nix {
pname = "vim-markdown-toc";
- version = "2022-02-11";
+ version = "2022-08-29";
src = fetchFromGitHub {
owner = "mzlogin";
repo = "vim-markdown-toc";
- rev = "31aa38e58334f1321ae8ec6f38d05303f3226698";
- sha256 = "0kv7miavs4xfiaj7yj0hi7cr65m7mn6rvd6dykmbr8j7w0pra7fr";
+ rev = "7ec05df27b4922830ace2246de36ac7e53bea1db";
+ sha256 = "1806c3g07gbggj5xv30v78c6czarl5v11aa2rxb7igizfsn13vwv";
};
meta.homepage = "https://github.com/mzlogin/vim-markdown-toc/";
};
vim-matchup = buildVimPluginFrom2Nix {
pname = "vim-matchup";
- version = "2022-08-18";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "andymass";
repo = "vim-matchup";
- rev = "87b8e9018f68a4f347b8dee66653e7007ae5308b";
- sha256 = "0gljlxbz2cz2fcindbzx8lmrsach8sg5r0nfmy7rqwl8v88bkyr3";
+ rev = "9aa08cd0bf1e2e9d342fa0fdb816a1b5c95420a8";
+ sha256 = "1jjxfhkxz9jmhg7lgf63cs6ichqp1jsric13lgcwqsspp0hxv3wq";
};
meta.homepage = "https://github.com/andymass/vim-matchup/";
};
@@ -10582,12 +10642,12 @@ final: prev:
vim-nixhash = buildVimPluginFrom2Nix {
pname = "vim-nixhash";
- version = "2022-02-06";
+ version = "2022-09-01";
src = fetchFromGitHub {
owner = "symphorien";
repo = "vim-nixhash";
- rev = "d6e3c5161ef2e3fbc4a4b68a785d958d97e25b7e";
- sha256 = "1mrprl6mqapjzcya643nzvwaf01r38knjg9xnfbpvlidfq38d3cw";
+ rev = "e03af8d0c1bae3c015ffdb45ce79556c0561e59d";
+ sha256 = "1kdg84666gf1d3qiwwqmk7nwshspr2kpb8hjyh2m0nx0zmjji2ij";
};
meta.homepage = "https://github.com/symphorien/vim-nixhash/";
};
@@ -10750,12 +10810,12 @@ final: prev:
vim-oscyank = buildVimPluginFrom2Nix {
pname = "vim-oscyank";
- version = "2022-06-20";
+ version = "2022-08-31";
src = fetchFromGitHub {
owner = "ojroques";
repo = "vim-oscyank";
- rev = "360ccdc01b18cd434588c34e15e5ea382b436de8";
- sha256 = "14phavx432h16bdm7m99a21xz2gb1s47fd5g8v2b5ig12l4yss92";
+ rev = "849c67adf24a86935b8be62860ad9acb00cf4572";
+ sha256 = "1f23accmz82835kxvfsksjp77w9khkbcp4064c646p90ck194lji";
};
meta.homepage = "https://github.com/ojroques/vim-oscyank/";
};
@@ -10858,12 +10918,12 @@ final: prev:
vim-pathogen = buildVimPluginFrom2Nix {
pname = "vim-pathogen";
- version = "2021-01-04";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-pathogen";
- rev = "e0a3efbda5ea8e5b181b2b232ef6453c05d07732";
- sha256 = "1b9v6k0560b7yf2l9v8n23bm27k3akycrv19wfi50havxdjagw1f";
+ rev = "ac4dd9494fa9008754e49dff85bff1b5746c89b4";
+ sha256 = "0mw00sbwgyd8ar4z8w2x8mhl4dhk8l1gbvqrxivd6382vqqnx8q9";
};
meta.homepage = "https://github.com/tpope/vim-pathogen/";
};
@@ -10918,12 +10978,12 @@ final: prev:
vim-plug = buildVimPluginFrom2Nix {
pname = "vim-plug";
- version = "2022-08-17";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "junegunn";
repo = "vim-plug";
- rev = "d94d234548a8fd6fa686812848f377f1419dafa1";
- sha256 = "1jyx46iddxhsb0nhbg5snj6x0snlmp1nv4m86n3afsz1y4371g9g";
+ rev = "b6739f358b60b7a5590c7a59e49b2305d23f1242";
+ sha256 = "14fpa2z4cpb7if1wf4xkn7zqydhf7iz531lv3y5kvx3hp0yh02qi";
};
meta.homepage = "https://github.com/junegunn/vim-plug/";
};
@@ -11194,12 +11254,12 @@ final: prev:
vim-rails = buildVimPluginFrom2Nix {
pname = "vim-rails";
- version = "2022-08-17";
+ version = "2022-08-24";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-rails";
- rev = "60300991aec65c11b252e58c84cffd07463b5adb";
- sha256 = "0pr84i5hsaqb39b0f1irgaq08s4h3g1inq0s13b3q5vkf75a62cs";
+ rev = "83e17679f82e526c55e0d670ef0ad8d97a5fd4f5";
+ sha256 = "136habh5jwpjsahd2xn7rx4z30r6ym26r5vsfk0njb2qbiwlp4zz";
};
meta.homepage = "https://github.com/tpope/vim-rails/";
};
@@ -11362,12 +11422,12 @@ final: prev:
vim-sensible = buildVimPluginFrom2Nix {
pname = "vim-sensible";
- version = "2022-04-11";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-sensible";
- rev = "226203be173bf0b95ee2a5cb6575ae604b3f9f7a";
- sha256 = "0hi64zsg2acrmzshmvrmgjqd7wjgghpggw0rmjx8kd7vwcmwvfcl";
+ rev = "8985da7669bbd73afce85ef0e4a3e1ce2e488595";
+ sha256 = "15pvhbk7hkf3z7zsv1bqizqmiw75nvckf3j6njckj5ijx6kzjsnj";
};
meta.homepage = "https://github.com/tpope/vim-sensible/";
};
@@ -11470,11 +11530,11 @@ final: prev:
vim-slime = buildVimPluginFrom2Nix {
pname = "vim-slime";
- version = "2022-07-16";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "jpalardy";
repo = "vim-slime";
- rev = "36153404daeb4c9b0f8db0be1ee6aae7ef73fee3";
+ rev = "c959072d38fabb36cd5371439aaba0b692fb0b73";
sha256 = "1chq7ppyv7djjsamj7a05dx3zs5ic3nr0wvvc8qfswx1i9lrjhys";
};
meta.homepage = "https://github.com/jpalardy/vim-slime/";
@@ -11554,12 +11614,12 @@ final: prev:
vim-snippets = buildVimPluginFrom2Nix {
pname = "vim-snippets";
- version = "2022-08-17";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "honza";
repo = "vim-snippets";
- rev = "e8a3d1f48bd34f0227f0e1254ce6890fa420f58f";
- sha256 = "1r7rviand5dnpsf9ppk6gqqk19fwf6l74jm5fqrgk56xywcf0adw";
+ rev = "2058ac6d2da18ee06cad6513f9c5c2d211f03493";
+ sha256 = "0rwwgygzxd3slkf41vm06zmznwakc9wsl01gayfmc2hgd77pwgbg";
};
meta.homepage = "https://github.com/honza/vim-snippets/";
};
@@ -11626,12 +11686,12 @@ final: prev:
vim-startuptime = buildVimPluginFrom2Nix {
pname = "vim-startuptime";
- version = "2022-07-30";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "dstein64";
repo = "vim-startuptime";
- rev = "9a226125353e9c12742d72be6ab877573bfd651b";
- sha256 = "0rzcdkinaf7hd525z4zap25vgjh58mvicscyfympbi3plvsz6i3p";
+ rev = "0dcecdf0823d668e291dbd571d6bb9086584357f";
+ sha256 = "07cvqaj5f3mfk93zl6vnm577z1kfs9zm3jwq56xbz19mnb54csq6";
};
meta.homepage = "https://github.com/dstein64/vim-startuptime/";
};
@@ -11795,12 +11855,12 @@ final: prev:
vim-test = buildVimPluginFrom2Nix {
pname = "vim-test";
- version = "2022-08-09";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "vim-test";
repo = "vim-test";
- rev = "dfb99b8867556ea63e67f4a7cbc2ee10dda4b3be";
- sha256 = "0h500vzczx0i2k23xmkhfgd31rhld4hzd1917vf6hhb0fw0aphci";
+ rev = "7118e9f98392b902b220a7424de13d0e0becc2c1";
+ sha256 = "1p9kqwpvr35csq75xrq9ih72q97iqhm18ci6myclc9ihrcgmdlg5";
};
meta.homepage = "https://github.com/vim-test/vim-test/";
};
@@ -11939,12 +11999,12 @@ final: prev:
vim-tmux-navigator = buildVimPluginFrom2Nix {
pname = "vim-tmux-navigator";
- version = "2021-10-10";
+ version = "2022-08-25";
src = fetchFromGitHub {
owner = "christoomey";
repo = "vim-tmux-navigator";
- rev = "9ca5bfe5bd274051b5dd796cc150348afc993b80";
- sha256 = "11qv4bqwwf7wh3l729c9za6kzpyry91q3cks2z51znppkyd20gb7";
+ rev = "afb45a55b452b9238159047ce7c6e161bd4a9907";
+ sha256 = "0pd6gg0kj12dsfqlv0g48pyppygj8j555aj8x3xh7151vfvrh3zh";
};
meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/";
};
@@ -11975,12 +12035,12 @@ final: prev:
vim-tpipeline = buildVimPluginFrom2Nix {
pname = "vim-tpipeline";
- version = "2022-08-17";
+ version = "2022-09-04";
src = fetchFromGitHub {
owner = "vimpostor";
repo = "vim-tpipeline";
- rev = "76f7bcd132f762282e303668c7e1015337579978";
- sha256 = "13iflhlk5sn3r6h6gskl1zih4lx8y6yrn4py5qclpn6qi7zdiaq9";
+ rev = "6a2dc6b3851f119fdf785a6c67c14816c46bd630";
+ sha256 = "0n00aja4qjbkdba7848clm4k44a5df4j72awh106qpkp2gqrw89y";
};
meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
};
@@ -12467,12 +12527,12 @@ final: prev:
vimspector = buildVimPluginFrom2Nix {
pname = "vimspector";
- version = "2022-08-15";
+ version = "2022-08-30";
src = fetchFromGitHub {
owner = "puremourning";
repo = "vimspector";
- rev = "5200d077bde1abc12f0b7f6ad6a133ec3b924670";
- sha256 = "0h4pn38k40mkz3h2ibnphnsm7w2pdsplqyw865l801ygz7vlpwbg";
+ rev = "1b9f11a5833d89683dff912e43f80d35fa936fdd";
+ sha256 = "0kpkf0w4xq6vhdab23b46i44jaimjbgbrdy5lbxdgv5d9hqjrry8";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -12480,24 +12540,24 @@ final: prev:
vimtex = buildVimPluginFrom2Nix {
pname = "vimtex";
- version = "2022-08-17";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
- rev = "5641242ea6d5eb30428f78eaa9591c78be351b66";
- sha256 = "0w5q0h3pm32bndi4hw5gzsysl2mwv11fzyphxa1nk1mf37i1nqan";
+ rev = "6912f73ed0c7f032150578461379e538752c0a89";
+ sha256 = "0wprhz9mda982pqkg5jjywyz6ap4xi8w1jcvl6918jxagxa7hx6x";
};
meta.homepage = "https://github.com/lervag/vimtex/";
};
vimux = buildVimPluginFrom2Nix {
pname = "vimux";
- version = "2021-08-15";
+ version = "2022-09-03";
src = fetchFromGitHub {
owner = "preservim";
repo = "vimux";
- rev = "89604a4464c3069dbe31f7bc8dd16a5fbc88a303";
- sha256 = "1lr7zqza29xxwbki9fgfazrak6ybyvm1a782kbs3v3zip10xmm3x";
+ rev = "740320b798106c5de6758fb35bf39e79ee1ce0f0";
+ sha256 = "1d7ixi6whxk1p31wd2n2cvhqyyfl9cfcjm6lv43n8fjwr9sw12ic";
};
meta.homepage = "https://github.com/preservim/vimux/";
};
@@ -12576,12 +12636,12 @@ final: prev:
which-key-nvim = buildVimPluginFrom2Nix {
pname = "which-key.nvim";
- version = "2022-05-04";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "folke";
repo = "which-key.nvim";
- rev = "bd4411a2ed4dd8bb69c125e339d837028a6eea71";
- sha256 = "0vf685xgdb967wmvffk1pfrvbhg1jkvzp1kb7r0vs90mg8gpv1aj";
+ rev = "439637d6a75fe27e369190df7910ed2a454109f6";
+ sha256 = "1xhcwnsk4s6ay00w8vicdjh93nrjd0n4sd46m0j6ihwvyc9gfz24";
};
meta.homepage = "https://github.com/folke/which-key.nvim/";
};
@@ -12612,12 +12672,12 @@ final: prev:
winshift-nvim = buildVimPluginFrom2Nix {
pname = "winshift.nvim";
- version = "2022-06-29";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "sindrets";
repo = "winshift.nvim";
- rev = "9e884748f2857c4ba05e5ee9521dd9a576e22083";
- sha256 = "19n5zp87qmdyz6rshxfp0j150d4sv76aicz08yv8jzsyjkaqrcxw";
+ rev = "37468ed6f385dfb50402368669766504c0e15583";
+ sha256 = "02qa8phsbqvm9c5h27ijf0vfaq3d3k65jz0x1xjn87cwvdly8vcr";
};
meta.homepage = "https://github.com/sindrets/winshift.nvim/";
};
@@ -12672,12 +12732,12 @@ final: prev:
xptemplate = buildVimPluginFrom2Nix {
pname = "xptemplate";
- version = "2022-06-10";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "drmingdrmer";
repo = "xptemplate";
- rev = "d8500403b35d5597441773074e3976238b5e8b2c";
- sha256 = "0dpdzx46rrwq9i2rymn0if7ci9h2b5hmdxqfw0dmdiyn1byj2wph";
+ rev = "0c122d20d202201787952fe76e518c287dbd684d";
+ sha256 = "0y8b46kxyjf2sfqj69yklba2lcgv7b1c4y3nm2xjn2h0xifb0n0w";
};
meta.homepage = "https://github.com/drmingdrmer/xptemplate/";
};
@@ -12696,12 +12756,12 @@ final: prev:
yats-vim = buildVimPluginFrom2Nix {
pname = "yats.vim";
- version = "2022-06-26";
+ version = "2022-08-26";
src = fetchFromGitHub {
owner = "HerringtonDarkholme";
repo = "yats.vim";
- rev = "68cd1da2bcea5fb3fbe6b6266958ae7c72e814da";
- sha256 = "0h4kqfc9mz7wjdqb4ga1400wjj5jfc46f07b80j1npk3bnx8r7cb";
+ rev = "4bf3879055847e675335f1c3050bd2dd11700c7e";
+ sha256 = "1i7iavcqxrn6khrx3nqqf2d0q1b7hggjz86s53yjs69xn31bqsxa";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
@@ -12721,12 +12781,12 @@ final: prev:
zen-mode-nvim = buildVimPluginFrom2Nix {
pname = "zen-mode.nvim";
- version = "2021-11-07";
+ version = "2022-09-05";
src = fetchFromGitHub {
owner = "folke";
repo = "zen-mode.nvim";
- rev = "f1cc53d32b49cf962fb89a2eb0a31b85bb270f7c";
- sha256 = "1fxkrny1xk69w8rlmz4x5msvqb8i8xvvl9csndpplxhkn8wzirdp";
+ rev = "6f5702db4fd4a4c9a212f8de3b7b982f3d93b03c";
+ sha256 = "04i8d7dlxmzgxiysy9jffxkpkw8h3qjkrv3l74z7pfksdmhlbbwz";
};
meta.homepage = "https://github.com/folke/zen-mode.nvim/";
};
@@ -12745,12 +12805,12 @@ final: prev:
zephyr-nvim = buildVimPluginFrom2Nix {
pname = "zephyr-nvim";
- version = "2022-06-22";
+ version = "2022-09-02";
src = fetchFromGitHub {
owner = "glepnir";
repo = "zephyr-nvim";
- rev = "1eea36117a8ca4f3250c0223e78a690cdc720f9e";
- sha256 = "1bizvz1h7dqjplf2fs3w6syn5g3a1n2j84caf6saidr36h6irrns";
+ rev = "20c8c936b21ec62a1ada559c815d665576efbbaf";
+ sha256 = "0yhszw2nklxjd1hn3aj72zshrn7lmfng4gsmzlv8kfkid9z4mjjl";
};
meta.homepage = "https://github.com/glepnir/zephyr-nvim/";
};
@@ -12805,12 +12865,12 @@ final: prev:
catppuccin-nvim = buildVimPluginFrom2Nix {
pname = "catppuccin-nvim";
- version = "2022-08-16";
+ version = "2022-09-07";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "nvim";
- rev = "b0bd9d9d08d5312534362a8893705c41d2afb612";
- sha256 = "1c19bwlarbb7khnv99ik5l10ds1003lq8kjniahsyqpb69y14g32";
+ rev = "83b3d877dfb54d100f3f6100c2b07a5b54219cff";
+ sha256 = "0hy2s7dcazma427p2w3w23fyikx4yk5kl75d0gbpxlm62c28szdy";
};
meta.homepage = "https://github.com/catppuccin/nvim/";
};
@@ -12829,12 +12889,12 @@ final: prev:
chad = buildVimPluginFrom2Nix {
pname = "chad";
- version = "2022-08-20";
+ version = "2022-09-08";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "chadtree";
- rev = "088c764c45eb0186e0860dc3db6c4baaaae0adea";
- sha256 = "039v6dl2sv3dl2cgg9im463zyp0w2aimq6qmsq5qk2mz7gvgj2xk";
+ rev = "cf860979edc4e5a6d29041f053dd99cc81667c05";
+ sha256 = "0wc46cr0jlr6djap17rj69vwx65dafwv4dr94zm9shq9k75cla2i";
};
meta.homepage = "https://github.com/ms-jpq/chadtree/";
};
@@ -12853,12 +12913,12 @@ final: prev:
embark-vim = buildVimPluginFrom2Nix {
pname = "embark-vim";
- version = "2022-08-18";
+ version = "2022-08-27";
src = fetchFromGitHub {
owner = "embark-theme";
repo = "vim";
- rev = "ab9d52f692cb52e42b33681c024de902c3e4bd22";
- sha256 = "06fqcv83jjsicdks6pqdfsgdfyi6k5s5ydkhjf0sllx3whyzmaqg";
+ rev = "50cf035b45a7ba162e41a78a581015e550e6389f";
+ sha256 = "0fn2zh7izvz04ifnjlc98mf32ljb5plqd8rvyl01r17lyvvk7z8w";
};
meta.homepage = "https://github.com/embark-theme/vim/";
};
@@ -12901,12 +12961,12 @@ final: prev:
rose-pine = buildVimPluginFrom2Nix {
pname = "rose-pine";
- version = "2022-08-14";
+ version = "2022-09-06";
src = fetchFromGitHub {
owner = "rose-pine";
repo = "neovim";
- rev = "0f3ea8162459da82440c22ce0c9b0562e53f6a10";
- sha256 = "0rv0f9c38h4lz1h3dq44v08qm8awknfxclrwb0k664xbsk1d9w97";
+ rev = "f739adcaf81ee8cba04b67d287b231c70416b779";
+ sha256 = "0hdnlriy3rsv628jfxy59a19dav75wigmyk7dmsb95861fysr2wa";
};
meta.homepage = "https://github.com/rose-pine/neovim/";
};
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
index 8f805d1254..db0128b83b 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -53,7 +53,6 @@
, zsh
# command-t dependencies
-, rake
, ruby
# cpsm dependencies
@@ -240,9 +239,11 @@ self: super: {
};
command-t = super.command-t.overrideAttrs (old: {
- buildInputs = [ ruby rake ];
+ buildInputs = [ ruby ];
buildPhase = ''
- rake make
+ substituteInPlace lua/wincent/commandt/lib/Makefile \
+ --replace '/bin/bash' 'bash'
+ make build
rm ruby/command-t/ext/command-t/*.o
'';
});
@@ -256,6 +257,10 @@ self: super: {
'';
});
+ compiler-explorer-nvim = super.compiler-explorer-nvim.overrideAttrs (old: {
+ dependencies = with self; [ plenary-nvim ];
+ });
+
completion-buffers = super.completion-buffers.overrideAttrs (old: {
dependencies = with self; [ completion-nvim ];
});
@@ -979,7 +984,7 @@ self: super: {
libiconv
];
- cargoSha256 = "sha256-prqS4cx5T+EiilXf3v7ResNBtgst0Kpgvayknf0QDXA=";
+ cargoSha256 = "sha256-QAfHhpXABuOPaHCfQQZYhBERGXMaJPFipWHt/MeSc3c=";
};
in
''
@@ -1102,7 +1107,7 @@ self: super: {
vim-isort = super.vim-isort.overrideAttrs (old: {
postPatch = ''
substituteInPlace ftplugin/python_vimisort.vim \
- --replace 'import vim' 'import vim; import sys; sys.path.append("${python2.pkgs.isort}/${python2.sitePackages}")'
+ --replace 'import vim' 'import vim; import sys; sys.path.append("${python3.pkgs.isort}/${python3.sitePackages}")'
'';
});
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 23760b3a94..c900a9865d 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -30,7 +30,6 @@ https://github.com/jaredgorski/SpaceCamp/,,
https://github.com/SpaceVim/SpaceVim/,,
https://github.com/ackyshake/Spacegray.vim/,,
https://github.com/chrisbra/SudoEdit.vim/,,
-https://github.com/Pocco81/TrueZen.nvim/,,
https://github.com/ackyshake/VimCompletesMe/,,
https://github.com/hsitz/VimOrganizer/,,
https://github.com/VundleVim/Vundle.vim/,,
@@ -156,6 +155,7 @@ https://github.com/hrsh7th/compe-conjure/,,
https://github.com/GoldsteinE/compe-latex-symbols/,,
https://github.com/tzachar/compe-tabnine/,,
https://github.com/tamago324/compe-zsh/,,
+https://github.com/krady21/compiler-explorer.nvim/,HEAD,
https://github.com/steelsojka/completion-buffers/,,
https://github.com/nvim-lua/completion-nvim/,,
https://github.com/aca/completion-tabnine/,,
@@ -163,6 +163,7 @@ https://github.com/nvim-treesitter/completion-treesitter/,,
https://github.com/chikatoike/concealedyank.vim/,,
https://github.com/rhysd/conflict-marker.vim/,,
https://github.com/Olical/conjure/,,
+https://github.com/wellle/context.vim/,,
https://github.com/Shougo/context_filetype.vim/,,
https://github.com/github/copilot.vim/,,
https://github.com/ms-jpq/coq.artifacts/,HEAD,
@@ -372,6 +373,7 @@ https://github.com/jghauser/mkdir.nvim/,main,
https://github.com/SidOfc/mkdx/,,
https://github.com/tomasr/molokai/,,
https://github.com/shaunsingh/moonlight.nvim/,,pure-lua
+https://github.com/leafo/moonscript-vim/,HEAD,
https://github.com/yegappan/mru/,,
https://github.com/ncm2/ncm2/,,
https://github.com/ncm2/ncm2-bufword/,,
@@ -475,6 +477,7 @@ https://github.com/dstein64/nvim-scrollview/,,
https://github.com/dcampos/nvim-snippy/,HEAD,
https://github.com/ishan9299/nvim-solarized-lua/,,
https://github.com/nvim-pack/nvim-spectre/,,
+https://github.com/kylechui/nvim-surround/,main,
https://github.com/norcalli/nvim-terminal.lua/,,
https://github.com/kyazdani42/nvim-tree.lua/,,
https://github.com/nvim-treesitter/nvim-treesitter/,,
@@ -648,6 +651,7 @@ https://github.com/tjdevries/train.nvim/,,
https://github.com/tremor-rs/tremor-vim/,,
https://github.com/cappyzawa/trim.nvim/,,
https://github.com/folke/trouble.nvim/,,
+https://github.com/Pocco81/true-zen.nvim/,,
https://github.com/jgdavey/tslime.vim/,,
https://github.com/Quramy/tsuquyomi/,,
https://github.com/folke/twilight.nvim/,,
@@ -857,6 +861,7 @@ https://github.com/lfe-support/vim-lfe/,,
https://github.com/josa42/vim-lightline-coc/,,
https://github.com/tommcdo/vim-lion/,,
https://github.com/tpope/vim-liquid/,,
+https://github.com/rhysd/vim-llvm/,HEAD,
https://github.com/embear/vim-localvimrc/,,
https://github.com/andreshazard/vim-logreview/,,
https://github.com/mlr-msft/vim-loves-dafny/,,
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-utils.nix b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-utils.nix
index d11d638f4a..c80dcb8094 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-utils.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -338,7 +338,7 @@ rec {
if vimrcFile != null then vimrcFile
else if vimrcConfig != null then mkVimrcFile vimrcConfig
else throw "at least one of vimrcConfig and vimrcFile must be specified";
- bin = runCommand "${name}-bin" { buildInputs = [ makeWrapper ]; } ''
+ bin = runCommand "${name}-bin" { nativeBuildInputs = [ makeWrapper ]; } ''
vimrc=${lib.escapeShellArg vimrc}
gvimrc=${if gvimrcFile != null then lib.escapeShellArg gvimrcFile else ""}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
index 5ecb1b7b32..5643cad16c 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
@@ -16,6 +16,7 @@
, racket
, clojure-lsp
, alejandra
+, millet
}:
let
@@ -47,6 +48,22 @@ let
};
};
+ _2gua.rainbow-brackets = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ publisher = "2gua";
+ name = "rainbow-brackets";
+ version = "0.0.6";
+ sha256 = "TVBvF/5KQVvWX1uHwZDlmvwGjOO5/lXbgVzB26U8rNQ=";
+ };
+ meta = with lib; {
+ description = "A Visual Studio Code extension providing rainbow brackets";
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets";
+ homepage = "https://github.com/lcultx/rainbow-brackets";
+ license = licenses.mit;
+ maintainers = with maintainers; [ CompEng0001 ];
+ };
+ };
+
_4ops.terraform = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "4ops";
@@ -311,6 +328,26 @@ let
};
};
+ azdavis.millet = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "Millet";
+ publisher = "azdavis";
+ version = "0.3.5";
+ sha256 = "sha256-lQ7EMs6nsTEgP9BESMpyoZG7QVOe7DXzfg/iZr1+DCQ=";
+ };
+ nativeBuildInputs = [ jq moreutils ];
+ postInstall = ''
+ cd "$out/$installPrefix"
+ jq '.contributes.configuration.properties."millet.server.path".default = "${millet}/bin/lang-srv"' package.json | sponge package.json
+ '';
+ meta = with lib; {
+ description = "Standard ML support for VS Code";
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=azdavis.millet";
+ license = licenses.mit;
+ maintainers = with maintainers; [ smasher164 ];
+ };
+ };
+
ms-python.vscode-pylance = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-pylance";
@@ -363,8 +400,8 @@ let
mktplcRef = {
name = "ocaml-formatter";
publisher = "badochov";
- version = "1.14.0";
- sha256 = "sha256-Iekh3vwu8iz53rPRsuu1Fx9iA/A97iMd8cPETWavnyA=";
+ version = "2.0.5";
+ sha256 = "sha256-D04EJButnam/l4aAv1yNbHlTKMb3x1yrS47+9XjpCLI=";
};
meta = with lib; {
description = "VSCode Extension Formatter for OCaml language";
@@ -517,21 +554,36 @@ let
};
};
+ catppuccin.catppuccin-vsc = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "catppuccin-vsc";
+ publisher = "catppuccin";
+ version = "2.1.0";
+ sha256 = "sha256-1pX9NQxW2Rm9p912Pn7QmLmXPI7EmiXTnCLWsIQNFhY=";
+ };
+ meta = with lib; {
+ description = "Soothing pastel theme for VSCode";
+ license = licenses.mit;
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc";
+ maintainers = with maintainers; [ nullx76 ];
+ };
+ };
+
chenglou92.rescript-vscode = callPackage ./rescript { };
christian-kohler.path-intellisense = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "path-intellisense";
publisher = "christian-kohler";
- version = "2.8.0";
- sha256 = "sha256-VPzy9o0DeYRkNwTGphC51vzBTNgQwqKg+t7MpGPLahM=";
+ version = "2.8.1";
+ sha256 = "sha256-lTKzMphkGgOG2XWqz3TW2G9sISBc/kG7oXqcIH8l+Mg=";
};
meta = with lib; {
description = "Visual Studio Code plugin that autocompletes filenames";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense";
homepage = "https://github.com/ChristianKohler/PathIntellisense";
license = licenses.mit;
- maintainers = with maintainers; [ imgabe ];
+ maintainers = with maintainers; [ imgabe superherointj ];
};
};
@@ -880,8 +932,8 @@ let
mktplcRef = {
name = "prettier-vscode";
publisher = "esbenp";
- version = "9.5.0";
- sha256 = "sha256-L/jW6xAnJ8v9Qq+iyQI8usGr8BoICR+2ENAMGQ05r0A=";
+ version = "9.8.0";
+ sha256 = "sha256-+8lEuQD73w+urAv2Tw0b+q6oQ66+gLgMPe3Luln9cuY=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
@@ -889,7 +941,7 @@ let
downloadPage = "https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode";
homepage = "https://github.com/prettier/prettier-vscode";
license = licenses.mit;
- maintainers = with maintainers; [ datafoo ];
+ maintainers = with maintainers; [ datafoo superherointj ];
};
};
@@ -958,6 +1010,23 @@ let
};
};
+ firefox-devtools.vscode-firefox-debug = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "vscode-firefox-debug";
+ publisher = "firefox-devtools";
+ version = "2.9.8";
+ sha256 = "sha256-MCL562FPgEfhUM1KH5LMl7BblbjIkQ4UEwB67RlO5Mk=";
+ };
+ meta = with lib; {
+ changelog = "https://marketplace.visualstudio.com/items/firefox-devtools.vscode-firefox-debug/changelog";
+ description = "A Visual Studio Code extension for debugging web applications and browser extensions in Firefox";
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=firefox-devtools.vscode-firefox-debug";
+ homepage = "https://github.com/firefox-devtools/vscode-firefox-debug";
+ license = licenses.mit;
+ maintainers = with maintainers; [ felschr ];
+ };
+ };
+
foam.foam-vscode = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "foam-vscode";
@@ -1319,8 +1388,8 @@ let
mktplcRef = {
name = "elixir-ls";
publisher = "JakeBecker";
- version = "0.9.0";
- sha256 = "sha256-KNfZOrVxK3/rClHPcIyPgE9CRtjkI7NLY0xZ9W+X6OM=";
+ version = "0.11.0";
+ sha256 = "sha256-okvwyD0m2r8ar85VtuBUNMUZGGrCfJ4DB9v7aSX5PjM=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
@@ -1368,8 +1437,8 @@ let
mktplcRef = {
name = "nix-ide";
publisher = "jnoortheen";
- version = "0.1.20";
- sha256 = "16mmivdssjky11gmih7zp99d41m09r0ii43n17d4i6xwivagi9a3";
+ version = "0.1.23";
+ sha256 = "sha256-64gwwajfgniVzJqgVLK9b8PfkNG5mk1W+qewKL7Dv0Q=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
@@ -1377,7 +1446,7 @@ let
downloadPage = "https://marketplace.visualstudio.com/items?itemName=jnoortheen.nix-ide";
homepage = "https://github.com/jnoortheen/vscode-nix-ide";
license = licenses.mit;
- maintainers = with maintainers; [ SuperSandro2000 ];
+ maintainers = with maintainers; [ superherointj SuperSandro2000 ];
};
};
@@ -1626,6 +1695,21 @@ let
};
};
+ mkhl.direnv = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "direnv";
+ publisher = "mkhl";
+ version = "0.6.1";
+ sha256 = "sha256-5/Tqpn/7byl+z2ATflgKV1+rhdqj+XMEZNbGwDmGwLQ=";
+ };
+ meta = with lib; {
+ description = "direnv support for Visual Studio Code";
+ license = licenses.bsd0;
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=mkhl.direnv";
+ maintainers = with maintainers; [ nullx76 ];
+ };
+ };
+
mskelton.one-dark-theme = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "one-dark-theme";
@@ -1921,13 +2005,13 @@ let
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform";
homepage = "https://github.com/ocamllabs/vscode-ocaml-platform";
license = licenses.isc;
- maintainers = with maintainers; [ ratsclub ];
+ maintainers = with maintainers; [ ratsclub superherointj ];
};
mktplcRef = {
name = "ocaml-platform";
publisher = "ocamllabs";
- version = "1.10.4";
- sha256 = "sha256-Qk4wD6gh/xvH6nFBonje4Stz6Y6yaIyxx1TdAXQEycM=";
+ version = "1.10.7";
+ sha256 = "sha256-BxVur+aSbFPyX+DW9tQcfJEyImkbTC6O0uOV2d76au0=";
};
};
@@ -1975,8 +2059,8 @@ let
mktplcRef = {
name = "prisma";
publisher = "Prisma";
- version = "4.1.0";
- sha256 = "sha256-YpdxRoeIesx4R2RIpJ8YmmHEmR3lezdN1efhhg14MzI=";
+ version = "4.2.0";
+ sha256 = "sha256-1U3JlWfIlTt0AMPsiP3vD2ZEzD2oUsYsqRRwBQeoLIA=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/Prisma.prisma/changelog";
@@ -2285,11 +2369,16 @@ let
mktplcRef = {
name = "svelte-vscode";
publisher = "svelte";
- version = "105.3.0";
- sha256 = "11plqsj3c4dv0xg2d76pxrcn382qr9wbh1lhln2x8mzv840icvwr";
+ version = "105.21.0";
+ sha256 = "12p6msv8wi773piqm1y5zik3ky652bdaw9s83ffwnlndsh87s9n5";
};
meta = {
+ changelog = "https://github.com/sveltejs/language-tools/releases";
+ description = "Svelte language support for VS Code";
+ downloadPage = "https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode";
+ homepage = "https://github.com/sveltejs/language-tools#readme";
license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ fabianhauser ];
};
};
@@ -2449,8 +2538,8 @@ let
mktplcRef = {
name = "errorlens";
publisher = "usernamehw";
- version = "3.5.1";
- sha256 = "17xbbr5hjrs67yazicb9qillbkp3wnaccjpnl1jlp07s0n7q4f8f";
+ version = "3.6.0";
+ sha256 = "sha256-oNzB81mPZjEwrqbeFMvTlXERXrYBpF03EH9ZXz/daOs=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index b4731b5701..92c2a5daff 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -11,7 +11,7 @@
, nodePackages, bash
# Attributes inherit from specific versions
-, version, src, meta, sourceRoot
+, version, src, meta, sourceRoot, commandLineArgs
, executableName, longName, shortName, pname, updateScript
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
@@ -110,6 +110,7 @@ let
# Add gio to PATH so that moving files to the trash works when not using a desktop environment
--prefix PATH : ${glib.bin}/bin
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
+ --add-flags ${lib.escapeShellArg commandLineArgs}
)
'';
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 1a09d64750..a0ffaf348d 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -1,4 +1,7 @@
-{ stdenv, lib, callPackage, fetchurl, isInsiders ? false }:
+{ stdenv, lib, callPackage, fetchurl
+, isInsiders ? false
+, commandLineArgs ? ""
+}:
let
inherit (stdenv.hostPlatform) system;
@@ -15,22 +18,23 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
- x86_64-linux = "08p4l47zr4dm7mw65wwdsf6q1wkzkzg3l2y5zrs3ng3nafql96zs";
- x86_64-darwin = "1pf8xpg2sb0iwfaixvzhmglqrrky2625b66fjwlc5zkj0dlff106";
- aarch64-linux = "1c35s7zykcrqf3va1cv7hqf1dp3cl70kdvqv3vgflqldc1wcza9h";
- aarch64-darwin = "1jpsf54x7yy53d6766gpw90ngdi6kicpqm1qbzbmmsasndl7rklp";
- armv7l-linux = "10vj751bjdkzsdcrdpq6xb430pdhdbz8ysk835ir64i3mv6ygi7k";
+ x86_64-linux = "0cnrbjqcnkv7ybj9j7l0lcnfnxq18mddhdkj9797928q643bmj6z";
+ x86_64-darwin = "1d9gb3i2k0c9cn38igg1nm91bfqdi4xg29zlprqsqh98ijwqy25y";
+ aarch64-linux = "1jm8ll8f4m99ly53rv7000ng9a0l8jn4xpc6kfhmqdnf0jqfncsh";
+ aarch64-darwin = "1awmaxkr5nl513c50g6k4r2j3w8p2by1j9i3kw7vkmwn91bk24i4";
+ armv7l-linux = "1d2hl9jy1kfkzn4j7qkp3k8j1qc3r9rpqhvkfrr2axcqrahcrfsd";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
- version = "1.70.2";
+ version = "1.71.0";
pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
shortName = "Code" + lib.optionalString isInsiders " - Insiders";
+ inherit commandLineArgs;
src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
index e8043eef9f..a739fc5c4a 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, fetchurl, nixosTests }:
+{ lib, stdenv, callPackage, fetchurl, nixosTests, commandLineArgs ? "" }:
let
inherit (stdenv.hostPlatform) system;
@@ -15,21 +15,21 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
- x86_64-linux = "1b2603fcb28479dajwg9q2ck083fym6khjv02ax3l0p6jazjyc70";
- x86_64-darwin = "0xggqfmsm7zzbn43mjmmk8wg75nr2nvkiaddcgwq3a2xn1x90jb5";
- aarch64-linux = "1wfrfap840a9azik1dbzp7kib04amc3y2m6s45v3qa3c0kw1162a";
- aarch64-darwin = "1nfv5ysri6p2sfp47786alv7b8rrn7mxsaisdlz970r8d79mrp5n";
- armv7l-linux = "185ayjvahyqxqab7dkpygxd68adxai25sw4fcw00x5c4l5lgmvhl";
+ x86_64-linux = "03lbfl3azrjhxzkadrz632dpwnv6hyyls10mc8wzspwraz77v1m5";
+ x86_64-darwin = "1fd66fbs414lja7ca38sdgx02nw9w1qfrlxhcb52ijls5xbmbgm4";
+ aarch64-linux = "0hwzx0lvrxrzrpggpsymjzy53dq4msg0j3vrxq82308ydc5ssnzd";
+ aarch64-darwin = "0dqhi6br29bq8a97wgfxgz4d236cg0ydgaqv8j5nqjgvjwp13p9l";
+ armv7l-linux = "07qq0ic9nckl9fkk5rl9dy4gksw3l248jsy7v8ws8f3mq4l8gi49";
}.${system} or throwSystem;
sourceRoot = if stdenv.isDarwin then "" else ".";
in
callPackage ./generic.nix rec {
- inherit sourceRoot;
+ inherit sourceRoot commandLineArgs;
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
- version = "1.70.2.22230";
+ version = "1.71.0.22245";
pname = "vscodium";
executableName = "codium";
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix
index 338c64a24b..5b111b8028 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix
@@ -6,11 +6,10 @@ let pkg = import ./base.nix {
pkgSha256 = "00906lky0z1m0bdqnjmzxgcb19dzvljhddhh42lixyr53sjp94cc";
};
in callPackage pkg {
- buildInputs = [ glib gtk3 libxml2 gnuplot libmirage makeWrapper
- gnome.adwaita-icon-theme gdk-pixbuf librsvg intltool
+ buildInputs = [ glib gtk3 libxml2 gnuplot libmirage gnome.adwaita-icon-theme gdk-pixbuf librsvg
python3Packages.python python3Packages.pygobject3 python3Packages.matplotlib ];
drvParams = {
- nativeBuildInputs = [ gobject-introspection cmake ];
+ nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ];
postFixup = ''
wrapProgram $out/bin/image-analyzer \
--set PYTHONPATH "$PYTHONPATH" \
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/base.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/base.nix
index 9464bde70b..994a0f0e03 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/base.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/base.nix
@@ -1,12 +1,12 @@
{ pname, version, pkgSha256 }:
-{ lib, stdenv, fetchurl, cmake, pkg-config, buildInputs, drvParams ? {} }:
+attrs@{ lib, stdenv, fetchurl, cmake, pkg-config, buildInputs, drvParams ? {}, ... }:
stdenv.mkDerivation ( rec {
inherit pname version buildInputs;
src = fetchurl {
url = "mirror://sourceforge/cdemu/${pname}-${version}.tar.xz";
sha256 = pkgSha256;
};
- nativeBuildInputs = [ pkg-config cmake ];
+ nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ pkg-config cmake ];
setSourceRoot = ''
mkdir build
cd build
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/client.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/client.nix
index 06604e3eae..2e301a115c 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/client.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/client.nix
@@ -5,8 +5,8 @@ let pkg = import ./base.nix {
pkgSha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7";
};
in callPackage pkg {
- buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3
- intltool makeWrapper ];
+ nativeBuildInputs = [ makeWrapper intltool ];
+ buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3 ];
drvParams = {
postFixup = ''
wrapProgram $out/bin/cdemu \
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix
index 3df9e4ad54..5d376955ea 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix
@@ -5,5 +5,6 @@ let pkg = import ./base.nix {
pkgSha256 = "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d";
};
in callPackage pkg {
- buildInputs = [ glib libao libmirage intltool ];
+ nativeBuildInputs = [ intltool ];
+ buildInputs = [ glib libao libmirage ];
}
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix
index 15e595a617..3083e1960b 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix
@@ -8,10 +8,9 @@ let
};
inherit (python3Packages) python pygobject3;
in callPackage pkg {
- buildInputs = [ python pygobject3 gtk3 glib libnotify intltool makeWrapper
- gnome.adwaita-icon-theme gdk-pixbuf librsvg ];
+ buildInputs = [ python pygobject3 gtk3 glib libnotify gnome.adwaita-icon-theme gdk-pixbuf librsvg ];
drvParams = {
- nativeBuildInputs = [ gobject-introspection cmake ];
+ nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ];
postFixup = ''
wrapProgram $out/bin/gcdemu \
--set PYTHONPATH "$PYTHONPATH" \
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix
index 7016a42d24..b631d3669d 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix
@@ -8,11 +8,11 @@ let pkg = import ./base.nix {
pkgSha256 = "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm";
};
in callPackage pkg {
- buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate intltool ];
+ buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate ];
drvParams = {
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
- nativeBuildInputs = [ cmake gobject-introspection pkg-config ];
+ nativeBuildInputs = [ cmake gobject-introspection pkg-config intltool ];
propagatedBuildInputs = [ pcre util-linux libselinux libsepol ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/flycast/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/flycast/default.nix
index fd5123d05f..3243c333a3 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/flycast/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/flycast/default.nix
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "flycast";
- version = "1.3";
+ version = "2.0";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "v${version}";
- sha256 = "sha256-FAHm8Fu/yv2rJvWCY+g50TYH4zOT6rO7F+jTL2T6EOU=";
+ sha256 = "sha256-vSyLg2lAJBV7crKVbGRbi1PUuCwHF9GB/8pjMTlaigA=";
fetchSubmodules = true;
};
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/libdsk/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/libdsk/default.nix
index 247aef118e..356e063165 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/libdsk/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/libdsk/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "libdsk";
- version = "1.5.18";
+ version = "1.5.19";
src = fetchurl {
url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
- sha256 = "sha256-43HUMQ35nwOwaQP8F1vO7zFccxHrQqJhZ6D5zzYhB5A=";
+ sha256 = "sha256-W8w5o9rK/yCipQnfn4gMOwDZ+9WeV3G53q5h2XlevkE=";
};
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/ripes/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/ripes/default.nix
index 8167c78501..e95b22d07f 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/ripes/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/ripes/default.nix
@@ -12,14 +12,14 @@
mkDerivation rec {
pname = "ripes";
- version = "2.2.4";
+ version = "2.2.5";
src = fetchFromGitHub {
owner = "mortbopet";
repo = "Ripes";
rev = "v${version}";
fetchSubmodules = true;
- sha256 = "sha256-Aal2A4xypzaY7Oa+boIrXk7ITNKnh5OZIP7DkJjcGu4=";
+ sha256 = "sha256-HdvLi3OKJmr+U/dxCGmq6JR91dWpUL3uoPumH2/B46k=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules
new file mode 100644
index 0000000000..a4f32124d9
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules
@@ -0,0 +1,5 @@
+# DualShock 3 over USB
+KERNEL=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE="0666"
+
+# DualShock 3 over Bluetooth
+KERNEL=="hidraw*", KERNELS=="*054C:0268*", MODE="0666"
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules
new file mode 100644
index 0000000000..6061debfbf
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules
@@ -0,0 +1,14 @@
+# DualShock 4 over USB
+KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
+
+# DualShock 4 Wireless Adapter over USB
+KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
+
+# DualShock 4 Slim over USB
+KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"
+
+# DualShock 4 over Bluetooth
+KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"
+
+# DualShock 4 Slim over Bluetooth
+KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules
new file mode 100644
index 0000000000..fb3ed3eec3
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules
@@ -0,0 +1,5 @@
+# PS5 DualSense controller over USB hidraw
+KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0660", TAG+="uaccess"
+
+# PS5 DualSense controller over bluetooth hidraw
+KERNEL=="hidraw*", KERNELS=="*054C:0CE6*", MODE="0660", TAG+="uaccess"
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
index 46311c3ed4..3609b9492d 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
@@ -70,6 +70,13 @@ gcc11Stdenv.mkDerivation {
++ lib.optional alsaSupport alsa-lib
++ lib.optional waylandSupport wayland;
+ postInstall = ''
+ # Taken from https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration
+ install -D ${./99-ds3-controllers.rules} $out/etc/udev/rules.d/99-ds3-controllers.rules
+ install -D ${./99-ds4-controllers.rules} $out/etc/udev/rules.d/99-ds4-controllers.rules
+ install -D ${./99-dualsense-controllers.rules} $out/etc/udev/rules.d/99-dualsense-controllers.rules
+ '';
+
meta = with lib; {
description = "PS3 emulator/debugger";
homepage = "https://rpcs3.net/";
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
index b21bc5e5fa..12d6d0a405 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
@@ -1,18 +1,16 @@
{ lib
, buildDotnetModule
, fetchFromGitHub
-, dotnetCorePackages
+, wrapGAppsHook
, libX11
, libgdiplus
, ffmpeg
-, SDL2_mixer
, openal
, libsoundio
, sndio
, pulseaudio
, gtk3
, gdk-pixbuf
-, wrapGAppsHook
, vulkan-loader
, libICE
, libSM
@@ -22,28 +20,24 @@
, libXrandr
, fontconfig
, glew
+, libGL
+, SDL2
+, SDL2_mixer
}:
buildDotnetModule rec {
pname = "ryujinx";
- version = "1.1.223"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+ version = "1.1.248"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub {
owner = "Ryujinx";
repo = "Ryujinx";
- rev = "951700fdd8f54fb34ffe8a3fb328a68b5bf37abe";
- sha256 = "0kzchsxir8wh74rxvp582mci855hbd0vma6yhcc9vpz0zmhi2cpf";
+ rev = "5ff5fe47bad947a95545390865c597bec6c62070";
+ sha256 = "0nfzf7q58mhdyszwv3mbz3wqf4w0m1p3fmf3cpga1pf9mfq65nqz";
};
- projectFile = "Ryujinx.sln";
nugetDeps = ./deps.nix;
- dotnetFlags = [ "/p:ExtraDefineConstants=DISABLE_UPDATER" ];
-
- # TODO: Add the headless frontend. Currently errors on the following:
- # System.Exception: SDL2 initlaization failed with error "No available video device"
- executables = [ "Ryujinx" "Ryujinx.Ava" ];
-
nativeBuildInputs = [
wrapGAppsHook
];
@@ -74,12 +68,30 @@ buildDotnetModule rec {
libXrandr
fontconfig
glew
+
+ # Headless executable
+ libGL
+ SDL2
];
patches = [
./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
];
+ projectFile = "Ryujinx.sln";
+ testProjectFile = "Ryujinx.Tests/Ryujinx.Tests.csproj";
+ doCheck = true;
+
+ dotnetFlags = [
+ "/p:ExtraDefineConstants=DISABLE_UPDATER"
+ ];
+
+ executables = [
+ "Ryujinx.Headless.SDL2"
+ "Ryujinx.Ava"
+ "Ryujinx"
+ ];
+
makeWrapperArgs = [
# Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714
"--set GDK_BACKEND x11"
@@ -100,8 +112,10 @@ buildDotnetModule rec {
install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml
install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg
- substituteInPlace $out/share/applications/ryujinx.desktop --replace \
- "Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
+ substituteInPlace $out/share/applications/ryujinx.desktop \
+ --replace "Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
+
+ ln -s $out/bin/Ryujinx $out/bin/ryujinx
popd
'';
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/sameboy/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/sameboy/default.nix
index 6838a7baaf..c509582f8c 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/sameboy/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/sameboy/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "sameboy";
- version = "0.14.7";
+ version = "0.15.5";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
- sha256 = "sha256-rvcR1mp+lJ6ZFc9WYUK9FBVcG2vD5MoX6lY+AJsMaeQ=";
+ sha256 = "sha256-R93ZIc1Ics3diJJDdGUBCEGRDW25YnC1ZY0DyJjpyVM=";
};
enableParallelBuilding = true;
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix
index 7a0d4e5f09..69137cb8f0 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix
@@ -1,24 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
+, fetchzip
+, srcOnly
, cmake
+, unzip
}:
stdenv.mkDerivation rec {
pname = "wibo";
- version = "0.2.0";
+ version = "0.2.4";
src = fetchFromGitHub {
owner = "decompals";
- repo = "WiBo";
+ repo = "wibo";
rev = version;
- sha256 = "sha256-zv+FiordPo7aho3RJqDEe/1sJtjVt6Vy665VeNul/Kw=";
+ hash = "sha256-dpfKSiIWE9L5BLPH2t8RsUz7Ufkdo/5zn1dewaEgJl0=";
};
nativeBuildInputs = [
cmake
+ unzip
];
+ doCheck = false;
+ # Test step from https://github.com/decompals/wibo/blob/main/.github/workflows/ci.yml
+ checkPhase = let
+ gc = srcOnly {
+ name = "GC_WII_COMPILERS";
+ src = fetchzip {
+ url = "https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip";
+ hash = "sha256-o+UrmIbCsa74LxtLofT0DKrTRgT0qDK5/V7GsG2Zprc=";
+ stripRoot = false;
+ };
+ meta.license = lib.licenses.unfree;
+ };
+ in lib.optionalString doCheck ''
+ MWCIncludes=. ./wibo ${gc}/GC/2.7/mwcceppc.exe -c ../test/test.c
+ file test.o | grep "ELF 32-bit"
+ '';
+
meta = with lib; {
description = "Quick-and-dirty wrapper to run 32-bit windows EXEs on linux";
longDescription = ''
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/wine/sources.nix b/third_party/nixpkgs/pkgs/applications/emulators/wine/sources.nix
index fbd318cb4a..3d34cd8a06 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/wine/sources.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/wine/sources.nix
@@ -46,9 +46,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
- version = "7.13";
+ version = "7.15";
url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
- sha256 = "sha256-a/6+kz2qUJVprnmwv2ofG08H4b+K/Balm+4TdIuSymQ=";
+ sha256 = "sha256-0auKGarm/mwIM8PYgqMkSKv6SihZDxRulUUOufWPuRw=";
inherit (stable) gecko32 gecko64 patches;
mono = fetchurl rec {
@@ -61,7 +61,7 @@ in rec {
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
- sha256 = "sha256-U1awbhJRT3aAJstyEjv2Dp20FqyQ4ntnFFRYJb12C/U=";
+ sha256 = "sha256-JMig0EUgxdRwpeaxZcNQi+6xWHUg43bXB7jkm5skKC8=";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/default.nix b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/default.nix
index 923dc54279..b4441cddfd 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/default.nix
@@ -5,23 +5,23 @@
}:
let
- # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-07-14
+ # Mirror of https://api.yuzu-emu.org/gamedb, last updated 2022-08-13
# Please make sure to update this when updating yuzu!
compat-list = fetchurl {
name = "yuzu-compat-list";
- url = "https://web.archive.org/web/20220714160745/https://api.yuzu-emu.org/gamedb";
+ url = "https://raw.githubusercontent.com/flathub/org.yuzu_emu.yuzu/d83401d2ee3fd5e1922e31baed1f3bdb1c0f036c/compatibility_list.json";
sha256 = "sha256-anOmO7NscHDsQxT03+YbJEyBkXjhcSVGgKpDwt//GHw=";
};
in {
mainline = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-mainline";
- version = "1131";
+ version = "1137";
src = fetchFromGitHub {
owner = "yuzu-emu";
repo = "yuzu-mainline";
rev = "mainline-0-${version}";
- sha256 = "0lh8s59hrysfjz69yr0f44s3l4aaznmclq0xfnyblsk0cw9ripf6";
+ sha256 = "sha256-DLU5hmjTnlpRQ6sbcU7as/KeI9dDJAFUzVLciql5niE=";
fetchSubmodules = true;
};
@@ -30,13 +30,13 @@ in {
early-access = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-ea";
- version = "2901";
+ version = "2907";
src = fetchFromGitHub {
owner = "pineappleEA";
repo = "pineapple-src";
rev = "EA-${version}";
- sha256 = "0jymm9sdsnayjaffmcbpjck4k2yslx8zid2vsm4jfdaajr244q2z";
+ sha256 = "sha256-spPW2/qeVyd1P1/Z2lcuA69igS3xV4KtcJ59yf9X4JI=";
fetchSubmodules = true;
};
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
index 9dac4409ce..3b6b73f6f8 100644
--- a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
+++ b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
@@ -45,15 +45,6 @@
stdenv.mkDerivation rec {
inherit pname version src;
- # Replace icons licensed under CC BY-ND 3.0 with free ones to allow
- # for binary redistribution: https://github.com/yuzu-emu/yuzu/pull/8104
- # The patch hosted on GitHub has the binary information in git format, which
- # can’t be applied with patch(1), so it has been regenerated with
- # "git format-patch --text --full-index --binary".
- # Because pineapple strips all files beginning with a dot, the patch needs to
- # be edited manually afterwards to remove all changes to those.
- patches = [ ./yuzu-free-icons.patch ];
-
nativeBuildInputs = [
cmake
doxygen
@@ -111,6 +102,13 @@ stdenv.mkDerivation rec {
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
];
+ qtWrapperArgs = [
+ # Fixes vulkan detection
+ "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
+ # Without yuzu doesnt start on wayland. See https://github.com/yuzu-emu/yuzu/issues/6088
+ "--set QT_QPA_PLATFORM xcb"
+ ];
+
preConfigure = ''
# This prevents a check for submodule directories.
rm -f .gitmodules
@@ -127,13 +125,6 @@ stdenv.mkDerivation rec {
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
'';
- # Fix vulkan detection
- postFixup = ''
- for bin in $out/bin/yuzu $out/bin/yuzu-cmd; do
- wrapProgram $bin --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
- done
- '';
-
passthru.updateScript = runCommandLocal "yuzu-${branch}-updateScript" {
script = substituteAll {
src = ./update.sh;
@@ -154,7 +145,7 @@ stdenv.mkDerivation rec {
platforms = [ "x86_64-linux" ];
license = with licenses; [
gpl3Plus
- # Icons. Note that this would be cc0 and cc-by-nd-30 without the "yuzu-free-icons" patch
+ # Icons
asl20 mit cc0
];
maintainers = with maintainers; [
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/update.sh b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/update.sh
index 4972427627..074d5b155f 100755
--- a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/update.sh
+++ b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/update.sh
@@ -1,84 +1,105 @@
#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p nix nix-prefetch-git coreutils curl jq gnused
+#! nix-shell -I nixpkgs=./. -i bash -p nix nix-prefetch-git coreutils curl jq gnused
-set -e
+set -euo pipefail
# Will be replaced with the actual branch when running this from passthru.updateScript
BRANCH="@branch@"
+DEFAULT_NIX="$(dirname "${BASH_SOURCE[@]}")/default.nix"
-if [[ ! "$(basename $PWD)" = "yuzu" ]]; then
- echo "error: Script must be ran from yuzu's directory!"
+if [[ "$(basename "$PWD")" = "yuzu" ]]; then
+ echo "error: Script must be ran from nixpkgs's root directory for compatibility with the maintainer script"
exit 1
fi
-getLocalVersion() {
- pushd ../../../.. >/dev/null
- nix eval --raw -f default.nix "$1".version
- popd >/dev/null
-}
+updateBranch() {
+ local branch attribute oldVersion oldHash newVersion newHash
+ branch="$1"
+ attribute="yuzu-$branch"
+ [[ "$branch" = "early-access" ]] && attribute="yuzu-ea" # Attribute path doesnt match the branch name
+ oldVersion="$(nix eval --raw -f "./default.nix" "$attribute".version)"
+ oldHash="$(nix eval --raw -f "./default.nix" "$attribute".src.drvAttrs.outputHash)"
-getLocalHash() {
- pushd ../../../.. >/dev/null
- nix eval --raw -f default.nix "$1".src.drvAttrs.outputHash
- popd >/dev/null
-}
-
-updateMainline() {
- OLD_MAINLINE_VERSION="$(getLocalVersion "yuzu-mainline")"
- OLD_MAINLINE_HASH="$(getLocalHash "yuzu-mainline")"
-
- NEW_MAINLINE_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
- "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" | jq -r '.[0].name' | cut -d" " -f2)"
-
- if [[ "${OLD_MAINLINE_VERSION}" = "${NEW_MAINLINE_VERSION}" ]]; then
- echo "yuzu-mainline is already up to date!"
-
- [ "$KEEP_GOING" ] && return || exit
- else
- echo "yuzu-mainline: ${OLD_MAINLINE_VERSION} -> ${NEW_MAINLINE_VERSION}"
+ if [[ "$branch" = "mainline" ]]; then
+ newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" \
+ | jq -r '.[0].name' | cut -d" " -f2)"
+ elif [[ "$branch" = "early-access" ]]; then
+ newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" \
+ | jq -r '.[].tag_name' | grep '^EA-[0-9]*' | head -n1 | cut -d"-" -f2 | cut -d" " -f1)"
fi
- echo " Fetching source code..."
-
- NEW_MAINLINE_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "mainline-0-${NEW_MAINLINE_VERSION}" "https://github.com/yuzu-emu/yuzu-mainline" | jq -r '.sha256')"
-
- echo " Succesfully fetched. hash: ${NEW_MAINLINE_HASH}"
-
- sed -i "s/${OLD_MAINLINE_VERSION}/${NEW_MAINLINE_VERSION}/" ./default.nix
- sed -i "s/${OLD_MAINLINE_HASH}/${NEW_MAINLINE_HASH}/" ./default.nix
-}
-
-updateEarlyAccess() {
- OLD_EA_VERSION="$(getLocalVersion "yuzu-ea")"
- OLD_EA_HASH="$(getLocalHash "yuzu-ea")"
-
- NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
- "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" | jq -r '.[].tag_name' | grep '^EA-[0-9]*' | head -n1 | cut -d"-" -f2 | cut -d" " -f1)"
-
- if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then
- echo "yuzu-ea is already up to date!"
-
- [ "$KEEP_GOING" ] && return || exit
+ if [[ "${oldVersion}" = "${newVersion}" ]]; then
+ echo "$attribute is already up to date."
+ return
else
- echo "yuzu-ea: ${OLD_EA_VERSION} -> ${NEW_EA_VERSION}"
+ echo "$attribute: ${oldVersion} -> ${newVersion}"
fi
- echo " Fetching source code..."
+ echo " fetching source code to generate hash..."
+ if [[ "$branch" = "mainline" ]]; then
+ newHash="$(nix-prefetch-git --quiet --fetch-submodules --rev "mainline-0-${newVersion}" "https://github.com/yuzu-emu/yuzu-mainline" | jq -r '.sha256')"
+ elif [[ "$branch" = "early-access" ]]; then
+ newHash="$(nix-prefetch-git --quiet --fetch-submodules --rev "EA-${newVersion}" "https://github.com/pineappleEA/pineapple-src" | jq -r '.sha256')"
+ fi
+ newHash="$(nix hash to-sri --type sha256 "${newHash}")"
- NEW_EA_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "EA-${NEW_EA_VERSION}" "https://github.com/pineappleEA/pineapple-src" | jq -r '.sha256')"
-
- echo " Succesfully fetched. hash: ${NEW_EA_HASH}"
-
- sed -i "s/${OLD_EA_VERSION}/${NEW_EA_VERSION}/" ./default.nix
- sed -i "s/${OLD_EA_HASH}/${NEW_EA_HASH}/" ./default.nix
+ sed -i "s,${oldVersion},${newVersion}," "$DEFAULT_NIX"
+ sed -i "s,${oldHash},${newHash},g" "$DEFAULT_NIX"
+ echo " succesfully updated $attribute. new hash: $newHash"
}
-if [[ "$BRANCH" = "mainline" ]]; then
- updateMainline
-elif [[ "$BRANCH" = "early-access" ]]; then
- updateEarlyAccess
-else
- KEEP_GOING=1
- updateMainline
- updateEarlyAccess
+updateCompatibilityList() {
+ local latestRevision oldUrl newUrl oldHash newHash oldDate newDate
+ latestRevision="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/master" | jq -r '.sha')"
+
+ oldUrl="$(sed -n '/yuzu-compat-list/,/url/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)"
+ newUrl="https://raw.githubusercontent.com/flathub/org.yuzu_emu.yuzu/${latestRevision}/compatibility_list.json"
+
+ oldDate="$(sed -n '/last updated.*/p' "$DEFAULT_NIX" | rev | cut -d' ' -f1 | rev)"
+ newDate="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/${latestRevision}" \
+ | jq -r '.commit.committer.date' | cut -d'T' -f1)"
+
+ oldHash="$(sed -n '/yuzu-compat-list/,/sha256/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)"
+ newHash="$(nix hash to-sri --type sha256 "$(nix-prefetch-url --quiet "$newUrl")")"
+
+ if [[ "$oldHash" = "$newHash" ]]; then
+ echo "compatibility_list is already up to date."
+ return
+ else
+ echo "compatibility_list: $oldDate -> $newDate"
+ fi
+
+ sed -i "s,${oldUrl},${newUrl},g" "$DEFAULT_NIX"
+ sed -i "s,${oldHash},${newHash},g" "$DEFAULT_NIX"
+ sed -i "s,${oldDate},${newDate},g" "$DEFAULT_NIX"
+ echo " succesfully updated compatibility_list. new hash: $newHash"
+}
+
+if [[ "$BRANCH" = "mainline" ]] || [[ "$BRANCH" = "early-access" ]]; then
+ updateBranch "$BRANCH"
+ updateCompatibilityList
+else # Script is not ran from passthru.updateScript
+ if (( $# == 0 )); then
+ updateBranch "mainline"
+ updateBranch "early-access"
+ fi
+
+ while (( "$#" > 0 )); do
+ case "$1" in
+ mainline|yuzu-mainline)
+ updateBranch "mainline"
+ ;;
+ early-access|yuzu-early-access|ea|yuzu-ea)
+ updateBranch "early-access"
+ ;;
+ *)
+ echo "error: invalid branch: $1."
+ echo "usage: $(basename "$0") [mainline|early-access]"
+ exit 1
+ ;;
+ esac
+ shift
+ done
+
+ updateCompatibilityList
fi
diff --git a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch b/third_party/nixpkgs/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch
deleted file mode 100644
index 4332d29e31..0000000000
--- a/third_party/nixpkgs/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch
+++ /dev/null
@@ -1,1177 +0,0 @@
-From 44edc19f8f1ac0046770d6f3587a17bdd0f82d32 Mon Sep 17 00:00:00 2001
-From: Kyle Kienapfel
-Date: Tue, 19 Jul 2022 07:08:29 -0700
-Subject: [PATCH] Moving Icons away from CC BY-ND 3.0 for FOSS packaging
- purposes
-
-I've seen some comments stating that sharing pre-compiled packages
-of yuzu is problematic for linux distributions due to some contents
-having license of CC BY-ND 3.0
-
-Better licensed sources of icons have been found for most cases,
-see the changes to the .reuse/dep5 file for details.
-
-Placeholders for connected/disconnected icons
-
-At the time of writing I consider these icons to be placeholders,
-hence three copies. colorful is grey, default is black, qdarkstyle is white
-
-connected is gnome/16x16/network-idle.png with no changes
-connected_notification is gnome/16x16/network-error.png with changes
-disconnected is gnome/16x16/network-offline.png with changes
-
-Looking at licenses: GNOME icon theme is distributed under the terms of either
-GNU LGPL v.3 or Creative Commons BY-SA 3.0 license.
-
-Debian appears to explicitly state they're licensing under
-Creative Commons Attribution-Share Alike 3.0
-
-From a tarball at the following link suggests we can just attribute GNOME Project
-https://download.gnome.org/sources/gnome-icon-theme/
-
-When attributing the artwork, using "GNOME Project" is enough.
-Please link to http://www.gnome.org where available.
----
- LICENSES/CC-BY-ND-3.0.txt | 87 ------------------
- LICENSES/CC-BY-SA-3.0.txt | 60 ++++++++++++
- .../colorful/icons/16x16/connected.png | Bin 362 -> 575 bytes
- .../icons/16x16/connected_notification.png | Bin 607 -> 760 bytes
- .../colorful/icons/16x16/disconnected.png | Bin 784 -> 648 bytes
- .../colorful/icons/48x48/list-add.png | Bin 496 -> 204 bytes
- .../colorful/icons/48x48/sd_card.png | Bin 680 -> 981 bytes
- dist/qt_themes/colorful/icons/48x48/star.png | Bin 1248 -> 1108 bytes
- .../icons/16x16/lock.png | Bin 401 -> 0 bytes
- .../icons/16x16/view-refresh.png | Bin 362 -> 0 bytes
- .../colorful_midnight_blue/style.qrc | 4 +-
- .../qt_themes/default/icons/16x16/checked.png | Bin 657 -> 414 bytes
- .../default/icons/16x16/connected.png | Bin 269 -> 575 bytes
- .../icons/16x16/connected_notification.png | Bin 517 -> 760 bytes
- .../default/icons/16x16/disconnected.png | Bin 306 -> 648 bytes
- dist/qt_themes/default/icons/16x16/failed.png | Bin 524 -> 431 bytes
- dist/qt_themes/default/icons/16x16/lock.png | Bin 279 -> 318 bytes
- .../default/icons/256x256/plus_folder.png | Bin 3135 -> 3521 bytes
- .../default/icons/48x48/bad_folder.png | Bin 1088 -> 1007 bytes
- dist/qt_themes/default/icons/48x48/chip.png | Bin 15070 -> 511 bytes
- dist/qt_themes/default/icons/48x48/folder.png | Bin 410 -> 535 bytes
- .../default/icons/48x48/list-add.png | Bin 316 -> 204 bytes
- .../default/icons/48x48/no_avatar.png | Bin 588 -> 678 bytes
- .../qt_themes/default/icons/48x48/sd_card.png | Bin 614 -> 561 bytes
- dist/qt_themes/default/icons/48x48/star.png | Bin 686 -> 1029 bytes
- .../qdarkstyle/icons/16x16/connected.png | Bin 397 -> 575 bytes
- .../icons/16x16/connected_notification.png | Bin 526 -> 760 bytes
- .../qdarkstyle/icons/16x16/disconnected.png | Bin 444 -> 648 bytes
- .../qt_themes/qdarkstyle/icons/16x16/lock.png | Bin 304 -> 343 bytes
- .../qdarkstyle/icons/256x256/plus_folder.png | Bin 3438 -> 3931 bytes
- .../qdarkstyle/icons/48x48/bad_folder.png | Bin 1098 -> 1061 bytes
- .../qt_themes/qdarkstyle/icons/48x48/chip.png | Bin 15120 -> 551 bytes
- .../qdarkstyle/icons/48x48/folder.png | Bin 542 -> 594 bytes
- .../qdarkstyle/icons/48x48/list-add.png | Bin 339 -> 204 bytes
- .../qdarkstyle/icons/48x48/no_avatar.png | Bin 708 -> 763 bytes
- .../qdarkstyle/icons/48x48/sd_card.png | Bin 676 -> 587 bytes
- .../qt_themes/qdarkstyle/icons/48x48/star.png | Bin 725 -> 1055 bytes
- 38 files changed, 103 insertions(+), 103 deletions(-)
- delete mode 100644 LICENSES/CC-BY-ND-3.0.txt
- create mode 100644 LICENSES/CC-BY-SA-3.0.txt
- delete mode 100644 dist/qt_themes/colorful_midnight_blue/icons/16x16/lock.png
- delete mode 100644 dist/qt_themes/colorful_midnight_blue/icons/16x16/view-refresh.png
-
-diff --git a/LICENSES/CC-BY-ND-3.0.txt b/LICENSES/CC-BY-ND-3.0.txt
-deleted file mode 100644
-index d9265b9f19e250785f5fc953c73e5f8915fcdd21..0000000000000000000000000000000000000000
---- a/LICENSES/CC-BY-ND-3.0.txt
-+++ /dev/null
-@@ -1,87 +0,0 @@
--Creative Commons Attribution-NoDerivs 3.0 Unported
--
-- CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
--
--License
--
--THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
--
--BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
--
--1. Definitions
--
-- a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
--
-- b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
--
-- c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
--
-- d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
--
-- e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
--
-- f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
--
-- g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
--
-- h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
--
-- i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
--
--2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
--
--3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
--
-- a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
--
-- b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
--
-- c. For the avoidance of doubt:
--
-- i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
--
-- ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
--
-- iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
--
--The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
--
--4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
--
-- a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested.
--
-- b. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
--
-- c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
--
--5. Representations, Warranties and Disclaimer
--
--UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
--
--6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
--
--7. Termination
--
-- a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
--
-- b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
--
--8. Miscellaneous
--
-- a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
--
-- b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
--
-- c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
--
-- d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
--
-- e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
--
--Creative Commons Notice
--
--Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
--
--Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
--
--Creative Commons may be contacted at http://creativecommons.org/.
-diff --git a/LICENSES/CC-BY-SA-3.0.txt b/LICENSES/CC-BY-SA-3.0.txt
-new file mode 100644
-index 0000000000000000000000000000000000000000..a29ac86c302d49546b1f854ada7f0c1ca5d7f659
---- /dev/null
-+++ b/LICENSES/CC-BY-SA-3.0.txt
-@@ -0,0 +1,60 @@
-+Creative Commons Attribution-ShareAlike 3.0 Unported
-+
-+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
-+
-+License
-+
-+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-+
-+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-+
-+1. Definitions
-+a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
-+b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.
-+c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.
-+d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
-+e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
-+f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
-+g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
-+h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
-+i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
-+j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
-+k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
-+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
-+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-+a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
-+b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
-+c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
-+d. to Distribute and Publicly Perform Adaptations.
-+e. For the avoidance of doubt:
-+i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
-+ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
-+iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
-+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
-+
-+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-+a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
-+b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
-+c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
-+d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
-+5. Representations, Warranties and Disclaimer
-+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-+
-+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-+7. Termination
-+a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
-+b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-+8. Miscellaneous
-+a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
-+b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
-+c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-+d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
-+e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-+f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
-+Creative Commons Notice
-+
-+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
-+
-+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License.
-+
-+Creative Commons may be contacted at http://creativecommons.org/.
-\ No newline at end of file
-diff --git a/dist/qt_themes/colorful/icons/16x16/connected.png b/dist/qt_themes/colorful/icons/16x16/connected.png
-index d6052f1a09a9a828bf8d43ad1827d4d9d9cbae0f..0afc18cb7a19028fd567a7ca7ced62cd164657de 100644
---- a/dist/qt_themes/colorful/icons/16x16/connected.png
-+++ b/dist/qt_themes/colorful/icons/16x16/connected.png
-@@ -1,4 +1,5 @@
- PNG
-
--
IHDR a sRGB gAMA a pHYs od IDAT8Ocz`AA[5aɺ/A@qJNJޙY@?!%kʠJpRUaE5{dkgBaEղU_j
--*RR`uuS
ɫa; yRLзxuSG7&P oS
(`J Kר!$J7 /D#w@ P%IKhLX.s4a J P I\ IENDB`
-\ No newline at end of file
-+
IHDR a IDATxڝQiԶmۊ]YkCXvPڪm>OP%O/@iΜon:h&-F
t4Z
-+NIRE
&" r!83|?~|G<Ǘ/+<~N
^Be
PkGKZeS%h0 IUpz9`
PP_2ZOYn
܅FcDPܷ -#je.j渇T鿻J9@"r7!`P?]7n]O2Y9ݨWVwto@zTƐ藺˟KLzf
-+\;y@^);1T~ r`*ontoas#`EØTQh?PJJ&[UO2Xp1(0qʵy,;\^/ nwyw!&^
@_ȥчV0]czOYx돕B sb9NŒ reHGs IENDB`
-\ No newline at end of file
-diff --git a/dist/qt_themes/colorful/icons/16x16/connected_notification.png b/dist/qt_themes/colorful/icons/16x16/connected_notification.png
-index 0dfe032d58160f1a24f54040964b5b5f2e97a724..72466e098e471ae5a97c49a56536dd4bf62b3a08 100644
---- a/dist/qt_themes/colorful/icons/16x16/connected_notification.png
-+++ b/dist/qt_themes/colorful/icons/16x16/connected_notification.png
-@@ -1,6 +1,8 @@
- PNG
-
--
IHDR a sBIT|d pHYs p. tEXtSoftware www.inkscape.org< IDAT8ՒMHTasgb%,\DV$9臂
--"DJED AUS- 'm Hb)l
--AYiƲmg|;UOыY_g됢bdPsrbVXښEKA+0Yn+Gf
--uVrg\d ujbo `I%Ȁg;O
-tݡi+iEcC DgiW֪boTd:Y/ƴ}9Z8V! ;