Merge master into staging-next
This commit is contained in:
commit
e7f42eb912
|
@ -381,6 +381,14 @@
|
|||
cluster resource manager
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://nifi.apache.org">nifi</link>, an
|
||||
easy to use, powerful, and reliable system to process and
|
||||
distribute data. Available as
|
||||
<link xlink:href="options.html#opt-services.nifi.enable">services.nifi</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-incompatibilities">
|
||||
|
|
|
@ -109,6 +109,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [pacemaker](https://clusterlabs.org/pacemaker/) cluster resource manager
|
||||
|
||||
- [nifi](https://nifi.apache.org), an easy to use, powerful, and reliable system to process and distribute data. Available as [services.nifi](options.html#opt-services.nifi.enable).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
|
||||
|
|
|
@ -1055,6 +1055,7 @@
|
|||
./services/web-apps/netbox.nix
|
||||
./services/web-apps/nextcloud.nix
|
||||
./services/web-apps/nexus.nix
|
||||
./services/web-apps/nifi.nix
|
||||
./services/web-apps/node-red.nix
|
||||
./services/web-apps/pict-rs.nix
|
||||
./services/web-apps/peertube.nix
|
||||
|
|
|
@ -23,7 +23,6 @@ let
|
|||
nixosRules = ''
|
||||
# Miscellaneous devices.
|
||||
KERNEL=="kvm", MODE="0666"
|
||||
KERNEL=="kqemu", MODE="0666"
|
||||
|
||||
# Needed for gpm.
|
||||
SUBSYSTEM=="input", KERNEL=="mice", TAG+="systemd"
|
||||
|
|
318
nixos/modules/services/web-apps/nifi.nix
Normal file
318
nixos/modules/services/web-apps/nifi.nix
Normal file
|
@ -0,0 +1,318 @@
|
|||
{ lib, pkgs, config, options, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.nifi;
|
||||
opt = options.services.nifi;
|
||||
|
||||
env = {
|
||||
NIFI_OVERRIDE_NIFIENV = "true";
|
||||
NIFI_HOME = "/var/lib/nifi";
|
||||
NIFI_PID_DIR = "/run/nifi";
|
||||
NIFI_LOG_DIR = "/var/log/nifi";
|
||||
};
|
||||
|
||||
envFile = pkgs.writeText "nifi.env" (lib.concatMapStrings (s: s + "\n") (
|
||||
(lib.concatLists (lib.mapAttrsToList (name: value:
|
||||
if value != null then [
|
||||
"${name}=\"${toString value}\""
|
||||
] else []
|
||||
) env))));
|
||||
|
||||
nifiEnv = pkgs.writeShellScriptBin "nifi-env" ''
|
||||
set -a
|
||||
source "${envFile}"
|
||||
eval -- "\$@"
|
||||
'';
|
||||
|
||||
in {
|
||||
options = {
|
||||
services.nifi = {
|
||||
enable = lib.mkEnableOption "Apache NiFi";
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.nifi;
|
||||
defaultText = lib.literalExpression "pkgs.nifi";
|
||||
description = "Apache NiFi package to use.";
|
||||
};
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "nifi";
|
||||
description = "User account where Apache NiFi runs.";
|
||||
};
|
||||
|
||||
group = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "nifi";
|
||||
description = "Group account where Apache NiFi runs.";
|
||||
};
|
||||
|
||||
enableHTTPS = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Enable HTTPS protocol. Don`t use in production.";
|
||||
};
|
||||
|
||||
listenHost = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = if cfg.enableHTTPS then "0.0.0.0" else "127.0.0.1";
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.${opt.enableHTTPS}
|
||||
then "0.0.0.0"
|
||||
else "127.0.0.1"
|
||||
'';
|
||||
description = "Bind to an ip for Apache NiFi web-ui.";
|
||||
};
|
||||
|
||||
listenPort = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = if cfg.enableHTTPS then 8443 else 8080;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.${opt.enableHTTPS}
|
||||
then "8443"
|
||||
else "8000"
|
||||
'';
|
||||
description = "Bind to a port for Apache NiFi web-ui.";
|
||||
};
|
||||
|
||||
proxyHost = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = if cfg.enableHTTPS then "0.0.0.0" else null;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.${opt.enableHTTPS}
|
||||
then "0.0.0.0"
|
||||
else null
|
||||
'';
|
||||
description = "Allow requests from a specific host.";
|
||||
};
|
||||
|
||||
proxyPort = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.int;
|
||||
default = if cfg.enableHTTPS then 8443 else null;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.${opt.enableHTTPS}
|
||||
then "8443"
|
||||
else null
|
||||
'';
|
||||
description = "Allow requests from a specific port.";
|
||||
};
|
||||
|
||||
initUser = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = "Initial user account for Apache NiFi. Username must be at least 4 characters.";
|
||||
};
|
||||
|
||||
initPasswordFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = "/run/keys/nifi/password-nifi";
|
||||
description = "nitial password for Apache NiFi. Password must be at least 12 characters.";
|
||||
};
|
||||
|
||||
initJavaHeapSize = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.int;
|
||||
default = null;
|
||||
example = 1024;
|
||||
description = "Set the initial heap size for the JVM in MB.";
|
||||
};
|
||||
|
||||
maxJavaHeapSize = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.int;
|
||||
default = null;
|
||||
example = 2048;
|
||||
description = "Set the initial heap size for the JVM in MB.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{ assertion = cfg.initUser!=null || cfg.initPasswordFile==null;
|
||||
message = ''
|
||||
<option>services.nifi.initUser</option> needs to be set if <option>services.nifi.initPasswordFile</option> enabled.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.initUser==null || cfg.initPasswordFile!=null;
|
||||
message = ''
|
||||
<option>services.nifi.initPasswordFile</option> needs to be set if <option>services.nifi.initUser</option> enabled.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.proxyHost==null || cfg.proxyPort!=null;
|
||||
message = ''
|
||||
<option>services.nifi.proxyPort</option> needs to be set if <option>services.nifi.proxyHost</option> value specified.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.proxyHost!=null || cfg.proxyPort==null;
|
||||
message = ''
|
||||
<option>services.nifi.proxyHost</option> needs to be set if <option>services.nifi.proxyPort</option> value specified.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.initJavaHeapSize==null || cfg.maxJavaHeapSize!=null;
|
||||
message = ''
|
||||
<option>services.nifi.maxJavaHeapSize</option> needs to be set if <option>services.nifi.initJavaHeapSize</option> value specified.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.initJavaHeapSize!=null || cfg.maxJavaHeapSize==null;
|
||||
message = ''
|
||||
<option>services.nifi.initJavaHeapSize</option> needs to be set if <option>services.nifi.maxJavaHeapSize</option> value specified.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
warnings = lib.optional (cfg.enableHTTPS==false) ''
|
||||
Please do not disable HTTPS mode in production. In this mode, access to the nifi is opened without authentication.
|
||||
'';
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d '/var/lib/nifi/conf' 0750 ${cfg.user} ${cfg.group}"
|
||||
"L+ '/var/lib/nifi/lib' - - - - ${cfg.package}/lib"
|
||||
];
|
||||
|
||||
|
||||
systemd.services.nifi = {
|
||||
description = "Apache NiFi";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment = env;
|
||||
path = [ pkgs.gawk ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = "/run/nifi/nifi.pid";
|
||||
ExecStartPre = pkgs.writeScript "nifi-pre-start.sh" ''
|
||||
#!/bin/sh
|
||||
umask 077
|
||||
test -f '/var/lib/nifi/conf/authorizers.xml' || (cp '${cfg.package}/share/nifi/conf/authorizers.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/authorizers.xml')
|
||||
test -f '/var/lib/nifi/conf/bootstrap.conf' || (cp '${cfg.package}/share/nifi/conf/bootstrap.conf' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/bootstrap.conf')
|
||||
test -f '/var/lib/nifi/conf/bootstrap-hashicorp-vault.conf' || (cp '${cfg.package}/share/nifi/conf/bootstrap-hashicorp-vault.conf' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/bootstrap-hashicorp-vault.conf')
|
||||
test -f '/var/lib/nifi/conf/bootstrap-notification-services.xml' || (cp '${cfg.package}/share/nifi/conf/bootstrap-notification-services.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/bootstrap-notification-services.xml')
|
||||
test -f '/var/lib/nifi/conf/logback.xml' || (cp '${cfg.package}/share/nifi/conf/logback.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/logback.xml')
|
||||
test -f '/var/lib/nifi/conf/login-identity-providers.xml' || (cp '${cfg.package}/share/nifi/conf/login-identity-providers.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/login-identity-providers.xml')
|
||||
test -f '/var/lib/nifi/conf/nifi.properties' || (cp '${cfg.package}/share/nifi/conf/nifi.properties' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/nifi.properties')
|
||||
test -f '/var/lib/nifi/conf/stateless-logback.xml' || (cp '${cfg.package}/share/nifi/conf/stateless-logback.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/stateless-logback.xml')
|
||||
test -f '/var/lib/nifi/conf/stateless.properties' || (cp '${cfg.package}/share/nifi/conf/stateless.properties' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/stateless.properties')
|
||||
test -f '/var/lib/nifi/conf/state-management.xml' || (cp '${cfg.package}/share/nifi/conf/state-management.xml' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/state-management.xml')
|
||||
test -f '/var/lib/nifi/conf/zookeeper.properties' || (cp '${cfg.package}/share/nifi/conf/zookeeper.properties' '/var/lib/nifi/conf/' && chmod 0640 '/var/lib/nifi/conf/zookeeper.properties')
|
||||
test -d '/var/lib/nifi/docs/html' || (mkdir -p /var/lib/nifi/docs && cp -r '${cfg.package}/share/nifi/docs/html' '/var/lib/nifi/docs/html')
|
||||
${lib.optionalString ((cfg.initUser != null) && (cfg.initPasswordFile != null)) ''
|
||||
awk -F'[<|>]' '/property name="Username"/ {if ($3!="") f=1} END{exit !f}' /var/lib/nifi/conf/login-identity-providers.xml || ${cfg.package}/bin/nifi.sh set-single-user-credentials ${cfg.initUser} $(cat ${cfg.initPasswordFile})
|
||||
''}
|
||||
${lib.optionalString (cfg.enableHTTPS == false) ''
|
||||
sed -i /var/lib/nifi/conf/nifi.properties \
|
||||
-e 's|nifi.remote.input.secure=.*|nifi.remote.input.secure=false|g' \
|
||||
-e 's|nifi.web.http.host=.*|nifi.web.http.host=${cfg.listenHost}|g' \
|
||||
-e 's|nifi.web.http.port=.*|nifi.web.http.port=${(toString cfg.listenPort)}|g' \
|
||||
-e 's|nifi.web.https.host=.*|nifi.web.https.host=|g' \
|
||||
-e 's|nifi.web.https.port=.*|nifi.web.https.port=|g' \
|
||||
-e 's|nifi.security.keystore=.*|nifi.security.keystore=|g' \
|
||||
-e 's|nifi.security.keystoreType=.*|nifi.security.keystoreType=|g' \
|
||||
-e 's|nifi.security.truststore=.*|nifi.security.truststore=|g' \
|
||||
-e 's|nifi.security.truststoreType=.*|nifi.security.truststoreType=|g' \
|
||||
-e '/nifi.security.keystorePasswd/s|^|#|' \
|
||||
-e '/nifi.security.keyPasswd/s|^|#|' \
|
||||
-e '/nifi.security.truststorePasswd/s|^|#|'
|
||||
''}
|
||||
${lib.optionalString (cfg.enableHTTPS == true) ''
|
||||
sed -i /var/lib/nifi/conf/nifi.properties \
|
||||
-e 's|nifi.remote.input.secure=.*|nifi.remote.input.secure=true|g' \
|
||||
-e 's|nifi.web.http.host=.*|nifi.web.http.host=|g' \
|
||||
-e 's|nifi.web.http.port=.*|nifi.web.http.port=|g' \
|
||||
-e 's|nifi.web.https.host=.*|nifi.web.https.host=${cfg.listenHost}|g' \
|
||||
-e 's|nifi.web.https.port=.*|nifi.web.https.port=${(toString cfg.listenPort)}|g' \
|
||||
-e 's|nifi.security.keystore=.*|nifi.security.keystore=./conf/keystore.p12|g' \
|
||||
-e 's|nifi.security.keystoreType=.*|nifi.security.keystoreType=PKCS12|g' \
|
||||
-e 's|nifi.security.truststore=.*|nifi.security.truststore=./conf/truststore.p12|g' \
|
||||
-e 's|nifi.security.truststoreType=.*|nifi.security.truststoreType=PKCS12|g' \
|
||||
-e '/nifi.security.keystorePasswd/s|^#\+||' \
|
||||
-e '/nifi.security.keyPasswd/s|^#\+||' \
|
||||
-e '/nifi.security.truststorePasswd/s|^#\+||'
|
||||
''}
|
||||
${lib.optionalString ((cfg.enableHTTPS == true) && (cfg.proxyHost != null) && (cfg.proxyPort != null)) ''
|
||||
sed -i /var/lib/nifi/conf/nifi.properties \
|
||||
-e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=${cfg.proxyHost}:${(toString cfg.proxyPort)}|g'
|
||||
''}
|
||||
${lib.optionalString ((cfg.enableHTTPS == false) || (cfg.proxyHost == null) && (cfg.proxyPort == null)) ''
|
||||
sed -i /var/lib/nifi/conf/nifi.properties \
|
||||
-e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=|g'
|
||||
''}
|
||||
${lib.optionalString ((cfg.initJavaHeapSize != null) && (cfg.maxJavaHeapSize != null))''
|
||||
sed -i /var/lib/nifi/conf/bootstrap.conf \
|
||||
-e 's|java.arg.2=.*|java.arg.2=-Xms${(toString cfg.initJavaHeapSize)}m|g' \
|
||||
-e 's|java.arg.3=.*|java.arg.3=-Xmx${(toString cfg.maxJavaHeapSize)}m|g'
|
||||
''}
|
||||
${lib.optionalString ((cfg.initJavaHeapSize == null) && (cfg.maxJavaHeapSize == null))''
|
||||
sed -i /var/lib/nifi/conf/bootstrap.conf \
|
||||
-e 's|java.arg.2=.*|java.arg.2=-Xms512m|g' \
|
||||
-e 's|java.arg.3=.*|java.arg.3=-Xmx512m|g'
|
||||
''}
|
||||
'';
|
||||
ExecStart = "${cfg.package}/bin/nifi.sh start";
|
||||
ExecStop = "${cfg.package}/bin/nifi.sh stop";
|
||||
# User and group
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
# Runtime directory and mode
|
||||
RuntimeDirectory = "nifi";
|
||||
RuntimeDirectoryMode = "0750";
|
||||
# State directory and mode
|
||||
StateDirectory = "nifi";
|
||||
StateDirectoryMode = "0750";
|
||||
# Logs directory and mode
|
||||
LogsDirectory = "nifi";
|
||||
LogsDirectoryMode = "0750";
|
||||
# Proc filesystem
|
||||
ProcSubset = "pid";
|
||||
ProtectProc = "invisible";
|
||||
# Access write directories
|
||||
ReadWritePaths = [ cfg.initPasswordFile ];
|
||||
UMask = "0027";
|
||||
# Capabilities
|
||||
CapabilityBoundingSet = "";
|
||||
# Security
|
||||
NoNewPrivileges = true;
|
||||
# Sandboxing
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
PrivateUsers = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
RestrictAddressFamilies = [ "AF_INET AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = false;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
PrivateMounts = true;
|
||||
# System Call Filtering
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @memlock @mount @obsolete @resources @privileged @setuid" "@chown" ];
|
||||
};
|
||||
};
|
||||
|
||||
users.users = lib.mkMerge [
|
||||
(lib.mkIf (cfg.user == "nifi") {
|
||||
nifi = {
|
||||
group = cfg.group;
|
||||
isSystemUser = true;
|
||||
home = cfg.package;
|
||||
};
|
||||
})
|
||||
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package nifiEnv ])
|
||||
];
|
||||
|
||||
users.groups = lib.optionalAttrs (cfg.group == "nifi") {
|
||||
nifi = { };
|
||||
};
|
||||
};
|
||||
}
|
|
@ -573,14 +573,6 @@ in
|
|||
})
|
||||
(filterAttrs (name: service: service.enable && service.startAt != []) cfg.services);
|
||||
|
||||
# Generate timer units for all services that have a ‘startAt’ value.
|
||||
systemd.user.timers =
|
||||
mapAttrs (name: service:
|
||||
{ wantedBy = [ "timers.target" ];
|
||||
timerConfig.OnCalendar = service.startAt;
|
||||
})
|
||||
(filterAttrs (name: service: service.startAt != []) cfg.user.services);
|
||||
|
||||
# Some overrides to upstream units.
|
||||
systemd.services."systemd-backlight@".restartIfChanged = false;
|
||||
systemd.services."systemd-fsck@".restartIfChanged = false;
|
||||
|
|
|
@ -362,6 +362,7 @@ in
|
|||
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
|
||||
nginx-sso = handleTest ./nginx-sso.nix {};
|
||||
nginx-variants = handleTest ./nginx-variants.nix {};
|
||||
nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {};
|
||||
nitter = handleTest ./nitter.nix {};
|
||||
nix-ld = handleTest ./nix-ld {};
|
||||
nix-serve = handleTest ./nix-serve.nix {};
|
||||
|
|
30
nixos/tests/web-apps/nifi.nix
Normal file
30
nixos/tests/web-apps/nifi.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
import ../make-test-python.nix ({pkgs, ...}:
|
||||
{
|
||||
name = "nifi";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
|
||||
|
||||
nodes = {
|
||||
nifi = { pkgs, ... }: {
|
||||
virtualisation = {
|
||||
memorySize = 2048;
|
||||
diskSize = 4096;
|
||||
};
|
||||
services.nifi = {
|
||||
enable = true;
|
||||
enableHTTPS = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
nifi.start()
|
||||
|
||||
nifi.wait_for_unit("nifi.service")
|
||||
nifi.wait_for_open_port(8080)
|
||||
|
||||
# Check if NiFi is running
|
||||
nifi.succeed("curl --fail http://127.0.0.1:8080/nifi/login 2> /dev/null | grep 'NiFi Login'")
|
||||
|
||||
nifi.shutdown()
|
||||
'';
|
||||
})
|
|
@ -3,12 +3,12 @@
|
|||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20220107";
|
||||
version = "20220327";
|
||||
pname = "x42-plugins";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-+lzgkRQHe6moid3h6az/iqt2XL5vbyM0BjSTwMBvd3I=";
|
||||
sha256 = "sha256-IhuPqTlCbCxExT5B9Au42RQQl4sDEvz6+HhsuT02KVs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
, enablePluginDillo ? true
|
||||
, enablePluginFancy ? true, libsoup, webkitgtk
|
||||
, enablePluginFetchInfo ? true
|
||||
, enablePluginKeywordWarner ? true
|
||||
, enablePluginLibravatar ? enablePluginRavatar
|
||||
, enablePluginLitehtmlViewer ? true, gumbo
|
||||
, enablePluginMailmbox ? true
|
||||
|
@ -70,6 +71,7 @@ let
|
|||
{ flags = [ "enchant" ]; enabled = enableEnchant; deps = [ enchant ]; }
|
||||
{ flags = [ "fancy-plugin" ]; enabled = enablePluginFancy; deps = [ libsoup webkitgtk ]; }
|
||||
{ flags = [ "fetchinfo-plugin" ]; enabled = enablePluginFetchInfo; }
|
||||
{ flags = [ "keyword_warner-plugin" ]; enabled = enablePluginKeywordWarner; }
|
||||
{ flags = [ "gnutls" ]; enabled = enableGnuTLS; deps = [ gnutls ]; }
|
||||
{ flags = [ "ldap" ]; enabled = enableLdap; deps = [ openldap ]; }
|
||||
{ flags = [ "libetpan" ]; enabled = enableLibetpan; deps = [ libetpan ]; }
|
||||
|
|
208
pkgs/applications/networking/n8n/node-packages.nix
generated
208
pkgs/applications/networking/n8n/node-packages.nix
generated
|
@ -112,13 +112,13 @@ let
|
|||
sha512 = "ank38FdCLfJ+EoeMzCz3hkYJuZAd63ARvDKkxZYRDb+beBYf+/+gx8jNTqkq/hfyUl4dJQ/a7tECU0Y0F98CHg==";
|
||||
};
|
||||
};
|
||||
"@babel/runtime-7.17.8" = {
|
||||
"@babel/runtime-7.17.9" = {
|
||||
name = "_at_babel_slash_runtime";
|
||||
packageName = "@babel/runtime";
|
||||
version = "7.17.8";
|
||||
version = "7.17.9";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz";
|
||||
sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
|
||||
url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz";
|
||||
sha512 = "lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==";
|
||||
};
|
||||
};
|
||||
"@colors/colors-1.5.0" = {
|
||||
|
@ -967,13 +967,13 @@ let
|
|||
sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
|
||||
};
|
||||
};
|
||||
"aws-sdk-2.1106.0" = {
|
||||
"aws-sdk-2.1111.0" = {
|
||||
name = "aws-sdk";
|
||||
packageName = "aws-sdk";
|
||||
version = "2.1106.0";
|
||||
version = "2.1111.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1106.0.tgz";
|
||||
sha512 = "3dr0TTR2LI70ST8fa4IgXHpWdH4yv7FLnt9YEndwFQ8ar2EMCMpMU67wwCGBA72GUi0aOg4+lsLjGmCvIq3jug==";
|
||||
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1111.0.tgz";
|
||||
sha512 = "WRyNcCckzmu1djTAWfR2r+BuI/PbuLrhG3oa+oH39v4NZ4EecYWFL1CoCPlC2kRUML4maSba5T4zlxjcNl7ELQ==";
|
||||
};
|
||||
};
|
||||
"aws-sign2-0.7.0" = {
|
||||
|
@ -1381,13 +1381,13 @@ let
|
|||
sha1 = "1b681c21ff84033c826543090689420d187151dc";
|
||||
};
|
||||
};
|
||||
"cfb-1.2.1" = {
|
||||
"cfb-1.2.2" = {
|
||||
name = "cfb";
|
||||
packageName = "cfb";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz";
|
||||
sha512 = "wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==";
|
||||
url = "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz";
|
||||
sha512 = "KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==";
|
||||
};
|
||||
};
|
||||
"chalk-1.1.3" = {
|
||||
|
@ -1840,13 +1840,13 @@ let
|
|||
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
|
||||
};
|
||||
};
|
||||
"crc-32-1.2.1" = {
|
||||
"crc-32-1.2.2" = {
|
||||
name = "crc-32";
|
||||
packageName = "crc-32";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz";
|
||||
sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
|
||||
url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz";
|
||||
sha512 = "ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==";
|
||||
};
|
||||
};
|
||||
"cron-1.7.2" = {
|
||||
|
@ -2137,22 +2137,22 @@ let
|
|||
sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
|
||||
};
|
||||
};
|
||||
"dom-serializer-1.3.2" = {
|
||||
"dom-serializer-1.4.1" = {
|
||||
name = "dom-serializer";
|
||||
packageName = "dom-serializer";
|
||||
version = "1.3.2";
|
||||
version = "1.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
|
||||
sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
|
||||
url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
|
||||
sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
|
||||
};
|
||||
};
|
||||
"domelementtype-2.2.0" = {
|
||||
"domelementtype-2.3.0" = {
|
||||
name = "domelementtype";
|
||||
packageName = "domelementtype";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
|
||||
sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
|
||||
url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
|
||||
sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
|
||||
};
|
||||
};
|
||||
"domhandler-4.3.1" = {
|
||||
|
@ -2902,13 +2902,13 @@ let
|
|||
sha512 = "UWXQ7BpSCW8erDespU2I4cri22xsKgwOCyhsJal0OJhi2tFpwJpsYNJt4vCiFPL1p2HzCGiS713LKpNR25n9Kg==";
|
||||
};
|
||||
};
|
||||
"graceful-fs-4.2.9" = {
|
||||
"graceful-fs-4.2.10" = {
|
||||
name = "graceful-fs";
|
||||
packageName = "graceful-fs";
|
||||
version = "4.2.9";
|
||||
version = "4.2.10";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
|
||||
sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
|
||||
url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
|
||||
sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
|
||||
};
|
||||
};
|
||||
"handlebars-4.7.7" = {
|
||||
|
@ -3865,13 +3865,13 @@ let
|
|||
sha512 = "2Bm96d5ktnE217Ib1FldvUaPAaOst6GtZrsxJCwnJgi9lnsoAKIHyU0sae8rNx6DNYbjdqqh8lv5/b9poD8qOg==";
|
||||
};
|
||||
};
|
||||
"libphonenumber-js-1.9.50" = {
|
||||
"libphonenumber-js-1.9.51" = {
|
||||
name = "libphonenumber-js";
|
||||
packageName = "libphonenumber-js";
|
||||
version = "1.9.50";
|
||||
version = "1.9.51";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.50.tgz";
|
||||
sha512 = "cCzQPChw2XbordcO2LKiw5Htx5leHVfFk/EXkxNHqJfFo7Fndcb1kF5wPJpc316vCJhhikedYnVysMh3Sc7Ocw==";
|
||||
url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.51.tgz";
|
||||
sha512 = "MGidRDs7s2nUybwrB/UjZT4nPXZPYQZQTu/sF3/O2v/DocmD8N6G+a9kwDt2qm7DaOo35XRt7hAIbYL+ml942Q==";
|
||||
};
|
||||
};
|
||||
"libqp-1.1.0" = {
|
||||
|
@ -4153,6 +4153,15 @@ let
|
|||
sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
|
||||
};
|
||||
};
|
||||
"lru-cache-7.8.1" = {
|
||||
name = "lru-cache";
|
||||
packageName = "lru-cache";
|
||||
version = "7.8.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz";
|
||||
sha512 = "E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==";
|
||||
};
|
||||
};
|
||||
"lru-memoizer-2.1.4" = {
|
||||
name = "lru-memoizer";
|
||||
packageName = "lru-memoizer";
|
||||
|
@ -4405,13 +4414,13 @@ let
|
|||
sha512 = "lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==";
|
||||
};
|
||||
};
|
||||
"moment-2.29.1" = {
|
||||
"moment-2.29.2" = {
|
||||
name = "moment";
|
||||
packageName = "moment";
|
||||
version = "2.29.1";
|
||||
version = "2.29.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
|
||||
sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
|
||||
url = "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz";
|
||||
sha512 = "UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==";
|
||||
};
|
||||
};
|
||||
"moment-timezone-0.5.34" = {
|
||||
|
@ -4531,49 +4540,49 @@ let
|
|||
sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
|
||||
};
|
||||
};
|
||||
"n8n-core-0.112.0" = {
|
||||
"n8n-core-0.113.0" = {
|
||||
name = "n8n-core";
|
||||
packageName = "n8n-core";
|
||||
version = "0.112.0";
|
||||
version = "0.113.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.112.0.tgz";
|
||||
sha512 = "1b/J9XWBrjqMCcDAM1vZlsEpeBXI7gZ9Jpxgpgu4eHh3l/BJfyeqq5KXgULfyDtolDn/bil0s7qXA2njmZLerw==";
|
||||
url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.113.0.tgz";
|
||||
sha512 = "4LZWnno0N7gibiVF6tiMY63cyn+un1TwSXyjZvLzp9TH4UvxC457PSjWrS/IZOQYOHRfOR0SmO2Mz3j3NTYxFQ==";
|
||||
};
|
||||
};
|
||||
"n8n-design-system-0.16.0" = {
|
||||
"n8n-design-system-0.17.0" = {
|
||||
name = "n8n-design-system";
|
||||
packageName = "n8n-design-system";
|
||||
version = "0.16.0";
|
||||
version = "0.17.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.16.0.tgz";
|
||||
sha512 = "X7Qa+DoXRyJL4gqh7x59udnPIBYAUgDvhchL33dpI/Rgq9gaFajT9eAuOFQnXKMUaL0FZ5hu3rRGcAmwwEA/bA==";
|
||||
url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.17.0.tgz";
|
||||
sha512 = "7Gcy0uAiNjLIuVEPOb4UABhUgFA7ov287g2RMnAysC2edI4G7oeSvzMl/rlRojOGlTY4zjKiV6Wz4bkDlkiVbw==";
|
||||
};
|
||||
};
|
||||
"n8n-editor-ui-0.138.0" = {
|
||||
"n8n-editor-ui-0.139.0" = {
|
||||
name = "n8n-editor-ui";
|
||||
packageName = "n8n-editor-ui";
|
||||
version = "0.138.0";
|
||||
version = "0.139.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.138.0.tgz";
|
||||
sha512 = "1/mUJYSWG4vmUfMlT65lvtQzfDBMCHxhdIU3TUG2umvdIEsSHJM1gZwAPfoJZppoZ6DX/ApuxXY/67OXfgatQw==";
|
||||
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.139.0.tgz";
|
||||
sha512 = "OaU3JI1uRhd26WqSxmHb6T14n4o8wXAjELj2OJ/f5TtrWwkmeL1ttmAJNH/yAAD7blAmIjjKqsacuhBk7lHP2w==";
|
||||
};
|
||||
};
|
||||
"n8n-nodes-base-0.169.0" = {
|
||||
"n8n-nodes-base-0.170.0" = {
|
||||
name = "n8n-nodes-base";
|
||||
packageName = "n8n-nodes-base";
|
||||
version = "0.169.0";
|
||||
version = "0.170.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.169.0.tgz";
|
||||
sha512 = "O8vwS7ROybSRLqXwG58xdLNrbA8hAvX4jSodXsztpGChbDWcrYJUXBewN9+Lfh1UAegz12G1devygc1W92qveQ==";
|
||||
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.170.0.tgz";
|
||||
sha512 = "OIoh35VZyCLWHFrDW3Uu4jUhd8ulx8y5K3vWBY2hkOCpFthMkwjseZDwaLuKIz2TApFpDPicKEm3gLkf1Tm09g==";
|
||||
};
|
||||
};
|
||||
"n8n-workflow-0.94.0" = {
|
||||
"n8n-workflow-0.95.0" = {
|
||||
name = "n8n-workflow";
|
||||
packageName = "n8n-workflow";
|
||||
version = "0.94.0";
|
||||
version = "0.95.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.94.0.tgz";
|
||||
sha512 = "cVs5XPlbNDcCrGU5IoYzjO7IOsYNsNtEt5vVxkL9q5EgEmHhPYakValJN4GyLQ7Otdpsf47lJg/0EG3TvOssGQ==";
|
||||
url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.95.0.tgz";
|
||||
sha512 = "XxjwF3Zmcp2LOvgZ0Bfg15zegpwo1d2DHbFxYogUJT2CW7/S4gwE3opKzf/juaEWA14kOh0klNnOhdktDqTCAw==";
|
||||
};
|
||||
};
|
||||
"named-placeholders-1.1.2" = {
|
||||
|
@ -5467,15 +5476,6 @@ let
|
|||
sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
|
||||
};
|
||||
};
|
||||
"printj-1.3.1" = {
|
||||
name = "printj";
|
||||
packageName = "printj";
|
||||
version = "1.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz";
|
||||
sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
|
||||
};
|
||||
};
|
||||
"process-0.11.10" = {
|
||||
name = "process";
|
||||
packageName = "process";
|
||||
|
@ -6196,13 +6196,13 @@ let
|
|||
sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
|
||||
};
|
||||
};
|
||||
"semver-7.3.5" = {
|
||||
"semver-7.3.6" = {
|
||||
name = "semver";
|
||||
packageName = "semver";
|
||||
version = "7.3.5";
|
||||
version = "7.3.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
|
||||
sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
|
||||
url = "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz";
|
||||
sha512 = "HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==";
|
||||
};
|
||||
};
|
||||
"send-0.17.2" = {
|
||||
|
@ -6322,13 +6322,13 @@ let
|
|||
sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
|
||||
};
|
||||
};
|
||||
"simple-git-3.5.0" = {
|
||||
"simple-git-3.6.0" = {
|
||||
name = "simple-git";
|
||||
packageName = "simple-git";
|
||||
version = "3.5.0";
|
||||
version = "3.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz";
|
||||
sha512 = "fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==";
|
||||
url = "https://registry.npmjs.org/simple-git/-/simple-git-3.6.0.tgz";
|
||||
sha512 = "2e+4QhOVO59GeLsHgwSMKNrSKCnuACeA/gMNrLCYR8ID9qwm4hViVt4WsODcUGjx//KDv6GMLC6Hs/MeosgXxg==";
|
||||
};
|
||||
};
|
||||
"simple-lru-cache-0.0.2" = {
|
||||
|
@ -7375,13 +7375,13 @@ let
|
|||
sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
|
||||
};
|
||||
};
|
||||
"winston-3.6.0" = {
|
||||
"winston-3.7.2" = {
|
||||
name = "winston";
|
||||
packageName = "winston";
|
||||
version = "3.6.0";
|
||||
version = "3.7.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
|
||||
sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
|
||||
url = "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz";
|
||||
sha512 = "QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==";
|
||||
};
|
||||
};
|
||||
"winston-transport-4.5.0" = {
|
||||
|
@ -7624,10 +7624,10 @@ in
|
|||
n8n = nodeEnv.buildNodePackage {
|
||||
name = "n8n";
|
||||
packageName = "n8n";
|
||||
version = "0.171.0";
|
||||
version = "0.172.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n/-/n8n-0.171.0.tgz";
|
||||
sha512 = "GenMxluqj0PfttyWndoMUsmyJ8r5pilWoY7xT+TVjCl5znhtIUT+3GTeDZ8K3vYqJILHXVxspyF5yLz2Ytnjow==";
|
||||
url = "https://registry.npmjs.org/n8n/-/n8n-0.172.0.tgz";
|
||||
sha512 = "VPoIa8p2sP0AfEPOZrUkNpwIFqnBAupITV2Qho2gdEoPWfoRwuSzr0z8Ktx8uwCDGpaXth1dgITe5wY06w0Oig==";
|
||||
};
|
||||
dependencies = [
|
||||
(sources."@azure/abort-controller-1.0.5" // {
|
||||
|
@ -7679,7 +7679,7 @@ in
|
|||
sources."tslib-2.3.1"
|
||||
];
|
||||
})
|
||||
sources."@babel/runtime-7.17.8"
|
||||
sources."@babel/runtime-7.17.9"
|
||||
sources."@colors/colors-1.5.0"
|
||||
(sources."@dabh/diagnostics-2.0.3" // {
|
||||
dependencies = [
|
||||
|
@ -7808,7 +7808,7 @@ in
|
|||
];
|
||||
})
|
||||
sources."avsc-5.7.4"
|
||||
(sources."aws-sdk-2.1106.0" // {
|
||||
(sources."aws-sdk-2.1111.0" // {
|
||||
dependencies = [
|
||||
sources."buffer-4.9.2"
|
||||
sources."events-1.1.1"
|
||||
|
@ -7896,10 +7896,9 @@ in
|
|||
];
|
||||
})
|
||||
sources."caseless-0.12.0"
|
||||
(sources."cfb-1.2.1" // {
|
||||
(sources."cfb-1.2.2" // {
|
||||
dependencies = [
|
||||
sources."adler-32-1.3.1"
|
||||
sources."printj-1.3.1"
|
||||
];
|
||||
})
|
||||
sources."chalk-4.1.2"
|
||||
|
@ -7981,17 +7980,12 @@ in
|
|||
sources."cookie-signature-1.0.6"
|
||||
sources."core-js-3.21.1"
|
||||
sources."core-util-is-1.0.2"
|
||||
(sources."crc-32-1.2.1" // {
|
||||
dependencies = [
|
||||
sources."printj-1.3.1"
|
||||
];
|
||||
})
|
||||
sources."crc-32-1.2.2"
|
||||
sources."cron-1.7.2"
|
||||
sources."cron-parser-2.18.0"
|
||||
(sources."cross-spawn-4.0.2" // {
|
||||
dependencies = [
|
||||
sources."lru-cache-4.1.5"
|
||||
sources."yallist-2.1.2"
|
||||
];
|
||||
})
|
||||
sources."crypt-0.0.2"
|
||||
|
@ -8017,8 +8011,8 @@ in
|
|||
sources."difflib-0.2.4"
|
||||
sources."dir-glob-3.0.1"
|
||||
sources."discontinuous-range-1.0.0"
|
||||
sources."dom-serializer-1.3.2"
|
||||
sources."domelementtype-2.2.0"
|
||||
sources."dom-serializer-1.4.1"
|
||||
sources."domelementtype-2.3.0"
|
||||
sources."domhandler-4.3.1"
|
||||
sources."domutils-2.8.0"
|
||||
(sources."dot-case-3.0.4" // {
|
||||
|
@ -8149,7 +8143,7 @@ in
|
|||
];
|
||||
})
|
||||
sources."google-timezones-json-1.0.2"
|
||||
sources."graceful-fs-4.2.9"
|
||||
sources."graceful-fs-4.2.10"
|
||||
sources."handlebars-4.7.7"
|
||||
sources."har-schema-2.0.0"
|
||||
sources."har-validator-5.1.5"
|
||||
|
@ -8261,7 +8255,7 @@ in
|
|||
sources."iconv-lite-0.6.2"
|
||||
];
|
||||
})
|
||||
sources."libphonenumber-js-1.9.50"
|
||||
sources."libphonenumber-js-1.9.51"
|
||||
sources."libqp-1.1.0"
|
||||
sources."limiter-1.1.5"
|
||||
sources."linkify-it-3.0.3"
|
||||
|
@ -8298,11 +8292,10 @@ in
|
|||
sources."tslib-2.3.1"
|
||||
];
|
||||
})
|
||||
sources."lru-cache-6.0.0"
|
||||
sources."lru-cache-7.8.1"
|
||||
(sources."lru-memoizer-2.1.4" // {
|
||||
dependencies = [
|
||||
sources."lru-cache-4.0.2"
|
||||
sources."yallist-2.1.2"
|
||||
];
|
||||
})
|
||||
sources."luxon-2.3.1"
|
||||
|
@ -8349,7 +8342,7 @@ in
|
|||
sources."normalize-path-2.1.1"
|
||||
];
|
||||
})
|
||||
sources."moment-2.29.1"
|
||||
sources."moment-2.29.2"
|
||||
sources."moment-timezone-0.5.34"
|
||||
sources."monaco-editor-0.29.1"
|
||||
sources."mongodb-3.7.3"
|
||||
|
@ -8374,22 +8367,23 @@ in
|
|||
dependencies = [
|
||||
sources."denque-2.0.1"
|
||||
sources."iconv-lite-0.6.3"
|
||||
sources."lru-cache-6.0.0"
|
||||
sources."yallist-4.0.0"
|
||||
];
|
||||
})
|
||||
sources."mz-2.7.0"
|
||||
sources."n8n-core-0.112.0"
|
||||
sources."n8n-design-system-0.16.0"
|
||||
sources."n8n-editor-ui-0.138.0"
|
||||
(sources."n8n-nodes-base-0.169.0" // {
|
||||
sources."n8n-core-0.113.0"
|
||||
sources."n8n-design-system-0.17.0"
|
||||
sources."n8n-editor-ui-0.139.0"
|
||||
(sources."n8n-nodes-base-0.170.0" // {
|
||||
dependencies = [
|
||||
sources."iconv-lite-0.6.3"
|
||||
];
|
||||
})
|
||||
sources."n8n-workflow-0.94.0"
|
||||
sources."n8n-workflow-0.95.0"
|
||||
(sources."named-placeholders-1.1.2" // {
|
||||
dependencies = [
|
||||
sources."lru-cache-4.1.5"
|
||||
sources."yallist-2.1.2"
|
||||
];
|
||||
})
|
||||
sources."nanoclone-0.2.1"
|
||||
|
@ -8631,7 +8625,7 @@ in
|
|||
sources."sb-promise-queue-2.1.0"
|
||||
sources."sb-scandir-3.1.0"
|
||||
sources."selderee-0.6.0"
|
||||
sources."semver-7.3.5"
|
||||
sources."semver-7.3.6"
|
||||
(sources."send-0.17.2" // {
|
||||
dependencies = [
|
||||
(sources."debug-2.6.9" // {
|
||||
|
@ -8663,7 +8657,7 @@ in
|
|||
sources."shell-escape-0.2.0"
|
||||
sources."side-channel-1.0.4"
|
||||
sources."signal-exit-3.0.7"
|
||||
sources."simple-git-3.5.0"
|
||||
sources."simple-git-3.6.0"
|
||||
sources."simple-lru-cache-0.0.2"
|
||||
sources."simple-swizzle-0.2.2"
|
||||
sources."slash-3.0.0"
|
||||
|
@ -8831,7 +8825,7 @@ in
|
|||
sources."which-boxed-primitive-1.0.2"
|
||||
sources."wide-align-1.1.5"
|
||||
sources."widest-line-3.1.0"
|
||||
(sources."winston-3.6.0" // {
|
||||
(sources."winston-3.7.2" // {
|
||||
dependencies = [
|
||||
sources."async-3.2.3"
|
||||
sources."readable-stream-3.6.0"
|
||||
|
@ -8862,7 +8856,7 @@ in
|
|||
})
|
||||
sources."xtend-4.0.2"
|
||||
sources."y18n-5.0.8"
|
||||
sources."yallist-4.0.0"
|
||||
sources."yallist-2.1.2"
|
||||
(sources."yargonaut-1.1.4" // {
|
||||
dependencies = [
|
||||
sources."ansi-regex-2.1.1"
|
||||
|
|
|
@ -178,7 +178,7 @@ let
|
|||
chmod -R 755 share
|
||||
cp -rLTf ${staticUsrProfileTarget}/share share
|
||||
else
|
||||
cp -rLf ${staticUsrProfileTarget}/share share
|
||||
cp -rsHf ${staticUsrProfileTarget}/share share
|
||||
fi
|
||||
fi
|
||||
for i in bin sbin include; do
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyterlab";
|
||||
version = "3.3.2";
|
||||
version = "3.3.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-PHFr9VkssoxcVcYVxuW9PvxxiY9pV9E3GbVkeLu7WHo=";
|
||||
sha256 = "sha256-KU1nEmAVujl/axyAVj3uyGLkfgQmI4Ubvip9hw1p62o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pip-tools";
|
||||
version = "6.5.1";
|
||||
version = "6.6.0";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-gPViqmmfx2pCRTlpfgvvQeSQoFDlemohRoUxmBqdQZ4=";
|
||||
sha256 = "sha256-mKokAERAocBInXGlZ6Tor98jx3gr/0g9EhmIHnMC3oM=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyinfra";
|
||||
version = "1.7.2";
|
||||
version = "2.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-qA65l0+E5jVdPghjcX2YiVtdhHRxt4ey28xOedgwHaM=";
|
||||
sha256 = "sha256-rzVirU697wGehCIc/WwE6Rg9AaYYELXfoe10GMRFHgw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -12,6 +12,10 @@ buildGoModule rec {
|
|||
sha256 = "sha256-xYNq5hnkk6OIsnDHhN/vh1LNuP7isTNgtTY2WUwC8x4=";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/symfony-cli $out/bin/symfony
|
||||
'';
|
||||
|
||||
# Tests requires network access
|
||||
doCheck = false;
|
||||
|
||||
|
|
4
pkgs/servers/nosql/cassandra/2.1.json
Normal file
4
pkgs/servers/nosql/cassandra/2.1.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "2.1.22",
|
||||
"sha256": "1wk57dz0kmc6d5y8d8dkx269lzh3ark3751z734gxncwdlclcyz3"
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "2.1.22";
|
||||
sha256 = "1wk57dz0kmc6d5y8d8dkx269lzh3ark3751z734gxncwdlclcyz3";
|
||||
generation = "2_1";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./2.1.json)
|
||||
// {
|
||||
generation = "2_1";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
|
|
4
pkgs/servers/nosql/cassandra/2.2.json
Normal file
4
pkgs/servers/nosql/cassandra/2.2.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "2.2.14",
|
||||
"sha256": "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q"
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "2.2.14";
|
||||
sha256 = "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q";
|
||||
generation = "2_2";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./2.2.json)
|
||||
// {
|
||||
generation = "2_2";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
|
|
4
pkgs/servers/nosql/cassandra/3.0.json
Normal file
4
pkgs/servers/nosql/cassandra/3.0.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "3.0.26",
|
||||
"sha256": "09wim1w2yizcqpja62jk64fhaw3jgnrgrjlrm4kgmcc3g3bsmw6i"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "3.0.26";
|
||||
sha256 = "09wim1w2yizcqpja62jk64fhaw3jgnrgrjlrm4kgmcc3g3bsmw6i";
|
||||
generation = "3_0";
|
||||
})
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./3.0.json)
|
||||
// {
|
||||
generation = "3_0";
|
||||
})
|
||||
|
|
4
pkgs/servers/nosql/cassandra/3.11.json
Normal file
4
pkgs/servers/nosql/cassandra/3.11.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "3.11.12",
|
||||
"sha256": "16j58l7r47qrfh8q7fm92y935ykgvnbj3qn984c42qda15x92hkw"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "3.11.12";
|
||||
sha256 = "16j58l7r47qrfh8q7fm92y935ykgvnbj3qn984c42qda15x92hkw";
|
||||
generation = "3_11";
|
||||
})
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./3.11.json)
|
||||
// {
|
||||
generation = "3_11";
|
||||
})
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
, version
|
||||
, sha256
|
||||
, extraMeta ? { }
|
||||
, callPackage
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
inherit sha256;
|
||||
url = "mirror://apache/cassandra/${version}/apache-${pname}-${version}-bin.tar.gz";
|
||||
url = "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper coreutils ];
|
||||
|
@ -113,6 +114,8 @@ stdenv.mkDerivation rec {
|
|||
assert test.testPackage.version == version;
|
||||
test;
|
||||
};
|
||||
|
||||
updateScript = callPackage ./update-script.nix { inherit generation; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
55
pkgs/servers/nosql/cassandra/update-script.nix
Normal file
55
pkgs/servers/nosql/cassandra/update-script.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ git
|
||||
, lib
|
||||
, runtimeShell
|
||||
, writeScript
|
||||
, generation
|
||||
, gnupg
|
||||
}:
|
||||
let
|
||||
inherit (lib) makeBinPath;
|
||||
filename = lib.strings.replaceStrings [ "_" ] [ "." ] generation + ".json";
|
||||
regex = lib.strings.replaceStrings [ "_" ] [ "[.]" ] generation;
|
||||
in
|
||||
writeScript "update-cassandra_${generation}" ''
|
||||
#!${runtimeShell}
|
||||
set -eux -o pipefail
|
||||
test -d pkgs -a -d nixos -a -d lib || {
|
||||
echo >&2 "$0 expects to be run in a nixpkgs checkout"
|
||||
exit 1
|
||||
}
|
||||
cd pkgs/servers/nosql/cassandra
|
||||
PATH="${makeBinPath [git gnupg]}:$PATH"
|
||||
|
||||
tmp="$(mktemp -d)"
|
||||
cleanup() {
|
||||
rm -rf "$tmp"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# get numeric-only versions, sort them latest first
|
||||
git ls-remote --tags https://github.com/apache/cassandra \
|
||||
| awk '{ if (match($0, /refs.tags.cassandra-([0-9.]*)$/, m)) print m[1] }' \
|
||||
| sort -V \
|
||||
| tac >$tmp/versions
|
||||
|
||||
version="$(grep -E '^${regex}' <$tmp/versions | head -n 1)"
|
||||
path="cassandra/$version/apache-cassandra-$version-bin.tar.gz"
|
||||
curl "https://downloads.apache.org/$path" >$tmp/src.tar.gz
|
||||
curl "https://downloads.apache.org/$path.asc" >$tmp/src.tar.gz.asc
|
||||
|
||||
# See https://downloads.apache.org/cassandra/KEYS
|
||||
# Make sure that any new key corresponds to someone on the project
|
||||
for key in A4C465FEA0C552561A392A61E91335D77E3E87CB; do
|
||||
gpg --trustdb-name "$tmp/trust.db" --batch --recv-keys "$key"
|
||||
echo "$key:5:" | gpg --trustdb-name "$tmp/trust.db" --batch --import-ownertrust
|
||||
done
|
||||
gpg --trustdb-name "$tmp/trust.db" --batch --verify --trust-model direct $tmp/src.tar.gz.asc $tmp/src.tar.gz
|
||||
|
||||
hash="$(nix-prefetch-url "file://$tmp/src.tar.gz")"
|
||||
cat >${filename} <<EOF
|
||||
{
|
||||
"version": "$version",
|
||||
"sha256": "$hash"
|
||||
}
|
||||
EOF
|
||||
''
|
45
pkgs/servers/web-apps/nifi/default.nix
Normal file
45
pkgs/servers/web-apps/nifi/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, jre8, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nifi";
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dlcdn.apache.org/nifi/${version}/nifi-${version}-bin.tar.gz";
|
||||
sha256 = "sha256-BE990mVSocO+UuMa9kULJcbXbqiX8oquZQTQKSRPe4g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jre8 ];
|
||||
|
||||
installPhase = ''
|
||||
mv ../$sourceRoot $out
|
||||
rm -f $out/bin/*bat
|
||||
rm -rf $out/extensions
|
||||
mkdir -p $out/share/nifi
|
||||
mv $out/conf $out/share/nifi
|
||||
mv $out/docs $out/share/nifi
|
||||
mv $out/{LICENSE,NOTICE,README} $out/share/nifi
|
||||
|
||||
substituteInPlace $out/bin/nifi.sh \
|
||||
--replace "/bin/sh" "${stdenv.shell}"
|
||||
substituteInPlace $out/bin/nifi-env.sh \
|
||||
--replace "#export JAVA_HOME=/usr/java/jdk1.8.0/" "export JAVA_HOME=${jre8}"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.nifi = nixosTests.nifi;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Easy to use, powerful, and reliable system to process and distribute data";
|
||||
longDescription = ''
|
||||
Apache NiFi supports powerful and scalable directed graphs of data routing,
|
||||
transformation, and system mediation logic.
|
||||
'';
|
||||
license = licenses.asl20;
|
||||
homepage = "https://nifi.apache.org";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ izorkin ];
|
||||
};
|
||||
}
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wordpress";
|
||||
version = "5.9.2";
|
||||
version = "5.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://wordpress.org/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-d2Xy3SpWzpIHmXh8x5BKWF9jNlvKK6D3uwbqIGDGn4s=";
|
||||
sha256 = "sha256-cMvqXXLez7Ep9MyObD0BdepkvsaOl5YbbbA3cnilKlY=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2022-04-06";
|
||||
version = "2022-04-09";
|
||||
pname = "oh-my-zsh";
|
||||
rev = "b3999a4b156185b617a5608317497399f88dc8fe";
|
||||
rev = "fcceeb666452c5a41b786f3cde9c8635ddde5448";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "ohmyzsh";
|
||||
repo = "ohmyzsh";
|
||||
sha256 = "yXM+fLdNWOrUU03K7527NgtaAwSql5r0wPaWgUZqGhY=";
|
||||
sha256 = "c929KV77wACO0AlEABwOPPz03Za8V4G7RRXalY+zfGg=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
let
|
||||
sha256 = "1f0nrdg8hf650qxz79i3a1d2zyf24niyrcnbnhc9i7hzbnqbp5qg";
|
||||
# specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
|
||||
specVersion = "4.119.0";
|
||||
specSha256 = "0q5cqx9w44a85r8h9an4iz4m3s7x3b0nyk188i3hsh3r1wf1nryv";
|
||||
specVersion = "4.119.4";
|
||||
specSha256 = "057qzpy8da0r0av8wmm640mqqhl4qynqxqalkf3ylsa3xnch5c9m";
|
||||
spec = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
|
||||
sha256 = specSha256;
|
||||
|
|
|
@ -8283,6 +8283,8 @@ with pkgs;
|
|||
|
||||
ngrok-1 = callPackage ../tools/networking/ngrok-1 { };
|
||||
|
||||
nifi = callPackage ../servers/web-apps/nifi { };
|
||||
|
||||
nitter = callPackage ../servers/nitter { };
|
||||
|
||||
noice = callPackage ../applications/misc/noice { };
|
||||
|
|
Loading…
Reference in a new issue