Merge master into staging-next

Changed files
+419 -68
nixos
pkgs
applications
misc
zettlr
networking
cluster
development
embedded
fpga
trellis
interpreters
bqn
dzaima-bqn
dzaima-apl
tools
database
sqlfluff
tools
admin
pulumi
top-level
+19
nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
···
release notes</link> for changes and upgrade instructions.
</para>
</listitem>
+
<listitem>
+
<para>
+
The <literal>systemd.network</literal> module has gained
+
support for the FooOverUDP link type.
+
</para>
+
</listitem>
+
<listitem>
+
<para>
+
The <literal>networking</literal> module has a new
+
<literal>networking.fooOverUDP</literal> option to configure
+
Foo-over-UDP encapsulations.
+
</para>
+
</listitem>
+
<listitem>
+
<para>
+
<literal>networking.sits</literal> now supports Foo-over-UDP
+
encapsulation.
+
</para>
+
</listitem>
</itemizedlist>
</section>
</section>
+6
nixos/doc/manual/release-notes/rl-2111.section.md
···
- Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`.
- Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions.
+
+
- The `systemd.network` module has gained support for the FooOverUDP link type.
+
+
- The `networking` module has a new `networking.fooOverUDP` option to configure Foo-over-UDP encapsulations.
+
+
- `networking.sits` now supports Foo-over-UDP encapsulation.
+26
nixos/modules/system/boot/networkd.nix
···
(assertRange "ERSPANIndex" 1 1048575)
];
+
sectionFooOverUDP = checkUnitConfig "FooOverUDP" [
+
(assertOnlyFields [
+
"Port"
+
"Encapsulation"
+
"Protocol"
+
])
+
(assertPort "Port")
+
(assertValueOneOf "Encapsulation" ["FooOverUDP" "GenericUDPEncapsulation"])
+
];
+
sectionPeer = checkUnitConfig "Peer" [
(assertOnlyFields [
"Name"
···
'';
};
+
fooOverUDPConfig = mkOption {
+
default = { };
+
example = { Port = 9001; };
+
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionFooOverUDP;
+
description = ''
+
Each attribute in this set specifies an option in the
+
<literal>[FooOverUDP]</literal> section of the unit. See
+
<citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+
<manvolnum>5</manvolnum></citerefentry> for details.
+
'';
+
};
+
peerConfig = mkOption {
default = {};
example = { Name = "veth2"; };
···
+ optionalString (def.tunnelConfig != { }) ''
[Tunnel]
${attrsToSection def.tunnelConfig}
+
''
+
+ optionalString (def.fooOverUDPConfig != { }) ''
+
[FooOverUDP]
+
${attrsToSection def.fooOverUDPConfig}
''
+ optionalString (def.peerConfig != { }) ''
[Peer]
+40 -1
nixos/modules/tasks/network-interfaces-scripted.nix
···
'';
});
+
createFouEncapsulation = n: v: nameValuePair "${n}-fou-encap"
+
(let
+
# if we have a device to bind to we can wait for its addresses to be
+
# configured, otherwise external sequencing is required.
+
deps = optionals (v.local != null && v.local.dev != null)
+
(deviceDependency v.local.dev ++ [ "network-addresses-${v.local.dev}.service" ]);
+
fouSpec = "port ${toString v.port} ${
+
if v.protocol != null then "ipproto ${toString v.protocol}" else "gue"
+
} ${
+
optionalString (v.local != null) "local ${escapeShellArg v.local.address} ${
+
optionalString (v.local.dev != null) "dev ${escapeShellArg v.local.dev}"
+
}"
+
}";
+
in
+
{ description = "FOU endpoint ${n}";
+
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
+
bindsTo = deps;
+
partOf = [ "network-setup.service" ];
+
after = [ "network-pre.target" ] ++ deps;
+
before = [ "network-setup.service" ];
+
serviceConfig.Type = "oneshot";
+
serviceConfig.RemainAfterExit = true;
+
path = [ pkgs.iproute2 ];
+
script = ''
+
# always remove previous incarnation since show can't filter
+
ip fou del ${fouSpec} >/dev/null 2>&1 || true
+
ip fou add ${fouSpec}
+
'';
+
postStop = ''
+
ip fou del ${fouSpec} || true
+
'';
+
});
+
createSitDevice = n: v: nameValuePair "${n}-netdev"
(let
deps = deviceDependency v.dev;
···
${optionalString (v.remote != null) "remote \"${v.remote}\""} \
${optionalString (v.local != null) "local \"${v.local}\""} \
${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
-
${optionalString (v.dev != null) "dev \"${v.dev}\""}
+
${optionalString (v.dev != null) "dev \"${v.dev}\""} \
+
${optionalString (v.encapsulation != null)
+
"encap ${v.encapsulation.type} encap-dport ${toString v.encapsulation.port} ${
+
optionalString (v.encapsulation.sourcePort != null)
+
"encap-sport ${toString v.encapsulation.sourcePort}"
+
}"}
ip link set "${n}" up
'';
postStop = ''
···
// mapAttrs' createVswitchDevice cfg.vswitches
// mapAttrs' createBondDevice cfg.bonds
// mapAttrs' createMacvlanDevice cfg.macvlans
+
// mapAttrs' createFouEncapsulation cfg.fooOverUDP
// mapAttrs' createSitDevice cfg.sits
// mapAttrs' createVlanDevice cfg.vlans
// {
+31 -1
nixos/modules/tasks/network-interfaces-systemd.nix
···
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd.";
+
}) ++ flip mapAttrsToList cfg.fooOverUDP (n: { local, ... }: {
+
assertion = local == null;
+
message = "networking.fooOverUDP.${n}.local is not supported by networkd.";
});
networking.dhcpcd.enable = mkDefault false;
···
macvlan = [ name ];
} ]);
})))
+
(mkMerge (flip mapAttrsToList cfg.fooOverUDP (name: fou: {
+
netdevs."40-${name}" = {
+
netdevConfig = {
+
Name = name;
+
Kind = "fou";
+
};
+
# unfortunately networkd cannot encode dependencies of netdevs on addresses/routes,
+
# so we cannot specify Local=, Peer=, PeerPort=. this looks like a missing feature
+
# in networkd.
+
fooOverUDPConfig = {
+
Port = fou.port;
+
Encapsulation = if fou.protocol != null then "FooOverUDP" else "GenericUDPEncapsulation";
+
} // (optionalAttrs (fou.protocol != null) {
+
Protocol = fou.protocol;
+
});
+
};
+
})))
(mkMerge (flip mapAttrsToList cfg.sits (name: sit: {
netdevs."40-${name}" = {
netdevConfig = {
···
Local = sit.local;
}) // (optionalAttrs (sit.ttl != null) {
TTL = sit.ttl;
-
});
+
}) // (optionalAttrs (sit.encapsulation != null) (
+
{
+
FooOverUDP = true;
+
Encapsulation =
+
if sit.encapsulation.type == "fou"
+
then "FooOverUDP"
+
else "GenericUDPEncapsulation";
+
FOUDestinationPort = sit.encapsulation.port;
+
} // (optionalAttrs (sit.encapsulation.sourcePort != null) {
+
FOUSourcePort = sit.encapsulation.sourcePort;
+
})));
};
networks = mkIf (sit.dev != null) {
"40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+107 -1
nixos/modules/tasks/network-interfaces.nix
···
hasVirtuals = any (i: i.virtual) interfaces;
hasSits = cfg.sits != { };
hasBonds = cfg.bonds != { };
+
hasFous = cfg.fooOverUDP != { }
+
|| filterAttrs (_: s: s.encapsulation != null) cfg.sits != { };
slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
++ concatMap (i: i.interfaces) (attrValues cfg.bridges)
···
});
};
+
networking.fooOverUDP = mkOption {
+
default = { };
+
example =
+
{
+
primary = { port = 9001; local = { address = "192.0.2.1"; dev = "eth0"; }; };
+
backup = { port = 9002; };
+
};
+
description = ''
+
This option allows you to configure Foo Over UDP and Generic UDP Encapsulation
+
endpoints. See <citerefentry><refentrytitle>ip-fou</refentrytitle>
+
<manvolnum>8</manvolnum></citerefentry> for details.
+
'';
+
type = with types; attrsOf (submodule {
+
options = {
+
port = mkOption {
+
type = port;
+
description = ''
+
Local port of the encapsulation UDP socket.
+
'';
+
};
+
+
protocol = mkOption {
+
type = nullOr (ints.between 1 255);
+
default = null;
+
description = ''
+
Protocol number of the encapsulated packets. Specifying <literal>null</literal>
+
(the default) creates a GUE endpoint, specifying a protocol number will create
+
a FOU endpoint.
+
'';
+
};
+
+
local = mkOption {
+
type = nullOr (submodule {
+
options = {
+
address = mkOption {
+
type = types.str;
+
description = ''
+
Local address to bind to. The address must be available when the FOU
+
endpoint is created, using the scripted network setup this can be achieved
+
either by setting <literal>dev</literal> or adding dependency information to
+
<literal>systemd.services.&lt;name&gt;-fou-encap</literal>; it isn't supported
+
when using networkd.
+
'';
+
};
+
+
dev = mkOption {
+
type = nullOr str;
+
default = null;
+
example = "eth0";
+
description = ''
+
Network device to bind to.
+
'';
+
};
+
};
+
});
+
default = null;
+
example = { address = "203.0.113.22"; };
+
description = ''
+
Local address (and optionally device) to bind to using the given port.
+
'';
+
};
+
};
+
});
+
};
+
networking.sits = mkOption {
default = { };
example = literalExpression ''
···
example = "enp4s0f0";
description = ''
The underlying network device on which the tunnel resides.
+
'';
+
};
+
+
encapsulation = with types; mkOption {
+
type = nullOr (submodule {
+
options = {
+
type = mkOption {
+
type = enum [ "fou" "gue" ];
+
description = ''
+
Selects encapsulation type. See
+
<citerefentry><refentrytitle>ip-link</refentrytitle>
+
<manvolnum>8</manvolnum></citerefentry> for details.
+
'';
+
};
+
+
port = mkOption {
+
type = port;
+
example = 9001;
+
description = ''
+
Destination port for encapsulated packets.
+
'';
+
};
+
+
sourcePort = mkOption {
+
type = nullOr types.port;
+
default = null;
+
example = 9002;
+
description = ''
+
Source port for encapsulated packets. Will be chosen automatically by
+
the kernel if unset.
+
'';
+
};
+
};
+
});
+
default = null;
+
example = { type = "fou"; port = 9001; };
+
description = ''
+
Configures encapsulation in UDP packets.
'';
};
···
boot.kernelModules = [ ]
++ optional hasVirtuals "tun"
++ optional hasSits "sit"
-
++ optional hasBonds "bonding";
+
++ optional hasBonds "bonding"
+
++ optional hasFous "fou";
boot.extraModprobeConfig =
# This setting is intentional as it prevents default bond devices
+70 -3
nixos/tests/networking.nix
···
router.wait_until_succeeds("ping -c 1 192.168.1.3")
'';
};
+
fou = {
+
name = "foo-over-udp";
+
nodes.machine = { ... }: {
+
virtualisation.vlans = [ 1 ];
+
networking = {
+
useNetworkd = networkd;
+
useDHCP = false;
+
interfaces.eth1.ipv4.addresses = mkOverride 0
+
[ { address = "192.168.1.1"; prefixLength = 24; } ];
+
fooOverUDP = {
+
fou1 = { port = 9001; };
+
fou2 = { port = 9002; protocol = 41; };
+
fou3 = mkIf (!networkd)
+
{ port = 9003; local.address = "192.168.1.1"; };
+
fou4 = mkIf (!networkd)
+
{ port = 9004; local = { address = "192.168.1.1"; dev = "eth1"; }; };
+
};
+
};
+
systemd.services = {
+
fou3-fou-encap.after = optional (!networkd) "network-addresses-eth1.service";
+
};
+
};
+
testScript = { ... }:
+
''
+
import json
+
+
machine.wait_for_unit("network.target")
+
fous = json.loads(machine.succeed("ip -json fou show"))
+
assert {"port": 9001, "gue": None, "family": "inet"} in fous, "fou1 exists"
+
assert {"port": 9002, "ipproto": 41, "family": "inet"} in fous, "fou2 exists"
+
'' + optionalString (!networkd) ''
+
assert {
+
"port": 9003,
+
"gue": None,
+
"family": "inet",
+
"local": "192.168.1.1",
+
} in fous, "fou3 exists"
+
assert {
+
"port": 9004,
+
"gue": None,
+
"family": "inet",
+
"local": "192.168.1.1",
+
"dev": "eth1",
+
} in fous, "fou4 exists"
+
'';
+
};
sit = let
node = { address4, remote, address6 }: { pkgs, ... }: with pkgs.lib; {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
-
firewall.enable = false;
useDHCP = false;
sits.sit = {
inherit remote;
···
};
in {
name = "Sit";
-
nodes.client1 = node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; };
-
nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
+
# note on firewalling: the two nodes are explicitly asymmetric.
+
# client1 sends SIT packets in UDP, but accepts only proto-41 incoming.
+
# client2 does the reverse, sending in proto-41 and accepting only UDP incoming.
+
# that way we'll notice when either SIT itself or FOU breaks.
+
nodes.client1 = args@{ pkgs, ... }:
+
mkMerge [
+
(node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; } args)
+
{
+
networking = {
+
firewall.extraCommands = "iptables -A INPUT -p 41 -j ACCEPT";
+
sits.sit.encapsulation = { type = "fou"; port = 9001; };
+
};
+
}
+
];
+
nodes.client2 = args@{ pkgs, ... }:
+
mkMerge [
+
(node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; } args)
+
{
+
networking = {
+
firewall.allowedUDPPorts = [ 9001 ];
+
fooOverUDP.fou1 = { port = 9001; protocol = 41; };
+
};
+
}
+
];
testScript = { ... }:
''
start_all()
+2 -2
pkgs/applications/misc/zettlr/default.nix
···
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
let
pname = "zettlr";
-
version = "1.8.9";
+
version = "2.0.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-
sha256 = "sha256-1cU9HdPXrJ4ibSjOitO8iJfMIaGub/jjlb2lssYFfcU=";
+
sha256 = "sha256-MIFgNUuuneIIkPRVRarbx6UMoB/3sdJtKvbacUnwHX8=";
};
appimageContents = appimageTools.extractType2 {
inherit name src;
+44
pkgs/applications/networking/cluster/kn/default.nix
···
+
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+
buildGoModule rec {
+
pname = "kn";
+
version = "0.26.0";
+
+
src = fetchFromGitHub {
+
owner = "knative";
+
repo = "client";
+
rev = "v${version}";
+
sha256 = "sha256-hquxv1BluR535WvMtJlVyP7JuARDNGDjPAbdSSj2juo=";
+
};
+
+
vendorSha256 = null;
+
+
subPackages = [ "cmd/kn" ];
+
+
nativeBuildInputs = [ installShellFiles ];
+
+
ldflags = [
+
"-X knative.dev/client/pkg/kn/commands/version.Version=v${version}"
+
"-X knative.dev/client/pkg/kn/commands/version.VersionEventing=v${version}"
+
"-X knative.dev/client/pkg/kn/commands/version.VersionServing=v${version}"
+
];
+
+
postInstall = ''
+
installShellCompletion --cmd kn \
+
--bash <($out/bin/kn completion bash) \
+
--zsh <($out/bin/kn completion zsh)
+
'';
+
+
doInstallCheck = true;
+
installCheckPhase = ''
+
$out/bin/kn version | grep ${version} > /dev/null
+
'';
+
+
meta = with lib; {
+
description = "The Knative client kn is your door to the Knative world. It allows you to create Knative resources interactively from the command line or from within scripts";
+
homepage = "https://github.com/knative/client";
+
changelog = "https://github.com/knative/client/releases/tag/v${version}";
+
license = licenses.asl20;
+
maintainers = with maintainers; [ bryanasdev000 ];
+
};
+
}
+9 -1
pkgs/development/embedded/fpga/trellis/default.nix
···
nativeBuildInputs = [ cmake python3 ];
cmakeFlags = [
"-DCURRENT_GIT_VERSION=${realVersion}"
+
# TODO: should this be in stdenv instead?
+
"-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
];
preConfigure = ''
···
cd libtrellis
'';
+
doInstallCheck = true;
+
+
installCheckPhase = ''
+
$out/bin/ecppack $out/share/trellis/misc/basecfgs/empty_lfe5u-85f.config /tmp/test.bin
+
'';
+
meta = with lib; {
description = "Documentation and bitstream tools for Lattice ECP5 FPGAs";
longDescription = ''
···
'';
homepage = "https://github.com/YosysHQ/prjtrellis";
license = licenses.isc;
-
maintainers = with maintainers; [ q3k thoughtpolice emily ];
+
maintainers = with maintainers; [ q3k thoughtpolice emily rowanG077 ];
platforms = platforms.all;
};
}
+10 -7
pkgs/development/interpreters/bqn/dzaima-bqn/default.nix
···
stdenv.mkDerivation rec {
pname = "dbqn" + lib.optionalString buildNativeImage "-native";
-
version = "0.pre+unstable=2021-10-05";
+
version = "0.pre+date=2021-10-08";
src = fetchFromGitHub {
owner = "dzaima";
repo = "BQN";
-
rev = "c31ceef52bbf380e747723f5ffd09c5f006b21c5";
-
sha256 = "1nzqgwpjawcky85mfrz5izs9lfb3aqlm96dc8syrxhgg20xrziwx";
+
rev = "0001109a1c5a420421b368c79d34b1e93bfe606e";
+
hash = "sha256-riHHclTLkrVbtzmcz9ungAIc7kaoFHS77+SNatsfNhc=";
};
nativeBuildInputs = [
-
makeWrapper
jdk
+
makeWrapper
];
dontConfigure = true;
+
postPatch = ''
+
patchShebangs --build ./build8
+
'';
+
buildPhase = ''
runHook preBuild
-
patchShebangs --build ./build8
./build8
'' + lib.optionalString buildNativeImage ''
native-image --report-unsupported-elements-at-runtime \
-
-H:CLibraryPath=${lib.getLib jdk}/lib \
-
-J-Dfile.encoding=UTF-8 -jar BQN.jar dbqn
+
-H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \
+
-jar BQN.jar dbqn
'' + ''
runHook postBuild
'';
+10 -8
pkgs/development/interpreters/dzaima-apl/default.nix
···
stdenv.mkDerivation rec {
pname = "dapl" + lib.optionalString buildNativeImage "-native";
-
version = "0.2.0+unstable=2021-06-30";
+
version = "0.2.0+date=2021-10-16";
src = fetchFromGitHub {
owner = "dzaima";
repo = "APL";
-
rev = "28b3667beb23c6472266bb2b6eb701708fa421c6";
-
hash = "sha256-2kM9XDMclxJNOZngwLvoDQG23UZQQ6ePK/j215UumCg=";
+
rev = "5eb0a4205e27afa6122096a25008474eec562dc0";
+
hash = "sha256-UdumMytqT909JRpNqzhYPuKPw644m/vRUsEbIVF2a7U=";
};
nativeBuildInputs = [
-
makeWrapper
jdk
+
makeWrapper
];
dontConfigure = true;
+
postPatch = ''
+
patchShebangs --build ./build
+
'';
+
buildPhase = ''
runHook preBuild
-
patchShebangs --build ./build
-
substituteInPlace ./build \
-
--replace "javac" "javac -encoding utf8"
./build
'' + lib.optionalString buildNativeImage ''
native-image --report-unsupported-elements-at-runtime \
-
-H:CLibraryPath=${lib.getLib jdk}/lib -jar APL.jar dapl
+
-H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \
+
-jar APL.jar dapl
'' + ''
runHook postBuild
'';
+3 -4
pkgs/development/tools/database/sqlfluff/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "sqlfluff";
-
version = "0.6.8";
+
version = "0.7.0";
disabled = python3.pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
-
sha256 = "sha256-Aistr85doKEOD0/uTS/7iRzYggb+hC3njVi4mWt8ndM=";
+
sha256 = "sha256-Cqbo1L3z3bTDIXZ90GXdAulTpGhWLoTc/kYRNghZ/SE=";
};
propagatedBuildInputs = with python3.pkgs; [
···
];
disabledTestPaths = [
-
# dbt is not available yet
-
"test/core/templaters/dbt_test.py"
# Don't run the plugin related tests
"test/core/plugin_test.py"
+
"plugins/sqlfluff-templater-dbt"
"plugins/sqlfluff-plugin-example/test/rules/rule_test_cases_test.py"
];
+40 -40
pkgs/tools/admin/pulumi/data.nix
···
sha256 = "02s759rm633h4v5a1s3jxwvkahfjrbkz561spijrp3mihrws3xhb";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.0-linux-amd64.tar.gz";
-
sha256 = "0ainrb9i14wcq64pg99kb0s41bpmczp1h4sz85kj1a4ic0yrfq14";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-linux-amd64.tar.gz";
+
sha256 = "0k67bsqiqalqrifd6r7nm6c2g4ckrfhh7a7nfgfmpvqs7cxx1kfm";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-linux-amd64.tar.gz";
···
sha256 = "1lmy0dmpspzflc9z8p4w1cz47lbqnbkq8dng3v40lpbs75pnprvs";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.21.0-linux-amd64.tar.gz";
-
sha256 = "1w7ppcqkhh9k9iw10f4d93glmphyvachrkj6p8b6i93n0k78rxv7";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-linux-amd64.tar.gz";
+
sha256 = "0jl4ic18kf0qcys5mhp6ar4p1bj6ndhi11b51dvzdj5lb39dv43q";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-amd64.tar.gz";
···
sha256 = "1h5159y7xlslnijs8lpi4vqgvj2px6whxk9m17p9n7wiyqbmd5na";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.23.0-linux-amd64.tar.gz";
-
sha256 = "0kxwx1lk54kdfw49s719g4vwr2iv6fzr82cxi5siykzpf9gfk7bd";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-linux-amd64.tar.gz";
+
sha256 = "0rmzb3wn5hmx8z8ly85spizinp6ja861k05fhw7l63zhqr8pnls2";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-linux-amd64.tar.gz";
-
sha256 = "02g59jaifyjfcx185ir79d8lqic38dgaa9cb8dpi3xhvv32z0b0q";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
+
sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-amd64.tar.gz";
···
sha256 = "0bp7ki3slszmy1vh4a5d4y4fhbvafrazj1cjf081xv91gi99xxz6";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.22.0-linux-amd64.tar.gz";
-
sha256 = "0ga794vwdggscl9lf57dg7cii91j4px0wyha4r43rhn0gbp1zk8y";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-linux-amd64.tar.gz";
+
sha256 = "1dznd4c8kpy6mwwb170nfl1m2dmrp6f4jalmk3bdfqscm4xhvk3q";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-amd64.tar.gz";
···
sha256 = "1lisk9wr5p866x2hxvlz7nhz0xybhag7wgqk23x0lariln9z5na6";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.0-darwin-amd64.tar.gz";
-
sha256 = "0n5kgmcy4hsg4s4q7jd34z9hz6vcqs64j680jzsxw902cgrj5y9p";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-darwin-amd64.tar.gz";
+
sha256 = "103syjj8vla8lygyl5h7ilwm9kl6vxzyn6fdrkz0xcvlhqm1xr30";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-darwin-amd64.tar.gz";
···
sha256 = "1j7z5dbqzsdq1q8ks9g5pwzyc3ml6avhhp6xj94dzdhskl6pd8w5";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.21.0-darwin-amd64.tar.gz";
-
sha256 = "0sjh5wws6k90w2y5f5bm22c4qxamr658mww3zx11qakdygraijly";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-darwin-amd64.tar.gz";
+
sha256 = "15c5rh0ix7zxn128kangd5x2x1n61xv9d443a7cbriibwvdkvv0j";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-amd64.tar.gz";
···
sha256 = "0r2ykjwam5m2mfiibhq993s8n5pzmks837cwb57jwgwx8lc3ra4x";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.23.0-darwin-amd64.tar.gz";
-
sha256 = "0vpkwlihq6pj554qd3csgf25id2q0pjx4mwkpfj74y08lv6d3v83";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-darwin-amd64.tar.gz";
+
sha256 = "06lfimnlns1bfvks0kv5rjcnz6dvdk38npigyigsk9vqs0idcfi3";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-darwin-amd64.tar.gz";
-
sha256 = "0gd3xnl31892qp8ilz9lc1zdps77nf07jgvh0k37mink8f0ppy2z";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
+
sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-amd64.tar.gz";
···
sha256 = "1i73sxh6vf6adg6as1q1mab3fcjm7ma7gixj2b0y0d2a5d78lhpa";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.22.0-darwin-amd64.tar.gz";
-
sha256 = "19w0m6rxf0i996s9hdjym4f1k0jwf8hrlsr0m9x23xzz5r2simar";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-darwin-amd64.tar.gz";
+
sha256 = "1jxrz82cadmqkd1d26bj5r3bphvzz5z20shjai351hlh9aa3bv2h";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-amd64.tar.gz";
···
sha256 = "041lmx5d1c8ls48mv56jchvk714rqw7jywywdgm6d6ipq7h5d67k";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.0-linux-arm64.tar.gz";
-
sha256 = "06hq79r35bcm7yn8qdvdiy19wsqq3ihbrmjakw2vf6xdglrxxxwr";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-linux-arm64.tar.gz";
+
sha256 = "0rijbqaw584b5c0kihrs80cv46s06yv3a68yz1dwa8sl7adi7n9p";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-linux-arm64.tar.gz";
···
sha256 = "0mddv37k87wiygh6x9bnxpcr721qbmbqf6l5zk3xl61n56j8qyb1";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.21.0-linux-arm64.tar.gz";
-
sha256 = "1zlkij96vr3vf071gwdqcwfxlkfvcnkj4q220l3gxzliix0zvfi4";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-linux-arm64.tar.gz";
+
sha256 = "19aiksm4d4jxs9gw7rdr77ag58fy1v7gkk6r730imgq0d8vsacm1";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-arm64.tar.gz";
···
sha256 = "1sc8rf930cz6nkyhqn6p0h7450iqzdsrlw2smhp8yyjjvcjmsksf";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.23.0-linux-arm64.tar.gz";
-
sha256 = "0j8dgbfdscp29zj0vd3ial1g87n72jj07afj5lxzgsh8jay1iz2r";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-linux-arm64.tar.gz";
+
sha256 = "1bvzazdis423vb1r30q15q1irh07kgymv5ikzmvrygf4hm3aph06";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-linux-arm64.tar.gz";
-
sha256 = "0y7wysd4j1dp73hrbydzj2bfvpgv8vxiza5m6dbg7nl66w9ng0rc";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
+
sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-arm64.tar.gz";
···
sha256 = "0mwpbvv62k8fg07447wwfigs4li4n78fswpzwi4alsjrkqlmw9dj";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.22.0-linux-arm64.tar.gz";
-
sha256 = "0kp13hk57apvqmsn1zw1k7r395wdk1308m0kwx4hmcjy6dzifjsq";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-linux-arm64.tar.gz";
+
sha256 = "1b8fi56wkk753w6ip1nkrksyk8qd5ypdbaq668pk60l3jb0c9mad";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-arm64.tar.gz";
···
sha256 = "06qc42gb2w2qjy2mz5shh082607395jq0js34wlqq61jgjzpca5l";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.0-darwin-arm64.tar.gz";
-
sha256 = "0nwqrg5in05vvj7ln7gi50vp3bnhkwar8fifpi87b134hl50q935";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-darwin-arm64.tar.gz";
+
sha256 = "1wqkm32lkwff5gwn7dbznzx5rcbcysj2mx4ip77whba59ikfchsj";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-darwin-arm64.tar.gz";
···
sha256 = "0fj1ai1kv8xgmsvfbmy5gsinxag70rx9a9gkifqgcpn3r9mj48ks";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.21.0-darwin-arm64.tar.gz";
-
sha256 = "0nj8gin7ys63v235x8nywmx0vv2bdcqdmmp7z3lxlxp2hk4nm84g";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-darwin-arm64.tar.gz";
+
sha256 = "09v28dgrs5a4w8qn4v4zwrn7n7cn2475a2jh9qz3g2ljaj0086fd";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-arm64.tar.gz";
···
sha256 = "1c3pchbnk6dsnxsl02ypq7s4mmkxdgxszdhql1klpx5js7i1lv8k";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.23.0-darwin-arm64.tar.gz";
-
sha256 = "08gcvlfy7kmcx02nf3n4chf6g5lasr2g8gr20gndk0rvihqiwhjz";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-darwin-arm64.tar.gz";
+
sha256 = "0fafl5zpnzkncvi52qw6f4898yia8p0whvr41m3g8cxcp6nyr0ij";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-darwin-arm64.tar.gz";
-
sha256 = "0waf4apw5bzn276s34yaxvm3xyk5333l3zcz2j52c56wkadzxvpg";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
+
sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-arm64.tar.gz";
···
sha256 = "1hzhlxbwji4p8apx4rnqllsgf1k11w49rplz0syzmzb2fxpkif75";
}
{
-
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.22.0-darwin-arm64.tar.gz";
-
sha256 = "038nk93mq59d8ynp1ggmhvmgnilrgqzcbg4hapb9pk7hpbwb269c";
+
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-darwin-arm64.tar.gz";
+
sha256 = "0nh8305b6qlqr63xaacxs3v804dhrwdz179xlzdgzf9550zdqb39";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-arm64.tar.gz";
+2
pkgs/top-level/all-packages.nix
···
kmymoney = libsForQt5.callPackage ../applications/office/kmymoney { };
+
kn = callPackage ../applications/networking/cluster/kn { };
+
kodestudio = callPackage ../applications/editors/kodestudio { };
kondo = callPackage ../applications/misc/kondo { };