Merge branch 'master' into staging-next

This commit is contained in:
Jan Tojnar 2021-01-10 23:24:33 +01:00
commit dd72357155
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
298 changed files with 746 additions and 415 deletions

View File

@ -102,7 +102,7 @@ See the `zlib` example:
echo "================= /testing zlib using node =================" echo "================= /testing zlib using node ================="
''; '';
postPatch = pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin '' postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
substituteInPlace configure \ substituteInPlace configure \
--replace '/usr/bin/libtool' 'ar' \ --replace '/usr/bin/libtool' 'ar' \
--replace 'AR="libtool"' 'AR="ar"' \ --replace 'AR="libtool"' 'AR="ar"' \

View File

@ -185,6 +185,30 @@
with <literal>mkfs.xfs -m reflink=0</literal>. with <literal>mkfs.xfs -m reflink=0</literal>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The uWSGI server is now built with POSIX capabilities. As a consequence,
root is no longer required in emperor mode and the service defaults to
running as the unprivileged <literal>uwsgi</literal> user. Any additional
capability can be added via the new option
<xref linkend="opt-services.uwsgi.capabilities"/>.
The previous behaviour can be restored by setting:
<programlisting>
<xref linkend="opt-services.uwsgi.user"/> = "root";
<xref linkend="opt-services.uwsgi.group"/> = "root";
<xref linkend="opt-services.uwsgi.instance"/> =
{
uid = "uwsgi";
gid = "uwsgi";
};
</programlisting>
</para>
<para>
Another incompatibility from the previous release is that vassals running under a
different user or group need to use <literal>immediate-{uid,gid}</literal>
instead of the usual <literal>uid,gid</literal> options.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<package>btc1</package> has been abandoned upstream, and removed. <package>btc1</package> has been abandoned upstream, and removed.
@ -534,6 +558,12 @@ http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/e
The GNOME desktop manager once again installs <package>gnome3.epiphany</package> by default. The GNOME desktop manager once again installs <package>gnome3.epiphany</package> by default.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
NixOS now generates empty <literal>/etc/netgroup</literal>.
<literal>/etc/netgroup</literal> defines network-wide groups and may affect to setups using NIS.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View File

@ -193,6 +193,10 @@ in
cat ${escapeShellArgs cfg.hostFiles} > $out cat ${escapeShellArgs cfg.hostFiles} > $out
''; '';
# /etc/netgroup: Network-wide groups.
netgroup.text = mkDefault ''
'';
# /etc/host.conf: resolver configuration file # /etc/host.conf: resolver configuration file
"host.conf".text = '' "host.conf".text = ''
multi on multi on

View File

@ -43,9 +43,9 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.dbus.packages = [ pkgs.fprintd ]; services.dbus.packages = [ cfg.package ];
environment.systemPackages = [ pkgs.fprintd ]; environment.systemPackages = [ cfg.package ];
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];

View File

@ -44,7 +44,7 @@ let
in in
{ {
options.services.ihatemoney = { options.services.ihatemoney = {
enable = mkEnableOption "ihatemoney webapp. Note that this will set uwsgi to emperor mode running as root"; enable = mkEnableOption "ihatemoney webapp. Note that this will set uwsgi to emperor mode";
backend = mkOption { backend = mkOption {
type = types.enum [ "sqlite" "postgresql" ]; type = types.enum [ "sqlite" "postgresql" ];
default = "sqlite"; default = "sqlite";
@ -116,16 +116,13 @@ in
services.uwsgi = { services.uwsgi = {
enable = true; enable = true;
plugins = [ "python3" ]; plugins = [ "python3" ];
# the vassal needs to be able to setuid
user = "root";
group = "root";
instance = { instance = {
type = "emperor"; type = "emperor";
vassals.ihatemoney = { vassals.ihatemoney = {
type = "normal"; type = "normal";
strict = true; strict = true;
uid = user; immediate-uid = user;
gid = group; immediate-gid = group;
# apparently flask uses threads: https://github.com/spiral-project/ihatemoney/commit/c7815e48781b6d3a457eaff1808d179402558f8c # apparently flask uses threads: https://github.com/spiral-project/ihatemoney/commit/c7815e48781b6d3a457eaff1808d179402558f8c
enable-threads = true; enable-threads = true;
module = "wsgi:application"; module = "wsgi:application";

View File

@ -5,11 +5,24 @@ with lib;
let let
cfg = config.services.uwsgi; cfg = config.services.uwsgi;
isEmperor = cfg.instance.type == "emperor";
imperialPowers =
[
# spawn other user processes
"CAP_SETUID" "CAP_SETGID"
"CAP_SYS_CHROOT"
# transfer capabilities
"CAP_SETPCAP"
# create other user sockets
"CAP_CHOWN"
];
buildCfg = name: c: buildCfg = name: c:
let let
plugins = plugins =
if any (n: !any (m: m == n) cfg.plugins) (c.plugins or []) if any (n: !any (m: m == n) cfg.plugins) (c.plugins or [])
then throw "`plugins` attribute in UWSGI configuration contains plugins not in config.services.uwsgi.plugins" then throw "`plugins` attribute in uWSGI configuration contains plugins not in config.services.uwsgi.plugins"
else c.plugins or cfg.plugins; else c.plugins or cfg.plugins;
hasPython = v: filter (n: n == "python${v}") plugins != []; hasPython = v: filter (n: n == "python${v}") plugins != [];
@ -18,7 +31,7 @@ let
python = python =
if hasPython2 && hasPython3 then if hasPython2 && hasPython3 then
throw "`plugins` attribute in UWSGI configuration shouldn't contain both python2 and python3" throw "`plugins` attribute in uWSGI configuration shouldn't contain both python2 and python3"
else if hasPython2 then cfg.package.python2 else if hasPython2 then cfg.package.python2
else if hasPython3 then cfg.package.python3 else if hasPython3 then cfg.package.python3
else null; else null;
@ -43,7 +56,7 @@ let
oldPaths = filter (x: x != null) (map getPath env'); oldPaths = filter (x: x != null) (map getPath env');
in env' ++ [ "PATH=${optionalString (oldPaths != []) "${last oldPaths}:"}${pythonEnv}/bin" ]; in env' ++ [ "PATH=${optionalString (oldPaths != []) "${last oldPaths}:"}${pythonEnv}/bin" ];
} }
else if c.type == "emperor" else if isEmperor
then { then {
emperor = if builtins.typeOf c.vassals != "set" then c.vassals emperor = if builtins.typeOf c.vassals != "set" then c.vassals
else pkgs.buildEnv { else pkgs.buildEnv {
@ -51,7 +64,7 @@ let
paths = mapAttrsToList buildCfg c.vassals; paths = mapAttrsToList buildCfg c.vassals;
}; };
} // removeAttrs c [ "type" "vassals" ] } // removeAttrs c [ "type" "vassals" ]
else throw "`type` attribute in UWSGI configuration should be either 'normal' or 'emperor'"; else throw "`type` attribute in uWSGI configuration should be either 'normal' or 'emperor'";
}; };
in pkgs.writeTextDir "${name}.json" (builtins.toJSON uwsgiCfg); in pkgs.writeTextDir "${name}.json" (builtins.toJSON uwsgiCfg);
@ -79,7 +92,7 @@ in {
}; };
instance = mkOption { instance = mkOption {
type = with lib.types; let type = with types; let
valueType = nullOr (oneOf [ valueType = nullOr (oneOf [
bool bool
int int
@ -137,31 +150,65 @@ in {
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = "uwsgi"; default = "uwsgi";
description = "User account under which uwsgi runs."; description = "User account under which uWSGI runs.";
}; };
group = mkOption { group = mkOption {
type = types.str; type = types.str;
default = "uwsgi"; default = "uwsgi";
description = "Group account under which uwsgi runs."; description = "Group account under which uWSGI runs.";
};
capabilities = mkOption {
type = types.listOf types.str;
apply = caps: caps ++ optionals isEmperor imperialPowers;
default = [ ];
example = literalExample ''
[
"CAP_NET_BIND_SERVICE" # bind on ports <1024
"CAP_NET_RAW" # open raw sockets
]
'';
description = ''
Grant capabilities to the uWSGI instance. See the
<literal>capabilities(7)</literal> for available values.
<note>
<para>
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.
</para>
<para>
When in Emperor mode, any capability to be inherited by a vassal must
be specified again in the vassal configuration using <literal>cap</literal>.
See the uWSGI <link
xlink:href="https://uwsgi-docs.readthedocs.io/en/latest/Capabilities.html">docs</link>
for more information.
</para>
</note>
'';
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.tmpfiles.rules = optional (cfg.runDir != "/run/uwsgi") ''
d ${cfg.runDir} 775 ${cfg.user} ${cfg.group}
'';
systemd.services.uwsgi = { systemd.services.uwsgi = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p ${cfg.runDir}
chown ${cfg.user}:${cfg.group} ${cfg.runDir}
'';
serviceConfig = { serviceConfig = {
User = cfg.user;
Group = cfg.group;
Type = "notify"; Type = "notify";
ExecStart = "${cfg.package}/bin/uwsgi --uid ${cfg.user} --gid ${cfg.group} --json ${buildCfg "server" cfg.instance}/server.json"; ExecStart = "${cfg.package}/bin/uwsgi --json ${buildCfg "server" cfg.instance}/server.json";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
NotifyAccess = "main"; NotifyAccess = "main";
KillSignal = "SIGQUIT"; KillSignal = "SIGQUIT";
AmbientCapabilities = cfg.capabilities;
CapabilityBoundingSet = cfg.capabilities;
}; };
}; };

View File

@ -20,7 +20,7 @@ let
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout; timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
isAarch64 = pkgs.stdenv.hostPlatform.isAarch64; isAarch64 = pkgs.stdenv.hostPlatform.isAarch64;
optional = pkgs.stdenv.lib.optionalString; optional = pkgs.lib.optionalString;
configTxt = configTxt =
pkgs.writeText "config.txt" ('' pkgs.writeText "config.txt" (''

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "3proxy"; name = "3proxy";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ misuzu ]; maintainers = [ misuzu ];
}; };

View File

@ -9,7 +9,7 @@ let
in in
{ {
name = "agda"; name = "agda";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ alexarice turion ]; maintainers = [ alexarice turion ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "ammonite"; name = "ammonite";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ]; maintainers = [ nequissimus ];
}; };

View File

@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
{ {
name = "atd"; name = "atd";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ bjornfor ]; maintainers = [ bjornfor ];
}; };

View File

@ -8,7 +8,7 @@
# Test whether `avahi-daemon' and `libnss-mdns' work as expected. # Test whether `avahi-daemon' and `libnss-mdns' work as expected.
import ./make-test-python.nix { import ./make-test-python.nix {
name = "avahi"; name = "avahi";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ eelco ]; maintainers = [ eelco ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "awscli"; name = "awscli";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ]; maintainers = [ nequissimus ];
}; };

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : { import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "babeld"; name = "babeld";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ hexa ]; maintainers = [ hexa ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "bat"; name = "bat";
meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ nequissimus ]; }; meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; };
machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.bat ]; }; machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.bat ]; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "bcachefs"; name = "bcachefs";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ chiiruno ]; meta.maintainers = with pkgs.lib.maintainers; [ chiiruno ];
machine = { pkgs, ... }: { machine = { pkgs, ... }: {
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "bitcoind"; name = "bitcoind";
meta = with pkgs.stdenv.lib; { meta = with pkgs.lib; {
maintainers = with maintainers; [ _1000101 ]; maintainers = with maintainers; [ _1000101 ];
}; };

View File

@ -35,7 +35,7 @@ in
{ {
name = "bittorrent"; name = "bittorrent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ domenkozar eelco rob bobvanderlinden ]; maintainers = [ domenkozar eelco rob bobvanderlinden ];
}; };

View File

@ -27,7 +27,7 @@ let
makeBitwardenTest = backend: makeTest { makeBitwardenTest = backend: makeTest {
name = "bitwarden_rs-${backend}"; name = "bitwarden_rs-${backend}";
meta = { meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ jjjollyjim ]; maintainers = with pkgs.lib.maintainers; [ jjjollyjim ];
}; };
nodes = { nodes = {

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "blockbook-frontend"; name = "blockbook-frontend";
meta = with pkgs.stdenv.lib; { meta = with pkgs.lib; {
maintainers = with maintainers; [ _1000101 ]; maintainers = with maintainers; [ _1000101 ];
}; };

View File

@ -158,5 +158,5 @@ import ./make-test-python.nix ({ pkgs, ... }: {
machine.succeed('pgrep -a -f "^kcanary$"') machine.succeed('pgrep -a -f "^kcanary$"')
''; '';
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ aszlig ]; meta.maintainers = with pkgs.lib.maintainers; [ aszlig ];
}) })

View File

@ -36,7 +36,7 @@ let
in { in {
name = "borgbackup"; name = "borgbackup";
meta = with pkgs.stdenv.lib; { meta = with pkgs.lib; {
maintainers = with maintainers; [ dotlambda ]; maintainers = with maintainers; [ dotlambda ];
}; };

View File

@ -109,5 +109,5 @@ import ./make-test-python.nix {
bbworker.fail("nc -z bbmaster 8011") bbworker.fail("nc -z bbmaster 8011")
''; '';
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ]; meta.maintainers = with pkgs.lib.maintainers; [ nand0p ];
} {} } {}

View File

@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
{ {
name = "buildkite-agent"; name = "buildkite-agent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ flokli ]; maintainers = [ flokli ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "caddy"; name = "caddy";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ xfix Br1ght0ne ]; maintainers = [ xfix Br1ght0ne ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... } : { import ./make-test-python.nix ({ pkgs, ... } : {
name = "cadvisor"; name = "cadvisor";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ offline ]; maintainers = [ offline ];
}; };

View File

@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
name = "cage"; name = "cage";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ matthewbauer flokli ]; maintainers = [ matthewbauer flokli ];
}; };

View File

@ -9,7 +9,7 @@ let
in in
{ {
name = "cagebreak"; name = "cagebreak";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ berbiche ]; maintainers = [ berbiche ];
}; };

View File

@ -218,7 +218,7 @@ let
''; '';
in { in {
name = "basic-multi-node-ceph-cluster"; name = "basic-multi-node-ceph-cluster";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ lejonet ]; maintainers = [ lejonet ];
}; };

View File

@ -184,7 +184,7 @@ let
''; '';
in { in {
name = "basic-single-node-ceph-cluster"; name = "basic-single-node-ceph-cluster";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ lejonet johanot ]; maintainers = [ lejonet johanot ];
}; };

View File

@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ...} : let
in { in {
name = "charliecloud"; name = "charliecloud";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ bzizou ]; maintainers = [ bzizou ];
}; };

View File

@ -19,7 +19,7 @@ in
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "cjdns"; name = "cjdns";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ehmry ]; maintainers = [ ehmry ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "clickhouse"; name = "clickhouse";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ]; meta.maintainers = with pkgs.lib.maintainers; [ ma27 ];
machine = { machine = {
services.clickhouse.enable = true; services.clickhouse.enable = true;

View File

@ -40,7 +40,7 @@ let
}; };
in makeTest { in makeTest {
name = "cloud-init"; name = "cloud-init";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ lewo ]; maintainers = [ lewo ];
}; };
machine = { ... }: machine = { ... }:

View File

@ -99,7 +99,7 @@ let
in import ./make-test-python.nix ({ pkgs, ...} : { in import ./make-test-python.nix ({ pkgs, ...} : {
name = "cockroachdb"; name = "cockroachdb";
meta.maintainers = with pkgs.stdenv.lib.maintainers; meta.maintainers = with pkgs.lib.maintainers;
[ thoughtpolice ]; [ thoughtpolice ];
nodes = { nodes = {

View File

@ -9,7 +9,7 @@ in
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-bridge"; name = "containers-bridge";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ aristid aszlig eelco kampfschlaefer ]; maintainers = [ aristid aszlig eelco kampfschlaefer ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-extra_veth"; name = "containers-extra_veth";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ kampfschlaefer ]; maintainers = [ kampfschlaefer ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-hosts"; name = "containers-hosts";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ montag451 ]; maintainers = [ montag451 ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-imperative"; name = "containers-imperative";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ aristid aszlig eelco kampfschlaefer ]; maintainers = [ aristid aszlig eelco kampfschlaefer ];
}; };

View File

@ -15,7 +15,7 @@ let
in import ./make-test-python.nix ({ pkgs, ...} : { in import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-ipv4-ipv6"; name = "containers-ipv4-ipv6";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ aristid aszlig eelco kampfschlaefer ]; maintainers = [ aristid aszlig eelco kampfschlaefer ];
}; };

View File

@ -8,7 +8,7 @@ in
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-macvlans"; name = "containers-macvlans";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ montag451 ]; maintainers = [ montag451 ];
}; };

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-physical_interfaces"; name = "containers-physical_interfaces";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ kampfschlaefer ]; maintainers = [ kampfschlaefer ];
}; };

View File

@ -9,7 +9,7 @@ in
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-portforward"; name = "containers-portforward";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ]; maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ];
}; };

View File

@ -16,7 +16,7 @@ let
}; };
in { in {
name = "containers-reloadable"; name = "containers-reloadable";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ danbst ]; maintainers = [ danbst ];
}; };

View File

@ -19,7 +19,7 @@ let
in import ./make-test-python.nix ({ pkgs, ...} : in import ./make-test-python.nix ({ pkgs, ...} :
{ {
name = "containers-restart_networking"; name = "containers-restart_networking";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ kampfschlaefer ]; maintainers = [ kampfschlaefer ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-tmpfs"; name = "containers-tmpfs";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ kampka ]; maintainers = [ kampka ];
}; };

View File

@ -6,7 +6,7 @@ let
in in
{ {
name = "convos"; name = "convos";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ sgo ]; maintainers = [ sgo ];
}; };

View File

@ -19,7 +19,7 @@ with lib;
{ {
name = "couchdb"; name = "couchdb";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ fpletz ]; maintainers = [ fpletz ];
}; };

View File

@ -1,7 +1,7 @@
# This test runs CRI-O and verifies via critest # This test runs CRI-O and verifies via critest
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "cri-o"; name = "cri-o";
maintainers = with pkgs.stdenv.lib.maintainers; teams.podman.members; maintainers = with pkgs.lib.maintainers; teams.podman.members;
nodes = { nodes = {
crio = { crio = {

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "deluge"; name = "deluge";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ flokli ]; maintainers = [ flokli ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "dnscrypt-proxy2"; name = "dnscrypt-proxy2";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ joachifm ]; maintainers = [ joachifm ];
}; };

View File

@ -1,6 +1,6 @@
import ../make-test-python.nix ({ pkgs, ... }: { import ../make-test-python.nix ({ pkgs, ... }: {
name = "dnscrypt-wrapper"; name = "dnscrypt-wrapper";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ rnhmjoj ]; maintainers = [ rnhmjoj ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "docker"; name = "docker";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus offline ]; maintainers = [ nequissimus offline ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "docker-registry"; name = "docker-registry";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ globin ma27 ironpinguin ]; maintainers = [ globin ma27 ironpinguin ];
}; };

View File

@ -35,7 +35,7 @@ let
in { in {
name = "docker-tools"; name = "docker-tools";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ roberth ]; maintainers = [ roberth ];
}; };

View File

@ -3,7 +3,7 @@
import ./make-test-python.nix ({ pkgs, ... }: import ./make-test-python.nix ({ pkgs, ... }:
{ {
name = "docker-tools-overlay"; name = "docker-tools-overlay";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ lnl7 ]; maintainers = [ lnl7 ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "docker-tools"; name = "docker-tools";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ lnl7 ]; maintainers = [ lnl7 ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "docker"; name = "docker";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus offline ]; maintainers = [ nequissimus offline ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : { import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "documize"; name = "documize";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ma27 ]; maintainers = [ ma27 ];
}; };

View File

@ -32,7 +32,7 @@ let
in { in {
name = "dokuwiki"; name = "dokuwiki";
meta = with pkgs.stdenv.lib; { meta = with pkgs.lib; {
maintainers = with maintainers; [ _1000101 ]; maintainers = with maintainers; [ _1000101 ];
}; };
machine = { ... }: { machine = { ... }: {

View File

@ -12,7 +12,7 @@ let
mkElkTest = name : elk : mkElkTest = name : elk :
import ./make-test-python.nix ({ import ./make-test-python.nix ({
inherit name; inherit name;
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ eelco offline basvandijk ]; maintainers = [ eelco offline basvandijk ];
}; };
nodes = { nodes = {

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "emacs-daemon"; name = "emacs-daemon";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -2,7 +2,7 @@ import ./make-test-python.nix (
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {
name = "engelsystem"; name = "engelsystem";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ talyz ]; maintainers = [ talyz ];
}; };

View File

@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
name = "enlightenment"; name = "enlightenment";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ romildo ]; maintainers = [ romildo ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "environment"; name = "environment";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ]; maintainers = [ nequissimus ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "ergo"; name = "ergo";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ mmahut ]; maintainers = [ mmahut ];
}; };

View File

@ -97,7 +97,7 @@ import ./make-test-python.nix ({ pkgs, ... } : let
in { in {
name = "etcd"; name = "etcd";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ offline ]; maintainers = [ offline ];
}; };

View File

@ -3,7 +3,7 @@
import ./make-test-python.nix ({ pkgs, ... } : { import ./make-test-python.nix ({ pkgs, ... } : {
name = "etcd"; name = "etcd";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ offline ]; maintainers = [ offline ];
}; };

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "etesync-dav"; name = "etesync-dav";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ _3699n ]; maintainers = [ _3699n ];
}; };

View File

@ -29,7 +29,7 @@ in
{ {
name = "fenics"; name = "fenics";
meta = { meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ knedlsepp ]; maintainers = with pkgs.lib.maintainers; [ knedlsepp ];
}; };
nodes = { nodes = {

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "ferm"; name = "ferm";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ mic92 ]; maintainers = [ mic92 ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, esr ? false, ... }: { import ./make-test-python.nix ({ pkgs, esr ? false, ... }: {
name = "firefox"; name = "firefox";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ eelco shlevy ]; maintainers = [ eelco shlevy ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "firejail"; name = "firejail";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ sgo ]; maintainers = [ sgo ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ( { pkgs, ... } : { import ./make-test-python.nix ( { pkgs, ... } : {
name = "firewall"; name = "firewall";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ eelco ]; maintainers = [ eelco ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "freeswitch"; name = "freeswitch";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ misuzu ]; maintainers = [ misuzu ];
}; };
nodes = { nodes = {

View File

@ -9,7 +9,7 @@ let
in { in {
name = "gerrit"; name = "gerrit";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ flokli zimbatm ]; maintainers = [ flokli zimbatm ];
}; };

View File

@ -1,6 +1,6 @@
import ../make-test-python.nix ({ pkgs, ...} : { import ../make-test-python.nix ({ pkgs, ...} : {
name = "hub"; name = "hub";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ]; maintainers = [ nequissimus ];
}; };

View File

@ -7,7 +7,7 @@ let
in { in {
name = "gitdaemon"; name = "gitdaemon";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ tilpner ]; maintainers = [ tilpner ];
}; };

View File

@ -5,7 +5,7 @@ let
in in
import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
name = "gitlab"; name = "gitlab";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ globin ]; maintainers = [ globin ];
}; };

View File

@ -13,7 +13,7 @@ import ./make-test-python.nix (
{ {
name = "gitolite-fcgiwrap"; name = "gitolite-fcgiwrap";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ bbigras ]; maintainers = [ bbigras ];
}; };

View File

@ -51,7 +51,7 @@ in
{ {
name = "gitolite"; name = "gitolite";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ bjornfor ]; maintainers = [ bjornfor ];
}; };

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: import ./make-test-python.nix ({ pkgs, ... }:
{ {
name = "go-neb"; name = "go-neb";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ hexa maralorn ]; maintainers = [ hexa maralorn ];
}; };

View File

@ -11,7 +11,7 @@ in
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "gocd-agent"; name = "gocd-agent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ grahamc swarren83 ]; maintainers = [ grahamc swarren83 ];
# gocd agent needs to register with the autoregister key created on first server startup, # gocd agent needs to register with the autoregister key created on first server startup,

View File

@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
{ {
name = "gocd-server"; name = "gocd-server";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ swarren83 ]; maintainers = [ swarren83 ];
}; };

View File

@ -11,7 +11,7 @@ let
''; '';
in { in {
name = "google-oslogin"; name = "google-oslogin";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ adisbladis flokli ]; maintainers = [ adisbladis flokli ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : { import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "gotify-server"; name = "gotify-server";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ma27 ]; maintainers = [ ma27 ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "grocy"; name = "grocy";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ma27 ]; maintainers = [ ma27 ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "gvisor"; name = "gvisor";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ andrew-d ]; maintainers = [ andrew-d ];
}; };

View File

@ -2,7 +2,7 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "haka"; name = "haka";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ tvestelind ]; maintainers = [ tvestelind ];
}; };

View File

@ -9,7 +9,7 @@ in {
name = "handbrake"; name = "handbrake";
meta = { meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ danieldk ]; maintainers = with pkgs.lib.maintainers; [ danieldk ];
}; };
machine = { pkgs, ... }: { machine = { pkgs, ... }: {

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : { import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
name = "hardened"; name = "hardened";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ joachifm ]; maintainers = [ joachifm ];
}; };

View File

@ -1,7 +1,7 @@
import ../make-test-python.nix ({ pkgs, ... }: import ../make-test-python.nix ({ pkgs, ... }:
{ {
name = "hitch"; name = "hitch";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ jflanglois ]; maintainers = [ jflanglois ];
}; };
machine = { pkgs, ... }: { machine = { pkgs, ... }: {

View File

@ -1,6 +1,6 @@
import ../make-test-python.nix ({ pkgs, ...} : { import ../make-test-python.nix ({ pkgs, ...} : {
name = "test-hocker-fetchdocker"; name = "test-hocker-fetchdocker";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ ixmatus ]; maintainers = [ ixmatus ];
broken = true; # tries to download from registry-1.docker.io - how did this ever work? broken = true; # tries to download from registry-1.docker.io - how did this ever work?
}; };

View File

@ -6,7 +6,7 @@ let
mqttPassword = "secret"; mqttPassword = "secret";
in { in {
name = "home-assistant"; name = "home-assistant";
meta = with pkgs.stdenv.lib; { meta = with pkgs.lib; {
maintainers = with maintainers; [ dotlambda ]; maintainers = with maintainers; [ dotlambda ];
}; };

View File

@ -13,7 +13,7 @@ let
in in
makeTest { makeTest {
name = "hostname-${fqdn}"; name = "hostname-${fqdn}";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ primeos blitz ]; maintainers = [ primeos blitz ];
}; };

View File

@ -1,7 +1,7 @@
# Test whether `houndd` indexes nixpkgs # Test whether `houndd` indexes nixpkgs
import ./make-test-python.nix ({ pkgs, ... } : { import ./make-test-python.nix ({ pkgs, ... } : {
name = "hound"; name = "hound";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ grahamc ]; maintainers = [ grahamc ];
}; };
machine = { pkgs, ... }: { machine = { pkgs, ... }: {

View File

@ -19,7 +19,7 @@
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh"; installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh";
postFixup = '' postFixup = ''
wrapProgram "$out/bin/create-trivial-project.sh" --prefix PATH ":" ${pkgs.stdenv.lib.makeBinPath [ pkgs.curl ]} --set EXPR_PATH ${trivialJob} wrapProgram "$out/bin/create-trivial-project.sh" --prefix PATH ":" ${pkgs.lib.makeBinPath [ pkgs.curl ]} --set EXPR_PATH ${trivialJob}
''; '';
}; };
in { in {

View File

@ -16,7 +16,7 @@ let
makeHydraTest = with pkgs.lib; name: package: makeTest { makeHydraTest = with pkgs.lib; name: package: makeTest {
name = "hydra-${name}"; name = "hydra-${name}";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ pstn lewo ma27 ]; maintainers = [ pstn lewo ma27 ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "i3wm"; name = "i3wm";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ aszlig ]; maintainers = [ aszlig ];
}; };

View File

@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "icingaweb2"; name = "icingaweb2";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ das_j ]; maintainers = [ das_j ];
}; };

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