mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
Merge master into staging-next
This commit is contained in:
commit
97bfcc4bcd
81 changed files with 1589 additions and 2562 deletions
|
@ -439,7 +439,7 @@ in
|
||||||
]);
|
]);
|
||||||
options = {
|
options = {
|
||||||
shared_preload_libraries = mkOption {
|
shared_preload_libraries = mkOption {
|
||||||
type = nullOr (coercedTo (listOf str) (concatStringsSep ", ") str);
|
type = nullOr (coercedTo (listOf str) (concatStringsSep ",") commas);
|
||||||
default = null;
|
default = null;
|
||||||
example = literalExpression ''[ "auto_explain" "anon" ]'';
|
example = literalExpression ''[ "auto_explain" "anon" ]'';
|
||||||
description = ''
|
description = ''
|
||||||
|
|
|
@ -381,6 +381,14 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
autoRemoveOnStop = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Automatically remove the container when it is stopped or killed
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networks = mkOption {
|
networks = mkOption {
|
||||||
type = with types; listOf str;
|
type = with types; listOf str;
|
||||||
default = [ ];
|
default = [ ];
|
||||||
|
@ -468,7 +476,6 @@ let
|
||||||
++ map escapeShellArg container.preRunExtraOptions
|
++ map escapeShellArg container.preRunExtraOptions
|
||||||
++ [
|
++ [
|
||||||
"run"
|
"run"
|
||||||
"--rm"
|
|
||||||
"--name=${escapedName}"
|
"--name=${escapedName}"
|
||||||
"--log-driver=${container.log-driver}"
|
"--log-driver=${container.log-driver}"
|
||||||
]
|
]
|
||||||
|
@ -489,6 +496,7 @@ let
|
||||||
++ (mapAttrsToList (k: v: "-l ${escapeShellArg k}=${escapeShellArg v}") container.labels)
|
++ (mapAttrsToList (k: v: "-l ${escapeShellArg k}=${escapeShellArg v}") container.labels)
|
||||||
++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}"
|
++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}"
|
||||||
++ optional (container.privileged) "--privileged"
|
++ optional (container.privileged) "--privileged"
|
||||||
|
++ optional (container.autoRemoveOnStop) "--rm"
|
||||||
++ mapAttrsToList (k: _: "--cap-add=${escapeShellArg k}") (
|
++ mapAttrsToList (k: _: "--cap-add=${escapeShellArg k}") (
|
||||||
filterAttrs (_: v: v == true) container.capabilities
|
filterAttrs (_: v: v == true) container.capabilities
|
||||||
)
|
)
|
||||||
|
|
|
@ -190,7 +190,7 @@ in {
|
||||||
avahi = handleTest ./avahi.nix {};
|
avahi = handleTest ./avahi.nix {};
|
||||||
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
|
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
|
||||||
ayatana-indicators = runTest ./ayatana-indicators.nix;
|
ayatana-indicators = runTest ./ayatana-indicators.nix;
|
||||||
babeld = handleTest ./babeld.nix {};
|
babeld = runTest ./babeld.nix;
|
||||||
bazarr = handleTest ./bazarr.nix {};
|
bazarr = handleTest ./bazarr.nix {};
|
||||||
bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
|
bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
|
||||||
beanstalkd = handleTest ./beanstalkd.nix {};
|
beanstalkd = handleTest ./beanstalkd.nix {};
|
||||||
|
@ -212,7 +212,7 @@ in {
|
||||||
boot-stage2 = handleTest ./boot-stage2.nix {};
|
boot-stage2 = handleTest ./boot-stage2.nix {};
|
||||||
borgbackup = handleTest ./borgbackup.nix {};
|
borgbackup = handleTest ./borgbackup.nix {};
|
||||||
borgmatic = handleTest ./borgmatic.nix {};
|
borgmatic = handleTest ./borgmatic.nix {};
|
||||||
botamusique = handleTest ./botamusique.nix {};
|
botamusique = runTest ./botamusique.nix;
|
||||||
bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {};
|
bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {};
|
||||||
bpftune = handleTest ./bpftune.nix {};
|
bpftune = handleTest ./bpftune.nix {};
|
||||||
breitbandmessung = handleTest ./breitbandmessung.nix {};
|
breitbandmessung = handleTest ./breitbandmessung.nix {};
|
||||||
|
@ -387,11 +387,27 @@ in {
|
||||||
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
|
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
|
||||||
firefly-iii = handleTest ./firefly-iii.nix {};
|
firefly-iii = handleTest ./firefly-iii.nix {};
|
||||||
firefly-iii-data-importer = handleTest ./firefly-iii-data-importer.nix {};
|
firefly-iii-data-importer = handleTest ./firefly-iii-data-importer.nix {};
|
||||||
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
|
firefox = runTest {
|
||||||
firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; };
|
imports = [./firefox.nix ];
|
||||||
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
_module.args.firefoxPackage = pkgs.firefox;
|
||||||
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
};
|
||||||
firefox-esr-128 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-128; };
|
firefox-beta = runTest {
|
||||||
|
imports = [ ./firefox.nix ] ;
|
||||||
|
_module.args.firefoxPackage = pkgs.firefox-beta;
|
||||||
|
};
|
||||||
|
firefox-devedition = runTest {
|
||||||
|
imports = [ ./firefox.nix ];
|
||||||
|
_module.args.firefoxPackage = pkgs.firefox-devedition;
|
||||||
|
};
|
||||||
|
firefox-esr = runTest {
|
||||||
|
# used in `tested` job
|
||||||
|
imports = [ ./firefox.nix ] ;
|
||||||
|
_module.args.firefoxPackage = pkgs.firefox-esr;
|
||||||
|
};
|
||||||
|
firefox-esr-128 = runTest {
|
||||||
|
imports = [ ./firefox.nix ] ;
|
||||||
|
_module.args.firefoxPackage = pkgs.firefox-esr-128;
|
||||||
|
};
|
||||||
firefoxpwa = handleTest ./firefoxpwa.nix {};
|
firefoxpwa = handleTest ./firefoxpwa.nix {};
|
||||||
firejail = handleTest ./firejail.nix {};
|
firejail = handleTest ./firejail.nix {};
|
||||||
firewall = handleTest ./firewall.nix { nftables = false; };
|
firewall = handleTest ./firewall.nix { nftables = false; };
|
||||||
|
@ -444,7 +460,7 @@ in {
|
||||||
gnupg = handleTest ./gnupg.nix {};
|
gnupg = handleTest ./gnupg.nix {};
|
||||||
goatcounter = handleTest ./goatcounter.nix {};
|
goatcounter = handleTest ./goatcounter.nix {};
|
||||||
go-camo = handleTest ./go-camo.nix { };
|
go-camo = handleTest ./go-camo.nix { };
|
||||||
go-neb = handleTest ./go-neb.nix {};
|
go-neb = runTest ./go-neb.nix;
|
||||||
gobgpd = handleTest ./gobgpd.nix {};
|
gobgpd = handleTest ./gobgpd.nix {};
|
||||||
gocd-agent = handleTest ./gocd-agent.nix {};
|
gocd-agent = handleTest ./gocd-agent.nix {};
|
||||||
gocd-server = handleTest ./gocd-server.nix {};
|
gocd-server = handleTest ./gocd-server.nix {};
|
||||||
|
@ -559,7 +575,7 @@ in {
|
||||||
kavita = handleTest ./kavita.nix {};
|
kavita = handleTest ./kavita.nix {};
|
||||||
kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
|
kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
|
||||||
kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
|
kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
|
||||||
kea = handleTest ./kea.nix {};
|
kea = runTest ./kea.nix;
|
||||||
keepalived = handleTest ./keepalived.nix {};
|
keepalived = handleTest ./keepalived.nix {};
|
||||||
keepassxc = handleTest ./keepassxc.nix {};
|
keepassxc = handleTest ./keepassxc.nix {};
|
||||||
kerberos = handleTest ./kerberos/default.nix {};
|
kerberos = handleTest ./kerberos/default.nix {};
|
||||||
|
@ -573,7 +589,7 @@ in {
|
||||||
keymap = handleTest ./keymap.nix {};
|
keymap = handleTest ./keymap.nix {};
|
||||||
kimai = handleTest ./kimai.nix {};
|
kimai = handleTest ./kimai.nix {};
|
||||||
kmonad = runTest ./kmonad.nix;
|
kmonad = runTest ./kmonad.nix;
|
||||||
knot = handleTest ./knot.nix {};
|
knot = runTest ./knot.nix;
|
||||||
komga = handleTest ./komga.nix {};
|
komga = handleTest ./komga.nix {};
|
||||||
krb5 = discoverTests (import ./krb5);
|
krb5 = discoverTests (import ./krb5);
|
||||||
ksm = handleTest ./ksm.nix {};
|
ksm = handleTest ./ksm.nix {};
|
||||||
|
@ -887,7 +903,7 @@ in {
|
||||||
phylactery = handleTest ./web-apps/phylactery.nix {};
|
phylactery = handleTest ./web-apps/phylactery.nix {};
|
||||||
pict-rs = handleTest ./pict-rs.nix {};
|
pict-rs = handleTest ./pict-rs.nix {};
|
||||||
pingvin-share = handleTest ./pingvin-share.nix {} ;
|
pingvin-share = handleTest ./pingvin-share.nix {} ;
|
||||||
pinnwand = handleTest ./pinnwand.nix {};
|
pinnwand = runTest ./pinnwand.nix;
|
||||||
plantuml-server = handleTest ./plantuml-server.nix {};
|
plantuml-server = handleTest ./plantuml-server.nix {};
|
||||||
plasma-bigscreen = handleTest ./plasma-bigscreen.nix {};
|
plasma-bigscreen = handleTest ./plasma-bigscreen.nix {};
|
||||||
plasma5 = handleTest ./plasma5.nix {};
|
plasma5 = handleTest ./plasma5.nix {};
|
||||||
|
@ -1020,7 +1036,7 @@ in {
|
||||||
slurm = handleTest ./slurm.nix {};
|
slurm = handleTest ./slurm.nix {};
|
||||||
snmpd = handleTest ./snmpd.nix {};
|
snmpd = handleTest ./snmpd.nix {};
|
||||||
smokeping = handleTest ./smokeping.nix {};
|
smokeping = handleTest ./smokeping.nix {};
|
||||||
snapcast = handleTest ./snapcast.nix {};
|
snapcast = runTest ./snapcast.nix;
|
||||||
snapper = handleTest ./snapper.nix {};
|
snapper = handleTest ./snapper.nix {};
|
||||||
snipe-it = runTest ./web-apps/snipe-it.nix;
|
snipe-it = runTest ./web-apps/snipe-it.nix;
|
||||||
soapui = handleTest ./soapui.nix {};
|
soapui = handleTest ./soapui.nix {};
|
||||||
|
|
|
@ -1,210 +1,211 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, lib, ... }:
|
pkgs,
|
||||||
{
|
...
|
||||||
name = "babeld";
|
}:
|
||||||
meta = with pkgs.lib.maintainers; {
|
{
|
||||||
maintainers = [ hexa ];
|
name = "babeld";
|
||||||
};
|
meta = with pkgs.lib.maintainers; {
|
||||||
|
maintainers = [ hexa ];
|
||||||
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
client =
|
client =
|
||||||
{ pkgs, lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
virtualisation.vlans = [ 10 ];
|
virtualisation.vlans = [ 10 ];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
interfaces."eth1" = {
|
interfaces."eth1" = {
|
||||||
ipv4.addresses = lib.mkForce [
|
ipv4.addresses = lib.mkForce [
|
||||||
{
|
{
|
||||||
address = "192.168.10.2";
|
address = "192.168.10.2";
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
ipv4.routes = lib.mkForce [
|
ipv4.routes = lib.mkForce [
|
||||||
{
|
{
|
||||||
address = "0.0.0.0";
|
address = "0.0.0.0";
|
||||||
prefixLength = 0;
|
prefixLength = 0;
|
||||||
via = "192.168.10.1";
|
via = "192.168.10.1";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
ipv6.addresses = lib.mkForce [
|
ipv6.addresses = lib.mkForce [
|
||||||
{
|
{
|
||||||
address = "2001:db8:10::2";
|
address = "2001:db8:10::2";
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
ipv6.routes = lib.mkForce [
|
ipv6.routes = lib.mkForce [
|
||||||
{
|
{
|
||||||
address = "::";
|
address = "::";
|
||||||
prefixLength = 0;
|
prefixLength = 0;
|
||||||
via = "2001:db8:10::1";
|
via = "2001:db8:10::1";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
local_router =
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.vlans = [
|
||||||
|
10
|
||||||
|
20
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
useDHCP = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
|
||||||
|
interfaces."eth1" = {
|
||||||
|
ipv4.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "192.168.10.1";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "2001:db8:10::1";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
interfaces."eth2" = {
|
||||||
|
ipv4.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "192.168.20.1";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "2001:db8:20::1";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
local_router =
|
services.babeld = {
|
||||||
{ pkgs, lib, ... }:
|
enable = true;
|
||||||
{
|
interfaces.eth2 = {
|
||||||
virtualisation.vlans = [
|
hello-interval = 1;
|
||||||
10
|
type = "wired";
|
||||||
20
|
};
|
||||||
];
|
extraConfig = ''
|
||||||
|
local-port-readwrite 33123
|
||||||
|
|
||||||
networking = {
|
import-table 254 # main
|
||||||
useDHCP = false;
|
export-table 254 # main
|
||||||
firewall.enable = false;
|
|
||||||
|
|
||||||
interfaces."eth1" = {
|
in ip 192.168.10.0/24 deny
|
||||||
ipv4.addresses = lib.mkForce [
|
in ip 192.168.20.0/24 deny
|
||||||
{
|
in ip 2001:db8:10::/64 deny
|
||||||
address = "192.168.10.1";
|
in ip 2001:db8:20::/64 deny
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "2001:db8:10::1";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
interfaces."eth2" = {
|
in ip 192.168.30.0/24 allow
|
||||||
ipv4.addresses = lib.mkForce [
|
in ip 2001:db8:30::/64 allow
|
||||||
{
|
|
||||||
address = "192.168.20.1";
|
in deny
|
||||||
prefixLength = 24;
|
|
||||||
}
|
redistribute local proto 2
|
||||||
];
|
redistribute local deny
|
||||||
ipv6.addresses = lib.mkForce [
|
'';
|
||||||
{
|
};
|
||||||
address = "2001:db8:20::1";
|
};
|
||||||
prefixLength = 64;
|
remote_router =
|
||||||
}
|
{ lib, ... }:
|
||||||
];
|
{
|
||||||
};
|
virtualisation.vlans = [
|
||||||
|
20
|
||||||
|
30
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
useDHCP = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
|
||||||
|
interfaces."eth1" = {
|
||||||
|
ipv4.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "192.168.20.2";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "2001:db8:20::2";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.babeld = {
|
interfaces."eth2" = {
|
||||||
enable = true;
|
ipv4.addresses = lib.mkForce [
|
||||||
interfaces.eth2 = {
|
{
|
||||||
hello-interval = 1;
|
address = "192.168.30.1";
|
||||||
type = "wired";
|
prefixLength = 24;
|
||||||
};
|
}
|
||||||
extraConfig = ''
|
];
|
||||||
local-port-readwrite 33123
|
ipv6.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
import-table 254 # main
|
address = "2001:db8:30::1";
|
||||||
export-table 254 # main
|
prefixLength = 64;
|
||||||
|
}
|
||||||
in ip 192.168.10.0/24 deny
|
];
|
||||||
in ip 192.168.20.0/24 deny
|
|
||||||
in ip 2001:db8:10::/64 deny
|
|
||||||
in ip 2001:db8:20::/64 deny
|
|
||||||
|
|
||||||
in ip 192.168.30.0/24 allow
|
|
||||||
in ip 2001:db8:30::/64 allow
|
|
||||||
|
|
||||||
in deny
|
|
||||||
|
|
||||||
redistribute local proto 2
|
|
||||||
redistribute local deny
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
remote_router =
|
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
virtualisation.vlans = [
|
|
||||||
20
|
|
||||||
30
|
|
||||||
];
|
|
||||||
|
|
||||||
networking = {
|
services.babeld = {
|
||||||
useDHCP = false;
|
enable = true;
|
||||||
firewall.enable = false;
|
interfaces.eth1 = {
|
||||||
|
hello-interval = 1;
|
||||||
interfaces."eth1" = {
|
type = "wired";
|
||||||
ipv4.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "192.168.20.2";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "2001:db8:20::2";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
interfaces."eth2" = {
|
|
||||||
ipv4.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "192.168.30.1";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "2001:db8:30::1";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
local-port-readwrite 33123
|
||||||
|
|
||||||
services.babeld = {
|
import-table 254 # main
|
||||||
enable = true;
|
export-table 254 # main
|
||||||
interfaces.eth1 = {
|
|
||||||
hello-interval = 1;
|
|
||||||
type = "wired";
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
local-port-readwrite 33123
|
|
||||||
|
|
||||||
import-table 254 # main
|
in ip 192.168.20.0/24 deny
|
||||||
export-table 254 # main
|
in ip 192.168.30.0/24 deny
|
||||||
|
in ip 2001:db8:20::/64 deny
|
||||||
|
in ip 2001:db8:30::/64 deny
|
||||||
|
|
||||||
in ip 192.168.20.0/24 deny
|
in ip 192.168.10.0/24 allow
|
||||||
in ip 192.168.30.0/24 deny
|
in ip 2001:db8:10::/64 allow
|
||||||
in ip 2001:db8:20::/64 deny
|
|
||||||
in ip 2001:db8:30::/64 deny
|
|
||||||
|
|
||||||
in ip 192.168.10.0/24 allow
|
in deny
|
||||||
in ip 2001:db8:10::/64 allow
|
|
||||||
|
|
||||||
in deny
|
|
||||||
|
|
||||||
redistribute local proto 2
|
|
||||||
redistribute local deny
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
|
redistribute local proto 2
|
||||||
|
redistribute local deny
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
};
|
||||||
start_all()
|
};
|
||||||
|
|
||||||
local_router.wait_for_unit("babeld.service")
|
testScript = ''
|
||||||
remote_router.wait_for_unit("babeld.service")
|
start_all()
|
||||||
|
|
||||||
local_router.wait_until_succeeds("ip route get 192.168.30.1")
|
local_router.wait_for_unit("babeld.service")
|
||||||
local_router.wait_until_succeeds("ip route get 2001:db8:30::1")
|
remote_router.wait_for_unit("babeld.service")
|
||||||
|
|
||||||
remote_router.wait_until_succeeds("ip route get 192.168.10.1")
|
local_router.wait_until_succeeds("ip route get 192.168.30.1")
|
||||||
remote_router.wait_until_succeeds("ip route get 2001:db8:10::1")
|
local_router.wait_until_succeeds("ip route get 2001:db8:30::1")
|
||||||
|
|
||||||
client.succeed("ping -c1 192.168.30.1")
|
remote_router.wait_until_succeeds("ip route get 192.168.10.1")
|
||||||
client.succeed("ping -c1 2001:db8:30::1")
|
remote_router.wait_until_succeeds("ip route get 2001:db8:10::1")
|
||||||
|
|
||||||
remote_router.succeed("ping -c1 192.168.10.2")
|
client.succeed("ping -c1 192.168.30.1")
|
||||||
remote_router.succeed("ping -c1 2001:db8:10::2")
|
client.succeed("ping -c1 2001:db8:30::1")
|
||||||
'';
|
|
||||||
}
|
remote_router.succeed("ping -c1 192.168.10.2")
|
||||||
)
|
remote_router.succeed("ping -c1 2001:db8:10::2")
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
|
@ -1,55 +1,57 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, lib, ... }:
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "botamusique";
|
name = "botamusique";
|
||||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
machine =
|
machine =
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
127.0.0.1 all.api.radio-browser.info
|
127.0.0.1 all.api.radio-browser.info
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.murmur = {
|
services.murmur = {
|
||||||
enable = true;
|
enable = true;
|
||||||
registerName = "NixOS tests";
|
registerName = "NixOS tests";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.botamusique = {
|
services.botamusique = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
channel = "NixOS tests";
|
channel = "NixOS tests";
|
||||||
};
|
};
|
||||||
bot = {
|
bot = {
|
||||||
version = false;
|
version = false;
|
||||||
auto_check_update = false;
|
auto_check_update = false;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
machine.wait_for_unit("murmur.service")
|
machine.wait_for_unit("murmur.service")
|
||||||
machine.wait_for_unit("botamusique.service")
|
machine.wait_for_unit("botamusique.service")
|
||||||
|
|
||||||
machine.sleep(10)
|
machine.sleep(10)
|
||||||
|
|
||||||
machine.wait_until_succeeds(
|
machine.wait_until_succeeds(
|
||||||
"journalctl -u murmur.service -e | grep -q '<1:botamusique(-1)> Authenticated'"
|
"journalctl -u murmur.service -e | grep -q '<1:botamusique(-1)> Authenticated'"
|
||||||
)
|
)
|
||||||
|
|
||||||
with subtest("Check systemd hardening"):
|
with subtest("Check systemd hardening"):
|
||||||
output = machine.execute("systemctl show botamusique.service")[1]
|
output = machine.execute("systemctl show botamusique.service")[1]
|
||||||
machine.log(output)
|
machine.log(output)
|
||||||
output = machine.execute("systemd-analyze security botamusique.service")[1]
|
output = machine.execute("systemd-analyze security botamusique.service")[1]
|
||||||
machine.log(output)
|
machine.log(output)
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
firefoxPackage,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
name = firefoxPackage.pname;
|
name = firefoxPackage.pname;
|
||||||
|
|
||||||
|
@ -9,7 +14,8 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
|
||||||
nodes.machine =
|
nodes.machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{ imports = [ ./common/x11.nix ];
|
{
|
||||||
|
imports = [ ./common/x11.nix ];
|
||||||
environment.systemPackages = [ pkgs.xdotool ];
|
environment.systemPackages = [ pkgs.xdotool ];
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
|
@ -31,9 +37,11 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = let
|
testScript =
|
||||||
exe = lib.getExe firefoxPackage;
|
let
|
||||||
in ''
|
exe = lib.getExe firefoxPackage;
|
||||||
|
in
|
||||||
|
''
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,4 +105,4 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
|
||||||
machine.screenshot("screen")
|
machine.screenshot("screen")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
})
|
}
|
||||||
|
|
|
@ -1,53 +1,54 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, ... }:
|
pkgs,
|
||||||
{
|
...
|
||||||
name = "go-neb";
|
}:
|
||||||
meta = with pkgs.lib.maintainers; {
|
{
|
||||||
maintainers = [
|
name = "go-neb";
|
||||||
hexa
|
meta = with pkgs.lib.maintainers; {
|
||||||
maralorn
|
maintainers = [
|
||||||
];
|
hexa
|
||||||
};
|
maralorn
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
server = {
|
server = {
|
||||||
services.go-neb = {
|
services.go-neb = {
|
||||||
enable = true;
|
enable = true;
|
||||||
baseUrl = "http://localhost";
|
baseUrl = "http://localhost";
|
||||||
secretFile = pkgs.writeText "secrets" "ACCESS_TOKEN=changeme";
|
secretFile = pkgs.writeText "secrets" "ACCESS_TOKEN=changeme";
|
||||||
config = {
|
config = {
|
||||||
clients = [
|
clients = [
|
||||||
{
|
{
|
||||||
UserId = "@test:localhost";
|
UserId = "@test:localhost";
|
||||||
AccessToken = "$ACCESS_TOKEN";
|
AccessToken = "$ACCESS_TOKEN";
|
||||||
HomeServerUrl = "http://localhost";
|
HomeServerUrl = "http://localhost";
|
||||||
Sync = false;
|
Sync = false;
|
||||||
AutoJoinRooms = false;
|
AutoJoinRooms = false;
|
||||||
DisplayName = "neverbeseen";
|
DisplayName = "neverbeseen";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
services = [
|
services = [
|
||||||
{
|
{
|
||||||
ID = "wikipedia_service";
|
ID = "wikipedia_service";
|
||||||
Type = "wikipedia";
|
Type = "wikipedia";
|
||||||
UserID = "@test:localhost";
|
UserID = "@test:localhost";
|
||||||
Config = { };
|
Config = { };
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
start_all()
|
start_all()
|
||||||
server.wait_for_unit("go-neb.service")
|
server.wait_for_unit("go-neb.service")
|
||||||
server.wait_until_succeeds("curl -fL http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U")
|
server.wait_until_succeeds("curl -fL http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U")
|
||||||
server.succeed(
|
server.succeed(
|
||||||
"journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service",
|
"journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service",
|
||||||
"grep -q changeme /var/run/go-neb/config.yaml",
|
"grep -q changeme /var/run/go-neb/config.yaml",
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
|
@ -5,231 +5,233 @@
|
||||||
# that the nameserver can resolve the clients fqdn to the correct IP
|
# that the nameserver can resolve the clients fqdn to the correct IP
|
||||||
# address.
|
# address.
|
||||||
|
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, lib, ... }:
|
pkgs,
|
||||||
{
|
lib,
|
||||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||||
|
|
||||||
name = "kea";
|
name = "kea";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
router =
|
router =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
virtualisation.vlans = [ 1 ];
|
virtualisation.vlans = [ 1 ];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
firewall.allowedUDPPorts = [ 67 ];
|
firewall.allowedUDPPorts = [ 67 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
enable = true;
|
enable = true;
|
||||||
networks = {
|
networks = {
|
||||||
"01-eth1" = {
|
"01-eth1" = {
|
||||||
name = "eth1";
|
name = "eth1";
|
||||||
networkConfig = {
|
networkConfig = {
|
||||||
Address = "10.0.0.1/29";
|
Address = "10.0.0.1/29";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.kea.dhcp4 = {
|
services.kea.dhcp4 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
valid-lifetime = 3600;
|
valid-lifetime = 3600;
|
||||||
renew-timer = 900;
|
renew-timer = 900;
|
||||||
rebind-timer = 1800;
|
rebind-timer = 1800;
|
||||||
|
|
||||||
lease-database = {
|
lease-database = {
|
||||||
type = "memfile";
|
type = "memfile";
|
||||||
persist = true;
|
persist = true;
|
||||||
name = "/var/lib/kea/dhcp4.leases";
|
name = "/var/lib/kea/dhcp4.leases";
|
||||||
};
|
};
|
||||||
|
|
||||||
control-socket = {
|
control-socket = {
|
||||||
socket-type = "unix";
|
socket-type = "unix";
|
||||||
socket-name = "/run/kea/dhcp4.sock";
|
socket-name = "/run/kea/dhcp4.sock";
|
||||||
};
|
};
|
||||||
|
|
||||||
interfaces-config = {
|
interfaces-config = {
|
||||||
dhcp-socket-type = "raw";
|
dhcp-socket-type = "raw";
|
||||||
interfaces = [
|
interfaces = [
|
||||||
"eth1"
|
"eth1"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
subnet4 = [
|
||||||
|
{
|
||||||
|
id = 1;
|
||||||
|
subnet = "10.0.0.0/29";
|
||||||
|
pools = [
|
||||||
|
{
|
||||||
|
pool = "10.0.0.3 - 10.0.0.3";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
subnet4 = [
|
# Enable communication between dhcp4 and a local dhcp-ddns
|
||||||
|
# instance.
|
||||||
|
# https://kea.readthedocs.io/en/kea-2.2.0/arm/dhcp4-srv.html#ddns-for-dhcpv4
|
||||||
|
dhcp-ddns = {
|
||||||
|
enable-updates = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
ddns-send-updates = true;
|
||||||
|
ddns-qualifying-suffix = "lan.nixos.test.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.kea.dhcp-ddns = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
forward-ddns = {
|
||||||
|
# Configure updates of a forward zone named `lan.nixos.test`
|
||||||
|
# hosted at the nameserver at 10.0.0.2
|
||||||
|
# https://kea.readthedocs.io/en/kea-2.2.0/arm/ddns.html#adding-forward-dns-servers
|
||||||
|
ddns-domains = [
|
||||||
{
|
{
|
||||||
id = 1;
|
name = "lan.nixos.test.";
|
||||||
subnet = "10.0.0.0/29";
|
# Use a TSIG key in production!
|
||||||
pools = [
|
key-name = "";
|
||||||
|
dns-servers = [
|
||||||
{
|
{
|
||||||
pool = "10.0.0.3 - 10.0.0.3";
|
ip-address = "10.0.0.2";
|
||||||
|
port = 53;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable communication between dhcp4 and a local dhcp-ddns
|
|
||||||
# instance.
|
|
||||||
# https://kea.readthedocs.io/en/kea-2.2.0/arm/dhcp4-srv.html#ddns-for-dhcpv4
|
|
||||||
dhcp-ddns = {
|
|
||||||
enable-updates = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ddns-send-updates = true;
|
|
||||||
ddns-qualifying-suffix = "lan.nixos.test.";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.kea.dhcp-ddns = {
|
services.kea.ctrl-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
forward-ddns = {
|
http-host = "127.0.0.1";
|
||||||
# Configure updates of a forward zone named `lan.nixos.test`
|
http-port = 8000;
|
||||||
# hosted at the nameserver at 10.0.0.2
|
control-sockets.dhcp4 = {
|
||||||
# https://kea.readthedocs.io/en/kea-2.2.0/arm/ddns.html#adding-forward-dns-servers
|
socket-type = "unix";
|
||||||
ddns-domains = [
|
socket-name = "/run/kea/dhcp4.sock";
|
||||||
{
|
};
|
||||||
name = "lan.nixos.test.";
|
};
|
||||||
# Use a TSIG key in production!
|
};
|
||||||
key-name = "";
|
|
||||||
dns-servers = [
|
services.prometheus.exporters.kea = {
|
||||||
{
|
enable = true;
|
||||||
ip-address = "10.0.0.2";
|
controlSocketPaths = [
|
||||||
port = 53;
|
"http://127.0.0.1:8000"
|
||||||
}
|
];
|
||||||
];
|
};
|
||||||
}
|
};
|
||||||
];
|
|
||||||
|
nameserver =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.vlans = [ 1 ];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
useDHCP = false;
|
||||||
|
firewall.allowedUDPPorts = [ 53 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.network = {
|
||||||
|
enable = true;
|
||||||
|
networks = {
|
||||||
|
"01-eth1" = {
|
||||||
|
name = "eth1";
|
||||||
|
networkConfig = {
|
||||||
|
Address = "10.0.0.2/29";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.kea.ctrl-agent = {
|
services.resolved.enable = false;
|
||||||
enable = true;
|
|
||||||
settings = {
|
# Set up an authoritative nameserver, serving the `lan.nixos.test`
|
||||||
http-host = "127.0.0.1";
|
# zone and configure an ACL that allows dynamic updates from
|
||||||
http-port = 8000;
|
# the router's ip address.
|
||||||
control-sockets.dhcp4 = {
|
# This ACL is likely insufficient for production usage. Please
|
||||||
socket-type = "unix";
|
# use TSIG keys.
|
||||||
socket-name = "/run/kea/dhcp4.sock";
|
services.knot =
|
||||||
};
|
let
|
||||||
|
zone = pkgs.writeTextDir "lan.nixos.test.zone" ''
|
||||||
|
@ SOA ns.nixos.test nox.nixos.test 0 86400 7200 3600000 172800
|
||||||
|
@ NS nameserver
|
||||||
|
nameserver A 10.0.0.3
|
||||||
|
router A 10.0.0.1
|
||||||
|
'';
|
||||||
|
zonesDir = pkgs.buildEnv {
|
||||||
|
name = "knot-zones";
|
||||||
|
paths = [ zone ];
|
||||||
};
|
};
|
||||||
};
|
in
|
||||||
|
{
|
||||||
services.prometheus.exporters.kea = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
controlSocketPaths = [
|
extraArgs = [
|
||||||
"http://127.0.0.1:8000"
|
"-v"
|
||||||
];
|
];
|
||||||
};
|
settings = {
|
||||||
};
|
server.listen = [
|
||||||
|
"0.0.0.0@53"
|
||||||
nameserver =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
virtualisation.vlans = [ 1 ];
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
useDHCP = false;
|
|
||||||
firewall.allowedUDPPorts = [ 53 ];
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.network = {
|
|
||||||
enable = true;
|
|
||||||
networks = {
|
|
||||||
"01-eth1" = {
|
|
||||||
name = "eth1";
|
|
||||||
networkConfig = {
|
|
||||||
Address = "10.0.0.2/29";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.resolved.enable = false;
|
|
||||||
|
|
||||||
# Set up an authoritative nameserver, serving the `lan.nixos.test`
|
|
||||||
# zone and configure an ACL that allows dynamic updates from
|
|
||||||
# the router's ip address.
|
|
||||||
# This ACL is likely insufficient for production usage. Please
|
|
||||||
# use TSIG keys.
|
|
||||||
services.knot =
|
|
||||||
let
|
|
||||||
zone = pkgs.writeTextDir "lan.nixos.test.zone" ''
|
|
||||||
@ SOA ns.nixos.test nox.nixos.test 0 86400 7200 3600000 172800
|
|
||||||
@ NS nameserver
|
|
||||||
nameserver A 10.0.0.3
|
|
||||||
router A 10.0.0.1
|
|
||||||
'';
|
|
||||||
zonesDir = pkgs.buildEnv {
|
|
||||||
name = "knot-zones";
|
|
||||||
paths = [ zone ];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
extraArgs = [
|
|
||||||
"-v"
|
|
||||||
];
|
];
|
||||||
settings = {
|
|
||||||
server.listen = [
|
log.syslog.any = "info";
|
||||||
"0.0.0.0@53"
|
|
||||||
|
acl.dhcp_ddns = {
|
||||||
|
address = "10.0.0.1";
|
||||||
|
action = "update";
|
||||||
|
};
|
||||||
|
|
||||||
|
template.default = {
|
||||||
|
storage = zonesDir;
|
||||||
|
zonefile-sync = "-1";
|
||||||
|
zonefile-load = "difference-no-serial";
|
||||||
|
journal-content = "all";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone."lan.nixos.test" = {
|
||||||
|
file = "lan.nixos.test.zone";
|
||||||
|
acl = [
|
||||||
|
"dhcp_ddns"
|
||||||
];
|
];
|
||||||
|
|
||||||
log.syslog.any = "info";
|
|
||||||
|
|
||||||
acl.dhcp_ddns = {
|
|
||||||
address = "10.0.0.1";
|
|
||||||
action = "update";
|
|
||||||
};
|
|
||||||
|
|
||||||
template.default = {
|
|
||||||
storage = zonesDir;
|
|
||||||
zonefile-sync = "-1";
|
|
||||||
zonefile-load = "difference-no-serial";
|
|
||||||
journal-content = "all";
|
|
||||||
};
|
|
||||||
|
|
||||||
zone."lan.nixos.test" = {
|
|
||||||
file = "lan.nixos.test.zone";
|
|
||||||
acl = [
|
|
||||||
"dhcp_ddns"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
client =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
virtualisation.vlans = [ 1 ];
|
|
||||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
|
||||||
networking = {
|
|
||||||
useNetworkd = true;
|
|
||||||
useDHCP = false;
|
|
||||||
firewall.enable = false;
|
|
||||||
interfaces.eth1.useDHCP = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
client =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.vlans = [ 1 ];
|
||||||
|
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||||
|
networking = {
|
||||||
|
useNetworkd = true;
|
||||||
|
useDHCP = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
interfaces.eth1.useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
testScript =
|
};
|
||||||
{ ... }:
|
testScript =
|
||||||
''
|
{ ... }:
|
||||||
start_all()
|
''
|
||||||
router.wait_for_unit("kea-dhcp4-server.service")
|
start_all()
|
||||||
client.systemctl("start systemd-networkd-wait-online.service")
|
router.wait_for_unit("kea-dhcp4-server.service")
|
||||||
client.wait_for_unit("systemd-networkd-wait-online.service")
|
client.systemctl("start systemd-networkd-wait-online.service")
|
||||||
client.wait_until_succeeds("ping -c 5 10.0.0.1")
|
client.wait_for_unit("systemd-networkd-wait-online.service")
|
||||||
router.wait_until_succeeds("ping -c 5 10.0.0.3")
|
client.wait_until_succeeds("ping -c 5 10.0.0.1")
|
||||||
nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3")
|
router.wait_until_succeeds("ping -c 5 10.0.0.3")
|
||||||
router.log(router.execute("curl 127.0.0.1:9547")[1])
|
nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3")
|
||||||
router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'")
|
router.log(router.execute("curl 127.0.0.1:9547")[1])
|
||||||
'';
|
router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'")
|
||||||
}
|
'';
|
||||||
)
|
}
|
||||||
|
|
|
@ -1,254 +1,256 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, lib, ... }:
|
pkgs,
|
||||||
let
|
lib,
|
||||||
common = {
|
...
|
||||||
networking.firewall.enable = false;
|
}:
|
||||||
networking.useDHCP = false;
|
let
|
||||||
};
|
common = {
|
||||||
exampleZone = pkgs.writeTextDir "example.com.zone" ''
|
networking.firewall.enable = false;
|
||||||
@ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800
|
networking.useDHCP = false;
|
||||||
@ NS ns1
|
};
|
||||||
@ NS ns2
|
exampleZone = pkgs.writeTextDir "example.com.zone" ''
|
||||||
ns1 A 192.168.0.1
|
@ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800
|
||||||
ns1 AAAA fd00::1
|
@ NS ns1
|
||||||
ns2 A 192.168.0.2
|
@ NS ns2
|
||||||
ns2 AAAA fd00::2
|
ns1 A 192.168.0.1
|
||||||
www A 192.0.2.1
|
ns1 AAAA fd00::1
|
||||||
www AAAA 2001:DB8::1
|
ns2 A 192.168.0.2
|
||||||
sub NS ns.example.com.
|
ns2 AAAA fd00::2
|
||||||
'';
|
www A 192.0.2.1
|
||||||
delegatedZone = pkgs.writeTextDir "sub.example.com.zone" ''
|
www AAAA 2001:DB8::1
|
||||||
@ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800
|
sub NS ns.example.com.
|
||||||
@ NS ns1.example.com.
|
'';
|
||||||
@ NS ns2.example.com.
|
delegatedZone = pkgs.writeTextDir "sub.example.com.zone" ''
|
||||||
@ A 192.0.2.2
|
@ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800
|
||||||
@ AAAA 2001:DB8::2
|
@ NS ns1.example.com.
|
||||||
'';
|
@ NS ns2.example.com.
|
||||||
|
@ A 192.0.2.2
|
||||||
|
@ AAAA 2001:DB8::2
|
||||||
|
'';
|
||||||
|
|
||||||
knotZonesEnv = pkgs.buildEnv {
|
knotZonesEnv = pkgs.buildEnv {
|
||||||
name = "knot-zones";
|
name = "knot-zones";
|
||||||
paths = [
|
paths = [
|
||||||
exampleZone
|
exampleZone
|
||||||
delegatedZone
|
delegatedZone
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# DO NOT USE pkgs.writeText IN PRODUCTION. This put secrets in the nix store!
|
# DO NOT USE pkgs.writeText IN PRODUCTION. This put secrets in the nix store!
|
||||||
tsigFile = pkgs.writeText "tsig.conf" ''
|
tsigFile = pkgs.writeText "tsig.conf" ''
|
||||||
key:
|
key:
|
||||||
- id: xfr_key
|
- id: xfr_key
|
||||||
algorithm: hmac-sha256
|
algorithm: hmac-sha256
|
||||||
secret: zOYgOgnzx3TGe5J5I/0kxd7gTcxXhLYMEq3Ek3fY37s=
|
secret: zOYgOgnzx3TGe5J5I/0kxd7gTcxXhLYMEq3Ek3fY37s=
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "knot";
|
name = "knot";
|
||||||
meta = with pkgs.lib.maintainers; {
|
meta = with pkgs.lib.maintainers; {
|
||||||
maintainers = [ hexa ];
|
maintainers = [ hexa ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
primary =
|
primary =
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ common ];
|
imports = [ common ];
|
||||||
|
|
||||||
# trigger sched_setaffinity syscall
|
# trigger sched_setaffinity syscall
|
||||||
virtualisation.cores = 2;
|
virtualisation.cores = 2;
|
||||||
|
|
||||||
networking.interfaces.eth1 = {
|
networking.interfaces.eth1 = {
|
||||||
ipv4.addresses = lib.mkForce [
|
ipv4.addresses = lib.mkForce [
|
||||||
{
|
{
|
||||||
address = "192.168.0.1";
|
address = "192.168.0.1";
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
}
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
|
address = "fd00::1";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
services.knot.enable = true;
|
||||||
|
services.knot.extraArgs = [ "-v" ];
|
||||||
|
services.knot.keyFiles = [ tsigFile ];
|
||||||
|
services.knot.settings = {
|
||||||
|
server = {
|
||||||
|
listen = [
|
||||||
|
"0.0.0.0@53"
|
||||||
|
"::@53"
|
||||||
];
|
];
|
||||||
ipv6.addresses = lib.mkForce [
|
listen-quic = [
|
||||||
{
|
"0.0.0.0@853"
|
||||||
address = "fd00::1";
|
"::@853"
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
|
automatic-acl = true;
|
||||||
};
|
};
|
||||||
services.knot.enable = true;
|
|
||||||
services.knot.extraArgs = [ "-v" ];
|
|
||||||
services.knot.keyFiles = [ tsigFile ];
|
|
||||||
services.knot.settings = {
|
|
||||||
server = {
|
|
||||||
listen = [
|
|
||||||
"0.0.0.0@53"
|
|
||||||
"::@53"
|
|
||||||
];
|
|
||||||
listen-quic = [
|
|
||||||
"0.0.0.0@853"
|
|
||||||
"::@853"
|
|
||||||
];
|
|
||||||
automatic-acl = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
acl.secondary_acl = {
|
acl.secondary_acl = {
|
||||||
|
address = "192.168.0.2";
|
||||||
|
key = "xfr_key";
|
||||||
|
action = "transfer";
|
||||||
|
};
|
||||||
|
|
||||||
|
remote.secondary.address = "192.168.0.2@53";
|
||||||
|
|
||||||
|
template.default = {
|
||||||
|
storage = knotZonesEnv;
|
||||||
|
notify = [ "secondary" ];
|
||||||
|
acl = [ "secondary_acl" ];
|
||||||
|
dnssec-signing = true;
|
||||||
|
# Input-only zone files
|
||||||
|
# https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3
|
||||||
|
# prevents modification of the zonefiles, since the zonefiles are immutable
|
||||||
|
zonefile-sync = -1;
|
||||||
|
zonefile-load = "difference";
|
||||||
|
journal-content = "changes";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone = {
|
||||||
|
"example.com".file = "example.com.zone";
|
||||||
|
"sub.example.com".file = "sub.example.com.zone";
|
||||||
|
};
|
||||||
|
|
||||||
|
log.syslog.any = "info";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
secondary =
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
imports = [ common ];
|
||||||
|
networking.interfaces.eth1 = {
|
||||||
|
ipv4.addresses = lib.mkForce [
|
||||||
|
{
|
||||||
address = "192.168.0.2";
|
address = "192.168.0.2";
|
||||||
key = "xfr_key";
|
prefixLength = 24;
|
||||||
action = "transfer";
|
}
|
||||||
};
|
];
|
||||||
|
ipv6.addresses = lib.mkForce [
|
||||||
remote.secondary.address = "192.168.0.2@53";
|
{
|
||||||
|
address = "fd00::2";
|
||||||
template.default = {
|
prefixLength = 64;
|
||||||
storage = knotZonesEnv;
|
}
|
||||||
notify = [ "secondary" ];
|
];
|
||||||
acl = [ "secondary_acl" ];
|
|
||||||
dnssec-signing = true;
|
|
||||||
# Input-only zone files
|
|
||||||
# https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3
|
|
||||||
# prevents modification of the zonefiles, since the zonefiles are immutable
|
|
||||||
zonefile-sync = -1;
|
|
||||||
zonefile-load = "difference";
|
|
||||||
journal-content = "changes";
|
|
||||||
};
|
|
||||||
|
|
||||||
zone = {
|
|
||||||
"example.com".file = "example.com.zone";
|
|
||||||
"sub.example.com".file = "sub.example.com.zone";
|
|
||||||
};
|
|
||||||
|
|
||||||
log.syslog.any = "info";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
services.knot.enable = true;
|
||||||
secondary =
|
services.knot.keyFiles = [ tsigFile ];
|
||||||
{ lib, ... }:
|
services.knot.extraArgs = [ "-v" ];
|
||||||
{
|
services.knot.settings = {
|
||||||
imports = [ common ];
|
server = {
|
||||||
networking.interfaces.eth1 = {
|
automatic-acl = true;
|
||||||
ipv4.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "192.168.0.2";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = lib.mkForce [
|
|
||||||
{
|
|
||||||
address = "fd00::2";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
services.knot.enable = true;
|
|
||||||
services.knot.keyFiles = [ tsigFile ];
|
|
||||||
services.knot.extraArgs = [ "-v" ];
|
|
||||||
services.knot.settings = {
|
|
||||||
server = {
|
|
||||||
automatic-acl = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdp = {
|
xdp = {
|
||||||
listen = [
|
listen = [
|
||||||
"eth1"
|
"eth1"
|
||||||
];
|
];
|
||||||
tcp = true;
|
tcp = true;
|
||||||
};
|
|
||||||
|
|
||||||
remote.primary = {
|
|
||||||
address = "192.168.0.1@53";
|
|
||||||
key = "xfr_key";
|
|
||||||
};
|
|
||||||
|
|
||||||
remote.primary-quic = {
|
|
||||||
address = "192.168.0.1@853";
|
|
||||||
key = "xfr_key";
|
|
||||||
quic = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
template.default = {
|
|
||||||
# zonefileless setup
|
|
||||||
# https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2
|
|
||||||
zonefile-sync = "-1";
|
|
||||||
zonefile-load = "none";
|
|
||||||
journal-content = "all";
|
|
||||||
};
|
|
||||||
|
|
||||||
zone = {
|
|
||||||
"example.com" = {
|
|
||||||
master = "primary";
|
|
||||||
file = "example.com.zone";
|
|
||||||
};
|
|
||||||
"sub.example.com" = {
|
|
||||||
master = "primary-quic";
|
|
||||||
file = "sub.example.com.zone";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
log.syslog.any = "debug";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
remote.primary = {
|
||||||
|
address = "192.168.0.1@53";
|
||||||
|
key = "xfr_key";
|
||||||
|
};
|
||||||
|
|
||||||
|
remote.primary-quic = {
|
||||||
|
address = "192.168.0.1@853";
|
||||||
|
key = "xfr_key";
|
||||||
|
quic = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
template.default = {
|
||||||
|
# zonefileless setup
|
||||||
|
# https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2
|
||||||
|
zonefile-sync = "-1";
|
||||||
|
zonefile-load = "none";
|
||||||
|
journal-content = "all";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone = {
|
||||||
|
"example.com" = {
|
||||||
|
master = "primary";
|
||||||
|
file = "example.com.zone";
|
||||||
|
};
|
||||||
|
"sub.example.com" = {
|
||||||
|
master = "primary-quic";
|
||||||
|
file = "sub.example.com.zone";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
log.syslog.any = "debug";
|
||||||
};
|
};
|
||||||
client =
|
};
|
||||||
{ lib, nodes, ... }:
|
client =
|
||||||
{
|
{ lib, nodes, ... }:
|
||||||
imports = [ common ];
|
{
|
||||||
networking.interfaces.eth1 = {
|
imports = [ common ];
|
||||||
ipv4.addresses = [
|
networking.interfaces.eth1 = {
|
||||||
{
|
ipv4.addresses = [
|
||||||
address = "192.168.0.3";
|
{
|
||||||
prefixLength = 24;
|
address = "192.168.0.3";
|
||||||
}
|
prefixLength = 24;
|
||||||
];
|
}
|
||||||
ipv6.addresses = [
|
];
|
||||||
{
|
ipv6.addresses = [
|
||||||
address = "fd00::3";
|
{
|
||||||
prefixLength = 64;
|
address = "fd00::3";
|
||||||
}
|
prefixLength = 64;
|
||||||
];
|
}
|
||||||
};
|
];
|
||||||
environment.systemPackages = [ pkgs.knot-dns ];
|
|
||||||
};
|
};
|
||||||
};
|
environment.systemPackages = [ pkgs.knot-dns ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
{ nodes, ... }:
|
{ nodes, ... }:
|
||||||
let
|
let
|
||||||
primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address;
|
primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address;
|
||||||
primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address;
|
primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address;
|
||||||
|
|
||||||
secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address;
|
secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address;
|
||||||
secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address;
|
secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address;
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
import re
|
import re
|
||||||
|
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
client.wait_for_unit("network.target")
|
client.wait_for_unit("network.target")
|
||||||
primary.wait_for_unit("knot.service")
|
primary.wait_for_unit("knot.service")
|
||||||
secondary.wait_for_unit("knot.service")
|
secondary.wait_for_unit("knot.service")
|
||||||
|
|
||||||
for zone in ("example.com.", "sub.example.com."):
|
for zone in ("example.com.", "sub.example.com."):
|
||||||
secondary.wait_until_succeeds(
|
secondary.wait_until_succeeds(
|
||||||
f"knotc zone-status {zone} | grep -q 'serial: 2019031302'"
|
f"knotc zone-status {zone} | grep -q 'serial: 2019031302'"
|
||||||
)
|
)
|
||||||
|
|
||||||
def test(host, query_type, query, pattern):
|
def test(host, query_type, query, pattern):
|
||||||
out = client.succeed(f"khost -t {query_type} {query} {host}").strip()
|
out = client.succeed(f"khost -t {query_type} {query} {host}").strip()
|
||||||
client.log(f"{host} replied with: {out}")
|
client.log(f"{host} replied with: {out}")
|
||||||
assert re.search(pattern, out), f'Did not match "{pattern}"'
|
assert re.search(pattern, out), f'Did not match "{pattern}"'
|
||||||
|
|
||||||
|
|
||||||
for host in ("${primary4}", "${primary6}", "${secondary4}", "${secondary6}"):
|
for host in ("${primary4}", "${primary6}", "${secondary4}", "${secondary6}"):
|
||||||
with subtest(f"Interrogate {host}"):
|
with subtest(f"Interrogate {host}"):
|
||||||
test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.")
|
test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.")
|
||||||
test(host, "A", "example.com", r"has no [^ ]+ record")
|
test(host, "A", "example.com", r"has no [^ ]+ record")
|
||||||
test(host, "AAAA", "example.com", r"has no [^ ]+ record")
|
test(host, "AAAA", "example.com", r"has no [^ ]+ record")
|
||||||
|
|
||||||
test(host, "A", "www.example.com", r"address 192.0.2.1$")
|
test(host, "A", "www.example.com", r"address 192.0.2.1$")
|
||||||
test(host, "AAAA", "www.example.com", r"address 2001:db8::1$")
|
test(host, "AAAA", "www.example.com", r"address 2001:db8::1$")
|
||||||
|
|
||||||
test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$")
|
test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$")
|
||||||
test(host, "A", "sub.example.com", r"address 192.0.2.2$")
|
test(host, "A", "sub.example.com", r"address 192.0.2.2$")
|
||||||
test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$")
|
test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$")
|
||||||
|
|
||||||
test(host, "RRSIG", "www.example.com", r"RR set signature is")
|
test(host, "RRSIG", "www.example.com", r"RR set signature is")
|
||||||
test(host, "DNSKEY", "example.com", r"DNSSEC key is")
|
test(host, "DNSKEY", "example.com", r"DNSSEC key is")
|
||||||
|
|
||||||
primary.log(primary.succeed("systemd-analyze security knot.service | grep -v '✓'"))
|
primary.log(primary.succeed("systemd-analyze security knot.service | grep -v '✓'"))
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
|
@ -1,102 +1,103 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, ... }:
|
pkgs,
|
||||||
let
|
...
|
||||||
port = 8000;
|
}:
|
||||||
baseUrl = "http://server:${toString port}";
|
let
|
||||||
in
|
port = 8000;
|
||||||
{
|
baseUrl = "http://server:${toString port}";
|
||||||
name = "pinnwand";
|
in
|
||||||
meta = with pkgs.lib.maintainers; {
|
{
|
||||||
maintainers = [ hexa ];
|
name = "pinnwand";
|
||||||
};
|
meta = with pkgs.lib.maintainers; {
|
||||||
|
maintainers = [ hexa ];
|
||||||
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
server =
|
server =
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
port
|
port
|
||||||
];
|
];
|
||||||
|
|
||||||
services.pinnwand = {
|
services.pinnwand = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = port;
|
port = port;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
client =
|
client =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.steck
|
pkgs.steck
|
||||||
|
|
||||||
(pkgs.writers.writePython3Bin "setup-steck.py"
|
(pkgs.writers.writePython3Bin "setup-steck.py"
|
||||||
{
|
{
|
||||||
libraries = with pkgs.python3.pkgs; [
|
libraries = with pkgs.python3.pkgs; [
|
||||||
appdirs
|
appdirs
|
||||||
toml
|
toml
|
||||||
];
|
];
|
||||||
flakeIgnore = [
|
flakeIgnore = [
|
||||||
"E501"
|
"E501"
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
import appdirs
|
||||||
|
import toml
|
||||||
|
import os
|
||||||
|
|
||||||
|
CONFIG = {
|
||||||
|
"base": "${baseUrl}/",
|
||||||
|
"confirm": False,
|
||||||
|
"magic": True,
|
||||||
|
"ignore": True
|
||||||
}
|
}
|
||||||
''
|
|
||||||
import appdirs
|
|
||||||
import toml
|
|
||||||
import os
|
|
||||||
|
|
||||||
CONFIG = {
|
os.makedirs(appdirs.user_config_dir('steck'))
|
||||||
"base": "${baseUrl}/",
|
with open(os.path.join(appdirs.user_config_dir('steck'), 'steck.toml'), "w") as fd:
|
||||||
"confirm": False,
|
toml.dump(CONFIG, fd)
|
||||||
"magic": True,
|
''
|
||||||
"ignore": True
|
)
|
||||||
}
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
os.makedirs(appdirs.user_config_dir('steck'))
|
testScript = ''
|
||||||
with open(os.path.join(appdirs.user_config_dir('steck'), 'steck.toml'), "w") as fd:
|
start_all()
|
||||||
toml.dump(CONFIG, fd)
|
|
||||||
''
|
|
||||||
)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
server.wait_for_unit("pinnwand.service")
|
||||||
start_all()
|
client.wait_for_unit("network.target")
|
||||||
|
|
||||||
server.wait_for_unit("pinnwand.service")
|
# create steck.toml config file
|
||||||
client.wait_for_unit("network.target")
|
client.succeed("setup-steck.py")
|
||||||
|
|
||||||
# create steck.toml config file
|
# wait until the server running pinnwand is reachable
|
||||||
client.succeed("setup-steck.py")
|
client.wait_until_succeeds("ping -c1 server")
|
||||||
|
|
||||||
# wait until the server running pinnwand is reachable
|
# make sure pinnwand is listening
|
||||||
client.wait_until_succeeds("ping -c1 server")
|
server.wait_for_open_port(${toString port})
|
||||||
|
|
||||||
# make sure pinnwand is listening
|
# send the contents of /etc/machine-id
|
||||||
server.wait_for_open_port(${toString port})
|
response = client.succeed("steck paste /etc/machine-id")
|
||||||
|
|
||||||
# send the contents of /etc/machine-id
|
# parse the steck response
|
||||||
response = client.succeed("steck paste /etc/machine-id")
|
raw_url = None
|
||||||
|
removal_link = None
|
||||||
|
for line in response.split("\n"):
|
||||||
|
if line.startswith("View link:"):
|
||||||
|
raw_url = f"${baseUrl}/raw/{line.split('/')[-1]}"
|
||||||
|
if line.startswith("Removal link:"):
|
||||||
|
removal_link = line.split(":", 1)[1]
|
||||||
|
|
||||||
# parse the steck response
|
# check whether paste matches what we sent
|
||||||
raw_url = None
|
client.succeed(f"curl {raw_url} > /tmp/machine-id")
|
||||||
removal_link = None
|
client.succeed("diff /tmp/machine-id /etc/machine-id")
|
||||||
for line in response.split("\n"):
|
|
||||||
if line.startswith("View link:"):
|
|
||||||
raw_url = f"${baseUrl}/raw/{line.split('/')[-1]}"
|
|
||||||
if line.startswith("Removal link:"):
|
|
||||||
removal_link = line.split(":", 1)[1]
|
|
||||||
|
|
||||||
# check whether paste matches what we sent
|
# remove paste and check that it's not available any more
|
||||||
client.succeed(f"curl {raw_url} > /tmp/machine-id")
|
client.succeed(f"curl {removal_link}")
|
||||||
client.succeed("diff /tmp/machine-id /etc/machine-id")
|
client.fail(f"curl --fail {raw_url}")
|
||||||
|
|
||||||
# remove paste and check that it's not available any more
|
server.log(server.execute("systemd-analyze security pinnwand | grep '✗'")[1])
|
||||||
client.succeed(f"curl {removal_link}")
|
'';
|
||||||
client.fail(f"curl --fail {raw_url}")
|
}
|
||||||
|
|
||||||
server.log(server.execute("systemd-analyze security pinnwand | grep '✗'")[1])
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,93 +1,94 @@
|
||||||
import ./make-test-python.nix (
|
{
|
||||||
{ pkgs, ... }:
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
port = 10004;
|
port = 10004;
|
||||||
tcpPort = 10005;
|
tcpPort = 10005;
|
||||||
httpPort = 10080;
|
httpPort = 10080;
|
||||||
tcpStreamPort = 10006;
|
tcpStreamPort = 10006;
|
||||||
bufferSize = 742;
|
bufferSize = 742;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "snapcast";
|
name = "snapcast";
|
||||||
meta = with pkgs.lib.maintainers; {
|
meta = with pkgs.lib.maintainers; {
|
||||||
maintainers = [ hexa ];
|
maintainers = [ hexa ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
server = {
|
server = {
|
||||||
services.snapserver = {
|
services.snapserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = port;
|
port = port;
|
||||||
tcp.port = tcpPort;
|
tcp.port = tcpPort;
|
||||||
http.port = httpPort;
|
http.port = httpPort;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
buffer = bufferSize;
|
buffer = bufferSize;
|
||||||
streams = {
|
streams = {
|
||||||
mpd = {
|
mpd = {
|
||||||
type = "pipe";
|
type = "pipe";
|
||||||
location = "/run/snapserver/mpd";
|
location = "/run/snapserver/mpd";
|
||||||
query.mode = "create";
|
query.mode = "create";
|
||||||
};
|
};
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
type = "pipe";
|
type = "pipe";
|
||||||
location = "/run/snapserver/bluetooth";
|
location = "/run/snapserver/bluetooth";
|
||||||
};
|
};
|
||||||
tcp = {
|
tcp = {
|
||||||
type = "tcp";
|
type = "tcp";
|
||||||
location = "127.0.0.1:${toString tcpStreamPort}";
|
location = "127.0.0.1:${toString tcpStreamPort}";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
type = "meta";
|
type = "meta";
|
||||||
location = "/mpd/bluetooth/tcp";
|
location = "/mpd/bluetooth/tcp";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment.systemPackages = [ pkgs.snapcast ];
|
|
||||||
};
|
|
||||||
client = {
|
|
||||||
environment.systemPackages = [ pkgs.snapcast ];
|
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = [ pkgs.snapcast ];
|
||||||
};
|
};
|
||||||
|
client = {
|
||||||
|
environment.systemPackages = [ pkgs.snapcast ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
import json
|
import json
|
||||||
|
|
||||||
get_rpc_version = {"id": "1", "jsonrpc": "2.0", "method": "Server.GetRPCVersion"}
|
get_rpc_version = {"id": "1", "jsonrpc": "2.0", "method": "Server.GetRPCVersion"}
|
||||||
|
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
server.wait_for_unit("snapserver.service")
|
server.wait_for_unit("snapserver.service")
|
||||||
server.wait_until_succeeds("ss -ntl | grep -q ${toString port}")
|
server.wait_until_succeeds("ss -ntl | grep -q ${toString port}")
|
||||||
server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpPort}")
|
server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpPort}")
|
||||||
server.wait_until_succeeds("ss -ntl | grep -q ${toString httpPort}")
|
server.wait_until_succeeds("ss -ntl | grep -q ${toString httpPort}")
|
||||||
server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpStreamPort}")
|
server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpStreamPort}")
|
||||||
|
|
||||||
with subtest("check that pipes are created"):
|
with subtest("check that pipes are created"):
|
||||||
server.succeed("test -p /run/snapserver/mpd")
|
server.succeed("test -p /run/snapserver/mpd")
|
||||||
server.succeed("test -p /run/snapserver/bluetooth")
|
server.succeed("test -p /run/snapserver/bluetooth")
|
||||||
|
|
||||||
with subtest("test tcp json-rpc"):
|
with subtest("test tcp json-rpc"):
|
||||||
server.succeed(f"echo '{json.dumps(get_rpc_version)}' | nc -w 1 localhost ${toString tcpPort}")
|
server.succeed(f"echo '{json.dumps(get_rpc_version)}' | nc -w 1 localhost ${toString tcpPort}")
|
||||||
|
|
||||||
with subtest("test http json-rpc"):
|
with subtest("test http json-rpc"):
|
||||||
server.succeed(
|
server.succeed(
|
||||||
"curl --fail http://localhost:${toString httpPort}/jsonrpc -d '{json.dumps(get_rpc_version)}'"
|
"curl --fail http://localhost:${toString httpPort}/jsonrpc -d '{json.dumps(get_rpc_version)}'"
|
||||||
)
|
)
|
||||||
|
|
||||||
with subtest("test a ipv6 connection"):
|
with subtest("test a ipv6 connection"):
|
||||||
server.execute("systemd-run --unit=snapcast-local-client snapclient -h ::1 -p ${toString port}")
|
server.execute("systemd-run --unit=snapcast-local-client snapclient -h ::1 -p ${toString port}")
|
||||||
server.wait_until_succeeds(
|
server.wait_until_succeeds(
|
||||||
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
||||||
)
|
)
|
||||||
server.wait_until_succeeds("journalctl -o cat -u snapcast-local-client | grep -q 'buffer: ${toString bufferSize}'")
|
server.wait_until_succeeds("journalctl -o cat -u snapcast-local-client | grep -q 'buffer: ${toString bufferSize}'")
|
||||||
|
|
||||||
with subtest("test a connection"):
|
with subtest("test a connection"):
|
||||||
client.execute("systemd-run --unit=snapcast-client snapclient -h server -p ${toString port}")
|
client.execute("systemd-run --unit=snapcast-client snapclient -h server -p ${toString port}")
|
||||||
server.wait_until_succeeds(
|
server.wait_until_succeeds(
|
||||||
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
||||||
)
|
)
|
||||||
client.wait_until_succeeds("journalctl -o cat -u snapcast-client | grep -q 'buffer: ${toString bufferSize}'")
|
client.wait_until_succeeds("journalctl -o cat -u snapcast-client | grep -q 'buffer: ${toString bufferSize}'")
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
# sniprun
|
# sniprun
|
||||||
vimUtils,
|
vimUtils,
|
||||||
substituteAll,
|
replaceVars,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
@ -58,8 +58,7 @@ vimUtils.buildVimPlugin {
|
||||||
inherit version src;
|
inherit version src;
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(replaceVars ./fix-paths.patch {
|
||||||
src = ./fix-paths.patch;
|
|
||||||
sniprun = lib.getExe sniprun-bin;
|
sniprun = lib.getExe sniprun-bin;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -4301,8 +4301,8 @@ let
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "sas-lsp";
|
name = "sas-lsp";
|
||||||
publisher = "SAS";
|
publisher = "SAS";
|
||||||
version = "1.13.0";
|
version = "1.13.1";
|
||||||
hash = "sha256-bcj9p/hvzZ1z03D1dXxiyPmGndh3pD7seI5VYHWsvzU=";
|
hash = "sha256-Ol79+z/W4RzAQ0jjDMkxPrg8eOWanOqtIF7ZxNrskOk=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
|
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
|
||||||
|
|
|
@ -55,13 +55,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "dolphin-emu";
|
pname = "dolphin-emu";
|
||||||
version = "2412";
|
version = "2503";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dolphin-emu";
|
owner = "dolphin-emu";
|
||||||
repo = "dolphin";
|
repo = "dolphin";
|
||||||
tag = finalAttrs.version;
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-5Eir8EQPGVSg2QXzzuHH9lf7CrV76KwmRsHiDqs6tD4=";
|
hash = "sha256-oqJKXFcsFgoYjUqdk3Z/CIFhOa8w0drcF4JwtHRI1Hs=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -84,13 +84,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "imagemagick";
|
pname = "imagemagick";
|
||||||
version = "7.1.1-44";
|
version = "7.1.1-45";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ImageMagick";
|
owner = "ImageMagick";
|
||||||
repo = "ImageMagick";
|
repo = "ImageMagick";
|
||||||
rev = finalAttrs.version;
|
tag = finalAttrs.version;
|
||||||
hash = "sha256-DsJRTLMyjU2mMEGq/2qEJvjdYa698TEZZqkxuWtd/A4=";
|
hash = "sha256-7oE+fkozhTqTagcwpzttKLZoq4gT1nSib4JssRmz3YI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
1179
pkgs/applications/misc/anup/Cargo.lock
generated
1179
pkgs/applications/misc/anup/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "roxctl";
|
pname = "roxctl";
|
||||||
version = "4.6.2";
|
version = "4.6.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stackrox";
|
owner = "stackrox";
|
||||||
repo = "stackrox";
|
repo = "stackrox";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-UgwWNacoPSMtZBLnGh/e7tIgXksBgBcCyZJ3XpKUapQ=";
|
sha256 = "sha256-QrQLIqP70IUDY9lOZ0cTBIRYY8mVVW4sRt8522y/q80=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-NqPon1S0GzdyIDMNejIXmlkppR8DnXWNdXuyuiA2Vxo=";
|
vendorHash = "sha256-Zuln5na8MrL+IVOk+NOBrrYJIQ3RincJRYgpAd1WiS8=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
jre,
|
jre,
|
||||||
unzip,
|
unzip,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
|
makeDesktopItem,
|
||||||
|
copyDesktopItems,
|
||||||
|
xdg-utils,
|
||||||
|
imagemagick,
|
||||||
|
maxMemoryAllocationPool ? "1000M",
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -19,18 +24,70 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
unzip
|
unzip
|
||||||
];
|
imagemagick
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems ];
|
||||||
|
|
||||||
# The -Xmx1000M comes suggested from their download page:
|
# The -Xmx1000M comes suggested from their download page:
|
||||||
# https://www.cs.waikato.ac.nz/ml/weka/downloading.html
|
# https://www.cs.waikato.ac.nz/ml/weka/downloading.html
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -pv $out/share/weka
|
mkdir -pv $out/share/weka
|
||||||
|
mkdir -p $out/share/icons/hicolor
|
||||||
cp -Rv * $out/share/weka
|
cp -Rv * $out/share/weka
|
||||||
|
|
||||||
makeWrapper ${jre}/bin/java $out/bin/weka \
|
makeWrapper ${jre}/bin/java $out/bin/weka \
|
||||||
--add-flags "-Xmx1000M -jar $out/share/weka/weka.jar"
|
--add-flags "-Xmx${maxMemoryAllocationPool} -jar $out/share/weka/weka.jar"
|
||||||
|
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/weka-java \
|
||||||
|
--add-flags "-Xmx${maxMemoryAllocationPool} -cp $out/share/weka/weka.jar"
|
||||||
|
|
||||||
|
${lib.optionalString stdenv.hostPlatform.isLinux "
|
||||||
|
makeWrapper ${xdg-utils}/bin/xdg-open $out/bin/weka-doc --add-flags $out/share/weka/documentation.html
|
||||||
|
"}
|
||||||
|
|
||||||
|
cat << EOF > $out/bin/weka-home
|
||||||
|
#!${stdenv.shell}
|
||||||
|
echo -n $out/share/weka
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod ugo+x $out/bin/weka-home
|
||||||
|
|
||||||
|
for n in 16 24 32 48 64 96 128 256; do
|
||||||
|
size=$n"x"$n
|
||||||
|
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||||
|
magick convert $out/share/weka/weka.gif -resize $size $out/share/icons/hicolor/$size/apps/weka.png
|
||||||
|
done;
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "weka";
|
||||||
|
exec = "weka";
|
||||||
|
icon = "weka";
|
||||||
|
desktopName = "WEKA";
|
||||||
|
categories = [
|
||||||
|
"Science"
|
||||||
|
"ArtificialIntelligence"
|
||||||
|
"ComputerScience"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "weka-doc";
|
||||||
|
exec = "weka-doc";
|
||||||
|
icon = "weka";
|
||||||
|
desktopName = "View the WEKA documentation with a web browser";
|
||||||
|
categories = [
|
||||||
|
"Science"
|
||||||
|
"ArtificialIntelligence"
|
||||||
|
"ComputerScience"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.cs.waikato.ac.nz/ml/weka/";
|
homepage = "https://www.cs.waikato.ac.nz/ml/weka/";
|
||||||
description = "Collection of machine learning algorithms for data mining tasks";
|
description = "Collection of machine learning algorithms for data mining tasks";
|
||||||
|
|
|
@ -10,17 +10,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "aiken";
|
pname = "aiken";
|
||||||
version = "1.1.12";
|
version = "1.1.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aiken-lang";
|
owner = "aiken-lang";
|
||||||
repo = "aiken";
|
repo = "aiken";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-QxIkqS+lqZjyuXUghSSd+4ud4Vrce7MgLrk2a5AQGmU=";
|
hash = "sha256-es1opcYGoryRLpEPJuuuusTSVDnNAoEoGLg+LB8VnM0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-vbwYoBDTdAHCpCOJEdVo9Ir8wd4284pgYjyQuy/STHc=";
|
cargoHash = "sha256-g4DHkHw6Nog+ZtquvVaRaZdfcuH/ReLYsLeARbnCqac=";
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ openssl ]
|
[ openssl ]
|
||||||
|
|
|
@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation (self: {
|
||||||
sourceRoot = "${self.src.name}/themes";
|
sourceRoot = "${self.src.name}/themes";
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
install -Dt $out *.toml
|
install -Dt $out/share/alacritty-theme *.toml
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "atproto-goat";
|
pname = "atproto-goat";
|
||||||
version = "0-unstable-2024-10-29";
|
version = "0-unstable-2025-02-01";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bluesky-social";
|
owner = "bluesky-social";
|
||||||
repo = "indigo";
|
repo = "indigo";
|
||||||
rev = "983ce4a481a32a3eb2944c4c76e885d0f6006f83";
|
rev = "fd270fbccf0ca858ed2eccdeff246a303c0be045";
|
||||||
hash = "sha256-Jo3pI4uRyKh3yV03ijOcg+Uyu75Spmy/VS116MVgleU=";
|
hash = "sha256-1WK3tMz8WbuIGTHYwD0or+9D0KVezhnv3EDdK11KKp8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -22,7 +22,7 @@ buildGoModule rec {
|
||||||
--replace-fail '"github.com/carlmjohnson/versioninfo"' ""
|
--replace-fail '"github.com/carlmjohnson/versioninfo"' ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorHash = "sha256-T+jtxubVKskrLGTUa4RI24o/WTSFCBk60HhyCFujPOI=";
|
vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs=";
|
||||||
|
|
||||||
subPackages = [ "cmd/goat" ];
|
subPackages = [ "cmd/goat" ];
|
||||||
|
|
||||||
|
|
|
@ -61,13 +61,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "audacity";
|
pname = "audacity";
|
||||||
version = "3.7.1";
|
version = "3.7.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "audacity";
|
owner = "audacity";
|
||||||
repo = "audacity";
|
repo = "audacity";
|
||||||
rev = "Audacity-${finalAttrs.version}";
|
rev = "Audacity-${finalAttrs.version}";
|
||||||
hash = "sha256-QKydqpkqG7znBEdtVEayC2SyNGU8tQX6AfxdeJN8tDg=";
|
hash = "sha256-uRFLtjawMI5mHvlQNWkqSICPKbTiwp2bnBBsuj2JAP8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
|
|
|
@ -8,17 +8,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-deb";
|
pname = "cargo-deb";
|
||||||
version = "2.11.2";
|
version = "2.11.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kornelski";
|
owner = "kornelski";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-I8b14fB/m5fYPLIpXnhYGsLaKXs7F9NW2mjHxng6AHU=";
|
hash = "sha256-QDx7ZP/5z1YgD3RzLmwDE3KLY+5nMncYy97aveFH03w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-o9VN1D3OoqochtpNApE5N+g7xw/QOTbzwSKVPwzzDow=";
|
cargoHash = "sha256-ZN0TAQzt7LrHxoM4qAuMUm5Goaq1BuNBmd4kDGjiK4Q=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
|
|
|
@ -17,15 +17,15 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-update";
|
pname = "cargo-update";
|
||||||
version = "16.1.0";
|
version = "16.2.0";
|
||||||
|
|
||||||
src = fetchCrate {
|
src = fetchCrate {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-bdIFenNMW5iDQaKS2+lMYVVfc0zpbYNOHQqczpjBNC4=";
|
hash = "sha256-dO8A4XAFms31hWVpZelMnDmn0sPpCh4S4byEVRYjOTI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-KujJB9o5+yHu6mEQOvzGUcBS6/fh/jcnt7/FbUPLefg=";
|
cargoHash = "sha256-DxY03sqr/upJbNm8EkoIN96SOhZr1jm/6dgtKwyDFEU=";
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[
|
[
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ccache";
|
pname = "ccache";
|
||||||
version = "4.10.2";
|
version = "4.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ccache";
|
owner = "ccache";
|
||||||
|
@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
hash = "sha256-j7Cjr5R/fN/1C6hR9400Y/hwgG++qjPvo9PYyetzrx0=";
|
hash = "sha256-hMQ+4/5kk+QRHtMEbIk4TIWaSyYXVdXrOMKCkglNe6g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication {
|
python3Packages.buildPythonApplication {
|
||||||
pname = "chirp";
|
pname = "chirp";
|
||||||
version = "0.4.0-unstable-2025-03-05";
|
version = "0.4.0-unstable-2025-03-07";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kk7ds";
|
owner = "kk7ds";
|
||||||
repo = "chirp";
|
repo = "chirp";
|
||||||
rev = "3e663d36f96aef03a58cab81d32122ca14a59343";
|
rev = "7ba82c4faca496cf1370554a3485c1573b6a38a0";
|
||||||
hash = "sha256-ODb+Q1Q+7XF/mX1GY2qItY4OOigguTFF+53vnaO5Ap0=";
|
hash = "sha256-UhQF6yfykraz5DblyW8cSP/XY+j/uxJtUVDpgdWlHZU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "@github/copilot-language-server",
|
"name": "@github/copilot-language-server",
|
||||||
"version": "1.275.0",
|
"version": "1.280.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@github/copilot-language-server",
|
"name": "@github/copilot-language-server",
|
||||||
"version": "1.275.0",
|
"version": "1.280.0",
|
||||||
"license": "https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features",
|
"license": "https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"vscode-languageserver-protocol": "^3.17.5"
|
"vscode-languageserver-protocol": "^3.17.5"
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "copilot-language-server";
|
pname = "copilot-language-server";
|
||||||
version = "1.275.0";
|
version = "1.280.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://registry.npmjs.org/@github/copilot-language-server/-/copilot-language-server-${version}.tgz";
|
url = "https://registry.npmjs.org/@github/copilot-language-server/-/copilot-language-server-${version}.tgz";
|
||||||
hash = "sha256-OVqtwz9T5vSYAZc8nof0jXn7H40i1r7SAS6jK4xeSlo=";
|
hash = "sha256-6UniNoKUoATY+7amMoyWmo0DxEM82Iuu2Jf8P2raWx4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-PLX/mN7xu8gMh2BkkyTncP3+rJ3nBmX+pHxl0ONXbe4=";
|
npmDepsHash = "sha256-BtErMpXdRC0t9DNa3hKU+tct6e9K+tMP+LcbmwSJrLI=";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
ln -s ${./package-lock.json} package-lock.json
|
ln -s ${./package-lock.json} package-lock.json
|
||||||
|
|
|
@ -1,65 +1,72 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
|
stdenvAdapters,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
rustPlatform,
|
rustPlatform,
|
||||||
|
libcosmicAppHook,
|
||||||
just,
|
just,
|
||||||
pkg-config,
|
nasm,
|
||||||
makeBinaryWrapper,
|
nix-update-script,
|
||||||
libxkbcommon,
|
|
||||||
wayland,
|
withMoldLinker ? stdenv.targetPlatform.isLinux,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage.override
|
||||||
pname = "cosmic-bg";
|
{ stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; }
|
||||||
version = "1.0.0-alpha.6";
|
(finalAttrs: {
|
||||||
|
pname = "cosmic-bg";
|
||||||
|
version = "1.0.0-alpha.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pop-os";
|
owner = "pop-os";
|
||||||
repo = pname;
|
repo = "cosmic-bg";
|
||||||
rev = "epoch-${version}";
|
tag = "epoch-${finalAttrs.version}";
|
||||||
hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks=";
|
hash = "sha256-4b4laUXTnAbdngLVh8/dD144m9QrGReSEjRZoNR6Iks=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk=";
|
cargoHash = "sha256-GLXooTjcGq4MsBNnlpHBBUJGNs5UjKMQJGJuj9UO2wk=";
|
||||||
|
|
||||||
postPatch = ''
|
nativeBuildInputs = [
|
||||||
substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
|
just
|
||||||
'';
|
libcosmicAppHook
|
||||||
|
nasm
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
dontUseJustBuild = true;
|
||||||
just
|
dontUseJustCheck = true;
|
||||||
pkg-config
|
|
||||||
makeBinaryWrapper
|
|
||||||
];
|
|
||||||
buildInputs = [
|
|
||||||
libxkbcommon
|
|
||||||
wayland
|
|
||||||
];
|
|
||||||
|
|
||||||
dontUseJustBuild = true;
|
justFlags = [
|
||||||
|
"--set"
|
||||||
|
"prefix"
|
||||||
|
(placeholder "out")
|
||||||
|
"--set"
|
||||||
|
"bin-src"
|
||||||
|
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-bg"
|
||||||
|
];
|
||||||
|
|
||||||
justFlags = [
|
env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" =
|
||||||
"--set"
|
lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold";
|
||||||
"prefix"
|
|
||||||
(placeholder "out")
|
|
||||||
"--set"
|
|
||||||
"bin-src"
|
|
||||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-bg"
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
passthru.updateScript = nix-update-script {
|
||||||
wrapProgram $out/bin/cosmic-bg \
|
extraArgs = [
|
||||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}"
|
"--version"
|
||||||
'';
|
"unstable"
|
||||||
|
"--version-regex"
|
||||||
|
"epoch-(.*)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://github.com/pop-os/cosmic-bg";
|
homepage = "https://github.com/pop-os/cosmic-bg";
|
||||||
description = "Applies Background for the COSMIC Desktop Environment";
|
description = "Applies Background for the COSMIC Desktop Environment";
|
||||||
license = licenses.mpl20;
|
license = lib.licenses.mpl20;
|
||||||
maintainers = with maintainers; [ nyabinary ];
|
maintainers = with lib.maintainers; [
|
||||||
platforms = platforms.linux;
|
nyabinary
|
||||||
mainProgram = "cosmic-bg";
|
HeitorAugustoLN
|
||||||
};
|
];
|
||||||
}
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "cosmic-bg";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
@ -1,68 +1,70 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
|
stdenvAdapters,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
rustPlatform,
|
rustPlatform,
|
||||||
just,
|
just,
|
||||||
libcosmicAppHook,
|
libcosmicAppHook,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
|
||||||
|
withMoldLinker ? stdenv.targetPlatform.isLinux,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage.override
|
||||||
pname = "cosmic-launcher";
|
{ stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; }
|
||||||
version = "1.0.0-alpha.6";
|
(finalAttrs: {
|
||||||
|
pname = "cosmic-launcher";
|
||||||
|
version = "1.0.0-alpha.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pop-os";
|
owner = "pop-os";
|
||||||
repo = "cosmic-launcher";
|
repo = "cosmic-launcher";
|
||||||
tag = "epoch-${version}";
|
tag = "epoch-${finalAttrs.version}";
|
||||||
hash = "sha256-BtYnL+qkM/aw+Air5yOKH098V+TQByM5mh1DX7v+v+s=";
|
hash = "sha256-BtYnL+qkM/aw+Air5yOKH098V+TQByM5mh1DX7v+v+s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-g7Qr3C8jQg65KehXAhftdXCpEukag0w12ClvZFkxfqs=";
|
cargoHash = "sha256-g7Qr3C8jQg65KehXAhftdXCpEukag0w12ClvZFkxfqs=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
just
|
just
|
||||||
libcosmicAppHook
|
libcosmicAppHook
|
||||||
];
|
|
||||||
|
|
||||||
dontUseJustBuild = true;
|
|
||||||
dontUseJustCheck = true;
|
|
||||||
|
|
||||||
justFlags = [
|
|
||||||
"--set"
|
|
||||||
"prefix"
|
|
||||||
(placeholder "out")
|
|
||||||
"--set"
|
|
||||||
"bin-src"
|
|
||||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-launcher"
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = "--cfg tokio_unstable";
|
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {
|
|
||||||
extraArgs = [
|
|
||||||
"--version"
|
|
||||||
"unstable"
|
|
||||||
"--version-regex"
|
|
||||||
"epoch-(.*)"
|
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
dontUseJustBuild = true;
|
||||||
homepage = "https://github.com/pop-os/cosmic-launcher";
|
dontUseJustCheck = true;
|
||||||
description = "Launcher for the COSMIC Desktop Environment";
|
|
||||||
mainProgram = "cosmic-launcher";
|
justFlags = [
|
||||||
license = lib.licenses.gpl3Only;
|
"--set"
|
||||||
maintainers = with lib.maintainers; [
|
"prefix"
|
||||||
nyabinary
|
(placeholder "out")
|
||||||
HeitorAugustoLN
|
"--set"
|
||||||
|
"bin-src"
|
||||||
|
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-launcher"
|
||||||
];
|
];
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" =
|
||||||
}
|
"--cfg tokio_unstable${lib.optionalString withMoldLinker " -C link-arg=-fuse-ld=mold"}";
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script {
|
||||||
|
extraArgs = [
|
||||||
|
"--version"
|
||||||
|
"unstable"
|
||||||
|
"--version-regex"
|
||||||
|
"epoch-(.*)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/pop-os/cosmic-launcher";
|
||||||
|
description = "Launcher for the COSMIC Desktop Environment";
|
||||||
|
mainProgram = "cosmic-launcher";
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
nyabinary
|
||||||
|
HeitorAugustoLN
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
@ -1,65 +1,73 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
|
stdenvAdapters,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
rustPlatform,
|
rustPlatform,
|
||||||
just,
|
just,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
wayland,
|
wayland,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
|
||||||
|
withMoldLinker ? stdenv.targetPlatform.isLinux,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage.override
|
||||||
pname = "cosmic-randr";
|
{ stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; }
|
||||||
version = "1.0.0-alpha.6";
|
(finalAttrs: {
|
||||||
|
pname = "cosmic-randr";
|
||||||
|
version = "1.0.0-alpha.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pop-os";
|
owner = "pop-os";
|
||||||
repo = "cosmic-randr";
|
repo = "cosmic-randr";
|
||||||
tag = "epoch-${version}";
|
tag = "epoch-${finalAttrs.version}";
|
||||||
hash = "sha256-Sqxe+vKonsK9MmJGtbrZHE7frfrjkHXysm0WQt7WSU4=";
|
hash = "sha256-Sqxe+vKonsK9MmJGtbrZHE7frfrjkHXysm0WQt7WSU4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-UQ/fhjUiniVeHRQYulYko4OxcWB6UhFuxH1dVAfAzIY=";
|
cargoHash = "sha256-UQ/fhjUiniVeHRQYulYko4OxcWB6UhFuxH1dVAfAzIY=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
just
|
just
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [ wayland ];
|
|
||||||
|
|
||||||
dontUseJustBuild = true;
|
|
||||||
dontUseJustCheck = true;
|
|
||||||
|
|
||||||
justFlags = [
|
|
||||||
"--set"
|
|
||||||
"prefix"
|
|
||||||
(placeholder "out")
|
|
||||||
"--set"
|
|
||||||
"bin-src"
|
|
||||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-randr"
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {
|
|
||||||
extraArgs = [
|
|
||||||
"--version"
|
|
||||||
"unstable"
|
|
||||||
"--version-regex"
|
|
||||||
"epoch-(.*)"
|
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
buildInputs = [ wayland ];
|
||||||
homepage = "https://github.com/pop-os/cosmic-randr";
|
|
||||||
description = "Library and utility for displaying and configuring Wayland outputs";
|
dontUseJustBuild = true;
|
||||||
license = lib.licenses.mpl20;
|
dontUseJustCheck = true;
|
||||||
maintainers = with lib.maintainers; [
|
|
||||||
nyabinary
|
justFlags = [
|
||||||
HeitorAugustoLN
|
"--set"
|
||||||
|
"prefix"
|
||||||
|
(placeholder "out")
|
||||||
|
"--set"
|
||||||
|
"bin-src"
|
||||||
|
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-randr"
|
||||||
];
|
];
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
mainProgram = "cosmic-randr";
|
env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" =
|
||||||
};
|
lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold";
|
||||||
}
|
|
||||||
|
passthru.updateScript = nix-update-script {
|
||||||
|
extraArgs = [
|
||||||
|
"--version"
|
||||||
|
"unstable"
|
||||||
|
"--version-regex"
|
||||||
|
"epoch-(.*)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/pop-os/cosmic-randr";
|
||||||
|
description = "Library and utility for displaying and configuring Wayland outputs";
|
||||||
|
license = lib.licenses.mpl20;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
nyabinary
|
||||||
|
HeitorAugustoLN
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "cosmic-randr";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
@ -1,30 +1,25 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
cosmic-icons,
|
stdenv,
|
||||||
|
rustPlatform,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
pkg-config,
|
||||||
|
just,
|
||||||
|
libcosmicAppHook,
|
||||||
fontconfig,
|
fontconfig,
|
||||||
freetype,
|
freetype,
|
||||||
just,
|
|
||||||
libglvnd,
|
|
||||||
libinput,
|
libinput,
|
||||||
libxkbcommon,
|
nix-update-script,
|
||||||
makeBinaryWrapper,
|
|
||||||
pkg-config,
|
|
||||||
rustPlatform,
|
|
||||||
stdenv,
|
|
||||||
vulkan-loader,
|
|
||||||
wayland,
|
|
||||||
xorg,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
pname = "cosmic-term";
|
pname = "cosmic-term";
|
||||||
version = "1.0.0-alpha.6";
|
version = "1.0.0-alpha.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pop-os";
|
owner = "pop-os";
|
||||||
repo = "cosmic-term";
|
repo = "cosmic-term";
|
||||||
rev = "epoch-${version}";
|
tag = "epoch-${finalAttrs.version}";
|
||||||
hash = "sha256-sdeRkT6UcyBKIFnJZn3aGf8LZQimqVPqtXo7RtwUs5M=";
|
hash = "sha256-sdeRkT6UcyBKIFnJZn3aGf8LZQimqVPqtXo7RtwUs5M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,31 +28,25 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
# COSMIC applications now uses vergen for the About page
|
# COSMIC applications now uses vergen for the About page
|
||||||
# Update the COMMIT_DATE to match when the commit was made
|
# Update the COMMIT_DATE to match when the commit was made
|
||||||
env.VERGEN_GIT_COMMIT_DATE = "2025-02-21";
|
env = {
|
||||||
env.VERGEN_GIT_SHA = src.rev;
|
VERGEN_GIT_COMMIT_DATE = "2025-02-21";
|
||||||
|
VERGEN_GIT_SHA = finalAttrs.src.tag;
|
||||||
postPatch = ''
|
};
|
||||||
substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
just
|
just
|
||||||
pkg-config
|
pkg-config
|
||||||
makeBinaryWrapper
|
libcosmicAppHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
fontconfig
|
fontconfig
|
||||||
freetype
|
freetype
|
||||||
libglvnd
|
|
||||||
libinput
|
libinput
|
||||||
libxkbcommon
|
|
||||||
vulkan-loader
|
|
||||||
wayland
|
|
||||||
xorg.libX11
|
|
||||||
];
|
];
|
||||||
|
|
||||||
dontUseJustBuild = true;
|
dontUseJustBuild = true;
|
||||||
|
dontUseJustCheck = true;
|
||||||
|
|
||||||
justFlags = [
|
justFlags = [
|
||||||
"--set"
|
"--set"
|
||||||
|
@ -68,30 +57,25 @@ rustPlatform.buildRustPackage rec {
|
||||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-term"
|
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-term"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Force linking to libEGL, which is always dlopen()ed, and to
|
passthru.updateScript = nix-update-script {
|
||||||
# libwayland-client, which is always dlopen()ed except by the
|
extraArgs = [
|
||||||
# obscure winit backend.
|
"--version"
|
||||||
RUSTFLAGS = map (a: "-C link-arg=${a}") [
|
"unstable"
|
||||||
"-Wl,--push-state,--no-as-needed"
|
"--version-regex"
|
||||||
"-lEGL"
|
"epoch-(.*)"
|
||||||
"-lwayland-client"
|
];
|
||||||
"-Wl,--pop-state"
|
};
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
meta = {
|
||||||
wrapProgram "$out/bin/cosmic-term" \
|
|
||||||
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/pop-os/cosmic-term";
|
homepage = "https://github.com/pop-os/cosmic-term";
|
||||||
description = "Terminal for the COSMIC Desktop Environment";
|
description = "Terminal for the COSMIC Desktop Environment";
|
||||||
license = licenses.gpl3Only;
|
license = lib.licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
ahoneybun
|
ahoneybun
|
||||||
nyabinary
|
nyabinary
|
||||||
|
HeitorAugustoLN
|
||||||
];
|
];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
mainProgram = "cosmic-term";
|
mainProgram = "cosmic-term";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -20,13 +20,13 @@
|
||||||
}@inputs:
|
}@inputs:
|
||||||
(if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv).mkDerivation rec {
|
(if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv).mkDerivation rec {
|
||||||
pname = "dlib";
|
pname = "dlib";
|
||||||
version = "19.24.6";
|
version = "19.24.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "davisking";
|
owner = "davisking";
|
||||||
repo = "dlib";
|
repo = "dlib";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
sha256 = "sha256-BpE7ZrtiiaDqwy1G4IHOQBJMr6sAadFbRxsdObs1SIY=";
|
sha256 = "sha256-b8DFlfBnF4Fk7beJPxQJDVHaCR7s5/4uAPi3RV9cBZ4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "doctl";
|
pname = "doctl";
|
||||||
version = "1.122.0";
|
version = "1.123.0";
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ buildGoModule rec {
|
||||||
owner = "digitalocean";
|
owner = "digitalocean";
|
||||||
repo = "doctl";
|
repo = "doctl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-l5UfvMTexoGhX2CWBZlO1ibM+cULdhRdZ7UeH0jgC7E=";
|
sha256 = "sha256-B7xUo59qyftjZj2ywJROaWYPkfelqPSkY3YqR2y+/jw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "esp-generate";
|
pname = "esp-generate";
|
||||||
version = "0.3.0";
|
version = "0.3.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "esp-rs";
|
owner = "esp-rs";
|
||||||
repo = "esp-generate";
|
repo = "esp-generate";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Z+PsGx3Y2WZLO5QK5icI89YPOmY4p/RBMiYecEOfmwc=";
|
hash = "sha256-yk7iv5nq2b/1OY77818I7mXW96YxjwwJS3iiv1KXVHs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-uvHZyvIcPLB1GW7EkJshAeGRI3xJZtN9kPrLhHGoojs=";
|
cargoHash = "sha256-ncTX9cDSAf6ZGlz0utGYxkuXcx85vt3VHQzdmQhCNf0=";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Template generation tool to create no_std applications targeting Espressif's chips";
|
description = "Template generation tool to create no_std applications targeting Espressif's chips";
|
||||||
|
|
|
@ -28,12 +28,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "exodus";
|
pname = "exodus";
|
||||||
version = "24.41.6";
|
version = "25.9.2";
|
||||||
|
|
||||||
src = requireFile {
|
src = requireFile {
|
||||||
name = "exodus-linux-x64-${finalAttrs.version}.zip";
|
name = "exodus-linux-x64-${finalAttrs.version}.zip";
|
||||||
url = "https://downloads.exodus.com/releases/exodus-linux-x64-${finalAttrs.version}.zip";
|
url = "https://downloads.exodus.com/releases/exodus-linux-x64-${finalAttrs.version}.zip";
|
||||||
hash = "sha256-lUL9n3EZVe2J7uCHUSJgI2g75Sp1Y/nfBTde7VId6sA=";
|
hash = "sha256-QEspr/n4TnwpCx9lBY874+dlcMvhXiYKhyqel7ebuzg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
|
7
pkgs/by-name/fi/fishMinimal/package.nix
Normal file
7
pkgs/by-name/fi/fishMinimal/package.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
fish,
|
||||||
|
}:
|
||||||
|
|
||||||
|
fish.override {
|
||||||
|
usePython = false;
|
||||||
|
}
|
|
@ -9,12 +9,12 @@
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "frink";
|
pname = "frink";
|
||||||
version = "2024-05-09";
|
version = "2025-01-07";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# Upstream does not provide versioned download links
|
# Upstream does not provide versioned download links
|
||||||
url = "https://web.archive.org/web/20240605193919/https://frinklang.org/frinkjar/frink-tng.jar";
|
url = "https://web.archive.org/web/20250119105218/https://frinklang.org/frinkjar/frink-tng.jar";
|
||||||
sha256 = "sha256-ceV1p9wsXprcNLhol79evswVZ1SpH5IzfSbl8st4cmU=";
|
sha256 = "sha256-qsbYUUBBVILUG6oZVR3t5UaVdNew6xRvjqQBJVr76L8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
substituteAll,
|
replaceVars,
|
||||||
gdc,
|
gdc,
|
||||||
perl,
|
perl,
|
||||||
}:
|
}:
|
||||||
|
@ -18,8 +18,7 @@ stdenvNoCC.mkDerivation {
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(replaceVars ./0001-gdc-store-path.diff {
|
||||||
src = ./0001-gdc-store-path.diff;
|
|
||||||
gdc_dir = "${gdc}/bin";
|
gdc_dir = "${gdc}/bin";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -I nixpkgs=./. -i bash -p curl jq gawk libossp_uuid libxml2 nix
|
#!nix-shell -I nixpkgs=./. -i bash -p curl jq gawk libossp_uuid libuuid libxml2 nix
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
|
@ -10,17 +10,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "inputplumber";
|
pname = "inputplumber";
|
||||||
version = "0.48.0";
|
version = "0.49.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ShadowBlip";
|
owner = "ShadowBlip";
|
||||||
repo = "InputPlumber";
|
repo = "InputPlumber";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-9/4+gNuG02uoXDflRh3q5T+hqAKu/j+1FQnXVJVTpiI=";
|
hash = "sha256-vWqmcVF/gi0ubIF/NDnz0op1ss0t7A7O8NrOzszx7Gw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-cRSY9a5qOvYrdvNSDoDjgrIo+SRlD24oAWriudbKS1E=";
|
cargoHash = "sha256-5yG8iUW5BVHI2QcOl+9dN1c1b/wmrFCO4mDs4ZflhUM=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
|
@ -112,22 +112,25 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
buildFlags = lib.attrNames targets;
|
buildFlags = lib.attrNames targets;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase =
|
||||||
runHook preInstall
|
''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
${lib.concatStringsSep "\n" (
|
${lib.concatStringsSep "\n" (
|
||||||
lib.mapAttrsToList (
|
lib.mapAttrsToList (
|
||||||
from: to: if to == null then "cp -v ${from} $out" else "cp -v ${from} $out/${to}"
|
from: to: if to == null then "cp -v ${from} $out" else "cp -v ${from} $out/${to}"
|
||||||
) targets
|
) targets
|
||||||
)}
|
)}
|
||||||
|
''
|
||||||
# Some PXE constellations especially with dnsmasq are looking for the file with .0 ending
|
+ lib.optionalString stdenv.hostPlatform.isx86 ''
|
||||||
# let's provide it as a symlink to be compatible in this case.
|
# Some PXE constellations especially with dnsmasq are looking for the file with .0 ending
|
||||||
ln -s undionly.kpxe $out/undionly.kpxe.0
|
# let's provide it as a symlink to be compatible in this case.
|
||||||
|
ln -s undionly.kpxe $out/undionly.kpxe.0
|
||||||
runHook postInstall
|
''
|
||||||
'';
|
+ ''
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kafkactl";
|
pname = "kafkactl";
|
||||||
version = "5.5.0";
|
version = "5.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "deviceinsight";
|
owner = "deviceinsight";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-9xo/lg3IhAdJnmmLAmiMcKNCTMXkKK2jnYaGHIk8Rq4=";
|
hash = "sha256-lsYdq3+hf+8EPLmLbgnzuVHfeZXrUlqYmHY4kJ6HzC4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-0Kc8Z32YdmwhKMTBMBAK0ZdnXnH8/Ze1HcMDafosLvw=";
|
vendorHash = "sha256-0Kc8Z32YdmwhKMTBMBAK0ZdnXnH8/Ze1HcMDafosLvw=";
|
||||||
|
|
|
@ -20,13 +20,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libdeltachat";
|
pname = "libdeltachat";
|
||||||
version = "1.156.2";
|
version = "1.156.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "deltachat";
|
owner = "chatmail";
|
||||||
repo = "deltachat-core-rust";
|
repo = "core";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-CpFnO8stLLTH/XOZZS3j9nVrf2FRekjkQ/R1pmw5o9A=";
|
hash = "sha256-FJTHG1NUdKcYTPrBkhu4ZiodSwpNgaGUHiHBSk/lUVA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||||
pname = "deltachat-core-rust";
|
pname = "deltachat-core-rust";
|
||||||
inherit version src;
|
inherit version src;
|
||||||
hash = "sha256-jrsGMNgKglk+Rq/ZGiZgSZrT4uSA5RjbTYaDtW0Ijyg=";
|
hash = "sha256-Kh0TU6lJ7spZIOUyJabFd1icqN9jU+kG+BpADAi0nRo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -86,8 +86,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Delta Chat Rust Core library";
|
description = "Delta Chat Rust Core library";
|
||||||
homepage = "https://github.com/deltachat/deltachat-core-rust/";
|
homepage = "https://github.com/chatmail/core";
|
||||||
changelog = "https://github.com/deltachat/deltachat-core-rust/blob/${src.tag}/CHANGELOG.md";
|
changelog = "https://github.com/chatmail/core/blob/${src.tag}/CHANGELOG.md";
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ dotlambda ];
|
maintainers = with maintainers; [ dotlambda ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
28
pkgs/by-name/mn/mnamer/cached_session_error.patch
Normal file
28
pkgs/by-name/mn/mnamer/cached_session_error.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
From 94ea94de526770e783d04d75b981dfa3ac90fd20 Mon Sep 17 00:00:00 2001
|
||||||
|
From: o7-machienhum <ryan.cjw@gmail.com>
|
||||||
|
Date: Tue, 30 Jan 2024 03:29:09 -0800
|
||||||
|
Subject: [PATCH] Fixes crash
|
||||||
|
|
||||||
|
---
|
||||||
|
mnamer/utils.py | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/mnamer/utils.py b/mnamer/utils.py
|
||||||
|
index 84df7870..8eba68f8 100644
|
||||||
|
--- a/mnamer/utils.py
|
||||||
|
+++ b/mnamer/utils.py
|
||||||
|
@@ -256,7 +256,6 @@ def request_json(
|
||||||
|
"like Gecko) Chrome/79.0.3945.88 Safari/537.36"
|
||||||
|
)
|
||||||
|
|
||||||
|
- initial_cache_state = session._disabled # yes, i'm a bad person
|
||||||
|
try:
|
||||||
|
session._disabled = not cache
|
||||||
|
response = session.request(
|
||||||
|
@@ -272,8 +271,6 @@ def request_json(
|
||||||
|
except:
|
||||||
|
content = None
|
||||||
|
status = 500
|
||||||
|
- finally:
|
||||||
|
- session._disabled = initial_cache_state
|
||||||
|
return status, (content or {})
|
|
@ -1,31 +1,40 @@
|
||||||
{ python3Packages, fetchFromGitHub, lib }:
|
{
|
||||||
|
python3Packages,
|
||||||
|
fetchFromGitHub,
|
||||||
|
lib,
|
||||||
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "mnamer";
|
pname = "mnamer";
|
||||||
version = "2.5.4";
|
version = "2.5.5";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jkwill87";
|
owner = "jkwill87";
|
||||||
repo = "mnamer";
|
repo = "mnamer";
|
||||||
rev = version;
|
tag = version;
|
||||||
sha256 = "sha256-fONQq/RboWHFuEFU7HP1ThUpSjOIlkg54c2WlMUKwuk=";
|
sha256 = "sha256-qQu5V1GOsbrR00HOrot6TTAkc3KRasBPDEU7ZojUBio=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
build-system = with python3Packages; [
|
||||||
babelfish
|
setuptools
|
||||||
requests
|
setuptools-scm
|
||||||
appdirs
|
|
||||||
teletype
|
|
||||||
requests-cache
|
|
||||||
guessit
|
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
dependencies = with python3Packages; [
|
||||||
# requires specific old versions of dependencies which have been updated in nixpkgs
|
appdirs
|
||||||
./remove_requirements.patch
|
babelfish
|
||||||
|
guessit
|
||||||
|
requests
|
||||||
|
requests-cache
|
||||||
|
teletype
|
||||||
|
];
|
||||||
|
|
||||||
# author reads a private property that changed between versions
|
pythonRelaxDeps = true;
|
||||||
./update_hack.patch
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/jkwill87/mnamer/pull/291
|
||||||
|
./cached_session_error.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index 245c1dd..fdc17ab 100755
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -7,16 +7,12 @@ from mnamer.__version__ import VERSION
|
|
||||||
with open("readme.md", "r", encoding="utf8") as fp:
|
|
||||||
LONG_DESCRIPTION = fp.read()
|
|
||||||
|
|
||||||
-with open("requirements.txt", "r", encoding="utf8") as fp:
|
|
||||||
- REQUIREMENTS = fp.read().splitlines()
|
|
||||||
-
|
|
||||||
setup(
|
|
||||||
author="Jessy Williams",
|
|
||||||
author_email="jessy@jessywilliams.com",
|
|
||||||
description="A media file organiser",
|
|
||||||
entry_points={"console_scripts": ["mnamer=mnamer.__main__:main"]},
|
|
||||||
include_package_data=True,
|
|
||||||
- install_requires=REQUIREMENTS,
|
|
||||||
license="MIT",
|
|
||||||
long_description=LONG_DESCRIPTION,
|
|
||||||
long_description_content_type="text/markdown",
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/mnamer/utils.py b/mnamer/utils.py
|
|
||||||
index 636b596..e52bd37 100644
|
|
||||||
--- a/mnamer/utils.py
|
|
||||||
+++ b/mnamer/utils.py
|
|
||||||
@@ -280,7 +280,7 @@ def request_json(
|
|
||||||
"like Gecko) Chrome/79.0.3945.88 Safari/537.36"
|
|
||||||
)
|
|
||||||
|
|
||||||
- initial_cache_state = session._is_cache_disabled # yes, i'm a bad person
|
|
||||||
+ initial_cache_state = session._disabled # yes, i'm a bad person
|
|
||||||
try:
|
|
||||||
session._is_cache_disabled = not cache
|
|
||||||
response = session.request(
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "opshin";
|
pname = "opshin";
|
||||||
version = "0.24.0";
|
version = "0.24.1";
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
owner = "OpShin";
|
owner = "OpShin";
|
||||||
repo = "opshin";
|
repo = "opshin";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-5IzPxzNvH9nlOYBCbc8kC7yzf8L8LPA5Wq9agqg9kng=";
|
hash = "sha256-+uuTEszA5p/qhvthM3Uje6yX3urbIUAKKfDZ4JXEYYQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "orchard";
|
pname = "orchard";
|
||||||
version = "0.28.2";
|
version = "0.28.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cirruslabs";
|
owner = "cirruslabs";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-QH/TkXBdqpgIiByLmutqk6M4GWwkm/BThTRN2DZXhc0=";
|
hash = "sha256-blXxINsM793iH7X38J+Mrqf/WKnSRoS48yP4r3Dllow=";
|
||||||
# populate values that require us to use git. By doing this in postFetch we
|
# populate values that require us to use git. By doing this in postFetch we
|
||||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
|
@ -24,7 +24,7 @@ buildGoModule rec {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-0bdsz5Oj351dztApJ1FnSbObuCKEPC38Fupe3NyRAAQ=";
|
vendorHash = "sha256-OimkH34coQLhJlJd3BGBFE9L/TQtU4tJbTl0zwmQh3w=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "repomix";
|
pname = "repomix";
|
||||||
version = "0.2.29";
|
version = "0.2.36";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yamadashy";
|
owner = "yamadashy";
|
||||||
repo = "repomix";
|
repo = "repomix";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-AOqGmI5hnDA18/+uFGQwVKdLniOvGMEBKHTZJa5gE2w=";
|
hash = "sha256-utuCtkDp+3411FTqKxpXdE0XAMsVT0dwpcMAdJ2pAB0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-R/NTlU5ljwmoGHB/5wPADkGx8xjfF4d2bPWWkAr+VOk=";
|
npmDepsHash = "sha256-jKAHFxxRheMw8pcYfOurL7L5TFaNIQjoxpJsPysuKYI=";
|
||||||
|
|
||||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
|
|
@ -47,9 +47,8 @@ let
|
||||||
"{connection_file}"
|
"{connection_file}"
|
||||||
];
|
];
|
||||||
language = "sage";
|
language = "sage";
|
||||||
# just one 16x16 logo is available
|
logo32 = "${sage-src}/src/sage/ext_data/notebook-ipython/logo-64x64.png";
|
||||||
logo32 = "${sage-src}/src/doc/common/static/sageicon.png";
|
logo64 = "${sage-src}/src/sage/ext_data/notebook-ipython/logo-64x64.png";
|
||||||
logo64 = "${sage-src}/src/doc/common/static/sageicon.png";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
jupyter-kernel-specs = pkgs.jupyter-kernel.create {
|
jupyter-kernel-specs = pkgs.jupyter-kernel.create {
|
||||||
|
|
26
pkgs/by-name/sd/SDL_compat/find-headers.patch
Normal file
26
pkgs/by-name/sd/SDL_compat/find-headers.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
diff --git a/sdl-config.in b/sdl-config.in
|
||||||
|
index ce332b3..359d574 100755
|
||||||
|
--- a/sdl-config.in
|
||||||
|
+++ b/sdl-config.in
|
||||||
|
@@ -50,14 +50,18 @@ while test $# -gt 0; do
|
||||||
|
echo @PROJECT_VERSION@
|
||||||
|
;;
|
||||||
|
--cflags)
|
||||||
|
- echo -I${includedir}/SDL @SDL_CFLAGS@
|
||||||
|
+ SDL_CFLAGS=""
|
||||||
|
+ for i in @includedir@/SDL $SDL_PATH; do
|
||||||
|
+ SDL_CFLAGS="$SDL_CFLAGS -I$i"
|
||||||
|
+ done
|
||||||
|
+ echo $SDL_CFLAGS @SDL_CFLAGS@
|
||||||
|
;;
|
||||||
|
@ENABLE_SHARED_TRUE@ --libs)
|
||||||
|
-@ENABLE_SHARED_TRUE@ echo -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@
|
||||||
|
+@ENABLE_SHARED_TRUE@ echo -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ $SDL_LIB_PATH
|
||||||
|
@ENABLE_SHARED_TRUE@ ;;
|
||||||
|
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
|
||||||
|
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
|
||||||
|
-@ENABLE_STATIC_TRUE@ echo -L${libdir} @SDL_LIBS@ @SDL_STATIC_LIBS@
|
||||||
|
+@ENABLE_STATIC_TRUE@ echo -L${libdir} @SDL_LIBS@ @SDL_STATIC_LIBS@ $SDL_LIB_PATH
|
||||||
|
@ENABLE_STATIC_TRUE@ ;;
|
||||||
|
*)
|
||||||
|
echo "${usage}" 1>&2
|
|
@ -48,14 +48,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# allow as a drop in replacement for SDL
|
# allow as a drop in replacement for SDL
|
||||||
# Can be removed after treewide switch from pkg-config to pkgconf
|
# Can be removed after treewide switch from pkg-config to pkgconf
|
||||||
ln -s $out/lib/pkgconfig/sdl12_compat.pc $out/lib/pkgconfig/sdl.pc
|
ln -s $out/lib/pkgconfig/sdl12_compat.pc $out/lib/pkgconfig/sdl.pc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# The setup hook scans paths of buildInputs to find SDL related packages and
|
||||||
|
# adds their include and library paths to environment variables. The sdl-config
|
||||||
|
# is patched to use these variables to produce correct flags for compiler.
|
||||||
|
patches = [ ./find-headers.patch ];
|
||||||
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
for lib in $out/lib/*${stdenv.hostPlatform.extensions.sharedLibrary}* ; do
|
for lib in $out/lib/*${stdenv.hostPlatform.extensions.sharedLibrary}* ; do
|
||||||
if [[ -L "$lib" ]]; then
|
if [[ -L "$lib" ]]; then
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "snowsql";
|
pname = "snowsql";
|
||||||
version = "1.3.0";
|
version = "1.3.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/${lib.versions.majorMinor version}/linux_x86_64/snowflake-snowsql-${version}-1.x86_64.rpm";
|
url = "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/${lib.versions.majorMinor version}/linux_x86_64/snowflake-snowsql-${version}-1.x86_64.rpm";
|
||||||
sha256 = "sha256-KKCCj+pIwWhuzOuxljQ8Y11mAwD/GONspbXuPAMBdhE=";
|
sha256 = "sha256-BedOcd3ZllzMSZ6hjs1BG0o9TEg3aJKtLzutOE3nI1s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "ttdl";
|
pname = "ttdl";
|
||||||
version = "4.9.0";
|
version = "4.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "VladimirMarkelov";
|
owner = "VladimirMarkelov";
|
||||||
repo = "ttdl";
|
repo = "ttdl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-qFOZj214iw/d1wvWz8wwIFB2kaDSPH80blDkohQxSro=";
|
sha256 = "sha256-cCz2wxYvYAoI+Hmyll+Fn56NUCuWlIiJycmYvGyhkR4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-gdFLT04pNedU30/Qw2OiXpdLL+6cC6ryUoeZLKu/myQ=";
|
cargoHash = "sha256-207Tmfs3LrZkwsAF/9qD5PN/zHwzCf0lq+87bFIP7y8=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "CLI tool to manage todo lists in todo.txt format";
|
description = "CLI tool to manage todo lists in todo.txt format";
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "tygo";
|
pname = "tygo";
|
||||||
version = "0.2.17";
|
version = "0.2.18";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gzuidhof";
|
owner = "gzuidhof";
|
||||||
repo = "tygo";
|
repo = "tygo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-yaXS+DS/xeIQXhn3L6x2lp/xu4OxrBqr5wKVbADhZkU=";
|
hash = "sha256-W2PgBcbkreP61QtAuOZ+VHUUZ4Mhe++1SK1p4Tg4Ack=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-E73yqGhPzZA/1xTYGvTBy0/b4SE9hzx+gdhjX3ClE/Y=";
|
vendorHash = "sha256-E73yqGhPzZA/1xTYGvTBy0/b4SE9hzx+gdhjX3ClE/Y=";
|
||||||
|
|
|
@ -14,21 +14,21 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "unison-code-manager";
|
pname = "unison-code-manager";
|
||||||
version = "0.5.33";
|
version = "0.5.36";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
{
|
{
|
||||||
aarch64-darwin = fetchurl {
|
aarch64-darwin = fetchurl {
|
||||||
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz";
|
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz";
|
||||||
hash = "sha256-DXqQMv1pEEFSHDsY8BICFfKAD4zaishRIDo1hwCVj54=";
|
hash = "sha256-GH0qZtb29qDxL39nArYSzCQ50/ssPOiN9CXnAvb9uVQ=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = fetchurl {
|
x86_64-darwin = fetchurl {
|
||||||
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz";
|
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz";
|
||||||
hash = "sha256-ffHbkujs3UMChPM2uL3tBcxInKEOHwRUMrIeh+k5ghY=";
|
hash = "sha256-seL8Ey20KYVsOLugGvfVXXIIVdv7q04PYXh3c6MoZDk=";
|
||||||
};
|
};
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz";
|
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz";
|
||||||
hash = "sha256-+kBuQn73P8yxa8l6/R3NGj61LB6kKwa2lfNKZmhI5Dk=";
|
hash = "sha256-Zb91ixXd3ueQj6+YjC9Wgq3PnfcKBKZZdCJfS0nQOV4=";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
|
.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
|
||||||
|
|
|
@ -27,8 +27,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace src/varia-py.in \
|
substituteInPlace src/varia-py.in \
|
||||||
--replace-fail 'aria2cexec = sys.argv[1]' 'aria2cexec = "${lib.getExe aria2}"'
|
--replace-fail 'aria2cexec = sys.argv[1]' 'aria2cexec = "${lib.getExe aria2}"' \
|
||||||
substituteInPlace src/varia-py.in \
|
|
||||||
--replace-fail 'ffmpegexec = sys.argv[2]' 'ffmpegexec = "${lib.getExe ffmpeg}"'
|
--replace-fail 'ffmpegexec = sys.argv[2]' 'ffmpegexec = "${lib.getExe ffmpeg}"'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchurl,
|
fetchurl,
|
||||||
|
dlib,
|
||||||
gsl,
|
gsl,
|
||||||
mpfr,
|
mpfr,
|
||||||
perl,
|
perl,
|
||||||
|
@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
|
||||||
hash = "sha256-mpn9aO04CJTe+01eaooocWKScAKM338W8KBdpujHFHM=";
|
hash = "sha256-mpn9aO04CJTe+01eaooocWKScAKM338W8KBdpujHFHM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# use nixpkgs dlib sources instead of bundled ones
|
||||||
|
# using dlib-19.24.8 fixes the build with modern compilers (such as clang-19)
|
||||||
|
postPatch = ''
|
||||||
|
rm -rf ./src/dlib-19.24
|
||||||
|
cp -a ${dlib.src} ./src/dlib-19.24
|
||||||
|
find ./src/dlib-19.24 -type d -exec chmod +w {} \;
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gsl
|
gsl
|
||||||
mpfr
|
mpfr
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wxsqlite3";
|
pname = "wxsqlite3";
|
||||||
version = "4.10.4";
|
version = "4.10.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "utelle";
|
owner = "utelle";
|
||||||
repo = "wxsqlite3";
|
repo = "wxsqlite3";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-IHlQxVAgCZ8Nwz2VbP8Wvf3on9XEaVBDEMInUWHw2XQ=";
|
hash = "sha256-aDEVT3R948P+N1fFC9Q7LNf8FpPuxlKs+dQurewtaFA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -16,11 +16,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xfig";
|
pname = "xfig";
|
||||||
version = "3.2.9";
|
version = "3.2.9a";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
|
url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
|
||||||
hash = "sha256-E+2dBNG7wt7AnafvSc7sJ4OC0pD2zZJkdMLy0Bb+wvc=";
|
hash = "sha256-vFcqGIHl4gmHrFkBWLBBq3gDhFqWkQNtO6XpgvZtnKM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -39,8 +39,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace src/main.c --replace '"fig2dev"' '"${fig2dev}/bin/fig2dev"'
|
substituteInPlace src/main.c --replace-fail '"fig2dev"' '"${fig2dev}/bin/fig2dev"'
|
||||||
substituteInPlace xfig.desktop --replace "/usr/bin/" "$out/bin/"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -53,7 +52,7 @@ stdenv.mkDerivation rec {
|
||||||
mkdir -p $out/share/icons/hicolor/{16x16,22x22,48x48,64x64}/apps
|
mkdir -p $out/share/icons/hicolor/{16x16,22x22,48x48,64x64}/apps
|
||||||
|
|
||||||
for dimension in 16x16 22x22 48x48; do
|
for dimension in 16x16 22x22 48x48; do
|
||||||
convert doc/html/images/xfig-logo.png -geometry $dimension\
|
magick convert doc/html/images/xfig-logo.png -geometry $dimension\
|
||||||
$out/share/icons/hicolor/16x16/apps/xfig.png
|
$out/share/icons/hicolor/16x16/apps/xfig.png
|
||||||
done
|
done
|
||||||
install doc/html/images/xfig-logo.png \
|
install doc/html/images/xfig-logo.png \
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "yandex-music";
|
pname = "yandex-music";
|
||||||
version = "5.28.4";
|
version = "5.39.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cucumber-sp";
|
owner = "cucumber-sp";
|
||||||
repo = "yandex-music-linux";
|
repo = "yandex-music-linux";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-0YUZKklwHkZ3bDI4OLmXyj0v2wzWzJbJpQ8QQa356fI=";
|
hash = "sha256-oEbbQRqvnK521N3Kerv18h1frVLbioFeHfb/FCkHC6Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "5.28.4",
|
"version": "5.39.0",
|
||||||
"exe_name": "Yandex_Music_x64_5.28.4.exe",
|
"exe_name": "Yandex_Music_x64_5.39.0.exe",
|
||||||
"exe_link": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.28.4.exe",
|
"exe_link": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.39.0.exe",
|
||||||
"exe_hash": "sha256-fJlRtGgOJcHbAgUBxrv3AJro7uN5En9le2b+a5K2QMc="
|
"exe_hash": "sha256-jOaxKDOkabsNQTXH5+UGwfdL+Srjm5gjQgHe/YuGiaQ="
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "yew-fmt";
|
pname = "yew-fmt";
|
||||||
version = "0.5.3";
|
version = "0.5.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "its-the-shrimp";
|
owner = "its-the-shrimp";
|
||||||
repo = "yew-fmt";
|
repo = "yew-fmt";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-Ck6WA6ROm8APTsgoxbVGUqoblc5awW+hmmzcy4ZFoBM=";
|
hash = "sha256-2sOw8wWfnEphYsruQyhZMW3KofcGkNHJB6Q1jhFP3oo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-Fp8MT1LJ1EpqwEZ+SpOomqZ7we47w2S5ExkB966Z3r0=";
|
cargoHash = "sha256-o4oRVI3+Nz8fwdwlyVvXUuhCQr4Bbg5Kife/PJoJCJY=";
|
||||||
nativeCheckInputs = [ rustfmt ];
|
nativeCheckInputs = [ rustfmt ];
|
||||||
passthru.updateScript = nix-update-script { };
|
passthru.updateScript = nix-update-script { };
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
|
|
49
pkgs/by-name/zs/zsh-histdb/package.nix
Normal file
49
pkgs/by-name/zs/zsh-histdb/package.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
makeWrapper,
|
||||||
|
zsh,
|
||||||
|
sqlite,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "zsh-histdb";
|
||||||
|
version = "0-unstable-2024-04-18";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "larkery";
|
||||||
|
repo = "zsh-histdb";
|
||||||
|
rev = "90a6c104d0fcc0410d665e148fa7da28c49684eb";
|
||||||
|
hash = "sha256-vtG1poaRVbfb/wKPChk1WpPgDq+7udLqLfYfLqap4Vg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace sqlite-history.zsh \
|
||||||
|
--replace-fail 'sqlite3' '"${lib.getExe sqlite}"'
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
zsh
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -Dt $out/share/zsh-histdb/ \
|
||||||
|
sqlite-history.zsh histdb-interactive.zsh histdb-{merge,migrate}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "History database for Zsh, based on SQLite";
|
||||||
|
homepage = "https://github.com/larkery/zsh-histdb";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
fliegendewurst
|
||||||
|
luochen1990
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
cmake,
|
cmake,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
removeReferencesTo,
|
removeReferencesTo,
|
||||||
alsaSupport ? !stdenv.hostPlatform.isDarwin,
|
alsaSupport ? stdenv.hostPlatform.isLinux,
|
||||||
alsa-lib,
|
alsa-lib,
|
||||||
dbusSupport ? !stdenv.hostPlatform.isDarwin,
|
dbusSupport ? !stdenv.hostPlatform.isDarwin,
|
||||||
dbus,
|
dbus,
|
||||||
|
|
|
@ -2,15 +2,18 @@
|
||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
|
pythonOlder,
|
||||||
|
hatchling,
|
||||||
|
hatch-vcs,
|
||||||
pyparsing,
|
pyparsing,
|
||||||
six,
|
|
||||||
urwid,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "configshell";
|
pname = "configshell";
|
||||||
version = "2.0.0";
|
version = "2.0.0";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "open-iscsi";
|
owner = "open-iscsi";
|
||||||
|
@ -19,10 +22,13 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-lP3WT9ASEj6WiCrurSU/e9FhIaeoQW/n9hi1XZMnV4Q=";
|
hash = "sha256-lP3WT9ASEj6WiCrurSU/e9FhIaeoQW/n9hi1XZMnV4Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
build-system = [
|
||||||
|
hatchling
|
||||||
|
hatch-vcs
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
pyparsing
|
pyparsing
|
||||||
six
|
|
||||||
urwid
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Module has no tests
|
# Module has no tests
|
||||||
|
|
|
@ -34,20 +34,24 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "orbax-checkpoint";
|
pname = "orbax-checkpoint";
|
||||||
version = "0.11.6";
|
version = "0.11.8";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "orbax";
|
repo = "orbax";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-2bnm9D+ywhploTmtZ+frwf8VuTjczBVN+wqcfe3x77I=";
|
hash = "sha256-h7SXuOhytM9ev0Q53z0UoT9/ShPVlqgFofn7j8gnehM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "${src.name}/checkpoint";
|
sourceRoot = "${src.name}/checkpoint";
|
||||||
|
|
||||||
build-system = [ flit-core ];
|
build-system = [ flit-core ];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"jax"
|
||||||
|
];
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
absl-py
|
absl-py
|
||||||
etils
|
etils
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchPypi,
|
fetchPypi,
|
||||||
pythonOlder,
|
pythonOlder,
|
||||||
|
hatchling,
|
||||||
mmcif-pdbx,
|
mmcif-pdbx,
|
||||||
numpy,
|
numpy,
|
||||||
propka,
|
propka,
|
||||||
|
@ -16,7 +17,7 @@
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pdb2pqr";
|
pname = "pdb2pqr";
|
||||||
version = "3.7.1";
|
version = "3.7.1";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
|
@ -27,6 +28,10 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
pythonRelaxDeps = [ "docutils" ];
|
pythonRelaxDeps = [ "docutils" ];
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
hatchling
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
mmcif-pdbx
|
mmcif-pdbx
|
||||||
numpy
|
numpy
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-roborock";
|
pname = "python-roborock";
|
||||||
version = "2.12.0";
|
version = "2.12.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
|
@ -31,7 +31,7 @@ buildPythonPackage rec {
|
||||||
owner = "humbertogontijo";
|
owner = "humbertogontijo";
|
||||||
repo = "python-roborock";
|
repo = "python-roborock";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-hJzmAvIKb1rLwGo5uYiRWYspH4d3uTdoF7k+emlCAec=";
|
hash = "sha256-oUsnjvrPq4VcYwafZqzZkA2I9Hs75j03nOcIIO7abpk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
tensorboard,
|
tensorboard,
|
||||||
wandb,
|
wandb,
|
||||||
|
|
||||||
# checks
|
# tests
|
||||||
imageio,
|
imageio,
|
||||||
pytest-rerunfailures,
|
pytest-rerunfailures,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
|
@ -48,14 +48,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "torchrl";
|
pname = "torchrl";
|
||||||
version = "0.7.1";
|
version = "0.7.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pytorch";
|
owner = "pytorch";
|
||||||
repo = "rl";
|
repo = "rl";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-+GE84GusipNZ18euV8ag0AbOtUrYfOxUAeXeCgF2OiI=";
|
hash = "sha256-hcCZSASAp9jbOhbFLJndridYn76R99K+LxRxQl3uaxM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
|
@ -183,7 +183,7 @@ buildPythonPackage rec {
|
||||||
meta = {
|
meta = {
|
||||||
description = "Modular, primitive-first, python-first PyTorch library for Reinforcement Learning";
|
description = "Modular, primitive-first, python-first PyTorch library for Reinforcement Learning";
|
||||||
homepage = "https://github.com/pytorch/rl";
|
homepage = "https://github.com/pytorch/rl";
|
||||||
changelog = "https://github.com/pytorch/rl/releases/tag/${src.tag}";
|
changelog = "https://github.com/pytorch/rl/releases/tag/v${version}";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||||
# torhcrl is not compatible with our current version of gymnasium (>=1.0)
|
# torhcrl is not compatible with our current version of gymnasium (>=1.0)
|
||||||
|
|
|
@ -30,14 +30,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ultralytics";
|
pname = "ultralytics";
|
||||||
version = "8.3.85";
|
version = "8.3.86";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ultralytics";
|
owner = "ultralytics";
|
||||||
repo = "ultralytics";
|
repo = "ultralytics";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-4EiTiy4SNinNwIUvqbckaA/5YRcv6io8ssTAhwDVgsM=";
|
hash = "sha256-9z6f/48jQVCR744ojNH+T22+JDg31+WEKWi48k5/GoY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -100,7 +100,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/ultralytics/ultralytics";
|
homepage = "https://github.com/ultralytics/ultralytics";
|
||||||
changelog = "https://github.com/ultralytics/ultralytics/releases/tag/v${version}";
|
changelog = "https://github.com/ultralytics/ultralytics/releases/tag/${src.tag}";
|
||||||
description = "Train YOLO models for computer vision tasks";
|
description = "Train YOLO models for computer vision tasks";
|
||||||
mainProgram = "yolo";
|
mainProgram = "yolo";
|
||||||
license = lib.licenses.agpl3Only;
|
license = lib.licenses.agpl3Only;
|
||||||
|
|
|
@ -27,14 +27,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "uproot";
|
pname = "uproot";
|
||||||
version = "5.5.2";
|
version = "5.6.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "scikit-hep";
|
owner = "scikit-hep";
|
||||||
repo = "uproot5";
|
repo = "uproot5";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-vMTZ3ajCEkKKerPXThSxk0vgGxK2Po9hVf8ofaGCO04=";
|
hash = "sha256-9DObKSMGx6fgU6DHafqynd7XC36zdjzp24iyaugobw8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "apko";
|
pname = "apko";
|
||||||
version = "0.25.1";
|
version = "0.25.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "chainguard-dev";
|
owner = "chainguard-dev";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-ElHRhEsXP3pzTkys9c8FaQODZJmFDMl4ubUIU4B1ACM=";
|
hash = "sha256-lvxdpc8rXGgebxjFEeQOlpDfLwwe8a0QAfqApCgWAHw=";
|
||||||
# populate values that require us to use git. By doing this in postFetch we
|
# populate values that require us to use git. By doing this in postFetch we
|
||||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
|
@ -25,7 +25,7 @@ buildGoModule rec {
|
||||||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
vendorHash = "sha256-ddvdnnDxqwqO6xtLf5NoMT2WYNNMuvyHlo2+/A6rN0E=";
|
vendorHash = "sha256-EE59/VyP/dK9qZuTSQqqxAhcJUh/hfSopR7x6k5Eunc=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "esbuild";
|
pname = "esbuild";
|
||||||
version = "0.25.0";
|
version = "0.25.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "evanw";
|
owner = "evanw";
|
||||||
repo = "esbuild";
|
repo = "esbuild";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-L9jm94Epb22hYsU3hoq1lZXb5aFVD4FC4x2qNt0DljA=";
|
hash = "sha256-vrhtdrvrcC3dQoJM6hWq6wrGJLSiVww/CNPlL1N5kQ8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||||
|
|
|
@ -44,12 +44,6 @@ stdenv.mkDerivation rec {
|
||||||
"SHAREWARE=${if buildShareware then "1" else "0"}"
|
"SHAREWARE=${if buildShareware then "1" else "0"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
# when using SDL_compat instead of SDL1, SDL_mixer isn't correctly detected,
|
|
||||||
# but there is no harm just specifying it
|
|
||||||
env.NIX_CFLAGS_COMPILE = toString [
|
|
||||||
"-I${lib.getDev SDL_mixer}/include/SDL"
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
|
|
|
@ -432,10 +432,11 @@ let self = {
|
||||||
name = "modsecurity";
|
name = "modsecurity";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
name = "modsecurity-nginx";
|
name = "modsecurity-nginx";
|
||||||
owner = "SpiderLabs";
|
owner = "owasp-modsecurity";
|
||||||
repo = "ModSecurity-nginx";
|
repo = "ModSecurity-nginx";
|
||||||
rev = "v1.0.3";
|
# unstable 2025-02-17
|
||||||
sha256 = "sha256-xp0/eqi5PJlzb9NaUbNnzEqNcxDPyjyNwZOwmlv1+ag=";
|
rev = "0b4f0cf38502f34a30c8543039f345cfc075670d";
|
||||||
|
hash = "sha256-P3IwKFR4NbaMXYY+O9OHfZWzka4M/wr8sJpX94LzQTU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = [ curl geoip libmodsecurity libxml2 lmdb yajl ];
|
inputs = [ curl geoip libmodsecurity libxml2 lmdb yajl ];
|
||||||
|
|
|
@ -9,18 +9,18 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "oxigraph";
|
pname = "oxigraph";
|
||||||
version = "0.4.8";
|
version = "0.4.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-yMXNt7pGiwYDXjmHxKUQpqNrAmnFpg21Vc5R1DmwsHc=";
|
hash = "sha256-sv9LpAoPQ4oFrGI6j6NgVZwEwpM1wt93lHkUwnvmhIY=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-qOGpM3SOAOMO5W3wj4ruXlymp9bV4sqOU75gMVSEyfk=";
|
cargoHash = "sha256-nVlvmYOxZDMLvxP8JaKTyKMgW6+48B8B+UzlwgthJS0=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
rustPlatform.bindgenHook
|
rustPlatform.bindgenHook
|
||||||
|
|
|
@ -1,48 +1,48 @@
|
||||||
# DO NOT EDIT! This file is generated automatically by update.sh
|
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||||
{ }:
|
{ }:
|
||||||
{
|
{
|
||||||
version = "3.153.1";
|
version = "3.154.0";
|
||||||
pulumiPkgs = {
|
pulumiPkgs = {
|
||||||
x86_64-linux = [
|
x86_64-linux = [
|
||||||
{
|
{
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.153.1-linux-x64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.154.0-linux-x64.tar.gz";
|
||||||
sha256 = "01bppw8yik697x5mwh1pjd8wpi80qzkbbsdp4lyjrsi3514d6nji";
|
sha256 = "1vjz37qq7q2iyxz9c482rhcdljlsxl1y1mw8mqp50zlrc785n8rr";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0m25l1iai6ja6n79jb1zzvmz1d087hy1ddhisb8r53nv8awdjz5b";
|
sha256 = "0m25l1iai6ja6n79jb1zzvmz1d087hy1ddhisb8r53nv8awdjz5b";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v7.6.1-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.0.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0k5mg57257v9h8njlx943fgrxbvszcqi9bhk41kna8j2claqdzdb";
|
sha256 = "1xbwvb15zgxf0vvrpdp5p0jk09kzz3f1hn15k0b3bqjal7dp51qz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.74.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.75.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0jg062yhp0nx2lhixs3r7lvjzg0q5h3v1f8pvsp04y8hixq7jip8";
|
sha256 = "0mfr4yj59b2l8bch0dbbmznd3b2rwvsjvp2jyzlq6jpb1sfyj3cr";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.7.3-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.0-linux-amd64.tar.gz";
|
||||||
sha256 = "1cn2ii8ryh46axdvnzksx5zlnd59y1bd9janid8g0pvdz9rxgvdq";
|
sha256 = "1kyljbg6lkc9mr6j493rjk5mnrh3ldgc8qjxmn8y3nzbc2xmcs65";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-linux-amd64.tar.gz";
|
||||||
sha256 = "06kazf5r3r3cdr2cxk2afj1wjmjj0kda038j9vdpfirzpjyy47l3";
|
sha256 = "06kazf5r3r3cdr2cxk2afj1wjmjj0kda038j9vdpfirzpjyy47l3";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.70.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.71.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0cza17gkr0jd8y4rr17819n6g246jc7mlg675s0sz2dcqvkh5c6j";
|
sha256 = "0flwsaw3ack9sq99vbpg4k7dyh541ygvjgj0f7a9nm7j728sz9s2";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-linux-amd64.tar.gz";
|
||||||
sha256 = "1fa45kzn755md2m98c8305hwqq7w414cvnbllvvdvqji2qmikh2d";
|
sha256 = "1fa45kzn755md2m98c8305hwqq7w414cvnbllvvdvqji2qmikh2d";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.6.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.7.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0h3zym30gj8lyj294zj3dimdl2wdir2vmymvv6wr392f9i22m2yn";
|
sha256 = "0c2rzijzfkb3kw4r4yi4hwaqmnxcz0smb0lxyqs05xzgijf74jgx";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.20.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.21.0-linux-amd64.tar.gz";
|
||||||
sha256 = "1dbgwhx1ba92wh9478b24lf3c0w3d2v1q6z7dniyccjimfgdwd29";
|
sha256 = "18f8fap5zjrjqzmblxgpwffkqj82bhj3pl6vrmj7nlmj4q2r4i88";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-linux-amd64.tar.gz";
|
||||||
|
@ -73,8 +73,8 @@
|
||||||
sha256 = "191j823pngyicvgvkjfik9n0nsws2zsqqzykzsad74w59i9cr90c";
|
sha256 = "191j823pngyicvgvkjfik9n0nsws2zsqqzykzsad74w59i9cr90c";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.20.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.21.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0lfa7kz3vc7hamsl270xijs7szhbdm09hmll6593q6x9wgmaadal";
|
sha256 = "1sql8napyydhf35vi4i36qf013g9ibmkr8qcd3c0vx1hslwi89hl";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-linux-amd64.tar.gz";
|
||||||
|
@ -121,16 +121,16 @@
|
||||||
sha256 = "16scgz83rih511isyq7ycnm4gm94zvf6hgd86kic5s1q20lf86k9";
|
sha256 = "16scgz83rih511isyq7ycnm4gm94zvf6hgd86kic5s1q20lf86k9";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.2-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.3-linux-amd64.tar.gz";
|
||||||
sha256 = "147dmg9gv8b3pifmqwjz9skvidryb8wkayvghdd6pziyqncbqwzb";
|
sha256 = "1ikw64y55dzhdc49mq3qy4gq2zfbvv3551295mygrz11zrjrmfzp";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.111.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.112.0-linux-amd64.tar.gz";
|
||||||
sha256 = "0g4zbmn21ii3r75qb18xz4dhafyxzvfh1qmndx49p0mlqyrly950";
|
sha256 = "0l6s3pf2nqn4kh8px97c8qvycqm3bhgrnx0wzrsm7f1cfnpd0ss1";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.4-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.5-linux-amd64.tar.gz";
|
||||||
sha256 = "0z0wggfg9s0x8wlvymsl030bby4id5rjhb3na0rmsjg3fjh71bsf";
|
sha256 = "02k9w2f9pvxhw6jsl4g7v7ppgcx4ixd855a2h1dgkallfc7ja63b";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-linux-amd64.tar.gz";
|
||||||
|
@ -153,8 +153,8 @@
|
||||||
sha256 = "0h5pca5kgyjwdj9m8fd0wmygxhvjm6r5wss00wprad383mwp3s7v";
|
sha256 = "0h5pca5kgyjwdj9m8fd0wmygxhvjm6r5wss00wprad383mwp3s7v";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.7-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.8-linux-amd64.tar.gz";
|
||||||
sha256 = "01y7h7k99wz1zh47qhmnzcn74b37lxngimff56rj6dhrd0ngir6k";
|
sha256 = "0bj4lc7g74vlsv4rqqj9ymbpbc3fdxn483wp1m6y838b3kd69hns";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
|
||||||
|
@ -163,44 +163,44 @@
|
||||||
];
|
];
|
||||||
x86_64-darwin = [
|
x86_64-darwin = [
|
||||||
{
|
{
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.153.1-darwin-x64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.154.0-darwin-x64.tar.gz";
|
||||||
sha256 = "1nzapprv3c0p3xx4fa1lssxl3fcd0hmbnmn9pnrcll1y2nsvaahb";
|
sha256 = "1l1n5w2b2n1vbrri2vj5wq9g97kka35qrwpz7h9bzb44gpiprjjx";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1rj4fn0m182c6laihgx3h92zyqw77qajxygv3k8md4f0b4wvnd7q";
|
sha256 = "1rj4fn0m182c6laihgx3h92zyqw77qajxygv3k8md4f0b4wvnd7q";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v7.6.1-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.0.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "0nczhgib7hcyh7midm0s5b8zbi76lkyfz76c3lmkqnr0kj5nzb5y";
|
sha256 = "1vrywndkhhr3k2ckpy7rxm910mq70ks1r36dnfa10pb53hhl1ngp";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.74.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.75.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1mm51klxsqsgdz53m7zfbw3fh5vwwn1l1rxzwd1hjhm3giasqfv9";
|
sha256 = "18y8vr13dcpwg9mdwfn2mh5bww782wx7j8wxvv8j0xnv6ikwgaxm";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.7.3-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "19a5sfg2j74ji73cszsqak4gdyk1x7l7p0rpss8j5xnwbyw1y0nf";
|
sha256 = "10zkqc02lpf9k0brykyngsasi189w167f6v24cp8sl1agbdcqb9f";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1yclkdpmm8y92wbyhb87h3vdhcibhcvfppv1nvwhqd3bbx3zk1rb";
|
sha256 = "1yclkdpmm8y92wbyhb87h3vdhcibhcvfppv1nvwhqd3bbx3zk1rb";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.70.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.71.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "07r7a28qgn1m8g7sk6x66r01m9yvpccxwkqsic3x6rz7rar8aifq";
|
sha256 = "09zrx8xxmp3nfj0vaznn4k2q24r6hjv5z1ip0vxa2jx2m2j3jd9c";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "0znbyyh84ygbscm7db10bbzhma23kxy8aqpcnf5hd0l1fvphyw4h";
|
sha256 = "0znbyyh84ygbscm7db10bbzhma23kxy8aqpcnf5hd0l1fvphyw4h";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.6.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.7.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1j952sjqhp42a1s8fxn5li8mjfvl9as3ydhwdpslx8pzc8ykr2zj";
|
sha256 = "05fabrw15x9rsyib1lxvwd78kcy241hfqdbqgpilf83isavf6s8y";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.20.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.21.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "01ry0xj3hghqcp0jp5jfmxnkgk1cf9nz356glma21dsfv5c9h2gc";
|
sha256 = "1kzx16rv67ck7pnlyrmq7407bq41agfwxn7c70l0wsnp5y2l6zwj";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-darwin-amd64.tar.gz";
|
||||||
|
@ -231,8 +231,8 @@
|
||||||
sha256 = "0qqzfdibgwzgnv79as3l6k8hh4nviq2i0xsgzsvjkklzf2szyh8k";
|
sha256 = "0qqzfdibgwzgnv79as3l6k8hh4nviq2i0xsgzsvjkklzf2szyh8k";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.20.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.21.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1vnv7njpcf7x2vmjhrrpqgjn82wkbq1rr32yankzbrfyzkpsmwck";
|
sha256 = "00qmmnwc2i9n7r415bmjzb66wr9ragvkydgs8njjz7hsfz97girg";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-darwin-amd64.tar.gz";
|
||||||
|
@ -279,16 +279,16 @@
|
||||||
sha256 = "0gkazxwkmb5317amaqb3h34ras7b2vxblaybz2llp47w4qnvq834";
|
sha256 = "0gkazxwkmb5317amaqb3h34ras7b2vxblaybz2llp47w4qnvq834";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.2-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.3-darwin-amd64.tar.gz";
|
||||||
sha256 = "02mq6mnjbfkhwfm9fsgixw8imnxyrgl3zjh2v7z6la0qn888k9yi";
|
sha256 = "1ahmp1za19qf6gg2nmgqxqr0xg24pavx9q8gf917gmmj4gx4b2ws";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.111.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.112.0-darwin-amd64.tar.gz";
|
||||||
sha256 = "1q40y7d7mrr94afwbbyh8zi2liz37zz491ff82lxf31h2nbrcacv";
|
sha256 = "1fxgshs66kqiyw50b347bzzx67mzhmmzr3qfn0nj3yfhsnb1bbky";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.4-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.5-darwin-amd64.tar.gz";
|
||||||
sha256 = "1rc717psnir7hpl9az29z232zgkp2dnzfjsph6v3lm44qd0yw9dq";
|
sha256 = "1ijy38aqk6mkzh5bkdd7d10ips77rqk10dic6sdx79hfay16i4g7";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-darwin-amd64.tar.gz";
|
||||||
|
@ -311,8 +311,8 @@
|
||||||
sha256 = "1risgn050qs9yb0r7wx9z1xfw4ai50b5f6fzqchmaw4wpqj83j4h";
|
sha256 = "1risgn050qs9yb0r7wx9z1xfw4ai50b5f6fzqchmaw4wpqj83j4h";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.7-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.8-darwin-amd64.tar.gz";
|
||||||
sha256 = "1vpg87kw3i9zqk0x73l6xg0i6k9vyqilwsppz1kjg2jg91hm9aww";
|
sha256 = "1hrkfl5nqazcf7k6aazi4n8p1d2965ffqfl9wgv6cmzpabwbmc01";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
|
||||||
|
@ -321,44 +321,44 @@
|
||||||
];
|
];
|
||||||
aarch64-linux = [
|
aarch64-linux = [
|
||||||
{
|
{
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.153.1-linux-arm64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.154.0-linux-arm64.tar.gz";
|
||||||
sha256 = "18lq4gzc4hk8yxs5s4fxqixxh4dywak3rhri0pqpc9hidiqccwgs";
|
sha256 = "16324963a5laa2lvv75gvh9pb0mpvg1y0m7rr4c6cppi7iachv3f";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-linux-arm64.tar.gz";
|
||||||
sha256 = "0jb91frd5y0bqbps1yqjqvdcdjs5xnyycs1iil5hrlr3c5gzmbhk";
|
sha256 = "0jb91frd5y0bqbps1yqjqvdcdjs5xnyycs1iil5hrlr3c5gzmbhk";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v7.6.1-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.0.0-linux-arm64.tar.gz";
|
||||||
sha256 = "054pcilsi1qfnf2him7hb0nw9r1w7q47c60ska3cmw27q1xjvjsk";
|
sha256 = "1166ih4sk9ya1m0sdvhvh8xhzmx8dpmzfg8l8jfn2i2af4w1iij2";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.74.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.75.0-linux-arm64.tar.gz";
|
||||||
sha256 = "1ihf580aad9cz95211jxk7l4mvwnxhlvdmxlr70h4drjp377y59h";
|
sha256 = "17vzdi28awlplgmyv6zsb5ccya8yqii3j6wz742wd47w666lkbq9";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.7.3-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.0-linux-arm64.tar.gz";
|
||||||
sha256 = "0n2kiqcqpkqiapzvh1a5cz1sv0431k4c0s62wczbynyj8f838ywk";
|
sha256 = "0a07fhkjivn8r2qfc4ads89a6s9fh3dm0n49iwj8j6zfnbwl2kdz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-linux-arm64.tar.gz";
|
||||||
sha256 = "0xpfjwdhapyfc1562pxbvgmcmljvvsxdiymrwvcfhn08sdgpmas2";
|
sha256 = "0xpfjwdhapyfc1562pxbvgmcmljvvsxdiymrwvcfhn08sdgpmas2";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.70.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.71.0-linux-arm64.tar.gz";
|
||||||
sha256 = "1vcin5gkwv79xq5zrixqgipzyca7rdvq5rlfv9iwxmyh8dwa2kyl";
|
sha256 = "1xxa6xxhrf4wvwv27v48mm5hw1i62m6r3chif8c8ql0cv32n2m4w";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-linux-arm64.tar.gz";
|
||||||
sha256 = "0n53hh16ggv1cmj21hy0hqn92lvfnqdan57l0a7lqwx5r433mlrg";
|
sha256 = "0n53hh16ggv1cmj21hy0hqn92lvfnqdan57l0a7lqwx5r433mlrg";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.6.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.7.0-linux-arm64.tar.gz";
|
||||||
sha256 = "1d4a5xyx55mscqq4wqgvilfagk8mg49xnhwp5vx1i274kgdq7a7z";
|
sha256 = "0fyhx0zvibb5msgiw0k8f8n9a957n6lbpkpg9kbp5ylhsjafi5ry";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.20.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.21.0-linux-arm64.tar.gz";
|
||||||
sha256 = "00mhcz8lyjlgxwan69br5bq1bvzglcnclwmpplcrzpwsqiwbgwss";
|
sha256 = "1nipp4f4q61fwnr4wh99hc9an5qb572rfj0kbjw5pn9fhgy86nc4";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-linux-arm64.tar.gz";
|
||||||
|
@ -389,8 +389,8 @@
|
||||||
sha256 = "1dyg5k7giny2d26yw222kahdnbfwmhr8d1nkrn3i1ycqsb1g573j";
|
sha256 = "1dyg5k7giny2d26yw222kahdnbfwmhr8d1nkrn3i1ycqsb1g573j";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.20.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.21.0-linux-arm64.tar.gz";
|
||||||
sha256 = "1vkdjyywikqkw1capz6ky3ggdqmiwaz9gxr0mx5g8sbd4vzssx0l";
|
sha256 = "1pzzlvh8bd4pillyb0mr6ba458fjqh3ab310wvih559gzg4fz85j";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-linux-arm64.tar.gz";
|
||||||
|
@ -437,16 +437,16 @@
|
||||||
sha256 = "14y4jwzlxq0icjw7b3drfgv0kg2a9xl691r59388k9d193yh31n3";
|
sha256 = "14y4jwzlxq0icjw7b3drfgv0kg2a9xl691r59388k9d193yh31n3";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.2-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.3-linux-arm64.tar.gz";
|
||||||
sha256 = "1qghb1kj1flr36hcpk2r85ly833hm3z80lvwdw8rh2gz8ch6wi21";
|
sha256 = "1p7aahp9zfk5qhiw2h6wf11is4xnz6j7f1dcm69xli8x0wjib9kc";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.111.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.112.0-linux-arm64.tar.gz";
|
||||||
sha256 = "0xc8bv6qj8g7cqhpi37gm4f2hcdzpr3j4pnrh4hxxvxhcsfy6ywc";
|
sha256 = "081pvgl2sshdjzn3rgal955crcf9pald3qn35bqw6xrzz7a3sv6r";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.4-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.5-linux-arm64.tar.gz";
|
||||||
sha256 = "0f1zpcn0b0hd2kb1adigqp5zd2k7glxdav785yrg7zhq3gccmklw";
|
sha256 = "0i211g9bq48nhrglqmz8410qp5yby33b3mbkvasarywii6mic2q5";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-linux-arm64.tar.gz";
|
||||||
|
@ -469,8 +469,8 @@
|
||||||
sha256 = "1wkcrvyw9r0j4vy3nmgsypzak8ld2750rc3cd88m0q9qi22vi6hm";
|
sha256 = "1wkcrvyw9r0j4vy3nmgsypzak8ld2750rc3cd88m0q9qi22vi6hm";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.7-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.8-linux-arm64.tar.gz";
|
||||||
sha256 = "1haa6syws9744zjwgvh5p6lq15xpb1ha7zqga8giig13wligcxvv";
|
sha256 = "0pwxqlgsxn0fpq21p4rk7lsb2rlvig2paszwpvyzpfpzksn66mvm";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
|
||||||
|
@ -479,44 +479,44 @@
|
||||||
];
|
];
|
||||||
aarch64-darwin = [
|
aarch64-darwin = [
|
||||||
{
|
{
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.153.1-darwin-arm64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.154.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "0bhwdkvqzsvl898ndhfs20affrnidkblcpibpzncsha1cycl3jnl";
|
sha256 = "07vpsiqr23sd9xiib35zwxnm3axadg2cvkdmkygvvhk0rzdb7zzl";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.35.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1lbv0bd6kz0d50306b9y27xllf2lmmwnj5fz15p36p1dawz029r1";
|
sha256 = "1lbv0bd6kz0d50306b9y27xllf2lmmwnj5fz15p36p1dawz029r1";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v7.6.1-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.0.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1x3jajip18dhs39bpi3yyj3mcwcyyxd4ijnsbq71a98cws55iipq";
|
sha256 = "0spsr6asi7vhml7fwplidzjphkr01zifmb61aj11hxwmpkldhwz8";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.74.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.75.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1m71v28yr25ikj0sfd8h9dfnpd53g4jhs6lcxjzz9mb645vvsl0h";
|
sha256 = "0c4krcnw4kh8wxrvrcfv0j2i276zmsbxiiiph19m3263ddi6i99x";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.7.3-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1g3badq0zhjs69lyh6d9mpj0c77jqlgapbm03scbamgjzq0zzbdl";
|
sha256 = "01glc6mn5k6qyk65qkzhbmkrhlwzlmdkvx8d8mkgm7fprdwaxfv0";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.14.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "09ss5j92ra4bs5vmsqq2sgs30nalsb1bs3s0njn72fsc1cd6n0qz";
|
sha256 = "09ss5j92ra4bs5vmsqq2sgs30nalsb1bs3s0njn72fsc1cd6n0qz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.70.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.71.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1v8yid6dd6i3nnf62m37mlgwqjy68dgd0k8zkw3q8qs1r9mf8wfq";
|
sha256 = "06bah84cq2bhg4zxm0m70wrz1cr9mhixqz5n9q7q5l36hw6x1jmd";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.2.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "0zsvaz2shh35lw5c4sqvg39wrfsqk514z2nd9jzvjrnbwmwps6zd";
|
sha256 = "0zsvaz2shh35lw5c4sqvg39wrfsqk514z2nd9jzvjrnbwmwps6zd";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.6.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.7.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1x4ij8qv9jq39fbacirjvk96hc117da5ll3fzrmgpkvjc1mall01";
|
sha256 = "0mmpf4ggzhimm6mhf2p0jydc78wm7wqbm180g6066dd84izi9dsi";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.20.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.21.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "114njwjir2zk6fzfxiyjch97js6p0v2cr41v199zm2ff0h90727q";
|
sha256 = "1f9vd95jw2s3yvssnv5xx5l4fzhklyb11rlhvl42cccfgndj7g6j";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.49.1-darwin-arm64.tar.gz";
|
||||||
|
@ -547,8 +547,8 @@
|
||||||
sha256 = "17cm719jsh6rc7lwd64kg7qdlxlclvwrky9598f85kbvnv6n0xa8";
|
sha256 = "17cm719jsh6rc7lwd64kg7qdlxlclvwrky9598f85kbvnv6n0xa8";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.20.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.21.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1l3jl4nwvhp58lybv4lll2qb8d400nx6kb504prh84i67my685ni";
|
sha256 = "1r3w1vw0d0qn2vnv4a0n81q3dpw4m7cs34gryvfvllp5f7m8zn31";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.0-darwin-arm64.tar.gz";
|
||||||
|
@ -595,16 +595,16 @@
|
||||||
sha256 = "1aqlwj0v0x2ipjvalzry8g4g5y28pm52q8mriirmimml0vavlib8";
|
sha256 = "1aqlwj0v0x2ipjvalzry8g4g5y28pm52q8mriirmimml0vavlib8";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.2-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v1.1.3-darwin-arm64.tar.gz";
|
||||||
sha256 = "022x01wxl7zj65n25slijnb0is266xrg26sbb1z408bipv4svxgk";
|
sha256 = "1sayvk6h8g2n5g9zb0drsqpibzlsm9k0zp4dvkcgf68iw32fpzxz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.111.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.112.0-darwin-arm64.tar.gz";
|
||||||
sha256 = "1jjqhkfciinwjp6i4qlfjs826m88wncz5v5ppg9mwa9wmnyagi3l";
|
sha256 = "0cpi6q4rm2kfvycfva6h3qqj62x3469qlxv034rx4q4jahxnd4zn";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.4-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.5-darwin-arm64.tar.gz";
|
||||||
sha256 = "18iw3nkmygsdb0mjdgx5h2ny834vlnd5g1f5nm9gkrs5594sqgf3";
|
sha256 = "1j8r4ghifhxx1i3g9l0drbdgdigq59q1gkkr2j8y2626fypgddjh";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.18.0-darwin-arm64.tar.gz";
|
||||||
|
@ -627,8 +627,8 @@
|
||||||
sha256 = "0xw51rfh9vv0dbdzkjz6yrhj86f691cdg40ax085zk0g31x2g1cm";
|
sha256 = "0xw51rfh9vv0dbdzkjz6yrhj86f691cdg40ax085zk0g31x2g1cm";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.7-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.8-darwin-arm64.tar.gz";
|
||||||
sha256 = "1c2h6yxgx395mf8z61n29xwcx85qq373fcvv5w620zj1y3l8ff57";
|
sha256 = "1mmnn6my6v0mj28fqgiymdwfjsmj3rcb1nf7aj92kp3m38a0gcjs";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
|
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
|
||||||
|
|
|
@ -21,13 +21,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libmodsecurity";
|
pname = "libmodsecurity";
|
||||||
version = "3.0.13";
|
version = "3.0.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "owasp-modsecurity";
|
owner = "owasp-modsecurity";
|
||||||
repo = "ModSecurity";
|
repo = "ModSecurity";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-+z31t007NLCAFG/Lsj5j/AbBDPkI2wjbH5yM5vipH04=";
|
hash = "sha256-SaeBO3+WvPhHiJoiOmijB0G3/QYxjAdxgeCVqESS+4U=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue