Merge staging-next into staging

Changed files
+1824 -394
ci
maintainers
nixos
pkgs
applications
by-name
ac
acr-cli
ep
epson-escpr2
fl
go
golangci-lint-langserver
gosmee
ma
maven
mu
multiviewer-for-f1
pa
paretosecurity
sn
snac2
te
tevent
tp
tpnote
xu
ze
desktops
enlightenment
efl
enlightenment
development
python-modules
bloodyad
boto3-stubs
botocore-stubs
datasets
dsnap
fastapi-sso
fastcore
google-cloud-bigquery-logging
google-cloud-iam-logging
google-cloud-network-connectivity
google-cloud-shell
google-cloud-vpc-access
google-cloud-webrisk
holidays
msgraph-sdk
mypy-boto3
nexia
nibe
plyara
pyexploitdb
pysmartthings
pyswitchbot
pywizlight
ray
setupmeta
tencentcloud-sdk-python
servers
snac2
top-level
+4 -1
ci/OWNERS
···
/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix @philipmw
/nixos/tests/amazon-cloudwatch-agent.nix @philipmw
+
# Monitoring
+
/nixos/modules/services/monitoring/fluent-bit.nix @arianvp
+
/nixos/tests/fluent-bit.nix @arianvp
+
# nixos-rebuild-ng
/pkgs/by-name/ni/nixos-rebuild-ng @thiagokokada
-
# Updaters
## update.nix
+7
maintainers/maintainer-list.nix
···
githubId = 10554636;
name = "Braian A. Diez";
+
linuxwhata = {
+
email = "linuxwhata@qq.com";
+
matrix = "@lwa:envs.net";
+
github = "linuxwhata";
+
githubId = 68576488;
+
name = "Zhou Ke";
+
};
lionello = {
email = "lio@lunesu.com";
github = "lionello";
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···
- [Amazon CloudWatch Agent](https://github.com/aws/amazon-cloudwatch-agent), the official telemetry collector for AWS CloudWatch and AWS X-Ray. Available as [services.amazon-cloudwatch-agent](options.html#opt-services.amazon-cloudwatch-agent.enable).
+
- [Fluent Bit](https://github.com/fluent/fluent-bit), a fast Log, Metrics and Traces Processor and Forwarder. Available as [services.fluent-bit](#opt-services.fluent-bit.enable).
+
- [Bat](https://github.com/sharkdp/bat), a {manpage}`cat(1)` clone with wings. Available as [programs.bat](options.html#opt-programs.bat).
- [Autotier](https://github.com/45Drives/autotier), a passthrough FUSE filesystem. Available as [services.autotierfs](options.html#opt-services.autotierfs.enable).
+1
nixos/modules/module-list.nix
···
./services/monitoring/das_watchdog.nix
./services/monitoring/datadog-agent.nix
./services/monitoring/do-agent.nix
+
./services/monitoring/fluent-bit.nix
./services/monitoring/fusion-inventory.nix
./services/monitoring/gatus.nix
./services/monitoring/gitwatch.nix
+103
nixos/modules/services/monitoring/fluent-bit.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
utils,
+
...
+
}:
+
let
+
cfg = config.services.fluent-bit;
+
+
yamlFormat = pkgs.formats.yaml { };
+
in
+
{
+
options.services.fluent-bit = {
+
enable = lib.mkEnableOption "Fluent Bit";
+
package = lib.mkPackageOption pkgs "fluent-bit" { };
+
configurationFile = lib.mkOption {
+
type = lib.types.path;
+
default = yamlFormat.generate "fluent-bit.yaml" cfg.settings;
+
defaultText = lib.literalExpression ''yamlFormat.generate "fluent-bit.yaml" cfg.settings'';
+
description = ''
+
Fluent Bit configuration. See
+
<https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/yaml>
+
for supported values.
+
+
{option}`configurationFile` takes precedence over {option}`settings`.
+
+
Note: Restricted evaluation blocks access to paths outside the Nix store.
+
This means detecting content changes for mutable paths (i.e. not input or content-addressed) can't be done.
+
As a result, `nixos-rebuild` won't reload/restart the systemd unit when mutable path contents change.
+
`systemctl restart fluent-bit.service` must be used instead.
+
'';
+
example = "/etc/fluent-bit/fluent-bit.yaml";
+
};
+
settings = lib.mkOption {
+
type = yamlFormat.type;
+
default = { };
+
description = ''
+
See {option}`configurationFile`.
+
+
{option}`configurationFile` takes precedence over {option}`settings`.
+
'';
+
example = {
+
service = {
+
grace = 30;
+
};
+
pipeline = {
+
inputs = [
+
{
+
name = "systemd";
+
systemd_filter = "_SYSTEMD_UNIT=fluent-bit.service";
+
}
+
];
+
outputs = [
+
{
+
name = "file";
+
path = "/var/log/fluent-bit";
+
file = "fluent-bit.out";
+
}
+
];
+
};
+
};
+
};
+
# See https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/yaml/service-section.
+
graceLimit = lib.mkOption {
+
type = lib.types.nullOr (
+
lib.types.oneOf [
+
lib.types.ints.positive
+
lib.types.str
+
]
+
);
+
default = null;
+
description = ''
+
The grace time limit. Sets the systemd unit's `TimeoutStopSec`.
+
+
The `service.grace` option in the Fluent Bit configuration should be ≤ this option.
+
'';
+
example = 30;
+
};
+
};
+
+
config = lib.mkIf cfg.enable {
+
# See https://github.com/fluent/fluent-bit/blob/v3.2.6/init/systemd.in.
+
systemd.services.fluent-bit = {
+
description = "Fluent Bit";
+
after = [ "network.target" ];
+
requires = [ "network.target" ];
+
wantedBy = [ "multi-user.target" ];
+
serviceConfig = {
+
DynamicUser = true;
+
# See https://nixos.org/manual/nixos/stable#sec-logging.
+
SupplementaryGroups = "systemd-journal";
+
ExecStart = utils.escapeSystemdExecArgs [
+
(lib.getExe cfg.package)
+
"--config"
+
cfg.configurationFile
+
];
+
Restart = "always";
+
TimeoutStopSec = lib.mkIf (cfg.graceLimit != null) cfg.graceLimit;
+
};
+
};
+
};
+
}
+24 -3
nixos/modules/services/monitoring/scrutiny.nix
···
-
{ config, lib, pkgs, ... }:
+
{ config, lib, pkgs, utils, ... }:
let
inherit (lib) maintainers;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption;
inherit (lib.types) bool enum nullOr port str submodule;
+
inherit (utils) genJqSecretsReplacementSnippet;
cfg = config.services.scrutiny;
# Define the settings format used for this program
···
Scrutiny settings to be rendered into the configuration file.
See <https://github.com/AnalogJ/scrutiny/blob/master/example.scrutiny.yaml>.
+
+
Options containing secret data should be set to an attribute set
+
containing the attribute `_secret`. This attribute should be a string
+
or structured JSON with `quote = false;`, pointing to a file that
+
contains the value the option should be set to.
'';
default = { };
type = submodule {
···
Collector settings to be rendered into the collector configuration file.
See <https://github.com/AnalogJ/scrutiny/blob/master/example.collector.yaml>.
+
+
Options containing secret data should be set to an attribute set
+
containing the attribute `_secret`. This attribute should be a string
+
or structured JSON with `quote = false;`, pointing to a file that
+
contains the value the option should be set to.
'';
default = { };
type = submodule {
···
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
};
+
preStart = ''
+
${genJqSecretsReplacementSnippet cfg.settings "/run/scrutiny/config.yaml"}
+
'';
postStart = ''
for i in $(seq 300); do
if "${lib.getExe pkgs.curl}" --fail --silent --head "http://${cfg.settings.web.listen.host}:${toString cfg.settings.web.listen.port}" >/dev/null; then
···
'';
serviceConfig = {
DynamicUser = true;
-
ExecStart = "${getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
+
ExecStart = "${getExe cfg.package} start --config /run/scrutiny/config.yaml";
Restart = "always";
+
RuntimeDirectory = "scrutiny";
+
RuntimeDirectoryMode = "0700";
StateDirectory = "scrutiny";
StateDirectoryMode = "0750";
};
···
COLLECTOR_VERSION = "1";
COLLECTOR_API_ENDPOINT = cfg.collector.settings.api.endpoint;
};
+
preStart = ''
+
${genJqSecretsReplacementSnippet cfg.collector.settings "/run/scrutiny-collector/config.yaml"}
+
'';
serviceConfig = {
Type = "oneshot";
-
ExecStart = "${getExe cfg.collector.package} run --config ${settingsFormat.generate "scrutiny-collector.yaml" cfg.collector.settings}";
+
ExecStart = "${getExe cfg.collector.package} run --config /run/scrutiny-collector/config.yaml";
+
RuntimeDirectory = "scrutiny-collector";
+
RuntimeDirectoryMode = "0700";
};
startAt = cfg.collector.schedule;
};
+1 -1
nixos/modules/services/networking/vdirsyncer.nix
···
}
// (optionalAttrs (cfg'.user == null) {
DynamicUser = true;
+
ProtectHome = true;
})
// (optionalAttrs (cfg'.additionalGroups != [ ]) {
SupplementaryGroups = cfg'.additionalGroups;
···
PrivateTmp = true;
NoNewPrivileges = true;
ProtectSystem = "strict";
-
ProtectHome = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectControlGroups = true;
+8
nixos/modules/services/security/paretosecurity.nix
···
options.services.paretosecurity = {
enable = lib.mkEnableOption "[ParetoSecurity](https://paretosecurity.com) [agent](https://github.com/ParetoSecurity/agent) and its root helper";
package = lib.mkPackageOption pkgs "paretosecurity" { };
+
trayIcon = lib.mkEnableOption "tray icon for ParetoSecurity";
};
config = lib.mkIf config.services.paretosecurity.enable {
···
ProtectHome = true;
StandardOutput = "journal";
StandardError = "journal";
+
};
+
};
+
+
systemd.user.services."paretosecurity-trayicon" = lib.mkIf config.services.paretosecurity.trayIcon {
+
wantedBy = [ "graphical-session.target" ];
+
serviceConfig = {
+
ExecStart = "${config.services.paretosecurity.package}/bin/paretosecurity trayicon";
};
};
+3 -1
nixos/tests/all-tests.nix
···
imports = [ ./firefox.nix ] ;
_module.args.firefoxPackage = pkgs.floorp;
};
+
fluent-bit = handleTest ./fluent-bit.nix {};
fluentd = handleTest ./fluentd.nix {};
fluidd = handleTest ./fluidd.nix {};
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
···
scaphandre = handleTest ./scaphandre.nix {};
schleuder = handleTest ./schleuder.nix {};
scion-freestanding-deployment = handleTest ./scion/freestanding-deployment {};
-
scrutiny = handleTest ./scrutiny.nix {};
+
scrutiny = runTest ./scrutiny.nix;
sddm = handleTest ./sddm.nix {};
sdl3 = handleTest ./sdl3.nix { };
seafile = handleTest ./seafile.nix {};
···
vault-dev = handleTest ./vault-dev.nix {};
vault-postgresql = handleTest ./vault-postgresql.nix {};
vaultwarden = discoverTests (import ./vaultwarden.nix);
+
vdirsyncer = handleTest ./vdirsyncer.nix {};
vector = handleTest ./vector {};
velocity = runTest ./velocity.nix;
vengi-tools = handleTest ./vengi-tools.nix {};
+40
nixos/tests/fluent-bit.nix
···
+
import ./make-test-python.nix (
+
{ lib, pkgs, ... }:
+
{
+
name = "fluent-bit";
+
+
nodes.machine =
+
{ config, pkgs, ... }:
+
{
+
services.fluent-bit = {
+
enable = true;
+
settings = {
+
pipeline = {
+
inputs = [
+
{
+
name = "systemd";
+
systemd_filter = "_SYSTEMD_UNIT=fluent-bit.service";
+
}
+
];
+
outputs = [
+
{
+
name = "file";
+
path = "/var/log/fluent-bit";
+
file = "fluent-bit.out";
+
}
+
];
+
};
+
};
+
};
+
+
systemd.services.fluent-bit.serviceConfig.LogsDirectory = "fluent-bit";
+
};
+
+
testScript = ''
+
start_all()
+
+
machine.wait_for_unit("fluent-bit.service")
+
machine.wait_for_file("/var/log/fluent-bit/fluent-bit.out")
+
'';
+
}
+
)
+1 -1
nixos/tests/glance.nix
···
machine_custom_port.wait_for_open_port(5678)
soup = BeautifulSoup(machine_default.succeed("curl http://localhost:8080"))
-
expected_version = "${config.nodes.machine_default.services.glance.package.version}"
+
expected_version = "v${config.nodes.machine_default.services.glance.package.version}"
assert any(a.text == expected_version for a in soup.select(".footer a"))
'';
+47 -3
nixos/tests/paretosecurity.nix
···
name = "paretosecurity";
meta.maintainers = [ lib.maintainers.zupo ];
-
nodes.machine =
+
nodes.terminal =
{ config, pkgs, ... }:
{
+
imports = [ ./common/user-account.nix ];
+
services.paretosecurity.enable = true;
};
+
nodes.xfce =
+
{ config, pkgs, ... }:
+
{
+
imports = [ ./common/user-account.nix ];
+
+
services.paretosecurity = {
+
enable = true;
+
trayIcon = true;
+
};
+
+
services.xserver.enable = true;
+
services.xserver.displayManager.lightdm.enable = true;
+
services.xserver.desktopManager.xfce.enable = true;
+
+
services.displayManager.autoLogin = {
+
enable = true;
+
user = "alice";
+
};
+
+
environment.systemPackages = [ pkgs.xdotool ];
+
environment.variables.XAUTHORITY = "/home/alice/.Xauthority";
+
+
};
+
+
enableOCR = true;
+
testScript = ''
-
(status, out) = machine.execute("paretosecurity check")
-
assert status == 1, "paretosecurity did not return 1 on failing checks"
+
terminal.succeed(
+
"su -- alice -c 'paretosecurity check"
+
# Disable some checks that need intricate test setup so that this test
+
# remains simple and fast. Tests for all checks and edge cases available
+
# at https://github.com/ParetoSecurity/agent/tree/main/test/integration
+
+ " --skip c96524f2-850b-4bb9-abc7-517051b6c14e" # SecureBoot
+
+ " --skip 37dee029-605b-4aab-96b9-5438e5aa44d8" # Screen lock
+
+ " --skip 21830a4e-84f1-48fe-9c5b-beab436b2cdb" # Disk encryption
+
+ " --skip 44e4754a-0b42-4964-9cc2-b88b2023cb1e" # Pareto Security is up to date
+
+ " --skip f962c423-fdf5-428a-a57a-827abc9b253e" # Password manager installed
+
+ "'"
+
)
+
+
xfce.wait_for_x()
+
xfce.succeed("xdotool mousemove 850 10")
+
xfce.wait_for_text("Pareto Security")
+
xfce.succeed("xdotool click 1")
+
xfce.wait_for_text("Run Checks")
'';
}
+85 -70
nixos/tests/scrutiny.nix
···
-
import ./make-test-python.nix (
-
{ lib, ... }:
+
{ lib, ... }:
-
{
-
name = "scrutiny";
-
meta.maintainers = with lib.maintainers; [ jnsgruk ];
+
{
+
name = "scrutiny";
+
meta.maintainers = with lib.maintainers; [ jnsgruk ];
-
nodes = {
-
machine =
-
{
-
self,
-
pkgs,
-
lib,
-
...
-
}:
-
{
-
services = {
-
scrutiny.enable = true;
-
scrutiny.collector.enable = true;
+
nodes = {
+
machine =
+
{
+
self,
+
pkgs,
+
lib,
+
...
+
}:
+
{
+
services = {
+
scrutiny = {
+
enable = true;
+
settings = {
+
notify.urls = [
+
{
+
_secret = pkgs.writeText "notify-script" "script://${pkgs.writeShellScript "touch-test-file" ''
+
echo "HelloWorld" > /run/scrutiny/hello
+
''}";
+
}
+
];
+
};
};
+
scrutiny.collector.enable = true;
+
};
-
environment.systemPackages =
-
let
-
seleniumScript =
-
pkgs.writers.writePython3Bin "selenium-script"
-
{
-
libraries = with pkgs.python3Packages; [ selenium ];
-
}
-
''
-
from selenium import webdriver
-
from selenium.webdriver.common.by import By
-
from selenium.webdriver.firefox.options import Options
-
from selenium.webdriver.support.ui import WebDriverWait
-
from selenium.webdriver.support import expected_conditions as EC
+
environment.systemPackages =
+
let
+
seleniumScript =
+
pkgs.writers.writePython3Bin "selenium-script"
+
{
+
libraries = with pkgs.python3Packages; [ selenium ];
+
}
+
''
+
from selenium import webdriver
+
from selenium.webdriver.common.by import By
+
from selenium.webdriver.firefox.options import Options
+
from selenium.webdriver.support.ui import WebDriverWait
+
from selenium.webdriver.support import expected_conditions as EC
+
+
options = Options()
+
options.add_argument("--headless")
+
service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501
-
options = Options()
-
options.add_argument("--headless")
-
service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501
+
driver = webdriver.Firefox(options=options, service=service)
+
driver.implicitly_wait(10)
+
driver.get("http://localhost:8080/web/dashboard")
-
driver = webdriver.Firefox(options=options, service=service)
-
driver.implicitly_wait(10)
-
driver.get("http://localhost:8080/web/dashboard")
+
wait = WebDriverWait(driver, 10).until(
+
EC.text_to_be_present_in_element(
+
(By.TAG_NAME, "body"), "Drive health at a glance")
+
)
-
wait = WebDriverWait(driver, 10).until(
-
EC.text_to_be_present_in_element(
-
(By.TAG_NAME, "body"), "Drive health at a glance")
-
)
+
body_text = driver.find_element(By.TAG_NAME, "body").text
+
assert "Temperature history for each device" in body_text
-
body_text = driver.find_element(By.TAG_NAME, "body").text
-
assert "Temperature history for each device" in body_text
+
driver.close()
+
'';
+
in
+
with pkgs;
+
[
+
curl
+
firefox-unwrapped
+
geckodriver
+
seleniumScript
+
];
+
};
+
};
+
# This is the test code that will check if our service is running correctly:
+
testScript = ''
+
start_all()
-
driver.close()
-
'';
-
in
-
with pkgs;
-
[
-
curl
-
firefox-unwrapped
-
geckodriver
-
seleniumScript
-
];
-
};
-
};
-
# This is the test code that will check if our service is running correctly:
-
testScript = ''
-
start_all()
+
# Wait for Scrutiny to be available
+
machine.wait_for_unit("scrutiny")
+
machine.wait_for_open_port(8080)
-
# Wait for Scrutiny to be available
-
machine.wait_for_unit("scrutiny")
-
machine.wait_for_open_port(8080)
+
# Ensure the API responds as we expect
+
output = machine.succeed("curl localhost:8080/api/health")
+
assert output == '{"success":true}'
-
# Ensure the API responds as we expect
-
output = machine.succeed("curl localhost:8080/api/health")
-
assert output == '{"success":true}'
+
# Start the collector service to send some metrics
+
collect = machine.succeed("systemctl start scrutiny-collector.service")
-
# Start the collector service to send some metrics
-
collect = machine.succeed("systemctl start scrutiny-collector.service")
+
# Ensure the application is actually rendered by the Javascript
+
machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
-
# Ensure the application is actually rendered by the Javascript
-
machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
-
'';
-
}
-
)
+
# Test notification and genJqSecretsReplacementSnippet
+
machine.succeed("curl -X POST http://localhost:8080/api/health/notify")
+
machine.wait_for_file("/run/scrutiny/hello")
+
output = machine.succeed("cat /run/scrutiny/hello")
+
assert "HelloWorld" in output
+
'';
+
}
+300
nixos/tests/vdirsyncer.nix
···
+
import ./make-test-python.nix (
+
{ pkgs, lib, ... }:
+
+
let
+
+
radicale_calendars = {
+
type = "caldav";
+
url = "http://localhost:5232/";
+
# Radicale needs username/password.
+
username = "alice";
+
password = "password";
+
};
+
+
radicale_contacts = {
+
type = "carddav";
+
url = "http://localhost:5232/";
+
# Radicale needs username/password.
+
username = "alice";
+
password = "password";
+
};
+
+
xandikos_calendars = {
+
type = "caldav";
+
url = "http://localhost:8080/user/calendars";
+
# Xandikos warns
+
# > No current-user-principal returned, re-using URL http://localhost:8080/user/calendars/
+
# but we do not need username/password.
+
};
+
+
xandikos_contacts = {
+
type = "carddav";
+
url = "http://localhost:8080/user/contacts";
+
};
+
+
local_calendars = {
+
type = "filesystem";
+
path = "~/calendars";
+
fileext = ".ics";
+
};
+
+
local_contacts = {
+
type = "filesystem";
+
path = "~/contacts";
+
fileext = ".vcf";
+
};
+
+
mkPairs = a: b: {
+
calendars = {
+
a = "${a}_calendars";
+
b = "${b}_calendars";
+
collections = [
+
"from a"
+
"from b"
+
];
+
};
+
contacts = {
+
a = "${a}_contacts";
+
b = "${b}_contacts";
+
collections = [
+
"from a"
+
"from b"
+
];
+
};
+
};
+
+
mkRadicaleProps =
+
tag:
+
pkgs.writeText "Radicale.props" (
+
builtins.toJSON {
+
inherit tag;
+
}
+
);
+
+
writeLines =
+
name: eol: lines:
+
pkgs.writeText name (lib.concatMapStrings (l: "${l}${eol}") lines);
+
+
prodid = "-//NixOS test//EN";
+
dtstamp = "20231129T194743Z";
+
+
writeICS =
+
{
+
uid,
+
summary,
+
dtstart,
+
dtend,
+
}:
+
writeLines "${uid}.ics" "\r\n" [
+
"BEGIN:VCALENDAR"
+
"VERSION:2.0"
+
"PRODID:${prodid}"
+
"BEGIN:VEVENT"
+
"UID:${uid}"
+
"SUMMARY:${summary}"
+
"DTSTART:${dtstart}"
+
"DTEND:${dtend}"
+
"DTSTAMP:${dtstamp}"
+
"END:VEVENT"
+
"END:VCALENDAR"
+
];
+
+
foo_ics = writeICS {
+
uid = "foo";
+
summary = "Epochalypse";
+
dtstart = "19700101T000000Z";
+
dtend = "20380119T031407Z";
+
};
+
+
bar_ics = writeICS {
+
uid = "bar";
+
summary = "One Billion Seconds";
+
dtstart = "19700101T000000Z";
+
dtend = "20010909T014640Z";
+
};
+
+
writeVCF =
+
{
+
uid,
+
name,
+
displayName,
+
email,
+
}:
+
writeLines "${uid}.vcf" "\r\n" [
+
# One of the tools enforces this order of fields.
+
"BEGIN:VCARD"
+
"VERSION:4.0"
+
"UID:${uid}"
+
"EMAIL;TYPE=INTERNET:${email}"
+
"FN:${displayName}"
+
"N:${name}"
+
"END:VCARD"
+
];
+
+
foo_vcf = writeVCF {
+
uid = "foo";
+
name = "Doe;John;;;";
+
displayName = "John Doe";
+
email = "john.doe@example.org";
+
};
+
+
bar_vcf = writeVCF {
+
uid = "bar";
+
name = "Doe;Jane;;;";
+
displayName = "Jane Doe";
+
email = "jane.doe@example.org";
+
};
+
+
in
+
{
+
name = "vdirsyncer";
+
+
meta.maintainers = with lib.maintainers; [ schnusch ];
+
+
nodes = {
+
machine = {
+
services.radicale = {
+
enable = true;
+
settings.auth.type = "none";
+
};
+
+
services.xandikos = {
+
enable = true;
+
extraOptions = [ "--autocreate" ];
+
};
+
+
services.vdirsyncer = {
+
enable = true;
+
jobs = {
+
+
alice = {
+
user = "alice";
+
group = "users";
+
config = {
+
statusPath = "/home/alice/.vdirsyncer";
+
storages = {
+
inherit
+
local_calendars
+
local_contacts
+
radicale_calendars
+
radicale_contacts
+
;
+
};
+
pairs = mkPairs "local" "radicale";
+
};
+
forceDiscover = true;
+
};
+
+
bob = {
+
user = "bob";
+
group = "users";
+
config = {
+
statusPath = "/home/bob/.vdirsyncer";
+
storages = {
+
inherit
+
local_calendars
+
local_contacts
+
xandikos_calendars
+
xandikos_contacts
+
;
+
};
+
pairs = mkPairs "local" "xandikos";
+
};
+
forceDiscover = true;
+
};
+
+
remote = {
+
config = {
+
storages = {
+
inherit
+
radicale_calendars
+
radicale_contacts
+
xandikos_calendars
+
xandikos_contacts
+
;
+
};
+
pairs = mkPairs "radicale" "xandikos";
+
};
+
forceDiscover = true;
+
};
+
+
};
+
};
+
+
users.users = {
+
alice.isNormalUser = true;
+
bob.isNormalUser = true;
+
};
+
};
+
};
+
+
testScript = ''
+
def run_unit(name):
+
machine.systemctl(f"start {name}")
+
# The service is Type=oneshot without RemainAfterExit=yes. Once it
+
# is finished it is no longer active and wait_for_unit will fail.
+
# When that happens we check if it actually failed.
+
try:
+
machine.wait_for_unit(name)
+
except:
+
machine.fail(f"systemctl is-failed {name}")
+
+
start_all()
+
+
machine.wait_for_open_port(5232)
+
machine.wait_for_open_port(8080)
+
machine.wait_for_unit("multi-user.target")
+
+
with subtest("alice -> radicale"):
+
# vdirsyncer cannot create create collections on Radicale,
+
# see https://vdirsyncer.pimutils.org/en/stable/tutorials/radicale.html
+
machine.succeed("runuser -u radicale -- install -Dm 644 ${mkRadicaleProps "VCALENDAR"} /var/lib/radicale/collections/collection-root/alice/foocal/.Radicale.props")
+
machine.succeed("runuser -u radicale -- install -Dm 644 ${mkRadicaleProps "VADDRESSBOOK"} /var/lib/radicale/collections/collection-root/alice/foocard/.Radicale.props")
+
+
machine.succeed("runuser -u alice -- install -Dm 644 ${foo_ics} /home/alice/calendars/foocal/foo.ics")
+
machine.succeed("runuser -u alice -- install -Dm 644 ${foo_vcf} /home/alice/contacts/foocard/foo.vcf")
+
run_unit("vdirsyncer@alice.service")
+
+
# test statusPath
+
machine.succeed("test -d /home/alice/.vdirsyncer")
+
machine.fail("test -e /var/lib/private/vdirsyncer/alice")
+
+
with subtest("bob -> xandikos"):
+
# I suspect Radicale shares the namespace for calendars and
+
# contacts, but Xandikos separates them. We just use `barcal` and
+
# `barcard` with Xandikos as well to avoid conflicts.
+
machine.succeed("runuser -u bob -- install -Dm 644 ${bar_ics} /home/bob/calendars/barcal/bar.ics")
+
machine.succeed("runuser -u bob -- install -Dm 644 ${bar_vcf} /home/bob/contacts/barcard/bar.vcf")
+
run_unit("vdirsyncer@bob.service")
+
+
# test statusPath
+
machine.succeed("test -d /home/bob/.vdirsyncer")
+
machine.fail("test -e /var/lib/private/vdirsyncer/bob")
+
+
with subtest("radicale <-> xandikos"):
+
# vdirsyncer cannot create create collections on Radicale,
+
# see https://vdirsyncer.pimutils.org/en/stable/tutorials/radicale.html
+
machine.succeed("runuser -u radicale -- install -Dm 644 ${mkRadicaleProps "VCALENDAR"} /var/lib/radicale/collections/collection-root/alice/barcal/.Radicale.props")
+
machine.succeed("runuser -u radicale -- install -Dm 644 ${mkRadicaleProps "VADDRESSBOOK"} /var/lib/radicale/collections/collection-root/alice/barcard/.Radicale.props")
+
+
run_unit("vdirsyncer@remote.service")
+
+
# test statusPath
+
machine.succeed("test -d /var/lib/private/vdirsyncer/remote")
+
+
with subtest("radicale -> alice"):
+
run_unit("vdirsyncer@alice.service")
+
+
with subtest("xandikos -> bob"):
+
run_unit("vdirsyncer@bob.service")
+
+
with subtest("compare synced files"):
+
# iCalendar files get reordered
+
machine.succeed("diff -u --strip-trailing-cr <(sort /home/alice/calendars/foocal/foo.ics) <(sort /home/bob/calendars/foocal/foo.ics) >&2")
+
machine.succeed("diff -u --strip-trailing-cr <(sort /home/bob/calendars/barcal/bar.ics) <(sort /home/alice/calendars/barcal/bar.ics) >&2")
+
+
machine.succeed("diff -u --strip-trailing-cr /home/alice/contacts/foocard/foo.vcf /home/bob/contacts/foocard/foo.vcf >&2")
+
machine.succeed("diff -u --strip-trailing-cr /home/bob/contacts/barcard/bar.vcf /home/alice/contacts/barcard/bar.vcf >&2")
+
'';
+
}
+
)
+13
pkgs/applications/editors/vim/plugins/generated.nix
···
meta.hydraPlatforms = [ ];
};
+
houdini-nvim = buildVimPlugin {
+
pname = "houdini.nvim";
+
version = "2024-08-06";
+
src = fetchFromGitHub {
+
owner = "TheBlob42";
+
repo = "houdini.nvim";
+
rev = "1b7ec0a713a2aa9965848d8b93f66dc93716fd1c";
+
sha256 = "05np3p0lnsra6c6vx3h81vrba3nhwxrqb5l3qkdbx5bl58dds9bn";
+
};
+
meta.homepage = "https://github.com/TheBlob42/houdini.nvim";
+
meta.hydraPlatforms = [ ];
+
};
+
hover-nvim = buildVimPlugin {
pname = "hover.nvim";
version = "2024-12-11";
+1
pkgs/applications/editors/vim/plugins/vim-plugin-names
···
https://github.com/urbit/hoon.vim/,,
https://github.com/smoka7/hop.nvim/,,
https://github.com/rktjmp/hotpot.nvim/,,
+
https://github.com/TheBlob42/houdini.nvim/,HEAD,
https://github.com/lewis6991/hover.nvim/,HEAD,
https://github.com/othree/html5.vim/,HEAD,
https://github.com/julienvincent/hunk.nvim/,HEAD,
+122
pkgs/applications/networking/cluster/rke2/1_29/images-versions.json
···
+
{
+
"images-calico-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
+
"sha256": "4b3743795b3fb431c53f183d43b004925ff06863bd95e9fbf3949c5c5092c7bd"
+
},
+
"images-calico-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
+
"sha256": "eca2ac2eda2fcaf055f54dfc1baf7f21a88f3454a84716d8d0f57574f2a36664"
+
},
+
"images-calico-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
+
"sha256": "d2baf446c4ec832bf870d57bc7cfd496de6bd1df3cc26b83ea7853a8e6e85de9"
+
},
+
"images-calico-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
+
"sha256": "18922628e7c9a9045b60393fe049a01ec2137b80b3312ea09735bce978ae88c8"
+
},
+
"images-canal-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
+
"sha256": "351c2c73acc9a88869735430b604a60237122e778f5eb95c503530e8cc42d790"
+
},
+
"images-canal-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
+
"sha256": "a8b0825efd30f2e4ee0e82730d820b5ab0e2074b76d99a4662555726440a1542"
+
},
+
"images-canal-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
+
"sha256": "5a43dd70e1efac0ee0deeb5637b8fd8b19c4f70b5854d9af69dde7299c7315c0"
+
},
+
"images-canal-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
+
"sha256": "d42f6de81cc2a0ca8cb8716189c782c58de3ec7f6159ac240228755bfc586b4a"
+
},
+
"images-cilium-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
+
"sha256": "b8ead14a0c131f9a91997635670cb03191c4f4e4b14bee77fe0da0b9629d5b01"
+
},
+
"images-cilium-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
+
"sha256": "b89382ac45f36536ff8d458d74938f6558f510f7bed5cebbaf0834abbb81d03d"
+
},
+
"images-cilium-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
+
"sha256": "f6918df76be1395bb193091d5a356555284da56294f0ab6ed6e2c5f11bf9ddbb"
+
},
+
"images-cilium-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
+
"sha256": "7715c4073dfbba766605ec16aa238a7e171b53def9933e9e3cd6c69780dc669c"
+
},
+
"images-core-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
+
"sha256": "2d138c9f5c08e0783bcec973de388e21cb0733a30a8f87123662f155e22d1cb6"
+
},
+
"images-core-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
+
"sha256": "2eaae797f44ab269b271fa9fb0f02ecaf14d1209c16d83b395d9549b736c149d"
+
},
+
"images-core-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
+
"sha256": "caee89bef5f95aa812de8314cc8612b525840b98e7e654c7b256277df7faaf07"
+
},
+
"images-core-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
+
"sha256": "252cbe2f8f7d262a884094411b84a0e98b16886d2c0e13edea02b81993395283"
+
},
+
"images-flannel-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
+
"sha256": "1495baefc0b8d727e5baf16b71a56f3d8a9dee414e614e7511fd9ca629e6146f"
+
},
+
"images-flannel-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
+
"sha256": "925e1b36c1d1fd65e61de76f21816866dd539a3345e29ba9aca8a66b6aa1e135"
+
},
+
"images-flannel-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
+
"sha256": "fcf737645558c91d525fc8c855c3f674fa0c0dea2d2114b67d2df8236c1905ca"
+
},
+
"images-flannel-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
+
"sha256": "a1eda6aba79af9eb58614d656106196c9159253bb17f1418ee23c4eabf400410"
+
},
+
"images-harvester-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
+
"sha256": "3aff7d410d88fbffed80642c044958601e325a7fb3b5f11b7b989179659b8f14"
+
},
+
"images-harvester-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
+
"sha256": "3d7a80dc64e96c27fd5fe4210c02357c7f2870d25b8067338f45b12c92d80d9f"
+
},
+
"images-harvester-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
+
"sha256": "4fbefae4e2fd15e97e81f4a6eaa1b407d39125caaf60feb766197b1914afbef6"
+
},
+
"images-harvester-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
+
"sha256": "d1644e15125da089225372f44d9c537f5c4ac3b298024ecda0b1537bc245f896"
+
},
+
"images-multus-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
+
"sha256": "2327286a7d695c0596e7536018710373aff10c3f1adc847f07f820c33b68ad81"
+
},
+
"images-multus-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
+
"sha256": "2d5cb1b383aa2a6bb840d185e01a09e7d667b05c91e4be42a04dffa5cd6b4d92"
+
},
+
"images-multus-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
+
"sha256": "9bbd253fdb9fd7913569b651c2591e2b97bdd3b98d0398bcc563a09f1387d6a3"
+
},
+
"images-multus-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
+
"sha256": "ce929e823814cda57d187a219dc2719cbab390bf2a2d939e44d48d70f288d25c"
+
},
+
"images-vsphere-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
+
"sha256": "d405c544026e9aac8edad7cc64abcb4c20578a3abb8aff114910df3161aac28a"
+
},
+
"images-vsphere-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.29.14%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
+
"sha256": "d71d9dbc916988b2d9236c56ed46dfdd269db892bcbf8e5e11675d851ec7a3f6"
+
}
+
}
+1
pkgs/applications/networking/cluster/rke2/1_29/versions.nix
···
pauseVersion = "3.6";
ccmVersion = "v1.29.10-0.20241016053521-9510ac25fefb-build20241016";
dockerizedVersion = "v1.29.14-rke2r1";
+
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}
+138
pkgs/applications/networking/cluster/rke2/1_30/images-versions.json
···
+
{
+
"images-calico-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
+
"sha256": "ad47733ffcfa7194ff3f8e9b1aad4028868b6def24bfc613d30104dfbaa103d2"
+
},
+
"images-calico-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
+
"sha256": "fda9d7d50ed44dd15a31b74720fa71fa5d6d504091a47bfa6f766adbeaf5eb08"
+
},
+
"images-calico-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
+
"sha256": "bb01eca1bb1a30e2ef83d4c528934a445e56e7e4c38d4ba795699827bcab1f79"
+
},
+
"images-calico-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
+
"sha256": "020b55868818efbf5b27854416ad2f5c71a757c674a49e493f44c1b4146b16cf"
+
},
+
"images-canal-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
+
"sha256": "827fe2baa8ba2429cc5a6853c7447461e0452ad46bae46e47ab53d078c34856c"
+
},
+
"images-canal-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
+
"sha256": "931a778ff65cfca3b76bddf65d71792422d6ffe0abc6feecc1ca8923555550a3"
+
},
+
"images-canal-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
+
"sha256": "49d4502fab5236c7b96f07636349f902d781c55d03ecd2e563a8f7e544fd30af"
+
},
+
"images-canal-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
+
"sha256": "f75946b503600b0ca1b24f0da7355ece0a96380772fdc8c75f94ab6839bc559f"
+
},
+
"images-cilium-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
+
"sha256": "000c57f474e1b70a81dc7f0b831fd01cb8d147664e00eff566ab8d89fa9caf8a"
+
},
+
"images-cilium-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
+
"sha256": "00a5971a62c02e192de910f6c5f1cd230d23547335d94399fa306a355e23750f"
+
},
+
"images-cilium-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
+
"sha256": "da8793a53ac5c64387872db810d3b94f11ba063af6e11b48ac6df2a943ea8f79"
+
},
+
"images-cilium-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
+
"sha256": "85e78feaeac5dba9ef18eac8dd42081afe4f0bffe11921dbfd6b7cc585ca1496"
+
},
+
"images-core-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
+
"sha256": "c5c4c7389312642c6dc9ef3a07d954be5d3776a8fc1e6df90bb46eb95fd75513"
+
},
+
"images-core-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
+
"sha256": "8ec619a8b458c27f14bfdb796b1aa399ed34b7db176ea3ae64ba20189f529835"
+
},
+
"images-core-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
+
"sha256": "413566078e9315aa5d9339e6fb1f7859aea399a7f7934019aa7b1229e223e293"
+
},
+
"images-core-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
+
"sha256": "586a55ed0aff2bd149bd2a5ad586177ba78814a7da8acb0640365bffaa5c39bb"
+
},
+
"images-flannel-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
+
"sha256": "6eaa3a7f058abd192eab13533cc47a47d4571eee3f6f688f1c316c8a62c1f9d8"
+
},
+
"images-flannel-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
+
"sha256": "42e2f3ce038d7262afcea8c5603f59bd501653e6dcbcbf571e71c8637a85297a"
+
},
+
"images-flannel-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
+
"sha256": "e2a9164923bec9998879224c74edf36fa14e6534cddb20220f399679c28348ef"
+
},
+
"images-flannel-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
+
"sha256": "8b49d5670be6794813d70fbebf1b681d8d0661ada1cd15d74bf08d6302a85898"
+
},
+
"images-harvester-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
+
"sha256": "5c0e2ab04cf30e6e862f88d75cc2c5130da68d893be723f91212b9b49caa2a60"
+
},
+
"images-harvester-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
+
"sha256": "787ae168c950c6d5a10296511fc4a54d819f4587a8ffaaccafd766ea5252cc4d"
+
},
+
"images-harvester-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
+
"sha256": "89d2713b0843eb9638f3d242fd3d8f6a4ceb35d83c62067940d8624025fbfc0f"
+
},
+
"images-harvester-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
+
"sha256": "64c2a373c19ed7fc0254e24ce8d9dae4ae21826fea9094b14ece90471706b753"
+
},
+
"images-multus-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
+
"sha256": "20e1811dae1c233a836162b432540cb3e2f974aecf0d1b57bcf79d4b269a8531"
+
},
+
"images-multus-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
+
"sha256": "025ded7faf603991975c4f17708b0887bffbc265aa5546e6df96ab625ebb65ac"
+
},
+
"images-multus-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
+
"sha256": "e8919421560a548576eed90c9d442d84ce1a3cfab0739cd98c400f7ed17876d9"
+
},
+
"images-multus-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
+
"sha256": "55bb64bd256ac9a185db583d4dd178a609cb8a047123dbae5aadf9b56183f99b"
+
},
+
"images-traefik-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-traefik.linux-amd64.tar.gz",
+
"sha256": "c219b1c1fb311b2e0981c2c280e0e51e7b0e2081f5521ed0dedcc25aeaf701f4"
+
},
+
"images-traefik-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-traefik.linux-amd64.tar.zst",
+
"sha256": "5118c0fe338141c154eca5386db49b40d55f29a07d77486e6f82117c433176ae"
+
},
+
"images-traefik-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-traefik.linux-arm64.tar.gz",
+
"sha256": "0b618a0a48ffb91d61dc0f685dc1a0859ed7824c5ac315b7a62856cdd1282a83"
+
},
+
"images-traefik-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-traefik.linux-arm64.tar.zst",
+
"sha256": "24f90b544f5b962ca35333b9ae6bb3b1b5ce0bf0d270d006cad7c8c6ffa3f011"
+
},
+
"images-vsphere-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
+
"sha256": "93f668a01a753c40b72ba9936909bf49bc2c6c857bdb900eef22f237a2600d07"
+
},
+
"images-vsphere-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.30.10%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
+
"sha256": "e68ff9127360537ef0f351741fbbd27b6fe927cf792a0a80c25a9a78f1aeeab1"
+
}
+
}
+1
pkgs/applications/networking/cluster/rke2/1_30/versions.nix
···
pauseVersion = "3.6";
ccmVersion = "v1.30.6-0.20241016053533-5ec454f50e7a-build20241016";
dockerizedVersion = "v1.30.10-rke2r1";
+
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}
+138
pkgs/applications/networking/cluster/rke2/1_31/images-versions.json
···
+
{
+
"images-calico-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
+
"sha256": "5a3b85760345b131e733be993b5a7fff7b244095d04d1f3b09085167eda5ec48"
+
},
+
"images-calico-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
+
"sha256": "3c4b349c4c5dcf77d5c064ac7d8e7cd17b86575f1861d423f02f5e5dde4bab2a"
+
},
+
"images-calico-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
+
"sha256": "11db0d5a766421ffd11009f78444d42f20fca5ddc35654aaadcc32aae31f487b"
+
},
+
"images-calico-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
+
"sha256": "d1570a698616ee0f9dc430e6374f299fc93b0b53da7b61f9b0e0e66562ddb001"
+
},
+
"images-canal-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
+
"sha256": "d26574208df6e8196066620c12854c73ec3f9d92ae927ba401447f54bbd9bf65"
+
},
+
"images-canal-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
+
"sha256": "b5945ac08d74bcc67415efc1c293b2af119befe04f377880eb045ca7dcf4276c"
+
},
+
"images-canal-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
+
"sha256": "8a63fe4069c811d94004132afa16fb21b8ca1548eba075529ef3d812b682119a"
+
},
+
"images-canal-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
+
"sha256": "8cbb92e40590b372cb1b962de2c2e8d6b92d26bd5d9b71aee577865587e46e56"
+
},
+
"images-cilium-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
+
"sha256": "f989d984753b166cffbfaec8866ec9b28ca852978de737f5195cd8da929fbd31"
+
},
+
"images-cilium-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
+
"sha256": "784b5817f5f8ab4226cbce3d074d467d397dd0ed0ed6397e4c1be0a327423f13"
+
},
+
"images-cilium-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
+
"sha256": "b4dc7787e43d3148cd45f56ba2197469b9901e710a844b49024e7d675862f1d8"
+
},
+
"images-cilium-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
+
"sha256": "209d566b382c6c8af5ddfd2350228ec0669b341ce503ac001cc79928add3accd"
+
},
+
"images-core-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
+
"sha256": "e8e687f3063cfdc7e6f93feffc0a2e63b90f3228c4f6c85532d4e1f436fbaeb7"
+
},
+
"images-core-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
+
"sha256": "2faf4f9ee2e77b7db6963147d3685197f32f6af5b3dd2305221273bcfefa5af9"
+
},
+
"images-core-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
+
"sha256": "1d514169c112dd295a03f22ba35905edd0c550e0b09ef5191b9389bb7fd1a945"
+
},
+
"images-core-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
+
"sha256": "b4e3cfe5f250dcdb1daa02002d4caf9349add11c4392df644c9fb16c5605ffd9"
+
},
+
"images-flannel-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
+
"sha256": "1f069844a35857e264065c2e5f9157b1005fda3eb7dcffd20e2218f7ab64c250"
+
},
+
"images-flannel-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
+
"sha256": "1bd4e97a5391916cf703d8503d51f05c8db1fe5e130a718fe8fefb4cf8d95e4b"
+
},
+
"images-flannel-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
+
"sha256": "c49971bcc55765e3ac036f59cb6df5158efcb664d4fc5a3e0f7f40e962e5b153"
+
},
+
"images-flannel-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
+
"sha256": "9dc874dc452cd3c28cb313c70b1cbfb465195b4c308d893555b1fb8b20296756"
+
},
+
"images-harvester-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
+
"sha256": "4837a8c559fca6e31436128040b99e90f3ab2210022f02a618405ccfc7185e7a"
+
},
+
"images-harvester-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
+
"sha256": "a38aa37f2f8362055ef5dfa16a3c4d9f85eaed6e1b56b928bb4888c52e96b76f"
+
},
+
"images-harvester-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
+
"sha256": "beea6e39cc1f522b59de42598a8431ee006292bb6568cb8a0b46ed614225264d"
+
},
+
"images-harvester-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
+
"sha256": "cf7f030fd86fcc2425a7a7819c523f6497eae59066fab04a56d8f1cf01c7aac2"
+
},
+
"images-multus-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
+
"sha256": "d473aee06f24d49d1d6b6baee9bfd2079036ef40c0cda126a83851078b0f7e40"
+
},
+
"images-multus-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
+
"sha256": "18957569b6a5fa5aab5fd4dc180fec8b403cae2c07ee07b18505a5f6901d5e5b"
+
},
+
"images-multus-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
+
"sha256": "b5acbce9e9ccd2213807bd27896a6d6b29795dd2f55e5b2281a77dfa41366a60"
+
},
+
"images-multus-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
+
"sha256": "eb7ea1b45d01cab215a1bba7bfc223ed03c16d1383a5e0df141e5ecee9708def"
+
},
+
"images-traefik-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-traefik.linux-amd64.tar.gz",
+
"sha256": "2b29e30e1daac4277da7f6a27ad021e0380a4585278d7e8440b38b2e1207ee68"
+
},
+
"images-traefik-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-traefik.linux-amd64.tar.zst",
+
"sha256": "70147f487109bd7e4db5b525a8a2a01030f3a6e985e4ce06e8c28dd98e6ff131"
+
},
+
"images-traefik-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-traefik.linux-arm64.tar.gz",
+
"sha256": "15c03df525be312caac8431bfb9d0a3842834b25faf0551bc8e185337d623522"
+
},
+
"images-traefik-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-traefik.linux-arm64.tar.zst",
+
"sha256": "4b53b94f2dbdc142987718dff210d381cb6d38ad01846278654d77ec1f6f44f0"
+
},
+
"images-vsphere-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
+
"sha256": "169828a17efdd4a14682c49c0bed437bcec6cde27378d985e15ecbfdfa1523e4"
+
},
+
"images-vsphere-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.31.6%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
+
"sha256": "4f7663357f47f696eaf2de34d980ba3aebaa8e42de635e17736ae1ef6c58629c"
+
}
+
}
+1
pkgs/applications/networking/cluster/rke2/1_31/versions.nix
···
pauseVersion = "3.6";
ccmVersion = "v1.31.2-0.20241016053446-0955fa330f90-build20241016";
dockerizedVersion = "v1.31.6-rke2r1";
+
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}
+138
pkgs/applications/networking/cluster/rke2/1_32/images-versions.json
···
+
{
+
"images-calico-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
+
"sha256": "a5bbae876483eac841d0c86d07b9a2f681d14ceba49127d86f206c60416dea02"
+
},
+
"images-calico-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
+
"sha256": "f5bb26e2d2c755b19459af960c5e06f45771f95c257aa40aa206d65712664784"
+
},
+
"images-calico-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
+
"sha256": "8a1854a27c1269628a2318ef9b200f861a3a9b390948ac50340d1fa2c338c22d"
+
},
+
"images-calico-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
+
"sha256": "844d7ed5be7525971de7612980a49f0c326be638dbd59146bf22d02b65687ac6"
+
},
+
"images-canal-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
+
"sha256": "052ffd11c271daf158361d6b2ad99b8c2a7b30d110e6530b3db1d08a809861b9"
+
},
+
"images-canal-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
+
"sha256": "c4f2434302fa287e13385d3c7f50ec0b3f9989cf8a16a70f5d0c85232570371a"
+
},
+
"images-canal-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
+
"sha256": "433d22412cdeadaf3dad899517af66aaf2167c096c95ef2462b0b2ed74bbd036"
+
},
+
"images-canal-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
+
"sha256": "445cd57b28cc69f487e95698c84c4339729a5a6f11fd36d57b37cc3ef49d11ab"
+
},
+
"images-cilium-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
+
"sha256": "e6facccbc711757982f5b625427e04e286671a14be7fed13647d7ce59fdd6f5b"
+
},
+
"images-cilium-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
+
"sha256": "745216763991e712800edb5f04ba0a3a647a73e5076d28237cd44064da0254e8"
+
},
+
"images-cilium-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
+
"sha256": "3ab86ac3c021681ee1cb10d0d7bb4dd05f96830ea84e8bfdd1d5c239e1c1db00"
+
},
+
"images-cilium-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
+
"sha256": "b160d69f45818dbc8526aa92784c935c471863d9d6ad5f83a434419cee0d1dd1"
+
},
+
"images-core-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
+
"sha256": "5da5bc70814ae25f55e75d194d3e56eed9d48d2e2bd50cce329f72a8658a2c71"
+
},
+
"images-core-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
+
"sha256": "9542793ad13822d02bc5b3aef237c21cb8ea807cde8c1f7edd50c9c8de3257a1"
+
},
+
"images-core-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
+
"sha256": "b48c79e0e68d7c8ae3dd52f6647f4f859eb0a81e4cb81ca98a08788a3eeb208c"
+
},
+
"images-core-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
+
"sha256": "97ebc6e37d73d2fefbd861ae9e44a97c649c5876def02fa0e99b136e4cc43834"
+
},
+
"images-flannel-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
+
"sha256": "cebc30d3648804c8f6a57de63b7a8c6dd131e2338e4c7e40bb4a3a4ec9962033"
+
},
+
"images-flannel-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
+
"sha256": "2caa2ba283f683070cedfbcef4058a0172541c0675d2582cffc09a8ab97c3af8"
+
},
+
"images-flannel-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
+
"sha256": "cbbbadf33bb38b22340db52c7f72e2685ad20f64f27a31eb3c90ae2575ac676d"
+
},
+
"images-flannel-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
+
"sha256": "db13267b1bf8d27003f6056cea683e34af4ff3743d05de7f84bfb089cc2e28ad"
+
},
+
"images-harvester-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
+
"sha256": "b54b4ba783469334a492fdb4f2cfb68ce4a57a7f700d27d060d11213bb026a33"
+
},
+
"images-harvester-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
+
"sha256": "68e232d40c9ddb67ce17181e48e8accd6be6b55ee01d78937100ce3faf3f7042"
+
},
+
"images-harvester-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
+
"sha256": "3847f03a2351ed9182ae52b0b03f8cf7705123b301f1cc4d7da01cfd2359f743"
+
},
+
"images-harvester-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
+
"sha256": "abdae17a19b8da8aeda83e434052c86e4be24bb37dc64c696e42ed59dac9d3c9"
+
},
+
"images-multus-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
+
"sha256": "712ff37f4ea472c485fa887ab6b60df441ebda40c7b6bc66c28433b52f69a0d9"
+
},
+
"images-multus-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
+
"sha256": "e556ae1d1db3923e57a050da3a9176fa9e7c3a0378229f7dd7a1c34145e8b96e"
+
},
+
"images-multus-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
+
"sha256": "0308c83ee9f8affa237cc7b528639558e18b9fdbf5a914220f1c1818654c5874"
+
},
+
"images-multus-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
+
"sha256": "d420a305e3d5b95f05da90177484df38b7178381acdb0806bd17aa2612a26583"
+
},
+
"images-traefik-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-traefik.linux-amd64.tar.gz",
+
"sha256": "39f6f02a012e24237b8ed0106d83f6248f133a6d83feaca2aaf4c692b31edd94"
+
},
+
"images-traefik-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-traefik.linux-amd64.tar.zst",
+
"sha256": "8608cd8d01fd2ad00fcc28bf7a9a54e89f96b2d0efe45ea6ce940fefc22ba36e"
+
},
+
"images-traefik-linux-arm64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-traefik.linux-arm64.tar.gz",
+
"sha256": "3a47c3207fcf3e670f8b58262aecb777d63a56f744feb3b99612d86516f63f90"
+
},
+
"images-traefik-linux-arm64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-traefik.linux-arm64.tar.zst",
+
"sha256": "afd2e4c6066fcbbde4d7cb2245cdc18542b9f510e8908c4ffe07181a459d6703"
+
},
+
"images-vsphere-linux-amd64-tar-gz": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
+
"sha256": "5c5531032ded256f0834169fe4db65e698ef4b44a76128b9aec174d8cc24d6e0"
+
},
+
"images-vsphere-linux-amd64-tar-zst": {
+
"url": "https://github.com/rancher/rke2/releases/download/v1.32.2%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
+
"sha256": "5f38ba2a8060f82ee407edb77433afb53635798f1be6f1fa53fbe9921c2eb3a0"
+
}
+
}
+1
pkgs/applications/networking/cluster/rke2/1_32/versions.nix
···
pauseVersion = "3.6";
ccmVersion = "v1.32.0-rc3.0.20241220224140-68fbd1a6b543-build20250101";
dockerizedVersion = "v1.32.2-rke2r1";
+
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}
+14 -11
pkgs/applications/networking/cluster/rke2/builder.nix
···
pauseVersion,
ccmVersion,
dockerizedVersion,
+
imagesVersions,
}:
# Build dependencies
···
go,
makeWrapper,
fetchzip,
+
fetchurl,
# Runtime dependencies
procps,
···
doCheck = false;
-
passthru.updateScript = updateScript;
-
-
passthru.tests =
-
{
-
version = testers.testVersion {
-
package = rke2;
-
version = "v${version}";
+
passthru = {
+
inherit updateScript;
+
tests =
+
{
+
version = testers.testVersion {
+
package = rke2;
+
version = "v${version}";
+
};
+
}
+
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
+
inherit (nixosTests) rke2;
};
-
}
-
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
-
inherit (nixosTests) rke2;
-
};
+
} // (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
meta = with lib; {
homepage = "https://github.com/rancher/rke2";
+22
pkgs/applications/networking/cluster/rke2/update-script.sh
···
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
+
# Get sha256sums for amd64 and arm64
+
SHA256_AMD64=$(curl -L "https://github.com/rancher/rke2/releases/download/v${RKE2_VERSION}/sha256sum-amd64.txt")
+
SHA256_ARM64=$(curl -L "https://github.com/rancher/rke2/releases/download/v${RKE2_VERSION}/sha256sum-arm64.txt")
+
# Merge both sha256sums in a single variable, one entry per line
+
SHA256_SUMS="$SHA256_AMD64\n$SHA256_ARM64"
+
# Get a list of images archives that are assets of this release, one entry (name and download_url) per line
+
IMAGES_ARCHIVES=$(curl "https://api.github.com/repos/rancher/rke2/releases/tags/v${RKE2_VERSION}" | \
+
# Filter the assets by name, discard .txt files and legacy image archives (e.g. rke2-images.linux-arm64.tar.gz)
+
jq -r '.assets[] | select(.name | test("^rke2-images-.*\\.tar\\.")) | "\(.name) \(.browser_download_url)"')
+
# Iterate over all lines of IMAGES_ARCHIVES, pick the appropriate sha256, and create a JSON file
+
# that can be imported by builder.nix
+
while read -r name url; do
+
sha256=$(grep "$name" <<< "$SHA256_SUMS" | cut -d ' ' -f 1)
+
# Remove the rke2 prefix and replace all dots in $name with hyphens
+
clean_name=$(sed -e "s/^rke2-//" -e "s/\./-/g" <<< "$name")
+
jq --null-input --arg name "$clean_name" \
+
--arg url "$url" \
+
--arg sha256 "$sha256" \
+
'{$name: {"url": $url, "sha256": $sha256}}'
+
done <<<"${IMAGES_ARCHIVES}" | jq --slurp 'reduce .[] as $item ({}; . * $item)' > "${WORKDIR}/1_${MINOR_VERSION}/images-versions.json"
+
cat << EOF > "${WORKDIR}/1_${MINOR_VERSION}/versions.nix"
{
rke2Version = "${RKE2_VERSION}";
···
pauseVersion = "${PAUSE_VERSION}";
ccmVersion = "${CCM_VERSION}";
dockerizedVersion = "${DOCKERIZED_VERSION}";
+
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}
EOF
+4 -4
pkgs/applications/networking/cluster/terraform-providers/providers.json
···
"vendorHash": "sha256-lQrtAU8zbeIGplfC8+017Ib9d4MFVF0pMvxmE3MLt3M="
},
"cloudflare": {
-
"hash": "sha256-ne+G7tn09sDWVoU9JezCJxIn3F/bHXBp9QIDd0UhH9c=",
+
"hash": "sha256-5L5fnJCQU2gcXbbUq8KDid8NhedFXyYBgysggPxNxSY=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare",
"repo": "terraform-provider-cloudflare",
-
"rev": "v4.51.0",
-
"spdx": "MPL-2.0",
-
"vendorHash": "sha256-jZLkDnZpguVEZpbXG/IhgeyyvRLOVWBacoFTs7H8js0="
+
"rev": "v5.2.0",
+
"spdx": "Apache-2.0",
+
"vendorHash": "sha256-vh31Teu4PruX3i7EIlfumOn/R6libKzAxMPqhTxqBTA="
},
"cloudfoundry": {
"hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=",
+2
pkgs/applications/video/obs-studio/plugins/default.nix
···
obs-3d-effect = callPackage ./obs-3d-effect.nix { };
+
obs-advanced-masks = callPackage ./obs-advanced-masks.nix { };
+
obs-backgroundremoval = callPackage ./obs-backgroundremoval { };
obs-color-monitor = qt6Packages.callPackage ./obs-color-monitor.nix { };
+43
pkgs/applications/video/obs-studio/plugins/obs-advanced-masks.nix
···
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
obs-studio,
+
cmake,
+
}:
+
+
stdenv.mkDerivation rec {
+
pname = "obs-advanced-masks";
+
version = "1.1.0";
+
+
src = fetchFromGitHub {
+
owner = "FiniteSingularity";
+
repo = "obs-advanced-masks";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-NtmOWKk3eZeRa3TvclZpg4sj8lbOoY8hUhxs1z6kEW4=";
+
};
+
+
buildInputs = [
+
obs-studio
+
];
+
+
nativeBuildInputs = [
+
cmake
+
];
+
+
postInstall = ''
+
rm -rf "$out/share"
+
mkdir -p "$out/share/obs"
+
mv "$out/data/obs-plugins" "$out/share/obs"
+
rm -rf "$out/obs-plugins" "$out/data"
+
'';
+
+
meta = {
+
description = "Advanced Masking Plugin for OBS";
+
homepage = "https://github.com/FiniteSingularity/obs-advanced-masks";
+
license = lib.licenses.gpl2Only;
+
maintainers = with lib.maintainers; [ rytswd ];
+
mainProgram = "obs-advanced-masks";
+
platforms = lib.platforms.linux;
+
};
+
}
+2 -2
pkgs/by-name/ac/acr-cli/package.nix
···
}:
buildGoModule rec {
pname = "acr-cli";
-
version = "0.14";
+
version = "0.15";
src = fetchFromGitHub {
owner = "Azure";
repo = "acr-cli";
tag = "v${version}";
-
hash = "sha256-h4vRtxAu/ggEu5HuzaiEoLslOyAXP1rMI1/ua9YARug=";
+
hash = "sha256-5uEaptJSB5mb12vqeSGkRj4oRed+0VgcJx4vpTBQCAU=";
};
vendorHash = null;
+3 -3
pkgs/by-name/ep/epson-escpr2/package.nix
···
stdenv.mkDerivation {
pname = "epson-inkjet-printer-escpr2";
-
version = "1.2.27";
+
version = "1.2.28";
src = fetchurl {
# To find the most recent version go to
# https://support.epson.net/linux/Printer/LSB_distribution_pages/en/escpr2.php
# and retrieve the download link for source package for arm CPU for the tar.gz (the x86 link targets to rpm source files)
-
url = "https://download3.ebz.epson.net/dsc/f/03/00/16/77/53/1540531c6f47c62d3846d9a8943b1ecec7f825a1/epson-inkjet-printer-escpr2-1.2.27-1.tar.gz";
-
hash = "sha256-h1RaqkN+hdVGVy0ancqfYoeNp/TTfJYy5oRxhPizO2Q=";
+
url = "https://download3.ebz.epson.net/dsc/f/03/00/16/80/15/8bd63ccd14a1966e9c3658d374686c5bb104bb04/epson-inkjet-printer-escpr2-1.2.28-1.tar.gz";
+
hash = "sha256-lv8Hgo7JzT4igY8ek7EXdyFO34l735dpMC+gWkO5rvY=";
};
buildInputs = [ cups ];
-17
pkgs/by-name/fl/fluent-bit/macos-11-sdk-compat.patch
···
-
diff --git i/src/flb_utils.c w/src/flb_utils.c
-
index 87637f1331d7..7a0036566438 100644
-
--- i/src/flb_utils.c
-
+++ w/src/flb_utils.c
-
@@ -1424,11 +1424,11 @@ int flb_utils_get_machine_id(char **out_id, size_t *out_size)
-
return 0;
-
}
-
#elif defined (FLB_SYSTEM_MACOS)
-
bool bret;
-
CFStringRef serialNumber;
-
- io_service_t platformExpert = IOServiceGetMatchingService(kIOMainPortDefault,
-
+ io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,
-
IOServiceMatching("IOPlatformExpertDevice"));
-
-
if (platformExpert) {
-
CFTypeRef serialNumberAsCFString =
-
IORegistryEntryCreateCFProperty(platformExpert,
+101 -37
pkgs/by-name/fl/fluent-bit/package.nix
···
{
lib,
stdenv,
+
arrow-glib,
+
bison,
+
c-ares,
+
cmake,
+
curl,
fetchFromGitHub,
-
cmake,
flex,
-
bison,
-
systemd,
+
jemalloc,
+
libbacktrace,
+
libbpf,
+
libnghttp2,
libpq,
+
libyaml,
+
luajit,
+
nix-update-script,
+
nixosTests,
openssl,
-
libyaml,
-
darwin,
+
pkg-config,
+
rdkafka,
+
systemd,
+
versionCheckHook,
+
zlib,
+
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
···
src = fetchFromGitHub {
owner = "fluent";
repo = "fluent-bit";
-
rev = "v${finalAttrs.version}";
+
tag = "v${finalAttrs.version}";
hash = "sha256-E+y8lZ5fgJORFkig6aSVMYGk0US1b4xwjO9qnGu4R/Y=";
};
-
# optional only to avoid linux rebuild
-
patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./macos-11-sdk-compat.patch ];
+
# The source build documentation covers some dependencies and CMake options.
+
#
+
# - Linux: https://docs.fluentbit.io/manual/installation/sources/build-and-install
+
# - Darwin: https://docs.fluentbit.io/manual/installation/macos#compile-from-source
+
#
+
# Unfortunately, fluent-bit vends many dependencies (e.g. luajit) as source files and tries to compile them by
+
# default, with none of their dependencies and CMake options documented.
+
#
+
# Fortunately, there's the undocumented `FLB_PREFER_SYSTEM_LIBS` CMake option to link against system libraries for
+
# some dependencies.
+
#
+
# See https://github.com/fluent/fluent-bit/blob/v3.2.6/CMakeLists.txt#L211-L218.
+
#
+
# Like `FLB_PREFER_SYSTEM_LIBS`, several CMake options aren't documented.
+
#
+
# See https://github.com/fluent/fluent-bit/blob/v3.2.6/CMakeLists.txt#L111-L157.
+
#
+
# The CMake options may differ across target platforms. We'll stick to the minimum.
+
#
+
# See https://github.com/fluent/fluent-bit/tree/v3.2.6/packaging/distros.
+
+
strictDeps = true;
nativeBuildInputs = [
+
bison
cmake
flex
-
bison
+
pkg-config
];
buildInputs =
[
-
openssl
+
arrow-glib
+
c-ares
+
# Needed by rdkafka.
+
curl
+
jemalloc
+
libbacktrace
+
libnghttp2
+
libpq
libyaml
-
libpq
+
luajit
+
openssl
+
rdkafka
+
# Needed by rdkafka.
+
zlib
+
# Needed by rdkafka.
+
zstd
]
-
++ lib.optionals stdenv.hostPlatform.isLinux [ systemd ]
-
++ lib.optionals stdenv.hostPlatform.isDarwin [
-
darwin.apple_sdk_11_0.frameworks.IOKit
-
darwin.apple_sdk_11_0.frameworks.Foundation
+
++ lib.optionals stdenv.hostPlatform.isLinux [
+
# libbpf doesn't build for Darwin yet.
+
libbpf
+
systemd
];
-
cmakeFlags = [
-
"-DFLB_RELEASE=ON"
-
"-DFLB_METRICS=ON"
-
"-DFLB_HTTP_SERVER=ON"
-
"-DFLB_OUT_PGSQL=ON"
-
];
+
cmakeFlags =
+
[
+
(lib.cmakeBool "FLB_RELEASE" true)
+
(lib.cmakeBool "FLB_PREFER_SYSTEM_LIBS" true)
+
]
+
++ lib.optionals stdenv.cc.isClang [
+
# `FLB_SECURITY` causes bad linker options for Clang to be set.
+
(lib.cmakeBool "FLB_SECURITY" false)
+
];
-
env.NIX_CFLAGS_COMPILE = toString (
-
# Assumes GNU version of strerror_r, and the posix version has an
-
# incompatible return type.
-
lib.optionals (!stdenv.hostPlatform.isGnu) [ "-Wno-int-conversion" ]
-
);
+
# `src/CMakeLists.txt` installs fluent-bit's systemd unit files at the path in the `SYSTEMD_UNITDIR` CMake variable.
+
#
+
# The initial value of `SYSTEMD_UNITDIR` is set in `cmake/FindJournald` which uses pkg-config to find the systemd
+
# unit directory in the systemd package's `systemdsystemunitdir` pkg-config variable. `src/CMakeLists.txt` only
+
# sets `SYSTEMD_UNITDIR` to `/lib/systemd/system` if it's unset.
+
#
+
# By default, this resolves to systemd's Nix store path which is immutable. Consequently, CMake fails when trying
+
# to install fluent-bit's systemd unit files to the systemd Nix store path.
+
#
+
# We fix this by setting the systemd package's `systemdsystemunitdir` pkg-config variable.
+
#
+
# https://man.openbsd.org/pkg-config.1#PKG_CONFIG_$PACKAGE_$VARIABLE
+
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${builtins.placeholder "out"}/lib/systemd/system";
outputs = [
"out"
"dev"
];
-
postPatch = ''
-
substituteInPlace src/CMakeLists.txt \
-
--replace /lib/systemd $out/lib/systemd
-
'';
+
doInstallCheck = true;
+
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
+
versionCheckProgramArg = "--version";
+
+
passthru = {
+
tests = lib.optionalAttrs stdenv.isLinux {
+
inherit (nixosTests) fluent-bit;
+
};
+
+
updateScript = nix-update-script { };
+
};
meta = {
-
changelog = "https://github.com/fluent/fluent-bit/releases/tag/v${finalAttrs.version}";
-
description = "Log forwarder and processor, part of Fluentd ecosystem";
+
description = "Fast and lightweight logs and metrics processor for Linux, BSD, OSX and Windows";
homepage = "https://fluentbit.io";
license = lib.licenses.asl20;
-
maintainers = with lib.maintainers; [
-
samrose
-
fpletz
-
];
-
platforms = lib.platforms.unix;
+
mainProgram = "fluent-bit";
+
maintainers = with lib.maintainers; [ arianvp ];
};
})
+14 -7
pkgs/by-name/go/golangci-lint-langserver/package.nix
···
{
lib,
buildGoModule,
+
golangci-lint,
+
writableTmpDirAsHomeHook,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "golangci-lint-langserver";
-
version = "0.0.9";
+
version = "0.0.10";
src = fetchFromGitHub {
owner = "nametake";
repo = "golangci-lint-langserver";
-
rev = "v${version}";
-
sha256 = "sha256-jNRDqg2a5dXo7QI4CBRw0MLwhfpdGuhygpMoSKNcgC0=";
+
tag = "v${version}";
+
hash = "sha256-wNofr/s8K+vbvNZWrQ97g2V0fNAS2P/Zf7tsOmly+gc=";
};
-
vendorHash = "sha256-tAcl6P+cgqFX1eMYdS8vnfdNyb+1QNWwWdJsQU6Fpgg=";
+
vendorHash = "sha256-SsGw26y/ZIBFp9dBk55ebQgJiLWOFRNe21h6huYE84I=";
subPackages = [ "." ];
-
meta = with lib; {
+
nativeCheckInputs = [
+
golangci-lint
+
writableTmpDirAsHomeHook
+
];
+
+
meta = {
description = "Language server for golangci-lint";
homepage = "https://github.com/nametake/golangci-lint-langserver";
-
license = licenses.mit;
-
maintainers = with maintainers; [ kirillrdy ];
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ kirillrdy ];
mainProgram = "golangci-lint-langserver";
};
}
+2 -2
pkgs/by-name/go/gosmee/package.nix
···
buildGoModule rec {
pname = "gosmee";
-
version = "0.22.4";
+
version = "0.23.0";
src = fetchFromGitHub {
owner = "chmouel";
repo = "gosmee";
rev = "v${version}";
-
hash = "sha256-e+Mkhkk+PTeTipWFnjiJ8jLMYB7D+/FCWaOuaKe1jr4=";
+
hash = "sha256-4Y5aExRjR2JPa9iTJPQE7qCRnQpqLBYVPLf6v7Z07a8=";
};
vendorHash = null;
+10
pkgs/by-name/ma/maven/package.nix
···
jdk_headless,
makeWrapper,
stdenvNoCC,
+
testers,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "maven";
···
maven = finalAttrs.finalPackage;
}
);
+
tests = {
+
version = testers.testVersion {
+
package = finalAttrs.finalPackage;
+
command = ''
+
env MAVEN_OPTS="-Dmaven.repo.local=$TMPDIR/m2" \
+
mvn --version
+
'';
+
};
+
};
};
meta = {
+25
pkgs/by-name/mu/multiviewer-for-f1/package.nix
···
nss,
pango,
xorg,
+
writeScript,
}:
let
id = "232635194";
···
}:\"$out/share/Multiviewer for F1\""
runHook postInstall
+
'';
+
+
passthru.updateScript = writeScript "update-multiviewer-for-f1" ''
+
#!/usr/bin/env nix-shell
+
#!nix-shell -i bash -p curl common-updater-scripts
+
set -eu -o pipefail
+
+
# Get latest API for packages, store so we only make one request
+
latest=$(curl -s "https://api.multiviewer.app/api/v1/releases/latest/")
+
+
# From the downloaded JSON extract the url, version and id
+
link=$(echo $latest | jq -r '.downloads[] | select(.platform=="linux_deb").url')
+
id=$(echo $latest | jq -r '.downloads[] | select(.platform=="linux_deb").id')
+
version=$(echo $latest | jq -r '.version')
+
+
if [ "$version" != "${version}" ]
+
then
+
# Pre-calculate package hash
+
hash=$(nix-prefetch-url --type sha256 $link)
+
+
# Update ID and version in source
+
update-source-version ${pname} "$id" --version-key=id
+
update-source-version ${pname} "$version" "$hash" --system=x86_64-linux
+
fi
'';
meta = with lib; {
+8 -4
pkgs/by-name/pa/paretosecurity/package.nix
···
buildGoModule rec {
pname = "paretosecurity";
-
version = "0.0.88";
+
version = "0.0.91";
src = fetchFromGitHub {
owner = "ParetoSecurity";
repo = "agent";
rev = version;
-
hash = "sha256-UVnZhkajrc9q6AZvIU7oi931ugxkiVSPk1NugAERnek=";
+
hash = "sha256-/kGwV96Jp7U08jh/wPQMcoV48zQe9ixY7gpNdtFyOkk=";
};
-
vendorHash = "sha256-HReQu23sHLaxc5N8h2vYv64ruJPmY4HM9whAEKV+3Eo=";
+
vendorHash = "sha256-kGrYoN0dGcSuQW47Y4LUFdHQYAoY74NOM1LLPdhmLhc=";
proxyVendor = true;
subPackages = [
···
root helper, so that you can run the checker in userspace. Some checks
require root permissions, and the checker asks the helper to run those.
-
Additionally, you can run `paretosecurity link` to configure the agent
+
Additionally, if you enable `services.paretosecurity.trayIcon`, you get a
+
little Vilfredo Pareto living in your systray showing your the current
+
status of checks.
+
+
Finally, you can run `paretosecurity link` to configure the agent
to send the status of checks to https://dash.paretosecurity.com to make
compliance people happy. No sending happens until your device is linked.
'';
+54
pkgs/by-name/sn/snac2/package.nix
···
+
{
+
stdenv,
+
lib,
+
fetchFromGitea,
+
curl,
+
openssl,
+
nix-update-script,
+
versionCheckHook,
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "snac2";
+
version = "2.74";
+
+
src = fetchFromGitea {
+
domain = "codeberg.org";
+
owner = "grunfink";
+
repo = "snac2";
+
tag = finalAttrs.version;
+
hash = "sha256-jFII9MP+jmtguqE+QMQLbDQ6tSuhie0FhXeSyf42AaQ=";
+
};
+
+
buildInputs = [
+
curl
+
openssl
+
];
+
+
makeFlags = [ "PREFIX=$(out)" ];
+
+
env.NIX_CFLAGS_COMPILE = toString (
+
lib.optionals stdenv.hostPlatform.isDarwin [
+
"-Dst_mtim=st_mtimespec"
+
"-Dst_ctim=st_ctimespec"
+
]
+
);
+
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
versionCheckProgram = "${placeholder "out"}/bin/snac";
+
doInstallCheck = true;
+
+
passthru = {
+
updateScript = nix-update-script { };
+
};
+
+
meta = {
+
changelog = "https://codeberg.org/grunfink/snac2/src/tag/${finalAttrs.version}/RELEASE_NOTES.md";
+
description = "Simple, minimalistic ActivityPub instance (2.x, C)";
+
homepage = "https://codeberg.org/grunfink/snac2";
+
license = lib.licenses.mit;
+
mainProgram = "snac";
+
maintainers = with lib.maintainers; [ misuzu ];
+
platforms = lib.platforms.unix;
+
};
+
})
+2 -2
pkgs/by-name/te/tevent/package.nix
···
stdenv.mkDerivation rec {
pname = "tevent";
-
version = "0.16.1";
+
version = "0.16.2";
src = fetchurl {
url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
-
sha256 = "sha256-Nilx4PMtwZBfb+RzYxnEuDSMItyFqmw/aQoo7+VIAp4=";
+
sha256 = "sha256-8LvSnfq7y7zp9HGPwWVBDN1PfY7h89/FRhjUwDGZzqM=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/tp/tpnote/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "tpnote";
-
version = "1.25.4";
+
version = "1.25.5";
src = fetchFromGitHub {
owner = "getreu";
repo = "tp-note";
tag = "v${version}";
-
hash = "sha256-1KcTY98QNOic0riHhLi4HcSREboMaXq7lb1+LsB0HL0=";
+
hash = "sha256-UNWnjcwIVRCmRp+i02sDKE9nF2YBc9TQuXLNjkpRZhc=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-c6Kz6Z8yfdh7QaDlgI2qSCoG+4c/g9rjBikjN31JftM=";
+
cargoHash = "sha256-/VRVFDzUqMS3y6e5I+ZX8ULxJ2kL8ycesWEYUeZSujo=";
nativeBuildInputs = [
cmake
+102
pkgs/by-name/xu/xunlei-uos/package.nix
···
+
{
+
lib,
+
dpkg,
+
stdenv,
+
fetchurl,
+
buildFHSEnv,
+
autoPatchelfHook,
+
writeShellScript,
+
zenity,
+
nss,
+
gtk2,
+
alsa-lib,
+
dbus-glib,
+
libXtst,
+
libXdamage,
+
libXScrnSaver,
+
}:
+
+
let
+
sources = import ./sources.nix;
+
+
xunlei-unwrapped = stdenv.mkDerivation rec {
+
pname = "xunlei-uos";
+
version = sources.version;
+
+
src =
+
{
+
x86_64-linux = fetchurl {
+
url = sources.amd64_url;
+
hash = sources.amd64_hash;
+
};
+
aarch64-linux = fetchurl {
+
url = sources.arm64_url;
+
hash = sources.arm64_hash;
+
};
+
loongarch64-linux = fetchurl {
+
url = sources.loongarch64_url;
+
hash = sources.loongarch64_hash;
+
};
+
}
+
.${stdenv.hostPlatform.system}
+
or (throw "${pname}-${version}: ${stdenv.hostPlatform.system} is unsupported.");
+
+
buildInputs = [
+
nss
+
gtk2
+
alsa-lib
+
dbus-glib
+
libXtst
+
libXdamage
+
libXScrnSaver
+
];
+
+
nativeBuildInputs = [
+
dpkg
+
autoPatchelfHook
+
];
+
+
installPhase = ''
+
runHook preInstall
+
+
mkdir -p $out/lib
+
cp -r opt/apps/com.xunlei.download/files $out/lib/xunlei
+
cp -r opt/apps/com.xunlei.download/entries $out/share
+
mv $out/share/icons/hicolor/scalable/apps/com.thunder.download.svg \
+
$out/share/icons/hicolor/scalable/apps/com.xunlei.download.svg
+
substituteInPlace $out/share/applications/com.xunlei.download.desktop \
+
--replace-fail "Categories=net" "Categories=Network" \
+
--replace-fail "/opt/apps/com.xunlei.download/files/start.sh" "xunlei-uos" \
+
--replace-fail "/opt/apps/com.xunlei.download/entries/icons/hicolor/256x256/apps/com.xunlei.download.png" "com.xunlei.download"
+
+
runHook postInstall
+
'';
+
+
meta = {
+
description = "Download manager supporting HTTP, FTP, BitTorrent, and eDonkey network protocols";
+
homepage = "https://www.xunlei.com";
+
license = lib.licenses.unfree;
+
maintainers = [ lib.maintainers.linuxwhata ];
+
platforms = [
+
"x86_64-linux"
+
"aarch64-linux"
+
"loongarch64-linux"
+
];
+
};
+
};
+
in
+
buildFHSEnv {
+
inherit (xunlei-unwrapped) pname version meta;
+
runScript = writeShellScript "xunlei-launcher" ''
+
exec ${xunlei-unwrapped}/lib/xunlei/thunder -start $1 "$@"
+
'';
+
extraInstallCommands = ''
+
mkdir -p $out
+
ln -s ${xunlei-unwrapped}/share $out/share
+
'';
+
+
passthru.updateScript = ./update.sh;
+
+
includeClosures = true;
+
targetPkgs = pkgs: [ zenity ]; # system tray click events
+
}
+11
pkgs/by-name/xu/xunlei-uos/sources.nix
···
+
# Generated by ./update.sh - do not update manually!
+
# Last updated: 2025-03-19
+
{
+
version = "1.0.0.5";
+
amd64_url = "https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.xunlei.download/com.xunlei.download_1.0.0.5_amd64.deb";
+
arm64_url = "https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.xunlei.download/com.xunlei.download_1.0.0.5_arm64.deb";
+
loongarch64_url = "https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.xunlei.download/com.xunlei.download_1.0.0.5_loongarch64.deb";
+
amd64_hash = "sha256-K+eHPmG2tT5Z+RWxigg03itw6Rcnk5MZlODqS/JtAnk=";
+
arm64_hash = "sha256-iA9mbp0wSe66qC5lphMTFPzmOJjzHfWKubGRPiKcVdg=";
+
loongarch64_hash = "sha256-44QPnB/1uWHaQkd3DBMDvYXfXwch9HywZUvg71z8fts=";
+
}
+60
pkgs/by-name/xu/xunlei-uos/update.sh
···
+
#! /usr/bin/env nix-shell
+
#! nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix git curl cacert nix-prefetch-git gzip
+
+
base_url_suffix="https://pro-store-packages.uniontech.com/appstore/dists/eagle/appstore/binary-"
+
base_url_appendix="/Packages.gz"
+
target_package="com.xunlei.download"
+
packages_file="Packages.gz"
+
+
url=()
+
version=() # TODO: Currently, there is no version differences between archs. This is reserved for future use.
+
hash=()
+
+
for i in amd64 arm64 loongarch64
+
do
+
current_url=$base_url_suffix$i$base_url_appendix
+
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0" -v -L -O $current_url
+
current_version=$(zgrep -A 20 "Package: $target_package" "$packages_file" | awk -v pkg="$target_package" '
+
BEGIN { found = 0 }
+
{
+
if ($0 ~ "^Package: "pkg) {
+
found = 1;
+
}
+
if (found && $1 == "Version:") {
+
print $2;
+
exit;
+
}
+
}
+
')
+
version+=("$current_version")
+
sha256sum=$(zgrep -A 20 "Package: $target_package" "$packages_file" | awk -v pkg="$target_package" '
+
BEGIN { found = 0 }
+
{
+
if ($0 ~ "^Package: "pkg) {
+
found = 1;
+
}
+
if (found && $1 == "SHA256:") {
+
print $2;
+
exit;
+
}
+
}
+
')
+
url+=("https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.xunlei.download/com.xunlei.download_"$version"_"$i".deb")
+
hash+=("$(nix hash convert --to sri --hash-algo sha256 $sha256sum)")
+
done
+
+
cat >sources.nix <<EOF
+
# Generated by ./update.sh - do not update manually!
+
# Last updated: $(date +%F)
+
{
+
version = "${version[0]}";
+
amd64_url = "${url[0]}";
+
arm64_url = "${url[1]}";
+
loongarch64_url = "${url[2]}";
+
amd64_hash = "${hash[0]}";
+
arm64_hash = "${hash[1]}";
+
loongarch64_hash = "${hash[2]}";
+
}
+
EOF
+
+
rm -r Packages.gz
-22
pkgs/by-name/ze/zed-editor/0001-generate-licenses.patch
···
-
diff --git a/script/generate-licenses b/script/generate-licenses
-
index 368f63b..c2bf3a5 100644
-
--- a/script/generate-licenses
-
+++ b/script/generate-licenses
-
@@ -18,17 +18,9 @@ echo -n "" > "$OUTPUT_FILE"
-
echo -e "\n# ###### CODE LICENSES ######\n"
-
} >> "$OUTPUT_FILE"
-
-
-if ! cargo install --list | grep "cargo-about v$CARGO_ABOUT_VERSION" > /dev/null; then
-
- echo "Installing cargo-about@$CARGO_ABOUT_VERSION..."
-
- cargo install "cargo-about@$CARGO_ABOUT_VERSION"
-
-else
-
- echo "cargo-about@$CARGO_ABOUT_VERSION is already installed."
-
-fi
-
-
-
echo "Generating cargo licenses"
-
-
cargo about generate \
-
- --fail \
-
-c script/licenses/zed-licenses.toml \
-
"$TEMPLATE_FILE" >> "$OUTPUT_FILE"
-
pkgs/by-name/ze/zed-editor/0002-linux-linker.patch pkgs/by-name/ze/zed-editor/0001-linux-linker.patch
+5 -10
pkgs/by-name/ze/zed-editor/package.nix
···
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
-
version = "0.177.11";
+
version = "0.178.5";
outputs =
[ "out" ]
···
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
-
hash = "sha256-cnzaW0paORio8AONtVVGUZWG+HsWte12aWK2qvfj8oI=";
+
hash = "sha256-YkoIOBoR5hMt99D1bJ1yWLv7C/rY6VKC5J/7c5SMUFs=";
};
patches = [
-
# Zed uses cargo-install to install cargo-about during the script execution.
-
# We provide cargo-about ourselves and can skip this step.
-
# Until https://github.com/zed-industries/zed/issues/19971 is fixed,
-
# we also skip any crate for which the license cannot be determined.
-
./0001-generate-licenses.patch
-
# Upstream delegates linking on Linux to clang to make use of mold,
# but builds fine with our standard linker.
# This patch removes their linker override from the cargo config.
-
./0002-linux-linker.patch
+
./0001-linux-linker.patch
# See https://github.com/zed-industries/zed/pull/21661#issuecomment-2524161840
"script/patches/use-cross-platform-livekit.patch"
···
'';
useFetchCargoVendor = true;
-
cargoHash = "sha256-Hl5QWU9yKXedQFVd60Fz5O7B2e/YUqj3BLNmqC44UP0=";
+
cargoHash = "sha256-xJaiHngsm74RdcEUXaDrc/Hwy4ywZrEiJt7JYTc/NpM=";
nativeBuildInputs =
[
···
buildFeatures = lib.optionals stdenv.hostPlatform.isDarwin [ "gpui/runtime_shaders" ];
env = {
+
ALLOW_MISSING_LICENSES = true;
ZSTD_SYS_USE_PKG_CONFIG = true;
FONTCONFIG_FILE = makeFontsConf {
fontDirectories = [
+4 -4
pkgs/by-name/ze/zellij/package.nix
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zellij";
-
version = "0.42.0";
+
version = "0.42.1";
src = fetchFromGitHub {
owner = "zellij-org";
repo = "zellij";
tag = "v${finalAttrs.version}";
-
hash = "sha256-qvm8mRm/YYcuNX2Rv0tYjcIXjaF9dkwd7wpL++ho3t0=";
+
hash = "sha256-EK+eQfNhfVxjIsoyj43tcRjHDT9O8/n7hUz24BC42nw=";
};
# Remove the `vendored_curl` feature in order to link against the libcurl from nixpkgs instead of
···
'';
useFetchCargoVendor = true;
-
cargoHash = "sha256-cAO8A/e6tkUY7pm/T4Riz4UPIc22oj5FFC6sQL1QIuc=";
+
cargoHash = "sha256-0+cU2C6zjVv2G8h7oK0ztMDdukVR6QRzN81/SfLZapY=";
env.OPENSSL_NO_VENDOR = 1;
···
nativeInstallCheckInputs = [
versionCheckHook
];
-
versionCheckProgramArg = [ "--version" ];
+
versionCheckProgramArg = "--version";
doInstallCheck = true;
# Ensure that we don't vendor curl, but instead link against the libcurl from nixpkgs
+2 -2
pkgs/desktops/enlightenment/efl/default.nix
···
stdenv.mkDerivation rec {
pname = "efl";
-
version = "1.28.0";
+
version = "1.28.1";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-
sha256 = "sha256-8JpD1rSGG+BswOKEnFMpZBPU5SyOMfUvyV6epfHFmjY=";
+
sha256 = "sha256-hM9hRfnMgr//aQAFviQ5LI88UvjgD/BNjuo3FCnAlCQ=";
};
nativeBuildInputs = [
+2 -2
pkgs/desktops/enlightenment/enlightenment/default.nix
···
stdenv.mkDerivation rec {
pname = "enlightenment";
-
version = "0.27.0";
+
version = "0.27.1";
src = fetchurl {
url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-
sha256 = "sha256-W2a5FMbZCpFrP+ZrX/cKn9kSCIqmOZvd4bOlBarlAzE=";
+
sha256 = "sha256-tB34dx9g47lqGXOuVm10JcU6gznxjlTjEjAhh4HaL6k=";
};
nativeBuildInputs = [
+4 -7
pkgs/development/python-modules/bloodyad/default.nix
···
cryptography,
dnspython,
fetchFromGitHub,
-
gssapi,
hatchling,
-
ldap3,
+
minikerberos,
msldap,
pyasn1,
pytestCheckHook,
···
buildPythonPackage rec {
pname = "bloodyad";
-
version = "2.1.8";
+
version = "2.1.9";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "CravateRouge";
repo = "bloodyAD";
tag = "v${version}";
-
hash = "sha256-CggC7Cdw++Rgp6U4zK3er+ctBbfsxtxow9gFkYvIDds=";
+
hash = "sha256-XqCP2GfS8hxlFU4Mndeh+7Ll2kXJ3Dei+AGp/oy0PUg=";
};
build-system = [ hatchling ];
···
asn1crypto
cryptography
dnspython
-
gssapi
-
ldap3
+
minikerberos
msldap
-
pyasn1
winacl
];
+2 -2
pkgs/development/python-modules/boto3-stubs/default.nix
···
buildPythonPackage rec {
pname = "boto3-stubs";
-
version = "1.37.13";
+
version = "1.37.17";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
-
hash = "sha256-vZIxrbBXis/GLIIW9j4jqdQJzSpUtl8xJo4JRw+78FM=";
+
hash = "sha256-kjhXUrThwsdffKfZW1lr7duAbh8DpValQWc2Gsm0PeM=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/botocore-stubs/default.nix
···
buildPythonPackage rec {
pname = "botocore-stubs";
-
version = "1.37.13";
+
version = "1.37.17";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
-
hash = "sha256-6h6aOA5BGcVwzAd6lMc3cn2MgeC4Z6PXXdlL6xe7F7c=";
+
hash = "sha256-ucOh6PtX+3C0mqU4DKvvqzLsAo2KHY9ayD3YNsW0Kag=";
};
nativeBuildInputs = [ setuptools ];
+23 -18
pkgs/development/python-modules/datasets/default.nix
···
pythonOlder,
requests,
responses,
+
setuptools,
tqdm,
xxhash,
}:
-
buildPythonPackage rec {
pname = "datasets";
-
version = "3.2.0";
-
format = "setuptools";
-
-
disabled = pythonOlder "3.8";
+
version = "3.4.1";
+
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
-
repo = pname;
+
repo = "datasets";
tag = version;
-
hash = "sha256-3Q4tNLA9qUb7XdxP1NftYDcVUgq5ol9OZfklhmadk5I=";
+
hash = "sha256-a0c5E4N1X+PtO4+UZn8l1JcLGTNpLPyfEkrrxNsjfLA=";
};
-
# remove pyarrow<14.0.1 vulnerability fix
-
postPatch = ''
-
substituteInPlace src/datasets/features/features.py \
-
--replace "import pyarrow_hotfix" "#import pyarrow_hotfix"
-
'';
+
build-system = [
+
setuptools
+
];
-
propagatedBuildInputs = [
+
dependencies = [
aiohttp
dill
fsspec
···
responses
tqdm
xxhash
-
] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+
];
+
+
pythonRelaxDeps = [
+
# https://github.com/huggingface/datasets/blob/a256b85cbc67aa3f0e75d32d6586afc507cf535b/setup.py#L117
+
# "pin until dill has official support for determinism"
+
"dill"
+
"multiprocess"
+
# https://github.com/huggingface/datasets/blob/a256b85cbc67aa3f0e75d32d6586afc507cf535b/setup.py#L129
+
# "to support protocol=kwargs in fsspec's `open`, `get_fs_token_paths`"
+
"fsspec"
+
];
# Tests require pervasive internet access
doCheck = false;
···
pythonImportsCheck = [ "datasets" ];
-
meta = with lib; {
+
meta = {
description = "Open-access datasets and evaluation metrics for natural language processing";
mainProgram = "datasets-cli";
homepage = "https://github.com/huggingface/datasets";
changelog = "https://github.com/huggingface/datasets/releases/tag/${src.tag}";
-
license = licenses.asl20;
-
platforms = platforms.unix;
-
maintainers = [ ];
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ osbm ];
};
}
+2 -2
pkgs/development/python-modules/dsnap/default.nix
···
buildPythonPackage rec {
pname = "dsnap";
-
version = "1.0.0";
+
version = "1.0.1";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "RhinoSecurityLabs";
repo = "dsnap";
tag = "v${version}";
-
hash = "sha256-yKch+tKjFhvZfzloazMH378dkERF8gnZEX1Som+d670=";
+
hash = "sha256-h5zeyfkBoHnvjqHYahDXEEbGdmMti2Y56R/8OKyxOOM=";
};
postPatch = ''
+8 -10
pkgs/development/python-modules/fastapi-sso/default.nix
···
oauthlib,
poetry-core,
pydantic,
-
pylint,
+
pyjwt,
+
pytest-cov-stub,
pytest-asyncio,
pytest-xdist,
pytestCheckHook,
···
buildPythonPackage rec {
pname = "fastapi-sso";
-
version = "0.17.0";
+
version = "0.18.0";
pyproject = true;
-
disabled = pythonOlder "3.8";
+
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "tomasvotava";
repo = "fastapi-sso";
tag = version;
-
hash = "sha256-CkYAF2GmVCooyHt3Tua6ClYMbgyLosqSa8z/zkV2eIE=";
+
hash = "sha256-591+7Jjg3Pb0qXZsj4tEk8lHqxAzWrs5GO92jFJ4Qmo=";
};
-
postPatch = ''
-
sed -i "/--cov/d" pyproject.toml
-
'';
-
build-system = [ poetry-core ];
dependencies = [
···
httpx
oauthlib
pydantic
-
pylint
-
];
+
pyjwt
+
] ++ pydantic.optional-dependencies.email;
nativeCheckInputs = [
email-validator
pytest-asyncio
+
pytest-cov-stub
pytest-xdist
pytestCheckHook
];
+1 -1
pkgs/development/python-modules/fastcore/default.nix
···
buildPythonPackage rec {
pname = "fastcore";
-
version = "1.7.29";
+
version = "1.8.0";
pyproject = true;
disabled = pythonOlder "3.8";
+2 -2
pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-bigquery-logging";
-
version = "1.6.1";
+
version = "1.6.2";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "google_cloud_bigquery_logging";
inherit version;
-
hash = "sha256-gkozSu9UENr/4LRmHdS+efRH8t63ZO64zAx7i2cT51E=";
+
hash = "sha256-sVWeTqq4drPOmlUXd6R2O44PpNfcbsglhXeh6umYMZI=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/google-cloud-iam-logging/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-iam-logging";
-
version = "1.4.1";
+
version = "1.4.2";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "google_cloud_iam_logging";
inherit version;
-
hash = "sha256-+rgtIj4Q+ZL8ENeigmF0dJYzIbJ797A1bOs2mbH4AKI=";
+
hash = "sha256-2tpXDDqP6JN9y8wqku/C3+I9ymns5EfxvfR5eeTDstU=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/google-cloud-network-connectivity/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-network-connectivity";
-
version = "2.7.1";
+
version = "2.7.2";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
inherit version;
pname = "google_cloud_network_connectivity";
-
hash = "sha256-caOyIo4FKGQgpa0x7lKzrsaL5nrqqg8Q1iGITY3foME=";
+
hash = "sha256-7whrWtASCSsmPP6/gj9Jc5dvn56H2QPyEseELxbn0tg=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/google-cloud-shell/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-shell";
-
version = "1.12.0";
+
version = "1.12.1";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "google_cloud_shell";
inherit version;
-
hash = "sha256-PQzFvc/ZGAp6SsMGT2mMQJN5feaI5E7WSODWccRNYx4=";
+
hash = "sha256-nRuFxyxtJmKiI0BtV8VEu8mRZ5JU2S0gGU9aef9I6Zg=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/google-cloud-vpc-access/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-vpc-access";
-
version = "1.13.0";
+
version = "1.13.1";
pyproject = true;
disabled = pythonOlder "3.8";
···
src = fetchPypi {
pname = "google_cloud_vpc_access";
inherit version;
-
hash = "sha256-jMZtqtbNtocz6NeUJupU+Gkk2L48S5FfrvRrQ5/SZx8=";
+
hash = "sha256-tgSvaJvXhEt6isC6C+w0APq2ULUYkKdva9vb6yZ4MYM=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/google-cloud-webrisk/default.nix
···
buildPythonPackage rec {
pname = "google-cloud-webrisk";
-
version = "1.17.0";
+
version = "1.17.1";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "google_cloud_webrisk";
inherit version;
-
hash = "sha256-Qcw5LyPhu9ZbYSz3Jnkr8byXiTZfW7BtQapT7MhkEug=";
+
hash = "sha256-apCNF81eeLIP4nNdzm9KeUlUO7pjN6quKTrl1xsUn0Q=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/holidays/default.nix
···
buildPythonPackage rec {
pname = "holidays";
-
version = "0.68";
+
version = "0.69";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "vacanza";
repo = "python-holidays";
tag = "v${version}";
-
hash = "sha256-Lftt4NzOZYYE7q7acdljosE0Ox/5hKbbwsYx4g2OU+Y=";
+
hash = "sha256-dt5f4Mu44YPKdoO6J3WKM5KXrHeAs+hKDF/c5mee6Z8=";
};
build-system = [
+2 -2
pkgs/development/python-modules/msgraph-sdk/default.nix
···
buildPythonPackage rec {
pname = "msgraph-sdk";
-
version = "1.24.0";
+
version = "1.25.0";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "microsoftgraph";
repo = "msgraph-sdk-python";
tag = "v${version}";
-
hash = "sha256-7r7TuGR8J31BZdG8wJJAgWwllbkf3wYj1xLULNm8+xQ=";
+
hash = "sha256-CRs9Pqgv8sVhjlMPmC8UR03b4jP1Pm39Yndn2LF51jU=";
};
build-system = [ flit-core ];
+26 -26
pkgs/development/python-modules/mypy-boto3/default.nix
···
"sha256-rxpBCIXOkSl5UeP1e0Rz8VK4tU3qD7nqG77YiGTv/0U=";
mypy-boto3-amplify =
-
buildMypyBoto3Package "amplify" "1.37.12"
-
"sha256-uUxc61azT+b/eP+nDc1l8BAVYr73sQWg9RMXBHcq7Ic=";
+
buildMypyBoto3Package "amplify" "1.37.17"
+
"sha256-Q9nHb3kc2RHQEbBzZ1H8tYAULuPZlOvEYJvZ1znOj3c=";
mypy-boto3-amplifybackend =
buildMypyBoto3Package "amplifybackend" "1.37.0"
···
"sha256-v47OKnLvmkjv8+HBRlrv+wP+MIapoiz3HGplK6SEXGM=";
mypy-boto3-appsync =
-
buildMypyBoto3Package "appsync" "1.37.0"
-
"sha256-KuiUFCfIcGHwIRrKsezOcGodrA3UrqdDPI3yl5Lpkmw=";
+
buildMypyBoto3Package "appsync" "1.37.15"
+
"sha256-4eY2gziQLvX2t39e201UitkV/Cs0E2RSP4yAG6/OdbI=";
mypy-boto3-arc-zonal-shift =
buildMypyBoto3Package "arc-zonal-shift" "1.37.0"
···
"sha256-FINgDMmIhMn5M/qVGE3rzZJZEU121rDXNQYa39veAYk=";
mypy-boto3-cleanrooms =
-
buildMypyBoto3Package "cleanrooms" "1.37.0"
-
"sha256-ovn/hkWHBBTUsDkQppzTApcVRYZXwxTOugZHIPnbCQk=";
+
buildMypyBoto3Package "cleanrooms" "1.37.15"
+
"sha256-6hJ2F3fQMPHe8VEcd4ZSb7zyeVs4rG3agDHTyICkCsE=";
mypy-boto3-cloud9 =
buildMypyBoto3Package "cloud9" "1.37.0"
···
"sha256-6w2v795pNhcKZlWayROdYe5bzQvSmkITxErl2M0F5o4=";
mypy-boto3-cognito-idp =
-
buildMypyBoto3Package "cognito-idp" "1.37.13"
-
"sha256-L9F74KW7z+Q+7hUoGIQR67TQyNiJF8nW4XHWBppFO4Q=";
+
buildMypyBoto3Package "cognito-idp" "1.37.13.post1"
+
"sha256-EHys56ylhnO6wwWLKMABYrjf9K3D02lZbpcghQlXxRI=";
mypy-boto3-cognito-sync =
buildMypyBoto3Package "cognito-sync" "1.37.0"
···
"sha256-wvOqjmqNMbCG7E1o+ZSOlWEwBdcCKjD/qVFlepZ51ec=";
mypy-boto3-ec2 =
-
buildMypyBoto3Package "ec2" "1.37.12"
-
"sha256-tK8CshexXUuOPFxAkWZXtAk82CgiHVR0D5BSjgEztIU=";
+
buildMypyBoto3Package "ec2" "1.37.16"
+
"sha256-04vwzTTK0gE3yWvOVbXUXFXijf4k6/oSZXR6tqxfN3U=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.37.0"
···
"sha256-E5A6wS8kwjG1rWo1RFT7kwpqmWKGZ7UAmcR4KUvUrzg=";
mypy-boto3-lambda =
-
buildMypyBoto3Package "lambda" "1.37.0"
-
"sha256-YbGr1bfbpdFvneTZcX8vZ0OCRtEc3hwrvjHqOHUzM8g=";
+
buildMypyBoto3Package "lambda" "1.37.16"
+
"sha256-1Y8guwQWrrBP2mz6qKLywxUyylAJAEw+K8vorFCoz3w=";
mypy-boto3-lex-models =
buildMypyBoto3Package "lex-models" "1.37.0"
···
"sha256-nh2m7H6RlfQlqmiifwYJ3SANi73zcju/v5s9z26HIvo=";
mypy-boto3-mediaconnect =
-
buildMypyBoto3Package "mediaconnect" "1.37.0"
-
"sha256-KFa0yNwhYlFGz4ADpsxt3OCZfYDBv6Hfw9Ti09f7fIc=";
+
buildMypyBoto3Package "mediaconnect" "1.37.16"
+
"sha256-TfeKy6dyjQJVyhmCjttwBxBQNi3iZdJQQwpY/HRvnf0=";
mypy-boto3-mediaconvert =
-
buildMypyBoto3Package "mediaconvert" "1.37.4"
-
"sha256-xBMBhCrnTV7sILg2/dXUy2PeNeCuNHkb7plAumD5Pq8=";
+
buildMypyBoto3Package "mediaconvert" "1.37.15"
+
"sha256-bs9Zvpv3AyT/zhucLMqtdhmocG4+hbHkPjyGsvviFJ8=";
mypy-boto3-medialive =
buildMypyBoto3Package "medialive" "1.37.11"
···
"sha256-gA8+WKvFzCegzUUWvsTbEmHkYPLIomBrqaIRJHkJqhE=";
mypy-boto3-network-firewall =
-
buildMypyBoto3Package "network-firewall" "1.37.0"
-
"sha256-O9iEc3Yla0/bmvhouX1PLQQET79uJlbQtuz7aKrOekY=";
+
buildMypyBoto3Package "network-firewall" "1.37.17"
+
"sha256-Lth+Py9qwXU+mnbV21d9H7QoONrwWU1UmMCJWorypxs=";
mypy-boto3-networkmanager =
buildMypyBoto3Package "networkmanager" "1.37.0"
···
"sha256-axaTu4XmHGc3a/Uzs1/0IqLJdZFBfEQ9pzi42XW11y0=";
mypy-boto3-route53 =
-
buildMypyBoto3Package "route53" "1.37.0"
-
"sha256-mI9acOp7w3pD+5eD3z7pSgTxZHjYWWbkRnWYUWy7UpE=";
+
buildMypyBoto3Package "route53" "1.37.15"
+
"sha256-sXSxaqe0kqx1ZCinJKI67ekBZW81RwoC1fSEDrlCDc4=";
mypy-boto3-route53-recovery-cluster =
buildMypyBoto3Package "route53-recovery-cluster" "1.37.0"
···
"sha256-/4XdwWIkx8VYxrUp7I8IDCPZ34cFudV+gp3xR4uS8jk=";
mypy-boto3-rum =
-
buildMypyBoto3Package "rum" "1.37.5"
-
"sha256-/cLHocPVefBea8g6oIRrSis6JOL7wFw+AEYyGNEOdx0=";
+
buildMypyBoto3Package "rum" "1.37.14"
+
"sha256-bcK4J78YctKUypiegFviiZ2TorcXA5SPh9dhbRigVhk=";
mypy-boto3-s3 =
buildMypyBoto3Package "s3" "1.37.0"
···
"sha256-c0vXkW5sR7JkdzvsS/rMFme9EwY1x5eZAbRWYKew0v4=";
mypy-boto3-sagemaker =
-
buildMypyBoto3Package "sagemaker" "1.37.5"
-
"sha256-CZmB3zmQwsWy85vzK891HXuRfmgNBg2YXEasihOrbUY=";
+
buildMypyBoto3Package "sagemaker" "1.37.16"
+
"sha256-fEvGy0Zp2ouvVGXi+yFpX1RTNVacb53UFXxv0rfNBd0=";
mypy-boto3-sagemaker-a2i-runtime =
buildMypyBoto3Package "sagemaker-a2i-runtime" "1.37.0"
···
"sha256-nBigZ8YNNcy6TrQQ+dThN62xZ5IOq92EHbC3/tZbbuE=";
mypy-boto3-wafv2 =
-
buildMypyBoto3Package "wafv2" "1.37.8"
-
"sha256-kFDCZkFA474JtReUOZlN3Si0qZU21sUWOAUVTNl7uFo=";
+
buildMypyBoto3Package "wafv2" "1.37.14"
+
"sha256-wfndS06dDJCEqVLceB+WMTIh1laTi9eVfTzx23K47nk=";
mypy-boto3-wellarchitected =
buildMypyBoto3Package "wellarchitected" "1.37.0"
+2 -2
pkgs/development/python-modules/nexia/default.nix
···
buildPythonPackage rec {
pname = "nexia";
-
version = "2.4.0";
+
version = "2.5.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "bdraco";
repo = "nexia";
tag = version;
-
hash = "sha256-DO6UJ/oLCLZdRR2f0rXe4R5nQtByqzHrLXhyUsvY/jw=";
+
hash = "sha256-vw4lUBD7VUpOkm+JGD06tLuM/g2iLQ/qFLIyMobnQS0=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/nibe/default.nix
···
buildPythonPackage rec {
pname = "nibe";
-
version = "2.16.0";
+
version = "2.17.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "yozik04";
repo = "nibe";
tag = version;
-
hash = "sha256-iY7HjHxuQGrkiVPxUhELdij8u6g5IZxp/6Jydo7SOfQ=";
+
hash = "sha256-wq+Gtt2oW8koxOqu3z8G3XvHo6Ur+FhWPe+KslDG754=";
};
pythonRelaxDeps = [ "async-modbus" ];
+30 -6
pkgs/development/python-modules/plyara/default.nix
···
lib,
buildPythonPackage,
pythonOlder,
-
fetchPypi,
+
fetchFromGitHub,
setuptools,
ply,
+
+
pytestCheckHook,
+
pycodestyle,
+
pydocstyle,
+
pyflakes,
+
coverage,
}:
buildPythonPackage rec {
···
disabled = pythonOlder "3.10"; # https://github.com/plyara/plyara: "Plyara requires Python 3.10+"
-
src = fetchPypi {
-
inherit pname version;
-
hash = "sha256-zmpb5r3BcveLsQ0uIgQJx2vUaz2p/0PlO76E0e7elwA=";
+
src = fetchFromGitHub {
+
owner = "plyara";
+
repo = "plyara";
+
tag = "v${version}";
+
hash = "sha256-WaQgqx003it+D0AGDxV6aSKO89F2iR9d8L4zvHyd0iQ=";
};
build-system = [
···
"plyara"
];
+
nativeCheckInputs = [
+
pytestCheckHook
+
pycodestyle
+
pydocstyle
+
pyflakes
+
coverage
+
];
+
+
disabledTests = [
+
# touches network
+
"test_third_party_repositories"
+
];
+
meta = {
description = "Parse YARA rules";
-
homepage = "https://pypi.org/project/plyara/";
+
homepage = "https://github.com/plyara/plyara";
changelog = "https://github.com/plyara/plyara/releases/tag/v${version}";
license = lib.licenses.asl20;
-
maintainers = with lib.maintainers; [ _13621 ];
+
maintainers = with lib.maintainers; [
+
_13621
+
ivyfanchiang
+
];
};
}
+2 -2
pkgs/development/python-modules/pyexploitdb/default.nix
···
buildPythonPackage rec {
pname = "pyexploitdb";
-
version = "0.2.71";
+
version = "0.2.72";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "pyExploitDb";
inherit version;
-
hash = "sha256-AE9fD7OKrpi74rXQibtmyQoAeMAO2QCagpCT3HaUGaQ=";
+
hash = "sha256-zWgI6cNSm3hXZXrrQsSpr4BsSPA7JawQOz2hwmnybDI=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/pysmartthings/default.nix
···
buildPythonPackage rec {
pname = "pysmartthings";
-
version = "2.7.2";
+
version = "2.7.4";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "andrewsayre";
repo = "pysmartthings";
rev = "v${version}";
-
hash = "sha256-2MBm0I9dBr2N5iorN9BSKecHLnvmiTmcsIuGjDIWIKQ=";
+
hash = "sha256-WkUFAsZzdQI/LopJp5m1Nj4kLsRFmQWRe10eTcAUYGw=";
};
build-system = [ poetry-core ];
+2 -2
pkgs/development/python-modules/pyswitchbot/default.nix
···
buildPythonPackage rec {
pname = "pyswitchbot";
-
version = "0.57.0";
+
version = "0.57.1";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "Danielhiversen";
repo = "pySwitchbot";
tag = version;
-
hash = "sha256-9jA1V6Wri923pc2+MXLwF2hNgIPIYh3M8UBj0jc/548=";
+
hash = "sha256-bG0jRGhioNm0QNe7ymRKYO4hdgkiZypul79+gxN3Gsk=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/pywizlight/default.nix
···
buildPythonPackage rec {
pname = "pywizlight";
-
version = "0.5.14";
+
version = "0.6.0";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "sbidy";
repo = pname;
rev = "v${version}";
-
hash = "sha256-IkuAYEg5nuUT6zxmuJe6afp4MVWf0+HAnEoAdOrdTvQ=";
+
hash = "sha256-4z1PmVoRs7mql/PhSG9Ek6NRkGXIXAYxaV8nNDoJjeY=";
};
propagatedBuildInputs = [ click ];
+19 -19
pkgs/development/python-modules/ray/default.nix
···
let
pname = "ray";
-
version = "2.43.0";
+
version = "2.44.0";
in
buildPythonPackage rec {
inherit pname version;
···
x86_64-darwin = "macosx_10_15_x86_64";
x86_64-linux = "manylinux2014_x86_64";
};
-
# hashes retrieved via the following command
-
# curl https://pypi.org/pypi/ray/${version}/json | jq -r '.urls[] | "\(.digests.sha256) \(.filename)"'
+
# ./pkgs/development/python-modules/ray/prefetch.sh
+
# Results are in ./ray-hashes.nix
hashes = {
x86_64-linux = {
-
cp39 = "sha256-Xt89oYBB4LYXDGLghICrBQ8HZjYf8/bhElfMBKtG5ZI=";
-
cp310 = "sha256-GHKYOihahbd2vzEcgJ1Vn4SCkJotOerV8qxpz+OqhUQ=";
-
cp311 = "sha256-eMO9vxgrTQGfqaiqvVXDm/cFu2MK6gZPdo8wX8Ry0es=";
-
cp312 = "sha256-tF9HjSnOXfP8GYYd9k/vntXCXx6D+hACjTP63v3soJU=";
+
cp39 = "sha256-Ucy9W/gEXWnx+NL4WpL2aoKBjz2S1wx3xmJ1eYHDDZ8=";
+
cp310 = "sha256-tP29SytbReQT3Bahmkq/UADTbDxYVJCNykaXMj/11+E=";
+
cp311 = "sha256-hk8KabPNfKTrcEP3953JzotxosmC7ux/EX9I8oRrcTw=";
+
cp312 = "sha256-DWWsUjgB5Ao5e79VL0BoZ7uUad0mEEbKY83C7DEQ24c=";
};
aarch64-linux = {
-
cp39 = "sha256-h+DKyFGJ3FGa8bbvKr1lSATEiMkyyq3WWLkMqqZfja4=";
-
cp310 = "sha256-VzgcVPIA5sAgPV9wrG+IKxPMGoD68zZRh4ejmm1vZdA=";
-
cp311 = "sha256-R27D4fokZN3V8EnA8nWP+d/swh+430Jm8d8BsngMZlM=";
-
cp312 = "sha256-c3cNTIqYlzCYX/K0KSEpJJ4oweKehFiUcMm6GukcqDI=";
+
cp39 = "sha256-Lxj0j8N95kAxXZNgECbfqiPwr0y6jwd9sT8dd+mR2a8=";
+
cp310 = "sha256-qZ+7mtLBryIYcNhrio49WcGKVROt3p1wiKSiddxZ2n8=";
+
cp311 = "sha256-wzcjfnqKHYcC3PZ+CpjqjNTsA1fSiL8IFviZDCWNi8M=";
+
cp312 = "sha256-KpEeaZ5IOsSHkRC2CLBrNeYCGRwOe5cybKSXxcqv5qg=";
};
x86_64-darwin = {
-
cp39 = "sha256-0OJvnbkaWzND8IWOslYlWzXH6X/Gv5cGX1dErX6Mwpc=";
-
cp310 = "sha256-GGJv/zaEUaN6drM9UqcPBbIKIR6whn2GByHI6Gy2lVo=";
-
cp311 = "sha256-/eioEoDwevmDvDdpyZQdtdsnPOEOkquzNI5BvtAj1zU=";
-
cp312 = "sha256-USH99Ly8sP2jubcRZN1sj8x5ouJYAioqOVfkAQGJE/s=";
+
cp39 = "sha256-4373wSlDArrp2SFoCi2jR5iMHh4qmCo+coktEa4A4j4=";
+
cp310 = "sha256-YyeQwyfmkxp6jMrd6P06+utzrTgvh99N1HpSyov+BRw=";
+
cp311 = "sha256-++SDLLLvz8BJPqR0K0gosesNq8/t+H9kvmvh0M6HTGk=";
+
cp312 = "sha256-U9x16itP2GnqSmzKneXgKqJPLw0Y4KCLinZasr5l3Rw=";
};
aarch64-darwin = {
-
cp39 = "sha256-2M/ewr9hxIaQ9stDJfFnPg0dAN6pJbWbYxGW5n9Cag4=";
-
cp310 = "sha256-t8T97FmhTWspOdkf7m78hLYUpnIsO+Cyf6Nx4/VjJV8=";
-
cp311 = "sha256-6TwyrQy2fx99p2+sQJ2H1c1eo+sDuDaDDp71zIELwsA=";
-
cp312 = "sha256-fyb3ty2gTDxEIiacMbBnq9Fcs4QktwEtgS3fssd0Yuo=";
+
cp39 = "sha256-Ef62eG+CAQRke2aiklRVNsA36Cl/FP4BI0t7JN2PJzk=";
+
cp310 = "sha256-XfvyazCuw35dRCXGYBReVSApmohVMkaG4vF/yGAb9Mg=";
+
cp311 = "sha256-Uzcifcn4CEKAwpRWmIokTKm0zg+8c4XXMHASD0fkaXk=";
+
cp312 = "sha256-OY6b4ZPJf3NK8Bnw76zh9FyUGVuW7MSmR61gdlDfVyw=";
};
};
in
+2 -2
pkgs/development/python-modules/setupmeta/default.nix
···
buildPythonPackage rec {
pname = "setupmeta";
-
version = "3.6.1";
+
version = "3.7.2";
pyproject = true;
disabled = pythonOlder "3.6";
···
owner = "codrsquad";
repo = "setupmeta";
tag = "v${version}";
-
hash = "sha256-L8RDfcAa2Zhr6huFt0AmNt0Qzea2xNtCX1BIULsiQgA=";
+
hash = "sha256-qtnewUmTApPYq7/X82GsduW0VcioW4huRAyDMHUD74Q=";
};
preBuild = ''
+2 -2
pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
···
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
-
version = "3.0.1340";
+
version = "3.0.1342";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = version;
-
hash = "sha256-CbGYPoliqc3RuKC1vMaUwopqrGe/9T/E4i9a0w33UTE=";
+
hash = "sha256-Hjb458+cOIIaPj7OnKmbcliI+caRx0JYoio+d5SrAuw=";
};
build-system = [ setuptools ];
-55
pkgs/servers/snac2/default.nix
···
-
{
-
stdenv,
-
lib,
-
fetchFromGitea,
-
curl,
-
openssl,
-
nix-update-script,
-
testers,
-
snac2,
-
}:
-
-
stdenv.mkDerivation rec {
-
pname = "snac2";
-
version = "2.73";
-
-
src = fetchFromGitea {
-
domain = "codeberg.org";
-
owner = "grunfink";
-
repo = pname;
-
rev = version;
-
hash = "sha256-5LKDwp5f5BWhm+9uVBlv3mJpLLQ+ETP9lcRXlfD579Y=";
-
};
-
-
buildInputs = [
-
curl
-
openssl
-
];
-
-
makeFlags = [ "PREFIX=$(out)" ];
-
-
env.NIX_CFLAGS_COMPILE = toString (
-
lib.optionals stdenv.hostPlatform.isDarwin [
-
"-Dst_mtim=st_mtimespec"
-
"-Dst_ctim=st_ctimespec"
-
]
-
);
-
-
passthru = {
-
tests.version = testers.testVersion {
-
package = snac2;
-
command = "${meta.mainProgram} || true";
-
};
-
updateScript = nix-update-script { };
-
};
-
-
meta = with lib; {
-
homepage = "https://codeberg.org/grunfink/snac2";
-
description = "Simple, minimalistic ActivityPub instance (2.x, C)";
-
changelog = "https://codeberg.org/grunfink/snac2/src/tag/${version}/RELEASE_NOTES.md";
-
license = licenses.mit;
-
maintainers = with maintainers; [ misuzu ];
-
platforms = platforms.unix;
-
mainProgram = "snac";
-
};
-
}
-2
pkgs/top-level/all-packages.nix
···
scheme = guile;
-
snac2 = darwin.apple_sdk_11_0.callPackage ../servers/snac2 { };
-
soapyairspy = callPackage ../applications/radio/soapyairspy {
inherit (darwin) libobjc;
inherit (darwin.apple_sdk.frameworks) IOKit Security;