Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900 2025-05-28 11:42:18 +03:00
commit a3612e2210
807 changed files with 39720 additions and 38888 deletions

View File

@ -115,8 +115,8 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
### Updating supported compilers and GPUs {#updating-supported-compilers-and-gpus}
1. Update `nvcc-compatibilities.nix` in `pkgs/development/cuda-modules/` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `gpus.nix` in `pkgs/development/cuda-modules/` to include any new GPUs supported by the new release of CUDA.
1. Update `nvccCompatibilities` in `pkgs/development/cuda-modules/_cuda/data/nvcc.nix` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `cudaCapabilityToInfo` in `pkgs/development/cuda-modules/_cuda/data/cuda.nix` to include any new GPUs supported by the new release of CUDA.
### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}

View File

@ -583,6 +583,14 @@ rec {
# https://github.com/llvm/llvm-project/pull/132173
cmodel = "medium";
};
linux-kernel = {
name = "loongarch-multiplatform";
target = "vmlinuz.efi";
autoModules = true;
preferBuiltin = true;
baseConfig = "defconfig";
DTB = true;
};
};
# This function takes a minimally-valid "platform" and returns an
@ -611,6 +619,9 @@ rec {
else if platform.isAarch64 then
if platform.isDarwin then apple-m1 else aarch64-multiplatform
else if platform.isLoongArch64 then
loongarch64-multiplatform
else if platform.isRiscV then
riscv-multiplatform

View File

@ -13037,12 +13037,6 @@
githubId = 843652;
name = "Kim Burgess";
};
kindrowboat = {
email = "hello@kindrobot.ca";
github = "kindrowboat";
githubId = 777773;
name = "Stef Dunlap";
};
kini = {
email = "keshav.kini@gmail.com";
github = "kini";
@ -17609,7 +17603,7 @@
};
nicoo = {
email = "nicoo@debian.org";
github = "nbraud";
github = "nicoonoclaste";
githubId = 1155801;
name = "nicoo";
keys = [ { fingerprint = "E44E 9EA5 4B8E 256A FB73 49D3 EC9D 3708 72BC 7A8C"; } ];
@ -22924,6 +22918,11 @@
matrix = "@c3n21:matrix.org";
githubId = 37077738;
};
sinjin2300 = {
name = "Sinjin";
github = "Sinjin2300";
githubId = 35543336;
};
sioodmy = {
name = "Antoni Sokołowski";
github = "sioodmy";

View File

@ -1,16 +1,23 @@
#!/usr/bin/env bash
# Find alleged cherry-picks
set -e
set -eo pipefail
if [ $# != "2" ] ; then
echo "usage: check-cherry-picks.sh base_rev head_rev"
exit 2
fi
# Make sure we are inside the nixpkgs repo, even when called from outside
cd "$(dirname "${BASH_SOURCE[0]}")"
PICKABLE_BRANCHES=${PICKABLE_BRANCHES:-master staging release-??.?? staging-??.??}
problem=0
commits="$(git rev-list \
-E -i --grep="cherry.*[0-9a-f]{40}" --reverse \
"$1..$2")"
while read new_commit_sha ; do
if [ -z "$new_commit_sha" ] ; then
continue # skip empty lines
@ -88,10 +95,6 @@ while read new_commit_sha ; do
echo "$original_commit_sha not found in any pickable branch"
problem=1
done <<< "$(
git rev-list \
-E -i --grep="cherry.*[0-9a-f]{40}" --reverse \
"$1..$2"
)"
done <<< "$commits"
exit $problem

View File

@ -27,3 +27,6 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `services.clamsmtp` is unmaintained and was removed from Nixpkgs.
- `amdgpu` kernel driver overdrive mode can now be enabled by setting [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable) and customized through [hardware.amdgpu.overdrive.ppfeaturemask](#opt-hardware.amdgpu.overdrive.ppfeaturemask).
This allows for fine-grained control over the GPU's performance and maybe required by overclocking softwares like Corectrl and Lact. These new options replace old options such as {option}`programs.corectrl.gpuOverclock.enable` and {option}`programs.tuxclocker.enableAMD`.

View File

@ -8,13 +8,23 @@ let
inherit (lib)
mkEnableOption
mkIf
mkOption
mkPackageOption
;
cfg = config.programs.corectrl;
in
{
imports = [
(lib.mkRenamedOptionModule
[ "programs" "corectrl" "gpuOverclock" "enable" ]
[ "hardware" "amdgpu" "overdrive" "enable" ]
)
(lib.mkRenamedOptionModule
[ "programs" "corectrl" "gpuOverclock" "ppfeaturemask" ]
[ "hardware" "amdgpu" "overdrive" "ppfeaturemask" ]
)
];
options.programs.corectrl = {
enable = mkEnableOption ''
CoreCtrl, a tool to overclock amd graphics cards and processors.
@ -24,23 +34,6 @@ in
package = mkPackageOption pkgs "corectrl" {
extraDescription = "Useful for overriding the configuration options used for the package.";
};
gpuOverclock = {
enable = mkEnableOption ''
GPU overclocking
'';
ppfeaturemask = mkOption {
type = lib.types.str;
default = "0xfffd7fff";
example = "0xffffffff";
description = ''
Sets the `amdgpu.ppfeaturemask` kernel option.
In particular, it is used here to set the overdrive bit.
Default is `0xfffd7fff` as it is less likely to cause flicker issues.
Setting it to `0xffffffff` enables all features.
'';
};
};
};
config = mkIf cfg.enable {
@ -61,12 +54,6 @@ in
}
});
'';
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n169
# The overdrive bit
boot.kernelParams = mkIf cfg.gpuOverclock.enable [
"amdgpu.ppfeaturemask=${cfg.gpuOverclock.ppfeaturemask}"
];
};
meta.maintainers = with lib.maintainers; [

View File

@ -8,7 +8,7 @@
{
meta = {
maintainers = lib.teams.gnome.members;
maintainers = [ ];
};
###### interface
@ -37,11 +37,6 @@
environment.systemPackages = [ pkgs.telepathy-mission-control ];
services.dbus.packages = [ pkgs.telepathy-mission-control ];
# Enable runtime optional telepathy in gnome-shell
services.xserver.desktopManager.gnome.sessionPath = with pkgs; [
telepathy-glib
];
};
}

View File

@ -16,20 +16,43 @@ in
series cards. Note: this removes support for analog video outputs,
which is only available in the `radeon` driver
'';
initrd.enable = lib.mkEnableOption ''
loading `amdgpu` kernelModule in stage 1.
Can fix lower resolution in boot screen during initramfs phase
'';
overdrive = {
enable = lib.mkEnableOption ''`amdgpu` overdrive mode for overclocking'';
ppfeaturemask = lib.mkOption {
type = lib.types.str;
default = "0xfffd7fff";
example = "0xffffffff";
description = ''
Sets the `amdgpu.ppfeaturemask` kernel option. It can be used to enable the overdrive bit.
Default is `0xfffd7fff` as it is less likely to cause flicker issues. Setting it to
`0xffffffff` enables all features, but also can be unstable. See
[the kernel documentation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n169)
for more information.
'';
};
};
opencl.enable = lib.mkEnableOption ''OpenCL support using ROCM runtime library'';
# cfg.amdvlk option is defined in ./amdvlk.nix module
};
config = {
boot.kernelParams = lib.optionals cfg.legacySupport.enable [
boot.kernelParams =
lib.optionals cfg.legacySupport.enable [
"amdgpu.si_support=1"
"amdgpu.cik_support=1"
"radeon.si_support=0"
"radeon.cik_support=0"
]
++ lib.optionals cfg.overdrive.enable [
"amdgpu.ppfeaturemask=${cfg.overdrive.ppfeaturemask}"
];
boot.initrd.kernelModules = lib.optionals cfg.initrd.enable [ "amdgpu" ];

View File

@ -13,7 +13,7 @@ let
haveAliases = cfg.postmasterAlias != "" || cfg.rootAlias != "" || cfg.extraAliases != "";
haveCanonical = cfg.canonical != "";
haveTransport = cfg.transport != "";
haveTransport = cfg.transport != "" || (cfg.enableSlowDomains && cfg.slowDomains != [ ]);
haveVirtual = cfg.virtual != "";
haveLocalRecipients = cfg.localRecipients != null;
@ -319,13 +319,20 @@ let
aliasesFile = pkgs.writeText "postfix-aliases" aliases;
canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical;
virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual;
transportFile = pkgs.writeText "postfix-transport" (
lib.optionalString (cfg.enableSlowDomains && cfg.slowDomains != [ ]) (
lib.concatMapStrings (domain: ''
${domain} slow:
'') cfg.slowDomains
)
+ cfg.transport
);
localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (
lib.concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients
);
checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides;
mainCfFile = pkgs.writeText "postfix-main.cf" mainCf;
masterCfFile = pkgs.writeText "postfix-master.cf" masterCfContent;
transportFile = pkgs.writeText "postfix-transport" cfg.transport;
headerChecksFile = pkgs.writeText "postfix-header-checks" headerChecks;
in
@ -550,6 +557,32 @@ in
'';
};
enableSlowDomains = lib.mkEnableOption "slow domains feature for rate limiting specific domains";
slowDomains = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
example = [
"orange.fr"
"gmail.com"
];
description = "List of domains to be rate-limited using the slow transport.";
};
slowDomainsConfig = {
defaultDestinationRateDelay = lib.mkOption {
type = lib.types.str;
default = "5s";
description = "Default rate delay for destinations.";
};
defaultDestinationConcurrencyLimit = lib.mkOption {
type = lib.types.int;
default = 3;
description = "Concurrency limit for slow destinations.";
};
};
aliasMapType = lib.mkOption {
type =
with lib.types;
@ -985,7 +1018,10 @@ in
smtpd_tls_key_file = cfg.sslKey;
smtpd_tls_security_level = lib.mkDefault "may";
}
// lib.optionalAttrs cfg.enableSlowDomains {
default_destination_rate_delay = cfg.slowDomainsConfig.defaultDestinationRateDelay;
default_destination_concurrency_limit = cfg.slowDomainsConfig.defaultDestinationConcurrencyLimit;
};
services.postfix.masterConfig =
@ -1077,6 +1113,14 @@ in
lib.concatLists (lib.mapAttrsToList mkKeyVal cfg.submissionOptions);
};
}
// lib.optionalAttrs cfg.enableSlowDomains {
slow = {
command = "smtp";
type = "unix";
private = true;
maxproc = 2;
};
}
// lib.optionalAttrs cfg.enableSmtp {
smtp_inet = {
name = "smtp";
@ -1128,7 +1172,7 @@ in
(lib.mkIf haveCanonical {
services.postfix.mapFiles.canonical = canonicalFile;
})
(lib.mkIf haveTransport {
(lib.mkIf (haveTransport || (cfg.enableSlowDomains && cfg.slowDomains != [ ])) {
services.postfix.mapFiles.transport = transportFile;
})
(lib.mkIf haveVirtual {

View File

@ -132,6 +132,21 @@ in
"@system-service"
"~@privileged"
];
SupplementaryGroups = [ "render" ]; # for rocm to access /dev/dri/renderD* devices
DeviceAllow = [
# CUDA
# https://docs.nvidia.com/dgx/pdf/dgx-os-5-user-guide.pdf
"char-nvidiactl"
"char-nvidia-caps"
"char-nvidia-frontend"
"char-nvidia-uvm"
# ROCm
"char-drm"
"char-fb"
"char-kfd"
# WSL (Windows Subsystem for Linux)
"/dev/dxg"
];
};
};

View File

@ -8,16 +8,18 @@ let
cfg = config.programs.tuxclocker;
in
{
imports = [
(lib.mkRenamedOptionModule
[ "programs" "tuxclocker" "enableAMD" ]
[ "hardware" "amdgpu" "overdrive" "enable" ]
)
];
options.programs.tuxclocker = {
enable = lib.mkEnableOption ''
TuxClocker, a hardware control and monitoring program
'';
enableAMD = lib.mkEnableOption ''
AMD GPU controls.
Sets the `amdgpu.ppfeaturemask` kernel parameter to 0xfffd7fff to enable all TuxClocker controls
'';
enabledNVIDIADevices = lib.mkOption {
type = lib.types.listOf lib.types.int;
default = [ ];
@ -72,9 +74,5 @@ in
);
in
lib.concatStrings (map configSection cfg.enabledNVIDIADevices);
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n207
# Enable everything modifiable in TuxClocker
boot.kernelParams = lib.mkIf cfg.enableAMD [ "amdgpu.ppfeaturemask=0xfffd7fff" ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,12 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
baud = 57600;
tty = "/dev/ttyACM0";
port = "tnc0";
socatPort = 1234;
createAX25Node = nodeId: {
boot.kernelPackages = pkgs.linuxPackages_ham;
boot.kernelModules = [ "ax25" ];
@ -48,8 +46,8 @@ import ./make-test-python.nix (
};
};
};
in
{
in
{
name = "ax25Simple";
nodes = {
node1 = lib.mkMerge [
@ -127,5 +125,4 @@ import ./make-test-python.nix (
node2.sleep(1)
node2.succeed("journalctl -o cat -u axlisten.service | grep -A1 \"NOCALL-3 to NOCALL-2 ctl I00\" | grep hello")
'';
}
)
}

View File

@ -1,9 +1,8 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
user = "alice";
in
{
in
{
name = "benchexec";
nodes.benchexec = {
@ -60,5 +59,4 @@ import ./make-test-python.nix (
}
];
};
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "bitcoind";
meta = with pkgs.lib; {
maintainers = with maintainers; [ _1000101 ];
@ -53,5 +52,4 @@ import ./make-test-python.nix (
'curl --fail --user rpc2:rpc2 --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:18332 | grep \'"chain":"test"\' '
)
'';
}
)
}

View File

@ -6,10 +6,9 @@
# which only works if the first client successfully uses the UPnP-IGD
# protocol to poke a hole in the NAT.
import ./make-test-python.nix (
{ pkgs, ... }:
{ pkgs, ... }:
let
let
# Some random file to serve.
file = pkgs.hello.src;
@ -34,9 +33,9 @@ import ./make-test-python.nix (
};
};
};
in
in
{
{
name = "bittorrent";
meta = with pkgs.lib.maintainers; {
maintainers = [
@ -200,5 +199,4 @@ import ./make-test-python.nix (
"cmp ${download-dir}/test.tar.bz2 ${file}"
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "blockbook-frontend";
meta = with pkgs.lib; {
maintainers = with maintainers; [ _1000101 ];
@ -29,5 +28,4 @@ import ./make-test-python.nix (
machine.succeed("curl -sSfL http://localhost:9030 | grep 'Blockbook'")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "boot-stage1";
nodes.machine =
@ -189,5 +188,4 @@ import ./make-test-python.nix (
'';
meta.maintainers = with pkgs.lib.maintainers; [ aszlig ];
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "boot-stage2";
nodes.machine =
@ -129,5 +128,4 @@ import ./make-test-python.nix (
'';
meta.maintainers = with pkgs.lib.maintainers; [ numinit ];
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{ pkgs, ... }:
let
let
passphrase = "supersecret";
dataDir = "/ran:dom/data";
subDir = "not_anything_here";
@ -39,8 +38,8 @@ import ./make-test-python.nix (
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFpxm7PUQsZB2Ejs8Xp0YVp8IOW+HylIRzhweORbRCMv root@client
'';
in
{
in
{
name = "borgbackup";
meta = with pkgs.lib; {
maintainers = with maintainers; [ dotlambda ];
@ -272,5 +271,4 @@ import ./make-test-python.nix (
client.wait_until_succeeds("systemd-inhibit --list | grep -q borgbackup")
client.systemctl("stop borgbackup-job-sleepInhibited")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "borgmatic";
nodes.machine =
{ ... }:
@ -24,5 +23,4 @@ import ./make-test-python.nix (
machine.succeed("borgmatic rcreate -e none")
machine.succeed("borgmatic")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "bpftune";
@ -21,5 +20,4 @@ import ./make-test-python.nix (
machine.wait_for_console_text("bpftune works")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, ... }:
{
{ lib, ... }:
{
name = "breitbandmessung";
meta.maintainers = with lib.maintainers; [ b4dm4n ];
@ -37,5 +36,4 @@ import ./make-test-python.nix (
machine.wait_for_text("Datenschutz")
machine.screenshot("breitbandmessung")
'';
}
)
}

View File

@ -1,9 +1,8 @@
# integration tests for brscan5 sane driver
#
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "brscan5";
meta = with pkgs.lib.maintainers; {
maintainers = [ mattchrist ];
@ -49,5 +48,4 @@ import ./make-test-python.nix (
assert """device `brother5:net1;dev0' is a Brother b ADS-1200""" in scanimage
assert """device `brother5:net1;dev1' is a Brother a ADS-1200""" in scanimage
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{ pkgs, ... }:
let
let
privateKey = ''
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
@ -14,8 +13,8 @@ import ./make-test-python.nix (
publicKey = ''
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHxQHThDpD9/AMWNqQer3Tg9gXMb2lTZMn0pelo8xyv
'';
in
{
in
{
name = "btrbk-doas";
meta = with pkgs.lib; {
maintainers = with maintainers; [
@ -124,5 +123,4 @@ import ./make-test-python.nix (
main.succeed("echo baz > /mnt/to_backup/bar")
archive.succeed("cat /mnt/*/bar | grep bar")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "btrbk-no-timer";
meta.maintainers = with lib.maintainers; [ oxalica ];
@ -37,5 +36,4 @@ import ./make-test-python.nix (
machine.start_job("btrbk-local.service")
machine.wait_until_succeeds("cat /mnt/btrbk/local/*/bar | grep foo")
'';
}
)
}

View File

@ -6,9 +6,8 @@
# order-sensitive config format.
#
# Issue: https://github.com/NixOS/nixpkgs/issues/195660
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "btrbk-section-order";
meta.maintainers = with lib.maintainers; [ oxalica ];
@ -57,5 +56,4 @@ import ./make-test-python.nix (
print("".join(diff))
assert got == expect
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{ pkgs, ... }:
let
let
privateKey = ''
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
@ -14,8 +13,8 @@ import ./make-test-python.nix (
publicKey = ''
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHxQHThDpD9/AMWNqQer3Tg9gXMb2lTZMn0pelo8xyv
'';
in
{
in
{
name = "btrbk";
meta = with pkgs.lib; {
maintainers = with maintainers; [ symphorien ];
@ -118,5 +117,4 @@ import ./make-test-python.nix (
main.succeed("echo baz > /mnt/to_backup/bar")
archive.succeed("cat /mnt/*/bar | grep bar")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "budgie";
meta.maintainers = lib.teams.budgie.members;
@ -100,5 +99,4 @@ import ./make-test-python.nix (
machine.sleep(10)
machine.screenshot("screen")
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{ lib, pkgs, ... }:
{
{
name = "buildkite-agent";
meta.maintainers = with lib.maintainers; [ flokli ];
@ -29,5 +28,4 @@ import ./make-test-python.nix (
machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "c2FmZQ";
meta.maintainers = with lib.maintainers; [ hmenke ];
@ -83,5 +82,4 @@ import ./make-test-python.nix (
with subtest("A setting with false value is properly passed"):
machine.succeed("systemctl show -p ExecStart --value c2fmzq-server.service | grep -F -- '--licenses=false'");
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{ pkgs, ... }:
{
{
name = "cage";
meta = with pkgs.lib.maintainers; {
maintainers = [ matthewbauer ];
@ -40,5 +39,4 @@ import ./make-test-python.nix (
machine.wait_for_text("alice@machine")
machine.screenshot("screen")
'';
}
)
}

View File

@ -1,14 +1,13 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{ pkgs, lib, ... }:
let
let
cagebreakConfigfile = pkgs.writeText "config" ''
workspaces 1
escape C-t
bind t exec env DISPLAY=:0 ${pkgs.xterm}/bin/xterm -cm -pc
'';
in
{
in
{
name = "cagebreak";
meta = with pkgs.lib.maintainers; {
maintainers = [ berbiche ];
@ -68,5 +67,4 @@ import ./make-test-python.nix (
# machine.screenshot("screen")
# machine.send_key("ctrl-d")
'';
}
)
}

View File

@ -1,10 +1,9 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
{ pkgs, ... }:
let
certs = import ./common/acme/server/snakeoil-certs.nix;
inherit (certs) domain;
in
{
in
{
name = "canaille";
meta.maintainers = with pkgs.lib.maintainers; [ erictapen ];
@ -58,5 +57,4 @@ import ./make-test-python.nix (
assert json.loads(json_str)[0]["user_name"] == "admin"
server.succeed("sudo -iu canaille -- canaille config check")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "castopod";
meta = with lib.maintainers; {
maintainers = [ alexoundos ];
@ -246,5 +245,4 @@ import ./make-test-python.nix (
client.succeed(\
"PYTHONUNBUFFERED=1 systemd-cat -t browser-test browser-test")
'';
}
)
}

View File

@ -1,8 +1,7 @@
# This test checks charliecloud image construction and run
import ./make-test-python.nix (
{ pkgs, ... }:
let
{ pkgs, ... }:
let
dockerfile = pkgs.writeText "Dockerfile" ''
FROM nix
@ -11,8 +10,8 @@ import ./make-test-python.nix (
CMD ["true"]
'';
in
{
in
{
name = "charliecloud";
meta = with pkgs.lib.maintainers; {
maintainers = [ bzizou ];
@ -45,5 +44,4 @@ import ./make-test-python.nix (
host.succeed('su - alice -c "ch-tar2dir /var/tmp/hello.tar.gz /var/tmp"')
host.succeed('su - alice -c "ch-run /var/tmp/hello -- echo Running_From_Container_OK"')
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "cinnamon-wayland";
meta.maintainers = lib.teams.cinnamon.members;
@ -80,5 +79,4 @@ import ./make-test-python.nix (
with subtest("Check if Cinnamon has ever coredumped"):
machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "cinnamon";
meta.maintainers = lib.teams.cinnamon.members;
@ -100,5 +99,4 @@ import ./make-test-python.nix (
with subtest("Check if Cinnamon has ever coredumped"):
machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'")
'';
}
)
}

View File

@ -18,9 +18,8 @@ let
in
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "cjdns";
meta = with pkgs.lib.maintainers; {
maintainers = [ ehmry ];
@ -130,5 +129,4 @@ import ./make-test-python.nix (
bob.succeed("curl --fail -g http://[{}]".format(alice_ip6))
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "clickhouse";
meta.maintainers = with pkgs.lib.maintainers; [ ];
@ -31,5 +30,4 @@ import ./make-test-python.nix (
"cat ${selectQuery} | clickhouse-client | grep foo"
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "cloudlog";
meta = {
maintainers = with pkgs.lib.maintainers; [ melling ];
@ -17,5 +16,4 @@ import ./make-test-python.nix (
machine.wait_for_open_port(80);
machine.wait_until_succeeds("curl -s -L --fail http://localhost | grep 'Login - Cloudlog'")
'';
}
)
}

View File

@ -1,11 +1,10 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{ pkgs, lib, ... }:
let
let
user = "alice"; # from ./common/user-account.nix
password = "foobar"; # from ./common/user-account.nix
in
{
in
{
name = "cockpit";
meta = {
maintainers = with lib.maintainers; [ lucasew ];
@ -152,5 +151,4 @@ import ./make-test-python.nix (
print(client.succeed("whoami"))
client.succeed('PYTHONUNBUFFERED=1 selenium-script')
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "code-server";
nodes = {
@ -22,5 +21,4 @@ import ./make-test-python.nix (
'';
meta.maintainers = [ lib.maintainers.drupol ];
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "coder";
meta.maintainers = pkgs.coder.meta.maintainers;
@ -21,5 +20,4 @@ import ./make-test-python.nix (
machine.succeed("curl --fail http://localhost:3000")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "collectd";
meta = { };
@ -37,5 +36,4 @@ import ./make-test-python.nix (
machine.succeed(f"cp {file} before")
machine.wait_until_fails(f"cmp before {file}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, ... }:
{
{ lib, ... }:
{
name = "commafeed";
nodes.server = {
@ -17,5 +16,4 @@ import ./make-test-python.nix (
'';
meta.maintainers = [ lib.maintainers.raroh73 ];
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "connman";
meta = with lib.maintainers; {
maintainers = [ rnhmjoj ];
@ -81,5 +80,4 @@ import ./make-test-python.nix (
client.wait_until_succeeds("connmanctl tether wifi on nixos-test reproducibility | grep -q 'Enabled'")
client.wait_until_succeeds("iw wlan0 info | grep -q nixos-test")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ ... }:
{
{ ... }:
{
name = "consul-template";
nodes.machine =
@ -39,5 +38,4 @@ import ./make-test-python.nix (
machine.wait_for_file("/example")
machine.succeed('grep "example" /example')
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{ pkgs, lib, ... }:
let
let
# Settings for both servers and agents
webUi = true;
retry_interval = "1s";
@ -114,8 +113,8 @@ import ./make-test-python.nix (
};
};
};
in
{
in
{
name = "consul";
nodes = {
@ -263,5 +262,4 @@ import ./make-test-python.nix (
print("rolling_restart_test(proper_rolling_procedure=False)")
rolling_restart_test(proper_rolling_procedure=False)
'';
}
)
}

View File

@ -5,9 +5,8 @@ let
containerIp6 = "fc00::2/7";
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-bridge";
meta = {
maintainers = with lib.maintainers; [
@ -110,5 +109,4 @@ import ./make-test-python.nix (
# Destroying a declarative container should fail.
machine.fail("nixos-container destroy webserver")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
customPkgs = pkgs.appendOverlays [
(self: super: {
@ -10,8 +9,8 @@ import ./make-test-python.nix (
})
];
in
{
in
{
name = "containers-custom-pkgs";
meta = {
maintainers = with lib.maintainers; [ erikarvstedt ];
@ -44,5 +43,4 @@ import ./make-test-python.nix (
# This test only consists of evaluating the test machine
testScript = "pass";
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-ephemeral";
meta = {
maintainers = with lib.maintainers; [ patryk27 ];
@ -55,5 +54,4 @@ import ./make-test-python.nix (
with subtest("Container's root folder was removed"):
machine.fail("ls /run/nixos-containers/webserver")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-extra_veth";
meta = {
maintainers = with lib.maintainers; [ kampfschlaefer ];
@ -111,5 +110,4 @@ import ./make-test-python.nix (
with subtest("Destroying a declarative container should fail"):
machine.fail("nixos-container destroy webserver")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-hosts";
meta = {
maintainers = with lib.maintainers; [ montag451 ];
@ -51,5 +50,4 @@ import ./make-test-python.nix (
for host in "simple.containers", "netmask.containers":
machine.succeed(f"ping -n -c 1 {host}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-imperative";
meta = {
maintainers = with lib.maintainers; [
@ -33,7 +32,7 @@ import ./make-test-python.nix (
let
emptyContainer = import ../lib/eval-config.nix {
modules = lib.singleton {
nixpkgs = { inherit (config.nixpkgs) localSystem; };
nixpkgs.hostPlatform = { inherit (pkgs.stdenv.hostPlatform) system; };
containers.foo.config = { };
};
@ -193,5 +192,4 @@ import ./make-test-python.nix (
)
machine.succeed("test ! -e /var/lib/nixos-containers/b0rk")
'';
}
)
}

View File

@ -12,9 +12,8 @@ let
};
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-ipv4-ipv6";
meta = {
maintainers = with lib.maintainers; [
@ -78,5 +77,4 @@ import ./make-test-python.nix (
# Destroying a declarative container should fail.
machine.fail(f"nixos-container destroy {container}")
'';
}
)
}

View File

@ -4,9 +4,8 @@ let
containerIp2 = "192.168.1.254";
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-macvlans";
meta = {
maintainers = with lib.maintainers; [ montag451 ];
@ -96,5 +95,4 @@ import ./make-test-python.nix (
machine2.succeed("ping -n -c 1 ${containerIp1}")
machine2.succeed("ping -n -c 1 ${containerIp2}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-names";
meta = {
maintainers = with lib.maintainers; [ patryk27 ];
@ -40,5 +39,4 @@ import ./make-test-python.nix (
machine.succeed("ip link show | grep ve-really-lFYWO")
machine.succeed("ip link show | grep ve-really-l3QgY")
'';
}
)
}

View File

@ -1,8 +1,7 @@
# Test for NixOS' container nesting.
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "nested";
meta = with pkgs.lib.maintainers; {
@ -32,5 +31,4 @@ import ./make-test-python.nix (
)
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-physical_interfaces";
meta = {
maintainers = with lib.maintainers; [ kampfschlaefer ];
@ -149,5 +148,4 @@ import ./make-test-python.nix (
"nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1",
)
'';
}
)
}

View File

@ -5,9 +5,8 @@ let
containerPort = 80;
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-portforward";
meta = {
maintainers = with lib.maintainers; [
@ -69,5 +68,4 @@ import ./make-test-python.nix (
machine.fail("nixos-container destroy webserver")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-reloadable";
meta = {
maintainers = with lib.maintainers; [ danbst ];
@ -57,5 +56,4 @@ import ./make-test-python.nix (
machine.fail("systemctl status httpd -M test1 >&2")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, ... }:
{
{ lib, ... }:
{
name = "containers-require-bind-mounts";
meta.maintainers = with lib.maintainers; [ kira-bruneau ];
@ -36,5 +35,4 @@ import ./make-test-python.nix (
assert "down" in machine.succeed("nixos-container status require-bind-mounts")
assert "inactive" in machine.fail("systemctl is-active srv-data.mount")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-restart_networking";
meta = {
maintainers = with lib.maintainers; [ kampfschlaefer ];
@ -127,5 +126,4 @@ import ./make-test-python.nix (
client.fail("grep eth1 /run/br0.interfaces >&2")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-tmpfs";
meta = {
maintainers = with lib.maintainers; [ patryk27 ];
@ -89,5 +88,4 @@ import ./make-test-python.nix (
)
machine.fail(tmpfs_cmd("ls -l /var | grep -q test.file"))
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "containers-unified-hierarchy";
meta = {
maintainers = with lib.maintainers; [ farnoy ];
@ -22,5 +21,4 @@ import ./make-test-python.nix (
machine.succeed("echo 'stat -fc %T /sys/fs/cgroup/ | grep cgroup2fs' | nixos-container root-login test-container")
'';
}
)
}

View File

@ -1,10 +1,9 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{ lib, pkgs, ... }:
let
let
port = 3333;
in
{
in
{
name = "convos";
meta.maintainers = with lib.maintainers; [ sgo ];
@ -24,5 +23,4 @@ import ./make-test-python.nix (
machine.wait_for_open_port(${toString port})
machine.succeed("curl -f http://localhost:${toString port}/")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "coturn";
nodes = {
default = {
@ -34,5 +33,4 @@ import ./make-test-python.nix (
default.log(default.execute("systemd-analyze security coturn.service | grep -v ''")[1])
'';
}
)
}

View File

@ -14,9 +14,8 @@ let
testpass = "cowabunga";
testlogin = "${testuser}:${testpass}@";
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "couchdb";
meta.maintainers = [ ];
@ -60,5 +59,4 @@ import ./make-test-python.nix (
"${curlJqCheck testlogin "GET" "_node/couchdb@127.0.0.1" ".couchdb" "Welcome"}"
)
'';
}
)
}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{ lib, pkgs, ... }:
{
{
name = "crabfit";
meta.maintainers = [ ];
@ -29,5 +28,4 @@ import ./make-test-python.nix (
machine.succeed("curl -f http://localhost:3001/")
'';
}
)
}

View File

@ -1,14 +1,13 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
{ pkgs, ... }:
let
client =
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.croc ];
};
pass = "PassRelay";
in
{
in
{
name = "croc";
meta = with pkgs.lib.maintainers; {
maintainers = [
@ -55,5 +54,4 @@ import ./make-test-python.nix (
assert "Hello World" in receiver.succeed("cat testfile01.txt")
assert "Hello Earth" in receiver.succeed("cat testfile02.txt")
'';
}
)
}

View File

@ -24,9 +24,8 @@
uses upstream for its tests.
*/
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
# Update with domains in TestImpersonate.TEST_URLS if needed from:
# https://github.com/lwthiker/curl-impersonate/blob/main/tests/test_impersonate.py
domains = [
@ -130,8 +129,8 @@ import ./make-test-python.nix (
cd tests
pytest . --install-dir ../usr --capture-interface eth1 --exitfirst -k 'not test_http2_headers'
'';
in
{
in
{
name = "curl-impersonate";
meta = with lib.maintainers; {
@ -201,5 +200,4 @@ import ./make-test-python.nix (
with subtest("Run curl-impersonate tests"):
curl.succeed("${curl-impersonate-test}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "dae";
@ -34,5 +33,4 @@ import ./make-test-python.nix (
machine.succeed("curl --fail --max-time 10 http://localhost")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "db-rest";
meta.maintainers = with pkgs.lib.maintainers; [ marie ];
@ -121,5 +120,4 @@ import ./make-test-python.nix (
client.succeed("curl --fail --get http://192.168.2.12:3000/stations --data-urlencode 'query=Köln Hbf' | jq -r '.\"8000207\".name' | grep 'Köln Hbf'")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, ... }:
{
{ lib, ... }:
{
name = "dconf";
meta.maintainers = with lib.maintainers; [
@ -40,5 +39,4 @@ import ./make-test-python.nix (
machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"")
machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"")
'';
}
)
}

View File

@ -1,9 +1,8 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
port = 6000;
in
{
in
{
name = "ddns-updater";
meta.maintainers = with lib.maintainers; [ delliott ];
@ -24,5 +23,4 @@ import ./make-test-python.nix (
machine.wait_for_open_port(${toString port})
machine.succeed("curl --fail http://localhost:${toString port}/")
'';
}
)
}

View File

@ -1,9 +1,8 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
httpPort = 800;
in
{
in
{
name = "deconz";
meta.maintainers = with lib.maintainers; [
@ -33,5 +32,4 @@ import ./make-test-python.nix (
machine.wait_for_unit("deconz.service")
machine.succeed("curl -sfL http://localhost:${toString httpPort}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "deepin";
meta.maintainers = lib.teams.deepin.members;
@ -53,5 +52,4 @@ import ./make-test-python.nix (
machine.sleep(20)
machine.screenshot("screen")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "deluge";
meta = with pkgs.lib.maintainers; {
maintainers = [ flokli ];
@ -65,5 +64,4 @@ import ./make-test-python.nix (
"(deluge-console 'connect 127.0.0.1:58846 andrew password; help' || true) | grep -q 'rm.*Remove a torrent'"
)
'';
}
)
}

View File

@ -1,9 +1,8 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
{ pkgs, ... }:
let
dependencyTrackPort = 8081;
in
{
in
{
name = "dependency-track";
meta = {
maintainers = pkgs.lib.teams.cyberus.members;
@ -67,5 +66,4 @@ import ./make-test-python.nix (
with subtest("nginx serves frontend"):
server.succeed("curl http://localhost/ | grep \"<title>Dependency-Track</title>\"")
'';
}
)
}

View File

@ -1,9 +1,8 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
{ pkgs, ... }:
let
server-port = 3141;
in
{
in
{
name = "devpi-server";
meta = with pkgs.lib.maintainers; {
maintainers = [ cafkafk ];
@ -39,5 +38,4 @@ import ./make-test-python.nix (
client1.succeed("devpi getjson http://devpi:${builtins.toString server-port}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, ... }:
{
{ lib, ... }:
{
name = "dex-oidc";
meta.maintainers = with lib.maintainers; [ Flakebi ];
@ -80,5 +79,4 @@ import ./make-test-python.nix (
f"curl -fs localhost:8080/dex/userinfo --oauth2-bearer {bearer}"
)
'';
}
)
}

View File

@ -1,11 +1,10 @@
import ./make-test-python.nix (
{
{
pkgs,
latestKernel ? false,
...
}:
}:
{
{
name = "disable-installer-tools";
nodes.machine =
@ -31,5 +30,4 @@ import ./make-test-python.nix (
with subtest("perl should not be included"):
machine.fail("which perl")
'';
}
)
}

View File

@ -3,14 +3,13 @@
# 2. sending a private message to the admin user through the API
# 3. replying to that message via email.
import ./make-test-python.nix (
{
{
pkgs,
lib,
package ? pkgs.discourse,
...
}:
let
}:
let
certs = import ./common/acme/server/snakeoil-certs.nix;
clientDomain = "client.fake.domain";
discourseDomain = certs.domain;
@ -22,8 +21,8 @@ import ./make-test-python.nix (
fullName = "Alice Admin";
passwordFile = "${pkgs.writeText "admin-pass" adminPassword}";
};
in
{
in
{
name = "discourse";
meta = with pkgs.lib.maintainers; {
maintainers = [ talyz ];
@ -207,5 +206,4 @@ import ./make-test-python.nix (
'curl -sS -f https://${discourseDomain}/t/$(<topic_id) -H "Accept: application/json" -H "Api-Key: $(<api_key)" -H "Api-Username: system" | jq -e \'if .post_stream.posts[1].cooked == "<p>Test reply.</p>" then true else null end\' '
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "documize";
meta = with pkgs.lib.maintainers; {
maintainers = [ ];
@ -63,5 +62,4 @@ import ./make-test-python.nix (
'test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"'
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "doh-proxy-rust";
meta.maintainers = with lib.maintainers; [ stephank ];
@ -44,5 +43,4 @@ import ./make-test-python.nix (
machine.wait_for_open_port(3000)
machine.succeed(f"curl --fail -H 'Accept: application/dns-message' '{url}?dns={query}' | grep -F {bin_ip}")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "domination";
meta = with pkgs.lib.maintainers; {
maintainers = [ fgaz ];
@ -29,5 +28,4 @@ import ./make-test-python.nix (
machine.wait_for_text(r"(New Game|Start Server|Load Game|Help Manual|Join Game|About|Play Online)")
machine.screenshot("screen")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "drbd-driver";
meta.maintainers = with pkgs.lib.maintainers; [ birkb ];
@ -20,5 +19,4 @@ import ./make-test-python.nix (
machine.start();
machine.succeed("modinfo drbd | grep --extended-regexp '^version:\s+${pkgs.linuxPackages.drbd.version}$'")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
drbdPort = 7789;
drbdConfig =
@ -41,8 +40,8 @@ import ./make-test-python.nix (
'';
};
};
in
{
in
{
name = "drbd";
meta = with pkgs.lib.maintainers; {
maintainers = [
@ -89,5 +88,4 @@ import ./make-test-python.nix (
"ls /mnt/drbd/hello",
)
'';
}
)
}

View File

@ -3,9 +3,8 @@
# client on the inside network, a server on the outside network, and a
# router connected to both that performs Network Address Translation
# for the client.
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
{ pkgs, lib, ... }:
let
routerBase = lib.mkMerge [
{
virtualisation.vlans = [
@ -17,8 +16,8 @@ import ./make-test-python.nix (
networking.nat.externalInterface = "eth1";
}
];
in
{
in
{
name = "dublin-traceroute";
meta = with pkgs.lib.maintainers; {
maintainers = [ baloo ];
@ -73,5 +72,4 @@ import ./make-test-python.nix (
# Make sure we can trace from an unprivileged user
client.succeed("sudo -u alice dublin-traceroute server")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ ... }:
{
{ ... }:
{
name = "ecryptfs";
nodes.machine =
@ -85,5 +84,4 @@ import ./make-test-python.nix (
logout()
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "endlessh-go";
meta.maintainers = with lib.maintainers; [ azahi ];
@ -67,5 +66,4 @@ import ./make-test-python.nix (
server.succeed("curl -sSf server:92/metrics | grep -q endlessh_client_closed_count_total")
client.fail("curl -sSfm 5 server:92/metrics")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }:
{
name = "endlessh";
meta.maintainers = with lib.maintainers; [ azahi ];
@ -48,5 +47,4 @@ import ./make-test-python.nix (
server.wait_for_open_port(22)
client.succeed("nc -dvW5 server 22")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "engelsystem";
meta = with pkgs.lib.maintainers; {
maintainers = [ talyz ];
@ -41,5 +40,4 @@ import ./make-test-python.nix (
"test 'News - Engelsystem' = \"$(xml sel -T -t -c html/head/title news)\""
)
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "enlightenment";
meta = with pkgs.lib.maintainers; {
@ -100,5 +99,4 @@ import ./make-test-python.nix (
machine.sleep(2)
machine.screenshot("terminology")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "environment";
meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ];
@ -45,5 +44,4 @@ import ./make-test-python.nix (
assert "awesome" in machine.succeed("echo ''${NIXCON}")
machine.fail("printenv SHOULD_NOT_BE_SET")
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
let
{ lib, pkgs, ... }:
let
pythonShebang = pkgs.writeScript "python-shebang" ''
#!/usr/bin/python
print("OK")
@ -10,8 +9,8 @@ import ./make-test-python.nix (
#!/usr/bin/bash
echo "OK"
'';
in
{
in
{
name = "envfs";
nodes.machine.services.envfs.enable = true;
@ -38,5 +37,4 @@ import ./make-test-python.nix (
print(out)
assert out == "OK\n"
'';
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
{ pkgs, ... }:
{
name = "ergo";
meta = with pkgs.lib.maintainers; {
maintainers = [ mmahut ];
@ -19,5 +18,4 @@ import ./make-test-python.nix (
start_all()
machine.wait_for_unit("ergo.service")
'';
}
)
}

View File

@ -9,9 +9,8 @@ let
iiDir = "/tmp/irc";
in
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "ergochat";
nodes =
{
@ -104,5 +103,4 @@ import ./make-test-python.nix (
# to the next one.
''
+ lib.concatStrings (reduce (lib.zipListsWith (cs: c: cs + c)) (builtins.map clientScript clients));
}
)
}

View File

@ -1,6 +1,5 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }:
{
name = "eris-server";
meta.maintainers = with lib.maintainers; [ ehmry ];
@ -25,5 +24,4 @@ import ./make-test-python.nix (
server.wait_for_open_port(80)
server.succeed("eriscmd get http://[::1] $(echo 'Hail ERIS!' | eriscmd put coap+tcp://[::1]:5683)")
'';
}
)
}

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