Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-08-28 00:18:14 +00:00 committed by GitHub
commit dc29b17413
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
249 changed files with 1679 additions and 1182 deletions

View file

@ -6540,6 +6540,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";

View file

@ -183,6 +183,14 @@
<link xlink:href="options.html#opt-services.hadoop.hbase.enable">services.hadoop.hbase</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/messagebird/sachet/">Sachet</link>,
an SMS alerting tool for the Prometheus Alertmanager.
Available as
<link linkend="opt-services.prometheus.sachet.enable">services.prometheus.sachet</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/leetronics/infnoise">infnoise</link>,

View file

@ -68,6 +68,8 @@ 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).

View file

@ -151,7 +151,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',

View file

@ -35,7 +35,7 @@ in
networking.hostFiles = lib.mkOption {
type = types.listOf types.path;
defaultText = literalDocBook "Hosts from <option>networking.hosts</option> and <option>networking.extraHosts</option>";
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`.

View file

@ -78,10 +78,11 @@ in
defaultPackages = mkOption {
type = types.listOf types.package;
default = defaultPackages;
defaultText = literalDocBook ''
these packages, with their <literal>meta.priority</literal> numerically increased
defaultText = literalMD ''
these packages, with their `meta.priority` numerically increased
(thus lowering their installation priority):
<programlisting>${defaultPackagesText}</programlisting>
${defaultPackagesText}
'';
example = [];
description = lib.mdDoc ''

View file

@ -17,35 +17,35 @@ let
]);
passwordDescription = ''
The options <option>hashedPassword</option>,
<option>password</option> and <option>passwordFile</option>
The options {option}`hashedPassword`,
{option}`password` and {option}`passwordFile`
controls what password is set for the user.
<option>hashedPassword</option> overrides both
<option>password</option> and <option>passwordFile</option>.
<option>password</option> overrides <option>passwordFile</option>.
{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 <option>users.mutableUsers</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
<option>users.mutableUsers</option> 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 <literal>mkpasswd -m sha-512</literal>.
To generate a hashed password run `mkpasswd -m sha-512`.
If set to an empty string (<literal>""</literal>), 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 <command>su</command> or
<command>sudo</command>). 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 <option>users.users.&lt;name?&gt;.password</option>.
which can be achieved using {option}`users.users.<name?>.password`.
If set to <literal>null</literal> (default) this user will not
be able to log in using a password (i.e. via <command>login</command>
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 <literal>chpasswd -e</literal> 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 <option>users.mutableUsers</option> is true, the
exist. If {option}`users.mutableUsers` is true, the
password can be changed subsequently using the
<command>passwd</command> command. Otherwise, it's
equivalent to setting the <option>hashedPassword</option> 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 <literal>true</literal>, you are free to add new users and groups to the system
with the ordinary <literal>useradd</literal> and
<literal>groupadd</literal> commands. On system activation, the
existing contents of the <literal>/etc/passwd</literal> and
<literal>/etc/group</literal> files will be merged with the
contents generated from the <literal>users.users</literal> and
<literal>users.groups</literal> 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 <literal>users.users</literal>, but existing passwords
according to `users.users`, but existing passwords
will not be changed.
<warning><para>
If set to <literal>false</literal>, 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
<literal>users.users</literal> configuration on activation.
</para></warning>
`users.users` configuration on activation.
:::
'';
};

View file

@ -183,8 +183,8 @@ in
pruneNames = mkOption {
type = listOf str;
default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
defaultText = literalDocBook ''
<literal>[ ".bzr" ".cache" ".git" ".hg" ".svn" ]</literal>, if
defaultText = literalMD ''
`[ ".bzr" ".cache" ".git" ".hg" ".svn" ]`, if
supported by the locate implementation (i.e. mlocate or plocate).
'';
description = lib.mdDoc ''

View file

@ -692,6 +692,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

View file

@ -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

View file

@ -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 <literal>null</literal>.
otherwise `null`.
'';
type = types.nullOr types.str;
description = lib.mdDoc ''

View file

@ -23,9 +23,9 @@ in {
take 3 (splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange
))
) + ".254";
defaultText = literalDocBook ''
The <literal>x.y.z.254</literal> IP of
<literal>config.${options.services.kubernetes.apiserver.serviceClusterIpRange}</literal>.
defaultText = literalMD ''
The `x.y.z.254` IP of
`config.${options.services.kubernetes.apiserver.serviceClusterIpRange}`.
'';
type = types.str;
};

View file

@ -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 {

View file

@ -281,9 +281,9 @@ in
type = types.path;
internal = true;
default = etcSlurm;
defaultText = literalDocBook ''
defaultText = literalMD ''
Directory created from generated config files and
<literal>config.${opt.extraConfigPaths}</literal>.
`config.${opt.extraConfigPaths}`.
'';
description = ''
Path to directory with slurm config files. This option is set by default from the

View file

@ -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";
};

View file

@ -168,7 +168,7 @@ let
hooksPath = mkOption {
type = types.path;
default = hooksDir config;
defaultText = literalDocBook "generated from <option>services.buildkite-agents.&lt;name&gt;.hooks</option>";
defaultText = literalMD "generated from {option}`services.buildkite-agents.<name>.hooks`";
description = lib.mdDoc ''
Path to the directory storing the hooks.
Consider using {option}`services.buildkite-agents.<name>.hooks.<name>`

View file

@ -10,7 +10,7 @@
let
inherit (lib)
filterAttrs
literalDocBook
literalMD
literalExpression
mkIf
mkOption
@ -235,7 +235,7 @@ in
tomlFile = mkOption {
type = types.path;
internal = true;
defaultText = literalDocBook "generated <literal>hercules-ci-agent.toml</literal>";
defaultText = literalMD "generated `hercules-ci-agent.toml`";
description = ''
The fully assembled config file.
'';

View file

@ -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

View file

@ -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).
<note><para>
When multiple ${name}s match, the query can be restricted using the
<option>name</option> or <option>indices</option> options.
</para></note>
::: {.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.
<note><para>Indices start from 0.</para></note>
::: {.note}
Indices start from 0.
:::
'';
};
} // optionalAttrs (name == "sensor") {
@ -81,18 +83,18 @@ let
// { "${type}" = query; };
syntaxNote = name: ''
<note><para>
This section slightly departs from the thinkfan.conf syntax.
The type and path must be specified like this:
<literal>
type = "tpacpi";
query = "/proc/acpi/ibm/${name}";
</literal>
instead of a single declaration like:
<literal>
- tpacpi: /proc/acpi/ibm/${name}
</literal>
</para></note>
::: {.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.
<note><para>
This module targets IBM/Lenovo thinkpads by default, for
other hardware you will have configure it more carefully.
</para></note>
::: {.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 {

View file

@ -6,8 +6,6 @@ let
cfg = config.services.public-inbox;
stateDir = "/var/lib/public-inbox";
manref = name: vol: "<citerefentry><refentrytitle>${name}</refentrytitle><manvolnum>${toString vol}</manvolnum></citerefentry>";
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)`.";
};
};
@ -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:<test@example.com>";
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.
'';
};
@ -253,7 +251,7 @@ in
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";
@ -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.
'';
};

View file

@ -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;

View file

@ -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
));
};
}
));

View file

@ -134,6 +134,7 @@ in
ExecStart = "${cfg.package}/bin/plexmediaserver";
KillSignal = "SIGQUIT";
PIDFile = "${cfg.dataDir}/Plex Media Server/plexmediaserver.pid";
Restart = "on-failure";
};

View file

@ -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";
};
};
};

View file

@ -99,14 +99,14 @@ let
mkDefOpt = type: defaultStr: description: mkOpt type (description + ''
Defaults to <literal>${defaultStr}</literal> in prometheus
when set to <literal>null</literal>.
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_&lt;original-label&gt;" (for example
to "exported_\<original-label\>" (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 <literal>true</literal>, 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 <literal>false</literal>, 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</option>.
{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 <option>bearer_token</option>.
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 <link xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config">the relevant Prometheus configuration docs</link>
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 <link xlink:href="https://www.consul.io/api/index.html#consistency-modes"/>).
(see <https://www.consul.io/api/index.html#consistency-modes>).
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: <link xlink:href="https://docs.docker.com/engine/api/v1.40/#operation/ServiceList"/>
Tasks: <link xlink:href="https://docs.docker.com/engine/api/v1.40/#operation/TaskList"/>
Nodes: <link xlink:href="https://docs.docker.com/engine/api/v1.40/#operation/NodeList"/>
Services: <https://docs.docker.com/engine/api/v1.40/#operation/ServiceList>
Tasks: <https://docs.docker.com/engine/api/v1.40/#operation/TaskList>
Nodes: <https://docs.docker.com/engine/api/v1.40/#operation/NodeList>
'';
};
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
<literal>AWS_ACCESS_KEY_ID</literal> is used.
`AWS_ACCESS_KEY_ID` is used.
'';
secret_key = mkOpt types.str ''
The AWS API key secret. If blank, the environment variable
<literal>AWS_SECRET_ACCESS_KEY</literal> 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 <link xlink:href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">this list</link>
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: <link xlink:href="https://cloud.google.com/compute/docs/reference/latest/instances/list"/>.
query parameter section: <https://cloud.google.com/compute/docs/reference/latest/instances/list>.
'';
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:
<link xlink:href="https://cloud.google.com/vpc/docs/add-remove-network-tags"/>
<https://cloud.google.com/vpc/docs/add-remove-network-tags>
'';
};
};
@ -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 <literal>AWS_ACCESS_KEY_ID</literal> 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 <literal>AWS_SECRET_ACCESS_KEY</literal> 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:
<link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token"/>
It is mutually exclusive with <literal>auth_token_file</literal> and other authentication mechanisms.
<https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token>
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:
<link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token"/>
It is mutually exclusive with <literal>auth_token</literal> and other authentication mechanisms.
<https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token>
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 <literal>container</literal> 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.
'';

View file

@ -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 "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 = ''
Sachet's configuration as a nix attribute set.
'';
};
address = mkOption {
type = types.str;
default = "localhost";
description = ''
The address Sachet will listen to.
'';
};
port = mkOption {
type = types.port;
default = 9876;
description = ''
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/";
};
};
};
}

View file

@ -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 <literal>${toString default}</literal> in Thanos
when set to <literal>null</literal>.
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 <literal>config.services.thanos.${cmd}</literal>
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 <literal>null</literal> 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
<option>tracing.config-file</option> will default to its path.
{option}`tracing.config-file` will default to its path.
If <option>tracing.config-file</option> is set this option has no effect.
If {option}`tracing.config-file` is set this option has no effect.
See format details: <link xlink:href="https://thanos.io/tracing.md/#configuration"/>
See format details: <https://thanos.io/tracing.md/#configuration>
'';
};
};
@ -155,11 +155,11 @@ let
common = cfg: params.log // params.tracing cfg // {
http-address = mkParamDef types.str "0.0.0.0:10902" ''
Listen <literal>host:port</literal> for HTTP endpoints.
Listen `host:port` for HTTP endpoints.
'';
grpc-address = mkParamDef types.str "0.0.0.0:10901" ''
Listen <literal>ip:port</literal> 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 <literal>null</literal> 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
<option>objstore.config-file</option> will default to its path.
{option}`objstore.config-file` will default to its path.
If <option>objstore.config-file</option> is set this option has no effect.
If {option}`objstore.config-file` is set this option has no effect.
See format details: <link xlink:href="https://thanos.io/storage.md/#configuration"/>
See format details: <https://thanos.io/storage.md/#configuration>
'';
};
};
@ -254,7 +254,7 @@ let
store = params.common cfg.store // params.objstore cfg.store // {
stateDir = mkStateDirParam "data-dir" "thanos-store" ''
Data directory relative to <literal>/var/lib</literal>
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.
<literal>0</literal> 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 <link xlink:href="https://tools.ietf.org/html/rfc4366#section-3.1"/>
See <https://tools.ietf.org/html/rfc4366#section-3.1>
'';
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 <option>web.route-prefix</option> 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
<option>web.route-prefix</option>. 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
<literal>web.external-prefix</literal> 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 <literal>web.prefix-header="X-Forwarded-Prefix"</literal>
The setting `web.prefix-header="X-Forwarded-Prefix"`
can be useful, for example, if Thanos UI is served via Traefik reverse
proxy with <literal>PathPrefixStrip</literal> option enabled, which
sends the stripped prefix value in <literal>X-Forwarded-Prefix</literal>
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
<literal>dedup=false</literal> 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 <literal>dns+</literal> or
<literal>dnssrv+</literal> 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
<literal>max_source_resolution</literal> param is specified.
`max_source_resolution` param is specified.
'';
query.partial-response = mkFlagParam ''
Enable partial response for queries if no
<literal>partial_response</literal> 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. <literal>0</literal> disables timeout.
enabled. `0` disables timeout.
'';
};
@ -440,7 +440,7 @@ let
'';
stateDir = mkStateDirParam "data-dir" "thanos-rule" ''
Data directory relative to <literal>/var/lib</literal>.
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
<literal>dns+</literal> or <literal>dnssrv+</literal> to detect
`dns+` or `dnssrv+` to detect
Alertmanager IPs through respective DNS lookups. The port defaults to
<literal>9093</literal> 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 <literal>--web.route-prefix</literal> 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
<option>web.route-prefix</option>. 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
<option>web.external-prefix</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 <literal>X-Forwarded-Prefix</literal> can be useful, for
The header `X-Forwarded-Prefix` can be useful, for
example, if Thanos UI is served via Traefik reverse proxy with
<literal>PathPrefixStrip</literal> option enabled, which sends the
stripped prefix value in <literal>X-Forwarded-Prefix</literal>
`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 <literal>dns+</literal> or
<literal>dnssrv+</literal> 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 <literal>host:port</literal> for HTTP endpoints.
Listen `host:port` for HTTP endpoints.
'';
stateDir = mkStateDirParam "data-dir" "thanos-compact" ''
Data directory relative to <literal>/var/lib</literal>
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.
<literal>0d</literal> - 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.
<literal>0d</literal> - 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.
<literal>0d</literal> - 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 <literal>systemd.time</literal>
When this option is set to a `systemd.time`
specification the Thanos compactor will run at the specified period.
When this option is <literal>null</literal> 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 <literal>/var/lib</literal>
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 <literal>/var/lib</literal> 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.
<literal>0d</literal> - disables this retention
`0d` - disables this retention
'';
};

View file

@ -56,7 +56,7 @@ in
''}
${pkgs.remarshal}/bin/json2toml < config.json > $out
'';
defaultText = literalDocBook "TOML file generated from <option>services.dnscrypt-proxy2.settings</option>";
defaultText = literalMD "TOML file generated from {option}`services.dnscrypt-proxy2.settings`";
};
};

View file

@ -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 {

View file

@ -417,7 +417,7 @@ in
checkReversePath = mkOption {
type = types.either types.bool (types.enum ["strict" "loose"]);
default = kernelHasRPFilter;
defaultText = literalDocBook "<literal>true</literal> if supported by the chosen kernel";
defaultText = literalMD "`true` if supported by the chosen kernel";
example = "loose";
description =
lib.mdDoc ''

View file

@ -88,7 +88,7 @@ in
name = "nftables-rules";
text = cfg.ruleset;
};
defaultText = literalDocBook ''a file with the contents of <option>networking.nftables.ruleset</option>'';
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

View file

@ -57,12 +57,12 @@ rec {
documentDefault = description : strongswanDefault :
if strongswanDefault == null
then description
else description + ''
then mdDoc description
else mdDoc (description + ''
StrongSwan default: <literal><![CDATA[${builtins.toJSON strongswanDefault}]]></literal>
'';
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;

View file

@ -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 <option>userlistFile</option> is a list of user
Specifies whether {option}`userlistFile` is a list of user
names to allow or deny access.
The default <literal>false</literal> means whitelist/allow.
The default `false` means whitelist/allow.
'')
(yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" false ''
Only applies if <option>sslEnable</option> 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 <option>sslEnable</option> 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 <option>ssl_enable</option> 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 <option>ssl_enable</option> 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 <option>ssl_enable</option> 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.
'')
@ -184,9 +185,9 @@ in
type = types.nullOr types.str;
example = "/etc/vsftpd/userDb";
default = null;
description = ''
Only applies if <option>enableVirtualUsers</option> is true.
Path pointing to the <literal>pam_userdb</literal> 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:
<programlisting>
```
user1
password1
user2
password2
</programlisting>
```
You can then install <literal>pkgs.db</literal> to generate
You can then install `pkgs.db` to generate
the Berkeley DB using
<programlisting>
```
db_load -T -t hash -f logins.txt userDb.db
</programlisting>
```
Caution: <literal>pam_userdb</literal> will automatically
append a <literal>.db</literal> 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.
'';

View file

@ -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.";
};
};

View file

@ -9,7 +9,7 @@ let
stateDir = "/var/lib/tor";
runDir = "/run/tor";
descriptionGeneric = option: ''
See <link xlink:href="https://2019.www.torproject.org/docs/tor-manual.html.en#${option}">torrc manual</link>.
See [torrc manual](https://2019.www.torproject.org/docs/tor-manual.html.en#${option}).
'';
bindsPrivilegedPort =
any (p0:
@ -30,22 +30,22 @@ 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;
@ -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:
@ -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:
<screen>descriptor:x25519:&lt;base32-private-key&gt;</screen>
'' + descriptionGeneric "_client_authorization";
```
descriptor:x25519:<base32-private-key>
```
${descriptionGeneric "_client_authorization"}
'';
type = with types; listOf path;
default = [];
example = ["/run/keys/tor/alice.prv.x25519"];
@ -429,7 +432,7 @@ in
};
onionServices = mkOption {
description = descriptionGeneric "HiddenServiceDir";
description = lib.mdDoc (descriptionGeneric "HiddenServiceDir");
default = {};
example = {
"example.org/www" = {
@ -462,7 +465,7 @@ in
'';
};
options.authorizeClient = mkOption {
description = descriptionGeneric "HiddenServiceAuthorizeClient";
description = lib.mdDoc (descriptionGeneric "HiddenServiceAuthorizeClient");
default = null;
type = types.nullOr (types.submodule ({...}: {
options = {
@ -487,17 +490,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:
<screen>descriptor:x25519:&lt;base32-public-key&gt;</screen>
'' + descriptionGeneric "_client_authorization";
```
descriptor:x25519:<base32-public-key>
```
${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 +524,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 +542,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 +612,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 +625,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 +660,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 +687,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 +716,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 +767,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 +785,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 +804,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 +823,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;
};

View file

@ -100,9 +100,9 @@ in
enableACME = lib.mkOption {
type = lib.types.bool;
default = cfg.sslCertificate == null && cfg.sslCertificateKey == null;
defaultText = lib.literalDocBook ''
<literal>true</literal>, unless <option>services.discourse.sslCertificate</option>
and <option>services.discourse.sslCertificateKey</option> 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

View file

@ -20,7 +20,7 @@ let
mkDefault
literalExpression
isAttrs
literalDocBook
literalMD
maintainers
catAttrs
collect
@ -165,7 +165,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.
'';

View file

@ -527,7 +527,7 @@ in {
occ = mkOption {
type = types.package;
default = occ;
defaultText = literalDocBook "generated script";
defaultText = literalMD "generated script";
internal = true;
description = ''
The nextcloud-occ program preconfigured to target this Nextcloud instance.

View file

@ -30,8 +30,8 @@ in
collectionCgi = mkOption {
type = types.path;
default = defaultCollectionCgi;
defaultText = literalDocBook ''
<literal>config.${options.services.collectd.package}</literal> 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

View file

@ -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.

View file

@ -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
@ -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";

View file

@ -143,7 +143,7 @@ in
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 {

View file

@ -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
<literal>config.${opt.theme} == "breeze"</literal>, otherwise
<literal>[ ]</literal>.
`config.${opt.theme} == "breeze"`, otherwise
`[ ]`.
'';
type = types.listOf types.package;
description = lib.mdDoc ''

View file

@ -611,7 +611,7 @@ in
then "zstd"
else "gzip"
);
defaultText = literalDocBook "<literal>zstd</literal> if the kernel supports it (5.9+), <literal>gzip</literal> 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 = ''
The compressor to use on the initrd image. May be any of:

View file

@ -209,7 +209,7 @@ in
readOnly = true;
type = types.bool;
default = inInitrd || inSystem;
defaultText = literalDocBook "<literal>true</literal> 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";
};

View file

@ -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
<xref linkend="opt-networking.tempAddresses"/>, 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.
<warning><para>If the route type is the default <literal>unicast</literal>, then the scope
is set differently depending on the value of <option>networking.useNetworkd</option>:
the script-based backend sets it to <literal>link</literal>, while networkd sets
it to <literal>global</literal>.</para></warning>
::: {.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
<literal>networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]</literal>
`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 = ''
<itemizedlist>
${concatStringsSep "\n" (mapAttrsToList (name: { description, ... }: ''
<listitem>
<para>
<literal>"${name}"</literal> to ${description};
</para>
</listitem>
'') tempaddrValues)}
</itemizedlist>
'';
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 <literal>null</literal>, 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:
<itemizedlist>
<listitem><para>x2:xx:xx:xx:xx:xx</para></listitem>
<listitem><para>x6:xx:xx:xx:xx:xx</para></listitem>
<listitem><para>xA:xx:xx:xx:xx:xx</para></listitem>
<listitem><para>xE:xx:xx:xx:xx:xx</para></listitem>
</itemizedlist>
- 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
<xref linkend="opt-networking.interfaces._name_.tempAddress"/>.
[](#opt-networking.interfaces._name_.tempAddress).
This sets the ipv6.conf.*.use_tempaddr sysctl for all
interfaces. Possible values are:

View file

@ -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")`.
'';

View file

@ -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;

View file

@ -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 ];

View file

@ -8,28 +8,38 @@
, lua5_3
, libid3tag
, flac
, pcre
, pcre2
, gzip
, perl
}:
stdenv.mkDerivation rec {
pname = "mympd";
version = "8.0.4";
version = "9.5.2";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${version}";
sha256 = "sha256-hpUoXqblhHreDZg8fDD5S4UG+ltptIbzP9LKyQ/WbX0=";
sha256 = "sha256-WmGaZXITvrp7ml7s7FPyp3Q3072KU/P6UombBj99fX0=";
};
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;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "praat";
version = "6.2.10";
version = "6.2.16";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${version}";
sha256 = "sha256-IYbPMjKWDQQrF+JiqBQ2wsjY+Ms93tEdsG75CxipwaI=";
sha256 = "sha256-k6wFTwXMXpLb+nddJ6fOfhzCOrcbQR7Pot8rmrx2gYs=";
};
configurePhase = ''

View file

@ -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 ];

View file

@ -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 = ''

View file

@ -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.

View file

@ -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

View file

@ -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";

View file

@ -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[@]}
'';

View file

@ -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 ""}

View file

@ -979,6 +979,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";

View file

@ -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" \

View file

@ -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

View file

@ -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 \

View file

@ -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 ];
}

View file

@ -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" \

View file

@ -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 ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "sameboy";
version = "0.14.7";
version = "0.15.4";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
sha256 = "sha256-rvcR1mp+lJ6ZFc9WYUK9FBVcG2vD5MoX6lY+AJsMaeQ=";
sha256 = "sha256-YLWo6Em/NdU60Dtu4ePANSKLixozxpxVwD3dJcAOs3g=";
};
enableParallelBuilding = true;

View file

@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-VK9FCqIwHGmeJe5lk12lpAGcsC1aPRBiI+XjACXjDd4=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite
readline ffmpeg makeWrapper netcdf geos postgresql libmysqlclient blas
readline ffmpeg netcdf geos postgresql libmysqlclient blas
libLAS proj-datumgrid zstd wrapGAppsHook ]
++ lib.optionals stdenv.isLinux [ cairo pdal wxGTK31 ]
++ lib.optional stdenv.isDarwin wxmac

View file

@ -35,7 +35,7 @@ bundlerApp {
exes = [ "image_optim" ];
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/image_optim \

View file

@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/timelapse-deflicker --set PERL5LIB $PERL5LIB
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = with perlPackages; [
makeWrapper perl
perl
ImageMagick TermProgressBar ImageExifTool
FileType ClassMethodMaker
];

View file

@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "10zxih7gmyhq0az1mnsw2x563l4bbwcns794s4png8rf4d6hjszm";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ perl libX11 libXinerama libjpeg libpng libtiff
librsvg glib gtk2 libXxf86vm libXext poppler xine-lib ghostscript makeWrapper ];
librsvg glib gtk2 libXxf86vm libXext poppler xine-lib ghostscript ];
# The program tries to dlopen Xxf86vm, Xext and Xinerama, so we use the
# trick on NIX_LDFLAGS and dontPatchELF to make it find them.

View file

@ -7,7 +7,7 @@ bundlerApp rec {
inherit ruby;
gemdir = ./.;
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
passthru.updateScript = bundlerUpdateScript "gollum";

View file

@ -4,9 +4,9 @@
, curl, writeShellScript, common-updater-scripts }:
let
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.5-31be26f1/Hubstaff-1.6.5-31be26f1.sh";
version = "1.6.5-31be26f1";
sha256 = "1z1binnqppyxavmjg0l1cvy64ylzy2v454sws2x1am2qhhbnycjm";
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.6-61e2338c/Hubstaff-1.6.6-61e2338c.sh";
version = "1.6.6-61e2338c";
sha256 = "0i5wxwnrgabirk1x9aii7m428dkr745sfm1lcql4yhlqx4mw6qn1";
rpath = lib.makeLibraryPath
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft

View file

@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
sha256 = "0skrc8r4wh4mjfgw1c94awr5sacfb9nfsbm4frikanc9xsy16ksr";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ which highlight ]
++ (with perlPackages; [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
TimeDate gettext DBFile CGISession CGIFormBuilder LocaleGettext
RpcXML XMLSimple ImageMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase
NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ])
++ lib.optionals docutilsSupport [

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "inherd-quake";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "phodal";
repo = "quake";
rev = "v${version}";
sha256 = "sha256-OkgrkjO6IS6P2ZyFFbOprROPzDfQcHYCwaTKFsjjVo8=";
sha256 = "sha256-HKAR4LJm0lrQgTOCqtYIRFbO3qHtPbr4Fpx2ek1oJ4Q=";
};
cargoSha256 = "sha256-EMRaChFwjMYZKSX5OvXYLSiwWo1m1H/tHVqc8RXX52A=";
cargoSha256 = "sha256-svvtZyfN91OT3yqxH6TgFhGYg9drpXsts4p2WqSHG8w=";
nativeBuildInputs = [ pkg-config ];

View file

@ -30,7 +30,7 @@ in bundlerApp {
then ./full
else ./basic;
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/jekyll --prefix PATH : ${rubyWrapper}/bin

View file

@ -12,10 +12,10 @@ mkDerivation rec {
};
# LaTeX is used from $PATH, as people often want to have it with extra pkgs
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [
qtbase qtsvg python3 file/*for libmagic*/ bc
hunspell makeWrapper # enchant
hunspell # enchant
];
configureFlags = [

View file

@ -24,11 +24,10 @@ in stdenv.mkDerivation rec {
preConfigure = "./autogen.sh --libexecdir=$(out)/bin";
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config makeWrapper libtool ];
buildInputs = [
glib libwnck libnotify dbus-glib makeWrapper
glib libwnck libnotify dbus-glib
gsettings-desktop-schemas gnome.gnome-common
libtool
];
configureFlags = [ "--libexecdir=$(out)/bin" ];

View file

@ -9,9 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0g5a7a680b05x27apz0y1ldl5csxpp152wqi42s107jymbp0s20j";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [
glib libwnck libnotify dbus-glib makeWrapper
glib libwnck libnotify dbus-glib
gsettings-desktop-schemas
];

View file

@ -46,13 +46,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoreconfHook
pkg-config
makeWrapper
];
buildInputs = [
cairo
glib
libnotify
makeWrapper
rofi-unwrapped
wl-clipboard
xclip

View file

@ -13,9 +13,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-cf0QTOzhLyTcbJryCQoTVzU8kfrPV6SLpqi4s36X5N0=";
};
nativeBuildInputs = [ makeWrapper which ];
buildInputs =
[boost] ++
(with perlPackages; [ perl makeWrapper which
(with perlPackages; [ perl
EncodeLocale MathClipper ExtUtilsXSpp
MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-IWHj//ZZOdfOCBJHnPnKNoYNtWl/f8H6ARYe1AkqB0U=";
};
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
dontBuild = true;

View file

@ -41,7 +41,8 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "1zg13wajsfrl3hli6sihn47db08w037jjq9vgr6m5sjh8r1jb9iy";
};
buildInputs = [ makeWrapper ] ++ otherDependencies ++ pythonDependencies;
nativeBuildInputs = [ makeWrapper ];
buildInputs = otherDependencies ++ pythonDependencies;
installPhase = ''
runHook preInstall

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.12.7";
version = "1.12.9";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-GFexXy/vH8rbtoxGo0Sy6cO+FxLTGaO67BkBPgaHuws=";
hash = "sha256-FSZTonoMojBsp+6K4gID2X92wcOE009hTPNqONxRbps=";
};
subPackages = [ "projects/gloo/cli/cmd" ];

View file

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "stable";
version = "2.11.2";
sha256 = "sha256-6FlOHnOmqZ2jqx9qFMPA5jkxBaNqzeCwsepwXR1Imss=";
vendorSha256 = "sha256-wM5qIjabg9ICJcLi8QV9P4G4E7Rn3ctVCqdm2GO8RyU=";
version = "2.12.0";
sha256 = "0p8k5c0gzpmqp7qrhfcjrhbgwd2mzsn2qpsv7ym0ywjkvrkg3355";
vendorSha256 = "sha256-qjXpzS1ctEQfXFjzyBUiIp6+oqABedpwHqDxQz0DJ8U=";
}

View file

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "22.6.1";
sha256 = "sha256-YM6d2bWcjoNMEbgXVR79tcklTRqAhzm6SzJU2k+7BNU=";
vendorSha256 = "sha256-i+AbrzN9d9CGZcGj/D4xnYlamp0iOlq2xcax14/GqEE=";
version = "22.8.2";
sha256 = "114lfq5d5b09zg14iwnmaf0vmm183xr37q7b4bj3m8zbzhpbk7xx";
vendorSha256 = "sha256-hKdokt5QW50oc2z8UFMq78DRWpwPlL5tSf2F0rQNEQ8=";
}

View file

@ -53,6 +53,6 @@ buildGoModule rec {
downloadPage = "https://github.com/linkerd/linkerd2/";
homepage = "https://linkerd.io/";
license = licenses.asl20;
maintainers = with maintainers; [ Gonzih bryanasdev000 ];
maintainers = with maintainers; [ bryanasdev000 Gonzih superherointj ];
};
}

View file

@ -7,7 +7,7 @@ cd $(dirname "$0")
VERSION=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} \
--silent https://api.github.com/repos/linkerd/linkerd2/releases | \
jq 'map(.tag_name)' | grep edge | sed 's/["|,| ]//g' | sed 's/edge-//' | sort -V -r | head -n1)
jq 'map(.tag_name)' | grep -v -e '-rc' | grep edge | sed 's/["|,| ]//g' | sed 's/edge-//' | sort -V -r | head -n1)
SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/edge-${VERSION}.tar.gz)

View file

@ -7,7 +7,7 @@ cd $(dirname "$0")
VERSION=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} \
--silent https://api.github.com/repos/linkerd/linkerd2/releases | \
jq 'map(.tag_name)' | grep stable | sed 's/["|,| ]//g' | sed 's/stable-//' | sort -V -r | head -n1)
jq 'map(.tag_name)' | grep -v -e '-rc' | grep stable | sed 's/["|,| ]//g' | sed 's/stable-//' | sort -V -r | head -n1)
SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/stable-${VERSION}.tar.gz)

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "pluto";
version = "5.7.0";
version = "5.10.5";
src = fetchFromGitHub {
owner = "FairwindsOps";
repo = "pluto";
rev = "v${version}";
sha256 = "sha256-/H8/wpDqlo96qb6QBIxpIGMv6VtK/nn/GwozIJjZyNY=";
sha256 = "sha256-Pdw8xPpH9PjLDbno8u3IWI7ygO18j2P3puE55+Pmzec=";
};
vendorSha256 = "sha256-jPVlHyKZ1ygF08OypXOMzHBfb2z5mhg5B8zJmAcQbLk=";
vendorSha256 = "sha256-hAnlKMDqrQG8vlmBLufJlq79rb1vo4PdVaJjBBSjnRM=";
ldflags = [
"-w" "-s"

View file

@ -1,11 +1,11 @@
{ lib, buildGoModule, fetchFromGitHub }:
# SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags.
let rev = "51c79060fc1433233eb43842de564f0f2e47be86";
let rev = "551bf68c694927839c3add25a2512f880902ee9b";
in
buildGoModule rec {
pname = "sonobuoy";
version = "0.56.4"; # Do not forget to update `rev` above
version = "0.56.10"; # Do not forget to update `rev` above
ldflags =
let t = "github.com/vmware-tanzu/sonobuoy";
@ -20,10 +20,10 @@ buildGoModule rec {
owner = "vmware-tanzu";
repo = "sonobuoy";
rev = "v${version}";
sha256 = "sha256-6kHqfWDrZL3J5SrZ3JK50Z2Sw8mwM0zrfaKWo22g27A=";
sha256 = "sha256-Hykm8h0kJzTL6XbaBe3vtoghmP4LmvPfBhrTgCmNyRE=";
};
vendorSha256 = "sha256-8n4a1PLUYDU46lVegQoOCmmRSR1XfnjgEGZ+R5f36Ic=";
vendorSha256 = "sha256-jBm3t/kvijAv5KOLhDJ1kGLdzpFJiBs/Vtu2mO2lnPM=";
subPackages = [ "." ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "starboard";
version = "0.15.4";
version = "0.15.8";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "sha256-GhcHvKqYktBAPB443ZjJ3LYRJZorO7IH1OEnEQKUO0g=";
sha256 = "sha256-AgAcN1KtMW7yHi12Gg1M3hu7DQA7WdWtY3qf4K7c1YA=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -20,7 +20,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorSha256 = "sha256-ozbejIFR0mDgCgca+2yaPRiMMHLOEsC9u+kQUe69spc=";
vendorSha256 = "sha256-aQrKppIJOCTIDrKvtE6WTkQY8mfYzUh7mBKUd6z19E0=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dnscontrol";
version = "3.19.0";
version = "3.20.0";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-bP9tksdP/hNjC4opACLYHad8jj137+WQfb3bM8A6tVQ=";
sha256 = "sha256-jBpapZIQGYC63SEc4kT6pEbNR3H1IQFM7P/wxMlrP8I=";
};
vendorSha256 = "sha256-/lFH/4fQgK0LAqLIn39r+hi0pqNlJuupWlLhOhDh0TU=";
vendorSha256 = "sha256-iY4Q1P4Mir6idcv88Op5v0kQ7PkoOm85aCBb845xvGs=";
ldflags = [ "-s" "-w" ];

View file

@ -24,13 +24,13 @@
, libvpx
}:
stdenv.mkDerivation rec {
version = "1.1.0";
version = "2.6.0";
pname = "baresip";
src = fetchFromGitHub {
owner = "baresip";
repo = "baresip";
rev = "v${version}";
sha256 = "sha256-9mc1Beo7/iNhDXSDC/jiTL+lJRt8ah/1xF1heoHTE+g=";
sha256 = "sha256-YcXLRhW7PyvK0R1+7DOjmtxg+Ajq9u7fvZFQO7DJapQ=";
};
postPatch = ''
patchShebangs modules/ctrl_dbus/gen.sh

View file

@ -61,13 +61,13 @@
}:
stdenv.mkDerivation rec {
version = "5.9.18";
version = "5.14.14";
pname = "feishu";
packageHash = "5db94058d7ad"; # A hash value used in the download url
packageHash = "2844ab12b34f"; # A hash value used in the download url
src = fetchurl {
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/${packageHash}/Feishu-linux_x64-${version}.deb";
sha256 = "ffb29b5a184b025d4e4ea468a8f684a7067ab5bfd45867abc370e59be63892c7";
sha256 = "c0ca999edc10d8ada08c46b33b15d7db0ced264248abd3ebfdb895d8457e1bec";
};
nativeBuildInputs = [

View file

@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "0cm1hvi68iqgjsg15xdii271pklgzjn9j9afb1c460z71kgy3wz2";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
perl
makeWrapper
];
propagatedBuildInputs = with perlPackages; [

View file

@ -7,7 +7,7 @@ in symlinkJoin {
paths = [ pidgin ] ++ plugins;
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/pidgin \

View file

@ -137,7 +137,7 @@ let
hash = "sha256-vLUEvOSBUyAJIWHOAIkTqTW/W6TkgmeyRzQbquZP810=";
};
buildInputs = [ xar cpio makeWrapper ];
nativeBuildInputs = [ xar cpio makeWrapper ];
unpackPhase = ''
xar -xf $src

View file

@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
dontStrip = true;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
perl
makeWrapper
] ++ (with perlPackages; [
FileRemove
DigestSHA1

View file

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "seaweedfs";
version = "3.15";
version = "3.23";
src = fetchFromGitHub {
owner = "chrislusf";
repo = "seaweedfs";
rev = version;
sha256 = "sha256-07cIqGKmw2Co7GEc/APiOWTgflUwDIQPQzs73XTAPQA=";
sha256 = "sha256-Pq0t8KDrmPfkJ0sWtpw1iAwycLj+YIuYIanyqEjdf5A=";
};
vendorSha256 = "sha256-4U96s9PJLuVuzgWXCMLKfXK/XK1EaC+ep2c8TpKVRlc=";
vendorSha256 = "sha256-YbdGtB6BEo8RoEYXjj1NG8bXMDojddd1UY0IXQK1Kgo=";
subPackages = [ "weed" ];

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