Merge staging-next into staging
This commit is contained in:
commit
bff49dab05
@ -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.
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
@ -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
|
||||
|
9
lib/tests/modules/declare-variants.nix
Normal file
9
lib/tests/modules/declare-variants.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{ lib, moduleType, ... }:
|
||||
let inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.variants = mkOption {
|
||||
type = types.lazyAttrsOf moduleType;
|
||||
default = {};
|
||||
};
|
||||
}
|
22
lib/tests/modules/define-variant.nix
Normal file
22
lib/tests/modules/define-variant.nix
Normal 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);
|
||||
};
|
||||
}
|
@ -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 =
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -93,7 +93,6 @@ with lib.maintainers; {
|
||||
cstrahan
|
||||
Frostman
|
||||
kalbasit
|
||||
mdlayher
|
||||
mic92
|
||||
orivej
|
||||
rvolosatovs
|
||||
|
35
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
Normal file
35
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
Normal 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>
|
@ -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>
|
||||
|
13
nixos/doc/manual/release-notes/rl-2205.section.md
Normal file
13
nixos/doc/manual/release-notes/rl-2205.section.md
Normal 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}
|
@ -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 (
|
||||
|
@ -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}'";
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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" { } ''
|
||||
|
@ -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" ''
|
||||
|
@ -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" ];
|
||||
};
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
}
|
||||
''
|
||||
)
|
||||
|
@ -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} \
|
||||
|
@ -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;
|
||||
|
@ -195,6 +195,7 @@ in {
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
|
||||
UMask = "0027";
|
||||
WorkingDirectory = "/var/lib/radicale";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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) [
|
||||
|
@ -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}";
|
||||
}];
|
||||
|
||||
|
@ -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}";
|
||||
} ];
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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" ];
|
||||
};
|
||||
|
@ -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" ];
|
||||
};
|
||||
|
@ -41,7 +41,6 @@ let
|
||||
];
|
||||
};
|
||||
services.cassandra = cassandraCfg ipAddress // extra;
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -37,7 +37,6 @@ let
|
||||
|
||||
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
|
||||
virtualisation = {
|
||||
memorySize = 1024;
|
||||
emptyDiskImages = [ 20480 ];
|
||||
vlans = [ 1 ];
|
||||
};
|
||||
|
@ -34,7 +34,6 @@ let
|
||||
|
||||
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
|
||||
virtualisation = {
|
||||
memorySize = 1024;
|
||||
emptyDiskImages = [ 20480 20480 20480 ];
|
||||
vlans = [ 1 ];
|
||||
};
|
||||
|
@ -34,7 +34,6 @@ let
|
||||
|
||||
generateHost = { pkgs, cephConfig, networkConfig, ... }: {
|
||||
virtualisation = {
|
||||
memorySize = 1024;
|
||||
emptyDiskImages = [ 20480 20480 20480 ];
|
||||
vlans = [ 1 ];
|
||||
};
|
||||
|
@ -8,7 +8,6 @@
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
memorySize = 1024;
|
||||
qemu.options = [ "-vga virtio" ];
|
||||
};
|
||||
}
|
||||
|
@ -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 = {
|
||||
|
@ -5,7 +5,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }: {
|
||||
virtualisation.memorySize = 768;
|
||||
virtualisation.writableStore = true;
|
||||
|
||||
containers.webserver = {
|
||||
|
@ -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;
|
||||
|
@ -7,7 +7,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
machine =
|
||||
{ lib, ... }:
|
||||
{
|
||||
virtualisation.memorySize = 256;
|
||||
virtualisation.vlans = [];
|
||||
|
||||
networking.bridges.br0.interfaces = [];
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
@ -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 =
|
||||
{
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -11,7 +11,6 @@ import ../make-test-python.nix (
|
||||
...
|
||||
}:
|
||||
{
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
imports = [
|
||||
../common/user-account.nix
|
||||
|
@ -38,7 +38,6 @@ in
|
||||
gcc
|
||||
(python3.withPackages (ps: with ps; [ fenics ]))
|
||||
];
|
||||
virtualisation.memorySize = 512;
|
||||
};
|
||||
};
|
||||
testScript =
|
||||
|
@ -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" ];
|
||||
|
@ -18,7 +18,6 @@ in {
|
||||
{ config, pkgs, ... }: {
|
||||
networking.firewall.allowedTCPPorts = [ 80 2222 ];
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
services.gerrit = {
|
||||
enable = true;
|
||||
|
@ -40,7 +40,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
|
@ -45,7 +45,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
|
@ -4,7 +4,6 @@ import ./make-test-python.nix ({ pkgs, ... } :
|
||||
nodes = {
|
||||
one =
|
||||
{ ... }: {
|
||||
virtualisation.memorySize = 1024;
|
||||
time.timeZone = "UTC";
|
||||
services.graphite = {
|
||||
web = {
|
||||
|
@ -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;
|
||||
|
@ -2,7 +2,6 @@
|
||||
import ../make-test-python.nix ({...}: {
|
||||
nodes = {
|
||||
namenode = {pkgs, ...}: {
|
||||
virtualisation.memorySize = 1024;
|
||||
services.hadoop = {
|
||||
package = pkgs.hadoop;
|
||||
hdfs = {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -19,7 +19,6 @@ let
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 2181 ];
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
kafka = { ... }: {
|
||||
services.apache-kafka = {
|
||||
|
@ -17,7 +17,6 @@ let
|
||||
|
||||
nodes = {
|
||||
keycloak = { ... }: {
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
security.pki.certificateFiles = [
|
||||
certs.ca.cert
|
||||
|
@ -46,8 +46,6 @@ in {
|
||||
|
||||
machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
# OOMs otherwise
|
||||
memorySize = 1024;
|
||||
# disk full otherwise
|
||||
diskSize = 2048;
|
||||
|
||||
|
@ -7,7 +7,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
nodes = {
|
||||
machine = { ... }: {
|
||||
services.metabase.enable = true;
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
|
@ -8,7 +8,6 @@ let default-config = {
|
||||
|
||||
services.xserver.enable = false;
|
||||
|
||||
virtualisation.memorySize = 128;
|
||||
};
|
||||
in import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "networking-proxy";
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -8,7 +8,6 @@ import ./make-test-python.nix ({ lib, ... }: {
|
||||
enable = true;
|
||||
passwordFile = builtins.toFile "password" "admin";
|
||||
};
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
@ -21,7 +21,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -8,7 +8,6 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
|
||||
|
||||
machine = { ... }: {
|
||||
virtualisation.cores = 2;
|
||||
virtualisation.memorySize = 512;
|
||||
|
||||
services.privacyidea = {
|
||||
enable = true;
|
||||
|
@ -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")
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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}
|
||||
|
@ -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";
|
||||
|
@ -29,7 +29,6 @@ in {
|
||||
environment.systemPackages = with pkgs; [
|
||||
signal-desktop file sqlite sqlcipher-signal
|
||||
];
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
@ -3,7 +3,6 @@ import ../make-test-python.nix ({...}: {
|
||||
|
||||
nodes = {
|
||||
worker = { nodes, pkgs, ... }: {
|
||||
virtualisation.memorySize = 1024;
|
||||
services.spark.worker = {
|
||||
enable = true;
|
||||
master = "master:7077";
|
||||
|
@ -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" ];
|
||||
};
|
||||
|
@ -5,7 +5,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
machine =
|
||||
{ ... }:
|
||||
{
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
services.sympa = {
|
||||
enable = true;
|
||||
|
@ -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"
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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 =
|
||||
|
@ -140,7 +140,6 @@ let
|
||||
in
|
||||
[ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
|
||||
|
||||
virtualisation.memorySize = 768;
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -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
|
||||
|
@ -21,10 +21,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "087589z45xvldn2m1g79y0xbwzylwkjmfk83s5xjixyq0wqmfppd";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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}";
|
||||
|
@ -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 ];
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user