Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-11-23 06:01:42 +00:00 committed by GitHub
commit bff49dab05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
345 changed files with 8009 additions and 5668 deletions

View File

@ -1 +1 @@
21.11
22.05

View File

@ -71,7 +71,7 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
* `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions.
* `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions. This can be an array of multiple projects as well.
* `nugetDeps` has to be used to specify the NuGet dependency file. Unfortunately, these cannot be deterministically fetched without a lockfile. This file should be generated using `nuget-to-nix` tool, which is available in nixpkgs.
* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`.
* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.

View File

@ -62,6 +62,8 @@ rec {
type: A module system type representing the module set as a submodule,
to be extended by configuration from the containing module set.
This is also available as the module argument moduleType.
extendModules: A function similar to evalModules but building on top
of the module set. Its arguments, modules and specialArgs are
added to the existing values.
@ -74,6 +76,8 @@ rec {
override existing configuration fundamentally requires a new
fixpoint to be constructed.
This is also available as a module argument.
_module: A portion of the configuration tree which is elided from
config. It contains some values that are mostly internal to the
module system implementation.
@ -146,6 +150,7 @@ rec {
config = {
_module.args = {
inherit extendModules;
moduleType = type;
} // args;
};
};

View File

@ -281,6 +281,11 @@ checkConfigError 'A definition for option .fun.\[function body\]. is not of type
checkConfigOutput "b a" config.result ./functionTo/list-order.nix
checkConfigOutput "a c" config.result ./functionTo/merging-attrs.nix
# moduleType
checkConfigOutput "a b" config.resultFoo ./declare-variants.nix ./define-variant.nix
checkConfigOutput "a y z" config.resultFooBar ./declare-variants.nix ./define-variant.nix
checkConfigOutput "a b c" config.resultFooFoo ./declare-variants.nix ./define-variant.nix
cat <<EOF
====== module tests ======
$pass Pass

View File

@ -0,0 +1,9 @@
{ lib, moduleType, ... }:
let inherit (lib) mkOption types;
in
{
options.variants = mkOption {
type = types.lazyAttrsOf moduleType;
default = {};
};
}

View File

@ -0,0 +1,22 @@
{ config, lib, ... }:
let inherit (lib) types mkOption attrNames;
in
{
options = {
attrs = mkOption { type = types.attrsOf lib.types.int; };
result = mkOption { };
resultFoo = mkOption { };
resultFooBar = mkOption { };
resultFooFoo = mkOption { };
};
config = {
attrs.a = 1;
variants.foo.attrs.b = 1;
variants.bar.attrs.y = 1;
variants.foo.variants.bar.attrs.z = 1;
variants.foo.variants.foo.attrs.c = 3;
resultFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.attrs);
resultFooBar = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.bar.attrs);
resultFooFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.foo.attrs);
};
}

View File

@ -171,7 +171,7 @@ rec {
On each release the first letter is bumped and a new animal is chosen
starting with that new letter.
*/
codeName = "Porcupine";
codeName = "Quokka";
/* Returns the current nixpkgs version suffix as string. */
versionSuffix =

View File

@ -5081,7 +5081,7 @@
}];
};
ivankovnatsky = {
email = "ikovnatsky@protonmail.ch";
email = "75213+ivankovnatsky@users.noreply.github.com";
github = "ivankovnatsky";
githubId = 75213;
name = "Ivan Kovnatsky";
@ -10587,6 +10587,12 @@
githubId = 251028;
name = "Shell Turner";
};
shikanime = {
name = "William Phetsinorath";
email = "deva.shikanime@protonmail.com";
github = "shikanime";
githubId = 22115108;
};
shlevy = {
email = "shea@shealevy.com";
github = "shlevy";
@ -13244,4 +13250,10 @@
github = "sei40kr";
githubId = 11665236;
};
vdot0x23 = {
name = "Victor Büttner";
email = "nix.victor@0x23.dk";
github = "vdot0x23";
githubId = 40716069;
};
}

View File

@ -93,7 +93,6 @@ with lib.maintainers; {
cstrahan
Frostman
kalbasit
mdlayher
mic92
orivej
rvolosatovs

View File

@ -0,0 +1,35 @@
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-22.05">
<title>Release 22.05 (“Quokka”, 2022.05/??)</title>
<para>
In addition to numerous new and upgraded packages, this release has
the following highlights:
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
Support is planned until the end of December 2022, handing over
to 22.11.
</para>
</listitem>
</itemizedlist>
<section xml:id="sec-release-22.05-highlights">
<title>Highlights</title>
<para>
</para>
</section>
<section xml:id="sec-release-22.05-new-services">
<title>New Services</title>
<para>
</para>
</section>
<section xml:id="sec-release-22.05-incompatibilities">
<title>Backward Incompatibilities</title>
<para>
</para>
</section>
<section xml:id="sec-release-22.05-notable-changes">
<title>Other Notable Changes</title>
<para>
</para>
</section>
</section>

View File

@ -69,9 +69,14 @@
</arg>
<arg>
<arg choice='plain'>
<option>--no-root-passwd</option>
</arg>
<group choice='req'>
<arg choice='plain'>
<option>--no-root-password</option>
</arg>
<arg choice='plain'>
<option>--no-root-passwd</option>
</arg>
</group>
</arg>
<arg>
@ -157,7 +162,7 @@
<listitem>
<para>
It prompts you for a password for the root account (unless
<option>--no-root-passwd</option> is specified).
<option>--no-root-password</option> is specified).
</para>
</listitem>
</itemizedlist>

View File

@ -0,0 +1,13 @@
# Release 22.05 (“Quokka”, 2022.05/??) {#sec-release-22.05}
In addition to numerous new and upgraded packages, this release has the following highlights:
- Support is planned until the end of December 2022, handing over to 22.11.
## Highlights {#sec-release-22.05-highlights}
## New Services {#sec-release-22.05-new-services}
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
## Other Notable Changes {#sec-release-22.05-notable-changes}

View File

@ -241,7 +241,7 @@ let
pkgs.vmTools.override {
rootModules =
[ "zfs" "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++
(pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos");
(pkgs.lib.optional pkgs.stdenv.hostPlatform.isx86 "rtc_cmos");
kernel = modulesTree;
}
).runInLinuxVM (

View File

@ -17,7 +17,7 @@ rec {
''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"''
];
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
qemuSerialDevice = if pkgs.stdenv.hostPlatform.isx86 then "ttyS0"
else if (with pkgs.stdenv.hostPlatform; isAarch32 || isAarch64 || isPower) then "ttyAMA0"
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";

View File

@ -83,7 +83,7 @@ in {
b43Firmware_5_1_138
b43Firmware_6_30_163_46
b43FirmwareCutter
] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware;
] ++ optional pkgs.stdenv.hostPlatform.isx86 facetimehd-firmware;
})
(mkIf cfg.wirelessRegulatoryDatabase {
hardware.firmware = [ pkgs.wireless-regdb ];

View File

@ -467,7 +467,7 @@ let
throw "Unsupported architecture";
# Syslinux (and isolinux) only supports x86-based architectures.
canx86BiosBoot = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
canx86BiosBoot = pkgs.stdenv.hostPlatform.isx86;
in

View File

@ -58,7 +58,7 @@ while [ "$#" -gt 0 ]; do
--no-channel-copy)
noChannelCopy=1
;;
--no-root-passwd)
--no-root-password|--no-root-passwd)
noRootPasswd=1
;;
--no-bootloader)

View File

@ -80,6 +80,10 @@ let
];
};
# list of man outputs currently active intended for use as default values
# for man-related options, thus "man" is included unconditionally.
activeManOutputs = [ "man" ] ++ lib.optionals cfg.dev.enable [ "devman" ];
in
{
@ -130,7 +134,7 @@ in
name = "man-paths";
paths = config.environment.systemPackages;
pathsToLink = [ "/share/man" ];
extraOutputsToInstall = ["man"];
extraOutputsToInstall = activeManOutputs;
ignoreCollisions = true;
};
defaultText = literalDocBook "all man pages in <option>config.environment.systemPackages</option>";
@ -226,7 +230,7 @@ in
(mkIf cfg.man.enable {
environment.systemPackages = [ pkgs.man-db ];
environment.pathsToLink = [ "/share/man" ];
environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable "devman";
environment.extraOutputsToInstall = activeManOutputs;
environment.etc."man_db.conf".text =
let
manualCache = pkgs.runCommandLocal "man-cache" { } ''

View File

@ -123,6 +123,8 @@ in {
];
environment = {
systemPackages = [ swayPackage ] ++ cfg.extraPackages;
# Needed for the default wallpaper:
pathsToLink = [ "/share/backgrounds/sway" ];
etc = {
"sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
"sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''

View File

@ -152,6 +152,7 @@ let
serviceConfig = {
# The service's only task is to ensure that the specified path exists
Type = "oneshot";
WorkingDirectory = cfg.path;
};
wantedBy = [ "multi-user.target" ];
};

View File

@ -13,6 +13,15 @@ with lib;
enable = mkEnableOption "ClickHouse database server";
package = mkOption {
type = types.package;
default = pkgs.clickhouse;
defaultText = "pkgs.clickhouse";
description = ''
ClickHouse package to use.
'';
};
};
};
@ -45,21 +54,21 @@ with lib;
AmbientCapabilities = "CAP_SYS_NICE";
StateDirectory = "clickhouse";
LogsDirectory = "clickhouse";
ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
ExecStart = "${cfg.package}/bin/clickhouse-server --config-file=${cfg.package}/etc/clickhouse-server/config.xml";
};
};
environment.etc = {
"clickhouse-server/config.xml" = {
source = "${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
source = "${cfg.package}/etc/clickhouse-server/config.xml";
};
"clickhouse-server/users.xml" = {
source = "${pkgs.clickhouse}/etc/clickhouse-server/users.xml";
source = "${cfg.package}/etc/clickhouse-server/users.xml";
};
};
environment.systemPackages = [ pkgs.clickhouse ];
environment.systemPackages = [ cfg.package ];
# startup requires a `/etc/localtime` which only if exists if `time.timeZone != null`
time.timeZone = mkDefault "UTC";

View File

@ -103,11 +103,12 @@ let
plugin {
quota_rule = *:storage=${cfg.quotaGlobalPerUser}
quota = maildir:User quota # per virtual mail user quota # BUG/FIXME broken, we couldn't get this working
quota = count:User quota # per virtual mail user quota
quota_status_success = DUNNO
quota_status_nouser = DUNNO
quota_status_overquota = "552 5.2.2 Mailbox is full"
quota_grace = 10%%
quota_vsizes = yes
}
''
)

View File

@ -100,6 +100,7 @@ in
serviceConfig = {
User = config.users.users.gollum.name;
Group = config.users.groups.gollum.name;
WorkingDirectory = cfg.stateDir;
ExecStart = ''
${pkgs.gollum}/bin/gollum \
--port ${toString cfg.port} \

View File

@ -51,7 +51,7 @@ in
extraSettingsPaths = mkOption {
type = types.listOf types.path;
default = [];
default = [ ];
description = ''
Additional settings paths used to configure nomad. These can be files or directories.
'';
@ -60,9 +60,21 @@ in
'';
};
extraSettingsPlugins = mkOption {
type = types.listOf (types.either types.package types.path);
default = [ ];
description = ''
Additional plugins dir used to configure nomad.
'';
example = literalExpression ''
[ "<pluginDir>" "pkgs.<plugins-name>"]
'';
};
settings = mkOption {
type = format.type;
default = {};
default = { };
description = ''
Configuration for Nomad. See the <link xlink:href="https://www.nomadproject.io/docs/configuration">documentation</link>
for supported values.
@ -128,7 +140,8 @@ in
DynamicUser = cfg.dropPrivileges;
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStart = "${cfg.package}/bin/nomad agent -config=/etc/nomad.json" +
concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths;
concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths +
concatMapStrings (path: " -plugin-dir=${path}/bin") cfg.extraSettingsPlugins;
KillMode = "process";
KillSignal = "SIGINT";
LimitNOFILE = 65536;

View File

@ -195,6 +195,7 @@ in {
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
UMask = "0027";
WorkingDirectory = "/var/lib/radicale";
};
};
};

View File

@ -17,6 +17,13 @@ in
services.sabnzbd = {
enable = mkEnableOption "the sabnzbd server";
package = mkOption {
type = types.package;
default = pkgs.sabnzbd;
defaultText = "pkgs.sabnzbd";
description = "The sabnzbd executable package run by the service.";
};
configFile = mkOption {
type = types.path;
default = "/var/lib/sabnzbd/sabnzbd.ini";
@ -63,7 +70,7 @@ in
GuessMainPID = "no";
User = "${cfg.user}";
Group = "${cfg.group}";
ExecStart = "${sabnzbd}/bin/sabnzbd -d -f ${cfg.configFile}";
ExecStart = "${lib.getBin cfg.package}/bin/sabnzbd -d -f ${cfg.configFile}";
};
};
};

View File

@ -57,7 +57,7 @@ let
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
phpExt = pkgs.php74.withExtensions
({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter ]);
({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache ]);
in
{
# interface

View File

@ -29,7 +29,6 @@ let
} ''
install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \
--set NIX_GHC "${xmonadEnv}/bin/ghc" \
--set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
'';
@ -93,6 +92,8 @@ in {
<literal>(restart "xmonad" True)</literal> instead, which will just restart
xmonad from PATH. This allows e.g. switching to the new xmonad binary
after rebuilding your system with nixos-rebuild.
For the same reason, ghc is not added to the environment when this
option is set.
If you actually want to run xmonad with a config specified here, but
also be able to recompile and restart it from a copy of that source in

View File

@ -243,7 +243,7 @@ in
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat"
"hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft"
] ++ optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
] ++ optionals pkgs.stdenv.hostPlatform.isx86 [
# Misc. x86 keyboard stuff.
"pcips2" "atkbd" "i8042"

View File

@ -67,6 +67,7 @@ let
"systemd-user-sessions.service"
"dbus-org.freedesktop.import1.service"
"dbus-org.freedesktop.machine1.service"
"dbus-org.freedesktop.login1.service"
"user@.service"
"user-runtime-dir@.service"

View File

@ -76,7 +76,7 @@ in
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
assertion = pkgs.stdenv.hostPlatform.isx86;
message = "Azure not currently supported on ${pkgs.stdenv.hostPlatform.system}";
} {
assertion = config.networking.networkmanager.enable == false;

View File

@ -97,7 +97,7 @@ let
imap1 (idx: drive: drive // { device = driveDeviceName idx; });
efiPrefix =
if (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then "${pkgs.OVMF.fd}/FV/OVMF"
if pkgs.stdenv.hostPlatform.isx86 then "${pkgs.OVMF.fd}/FV/OVMF"
else if pkgs.stdenv.isAarch64 then "${pkgs.OVMF.fd}/FV/AAVMF"
else throw "No EFI firmware available for platform";
efiFirmware = "${efiPrefix}_CODE.fd";
@ -296,7 +296,7 @@ in
virtualisation.memorySize =
mkOption {
type = types.ints.positive;
default = 384;
default = 1024;
description =
''
The memory size in megabytes of the virtual machine.
@ -833,7 +833,7 @@ in
# FIXME: Consolidate this one day.
virtualisation.qemu.options = mkMerge [
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
(mkIf pkgs.stdenv.hostPlatform.isx86 [
"-usb" "-device usb-tablet,bus=usb-bus.0"
])
(mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [

View File

@ -33,7 +33,7 @@ in
config = mkIf cfg.enable (mkMerge [{
assertions = [{
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
assertion = pkgs.stdenv.hostPlatform.isx86;
message = "Virtualbox not currently supported on ${pkgs.stdenv.hostPlatform.system}";
}];

View File

@ -23,7 +23,7 @@ in
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
assertion = pkgs.stdenv.hostPlatform.isx86;
message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}";
} ];

View File

@ -11,10 +11,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
enable = true;
maxMemory = 800;
};
# Airsonic is a Java application, and unfortunately requires a significant
# amount of memory.
virtualisation.memorySize = 1024;
};
testScript = ''

View File

@ -17,7 +17,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
program = "${pkgs.xterm}/bin/xterm -cm -pc -fa Monospace -fs 24";
};
virtualisation.memorySize = 1024;
# Need to switch to a different GPU driver than the default one (-vga std) so that Cage can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
};

View File

@ -35,7 +35,6 @@ in
programs.xwayland.enable = true;
environment.systemPackages = [ pkgs.cagebreak pkgs.wayland-utils ];
virtualisation.memorySize = 1024;
# Need to switch to a different GPU driver than the default one (-vga std) so that Cagebreak can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
};

View File

@ -41,7 +41,6 @@ let
];
};
services.cassandra = cassandraCfg ipAddress // extra;
virtualisation.memorySize = 1024;
};
in
{

View File

@ -37,7 +37,6 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = {
memorySize = 1024;
emptyDiskImages = [ 20480 ];
vlans = [ 1 ];
};

View File

@ -34,7 +34,6 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = {
memorySize = 1024;
emptyDiskImages = [ 20480 20480 20480 ];
vlans = [ 1 ];
};

View File

@ -34,7 +34,6 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = {
memorySize = 1024;
emptyDiskImages = [ 20480 20480 20480 ];
vlans = [ 1 ];
};

View File

@ -8,7 +8,6 @@
};
virtualisation = {
memorySize = 1024;
qemu.options = [ "-vga virtio" ];
};
}

View File

@ -15,7 +15,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
{ pkgs, ... }:
{ imports = [ ../modules/installer/cd-dvd/channel.nix ];
virtualisation.writableStore = true;
virtualisation.memorySize = 768;
networking.bridges = {
br0 = {

View File

@ -5,7 +5,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
machine = { pkgs, ... }: {
virtualisation.memorySize = 768;
virtualisation.writableStore = true;
containers.webserver = {

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
{ pkgs, ... }:
{ imports = [ ../modules/installer/cd-dvd/channel.nix ];
virtualisation.writableStore = true;
virtualisation.memorySize = 768;
virtualisation.vlans = [];
networking.useDHCP = false;

View File

@ -7,7 +7,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine =
{ lib, ... }:
{
virtualisation.memorySize = 256;
virtualisation.vlans = [];
networking.bridges.br0.interfaces = [];

View File

@ -14,7 +14,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
nix.binaryCaches = []; # don't try to access cache.nixos.org
virtualisation.writableStore = true;
virtualisation.memorySize = 1024;
# Make sure we always have all the required dependencies for creating a
# container available within the VM, because we don't have network access.
virtualisation.additionalPaths = let

View File

@ -22,7 +22,6 @@ in import ./make-test-python.nix ({ pkgs, lib, ... }: {
imports = [ ../modules/installer/cd-dvd/channel.nix ];
virtualisation = {
writableStore = true;
memorySize = 768;
};
containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2";

View File

@ -15,7 +15,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine1 =
{ lib, ... }:
{
virtualisation.memorySize = 256;
virtualisation.vlans = [ 1 ];
# To be able to ping containers from the host, it is necessary
@ -55,7 +54,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine2 =
{ ... }:
{
virtualisation.memorySize = 256;
virtualisation.vlans = [ 1 ];
};

View File

@ -7,7 +7,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
nodes = {
server = { ... }:
{
virtualisation.memorySize = 256;
virtualisation.vlans = [ 1 ];
containers.server = {
@ -23,7 +22,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
};
bridged = { ... }: {
virtualisation.memorySize = 128;
virtualisation.vlans = [ 1 ];
containers.bridged = {
@ -41,7 +39,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
bonded = { ... }: {
virtualisation.memorySize = 128;
virtualisation.vlans = [ 1 ];
containers.bonded = {
@ -62,7 +59,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
bridgedbond = { ... }: {
virtualisation.memorySize = 128;
virtualisation.vlans = [ 1 ];
containers.bridgedbond = {

View File

@ -15,7 +15,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
{ pkgs, ... }:
{ imports = [ ../modules/installer/cd-dvd/channel.nix ];
virtualisation.writableStore = true;
virtualisation.memorySize = 768;
containers.webserver =
{ privateNetwork = true;

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
{ pkgs, ... }:
{ imports = [ ../modules/installer/cd-dvd/channel.nix ];
virtualisation.writableStore = true;
virtualisation.memorySize = 768;
containers.tmpfs =
{

View File

@ -81,6 +81,7 @@ in
# chromium-based browsers refuse to run as root
test-support.displayManager.auto.user = "alice";
# browsers may hang with the default memory
virtualisation.memorySize = 600;

View File

@ -19,7 +19,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
};
};
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024;
environment.systemPackages = [ pkgs.xdotool ];
services.acpid.enable = true;
services.connman.enable = true;

View File

@ -11,7 +11,6 @@ import ../make-test-python.nix (
...
}:
{
virtualisation.memorySize = 1024;
imports = [
../common/user-account.nix

View File

@ -38,7 +38,6 @@ in
gcc
(python3.withPackages (ps: with ps; [ fenics ]))
];
virtualisation.memorySize = 512;
};
};
testScript =

View File

@ -13,9 +13,6 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
pkgs.xdotool
];
# Need some more memory to record audio.
virtualisation.memorySize = 500;
# Create a virtual sound device, with mixing
# and all, for recording audio.
boot.kernelModules = [ "snd-aloop" ];

View File

@ -18,7 +18,6 @@ in {
{ config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 2222 ];
virtualisation.memorySize = 1024;
services.gerrit = {
enable = true;

View File

@ -40,7 +40,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
};
};
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let

View File

@ -45,7 +45,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
};
};
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let

View File

@ -4,7 +4,6 @@ import ./make-test-python.nix ({ pkgs, ... } :
nodes = {
one =
{ ... }: {
virtualisation.memorySize = 1024;
time.timeZone = "UTC";
services.graphite = {
web = {

View File

@ -95,7 +95,6 @@ import ../make-test-python.nix ({pkgs, ...}: {
# YARN cluster
rm1 = {pkgs, options, ...}: {
virtualisation.memorySize = 1024;
services.hadoop = {
inherit package coreSite hdfsSite;
yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA;
@ -103,7 +102,6 @@ import ../make-test-python.nix ({pkgs, ...}: {
};
};
rm2 = {pkgs, options, ...}: {
virtualisation.memorySize = 1024;
services.hadoop = {
inherit package coreSite hdfsSite;
yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA;

View File

@ -2,7 +2,6 @@
import ../make-test-python.nix ({...}: {
nodes = {
namenode = {pkgs, ...}: {
virtualisation.memorySize = 1024;
services.hadoop = {
package = pkgs.hadoop;
hdfs = {

View File

@ -7,6 +7,5 @@ makeInstalledTest {
services.fwupd.enable = true;
services.fwupd.disabledPlugins = lib.mkForce []; # don't disable test plugin
services.fwupd.enableTestRemote = true;
virtualisation.memorySize = 768;
};
}

View File

@ -70,14 +70,14 @@ let
let iface = if grubVersion == 1 then "ide" else "virtio";
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
bios = if pkgs.stdenv.isAarch64 then "QEMU_EFI.fd" else "OVMF.fd";
in if !isEfi && !(pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then
in if !isEfi && !pkgs.stdenv.hostPlatform.isx86 then
throw "Non-EFI boot methods are only supported on i686 / x86_64"
else ''
def assemble_qemu_flags():
flags = "-cpu max"
${if (system == "x86_64-linux" || system == "i686-linux")
then ''flags += " -m 1024"''
else ''flags += " -m 768 -enable-kvm -machine virt,gic-version=host"''
then ''flags += " -m 1500"''
else ''flags += " -m 1000 -enable-kvm -machine virt,gic-version=host"''
}
return flags
@ -288,7 +288,7 @@ let
# builds stuff in the VM, needs more juice
virtualisation.diskSize = 8 * 1024;
virtualisation.cores = 8;
virtualisation.memorySize = 2048;
virtualisation.memorySize = 3096;
# Use a small /dev/vdb as the root disk for the
# installer. This ensures the target disk (/dev/vda) is

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
client = { nodes, pkgs, ... }: {
};
server = { config, pkgs, ... }: {
virtualisation.memorySize = 512;
services.jitsi-meet = {
enable = true;
hostName = "server";

View File

@ -19,7 +19,6 @@ let
};
networking.firewall.allowedTCPPorts = [ 2181 ];
virtualisation.memorySize = 1024;
};
kafka = { ... }: {
services.apache-kafka = {

View File

@ -17,7 +17,6 @@ let
nodes = {
keycloak = { ... }: {
virtualisation.memorySize = 1024;
security.pki.certificateFiles = [
certs.ca.cert

View File

@ -46,8 +46,6 @@ in {
machine = { lib, ... }: {
virtualisation = {
# OOMs otherwise
memorySize = 1024;
# disk full otherwise
diskSize = 2048;

View File

@ -7,7 +7,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
nodes = {
machine = { ... }: {
services.metabase.enable = true;
virtualisation.memorySize = 1024;
};
};

View File

@ -64,10 +64,6 @@ in
{
imports = [ users ];
# prevent oom:
# Kernel panic - not syncing: Out of memory: compulsory panic_on_oom is enabled
virtualisation.memorySize = 1024;
services.mysql.enable = true;
services.mysql.initialDatabases = [
{ name = "testdb3"; schema = ./testdb.sql; }

View File

@ -8,7 +8,6 @@ let default-config = {
services.xserver.enable = false;
virtualisation.memorySize = 128;
};
in import ./make-test-python.nix ({ pkgs, ...} : {
name = "networking-proxy";

View File

@ -37,7 +37,6 @@ import ./make-test-python.nix {
};
client = { pkgs, lib, ... }: {
virtualisation.memorySize = 512;
environment.systemPackages = let
testRunner = pkgs.writers.writePython3Bin "test-runner" {
libraries = [ pkgs.python3Packages.selenium ];

View File

@ -26,7 +26,6 @@ let
nix.binaryCaches = lib.mkForce [ ];
users.users.person.isNormalUser = true;
virtualisation.writableStore = true;
virtualisation.memorySize = 1024 /*MiB*/;
virtualisation.additionalPaths = [
pkgs.hello
pkgs.figlet

View File

@ -39,7 +39,6 @@ import ./make-test-python.nix {
smtp2 = { pkgs, ... }: {
imports = [ common/user-account.nix ];
virtualisation.memorySize = 512;
networking = {
firewall.allowedTCPPorts = [ 25 143 ];
useDHCP = false;

View File

@ -15,7 +15,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
services.xserver.enable = true;
services.xserver.desktopManager.pantheon.enable = true;
virtualisation.memorySize = 1024;
};
enableOCR = true;

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ lib, ... }: {
enable = true;
passwordFile = builtins.toFile "password" "admin";
};
virtualisation.memorySize = 1024;
};
testScript = ''

View File

@ -21,7 +21,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
user = "alice";
};
};
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let

View File

@ -19,7 +19,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
user = "alice";
};
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let

View File

@ -202,7 +202,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
networking.extraHosts = hosts nodes;
networking.firewall.enable = false;
virtualisation.memorySize = 512;
environment.systemPackages = with pkgs; [
provision-db
provision-secrets

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
machine = { ... }: {
virtualisation.cores = 2;
virtualisation.memorySize = 512;
services.privacyidea = {
enable = true;

View File

@ -464,7 +464,6 @@ let
extraFlags = [ "--lnd.network=regtest" ];
};
metricProvider = {
virtualisation.memorySize = 1024;
systemd.services.prometheus-lnd-exporter.serviceConfig.RestartSec = 15;
systemd.services.prometheus-lnd-exporter.after = [ "lnd.service" ];
services.bitcoind.regtest = {
@ -953,7 +952,6 @@ let
};
metricProvider = {
services.rspamd.enable = true;
virtualisation.memorySize = 1024;
};
exporterTest = ''
wait_for_unit("rspamd.service")

View File

@ -188,7 +188,6 @@ in import ./make-test-python.nix {
# Minio requires at least 1GiB of free disk space to run.
virtualisation = {
diskSize = 2 * 1024;
memorySize = 1024;
};
networking.firewall.allowedTCPPorts = [ minioPort ];

View File

@ -25,7 +25,6 @@ let
machine = {
services.rspamd.enable = true;
networking.enableIPv6 = enableIPv6;
virtualisation.memorySize = 1024;
};
testScript = ''
start_all()
@ -69,7 +68,6 @@ in
group = "rspamd";
}];
};
virtualisation.memorySize = 1024;
};
testScript = ''
@ -118,7 +116,6 @@ in
'';
};
};
virtualisation.memorySize = 1024;
};
testScript = ''
@ -224,7 +221,6 @@ in
rspamd_logger.infox(rspamd_config, 'Work dammit!!!')
'';
};
virtualisation.memorySize = 1024;
};
testScript = ''
${initMachine}
@ -291,7 +287,6 @@ in
postfix.enable = true;
workers.rspamd_proxy.type = "rspamd_proxy";
};
virtualisation.memorySize = 1024;
};
testScript = ''
${initMachine}

View File

@ -1,7 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... }:
let
client = { config, pkgs, ... }: {
virtualisation.memorySize = 256;
environment.systemPackages = [ pkgs.seafile-shared pkgs.curl ];
};
in {
@ -12,7 +11,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
nodes = {
server = { config, pkgs, ... }: {
virtualisation.memorySize = 512;
services.seafile = {
enable = true;
ccnetSettings.General.SERVICE_URL = "http://server";

View File

@ -29,7 +29,6 @@ in {
environment.systemPackages = with pkgs; [
signal-desktop file sqlite sqlcipher-signal
];
virtualisation.memorySize = 1024;
};
enableOCR = true;

View File

@ -3,7 +3,6 @@ import ../make-test-python.nix ({...}: {
nodes = {
worker = { nodes, pkgs, ... }: {
virtualisation.memorySize = 1024;
services.spark.worker = {
enable = true;
master = "master:7077";

View File

@ -44,7 +44,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
# To test pinentry via gpg-agent:
programs.gnupg.agent.enable = true;
virtualisation.memorySize = 1024;
# Need to switch to a different GPU driver than the default one (-vga std) so that Sway can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
};

View File

@ -5,7 +5,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine =
{ ... }:
{
virtualisation.memorySize = 1024;
services.sympa = {
enable = true;

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
environment.systemPackages = [ pkgs.cryptsetup ];
virtualisation = {
emptyDiskImages = [ 512 ];
memorySize = 1024;
qemu.options = [
"-chardev socket,id=chrtpm,path=/tmp/swtpm-sock"
"-tpmdev emulator,id=tpm0,chardev=chrtpm"

View File

@ -5,7 +5,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
imports = [ common/user-account.nix common/x11.nix ];
virtualisation.emptyDiskImages = [ 512 512 ];
virtualisation.memorySize = 1024;
environment.systemPackages = [ pkgs.cryptsetup ];

View File

@ -12,7 +12,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
maintainers = [ lnl7 roberth ];
};
machine = { lib, pkgs, ... }: {
virtualisation.memorySize = 512;
environment.systemPackages = [ pkgs.vault ];
environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
services.vault.enable = true;

View File

@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
environment.systemPackages = [ pkgs.vault ];
environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
services.vault.enable = true;
virtualisation.memorySize = 512;
};
testScript =

View File

@ -140,7 +140,6 @@ let
in
[ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
virtualisation.memorySize = 768;
}
];

View File

@ -23,7 +23,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let

View File

@ -21,10 +21,12 @@ stdenv.mkDerivation rec {
sha256 = "087589z45xvldn2m1g79y0xbwzylwkjmfk83s5xjixyq0wqmfppd";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
glib
];
buildInputs = [

View File

@ -1,41 +1,83 @@
{ lib, stdenv
, fetchFromGitHub
, pkg-config
{ lib
, stdenv
, fetchurl
, autoreconfHook
, db5
, openssl
, boost
, zlib
, miniupnpc
, libevent
, protobuf
, pkg-config
, util-linux
, hexdump
, autoSignDarwinBinariesHook
, wrapQtAppsHook ? null
, boost
, libevent
, miniupnpc
, zeromq
, zlib
, db48
, sqlite
, qrencode
, qtbase ? null
, qttools ? null
, python3
, nixosTests
, withGui
, withWallet ? true
}:
with lib;
stdenv.mkDerivation rec {
pname = "bitcoind-knots";
version = "0.20.0";
versionDate = "20200614";
pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
version = "22.0.knots20211108";
src = fetchFromGitHub {
owner = "bitcoinknots";
repo = "bitcoin";
rev = "v${version}.knots${versionDate}";
sha256 = "0c8k1154kcwz6q2803wx0zigvqaij1fi5akgfqlj3yl57jjw48jj";
src = fetchurl {
url = "https://bitcoinknots.org/files/22.x/${version}/guix/bitcoin-${version}.tar.gz";
sha256 = "04sqbx4sp3bzwbl8z53nz96n3s0590h327ih0mbgyvfvl3b8pj4i";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ openssl db5 openssl util-linux
protobuf boost zlib miniupnpc libevent ];
nativeBuildInputs =
[ autoreconfHook pkg-config ]
++ optionals stdenv.isLinux [ util-linux ]
++ optionals stdenv.isDarwin [ hexdump ]
++ optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
++ optionals withGui [ wrapQtAppsHook ];
configureFlags = [ "--with-incompatible-bdb"
"--with-boost-libdir=${boost.out}/lib" ];
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
++ optionals withWallet [ db48 sqlite ]
++ optionals withGui [ qrencode qtbase qttools ];
meta = with lib; {
description = "An enhanced Bitcoin node software";
configureFlags = [
"--with-boost-libdir=${boost.out}/lib"
"--disable-bench"
] ++ optionals (!doCheck) [
"--disable-tests"
"--disable-gui-tests"
] ++ optionals (!withWallet) [
"--disable-wallet"
] ++ optionals withGui [
"--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
checkInputs = [ python3 ];
doCheck = true;
checkFlags =
[ "LC_ALL=en_US.UTF-8" ]
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
# See also https://github.com/NixOS/nixpkgs/issues/24256
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
enableParallelBuilding = true;
passthru.tests = {
smoke-test = nixosTests.bitcoind-knots;
};
meta = {
description = "A derivative of Bitcoin Core with a collection of improvements";
homepage = "https://bitcoinknots.org/";
maintainers = with maintainers; [ prusnak mmahut ];
license = licenses.mit;
maintainers = [ maintainers.mmahut ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
doCheck = true;
checkFlags =
[ "LC_ALL=C.UTF-8" ]
[ "LC_ALL=en_US.UTF-8" ]
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
# See also https://github.com/NixOS/nixpkgs/issues/24256
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";

View File

@ -12,16 +12,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "electrs";
version = "0.9.2";
version = "0.9.3";
src = fetchFromGitHub {
owner = "romanz";
repo = pname;
rev = "v${version}";
hash = "sha256-dYKSc5fU66fu+GdTeWQBrIOJAiBGdYAOS7MCto98Xss=";
hash = "sha256-sTQ/dX1uXJkEmrNZ47qjBlrexO50y0NGNhw71rHc9bw=";
};
cargoHash = "sha256-M4H5tUbo1f18kk8S53saebSnZhZFr8udw41BUNJbQVI==";
cargoHash = "sha256-1ZQt8LaqgxNxFfgCVCK0GVwbcVfX3v9iz7tHvzgyI0g=";
# needed for librocksdb-sys
nativeBuildInputs = [ llvmPackages.clang ];

View File

@ -14,13 +14,13 @@
mkDerivation rec {
pname = "ghostwriter";
version = "2.0.2";
version = "2.1.0";
src = fetchFromGitHub {
owner = "wereturtle";
repo = pname;
rev = version;
sha256 = "sha256-kNt0IIAcblDJ81ENIkoJuJvrI+F+fdVgWUJ6g1YpjqU=";
sha256 = "sha256-NPuwT0msFvGyS33X7lefdPZZ3AC4pZb1tvmOzzlQlgc=";
};
nativeBuildInputs = [ qmake pkg-config qttools ];

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