Compare commits

..

54 Commits

Author SHA1 Message Date
Sandro Jäckel
64b0db6e10 python3Packages.pystiebeleltron: 0.9.2 -> 0.10.1
Diff: https://github.com/ThyMYthOS/python-stiebel-eltron/compare/v0.9.2...v0.10.1

Changelog: https://github.com/ThyMYthOS/python-stiebel-eltron/releases/tag/v0.10.1
2026-11-05 21:21:01 +01:00
Sandro Jäckel
6f3c9b219e python3Packages.python-kasa: 0.11.0.1 -> 0.12.0
Diff: https://github.com/python-kasa/python-kasa/compare/0.11.0.1...0.12.0

Changelog: https://github.com/python-kasa/python-kasa/blob/0.12.0/CHANGELOG.md
2026-11-05 21:07:19 +01:00
Sandro Jäckel
c0d1285f41 python3Packages.python-qube-heatpump: 1.15.0 -> 1.17.0
Diff: https://github.com/MattieGit/python-qube-heatpump/compare/v1.15.0...v1.17.0

Changelog: https://github.com/MattieGit/python-qube-heatpump/releases/tag/v1.17.0
2026-11-05 21:07:18 +01:00
Sandro Jäckel
85d82c7a0b python3Packages.python-openevse-http: 1.5.0 -> 1.8.0
Diff: https://github.com/firstof9/python-openevse-http/compare/1.5.0...1.8.0

Changelog: https://github.com/firstof9/python-openevse-http/releases/tag/1.8.0
2026-11-05 21:07:18 +01:00
R. Ryantm
b0a03543a8 python3Packages.python-bsblan: 6.1.9 -> 6.2.1 2026-11-05 21:07:02 +01:00
Sandro Jäckel
6a0bf99af5 python3Packages.sense-energy: 0.14.3 -> 0.15.0
Diff: https://github.com/scottbonline/sense/compare/0.14.3...0.15.0

Changelog: https://github.com/scottbonline/sense/releases/tag/0.15.0
2026-11-05 20:35:44 +01:00
Sandro Jäckel
9a5db4ef77 python3Packages.sofar-modbus: 0.18.0 -> 0.25.3
Diff: https://github.com/darkrain-nl/sofar-modbus/compare/0.18.0...0.25.3

Changelog: https://github.com/darkrain-nl/sofar-modbus/releases/tag/0.25.3
2026-11-05 20:29:00 +01:00
Sandro Jäckel
f19359bb9b python3Packages.securetar: 2026.4.1 -> 2026.10.0
Diff: https://github.com/home-assistant-libs/securetar/compare/2026.4.1...2026.10.0

Changelog: https://github.com/home-assistant-libs/securetar/releases/tag/2026.10.0
2026-11-05 20:27:03 +01:00
Sandro Jäckel
864ccdc6d9 python3Packages.samsungtvws: 3.0.6 -> 3.0.7
Diff: https://github.com/xchwarze/samsung-tv-ws-api/compare/v3.0.6...v3.0.7

Changelog: https://github.com/xchwarze/samsung-tv-ws-api/releases/tag/v3.0.7
2026-11-05 20:23:10 +01:00
Sandro Jäckel
283f7cece0 python3Packages.adguardhome: 0.8.1 -> 1.0.0
Diff: https://github.com/frenck/python-adguardhome/compare/v0.8.1...v1.0.0

Changelog: https://github.com/frenck/python-adguardhome/releases/tag/v1.0.0
2026-11-05 20:21:14 +01:00
Sandro Jäckel
7f6ab4f8b6 python3Packages.aio-ownet: 0.0.5 -> 0.1.0
Diff: https://github.com/hacf-fr/aio-ownet/compare/v0.0.5...v0.1.0

Changelog: https://github.com/hacf-fr/aio-ownet/releases/tag/v0.1.0
2026-11-05 19:45:43 +01:00
Fabian Affolter
e0abd133ad python3Packages.aio-wattwaechter: 1.1.0 -> 1.3.0
Changelog: https://github.com/SmartCircuits-GmbH/WattWaechter-PyPI/releases/tag/v1.3.0
2026-11-05 19:36:11 +01:00
Sandro Jäckel
e8157e600c python3Packages.aioamazondevices: 16.3.2 -> 17.2.4
Diff: https://github.com/chemelli74/aioamazondevices/compare/v16.3.2...v17.2.4

Changelog: https://github.com/chemelli74/aioamazondevices/blob/v17.2.4/CHANGELOG.md
2026-11-05 19:31:22 +01:00
Robert Schütz
ac729f3bad python3Packages.aioesphomeapi: 46.23.0 -> 46.27.0
Diff: https://github.com/esphome/aioesphomeapi/compare/v46.23.0...v46.27.0

Changelog: https://github.com/esphome/aioesphomeapi/releases/tag/v46.27.0
2026-11-05 19:17:28 +01:00
Robert Schütz
526d05ebd6 python3Packages.zeroconf: 0.151.5 -> 0.153.0
Diff: https://github.com/jstasiak/python-zeroconf/compare/0.151.5...0.153.0

Changelog: https://github.com/python-zeroconf/python-zeroconf/blob/0.153.0/CHANGELOG.md
2026-11-05 19:13:13 +01:00
Sandro Jäckel
76f2f572fe python3Packages.aiopowerwall: 0.4.1 -> 0.10.0
Diff: https://github.com/Teslemetry/aiopowerwall/compare/v0.4.1...v0.10.0

Changelog: https://github.com/Teslemetry/aiopowerwall/releases/tag/v0.10.0
2026-11-05 19:12:33 +01:00
Sandro Jäckel
e5fcd544bf python3Packages.tesla-protocol: 3.0.2 -> 4.0.1
Diff: https://github.com/Teslemetry/tesla-protocol/compare/@teslemetry/tesla-protocol@3.0.2...@teslemetry/tesla-protocol@4.0.1

Changelog: https://github.com/Teslemetry/tesla-protocol/releases/tag/@teslemetry/tesla-protocol@4.0.1
2026-11-05 19:12:32 +01:00
Fabian Affolter
fc388689aa python3Packages.aiomealie: 2.1.2 -> 2.1.3
Diff: https://github.com/joostlek/python-mealie/compare/v2.1.2...v2.1.3

Changelog: https://github.com/joostlek/python-mealie/releases/tag/v2.1.3
2026-11-05 19:12:32 +01:00
Sandro Jäckel
747a955030 python3Packages.aiovodafone: 3.3.5 -> 3.3.11
Changelog: https://github.com/chemelli74/aiovodafone/blob/v3.3.11/CHANGELOG.md
2026-11-05 19:12:32 +01:00
Sandro Jäckel
8d1df0105c python3Packages.aioslimproto: 3.2.3 -> 3.3.0
Diff: https://github.com/home-assistant-libs/aioslimproto/compare/3.2.3...3.3.0

Changelog: https://github.com/home-assistant-libs/aioslimproto/releases/tag/3.3.0
2026-11-05 19:12:31 +01:00
Sandro Jäckel
baccdab2c2 python3Packages.aioswitcher: 6.3.0 -> 6.4.0
Diff: https://github.com/TomerFi/aioswitcher/compare/6.3.0...6.4.0

Changelog: https://github.com/TomerFi/aioswitcher/releases/tag/6.4.0
2026-11-05 19:12:31 +01:00
Sandro Jäckel
e4d1530f1c python3Packages.getmac: 0.9.5 -> 0.9.6
Diff: https://github.com/GhostofGoes/getmac/compare/0.9.5...0.9.6

Changelog: https://github.com/GhostofGoes/getmac/blob/0.9.6/CHANGELOG.md
2026-11-05 19:12:30 +01:00
Sandro Jäckel
03ea925282 python3Packages.mastodon-py: 2.2.2 -> 2.3.3
Diff: https://github.com/halcy/Mastodon.py/compare/v2.2.2...v2.3.3

Changelog: https://github.com/halcy/Mastodon.py/blob/v2.3.3/CHANGELOG.rst
2026-11-05 19:12:30 +01:00
Sandro Jäckel
a04dd970dc python3Packages.govee-local-api: 3.1.0 -> 3.3.1
Diff: https://github.com/Galorhallen/govee-local-api/compare/v3.1.0...v3.3.1

Changelog: https://github.com/Galorhallen/govee-local-api/releases/tag/v3.3.1
2026-11-05 19:12:30 +01:00
Fabian Affolter
15c56829d3 python3Packages.airgradient: 0.10.0 -> 0.11.0
Diff: https://github.com/airgradienthq/python-airgradient/compare/v0.10.0...v0.11.0

Changelog: https://github.com/airgradienthq/python-airgradient/releases/tag/v0.11.0
2026-11-05 19:12:29 +01:00
Robert Schütz
0f01130789 python3Packages.paho-mqtt: use finalAttrs 2026-11-05 19:12:29 +01:00
Robert Schütz
72152964c4 python3Packages.paho-mqtt: 2.1.0 -> 2.2.0
Diff: https://github.com/eclipse/paho.mqtt.python/compare/v2.1.0...v2.2.0

Changelog: https://github.com/eclipse/paho.mqtt.python/blob/v2.2.0/ChangeLog.txt
2026-11-05 19:12:28 +01:00
Sandro Jäckel
5eea90ff0b fixup! home-assistant: 2026.10.4 -> 2026.11.0 2026-11-05 19:12:28 +01:00
Sandro Jäckel
9fdd8f7e0e python3Packages.midea-local: 12.2.0 -> 15.0.0
Diff: https://github.com/midea-lan/midea-local/compare/v12.2.0...v15.0.0

Changelog: https://github.com/midea-lan/midea-local/releases/tag/v15.0.0
2026-11-05 19:12:28 +01:00
Sandro Jäckel
a6c56e5362 python3Packages.music-assistant-client: 1.5.1 -> 1.6.0
Diff: https://github.com/music-assistant/client/compare/v1.5.1...v1.6.0

Changelog: https://github.com/music-assistant/client/releases/tag/v1.6.0
2026-11-05 19:12:27 +01:00
Sandro Jäckel
1634d8d9d2 python3Packages.music-assistant-models: 1.1.189 -> 1.1.214
Diff: https://github.com/music-assistant/models/compare/1.1.189...1.1.214

Changelog: https://github.com/music-assistant/models/releases/tag/1.1.214
2026-11-05 19:12:27 +01:00
Sandro Jäckel
f49a1ca855 python3Packages.open-meteo: 0.4.0 -> 1.0.1
Diff: https://github.com/frenck/python-open-meteo/compare/v0.4.0...v1.0.1

Changelog: https://github.com/frenck/python-open-meteo/releases/tag/1.0.1
2026-11-05 19:12:26 +01:00
Sandro Jäckel
bc1e022af2 python3Packages.python-open-router: 0.4.0 -> 0.5.0
Diff: https://github.com/joostlek/python-open-router/compare/v0.4.0...v0.5.0

Changelog: https://github.com/joostlek/python-open-router/releases/tag/v0.5.0
2026-11-05 19:12:26 +01:00
Sandro Jäckel
911197569e python3Packages.pyblu: 2.1.0 -> 2.2.0
Diff: https://github.com/LouisChrist/pyblu/compare/v2.1.0...v2.2.0

Changelog: https://github.com/LouisChrist/pyblu/releases/tag/v2.2.0
2026-11-05 19:12:26 +01:00
Sandro Jäckel
cdf76905ce python3Packages.universal-silabs-flasher: 1.1.0 -> 1.3.0
Diff: https://github.com/NabuCasa/universal-silabs-flasher/compare/v1.1.0...v1.3.0

Changelog: https://github.com/NabuCasa/universal-silabs-flasher/releases/tag/v1.3.0
2026-11-05 19:12:25 +01:00
Sandro Jäckel
a5a8f40628 python3Packages.aiospinel: 1.2.0 -> 1.3.0
Diff: https://github.com/home-assistant-libs/aiospinel/compare/v1.2.0...v1.3.0

Changelog: https://github.com/home-assistant-libs/aiospinel/releases/tag/v1.3.0
2026-11-05 19:12:25 +01:00
Sandro Jäckel
8df6f8dd87 python3Packages.hass-nabucasa: 2.7.0 -> 2.8.1
Diff: https://github.com/nabucasa/hass-nabucasa/compare/2.7.0...2.8.1

Changelog: https://github.com/NabuCasa/hass-nabucasa/releases/tag/2.8.1
2026-11-05 19:12:24 +01:00
Sandro Jäckel
873bf1e8d6 python3Packages.soco: 0.31.4 -> 0.32.1
Diff: https://github.com/SoCo/SoCo/compare/v0.31.4...v0.32.1

Changelog: https://github.com/SoCo/SoCo/releases/tag/v0.32.1
2026-11-05 19:12:24 +01:00
Sandro Jäckel
bb62ba29b9 python3Packages.aiohasupervisor: 0.6.0 -> 0.8.1
Diff: https://github.com/home-assistant-libs/python-supervisor-client/compare/0.6.0...0.8.1

Changelog: https://github.com/home-assistant-libs/python-supervisor-client/releases/tag/0.8.1
2026-11-05 19:12:24 +01:00
Sandro Jäckel
e79c2ec8df python3Packages.zha-quirks: 2.3.0 -> 2.4.1
Changelog: https://github.com/zigpy/zha-device-handlers/releases/tag/2.4.1
Diff: https://github.com/zigpy/zha-device-handlers/compare/2.3.0...2.4.1
2026-11-05 16:19:38 +01:00
Sandro Jäckel
5ca2a69844 python3Packages.zha: 2.3.1 -> 2.4.2
Diff: https://github.com/zigpy/zha/compare/2.3.1...2.4.2

Changelog: https://github.com/zigpy/zha/releases/tag/2.4.2
2026-11-05 16:14:05 +01:00
Sandro Jäckel
6457f3a943 python3Packages.zigpy-deconz: 1.0.0 -> 1.1.1
Diff: https://github.com/zigpy/zigpy-deconz/compare/1.0.0...1.1.1

Changelog: https://github.com/zigpy/zigpy-deconz/releases/tag/1.1.1
2026-11-05 16:08:44 +01:00
Sandro Jäckel
77ff7866a8 python3Packages.zigpy-znp: fix compatibility with zigpy 2.4.1 2026-11-05 16:06:33 +01:00
Sandro Jäckel
00b3cb7239 python3Packages.zigpy-ziggurat: 1.1.1 -> 1.2.0
Diff: https://github.com/zigpy/zigpy-ziggurat/compare/v1.1.1...v1.2.0

Changelog: https://github.com/zigpy/zigpy-ziggurat/releases/tag/v1.2.0
2026-11-05 16:01:35 +01:00
Sandro Jäckel
a4205f5922 python3Packages.bellows: 1.1.0 -> 1.2.1
Diff: https://github.com/zigpy/bellows/compare/1.1.0...1.2.1

Changelog: https://github.com/zigpy/bellows/releases/tag/1.2.1
2026-11-05 16:01:35 +01:00
Sandro Jäckel
1380c33506 python3Packages.zigpy: 2.3.0 -> 2.4.1
Changelog: https://github.com/zigpy/zigpy/releases/tag/2.4.0
Changelog: https://github.com/zigpy/zigpy/releases/tag/2.4.1
Diff: https://github.com/zigpy/zigpy/compare/2.3.0...2.4.1
2026-11-05 16:01:18 +01:00
Fabian Affolter
25f411ca5a python3Packages.aiosqlite: migrate to finalAttrs 2026-11-05 15:39:12 +01:00
Fabian Affolter
f239ff4bff python3Packages.aiosqlite: 0.21.0 -> 0.22.1
Diff: https://github.com/omnilib/aiosqlite/compare/v0.21.0...v0.22.1

Changelog: https://github.com/omnilib/aiosqlite/blob/v0.22.1/CHANGELOG.md
2026-11-05 15:35:41 +01:00
Sandro Jäckel
6a38ccab79 fixup! home-assistant: 2026.10.4 -> 2026.11.0 2026-11-05 15:24:56 +01:00
Sandro Jäckel
5adf66627a python3Packages.pygbl: init at 1.2.0 2026-11-05 15:20:10 +01:00
dotlambda
a3f1a4bec9 python3Packages.nextdns: 5.1.0 -> 5.2.0 (#580735) 2026-11-04 16:49:11 -08:00
Robert Schütz
75303e4989 fixup! home-assistant: 2026.10.4 -> 2026.11.0 2026-11-04 14:10:00 -08:00
Martin Weinelt
f560255820 home-assistant: 2026.10.4 -> 2026.11.0 2026-11-04 22:33:52 +01:00
Fabian Affolter
c3153ea069 python3Packages.nextdns: 5.1.0 -> 5.2.0
Diff: https://github.com/bieniu/nextdns/compare/5.1.0...5.2.0

Changelog: https://github.com/bieniu/nextdns/releases/tag/5.2.0
2026-10-30 00:59:18 +01:00
524 changed files with 6304 additions and 10216 deletions

View File

@@ -359,9 +359,6 @@ In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `
If needed, set `dontPnpmConfigure = true;` to fully disable `pnpmConfigHook` without removing it from inputs manually.
`pnpmConfigHook` deletes `.modules.yaml` and `.pnpm-workspace-state-v1.json` from every output, since they hold a build timestamp and path.
Set `dontPnpmStripInstallState = true;` to keep them.
#### pnpmBuildHook {#javascript-pnpm-pnpmBuildHook}
The `pnpmBuildHook` in overrides the default build phase with `pnpm run <build-script>`.

View File

@@ -55,6 +55,7 @@ let
zipAttrsWith
;
inherit (lib.options)
isOption
mkOption
showDefs
showFiles
@@ -275,10 +276,11 @@ let
config =
let
# For definitions that have an associated option
declaredConfig =
let
recurse = mapAttrs (n: v: if v._type or null == "option" then v.value else recurse v);
recurse = mapAttrs (n: v: if isOption v then v.value else recurse v);
in
recurse options;
@@ -401,7 +403,7 @@ let
options = checked options;
config = checked (removeAttrs config [ "_module" ]);
_module = checked (config._module);
graph = (doCollect { }).graph;
inherit (doCollect { }) graph;
inherit extendModules type class;
};
in
@@ -412,20 +414,19 @@ let
# Collects all modules recursively through `import` statements, filtering out
# all modules in disabledModules.
collectModules =
class: modulesPath: initialModules: args:
class:
let
applyModuleArgs' = applyModuleArgs args;
# Like unifyModuleSyntax, but also imports paths and calls functions if necessary
loadModule =
fallbackFile: fallbackKey: m:
args: fallbackFile: fallbackKey: m:
if isFunction m then
unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs' fallbackKey m)
unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs fallbackKey m args)
else if isAttrs m then
if m._type or "module" == "module" then
unifyModuleSyntax fallbackFile fallbackKey m
else if m._type == "if" || m._type == "override" then
loadModule fallbackFile fallbackKey { config = m; }
loadModule args fallbackFile fallbackKey { config = m; }
else
throw (
messages.not_a_module {
@@ -447,11 +448,8 @@ let
in
throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
else
let
contents = import m;
in
unifyModuleSyntax (toString m) (toString m) (
if isFunction contents then applyModuleArgs' (toString m) contents else contents
applyModuleArgsIfFunction (toString m) (import m) args
);
checkModule =
@@ -532,33 +530,31 @@ let
inherit modules;
};
in
parentFile: parentKey: initialModules:
parentFile: parentKey: initialModules: args:
collectResults (
imap1 (
n: x:
let
module = checkModule (loadModule parentFile "${parentKey}:anon-${toString n}" x);
collectedImports =
if module.imports != [ ] then
collectStructuredModules module._file module.key module.imports
else
{ };
module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
collectedImports = collectStructuredModules module._file module.key module.imports args;
in
{
key = module.key;
module = module;
modules = collectedImports.modules or [ ];
modules = collectedImports.modules;
disabled =
if module.disabledModules != [ ] then
[
{
file = module._file;
disabled = module.disabledModules;
}
]
++ (collectedImports.disabled or [ ])
else
(collectedImports.disabled or [ ]);
(
if module.disabledModules != [ ] then
[
{
file = module._file;
disabled = module.disabledModules;
}
]
else
[ ]
)
++ collectedImports.disabled;
}
) initialModules
);
@@ -597,19 +593,19 @@ let
toModuleGraph = structuredModule: {
disabled = isDisabledModule structuredModule;
key = structuredModule.key;
inherit (structuredModule) key;
file = structuredModule.module._file;
imports = map toModuleGraph structuredModule.modules;
};
in
map toModuleGraph (filter (x: x.key != "lib/modules.nix") modules);
in
{
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules);
modulesPath: initialModules: args: {
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
# Intentionally not shared with `modules` above: this allows
# the return value of `collectStructuredModules`
# to be garbage collected after `filterModules` returns.
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules);
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args);
};
/**
@@ -723,32 +719,26 @@ let
config = addFreeformType (removeAttrs m shorthandAttrsToRemove);
};
# TODO: remove, now unused
applyModuleArgsIfFunction =
key: f: args@{ config, ... }: if isFunction f then applyModuleArgs args key f else f;
key: f: args@{ config, ... }: if isFunction f then applyModuleArgs key f args else f;
# Module arguments are resolved in a strict manner when attribute set
# deconstruction is used. As the arguments are now defined with the
# config._module.args option, the strictness used on the attribute
# set argument would cause an infinite loop, if the result of the
# option is given as argument.
#
# To work-around the strictness issue on the deconstruction of the
# attributes set argument, we create a new attribute set which is
# constructed to satisfy the expected set of attributes. Thus calling
# a module will resolve strictly the attributes used as argument but
# not their values. The values are forwarding the result of the
# evaluation of the option.
applyModuleArgs =
args@{ config, ... }:
key: f:
f (
# Note: we append in the opposite order such that we can add an error
# context on the explicit arguments of "args" too. This update
# operator is used to make the "args@{ ... }: with args.lib;" notation
# works.
args
// mapAttrs (
args@{ config, ... }:
let
# Module arguments are resolved in a strict manner when attribute set
# deconstruction is used. As the arguments are now defined with the
# config._module.args option, the strictness used on the attribute
# set argument would cause an infinite loop, if the result of the
# option is given as argument.
#
# To work-around the strictness issue on the deconstruction of the
# attributes set argument, we create a new attribute set which is
# constructed to satisfy the expected set of attributes. Thus calling
# a module will resolve strictly the attributes used as argument but
# not their values. The values are forwarding the result of the
# evaluation of the option.
extraArgs = mapAttrs (
name: _:
addErrorContext ''while evaluating the module argument `${name}' in "${key}":'' (
args.${name} or (addErrorContext
@@ -756,8 +746,14 @@ let
config._module.args.${name}
)
)
) (functionArgs f)
);
) (functionArgs f);
# Note: we append in the opposite order such that we can add an error
# context on the explicit arguments of "args" too. This update
# operator is used to make the "args@{ ... }: with args.lib;" notation
# works.
in
f (args // extraArgs);
/**
Merge a list of modules. This will recurse over the option
@@ -798,16 +794,7 @@ let
m:
map (config: {
file = m._file;
config =
if isAttrs config then
config
else
throw (
messages.non_attrs_config {
inherit config prefix;
file = m._file;
}
);
inherit config;
}) (pushDownProperties m.config)
) modules
);
@@ -830,13 +817,33 @@ let
''
else
mapAttrs (n: option: {
_file = module._file;
inherit (module) _file;
pos = unsafeGetAttrPos n subtree;
options = option;
}) subtree
) modules
);
# The root of any module definition must be an attrset.
checkedConfigs =
assert all (
c:
# TODO: I have my doubts that this error would occur when option definitions are not matched.
# The implementation of this check used to be tied to a superficially similar check for
# options, so maybe that's why this is here.
isAttrs c.config
|| throw ''
In module `${c.file}', you're trying to define a value of type `${typeOf c.config}'
rather than an attribute set for the option
`${concatStringsSep "." prefix}'!
This usually happens if `${concatStringsSep "." prefix}' has option
definitions inside that are not matched. Please check how to properly define
this option by e.g. referring to `man 5 configuration.nix'!
''
) configs;
configs;
# an attrset 'name' => list of submodules that define ‘name’.
pushedDownDefinitionsByName = zipAttrsWith (n: concatLists) (
map (
@@ -844,37 +851,27 @@ let
mapAttrs (
n: value:
map (config: {
file = module.file;
config =
if isAttrs config then
config
else
throw (
messages.non_attrs_config {
inherit config;
prefix = prefix ++ [ n ];
file = module.file;
}
);
inherit (module) file;
inherit config;
}) (pushDownProperties value)
) module.config
) configs
) checkedConfigs
);
# extract the definitions for each loc
rawDefinitionsByName = zipAttrs (
map (
module:
mapAttrs (n: value: {
file = module.file;
inherit (module) file;
inherit value;
}) module.config
) configs
) checkedConfigs
);
# Convert an option tree decl to a submodule option decl
optionTreeToOption =
decl:
if decl.options._type or null == "option" then
if isOption decl.options then
decl
else
decl
@@ -902,8 +899,12 @@ let
&& (m.options._type == "option" || throwDeclarationTypeError loc m.options._type m._file);
in
if all isOptionDecl decls then
let
opt = fixupOptionType loc (mergeOptionDecls loc decls);
in
{
matchedOptions = evalOptionValue loc (fixupOptionType loc (mergeOptionDecls loc decls)) defns';
matchedOptions = evalOptionValue loc opt defns';
unmatchedDefns = [ ];
}
# this may look like duplicate computations are performed, but testing
# with a minimal NixOS config (defined below):
@@ -946,14 +947,16 @@ let
# d. magically combine (a) and (c).
# All of the above are merely syntax sugar though.
then
let
opt = fixupOptionType loc (mergeOptionDecls loc (map optionTreeToOption decls));
in
{
matchedOptions = evalOptionValue loc (fixupOptionType loc (
mergeOptionDecls loc (map optionTreeToOption decls)
)) defns';
matchedOptions = evalOptionValue loc opt defns';
unmatchedDefns = [ ];
}
else
let
nonOptions = filter (m: m.options._type or null != "option") decls;
nonOptions = filter (m: !isOption m.options) decls;
in
throw "The option `${showOption loc}' in module `${(head optionDecls)._file}' would be a parent of the following options, but its type `${
(head optionDecls).options.type.description or "<no description>"
@@ -967,7 +970,7 @@ let
# an attrset 'name' => list of unmatched definitions for 'name'
unmatchedDefnsByName =
# Propagate all unmatched definitions from nested option sets
mapAttrs (n: v: v.unmatchedDefns or [ ]) resultsByName
mapAttrs (n: v: v.unmatchedDefns) resultsByName
# Plus the definitions for the current prefix that don't have a matching option
// removeAttrs rawDefinitionsByName (attrNames matchedOptions);
in
@@ -984,17 +987,14 @@ let
concatLists (
mapAttrsToList (
name: defs:
if defs == [ ] then
defs
else
map (
def:
def
// {
# Set this so we know when the definition first left unmatched territory
prefix = [ name ] ++ (def.prefix or [ ]);
}
) defs
map (
def:
def
// {
# Set this so we know when the definition first left unmatched territory
prefix = [ name ] ++ (def.prefix or [ ]);
}
) defs
) unmatchedDefnsByName
);
};
@@ -1051,101 +1051,75 @@ let
: 2\. Function argument
*/
mergeOptionDecls =
loc: decls:
if length decls == 1 then
let
opt = head decls;
optOptions = opt.options;
getSubModules = optOptions.type.getSubModules or null;
in
optOptions
// {
inherit loc;
declarations = [ opt._file ];
declarationPositions =
if opt.pos != null then
[ opt.pos ]
else
[
{
file = opt._file;
line = null;
column = null;
}
];
options =
if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules else [ ];
}
else
foldl'
(
res: opt:
let
optOptions = opt.options;
typeSet =
if res ? type && optOptions ? type then
let
mergedType = res.type.typeMerge optOptions.type.functor;
in
if mergedType != null then
{
type = mergedType;
}
loc:
foldl'
(
res: opt:
let
optOptions = opt.options;
typeSet =
if res ? type && optOptions ? type then
let
mergedType = res.type.typeMerge optOptions.type.functor;
in
if mergedType != null then
{
type = mergedType;
}
else
# Keep in sync with the same error below!
throw
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
else
{ };
getSubModules = optOptions.type.getSubModules or null;
submodules =
if getSubModules != null then
map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
else
res.options;
in
if
(res ? default && optOptions ? default)
|| (res ? example && optOptions ? example)
|| (res ? description && optOptions ? description)
|| (res ? apply && optOptions ? apply)
then
# Keep in sync with the same error above!
throw
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
else
optOptions
// res
// {
declarations = res.declarations ++ [ opt._file ];
# In the case of modules that are generated dynamically, we won't
# have exact declaration lines; fall back to just the file being
# evaluated.
declarationPositions =
res.declarationPositions
++ (
if opt.pos != null then
[ opt.pos ]
else
# Keep in sync with the same error below!
throw
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
else
{ };
getSubModules = optOptions.type.getSubModules or null;
submodules =
if getSubModules != null then
map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
else
res.options;
in
if
(res ? default && optOptions ? default)
|| (res ? example && optOptions ? example)
|| (res ? description && optOptions ? description)
|| (res ? apply && optOptions ? apply)
then
# Keep in sync with the same error above!
throw
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
else
optOptions
// res
// {
declarations = res.declarations ++ [ opt._file ];
# In the case of modules that are generated dynamically, we won't
# have exact declaration lines; fall back to just the file being
# evaluated.
declarationPositions =
res.declarationPositions
++ (
if opt.pos != null then
[ opt.pos ]
else
[
{
file = opt._file;
line = null;
column = null;
}
]
);
options = submodules;
}
// typeSet
)
{
inherit loc;
declarations = [ ];
declarationPositions = [ ];
options = [ ];
}
decls;
[
{
file = opt._file;
line = null;
column = null;
}
]
);
options = submodules;
}
// typeSet
)
{
inherit loc;
declarations = [ ];
declarationPositions = [ ];
options = [ ];
};
/**
Merge all the definitions of an option to produce the final
@@ -1211,12 +1185,12 @@ let
# yield a value computed from the definitions
if opt ? apply then opt.apply res.mergedValue else res.mergedValue
);
highestPrio = res.defsFinal'.highestPrio;
inherit (res.defsFinal') highestPrio;
definitions = catAttrs "value" res.defsFinal;
files = catAttrs "file" res.defsFinal;
definitionsWithLocations = res.defsFinal;
isDefined = res.isDefined;
valueMeta = res.checkedAndMerged.valueMeta;
inherit (res) isDefined;
inherit (res.checkedAndMerged) valueMeta;
# This allows options to be correctly displayed using `${options.path.to.it}`
__toString = _: showOption loc;
};
@@ -1277,7 +1251,7 @@ let
value
else
{
file = m.file;
inherit (m) file;
inherit value;
}
) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
@@ -1296,7 +1270,7 @@ let
in
{
values = defsSorted;
highestPrio = defsFiltered.highestPrio;
inherit (defsFiltered) highestPrio;
};
defsFinal = defsFinal'.values;
@@ -1394,35 +1368,24 @@ let
*/
pushDownProperties =
let
pushDownContent =
f: content:
if content ? _type then
map (
val:
if isAttrs val then
mapAttrs f val
else
# This does not actually work, since arriving here means we have e.g.
# (lib.mkIf cond nonAttrs), while an attrset is expected. However,
# avoiding the mapAttrs call here gives better errors later.
val
) (pushDownProperties content)
else if isAttrs content then
# Equivalent to the above `map`, but prevents extra primops and
# function calls on the hot path.
[ (mapAttrs f content) ]
mapAttrsIfAttrs =
f: val:
if isAttrs val then
mapAttrs f val
else
# See above comment on `lib.mkIf cond nonAttrs`
[ content ];
# This does not actually work, since arriving here means we have e.g.
# (lib.mkIf cond nonAttrs), while an attrset is expected. However,
# avoiding the mapAttrs call here gives better errors later.
val;
in
cfg:
if cfg ? _type then
if cfg._type == "if" then
pushDownContent (_: mkIf cfg.condition) cfg.content
map (mapAttrsIfAttrs (n: v: mkIf cfg.condition v)) (pushDownProperties cfg.content)
else if cfg._type == "merge" then
concatMap pushDownProperties cfg.contents
else if cfg._type == "override" then
pushDownContent (_: mkOverride cfg.priority) cfg.content
map (mapAttrsIfAttrs (n: v: mkOverride cfg.priority v)) (pushDownProperties cfg.content)
# FIXME: handle mkOrder?
else
[ cfg ]
@@ -1532,7 +1495,7 @@ let
def
// {
value = def.value.content;
priority = def.value.priority;
inherit (def.value) priority;
}
else
def;
@@ -1597,7 +1560,7 @@ let
in
{
value = merging.mergedValue;
highestPrio = merging.defsFinal'.highestPrio;
inherit (merging.defsFinal') highestPrio;
}
) defsByAttr;
@@ -2430,24 +2393,6 @@ let
in
{
# TODO: I have my doubts that this error would occur when option definitions are not matched.
# The implementation of this check used to be tied to a superficially similar check for
# options, so maybe that's why this is here.
non_attrs_config =
{
file,
config,
prefix,
}:
''
In module `${file}', you're trying to define a value of type `${typeOf config}'
rather than an attribute set for the option
`${concatStringsSep "." prefix}'!
This usually happens if `${concatStringsSep "." prefix}' has option
definitions inside that are not matched. Please check how to properly define
this option by e.g. referring to `man 5 configuration.nix'!
'';
/**
When load a value with a (wrong) _type as a module

View File

@@ -447,12 +447,6 @@
githubId = 241628;
name = "Adam Russell";
};
a4blue = {
email = "a4blue@hotmail.de";
github = "a4blue";
githubId = 1339417;
name = "Alexander Ratajczak";
};
aacebedo = {
email = "alexandre@acebedo.fr";
github = "aacebedo";

View File

@@ -165,7 +165,6 @@ def main(pkgset: str, version: str, nixpkgs: pathlib.Path, sources_url: str | No
f"kdePackages.{project_name}",
"--version",
"skip",
"--no-src",
"--override-filename",
pkg_file
])

View File

@@ -2996,26 +2996,5 @@
],
"module-garm-setup": [
"index.html#module-garm-setup"
],
"module-services-falco": [
"index.html#module-services-falco"
],
"module-services-falco-basic-usage": [
"index.html#module-services-falco-basic-usage"
],
"module-services-falco-configuration": [
"index.html#module-services-falco-configuration"
],
"module-services-falco-rules": [
"index.html#module-services-falco-rules"
],
"module-services-falco-outputs": [
"index.html#module-services-falco-outputs"
],
"module-services-falco-webserver": [
"index.html#module-services-falco-webserver"
],
"module-services-falco-best-practices": [
"index.html#module-services-falco-best-practices"
]
}

View File

@@ -111,8 +111,6 @@
- [Pumpkin](https://pumpkinmc.org/), a Minecraft server implementation written entirely in Rust, focused on performance and configurability. Available as [services.pumpkin](#opt-services.pumpkin.enable).
- [Falco](https://falco.org), a cloud native runtime security tool that detects unexpected behavior from kernel events through a modern eBPF probe. Available as [services.falco](#opt-services.falco.enable).
- [feishin](https://github.com/jeffvli/feishin), a modern self-hosted music player. Available as [services.feishin](#opt-services.feishin.enable).
- [Aurral](https://aurral.org), a Lidarr companion for self-hosted music discovery. Available as [services.aurral](#opt-services.aurral.enable).

View File

@@ -1580,7 +1580,6 @@
./services/security/endlessh.nix
./services/security/esdm.nix
./services/security/fail2ban.nix
./services/security/falco.nix
./services/security/fprintd.nix
./services/security/haveged.nix
./services/security/hockeypuck.nix

View File

@@ -17,7 +17,7 @@ let
in
{
options.services.scx-loader = {
enable = lib.mkEnableOption "SCX-Loader service, a daemon to run sched_ext schedulers, with a D-Bus interface to manage them with `scxctl`";
enable = lib.mkEnableOption "SCX Loader service, a daemon to run schedulers from userspace using dbus. This requires kernel version 6.12 and later.";
package = lib.mkPackageOption pkgs "scx-loader" { };
@@ -27,7 +27,7 @@ in
defaultText = lib.literalExpression "[ pkgs.scx.rustscheds ]";
example = lib.literalExpression "[ pkgs.scx.full ]";
description = ''
`scx` package to use. Defaults to `scx.rustscheds`, which includes all currently supported schedulers.
`scx` package to use. Defaults to `scx.rustscheds`, which includes all currently by `scx_loader` supported schedulers.
'';
};
@@ -42,7 +42,7 @@ in
example = "scx_bpfland";
description = ''
Default scheduler that will be started automatically when `scx_loader` starts.
If not set or set to an empty string, `scx_loader` will not automatically start any scheduler.
If not set or set to an empty string, `scx_loader` will not start any scheduler by default.
'';
};
};
@@ -87,5 +87,5 @@ in
};
};
meta.maintainers = with lib.maintainers; [ ccicnce113424 ] ++ pkgs.scx.full.meta.maintainers;
meta.maintainers = with lib.maintainers; [ ccicnce113424 ];
}

View File

@@ -1,211 +0,0 @@
# Falco {#module-services-falco}
[Falco](https://falco.org) is a runtime security tool. It watches the system
calls made on the host and in its containers through an eBPF probe, evaluates
them against a set of rules, and emits an alert when one matches: a shell
opened in a container, a sensitive file read by an unexpected program, a binary
written below `/etc`.
This module runs Falco with the modern eBPF probe, which is built into the
package and needs no kernel module. It requires a kernel of at least 5.8 with
BTF, which every NixOS kernel provides. The kernel module and the legacy eBPF
probe are not supported.
## Basic usage {#module-services-falco-basic-usage}
```nix
{ services.falco.enable = true; }
```
This starts `falco.service` with the stock rules from
[falcosecurity/rules](https://github.com/falcosecurity/rules), which are
pinned by the package, and with the `container` plugin, which adds the
container and image to every event. Alerts are written to the journal:
```ShellSession
$ journalctl -u falco -f
```
The `falco` command is installed as well, to list what is being checked:
```ShellSession
$ falco -c /etc/falco/falco.yaml --list
```
## Configuration {#module-services-falco-configuration}
[](#opt-services.falco.settings) is the content of `falco.yaml`, written as Nix.
Every key of the [reference](https://falco.org/docs/reference/daemon/config-options/)
is available. The module sets the keys it needs to load the stock rules and the
container plugin; lists you add to those are appended to them.
```nix
{
services.falco = {
enable = true;
settings = {
# Drop everything below this priority.
priority = "warning";
json_output = true;
};
};
}
```
## Writing rules {#module-services-falco-rules}
[](#opt-services.falco.rules) holds rule files, each the YAML list that Falco
reads, written as Nix. The attribute name is the file name. Rules, macros and
lists can be mixed in a file:
```nix
{
services.falco.rules."50-local" = [
{
list = "admin_tools";
items = [
"kubectl"
"helm"
];
}
{
macro = "admin_tool";
condition = "proc.name in (admin_tools)";
}
{
rule = "Admin tool in container";
desc = "An admin tool ran inside a container";
condition = "spawned_process and container and admin_tool";
output = "Admin tool in container (proc=%proc.cmdline image=%container.image.repository)";
priority = "NOTICE";
tags = [
"container"
"local"
];
}
];
}
```
Files are loaded after the stock rules, in the lexical order of their names, so
they can use the stock macros and lists and can override them. Prefer an
override to a copy of the stock rule, which would stop receiving fixes:
```nix
{
services.falco.rules."60-tuning" = [
# A known program that is allowed to read sensitive files.
{
macro = "user_known_read_sensitive_files_activities";
condition = "(proc.name = backup-agent)";
override.condition = "replace";
}
# Extend a stock rule instead of redefining it.
{
rule = "Terminal shell in container";
condition = "and not container.image.repository = registry.example.com/debug-tools";
override.condition = "append";
}
];
}
```
See the [rules reference](https://falco.org/docs/concepts/rules/) for the
format, and the stock rules for the macros meant to be overridden (the
`user_known_*` ones).
::: {.note}
The configuration and every rule file that is a store path are validated with
`falco --validate` while the system is built. A rule that does not compile, or
an override with nothing to override, fails `nixos-rebuild` instead of the
service. Rule files that are runtime paths in `rules_files`, such as a
directory under `/var/lib`, cannot be checked and are left to Falco.
:::
## Outputs {#module-services-falco-outputs}
Alerts go to the journal through standard output. Falco can write them to more
places at once; use JSON when something else reads them:
```nix
{
services.falco.settings = {
json_output = true;
# A file, for a log shipper such as vector or promtail. The unit's
# LogsDirectory makes /var/log/falco writable.
file_output = {
enabled = true;
keep_alive = true;
filename = "/var/log/falco/events.json";
};
# A webhook, such as a Falcosidekick instance.
http_output = {
enabled = true;
url = "http://127.0.0.1:2801/";
};
};
}
```
Falco does not rotate the file it writes. After rotating it, have Falco reopen
it with `systemctl kill --signal=SIGUSR1 falco`.
## Health and metrics {#module-services-falco-webserver}
The embedded web server is disabled, and listens on the loopback address when
enabled. It serves a health endpoint, and Prometheus metrics when asked:
```nix
{
services.falco.settings = {
webserver = {
enabled = true;
prometheus_metrics_enabled = true;
};
metrics.enabled = true;
};
}
```
```ShellSession
$ curl http://127.0.0.1:8765/healthz
$ curl http://127.0.0.1:8765/metrics
```
## Best practices {#module-services-falco-best-practices}
- **Let it fail at build time.** Keep rules in [](#opt-services.falco.rules) so
that they are validated by the build. A typo in a macro name then never
reaches the machine.
- **Override, do not copy.** Tune the stock rules with an `override`, ideally
through their `user_known_*` macros. Rules and macros are updated with the
package, and an override keeps working across the update; a copy does not.
- **Start from the alerts you get.** The stock rules are broad, and the first
days are noisy. Add exceptions for the programs you know until what is left
is worth reading, then raise `priority` to hide the rest.
- **Send alerts where someone will see them.** An alert in the journal is only
found by looking. Forward them with `file_output` or `http_output` to the
system that pages you.
- **Keep the web server on the loopback address.** It has no authentication.
If Prometheus scrapes it from another host, restrict the port in the firewall
instead of listening on `0.0.0.0`.
- **Update the rules with the package.** The stock rules are those of the
package version, so updating `nixpkgs` updates them. Rules are not fetched
at runtime, so what is deployed is what was built and validated.
- **Watch for dropped events.** On a host with a heavy syscall load, Falco can
fall behind and drops events; it logs this and, with `metrics` enabled,
counts it. Raise `engine.modern_ebpf.buf_size_preset` first. Falco is only
as good as the events it sees.
- **Do not widen the unit.** The service runs with only the four capabilities
the modern eBPF probe needs (`CAP_BPF`, `CAP_PERFMON`, `CAP_SYS_PTRACE` and
`CAP_SYS_RESOURCE`), a read-only file system and no new privileges. Those
are enough, and the probe is the sensitive part, not the process around it.

View File

@@ -1,191 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.falco;
settingsFormat = pkgs.formats.yaml { };
stockRules = "${cfg.package}/etc/falco/falco_rules.yaml";
customRules = lib.mapAttrsToList (
name: rules: settingsFormat.generate "${name}.yaml" rules
) cfg.rules;
# Only store paths can be checked at build time; a runtime directory in
# `rules_files` is left to Falco.
checkedRules = lib.filter (lib.hasPrefix builtins.storeDir) cfg.settings.rules_files;
# A rule that does not compile fails the build instead of the service.
configFile =
pkgs.runCommand "falco.yaml"
{
nativeBuildInputs = [ cfg.package ];
config = settingsFormat.generate "falco.yaml" cfg.settings;
}
''
falco -c $config ${lib.concatMapStringsSep " " (rules: "-V ${rules}") checkedRules}
cp $config $out
'';
in
{
options.services.falco = {
enable = lib.mkEnableOption "Falco, a runtime security tool that detects unexpected behavior from kernel events";
package = lib.mkPackageOption pkgs "falco" { };
settings = lib.mkOption {
type = settingsFormat.type;
default = { };
example = lib.literalExpression ''
{
json_output = true;
priority = "warning";
file_output = {
enabled = true;
filename = "/var/log/falco/events.json";
};
}
'';
description = ''
Contents of `falco.yaml`. See the
[configuration reference](https://falco.org/docs/reference/daemon/config-options/)
for all keys.
Only what is set here is written, not the example file shipped with
Falco, so a key you leave out takes Falco's built-in default. The module
sets `rules_files`, `load_plugins` and `plugins` so that the stock rules
and the `container` plugin are loaded. Lists you add to these are
appended to them; use `lib.mkForce` to replace them.
Output goes to the journal by default. `syslog_output` and the
`webserver` are disabled, since the former would log every alert twice
and the latter listens on all interfaces upstream.
'';
};
rules = lib.mkOption {
type = lib.types.attrsOf settingsFormat.type;
default = { };
example = lib.literalExpression ''
{
"50-local" = [
{
rule = "Write below /etc by a build";
desc = "A build modified /etc";
condition = "evt.type in (open, openat, openat2) and evt.is_open_write=true and fd.name startswith /etc/ and proc.name = nix-daemon";
output = "Build wrote to /etc (file=%fd.name proc=%proc.name)";
priority = "WARNING";
}
];
}
'';
description = ''
Rule files, each given as the YAML list of rules, macros and lists that
Falco reads. The attribute name becomes the file name.
Files are loaded after the stock rules, in the lexical order of their
names. Overrides of a stock rule or macro (`override` or `append`) must
therefore come from here, not from the stock file itself. Prefix the
names with a number to control the order.
See the [rules reference](https://falco.org/docs/concepts/rules/) for
the format.
'';
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion =
!(lib.elem cfg.settings.engine.kind [
"kmod"
"ebpf"
]);
message = ''
services.falco only supports the modern eBPF probe, which is built
into the package: `settings.engine.kind` cannot be "${cfg.settings.engine.kind}".
'';
}
];
services.falco.settings = {
rules_files = [ stockRules ] ++ customRules;
load_plugins = [ "container" ];
plugins = [
{
name = "container";
library_path = "${cfg.package}/share/falco/plugins/libcontainer.so";
init_config = {
label_max_len = 100;
with_size = false;
};
}
];
engine.kind = lib.mkDefault "modern_ebpf";
# Reloading is the unit's job, on a changed configuration.
watch_config_files = lib.mkDefault false;
# Alerts and logs go to the journal, so syslog would only repeat them.
stdout_output.enabled = lib.mkDefault true;
log_stderr = lib.mkDefault true;
syslog_output.enabled = lib.mkDefault false;
log_syslog = lib.mkDefault false;
webserver = {
enabled = lib.mkDefault false;
listen_address = lib.mkDefault "127.0.0.1";
};
# Falco refuses to start with metrics enabled and no interval.
metrics.interval = lib.mkDefault "1h";
};
environment.etc."falco/falco.yaml".source = configFile;
environment.systemPackages = [ cfg.package ];
systemd.services.falco = {
description = "Falco runtime security";
documentation = [ "https://falco.org/docs/" ];
wantedBy = [ "multi-user.target" ];
reloadTriggers = [ configFile ];
serviceConfig = {
ExecStart = "${lib.getExe cfg.package} -c /etc/falco/falco.yaml";
# Falco re-reads its configuration and rules on SIGHUP.
ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -HUP $MAINPID";
Restart = "on-failure";
LogsDirectory = "falco";
# The least privileged set for the modern eBPF probe, see
# https://falco.org/docs/setup/container/#docker-least-privileged
CapabilityBoundingSet = [
"CAP_BPF"
"CAP_PERFMON"
"CAP_SYS_PTRACE"
"CAP_SYS_RESOURCE"
];
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
ProtectKernelModules = true;
ProtectClock = true;
ProtectControlGroups = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
LockPersonality = true;
};
};
};
meta = {
doc = ./falco.md;
maintainers = with lib.maintainers; [ happysalada ];
};
}

View File

@@ -637,7 +637,6 @@ in
facter = runTest ./facter;
fail2ban = runTest ./fail2ban.nix;
fakeroute = runTest ./fakeroute.nix;
falco = runTest ./falco.nix;
fancontrol = runTest ./fancontrol.nix;
fanout = runTest ./fanout.nix;
fastnetmon-advanced = runTest ./fastnetmon-advanced.nix;
@@ -726,7 +725,7 @@ in
fsck = runTest ./fsck.nix;
fscrypt = runTest ./fscrypt.nix;
ft2-clone = runTest ./ft2-clone.nix;
galene = import ./galene.nix { inherit runTest; };
galene = discoverTests (import ./galene.nix { inherit runTest; });
gancio = runTest ./gancio.nix;
garage_1 = import ./garage {
inherit runTest;

View File

@@ -1,97 +0,0 @@
{ lib, ... }:
let
rule = name: file: {
rule = name;
desc = "Test rule for ${name}";
condition = "evt.type in (open, openat, openat2) and fd.name = ${file}";
output = "${name} (proc=%proc.name file=%fd.name container=%container.id)";
priority = "WARNING";
tags = [ "test" ];
};
in
{
name = "falco";
meta.maintainers = with lib.maintainers; [ happysalada ];
nodes.machine = {
services.falco = {
enable = true;
settings = {
priority = "warning";
json_output = true;
file_output = {
enabled = true;
keep_alive = true;
filename = "/var/log/falco/events.json";
};
webserver = {
enabled = true;
prometheus_metrics_enabled = true;
};
metrics.enabled = true;
};
rules = {
"50-test" = [ (rule "First file touched" "/tmp/first") ];
# The overrides shown in the manual; they only compile after the stock rules.
"60-tuning" = [
{
macro = "user_known_read_sensitive_files_activities";
condition = "(proc.name = backup-agent)";
override.condition = "replace";
}
{
rule = "Terminal shell in container";
condition = "and not container.image.repository = registry.example.com/debug-tools";
override.condition = "append";
}
];
};
};
specialisation.second-rule.configuration.services.falco.rules."50-test" = [
(rule "Second file touched" "/tmp/second")
];
};
testScript = ''
import json
# The probe attaches some time after the unit has started, so events are
# triggered until one is seen.
def fires(rule, trigger):
machine.wait_until_succeeds(f"{trigger}; grep -q '{rule}' /var/log/falco/events.json")
return json.loads(machine.succeed(f"grep '{rule}' /var/log/falco/events.json | tail -n 1"))
machine.wait_for_unit("falco.service")
machine.wait_for_open_port(8765)
with subtest("serves health and metrics"):
machine.succeed("curl -sf http://127.0.0.1:8765/healthz | grep -q ok")
machine.wait_until_succeeds("curl -sf http://127.0.0.1:8765/metrics | grep -q falcosecurity")
with subtest("fires a rule, enriched by the container plugin"):
event = fires("First file touched", "touch /tmp/first")
assert event["priority"] == "Warning", event
assert event["output_fields"]["proc.name"] == "touch", event
assert event["output_fields"]["container.id"] == "host", event
with subtest("loads the stock rules and logs to the journal"):
machine.wait_until_succeeds(
"cat /etc/shadow > /dev/null; journalctl -u falco -o cat | grep -q 'Read sensitive file untrusted'"
)
with subtest("reopens its output file on SIGUSR1"):
machine.succeed("mv /var/log/falco/events.json /var/log/falco/events.old")
machine.succeed("systemctl kill --signal=SIGUSR1 falco.service")
fires("First file touched", "touch /tmp/first")
with subtest("reloads changed rules without restarting"):
pid = machine.succeed("systemctl show -p MainPID --value falco.service")
machine.succeed("/run/booted-system/specialisation/second-rule/bin/switch-to-configuration test")
assert pid == machine.succeed("systemctl show -p MainPID --value falco.service"), "falco was restarted"
fires("Second file touched", "touch /tmp/second")
'';
}

View File

@@ -212,15 +212,6 @@ in
galeneStreamSrtPort = 9710;
galeneStreamFeedImage = "galene-stream-feed.png";
galeneStreamFeedLabel = "Example";
# Firefox obfuscates ICE host candidates as mDNS .local names.
# Galene's Pion server disables mDNS, so it cannot resolve them and the
# WebRTC transport never completes (the stream stays black).
firefoxWithWebrtc = pkgs.firefox.override {
extraPrefs = ''
defaultPref("media.peerconnection.ice.obfuscate_host_addresses", false);
'';
};
in
{
name = "galene-stream-works";
@@ -264,7 +255,7 @@ in
systemPackages = with pkgs; [
ffmpeg
firefoxWithWebrtc
firefox
galene-stream
];
};
@@ -328,11 +319,6 @@ in
machine.wait_for_text(r"(Galène|Username|Password|Connect)")
machine.screenshot("galene-group-test-join")
# Reload the page, else the stream feed label doesn't show up
# TODO: figure out why
machine.send_key("f5")
machine.sleep(5)
# Log in as anon
machine.send_key("ret")
machine.sleep(5)

View File

@@ -1170,8 +1170,10 @@ Reviewing process:
- Ensure that the commit text [fits the guidelines](../CONTRIBUTING.md#commit-conventions).
- Ensure that the package maintainers are notified.
- The continuous integration system will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
- Ensure that the meta field information [fits the guidelines](#meta-attributes) and is correct.
- Ensure that the meta field information [fits the guidelines](#meta-attributes) and is correct:
- License can change with version updates, so it should be checked to match the upstream license.
- If the package has no maintainer, a maintainer must be set.
This can be the update submitter or a community member that accepts to take maintainership of the package.
- Verify any change of upstream.
- If switching from e.g. PyPi to GitHub, verify that the repo is the official one.
- If switching to a fork, check with external sources like other package repositories for community consensus.

View File

@@ -35,7 +35,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
description = "Mopidy extension for playing music from Tidal";
homepage = "https://github.com/EbbLabs/mopidy-tidal";
changelog = "https://github.com/EbbLabs/mopidy-tidal/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
license = lib.licenses.mit;
maintainers = [ ];
};
})

View File

@@ -515,8 +515,8 @@ let
mktplcRef = {
publisher = "banacorn";
name = "agda-mode";
version = "0.10.11";
hash = "sha256-XIwM3xW57vHMADz90hek0HKhhsi+3xsSuQaubbhHwSw=";
version = "0.10.9";
hash = "sha256-uSC5egcM2LIxUwkT0Mc3LXin/j3EWaEgSUTgOBWppLE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/banacorn.agda-mode/changelog";
@@ -2916,8 +2916,8 @@ let
mktplcRef = {
name = "vscord";
publisher = "leonardssh";
version = "5.3.12";
hash = "sha256-XZ3gGR596jTuxxQEva1cyRqq5fCcvdM6pkF1EBDQ8uw=";
version = "5.3.10";
hash = "sha256-+4/Qdc/CulyuqqvYZgcE8Dw+gZ5snYpEBLZjFx6z3xM=";
};
meta = {
description = "Highly customizable Discord Rich Presence extension for Visual Studio Code";

View File

@@ -868,28 +868,28 @@
}
},
"ungoogled-chromium": {
"version": "157.0.8103.38",
"version": "156.0.8078.79",
"deps": {
"depot_tools": {
"rev": "96b9c092c0cdaa9f1ec87b0af777ec85977dee91",
"hash": "sha256-XcnkXK9hxAdHISWT1h37Z+kUG0tnCuOoy7t6B02iU5g="
"rev": "a07c06fe67a1a9d64ac4728df3a11c1ceb0cf73e",
"hash": "sha256-HarXNOKhTGsm5r52JMGBZ/KdM4Kbvy87PqqGxj2QbjQ="
},
"gn": {
"version": "0-unstable-2026-10-08",
"rev": "0035961837fbcfe875d855744b3eda4fd2eefb43",
"hash": "sha256-NOgASZ0XgcDCKozZ2Qdt7/D4c91t3KxZbjACT8zR/OA="
"version": "0-unstable-2026-09-28",
"rev": "510ec7992c30f172205792f190e96111a896ba8f",
"hash": "sha256-hmbaR9MfMh5Wn9dARc+QeHmEdkG6WDtvT11IFD5vzJo="
},
"ungoogled-patches": {
"rev": "157.0.8103.38-1",
"hash": "sha256-gJcCBZO4HgphCX3nOEBaTrmsyHs+qE24rz/rxbPdVpw="
"rev": "156.0.8078.79-1",
"hash": "sha256-Kc3tInNYiORmFCJZMzGC9jypx7hoUjc8n9vJwb3qeoA="
},
"npmHash": "sha256-P7EOD/Tsur9/R6/lYSMxPjzwWaje10VepIZUUQo3dU0="
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "a733b5afbb3ba618844ff8876b89ad1a774b2f18",
"hash": "sha256-Edfnsq63i16gsrT77OjDQ1VGhZG5zpLB+6yO8MVzz6w=",
"rev": "a21ce95c24ce3964416f09ae1862f53f319eb4d0",
"hash": "sha256-5KN7UQ76eSN6TxO6AWbpQTV5DPqHXxsUok3MTirhaxE=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -899,8 +899,8 @@
},
"src/third_party/compiler-rt/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
"rev": "745ff42c0ef36daa46b309fb0de9b85bea856f54",
"hash": "sha256-hjr+pLO5BEgkJXcCqld8Mz2zUo4j7a5HoGVOCifru/Y="
"rev": "627967b9c76e9a9d09a29e2c48a9283556f5a3a3",
"hash": "sha256-5tuKeJDijNoJ+SDG63kR2vi5SFDQJlpE8s7xL/ndUJ0="
},
"src/third_party/libc++/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
@@ -909,18 +909,18 @@
},
"src/third_party/libc++abi/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
"rev": "0e691bb69ac90450d8d53bc8ee5968c62f9c15a7",
"hash": "sha256-fFTGBlhE1xQcgoxIfroTmKrhj3BneiLt8vsPr1JlE9g="
"rev": "127292c11d332549ba1e0aebcece6d4c91de9239",
"hash": "sha256-GdjIDdOv4wW99TJXc14sv0t4CbMCJQJObeWfLPBtRsw="
},
"src/third_party/libunwind/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
"rev": "9c0490ec858b3201b9aedbe219b530b95dc0be7e",
"hash": "sha256-JDPGyhiEPgM3C0OPd45y27Xoaz8fS5lnzyOgkw3uzhc="
"rev": "8d41badfccd4bc7dfd17817f65217f2868d69be8",
"hash": "sha256-CYzqg2Bx5fSkp1fa8nWnxG4uIHocZYZy+DN5gYvagt4="
},
"src/third_party/llvm-libc/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
"rev": "97e60a1e7f7180965cc84e22ddde9f1d4ffd640f",
"hash": "sha256-zv8hCCISx2AiKeyLwZ8MGAM4LnBOAGYHH4jqCR9y94s="
"rev": "b8b28272d32b75f0ee71acd2fa1144c8b5b95460",
"hash": "sha256-93RkcksgiFhm6f+6W7oc44EaLxihY0URrIMYszQyQFM="
},
"src/chrome/test/data/perf/canvas_bench": {
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
@@ -939,8 +939,8 @@
},
"src/docs/website": {
"url": "https://chromium.googlesource.com/website.git",
"rev": "f1913ba8be7e2f05851aa2f3624ad055c13243cf",
"hash": "sha256-PiOf4LriUclfCy/rjfJJoRlLrO5+BPTk4YH++kEBFlU="
"rev": "70bb13377fed8671966ab9565b7627f2e73ae1a2",
"hash": "sha256-9y7mx7wiwqzdM6SjNUmhLxFB3JkdVrdOu0NWQm09UDc="
},
"src/media/cdm/api": {
"url": "https://chromium.googlesource.com/chromium/cdm.git",
@@ -949,8 +949,8 @@
},
"src/net/third_party/quiche/src": {
"url": "https://quiche.googlesource.com/quiche.git",
"rev": "541aa2a7889b7ea7651e41afc58211f2a256850a",
"hash": "sha256-BtznrgJTTaxLqhzjmYrWv0q3UhzRE2Cm3JuwgLMvThE="
"rev": "a1628192cf32ba40d21e0dd80f485d68c24ff87a",
"hash": "sha256-+67MRq/zzJIltgLPOhOvsIGOJyH4i8EH+tsdw3AK+mw="
},
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
@@ -959,8 +959,8 @@
},
"src/third_party/angle": {
"url": "https://chromium.googlesource.com/angle/angle.git",
"rev": "751417514a521b2e92d6928260c62122138824d3",
"hash": "sha256-KyWs3Y+J5yAXoX8AapbdTAQgONg86Z+v5UqBIDG9YVs="
"rev": "127e783de33425c27a70a3f48da9d9202d6a0745",
"hash": "sha256-KYCjI3BrREBHvwtCgioPz+38GXWOffEez9sZqpZDmS0="
},
"src/third_party/angle/third_party/glmark2/src": {
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
@@ -974,8 +974,8 @@
},
"src/third_party/angle/third_party/VK-GL-CTS/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
"rev": "c28b3629309398dc2641c8d4d40079a952160cba",
"hash": "sha256-letq9Q2Ca4JnnkQzrA8sAjen7Aotq/sFlEvdQVHflHE="
"rev": "93bca01861b0e3ef3c387027a9791e6d065f900c",
"hash": "sha256-dB0Z2Ecg+BrpZNfCLACK6Gqw5cqQn1cO8P3zlZNWZ+o="
},
"src/third_party/anonymous_tokens/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
@@ -994,13 +994,13 @@
},
"src/third_party/dav1d/libdav1d": {
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
"rev": "99f3354ed0b9b4bf3c7c9347318dbcc522c94af5",
"hash": "sha256-avb/o0BmRfx9PFg4UMfH6psnamwwU0qW7gVi2rCjvPQ="
"rev": "bf5a8792744ee78c977dfb16503f9156dde6401d",
"hash": "sha256-UE2U1jns6+TL/p1WQ1A2PqPhITFrx71B0B339SvUhjY="
},
"src/third_party/dawn": {
"url": "https://dawn.googlesource.com/dawn.git",
"rev": "3c24c91e70eaf701ae92ab8cc414669cc4c38892",
"hash": "sha256-S6QiLSiNUN1mCfTeEQiu2wrm7Nq3ShEVpLxL7L7shzY="
"rev": "8114a24a35eed1db88d1d897e8bd193a8c334712",
"hash": "sha256-dqhsoLcd9v5DEXxUll1c5/cNQMbk/EXhM5fR7T/ch3E="
},
"src/third_party/dawn/third_party/glfw3/src": {
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
@@ -1019,8 +1019,8 @@
},
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
"rev": "6af574a14089ccfee87efe230ebcdd8742859813",
"hash": "sha256-STucWu1jVFoj2Tcr7xC1fj/t71cgXypBZs0taZVrn1w="
"rev": "1cdd228e34966dd6b95bd203e9f84faba0f371a1",
"hash": "sha256-oiHZr5toqrC/Dcs2R4uhuPzAFPPLvRPyOlr2dm5cSBE="
},
"src/third_party/dawn/third_party/EGL-Registry/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
@@ -1029,13 +1029,13 @@
},
"src/third_party/dawn/third_party/webgpu-cts": {
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
"rev": "cc11994e92512d0a3715e9d28876ec48accb971a",
"hash": "sha256-+ikxnPBYDEBITYPaybQCowre+eDVKxrQnbImjUTCqWo="
"rev": "81aeeb49e5b15587ec6c1f59b2fdcb4074ffcf63",
"hash": "sha256-dTapJsIGrOr5mOLdV7pgIdc2t3S38z0QETVarpcwPVg="
},
"src/third_party/dawn/third_party/webgpu-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
"rev": "a1dc77409bb2b8bd80540cbf4b8db219e123e909",
"hash": "sha256-hkwn8AMzkjF6j2J5qJo8FYAoMeBc0DjU0/FQddSgg/s="
"rev": "0caa056b5c804e9219d5f8c668a7c29d4dd9c95b",
"hash": "sha256-e6zw5+bICNi9FrxeB5tlpmSh32n6+OUXtErg1gkMQmk="
},
"src/third_party/disarm/src": {
"url": "https://chromium.googlesource.com/external/github.com/aengelke/disarm.git",
@@ -1064,23 +1064,23 @@
},
"src/third_party/boringssl/src": {
"url": "https://boringssl.googlesource.com/boringssl.git",
"rev": "5b83e5d1abf0ae0033ae52ab579d906b67633b2c",
"hash": "sha256-TPwlW/v5Vx6h0pSddm3fhf4Fs714w/8zqqYV45aK1tA="
"rev": "2ea3200c3a3ec176613ab7a0b9a4ffc6db846120",
"hash": "sha256-ua4WDGGMsRypx31RPi1KzyTf3bQ10k601ljeZx+mBOA="
},
"src/third_party/breakpad/breakpad": {
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"rev": "6598c9c33fc02da7805401f3b0f1a733e6a24071",
"hash": "sha256-tS/maYabuAo7l2smTcsCmrIGMg0vcslJl0weLaOA9gM="
"rev": "868abe6f016cfeabfb7208681e89031ae667c336",
"hash": "sha256-MQJiDXmNBMZjXDzqizSn3pJoJmRvD4gVygSeiAR8gmI="
},
"src/third_party/cast_core/public/src": {
"url": "https://chromium.googlesource.com/cast_core/public",
"rev": "1629985cfc0b065310738512a000b6e68716aa03",
"hash": "sha256-Q93HYQK+gabwn9zgbgMuP1i2A5aF6oFqbyEGrHqbJy0="
"rev": "f5ee589bdaea60418f670fa176be15ccb9a34942",
"hash": "sha256-yQxm1GMMne80bLl1P7OAN3bJLz1qRNAvou2/5MKp2ig="
},
"src/third_party/catapult": {
"url": "https://chromium.googlesource.com/catapult.git",
"rev": "3d4673f57764ba5f999699abf34a52a3584e8b6c",
"hash": "sha256-sJaAZNcvxTuYocLmOPiswhrHcEspOX+NpiUT35GGyrQ="
"rev": "f411808cd159db5e47be79ebee59fffca3da1bd4",
"hash": "sha256-85mUOVcvtQiJ7cLlkHCubWgZh6bmfgSTIyeNbDt+iss="
},
"src/third_party/ced/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
@@ -1114,28 +1114,28 @@
},
"src/third_party/cros_system_api": {
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
"rev": "c21834b66e85db8f93d7da9b9173bb640f9a6e51",
"hash": "sha256-YqFppy+xVByVfSr4ZOF9QVsfq/6+UkJXsKQRO6TGn+U="
"rev": "0af149cadb77d8e4002cd5e9162043a498db494a",
"hash": "sha256-YzfZIybHgDKH6iSdqYirXx+60wz8NE38HMudotub7XI="
},
"src/third_party/crossbench": {
"url": "https://chromium.googlesource.com/crossbench.git",
"rev": "87113d767a7d9d4f1fbdaccfd877ee36d3f4b2c7",
"hash": "sha256-Vq87IFr4bnDzY/hFEKbgbRWvqDkwzo93aaApu43z1uo="
"rev": "043866e26bee4936f0a6a3cf87813fb928d7ea1f",
"hash": "sha256-GSUECIv1MBl/6FoPZmb8BlBdaAigUMriOrvVh9XutOA="
},
"src/third_party/crossbench-web-tests": {
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
"rev": "ca67d07edc2937541c38bb57e680f3787c446d0d",
"hash": "sha256-tsQ/SsBiuRXKgHVCJyzFpERBszhPU9/JGXdnPYhPloE="
"rev": "4483f71db32259409d9c5f7c4c95e2605b7a3b13",
"hash": "sha256-4urm1A/L+rTE9Z4axJL0ztT0wbm8yzBrmlXHIptZiiw="
},
"src/third_party/depot_tools": {
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
"rev": "96b9c092c0cdaa9f1ec87b0af777ec85977dee91",
"hash": "sha256-XcnkXK9hxAdHISWT1h37Z+kUG0tnCuOoy7t6B02iU5g="
"rev": "a07c06fe67a1a9d64ac4728df3a11c1ceb0cf73e",
"hash": "sha256-HarXNOKhTGsm5r52JMGBZ/KdM4Kbvy87PqqGxj2QbjQ="
},
"src/third_party/devtools-frontend/src": {
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
"rev": "12ada949de6a27116dea47c600da5322f44c64f4",
"hash": "sha256-9JV9WNyFnPQJOLbjhCQ4QdLbvbhG29/yzmxooRanEtw="
"rev": "8c62f844ad8e0664ff41a633bfc17c472f1c5fd6",
"hash": "sha256-fICLXlsXpQz1/AIAau3hdFwGBm/6WCZmHxuPmxs2ThI="
},
"src/third_party/dom_distiller_js/dist": {
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
@@ -1144,8 +1144,8 @@
},
"src/third_party/ds_store/src": {
"url": "https://chromium.googlesource.com/external/github.com/dmgbuild/ds_store.git",
"rev": "3a85d45dbb9dc08a6d74770010e5053e0561e538",
"hash": "sha256-Fso2CC8nW2xI5M3meLdcjHfrPKk2TthkAxUMYZZ1BJ4="
"rev": "6f971c764a511f609615c6c4f5ae2a9403ff32cb",
"hash": "sha256-YP0YH2PTejiGSNq9psQdZM62cY95Nvt63Zvk9IbV0kA="
},
"src/third_party/dragonbox/src": {
"url": "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git",
@@ -1154,8 +1154,8 @@
},
"src/third_party/eigen3/src": {
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
"rev": "80778f586abc56b544e92e5423e71991007c197f",
"hash": "sha256-uYPx5Hw1Z6Ug2K+dw3dvRA4bGzxxTJnAy7TS2bpXpM8="
"rev": "04bfe22876d3bab4260f39491cce7a8df17daa40",
"hash": "sha256-Iry7rqUC1CdGLIQH5pm1qaMrq8ZD1GiHX4HsEw3Tt48="
},
"src/third_party/farmhash/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
@@ -1164,18 +1164,18 @@
},
"src/third_party/fast_float/src": {
"url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git",
"rev": "42f254836ee416ffcf2f4e6576260003ac33d48c",
"hash": "sha256-HnxLKPATEMGZoUvsbtEv/inmQr4AzwWfChP3UDDeUJA="
"rev": "b0ab987b3dfdde13fa1915f65ef2a5c068d9208c",
"hash": "sha256-Hfnoet/FMCqm5Qx7A6/2NnSlmWgTFJrOqHvXh1TDd6U="
},
"src/third_party/federated_compute/src": {
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
"rev": "a9d5262aa05a4b1ff3c23697d644023c5d913840",
"hash": "sha256-+2JqHj+wPdK6Co84iUnwjRBRmr8xolxsrcAknuZdY9g="
"rev": "f5241fb459426f88af484a909927044a71306209",
"hash": "sha256-B6DRBWqq9UXYwmcZa/mqS7KY/JCAfCCPiSzX99kIsbk="
},
"src/third_party/ffmpeg": {
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
"rev": "5c85ff666b3434d9323b83437f910ad8431ab7c9",
"hash": "sha256-4FUmHoSWjpWWzz883OqAaUQ9CuCoXi3NR6MKOoFRyjE="
"rev": "9db86ce5b5b454dfc96c435f9f0723012980c37f",
"hash": "sha256-MI/yfyy3RnQXY3qowzRd032LsiirnQ43V7Z9G3E0AjI="
},
"src/third_party/flac": {
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
@@ -1189,8 +1189,8 @@
},
"src/third_party/fontconfig/src": {
"url": "https://chromium.googlesource.com/external/fontconfig.git",
"rev": "d416ada7b20a1cdd5050b60a7a1bbdb3d9ddd2dc",
"hash": "sha256-oe4OWQQyiuUHZcLQ7Rhtt2Wv1kv0OxNtZBbeK317wFU="
"rev": "bd8f7b597de96761750d0365abb49b19d2f8d5c3",
"hash": "sha256-YbbkgCy+ivOj+OOKx3R5jmPZJrpP+d7ow6gR3NZgmqw="
},
"src/third_party/fp16/src": {
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
@@ -1204,8 +1204,8 @@
},
"src/third_party/freetype/src": {
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
"rev": "37515cf56ba3349656049edbed89ffc6f6466f2d",
"hash": "sha256-Mcmb67mYYs6c8yQv39iIq5gxUGBZmWQXkMGSOw6jt14="
"rev": "891f904e2e7b4289f615598cd4b69832f87d2f3a",
"hash": "sha256-DOFkN/P0RARCU0kxB8J2X7UOnogrlBl5asuATzWBc4w="
},
"src/third_party/fxdiv/src": {
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
@@ -1214,13 +1214,13 @@
},
"src/third_party/harfbuzz/src": {
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
"rev": "12ee77ee00514c442bcd28f9aa9d56b708c37382",
"hash": "sha256-TPWKUApcxKnbFZmx0XjZeXEqVYWKWruF/MPYydKjKDQ="
"rev": "f5efbbef3841bdcdc6427bde7c2971f62ac8c8f1",
"hash": "sha256-wUQCb2VoZ/bD/as7SBg39XCgbMzhpBFcuNy/gZmq5V0="
},
"src/third_party/ink/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
"rev": "b6def591a73a6aa0ffce1e58dc69b39de31484ba",
"hash": "sha256-I6JGQQrInctpHXHot/92gxUSbe9EPDbkAAFdEdxgsGY="
"rev": "1d5a871aefe0a401685cd4388b9b92f9b1c5cadb",
"hash": "sha256-ESmSOE5vdunmGOPwJ2TKIJYMnNyZyXP/0zny4MNbM3Q="
},
"src/third_party/emoji-segmenter/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
@@ -1229,8 +1229,8 @@
},
"src/third_party/oak/src": {
"url": "https://chromium.googlesource.com/external/github.com/project-oak/oak.git",
"rev": "3ec9bd888b4bcfbe5dea1def3c642911e71e1c96",
"hash": "sha256-Kj5H9+85KQvouPGWGiUwj+7FaCtbcszzv/7hc2+FpE8="
"rev": "14031232cec7d3d454e89bbae36404d74abf18dc",
"hash": "sha256-07MW//bffdPitD5jhwyqfCND3Hq9iKB7HcMGGZJ6GS4="
},
"src/third_party/ots/src": {
"url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
@@ -1269,18 +1269,18 @@
},
"src/third_party/leveldatabase/src": {
"url": "https://chromium.googlesource.com/external/leveldb.git",
"rev": "bb74ef739973a70ca9f0d90788a1da89b788c0ad",
"hash": "sha256-We8k4jQ/PlU4Lfd0B3vh3ridXThVDVsAYYCM8+FKGBU="
"rev": "7ee830d02b623e8ffe0b95d59a74db1e58da04c5",
"hash": "sha256-a1fcVI9Vsm1qE17Fnx5UxwOy4ZFMMJ0OKwNs/gZHYQI="
},
"src/third_party/libFuzzer/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
"rev": "c7ea90fb61105752fa78e257e77a7c5d62fff7d3",
"hash": "sha256-U2di0nxo0UTycVzimBCCDpVllPMhmg6H7W0z/4l5vNo="
"rev": "9951014982324338ea932dfdba259aeb1cca70f7",
"hash": "sha256-nrYn8GrGeCZtv2aUkx7jjdZftWEdiE8zF0uXLuSxWxQ="
},
"src/third_party/fuzztest/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
"rev": "a8861f3aa71443dabaf42dc9cba78b3982524a51",
"hash": "sha256-t002FjWujqPyUTL9yUlpY8oXpgrigV7IyV4HLKgA6Fc="
"rev": "7a8e9056de2a4f745082a4b3861a67ada47ced36",
"hash": "sha256-I0rldbb8zbskUiZpIi1UOaBLiwDBuAeHqYeeNdVzpPI="
},
"src/third_party/domato/src": {
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
@@ -1294,13 +1294,13 @@
},
"src/third_party/libaom/source/libaom": {
"url": "https://aomedia.googlesource.com/aom.git",
"rev": "5d3d740dde020e56edf33b686ff3a7848342319e",
"hash": "sha256-m3dp9A9UQ0Vs0Wa3eY5ehrUUvV5f79YdRICyS+9YSRk="
"rev": "016144ea8b8b84b9cfa1c3fba56227b2d3471229",
"hash": "sha256-EmBofb9iGIimvJ5ruHAWJzLweB5aAs54/gh+tjsrLWU="
},
"src/third_party/crabbyavif/src": {
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
"rev": "70426ba092e1136198239469c9273d1597052b25",
"hash": "sha256-vuvHyfZR8XZutChGpMTHG0t66rrekz+22BIVciRUp5k="
"rev": "d25069779cc7258d5f8816d3ca175d463b0b6444",
"hash": "sha256-Xn9QTuep5J13ubgPwBwsWGAjq2Bg13mO+Sgm5Ibd4zc="
},
"src/third_party/nearby/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
@@ -1359,8 +1359,8 @@
},
"src/third_party/cros-components/src": {
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
"rev": "8d175bbffcaed7d388701535cc8c95457c179cff",
"hash": "sha256-R006KxdnaICIsOHpHlTQGKUJEkUs/PsetK2lISdDCDk="
"rev": "0abb2efaa3d16db861c9710b193c39e657ac3bdf",
"hash": "sha256-viuntf6umyLZwDR9BXG+ZOakp9f8rvpZYDBYAUkKzL4="
},
"src/third_party/libdrm/src": {
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
@@ -1389,13 +1389,13 @@
},
"src/third_party/libphonenumber/src": {
"url": "https://chromium.googlesource.com/external/libphonenumber.git",
"rev": "33be5664343676b27761213d8f5500d682568ea7",
"hash": "sha256-csaJmPPp6QhXLgwHpJJOuyAJ9MWlV3JPQO/XhOiuoPE="
"rev": "0ae309f1940227efe688f5eb1815ef45a6fbee8d",
"hash": "sha256-0dOWoIMFjdrz59OnshSk4uDg2AA33ENIdkrlLeqMy2Y="
},
"src/third_party/libprotobuf-mutator/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
"rev": "4373c81cd7d50a65f7fbd8dc3779c0c3b1dc9d72",
"hash": "sha256-FGrDHr8ye/xG3Kw4256g946uquS6f7dFq0PBd5Vqx0Y="
"rev": "c1c950eae0440c3808f2b8bd7c57d0c6a42c1a90",
"hash": "sha256-Su1SPr/GEFi7/N8/HrFkVbGfWH0vYdcJ5/on8zLMcyU="
},
"src/third_party/libsrtp": {
"url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
@@ -1414,8 +1414,8 @@
},
"src/third_party/libvpx/source/libvpx": {
"url": "https://chromium.googlesource.com/webm/libvpx.git",
"rev": "d603b5421220b05fd37c5bb6439eb0398cc1f1fe",
"hash": "sha256-ijgDvjxgNSo/qHxADEA0zDgqyr7vnFBJOENkQOutgJY="
"rev": "de61454cf81594d5927899da122fc53dcc4a846e",
"hash": "sha256-L9Wjsr67RgZ1bj686Y7N5nweg2fmUzuR6IkezoMGHiU="
},
"src/third_party/libwebm/source": {
"url": "https://chromium.googlesource.com/webm/libwebm.git",
@@ -1424,13 +1424,13 @@
},
"src/third_party/libwebp/src": {
"url": "https://chromium.googlesource.com/webm/libwebp.git",
"rev": "68dd1c3040d500f56fe7ffb754b1813fb64b5887",
"hash": "sha256-R2UDJ3L55jC+mWXSuETYrOgO7FIp/T+xPKgLJlddnfU="
"rev": "b43b2caa710c0c997c066cb32c7fea1391fad70a",
"hash": "sha256-k+nEPxiBvfBKIBVHCCQUayhpiVPSScPHdTlUriCDDlQ="
},
"src/third_party/libyuv": {
"url": "https://chromium.googlesource.com/libyuv/libyuv.git",
"rev": "1e2e3a35993609da1d89ac170b907719d555f4b3",
"hash": "sha256-AkCyW9qaI8ikrmXcehixiE0XTmMXjHCUtWZI4BAdMRE="
"rev": "f1c9b5898619f2ced836030c023249f5a8b189d1",
"hash": "sha256-eHKGS5lVlLx4o07OWw63xCOVR78H7j+nt5Tt0cm9gXM="
},
"src/third_party/lss": {
"url": "https://chromium.googlesource.com/linux-syscall-support.git",
@@ -1439,8 +1439,8 @@
},
"src/third_party/mac_alias/src": {
"url": "https://chromium.googlesource.com/external/github.com/dmgbuild/mac_alias.git",
"rev": "ecc3ad82459ec92894de5994d1b5c4adacbbc7a7",
"hash": "sha256-KUy4BPspHpNEKRX0eZx3ugqfohnsQ8GOZiWyNjgi2Pw="
"rev": "d0c076b4562541c1509d9874f42880378245d268",
"hash": "sha256-bhU0/l+WnRai+hUPGUfwllkEAR9bnKbeaRLt0m/5XDE="
},
"src/third_party/material_color_utilities/src": {
"url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
@@ -1449,8 +1449,8 @@
},
"src/third_party/minigbm/src": {
"url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
"rev": "a2d42f09d696b04e6ded5ad38596d8554ffd8988",
"hash": "sha256-kA1IqVVcN7hlt27RvNHJRlsbIGDSpV/0xeP5ZfJq+Io="
"rev": "9d21b5cb5896c0cde186b54d430131f9f537104c",
"hash": "sha256-uzdoA4yBp3ZIHYtW/OsxfNwxtxKFo+V9jx3u3MEkrV8="
},
"src/third_party/pipewire/src": {
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/pipewire/pipewire.git",
@@ -1474,8 +1474,8 @@
},
"src/third_party/openscreen/src": {
"url": "https://chromium.googlesource.com/openscreen",
"rev": "8978b74badf042795c07fcf99d0a53dccbd3dcf6",
"hash": "sha256-mao6MaBBFAYjwIwYMLNi27gOhx1qGyQxaCWGb9B7W9g="
"rev": "a515d3a249e7411fa251a27125815a06a2d73862",
"hash": "sha256-oQl+bL1fbvr42GqTgNrxNJX8upAFt9Nkn17580CnmfY="
},
"src/third_party/openscreen/src/buildtools": {
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
@@ -1484,13 +1484,8 @@
},
"src/third_party/openscreen/src/third_party/tinycbor/src": {
"url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
"rev": "213155c8729b07dea836c5ac6e807a089486bf7b",
"hash": "sha256-aVSaHJ+syjf/t4YE1UfmQnEclVTOASog9E9Rg1rnvNs="
},
"src/third_party/openscreen/src/third_party/simple_dns/src": {
"url": "https://chromium.googlesource.com/external/github.com/balliegojr/simple-dns.git",
"rev": "5c7ec98798d7c9f7d76df7aa3bbe754913ff5159",
"hash": "sha256-5rKB0P98L+PM8pA7j6Ebx5GMnq0C6awTYkltJjFOqOw="
"rev": "bac6648fed8c0ff3d34616e4fff7cdcca634a18e",
"hash": "sha256-uORje/zcnyarvycjhpbaiP8bbaqhPQn5tJ3Ewc89mRA="
},
"src/third_party/openxr/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenXR-SDK",
@@ -1499,13 +1494,13 @@
},
"src/third_party/pdfium": {
"url": "https://pdfium.googlesource.com/pdfium.git",
"rev": "a4d199fba716a1edcc5d032a1d875f9a8ef2c283",
"hash": "sha256-MXun5cwDHY45YXvdaUszTdTfPTOD0S4Fd/edfRZo07o="
"rev": "c97f02a3519c99d5969514970fd8186318cdb2b0",
"hash": "sha256-DdoMSaiwAb+nyq1Wppyv24S1ooR2XBDl6ydfD4O0t/U="
},
"src/third_party/perfetto": {
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
"rev": "b480aedf9171d15257a110f893bcaa940f94b907",
"hash": "sha256-bxgMzgWXcmSMttnTv01yVcOZRHxWyJK0RzlL1r+QFDQ="
"rev": "403906f4adfbf287a02e5546f8430dcc9d56b649",
"hash": "sha256-co2BXwGSloHlAz2BZF3yDmEjfuOtjzFKEAdxTF8w+GE="
},
"src/third_party/protobuf-javascript/src": {
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
@@ -1534,8 +1529,8 @@
},
"src/third_party/re2/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
"rev": "2da0056814cf180480a19f5cf811e7e1c054bf6d",
"hash": "sha256-80ecSWwzVRH7upyKvmP4WVw9NzZQmP9ylyZIjzW7WCo="
"rev": "972a15cedd008d846f1a39b2e88ce48d7f166cbd",
"hash": "sha256-oEU+dz8ax1S36+f9OysjB0GnQj8mjZx1VsZ/UgckdDI="
},
"src/third_party/ruy/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
@@ -1554,8 +1549,8 @@
},
"src/third_party/skia": {
"url": "https://skia.googlesource.com/skia.git",
"rev": "ca84ce0a6f1659748188469a89361ccea71e3a64",
"hash": "sha256-H/tfxE+LzCXM5+qk0rVMUdjBPJHQ85JIYSV0ZY4BQIw="
"rev": "aa789d9bd566b9865add4070dc6777b3266c64e9",
"hash": "sha256-ynH8Q/2lx4HQTnQNXkaKFPpyiY3SNNiOtIr6TrUBWxA="
},
"src/third_party/smhasher/src": {
"url": "https://chromium.googlesource.com/external/smhasher.git",
@@ -1574,8 +1569,8 @@
},
"src/third_party/swiftshader": {
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
"rev": "0f87bb2d3742c2992fd1a7dcb2f051eebf79299c",
"hash": "sha256-HW0K7upAK1IqpzxQXNyQ/SVhguHJ8aloF5OuxO6xFaw="
"rev": "1e80438d2b93ef36a7c05f8d2b81233bac0e3d16",
"hash": "sha256-RGzptM7BlGbMEnvlf7ZEVKaXorch+aChrZt+PneXueA="
},
"src/third_party/text-fragments-polyfill/src": {
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
@@ -1584,23 +1579,23 @@
},
"src/third_party/tflite/src": {
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
"rev": "35746aec160345c2de2f243cc774e678028d39d3",
"hash": "sha256-mVA9hlOPesgVf4bu6mCnQtWHjBSerFmRvJMaFpj2YdU="
"rev": "9edd58f895c58c3db484a9e39ab2e953baca4bca",
"hash": "sha256-iDLShSiKMXf2bQoMS4BXEj6Z1lMMvSjcnKzBJqzEQ2I="
},
"src/third_party/litert/src": {
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
"rev": "2a91591eca78fdded805e6f2d924f484b6ac94a7",
"hash": "sha256-1BQyGwowjNT8O4IcRKUbrfcCWMzyPR90VhbDQNZmXag="
"rev": "4dac1538b76bc20bb7f2ba314bcc89dc57c0ee2b",
"hash": "sha256-BEjQKsj75hgC/UrtfPDk0H6b5DGjtUY7XOLx+nalOkU="
},
"src/third_party/vulkan-deps": {
"url": "https://chromium.googlesource.com/vulkan-deps",
"rev": "da42ef74dde0a6687ad63b4c387732f3d55ea974",
"hash": "sha256-ky9Z4M7BdN7/WngYGMR5kVPYJMLNEZujK3uNhNZlImM="
"rev": "f86e6c66b639c9a6b24640218931d30a9b0f1e3e",
"hash": "sha256-nYDjQcfX7q7YvAjphF3j0c6d4qOK8eZPBbFN7kyCq68="
},
"src/third_party/glslang/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
"rev": "79c91f375f7e278cf99d6925c2b8d3de83ef0f53",
"hash": "sha256-INZR+y/e4GWnszVuBd8j1hlvK2qchrIittqyRdAv2fI="
"rev": "2ff6f609379ce43c4291c732cf6a19dd2461a680",
"hash": "sha256-sctbgPFzMiIrsQ4f2NxesGd57U5IxU3cHUnUtGi9+Wk="
},
"src/third_party/spirv-cross/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
@@ -1609,38 +1604,38 @@
},
"src/third_party/spirv-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
"rev": "86f980c731e62ae4eaf383d320449d71687936bf",
"hash": "sha256-SDfi9eXdnlhhAbT6V4Q5BoM3nkrxkZbiBGmIqWy2Pes="
"rev": "cb42dec3830d3ac67fa449ecdc0c0f73d5e74498",
"hash": "sha256-hZ2+H9M55rdvu/MZrrOsZCUXDWbLMDMHyUjDWz/1L7I="
},
"src/third_party/spirv-tools/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
"rev": "911d1eaf87fd7763b2365d7e339816fa31ec3f4b",
"hash": "sha256-VzxenrzCYwWKKPXOCajAXbRLXzdbUsNyv/1t75HXaDo="
"rev": "1d0401cd2b68ae34cda9ff625bedd1be4ed6214a",
"hash": "sha256-4kbPbbhTk5Ao6HBiCmEn7LBk1/3Yv2Hqp4HzNA1NbgY="
},
"src/third_party/vulkan-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
"rev": "c46850864f4661461b0f6cb9922c058ffea4915e",
"hash": "sha256-KyHdumYx8qIgQFcr+l4L9ayKpk1/6KBa3f7OyluqKbc="
"rev": "3c65a01745e4a1134d32b9c2c456472212dba16d",
"hash": "sha256-KElTEUIu/bhaJOQ77dd7Oyf6VY2td3B8Z6Xs6WJjb94="
},
"src/third_party/vulkan-loader/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
"rev": "6b45d76280a9525740c38c1796060eadb9267488",
"hash": "sha256-tglGZ+3C070wZ+z6W+kYC01KWw5ng9xbVqolNYFmUGo="
"rev": "3270cf8a1349306f0ddee1b500ee2b0d552e1c82",
"hash": "sha256-y269aTRmogCIE3NR09HeVApuQdOSuQ4G/NuNhHcKbr8="
},
"src/third_party/vulkan-tools/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
"rev": "a967170a2b8a1ded4dbdf82d533caaec89184efe",
"hash": "sha256-6xhtT5jfmvk92QKC2W1wQEiy/sE+Nm+EdTv6eS2RNKA="
"rev": "69ca4d4b6590ab32e7a398725bfc90f81e6338e6",
"hash": "sha256-3bbejjXeao9UeqTeZVWYSuN2iJF2LOohSfk36JXKuqY="
},
"src/third_party/vulkan-utility-libraries/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
"rev": "90738f6edfa19561a978fc5f97543ba37075ba9d",
"hash": "sha256-tUhLC0RcCUqNsoQ53zwfjR3mzd8/rSASzWQX463+EqY="
"rev": "666fdaa0f87b9d49ae576473227b4b4cf428ba7e",
"hash": "sha256-1Ov/gLfivOcYVuS7WEFzebRsFpERgBhJl0hgstR0l/k="
},
"src/third_party/vulkan-validation-layers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
"rev": "5b41089a2b3f2ccf5112279034154c3a4e89bf4c",
"hash": "sha256-DBiUwIIg5RkCtd0WEKRYnOFNRdb8PnW2CAGCZX5VvnU="
"rev": "b0688753f1fc04a382ef0fd8c46ecb5a7c91486c",
"hash": "sha256-eG+btKij7W9+o4fBO1SvVwYq8STHfNh9LFdbmHziv2Q="
},
"src/third_party/vulkan_memory_allocator": {
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
@@ -1669,8 +1664,8 @@
},
"src/third_party/webdriver/pylib": {
"url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
"rev": "6845a0329408f149fafdbe901f480e2bd47be3fb",
"hash": "sha256-9sPRx4Y3rj/FTyDP4QvRs2q7fbgJ/YfnCstj++izecA="
"rev": "1e954903022e9386b9acf452c24f4458dd4c4fc1",
"hash": "sha256-k5qx4xyO83jPtHaMh6aMigMJ3hsytFdFQOcZLmwPEYo="
},
"src/third_party/webgl/src": {
"url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
@@ -1679,13 +1674,13 @@
},
"src/third_party/webgpu-cts/src": {
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
"rev": "cc11994e92512d0a3715e9d28876ec48accb971a",
"hash": "sha256-+ikxnPBYDEBITYPaybQCowre+eDVKxrQnbImjUTCqWo="
"rev": "a5e5d7440fa036b74ea13c3c5cb6b618a3c884e9",
"hash": "sha256-+v0syXRVf0r95640qen3S9YlhJkCLR+Imxe149hiNLE="
},
"src/third_party/webpagereplay": {
"url": "https://chromium.googlesource.com/webpagereplay.git",
"rev": "6a31bb0937dccd01bedae8bd6cdeb8c113937cfb",
"hash": "sha256-+thmPEFOo42jdNxezA0AKdQYffqQ0BgHtXTe36fX1qE="
"rev": "219ee9a2bb0d0d1440832a0e1d44716833da1ff3",
"hash": "sha256-FfLmfG7nUPmiczWYgyu63n7vOuFOi4OjMT9w9igyWFw="
},
"src/third_party/webpagereplay/third_party/clang-format/script": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
@@ -1694,8 +1689,8 @@
},
"src/third_party/webrtc": {
"url": "https://webrtc.googlesource.com/src.git",
"rev": "95554e4a0c5c343fdc989387d9d0ce18e2a2294b",
"hash": "sha256-ocpn9O3GJdlU+KdQ7RMqO8UCGnsYwh25wiuflql8/yM="
"rev": "19576e37870bfe5a0a910a32f98ff411f722f43a",
"hash": "sha256-Pp3s7YVf7FUVEjjEcIwjnAAS3R5G8Id7uhLDGOqest8="
},
"src/third_party/wuffs/src": {
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
@@ -1709,8 +1704,8 @@
},
"src/third_party/xnnpack/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
"rev": "5d067b8f52342ba192ad9f67ebab9e77c1d046bc",
"hash": "sha256-C5yC8891L5OGyp3eWYPDmJxR8Q5cqJT16Fs1LZPvy9c="
"rev": "b6d54fe94520ee6e1181ca1b402f71dbb5d50efa",
"hash": "sha256-Xh/g0k4XcxH8F32n+AcACS0eXhmeEc3oMSuxqjx2+7w="
},
"src/third_party/libei/src": {
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/libinput/libei.git",
@@ -1724,13 +1719,13 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "440c1c463e2e528c309af5067952e7b11631507f",
"hash": "sha256-xJagwd/+02xASd1iam69ltdEPEUOwGODfKdkm94D/EQ="
"rev": "c9b3cfcab30ace06c21f9b48a0f0a34805e81e9d",
"hash": "sha256-3HhlZ6uCSq8T5a6N6TC7VkMBY3xkFoQUZbqpUUE4nro="
},
"src/agents/shared": {
"url": "https://chromium.googlesource.com/chromium/agents.git",
"rev": "868618a8d1327ea3f6ab037b947e51f93b889ce1",
"hash": "sha256-6NCYjk9Ji3xQmNqrRxiuYBa0AE9k7f2EHKpBRhV6jKc="
"rev": "865684c4f7092e4ab05adcd3fcf068672ff28d27",
"hash": "sha256-cZ6Jwjy+nwrU4qE+D85jq01mxPNuvbszjIU2Pd4LktI="
}
}
}

View File

@@ -1,138 +0,0 @@
{
"images-calico-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
"sha256": "9933625c6b44a7dec195c6cc74554c33ffcce72d316c7bf7e8187bed4333d6b3"
},
"images-calico-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
"sha256": "043be2fdbb45579ecbc7fafe963b66804c2a9a7ee87713db57b296add4b3f12d"
},
"images-calico-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
"sha256": "46feb745081534e38e546af946d9065ef5807ce7dae8812aeecf6ca2baf65367"
},
"images-calico-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
"sha256": "91874f5f1aaa5a2e70095cea92a9a315fe733bc1b6591339292c24a652824007"
},
"images-canal-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
"sha256": "10e56f0e0d574a3e63ec48f0ac0aa9a3b1dc0e8158965b312e2003f6b5dde0a6"
},
"images-canal-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
"sha256": "294426213e146205f37037d2ab7bc629225d53a785e3f89d5a5f7405d2f0c98d"
},
"images-canal-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
"sha256": "b3ae5858b2c1653870a2e0b8035f33a1ca635f40c7591cb176ac12fb4f58038f"
},
"images-canal-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
"sha256": "4d8fd98cb7810f25bd67e5ee6b5b5dd9ef894f4a7064f10bcdc06d12856157ff"
},
"images-cilium-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
"sha256": "bc28fc3f809f3d586e0e1db856f79b7df6bee779bfcb3a0bf4963d94afb245b4"
},
"images-cilium-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
"sha256": "920fe0c6cccc2da9c7dccf5c998d279ab6745ee6c386d5990ce270c0e8325960"
},
"images-cilium-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
"sha256": "d634bc24cfa620649e9f7995744b973b0c6d56c4930bfa1281e4ed6b58f0866a"
},
"images-cilium-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
"sha256": "c62103768bc0cefdd4d99687664f8031a5ca9d76858a5a12e91e9bfe417e26ab"
},
"images-core-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
"sha256": "9cb92353f8610d1d0a75fdde2f9f7d5d3eae2ee01af3acb18f2c4c9b91fb03ae"
},
"images-core-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
"sha256": "e15256a50156259f920537be98abaac23396d09bc443374571830b84d8ea978e"
},
"images-core-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
"sha256": "82f504aec15804828c126620490c94f5d7f1d05418b0e85b5645ad91657d3b9a"
},
"images-core-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
"sha256": "f1411256c867736e66248f14373ad4662a519392518a09eb6670d9dac0c39c1b"
},
"images-flannel-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
"sha256": "d615198d253d8d3a2ec52815be017f286f40b8d5ea21acf2df2e22fc5cd8f219"
},
"images-flannel-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
"sha256": "60ab2086db11ec872a191c560ff9ae4a18d42ae57745892ff79db2b6b31486c3"
},
"images-flannel-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
"sha256": "bc26fbafeb06d846f11eec40bd19d3c8a5d195f285a5373e5ad1827e85416213"
},
"images-flannel-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
"sha256": "8a6b05ac2b4722316eb4d404a648634a2a06cad12d729322c96b24cfdd6380ec"
},
"images-harvester-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
"sha256": "4b408c368f69ee833a101395593ae24f25ad1522d0f936aac3e9e32bdcbfab7b"
},
"images-harvester-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
"sha256": "42d35db6057a91b55d4f1fe9293a1169ebe37df897e0e8440143710f975ae57c"
},
"images-harvester-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
"sha256": "a00fe038f63c91b7c6bbe0bb2a570c67f9c6656a01854ec58e6708903994da18"
},
"images-harvester-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
"sha256": "61e8ab803b85cc69e03f60f098b2141b6b7f84ce87e1a8d771c822fb181bd1d4"
},
"images-ingress-nginx-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-amd64.tar.gz",
"sha256": "071f1d8ef4abe948713e3b557efb5270db99d8e84bceb4ec635af10ea847ca14"
},
"images-ingress-nginx-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-amd64.tar.zst",
"sha256": "d5b7d3f12de0799cebf84fc6260fc4f093f2837c5fef6fc84849d8f1da5cbc22"
},
"images-ingress-nginx-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-arm64.tar.gz",
"sha256": "6f5103cd00bf1321bcd04a706f5fb37fb7cb1770ec0877c4f59b28823d8579bc"
},
"images-ingress-nginx-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-arm64.tar.zst",
"sha256": "ae55e099bc706ff46166843107097f61518d3c0a7832c3f71ba1171e4506d497"
},
"images-multus-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
"sha256": "d5efcc7c6c73b1b1074e3d2d05abe8257c5dd855fcb16f74a5b25e46fdce8388"
},
"images-multus-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
"sha256": "fe86c55eb4c87190391670533c9b1f01944e3e8270dd40ea0e5e1155d01fcfcd"
},
"images-multus-linux-arm64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
"sha256": "821fa96604c1882591914ae6f90f3236e13ea4ebef9f8337743e5850eae83b62"
},
"images-multus-linux-arm64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
"sha256": "1becdd1f86739dbbc6fc80d17afe40b8c0bd2d84b5e8964a0d1e7132f219d122"
},
"images-vsphere-linux-amd64-tar-gz": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
"sha256": "fd8d68decd7acaec3cc632de6e7ec42c7fbacb60a3b7fade9535fc04774cde15"
},
"images-vsphere-linux-amd64-tar-zst": {
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
"sha256": "d45b40308a549669f2b0c375aa07e9dcda8aef01c27749b00e71aaf2611de995"
}
}

View File

@@ -1,13 +0,0 @@
{
rke2Version = "1.37.1+rke2r1";
rke2Commit = "bb33a3e8f191b46f773bd4eae2fe471927126c1b";
rke2TarballHash = "sha256-ezTW6Xhf3hxizz6Lv/aa9NjaXa0z9fANAsaoEY1W6v4=";
rke2VendorHash = "sha256-vvKAp2VgId0H9kxNrJos+ANPFgc3MV3cNdeUvFv+io0=";
k8sImageTag = "v1.37.1-rke2r1-build20260924";
etcdVersion = "v3.7.1-k3s3-build20260915";
pauseVersion = "3.10.2";
ccmVersion = "v1.37.1-0.20260915225838-315ede265f11-build20260916";
dockerizedVersion = "v1.37.1-rke2r1";
helmJobVersion = "v0.13.3-build20260909";
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
}

View File

@@ -42,8 +42,6 @@ lib:
systemd,
gnugrep,
gnused,
nftables,
gawk,
# Testing dependencies
nixosTests,
@@ -151,8 +149,6 @@ buildGoModule (finalAttrs: {
systemd
gnugrep
gnused
nftables
gawk
]
} \
--prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}

View File

@@ -11,9 +11,7 @@ rec {
rke2_1_36 = common (import ./1_36/versions.nix) extraArgs;
rke2_1_37 = common (import ./1_37/versions.nix) extraArgs;
# Automatically set by update script, changes shouldn't be backported
rke2_stable = rke2_1_36;
rke2_latest = rke2_1_37;
rke2_stable = rke2_1_35;
rke2_latest = rke2_1_36;
}

View File

@@ -33,6 +33,8 @@ set +u
source scripts/version.sh
set -u
ETCD_BUILD=$(grep "images.DefaultEtcdImage" scripts/build-binary | sed 's/.*-\(build[0-9]*\)$/\1/')
ETCD_VERSION="${ETCD_VERSION}-${ETCD_BUILD}"
cd ${WORKDIR}
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
@@ -65,7 +67,7 @@ cat << EOF > "${WORKDIR}/1_${MINOR_VERSION}/versions.nix"
rke2TarballHash = "${STORE_HASH}";
rke2VendorHash = "${FAKE_HASH}";
k8sImageTag = "${KUBERNETES_IMAGE_TAG}";
etcdVersion = "${ETCD_IMAGE_TAG}";
etcdVersion = "${ETCD_VERSION}";
pauseVersion = "${PAUSE_VERSION}";
ccmVersion = "${CCM_VERSION}";
dockerizedVersion = "${DOCKERIZED_VERSION}";

View File

@@ -36,13 +36,13 @@
"vendorHash": "sha256-rpsVkSX4GvCSNuT8cea1IPce+NIUGZqkQmB3ZxhKjrM="
},
"akamai_akamai": {
"hash": "sha256-RQgEg8FV6y/6WVYcPOXaC+ZgJtqEsyFYuvFDfPHSsp0=",
"hash": "sha256-6nKfNzNsqp5x6/C5hr1UNC2gz5eTV2DonNQ3olvGxIA=",
"homepage": "https://registry.terraform.io/providers/akamai/akamai",
"owner": "akamai",
"repo": "terraform-provider-akamai",
"rev": "v12.0.0",
"rev": "v11.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-iYrZ1u5na162vXZ+DbgmwoyC0/d73DznUcypORQp2Lk="
"vendorHash": "sha256-HlX2EfTgDa7K7qkzmR/9Rsamyi/f4EXT3T7eaReGeK4="
},
"aliyun_alicloud": {
"hash": "sha256-R/NNA0zLxno04YxQWvDeA+bXhgjM/7Q0WOoSu2lLMAM=",
@@ -525,11 +525,11 @@
"vendorHash": null
},
"hashicorp_azurerm": {
"hash": "sha256-WEOhduXb/+QxThy7N+gTBS7xgPyQnU6vis3kcwBFGFU=",
"hash": "sha256-F0Y/jgR0iNA9DrmmdwHcky8Yii6aB4QSpNguObaq7ow=",
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
"owner": "hashicorp",
"repo": "terraform-provider-azurerm",
"rev": "v5.12.0",
"rev": "v5.11.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -1228,13 +1228,13 @@
"vendorHash": "sha256-raw9hcAvzBKy8bLbUNM36JZTYYE//r7b3HdZ3qFLtPY="
},
"splunk-terraform_signalfx": {
"hash": "sha256-IYvDyd1lbhiAQDLWUSt1H7geHaLBbX8xp+uFBrjaK+U=",
"hash": "sha256-t096v7RCmJJTIoFYl/WoN9v4vq1X3PAIgUD57EIbM0Y=",
"homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
"owner": "splunk-terraform",
"repo": "terraform-provider-signalfx",
"rev": "v9.36.0",
"rev": "v9.35.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-UPEnosJe2ud712EZGqPOiZwpTGCh8fvjvr0kQnmcPsk="
"vendorHash": "sha256-jEqN6WvPXKxk9UHKZrzXo1+L6tHVV1Wb+E0O22LfMl0="
},
"spotinst_spotinst": {
"hash": "sha256-9sg3PYpEF974qpwDmTwJ/JnJvt1aPCG5VdMZSflpAOs=",
@@ -1300,11 +1300,11 @@
"vendorHash": "sha256-MySaED4kj+F2rYaYu1rpw5qUQFBx9u2Prpn+nqvqqA0="
},
"temporalio_temporalcloud": {
"hash": "sha256-nPStiYzPrZo7Gy0XJmEoSmCcZJ2ItkAfACxT8VV4q7c=",
"hash": "sha256-xIyYQ6882s1e+0Th26Atzg07I27WDAOBmgeI2WU3v/g=",
"homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
"owner": "temporalio",
"repo": "terraform-provider-temporalcloud",
"rev": "v1.10.0",
"rev": "v1.9.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-t799EW0oXtzzHVjbOv5dPQ5V070wg7Y8MZohQ1O70Pk="
},
@@ -1408,11 +1408,11 @@
"vendorHash": "sha256-XH3Z47i7WTiZ+WrUadoRABcXD8ZkeXnJHINKkAHseE8="
},
"ucloud_ucloud": {
"hash": "sha256-MUasMXdu7irI35VMdz3SFIfEHGSY32AxQ6KTVEovND0=",
"hash": "sha256-IspQAyPo+d5sI7NCmdBJ85VZs7aEFsY/RA9yJFEKc58=",
"homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
"owner": "ucloud",
"repo": "terraform-provider-ucloud",
"rev": "v1.49.0",
"rev": "v1.48.0",
"spdx": "MPL-2.0",
"vendorHash": null
},

View File

@@ -50,14 +50,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "telegram-desktop-unwrapped";
version = "7.3.5";
version = "7.3.3";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-pe/zoG4/wv5080O6z0pKphkbYoBYTKFTN+5U+AQ8g14=";
hash = "sha256-tgOIYe6iMiCDphGmuNo3foM5udSWS1y8NDluV/ubNqE=";
};
nativeBuildInputs = [

View File

@@ -100,8 +100,8 @@ rec {
thunderbird-153 = common {
applicationName = "Thunderbird ESR";
version = "153.6.0esr";
sha512 = "fe7a4bdd6bb4627141982600da2d76b8c0e0e6fb2f876715cc58f1cfb42b1c0d03e66e8b75d8e62e89bb8348eeac85ce9fc8c9a58ee3bccf365d82061a1161fc";
version = "153.5.1esr";
sha512 = "e2f84cbef7454d908438c79d7073297d7cb5aacdbe65f9d2680d2a80be46b800fc6a7cce50037e8646ed1e9846ef54383f72695a69dddc43f1d972a76ba369a3";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-153";

View File

@@ -5,7 +5,7 @@
obs-studio,
cmake,
qt6,
ndi,
ndi-6,
curl,
}:
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
buildInputs = [
obs-studio
qt6.qtbase
ndi
ndi-6
curl
];
@@ -37,12 +37,12 @@ stdenv.mkDerivation rec {
postPatch = ''
# Add path (variable added in hardcode-ndi-path.patch
substituteInPlace src/plugin-main.cpp --replace-fail "@NDI@" "${ndi}"
substituteInPlace src/plugin-main.cpp --replace-fail "@NDI@" "${ndi-6}"
# Replace bundled NDI SDK with the upstream version
# (This fixes soname issues)
rm -rf lib/ndi
ln -s ${ndi}/include lib/ndi
ln -s ${ndi-6}/include lib/ndi
'';
cmakeFlags = [ "-DENABLE_QT=ON" ];

View File

@@ -122,20 +122,3 @@ pnpmConfigHook() {
if [ -z "${dontPnpmConfigure-}" ]; then
postConfigureHooks+=(pnpmConfigHook)
fi
# Does not replace deleting .modules.yaml before a later pnpm command.
pnpmStripInstallState() {
local output prefixes=()
for output in $(getAllOutputNames); do
[ ! -e "${!output}" ] && continue
prefixes+=("${!output}")
done
# Impure files; see doc/languages-frameworks/javascript.section.md.
find "${prefixes[@]}" \
\( -name .modules.yaml -o -name .pnpm-workspace-state-v1.json \) \
-delete
}
if [ -z "${dontPnpmConfigure-}" ] && [ -z "${dontPnpmStripInstallState-}" ]; then
postFixupHooks+=(pnpmStripInstallState)
fi

View File

@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "35.2.0";
version = "35.1.0";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
tag = "v${finalAttrs.version}";
hash = "sha256-ycDQUDrwMY9yv/apozrKQfcugurGjDiItiTXCcbGeas=";
hash = "sha256-3YJeZZEm7rnKZhBpKB2pRVNds+xXk18dSbSdSM+hl58=";
fetchSubmodules = true;
};

View File

@@ -8,12 +8,12 @@
stdenv.mkDerivation {
pname = "althttpd";
version = "0-unstable-2026-10-29";
version = "0-unstable-2026-10-22";
src = fetchfossil {
url = "https://sqlite.org/althttpd/";
rev = "eb0de533f4f7f663";
hash = "sha256-J2ul+cJ6cfI3tAOHZOPmB7fKdwYoKnjXoadBvZmqZ9s=";
rev = "0912eae49b4f7fcf";
hash = "sha256-KnSHSFvD1qI4UF1jYPyX5/2QsqnQs4RP+W2T9PviImM=";
};
buildInputs = [ openssl ];

View File

@@ -9,13 +9,13 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "amd-debug-tools";
version = "0.2.22";
version = "0.2.20";
pyproject = true;
src = fetchgit {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git";
tag = finalAttrs.version;
hash = "sha256-k1BRhfaoPGUi4S1njE1qYjvd4fO0Pkzl0iTy8Tkn0tk=";
hash = "sha256-JDacCakZC+4N4IDAODWLSuensAtFArl052I4weK/zJQ=";
};
build-system = with python3Packages; [
@@ -55,7 +55,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
meta = {
description = "Debug tools for AMD systems";
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git";
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ samuela ];
platforms = lib.platforms.linux;

View File

@@ -57,7 +57,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
mainProgram = "ansible-doctor";
homepage = "https://github.com/thegeeklab/ansible-doctor";
changelog = "https://github.com/thegeeklab/ansible-doctor/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
license = lib.licenses.lgpl3Only;
maintainers = with lib.maintainers; [ tboerger ];
};
})

View File

@@ -45,21 +45,21 @@ let
sources = {
x86_64-linux = {
platform = "linux-x64";
hash = "sha256-OmdXBLmzowcOBsDVDTUzBDr1RSHNFcZUlOnNwr8YlmQ=";
hash = "sha256-n5y9LbnhlvZW2fTK97+Zr3Vukzb3BBIiCvnzlmm2kiI=";
};
aarch64-linux = {
platform = "linux-arm";
hash = "sha256-hJvCU8WHceycmlL4iPBgfK1cO0NbgkHu+LKGnwYS9gc=";
hash = "sha256-7B7CjowAT3IMWrhznTJJxdA77VRqv+2iwXIUHmW6rfA=";
};
aarch64-darwin = {
platform = "darwin-arm";
hash = "sha256-e/FUGd2uEPry6dBwTizs/e8SqoWPGbI9k2i+t4IDsLc=";
hash = "sha256-tiuU0lMo2ttIgWpgUq2lX3luyLNdVndC+GI85cdSsBo=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "antigravity-hub";
version = "2.29.0";
version = "2.25.0";
src =
let
@@ -183,7 +183,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
# Download URLs embed a build ID next to the version, e.g. `2.12.2-6298742303883264`.
buildId = "5723181030440960";
buildId = "6535192714805248";
updateScript = ./update.sh;
};

View File

@@ -25,7 +25,7 @@ buildGoModule (finalAttrs: {
# Use only versions specified in anytype-ts middleware.version file:
# https://github.com/anyproto/anytype-ts/blob/v<anytype-ts-version>/middleware.version
version = "0.51.7";
version = "0.51.5";
# Update only together with 'anytype' package.
# nixpkgs-update: no auto update
@@ -33,10 +33,10 @@ buildGoModule (finalAttrs: {
owner = "anyproto";
repo = "anytype-heart";
tag = "v${finalAttrs.version}";
hash = "sha256-r/V5L1RswCq/llka8u08ciqENasI08dWfnX8j4PeV3c=";
hash = "sha256-RVtUquNuNm4tPoOEMagBSFN+kF6RNkBraVkjujdGfsE=";
};
vendorHash = "sha256-57Mz/NZQPX70KxmEnV0xiAhldOxf9AjFbGYSVZAdGvs=";
vendorHash = "sha256-I9F1PKjVYcAqTw+g1X9ff3EzG/79j93m7JktqUJutXU=";
subPackages = [ "cmd/grpcserver" ];
tags = [

View File

@@ -24,7 +24,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "anytype";
version = "0.57.7";
version = "0.57.4";
strictDeps = true;
@@ -32,14 +32,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
owner = "anyproto";
repo = "anytype-ts";
tag = "v${finalAttrs.version}";
hash = "sha256-0sxk2N1Tn944Tsw3b9d9P8tK3Tr+ZNNCLcTYI+uOAHg=";
hash = "sha256-dEDHydI+KeCV5oYKYddlOYcs4z62zWkGw37S8MNwASI=";
};
locales = fetchFromGitHub {
owner = "anyproto";
repo = "l10n-anytype-ts";
rev = "76ca893d472dae5cc4e30d3dd8d9306a775900ce";
hash = "sha256-BLYH+FBgPGA5AwiX2cQ1pDb79JG814Asu6s1U3qW6Ig=";
rev = "611852b1a883f0b980efc674dc0df5fdfb2dbb7d";
hash = "sha256-kxRkwrGUdv97XOo1XvDITaQOqYKV1ZkHsJRt3/VXJ4A=";
};
node_modules = stdenvNoCC.mkDerivation {
@@ -87,7 +87,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
dontFixup = true;
outputHash = "sha256-Uj5BgYEJ/NTkbc18BlG4SzX11B4zbktm+MP4h6oNTUQ=";
outputHash = "sha256-ryGxMV8Rr1EbLJuIJf9ZXYj5jsIXueF53DS315DY/yQ=";
outputHashMode = "recursive";
};

View File

@@ -4,7 +4,6 @@
fetchFromGitHub,
zig_0_17,
nix-update-script,
anyzigExe ? "zig", # "zig" or "zls"
}:
let
@@ -12,8 +11,8 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "any${anyzigExe}";
version = "2026_11_03";
pname = "anyzig";
version = "2026_10_23";
__structuredAttrs = true;
strictDeps = true;
@@ -22,14 +21,13 @@ stdenv.mkDerivation (finalAttrs: {
owner = "marler8997";
repo = "anyzig";
tag = "v${finalAttrs.version}";
hash = "sha256-ripM/SMZNvfRcQyq5hM+kcQH3yQik1WVmACAWhOK/eE=";
hash = "sha256-aB3XGcyCQStxY2KDFxhcfmG5EzaBCBQ1AzkMPmRQ39s=";
};
nativeBuildInputs = [ zig ];
zigDeps = zig.fetchDeps {
inherit (finalAttrs) version src;
pname = "anyzig";
inherit (finalAttrs) pname version src;
hash = "sha256-UHKvzdYb7akR87WucYdCa/hlfo+KQxV8BSug7BbIkHk=";
};
@@ -37,22 +35,14 @@ stdenv.mkDerivation (finalAttrs: {
ln -s ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p"
'';
zigBuildFlags = lib.optionals (anyzigExe != "zig") [ "install-${anyzigExe}" ];
installPhase = ''
runHook preInstall
install -Dt $out/bin zig-out/bin/${anyzigExe}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Universal ${anyzigExe} executable that lets you run any version of ${anyzigExe}";
description = "Universal zig executable that lets you run any version of zig";
homepage = "https://github.com/marler8997/anyzig";
changelog = "https://github.com/marler8997/anyzig/releases/tag/${finalAttrs.src.tag}";
changelog = "https://github.com/marler8997/anyzig/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ defelo ];
mainProgram = anyzigExe;
mainProgram = "zig";
};
})

View File

@@ -1 +0,0 @@
{ anyzig }: anyzig.override { anyzigExe = "zls"; }

View File

@@ -23,11 +23,11 @@ stdenvNoCC.mkDerivation (
sources = {
aarch64-darwin = {
name = "Aptakube_${finalAttrs.version}_universal.dmg";
hash = "sha256-I/rK8PH6rwi3er65tpmEBwUvoOrH7wU9trzxDu/KAVM=";
hash = "sha256-ev58zJCqORu8jSPebBaa7HDcwXs+gpoJi3+194/1ZII=";
};
x86_64-linux = {
name = "aptakube_${finalAttrs.version}_amd64.deb";
hash = "sha256-roM0MJsqazteva6/VuDXMXKfJt/f5hOBmt9T6hW1bRY=";
hash = "sha256-oBQ5yZvmsbvD0EXMgfPUDANnkY3ixx9FYY4Qg+oi8r8=";
};
};
@@ -42,7 +42,7 @@ stdenvNoCC.mkDerivation (
in
{
pname = "aptakube";
version = "1.22.1";
version = "1.21.4";
__structuredAttrs = true;
strictDeps = true;

View File

@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "argo-rollouts";
version = "1.10.2";
version = "1.10.1";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${finalAttrs.version}";
sha256 = "sha256-UUpJFkEBg+Ue8+i7ygd82Jl5ILB6bh7OTtEZw/T2XA8=";
sha256 = "sha256-AC1a6tMxZBvwb/uofiJ99q72wI1VmbYr3HSJBsfNXK4=";
};
vendorHash = "sha256-UccmVVb640CnhmByMc/pB+RyYoDdgBX88U3zhcQ/jpg=";

View File

@@ -9,7 +9,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "arity";
version = "0.29.0";
version = "0.26.0";
__structuredAttrs = true;
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "jolars";
repo = "arity";
tag = "v${finalAttrs.version}";
hash = "sha256-RqjrMHNRyeE7OYCi4Yrbg6yUXse7/O3hrfF8ssoB1V4=";
hash = "sha256-0hyt5/qvrqm8D+h5DfK4v98xYm9Ks47xd7AJHu/Jlrg=";
};
cargoHash = "sha256-ob6LcatC8xLUX+eQO1lqRTCBssQlEJrxGS1cqTB5j6A=";
cargoHash = "sha256-CDU+2phtEKI098YfKVxUPAvN1/FxcW64ORlKbIEqSEo=";
nativeBuildInputs = [
installShellFiles

View File

@@ -13,7 +13,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "arti";
version = "2.8.0";
version = "2.7.0";
src = fetchFromGitLab {
domain = "gitlab.torproject.org";
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "core";
repo = "arti";
tag = "arti-v${finalAttrs.version}";
hash = "sha256-InCAlqPG2p5q049aiPgMZu32LWZQbaqd06amnxrKcEo=";
hash = "sha256-28s2BnesadPGm1gQDxzIqSgGaUd8ZgoTpKK3WXBRU9Q=";
};
# Working around a bug in cargo that appears with cargo-auditable, see
@@ -31,13 +31,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '"http"' '"dep:http"' \
--replace-fail '"tokio-util"' '"dep:tokio-util"' \
--replace-fail '"opentelemetry-appender-tracing",' ""
substituteInPlace crates/equix/Cargo.toml \
--replace-fail '"dep:visibility"' '"visibility"'
'';
buildAndTestSubdir = "crates/arti";
cargoHash = "sha256-grgIqU1gw1UqeGgR4aR7cAOxBW91F12bHMgOj4pgLcY=";
cargoHash = "sha256-g+t5X1t0koUzqoHpY8+lncqRobdDuZggXtD3HRk9ryE=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];

View File

@@ -47,13 +47,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "astc-encoder";
version = "5.7.1";
version = "5.7.0";
src = fetchFromGitHub {
owner = "ARM-software";
repo = "astc-encoder";
tag = finalAttrs.version;
hash = "sha256-Pf2See1A+a65pMTimRjiEz3V0Sy4t2fHUhiFqyJfu08=";
hash = "sha256-g/XuCBs07G8Tpod6be8lQ5A8Jh52JUzrstrToAgT2ag=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -5,12 +5,11 @@
pkgsCross,
meson,
ninja,
codecs ? [ "all_free" ],
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "avd-fw";
version = "0.2";
version = "0.1";
__structuredAttrs = true;
strictDeps = true;
@@ -19,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
owner = "AsahiLinux";
repo = "avd-fw";
tag = "v${finalAttrs.version}";
hash = "sha256-ib8vn/PbBNv3BWPuWmRZ+dXEcPuJ21Wl+cynf0WPySc=";
hash = "sha256-cq/gOgmbCg5IX0GSiS7Z5lBhpursB1Num8LSANw5fpI=";
};
nativeBuildInputs = [
@@ -28,14 +27,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
meson
];
postPatch = ''
meson rewrite kwargs set project / version '${finalAttrs.version}'
'';
mesonBuildType = "release";
mesonFlags = [
"--cross-file=arm-none-eabi-gcc.ini"
(lib.mesonOption "video-codecs" (lib.concatStringsSep "," codecs))
"--buildtype"
"release"
];
meta = {

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "avisynthplus";
version = "3.7.6";
version = "3.7.5";
src = fetchFromGitHub {
owner = "AviSynth";
repo = "AviSynthPlus";
tag = "v${finalAttrs.version}";
hash = "sha256-hIJW5eBb9ZbRQEJXh2LoMzfgQCRh0CKNeIwiP3qjSM0=";
hash = "sha256-RkEZWsAKZABtl+SbRLCjMqyQoi9ainbaI9hWlpO6Fwo=";
};
patchPhase = ''

View File

@@ -1,41 +0,0 @@
diff --git a/src/barman/command_wrappers.py b/src/barman/command_wrappers.py
index 455f05d1..3d1d85b9 100644
--- a/src/barman/command_wrappers.py
+++ b/src/barman/command_wrappers.py
@@ -1415,7 +1415,7 @@ class BarmanSubProcess(object):
# * be sure to run it with the right python interpreter
# * pass the current configuration file with -c
# * set it quiet with -q
- self.command = [sys.executable, command, "-c", config, "-q", subcommand]
+ self.command = [command, "-c", config, "-q", subcommand]
self.keep_descriptors = keep_descriptors
# Handle args for the sub-command (like the server name)
if args:
diff --git a/tests/test_command_wrappers.py b/tests/test_command_wrappers.py
index 22fcef18..d3ba693f 100644
--- a/tests/test_command_wrappers.py
+++ b/tests/test_command_wrappers.py
@@ -2282,7 +2282,6 @@ class TestBarmanSubProcess(object):
subcommand="fake-cmd", config="fake_conf"
)
assert subprocess.command == [
- sys.executable,
sys.argv[0],
"-c",
"fake_conf",
@@ -2307,7 +2306,6 @@ class TestBarmanSubProcess(object):
args=["a", "b"],
)
assert subprocess.command == [
- sys.executable,
"path/to/barman",
"-c",
"fake_conf",
@@ -2329,7 +2327,6 @@ class TestBarmanSubProcess(object):
subprocess.execute()
command = [
- sys.executable,
"path/to/barman",
"-c",
"fake_conf",

View File

@@ -1,57 +0,0 @@
diff --git a/src/barman/fs.py b/src/barman/fs.py
index 3870a342..955d6eae 100644
--- a/src/barman/fs.py
+++ b/src/barman/fs.py
@@ -17,6 +17,7 @@
# along with Barman. If not, see <http://www.gnu.org/licenses/>.
import logging
+import os
import re
import shutil
import sys
@@ -163,26 +164,7 @@ class UnixLocalCommand(object):
"""
if not self.exists(path):
raise FsOperationFailed("Following path does not exist: %s" % path)
- args = ["-c", "%a", path]
- if self.is_osx():
- print("is osx")
- args = ["-f", "%Lp", path]
- cmd_ret = self.cmd("stat", args=args)
- if cmd_ret != 0:
- raise FsOperationFailed(
- "Failed to get file mode for %s: %s" % (path, self.internal_cmd.err)
- )
- return self.internal_cmd.out.strip()
-
- def is_osx(self):
- """
- Identify whether is is a Linux or Darwin system
- :return: True is it is osx os
- """
- self.cmd("uname", args=["-s"])
- if self.internal_cmd.out.strip() == "Darwin":
- return True
- return False
+ return str(oct(os.stat(path).st_mode)[-3:])
def validate_file_mode(self, path, mode):
"""
@@ -434,15 +416,7 @@ class UnixLocalCommand(object):
"""
if not self.exists(path):
raise FsOperationFailed("Following path does not exist: %s" % path)
- args = ["-c", "%d", path]
- if self.is_osx():
- args = ["-f", "%d", path]
- cmd_ret = self.cmd("stat", args=args)
- if cmd_ret != 0:
- raise FsOperationFailed(
- "Failed to get file mode for %s: %s" % (path, self.internal_cmd.err)
- )
- return self.internal_cmd.out.strip()
+ return str(os.stat(path).st_dev)
class UnixRemoteCommand(UnixLocalCommand):

View File

@@ -1,5 +1,6 @@
{
lib,
stdenv,
fetchFromGitHub,
file,
python3Packages,
@@ -7,32 +8,32 @@
versionCheckHook,
nix-update-script,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "barman";
version = "3.20.1";
version = "3.19.1";
pyproject = true;
src = fetchFromGitHub {
owner = "EnterpriseDB";
repo = "barman";
tag = "release/${finalAttrs.version}";
hash = "sha256-wNagSqTuDHGnqUW/DWQ42juse5F+WPsvevB0OLhH06U=";
hash = "sha256-7K7ibg2/hr5wBzGR8cW5FZNtPPFEBA7xPwmOl2c1fOU=";
};
patches = [
./01-unwrap-subprocess.patch
# 20260917: known issue in upstream (https://github.com/EnterpriseDB/barman/issues/753) since 2023. Temporary patch until redesign implemented or this patch is upstreamed (https://github.com/EnterpriseDB/barman/pull/1223)
./02-py-stdlib-stat.patch
./unwrap-subprocess.patch
];
# https://github.com/EnterpriseDB/barman/blob/release/3.14.1/barman/encryption.py#L214
postPatch = ''
substituteInPlace src/barman/encryption.py \
substituteInPlace barman/encryption.py \
--replace-fail '"file"' '"${lib.getExe file}"'
'';
build-system = with python3Packages; [
uv-build
distutils
setuptools
];
dependencies = with python3Packages; [
@@ -60,9 +61,14 @@ python3Packages.buildPythonApplication (finalAttrs: {
];
disabledTests = [
# 20260917: AssertionError: assert 'usage: __mai...ilog string\n' == 'usage: pytho...ilog string\n'
# https://github.com/EnterpriseDB/barman/blob/release/3.20.0/tests/test_cli.py#L2893
# Assertion error
"test_help_output"
"test_exits_on_unsupported_target"
"test_resolve_mounted_volume_failure"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# FsOperationFailed
"test_get_file_mode"
];
passthru = {
@@ -76,43 +82,11 @@ python3Packages.buildPythonApplication (finalAttrs: {
meta = {
description = "Backup and Recovery Manager for PostgreSQL";
longDescription = ''
**Barman** (Backup and Recovery Manager) is an open-source administration
tool for disaster recovery of PostgreSQL servers written in Python.
The main features and goals of Barman are:
* Full hot physical backup of a PostgreSQL server
* Point-In-Time-Recovery (PITR)
* Management of multiple PostgreSQL servers
* Remote backup via rsync/SSH or `pg_basebackup` (including a 9.2+ standby)
* Support for both local and remote (via SSH) recovery
* Support for both WAL archiving and streaming
* Support for synchronous WAL streaming (“zero data loss”, RPO=0)
* Incremental backup and recovery
* Incremental backup and recovery
* Parallel backup and recovery
* Hub of WAL files for enhanced integration with standby servers
* Management of retention policies for backups and WAL files
* Server status and information
* Compression of WAL files (bzip2, gzip or custom)
* Management of base backups and WAL files through a catalogue
* A simple INI configuration file
* Totally written in Python
* Relocation of PGDATA and tablespaces at recovery time
* General and disk usage information of backups
* Server diagnostics for backup
* Integration with standard archiving tools (e.g. tar)
* Pre/Post backup hook scripts
* Local storage of metadata
'';
homepage = "https://pgbarman.org";
homepage = "https://www.pgbarman.org/";
changelog = "https://github.com/EnterpriseDB/barman/blob/${finalAttrs.src.tag}/RELNOTES.md";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
debtquity
];
mainProgram = "barman";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,30 @@
--- a/barman/command_wrappers.py
+++ b/barman/command_wrappers.py
@@ -1144,5 +1144,5 @@
# * pass the current configuration file with -c
# * set it quiet with -q
- self.command = [sys.executable, command, "-c", config, "-q", subcommand]
+ self.command = [command, "-c", config, "-q", subcommand]
self.keep_descriptors = keep_descriptors
# Handle args for the sub-command (like the server name)
--- a/tests/test_command_wrappers.py
+++ a/tests/test_command_wrappers.py
@@ -1595,5 +1595,4 @@
)
assert subprocess.command == [
- sys.executable,
sys.argv[0],
"-c",
@@ -1622,5 +1621,4 @@
)
assert subprocess.command == [
- sys.executable,
"path/to/barman",
"-c",
@@ -1644,5 +1642,4 @@
command = [
- sys.executable,
"path/to/barman",
"-c",

View File

@@ -10,7 +10,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "base91";
version = "0.3.3";
version = "0.3.2";
__structuredAttrs = true;
@@ -18,13 +18,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "douzebis";
repo = "base91";
tag = "v${finalAttrs.version}";
hash = "sha256-6rZ2eenDxQcAAi6CA8EejVwqQxlqlEsniBwjBRZytDw=";
hash = "sha256-1v/kvv+IUoYmrs6MrBmnA4UYIRjN4KICW/Q0zaiiGq0=";
};
cargoRoot = "rust";
buildAndTestSubdir = "rust/base91-cli";
cargoHash = "sha256-ytaZPSdttJaiK9aPPJ/CiFwxWJp61VYoL3e/1K+3dpE=";
cargoHash = "sha256-5ubqTQQz0OBZoe3Ql/e1H5S1cL1EhYVabcZ9FkfQzao=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -57,6 +57,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
'';
preInstall = ''
# remove unnecessary files
rm node_modules/.modules.yaml
# `pnpm prune` doesn't support monorepos, and with pnpm 12 it also tries
# to verify the lockfile against supply-chain policies over the network.
# Reinstall production dependencies only instead, as `pnpm prune --help`
@@ -72,6 +74,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
# https://github.com/pnpm/pnpm/issues/3645
find node_modules server/node_modules -xtype l -delete
# remove non-deterministic files
rm node_modules/.modules.yaml
'';
installPhase = ''

View File

@@ -11,16 +11,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "biome";
version = "2.6.5";
version = "2.6.4";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "@biomejs/biome@${finalAttrs.version}";
hash = "sha256-ogWvhY1SRYIu1llSGWtuGSVKDG6Vhs6YmLO6aembjvw=";
hash = "sha256-/oaXa8UrmKFM431oWMQj1acCgwGwYBn9eTqzlr4xwYs=";
};
cargoHash = "sha256-8d9he9/GMsGvoZnTexpMzsuEczgwOVB/3OmvU8Pq+Us=";
cargoHash = "sha256-U7sufX7qaMZLkq64ct8rgD8O7p5JokCOhnImhzg77GY=";
nativeBuildInputs = [ pkg-config ];

View File

@@ -215,6 +215,5 @@ stdenv.mkDerivation (finalAttrs: {
];
license = lib.licenses.mit;
platforms = lib.platforms.unix;
mainProgram = if withGui then "bitcoin-qt" else "bitcoind";
};
})

View File

@@ -2,37 +2,24 @@
rustPlatform,
fetchFromGitHub,
lib,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bkt";
version = "0.8.2";
version = "0.8.0";
src = fetchFromGitHub {
owner = "dimo414";
repo = "bkt";
tag = finalAttrs.version;
hash = "sha256-qb7uRvCAXCayDIg8yQfF/Yxe0pNvR3giCQYmMIur2rM=";
sha256 = "sha256-XQK7oZfutqCvFoGzMH5G5zoGvqB8YaXSdrwjS/SVTNU=";
};
cargoHash = "sha256-locf3k0jIT9RNQS9yCUtOpj4oKo5pOBU3CEYAJDbaPU=";
checkFlags = [
# Requires the use of "sudo" cmd which nix sandbox does not have
"--skip=cli::cache_dirs_multi_user"
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
cargoHash = "sha256-4CY2A6mPTfGhqUh+nNg6eaTIVwA9ZtgH5jHQDGHnK4c=";
meta = {
description = "Subprocess caching utility";
homepage = "https://github.com/dimo414/bkt";
changelog = "https://github.com/dimo414/bkt/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.mangoiv ];
mainProgram = "bkt";

View File

@@ -119,12 +119,7 @@ buildDotnetModule rec {
pcre2
xz
];
makeWrapperArgs = [
"--prefix"
"LD_LIBRARY_PATH"
":"
libPath
];
makeWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${libPath}" ];
postInstall =
lib.optionalString stdenv.hostPlatform.isLinux ''

View File

@@ -28,10 +28,7 @@ buildDotnetModule rec {
executables = [ "BoogieDriver" ];
makeWrapperArgs = [
"--prefix"
"PATH"
":"
"${z3}/bin"
"--prefix PATH : ${z3}/bin"
];
postInstall = ''

View File

@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } (finalAttrs: {
pname = "bpftop";
version = "0.9.1";
version = "0.9.0";
src = fetchFromGitHub {
owner = "jfernandez";
repo = "bpftop";
tag = "v${finalAttrs.version}";
hash = "sha256-nflwQhUIOD5GNWvFKt9aU6j9xkKhtzub5IsDGQvZkTo=";
hash = "sha256-QukcBq80tASPSHRg1yRouYiZqvca+ipp6RGzXqP2CwA=";
};
cargoHash = "sha256-kh/ZS1P2o7AGPkjFpqyJCeLj91H13SNPFcTBOFHvoZ8=";
cargoHash = "sha256-33VamoVq8O4cgdweWRaDqo5ey2lbLAHoPQVPgmyQwh0=";
buildInputs = [
elfutils

View File

@@ -41,6 +41,5 @@ buildDotnetModule rec {
];
license = lib.licenses.mit;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "btcpayserver";
};
}

View File

@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Simple and adorable sysinfo utility written in Rust";
homepage = "https://github.com/devraza/bunbun";
changelog = "https://github.com/devraza/bunbun/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mpl20;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "bunbun";
};

View File

@@ -10,11 +10,11 @@
stdenvNoCC.mkDerivation rec {
pname = "camunda-modeler";
version = "5.53.0";
version = "5.52.0";
src = fetchurl {
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
hash = "sha256-CIGrxGd2uL0eryLePKs7TmnaoUvc4LMJqUnuCuFhsd0=";
hash = "sha256-I5xjqaYCJZbWQW23gxpubwmADbVZPK1UYx7w/q9+Iwg=";
};
sourceRoot = "camunda-modeler-${version}-linux-x64";

View File

@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "candy-icons";
version = "0-unstable-2026-10-26";
version = "0-unstable-2026-10-19";
src = fetchFromGitHub {
owner = "EliverLara";
repo = "candy-icons";
rev = "750fe2ca7909a721179ec34336042b15808d8ab9";
hash = "sha256-aXskjAxfvP9P3WZo7YGsSg0iGXVIAQfHXLEi/EgyRJw=";
rev = "8d21022f3b77d6a3b44f9a4a1ed26d6a974c41f6";
hash = "sha256-OIVYHhSZV965eJ4mmCqzW4X8/t7aGDVjXRP1Y/wP6ms=";
};
nativeBuildInputs = [ gtk3 ];

View File

@@ -10,8 +10,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-about";
version = "0.9.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "EmbarkStudios";
repo = "cargo-about";

View File

@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-dist";
version = "0.34.0";
version = "0.33.1";
src = fetchFromGitHub {
owner = "axodotdev";
repo = "cargo-dist";
tag = "v${finalAttrs.version}";
hash = "sha256-u0Ux0V6Jdeq/1uwSu9+8sm/KGAg3RbWQph/UdL2IMZU=";
hash = "sha256-x42riJdBbh2BgoT9A/lqapXx8WJWves0jUHTcuMlk30=";
};
cargoHash = "sha256-sOLAyXEOGGnKNeEtPbjYjuJK/d71nluj2MsHNIuuLvQ=";
cargoHash = "sha256-g5g6sOxHZCB8unb1+AD0r2c8M2zGAl0tf5y5R06OJ+o=";
nativeBuildInputs = [
pkg-config

View File

@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-flamegraph";
version = "0.6.15";
version = "0.6.14";
src = fetchFromGitHub {
owner = "flamegraph-rs";
repo = "flamegraph";
rev = "v${finalAttrs.version}";
sha256 = "sha256-CNWX1q751yqbrpmNGIfB4/jZk8zMfd0RnkH7GEfo4JA=";
sha256 = "sha256-tjphY9qZaKkqrbwm8lszyyIBpaKZx644LudBq81qngU=";
};
cargoHash = "sha256-yPHWJGGM3EDuoSY1ZZ3+ocLK3RZ97BMbffmOu2bahBM=";
cargoHash = "sha256-mSItpfrGRFL9L3Rlqsvx+FdYyJL8rcWWS8Abyixto7c=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ];

View File

@@ -43,7 +43,7 @@ stdenvNoCC.mkDerivation {
meta = {
description = "Soothing pastel theme for SDDM based on corners theme";
homepage = "https://github.com/khaneliman/sddm-catppuccin-corners";
license = lib.licenses.gpl3Plus;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
platforms = lib.platforms.linux;
};

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cgreen";
version = "1.7.0";
version = "1.6.5";
src = fetchFromGitHub {
owner = "cgreen-devs";
repo = "cgreen";
rev = finalAttrs.version;
sha256 = "sha256-YkHhEHr+ZSa2nlLtnTVB5dAdwtGd03mtijiqnnc1914=";
sha256 = "sha256-/D06k4c6xu9bL8z/DGnOLvgzOstTeR9PxW/J6a42rZs=";
};
postPatch = ''

View File

@@ -28,7 +28,7 @@
passthru.updateScript = gitUpdater {
rev-prefix = "v";
ignoredVersions = "beta|^7\\.";
ignoredVersions = "beta";
};
meta = {

View File

@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Wayland clipboard manager that will make you clap";
homepage = "https://github.com/bjesus/clapboard";
license = lib.licenses.gpl3Only;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
bjesus
];

View File

@@ -8,16 +8,16 @@
buildNpmPackage (finalAttrs: {
pname = "claude-agent-acp";
version = "0.100.0";
version = "0.99.1";
src = fetchFromGitHub {
owner = "agentclientprotocol";
repo = "claude-agent-acp";
tag = "v${finalAttrs.version}";
hash = "sha256-D0CWA9x/K6b4yMT90tmYuI8UQed2ZC0FfMtPClzVrck=";
hash = "sha256-Xj9QXZrqWe5njHlnoudfW0areQDfzk0VXx3psGukrxY=";
};
npmDepsHash = "sha256-7/RAN3CPe/Fw+ovL6emXH8pTJ5r2q2w8FbgwVNqWekw=";
npmDepsHash = "sha256-g5M1nFzdDdHhv0cTN6YtCMGB05WagnwTv52hD9f6TH4=";
nativeBuildInputs = [ makeWrapper ];

View File

@@ -29,22 +29,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "clightning";
version = "26.06.10";
version = "26.06.9";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${finalAttrs.version}/clightning-v${finalAttrs.version}.zip";
hash = "sha256-SRRWHm0QjazKAYPX5rOxwiTFgFl93Ls5cpnvWw/MMjA=";
hash = "sha256-rDextsQbbGDPBt2M11APH6sEQRzy87wSaDjYyvq0U40=";
};
# Release archives can contain future-dated files (v26.06.10 used
# 2026-11-05 00:00 for every file). Until that time, a future-dated Makefile
# causes make to loop on ./configure --reconfigure without compiling.
# Normalize mtimes to avoid this in future releases and backports;
# a build after the archive's timestamp would hide the issue.
postUnpack = ''
find "$sourceRoot" -exec touch -h -d @1 {} +
'';
# when building on darwin we need cctools to provide the correct libtool
# as libwally-core detects the host as darwin and tries to add the -static
# option to libtool, also we have to add the modified gsed package.
@@ -94,8 +85,8 @@ stdenv.mkDerivation (finalAttrs: {
''
else
''
substituteInPlace external/libwally-core/tools/autogen.sh --replace-fail gsed sed && \
substituteInPlace external/libwally-core/configure.ac --replace-fail gsed sed
substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
substituteInPlace external/libwally-core/configure.ac --replace gsed sed
''
);
@@ -129,6 +120,5 @@ stdenv.mkDerivation (finalAttrs: {
];
license = lib.licenses.mit;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "lightningd";
};
})

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "clingo";
version = "5.8.3";
version = "5.8.2";
src = fetchFromGitHub {
owner = "potassco";
repo = "clingo";
tag = "v${finalAttrs.version}";
sha256 = "sha256-TaFCuzsygRZOWrSLNGERgeM15Uc5Uu03YQEpncMv61U=";
sha256 = "sha256-kf3KKdzO/B3xxf1zHkuGzCJzcoITksBZOShbYxZm//k=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
changelog = "https://github.com/adaszko/complgen/blob/v${finalAttrs.version}/CHANGELOG.md";
description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar";
homepage = "https://github.com/adaszko/complgen";
license = lib.licenses.gpl3Only;
license = lib.licenses.asl20;
mainProgram = "complgen";
maintainers = with lib.maintainers; [ hythera ];
};

View File

@@ -53,6 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
# https://github.com/pnpm/pnpm/issues/3645
find node_modules -xtype l -delete
# remove non-deterministic files
rm node_modules/{.modules.yaml,.pnpm-workspace-state-v1.json}
'';
installPhase = ''

View File

@@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "confy";
version = "0.9.2";
version = "0.9.0";
src = fetchFromSourcehut {
owner = "~fabrixxm";
repo = "confy";
rev = finalAttrs.version;
hash = "sha256-7HO4ETyn1nJF0CapDtTSqfFeYBpYjsWKxkXyg3M6RQ4=";
hash = "sha256-dcQ0ynEqrrGjAqQoWXtLMpvBVzpilXGpGWVNaVHp3CY=";
};
nativeBuildInputs = [

View File

@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "container2wasm";
version = "0.8.5";
version = "0.8.4";
src = fetchFromGitHub {
owner = "container2wasm";
repo = "container2wasm";
tag = "v${finalAttrs.version}";
hash = "sha256-epugPyDvvY/HypGuwlx5mds8zCsilySNLwmHJ1H0Q4k=";
hash = "sha256-vmEof0mcvBau/eYtUj5DzzZm5QgkM3G6TsG8doLju78=";
};
vendorHash = "sha256-/14U3SeZc5U1EJP6MbvOpR0wiFT7aPXKoI6OX2G4rNY=";
vendorHash = "sha256-Lg8gvbnyEcrwDGPiHrB7NR4waB2/yqyQbZsp/pQK0jc=";
ldflags = [
"-s"

View File

@@ -8,7 +8,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cproto";
version = "4.8a";
version = "4.8";
src = fetchurl {
urls = [
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
# No version listings and apparently no versioned tarball over http(s).
"https://invisible-island.net/archives/cproto/cproto-${finalAttrs.version}.tgz"
];
sha256 = "sha256-vrEh4IwNR7W9cZBxwyp37cwx3/mSqE49mlnA9+yfrdM=";
sha256 = "sha256-DMy5NEdoLH/bTwvb++BdUqgnMx4KGaUhXSw8uFrSklg=";
};
# patch made by Joe Khoobyar copied from gentoo bugs

View File

@@ -8,7 +8,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cpu_features";
version = "0.11.0";
version = "0.10.1";
outputs = [
"out"
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "google";
repo = "cpu_features";
rev = "v${finalAttrs.version}";
hash = "sha256-TrC1WMLAhko57rAyDCiAC/IJ0unAqVhyjkh7gKibyi4=";
hash = "sha256-IBJc1sHHh4G3oTzQm1RAHHahsEECC+BDl14DHJ8M1Ys=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -80,13 +80,12 @@ buildDotnetModule rec {
# Help Dafny find z3 and dotnet SDK (needed for dafny run)
makeWrapperArgs = [
"--prefix"
"PATH"
":"
(lib.makeBinPath [
z3
dotnet-sdk
])
"--prefix PATH : ${
lib.makeBinPath [
z3
dotnet-sdk
]
}"
];
postFixup = ''

View File

@@ -7,17 +7,17 @@
php.buildComposerProject2 (finalAttrs: {
pname = "davis";
version = "5.6.3";
version = "5.5.0";
src = fetchFromGitHub {
owner = "tchapi";
repo = "davis";
tag = "v${finalAttrs.version}";
hash = "sha256-EoonK/8pGuFOvjDWnlDxznKjbKmPZGKD9LJoSiouAZk=";
hash = "sha256-WCAh4oa8pf37U+GNyxkkYDhg3e9qrFaEdvMjootH5es=";
};
composerNoPlugins = false;
vendorHash = "sha256-gzC2jI6kKYvI7IDiUZvXWcN4jmPXzGOInEAt8qeaLGE=";
vendorHash = "sha256-bGptcLN1z0tWbCKh6G5vh67FHAowz3AmEHnZ6WY1EQc=";
postInstall = ''
chmod -R u+w $out/share

View File

@@ -16,7 +16,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "deepseek-harness";
version = "0.2.2-rc.1";
version = "0.2.1-rc.3";
strictDeps = true;
__structuredAttrs = true;
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "deepseek-ai";
repo = "deepseek-harness";
tag = "dsh-v${finalAttrs.version}";
hash = "sha256-a14omiV5t2P8YeyV5fqVMGRqLQ71rF5wc6xLAW+Z2CQ=";
hash = "sha256-jz2egrPfUQMdoZx8hzDx9ssN1Z5TXClP9CqtP3tGlJk=";
# Capture the commit hash at fetch time to avoid git build dependency
leaveDotGit = true;
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_11;
fetcherVersion = 4;
hash = "sha256-D3dDgX55coJqEY31vwxiJuSFhlJeuEa3VfpN5Ooa+IE=";
hash = "sha256-C9Aw9AS4r7zubaEuT6mLXQ+AhhMVlTxPZRKTpzRUkcU=";
};
nativeBuildInputs = [

View File

@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "defuddle";
version = "0.19.6";
version = "0.19.5";
src = fetchFromGitHub {
owner = "kepano";
repo = "defuddle";
tag = version;
hash = "sha256-PmtS4ryoXapMaA0HAzdBaUl6dzeGnXa0rA0VLdC/VRQ=";
hash = "sha256-szAaa2g3BDCi3QiTYqvrCWpBzKl/jenvowA+1c2jpI0=";
};
npmDepsHash = "sha256-Tr1GasXqqUEPMt6+fUjBatzymuaVjK49tsCw/ivtXCY=";
npmDepsHash = "sha256-BUTCUHdQFrC0CIwXFuyTcPkdgGnJLbovh3RMc8UyJ3o=";
passthru.updateScript = nix-update-script { };

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "delly";
version = "2.8.1";
version = "2.7.0";
src = fetchFromGitHub {
owner = "dellytools";
repo = "delly";
tag = "v${finalAttrs.version}";
hash = "sha256-2SuCeouRnIhn7gE+rDqAphfZKh1CvST5h0J6ojGiKXA=";
hash = "sha256-9/nuVrqUHEK7vPtdqiqJLsb720/F4B/cIL3s1j6cWvo=";
};
buildInputs = [

View File

@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Language server for tools and package managers";
homepage = "https://github.com/filiptibell/deputy";
changelog = "https://github.com/filiptibell/deputy/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ niklaskorz ];
mainProgram = "deputy";
};

View File

@@ -64,6 +64,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
--prod
find packages/*/dist -type f \( -name "*.d.ts" -o -name "*.map" \) -delete
find node_modules packages/*/node_modules -xtype l -delete
rm node_modules/.modules.yaml
'';
installPhase = ''

View File

@@ -87,7 +87,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
with the Rust language and Tokio framework.
'';
mainProgram = "easytier-core";
license = lib.licenses.lgpl3Only;
license = lib.licenses.asl20;
platforms = with lib.platforms; unix ++ windows;
maintainers = with lib.maintainers; [ ltrump ];
};

View File

@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "amazon-ecs-agent";
version = "1.108.2";
version = "1.108.1";
src = fetchFromGitHub {
rev = "v${finalAttrs.version}";
owner = "aws";
repo = "amazon-ecs-agent";
hash = "sha256-v1SCDx6lqP9upCEeoQHzSO7nYfV675Xh1CYfBzslyfU=";
hash = "sha256-wj0fhq/S4iudnvdPkOro6Y9liQE5uUyaVAuBSnz1L14=";
};
vendorHash = null;

View File

@@ -7,12 +7,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "eliza";
version = "0-unstable-2026-10-25";
version = "0-unstable-2026-09-19";
src = fetchFromGitHub {
owner = "anthay";
repo = "ELIZA";
rev = "30eb61bc1c36a439b344276110e4942a42b0e7a4";
hash = "sha256-qLnV6ABc0m/QcZxlNSHS94DbDaaZfpwmfbQznJikg8c=";
rev = "4ac38e6694526f2a5c849014d3312a20cdddf842";
hash = "sha256-uXCO6fpf8x94fLwydB7qXTAVum1Y/IvBsxPqIQe+ELw=";
};
doCheck = true;

View File

@@ -39,12 +39,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pnpm
];
# remove unnecessary files
# remove unnecessary and non-deterministic files
preInstall = ''
CI=true pnpm --ignore-scripts --prod prune
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
# https://github.com/pnpm/pnpm/issues/3645
find node_modules -xtype l -delete
rm node_modules/.modules.yaml
'';
installPhase = ''

View File

@@ -35,7 +35,7 @@ buildDotnetModule (finalAttrs: {
meta = {
homepage = "https://github.com/BC-SECURITY/Empire-Compiler";
license = lib.licenses.gpl3Only;
license = lib.licenses.mit;
platforms = lib.platforms.linux ++ [ "aarch64-darwin" ];
description = "C# Compiler for Empire";
maintainers = with lib.maintainers; [

View File

@@ -7,11 +7,11 @@
}:
let
version = "3.5.35";
etcdSrcHash = "sha256-WdRm0djQFxrv83BwtoT53PSniLUqT58HzqJLoPEy5ko=";
etcdServerVendorHash = "sha256-+yQ9ylwh15mGHnPomMOUwFAfPO9EKrFBrCp6f95d3u0=";
etcdUtlVendorHash = "sha256-6PN9PrmMEN1xltZEVJcajkRCweKPoxMRUodCgwiN5hU=";
etcdCtlVendorHash = "sha256-DNvFzc0YRQyu4yZVEQRQq6rINGWlRwhp880K289+0bY=";
version = "3.5.34";
etcdSrcHash = "sha256-yiAELU14Aq1tFiUu59an5l8KzGUsUku4saUFqsSdTy0=";
etcdServerVendorHash = "sha256-IeuoXNdKLOffPO3uVVDMccLCRH/BKENLVYiTRxEieos=";
etcdUtlVendorHash = "sha256-+jM9JJsuB7KhAWt4P6b9olBycIXGpuDPfrSzl8rrOHo=";
etcdCtlVendorHash = "sha256-h40HJ/GhCgYcIlVPqjRXPBY4pdbX8c5cd7Zy0kuNxpg=";
src = fetchFromGitHub {
owner = "etcd-io";

View File

@@ -56,6 +56,9 @@ stdenv.mkDerivation (finalAttrs: {
rm node_modules/.modules.yaml
CI=true pnpm prune --prod --ignore-scripts
find -type f \( -name "*.d.ts" -o -name "*.map" \) -exec rm -rf {} +
# remove non-deterministic files
rm node_modules/.modules.yaml
'';
# Upstream scripts uses `pnpm run prod` which is equivalent to

View File

@@ -22,6 +22,7 @@
glibc,
gsettings-desktop-schemas,
gst_all_1,
gtk2,
gtk3,
libGL,
libdrm,
@@ -116,6 +117,7 @@ let
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libdrm
libgbm

View File

@@ -17,13 +17,13 @@
}:
let
version = "0.318.2";
version = "0.318.1";
src = fetchFromGitHub {
owner = "evcc-io";
repo = "evcc";
tag = version;
hash = "sha256-b6db9WVRUQq/28kv1HJrQ6cEAyK7YKdbPQXKwQ+VHCQ=";
hash = "sha256-UAmpv4gTY4Ohy+QC8A1iaQ2nenpQKs4ryyzlJeqIpEk=";
};
vendorHash = "sha256-8738Fg/IBk+pD/4x/xWZbz3eSdAtFxGnFztyHI94VbI=";

View File

@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "fabric-ai";
version = "1.4.564";
version = "1.4.553";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
tag = "v${finalAttrs.version}";
hash = "sha256-wCy974QwIeVgB+zkG7T5DbmIH4CqQEeu7noizVTjEcs=";
hash = "sha256-c2MorqgimTOYr2yad4XU0GwQecXJBqC/3t+N/8Q7bCM=";
};
vendorHash = "sha256-f1MfTXHszYc+e050XR3I8fB0rfHxRGM0KrTHcX5H/Bg=";

View File

@@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
stdenvNoCC.mkDerivation
{
inherit pname;
version = "0-unstable-2026-11-01";
version = "0-unstable-2026-10-24";
src = fetchFromGitLab {
owner = "FreshDoctor";
repo = "FairyWren-Icons";
rev = "bfd1885e12d39dc21ded0b154d04642e2ebb401c";
hash = "sha256-OFMnjVi+I/l5PmTRj810HybAMX1N3uQYqNKx18bXj74=";
rev = "86f539cdf02a41bde442d50c70a73a92e11ed007";
hash = "sha256-WYumOno45RInh85e34wN1mAH2cC3Y9ZBFmsBgir/k0M=";
};
propagatedBuildInputs = [

View File

@@ -7,7 +7,7 @@
pkg-config,
perl,
falco-plugin-container,
llvmPackages_19,
clang,
bpftools,
libbpf,
elfutils,
@@ -83,12 +83,8 @@ stdenv.mkDerivation (finalAttrs: {
cmake
pkg-config
perl
# modern eBPF probe: compiled with clang, skeleton generated by bpftool.
# Not newer than 19: from clang 20 the probe has programs the verifier
# rejects at its 1M instruction limit (dump_task, t2_sched_p_exec on 6.18
# and 7.x, sendmmsg_x from clang 21), so falco starts slowly or not at all.
# https://github.com/falcosecurity/libs/issues/3081
llvmPackages_19.clang
# modern eBPF probe: compiled with clang, skeleton generated by bpftool
clang
bpftools
];

View File

@@ -10,7 +10,7 @@
python3Packages.buildPythonApplication rec {
pname = "fastflix";
version = "6.3.2";
version = "6.2.1";
pyproject = true;
__structuredAttrs = true;
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
owner = "cdgriffith";
repo = "FastFlix";
tag = version;
hash = "sha256-VzqkuTc2Q8WwpvkttDo2u8Q7kpCGbjz7pNzjrr6Bny4=";
hash = "sha256-vlMS3Grqp6Ys1++711lwRuFC4LhcyrHtU/S3MGB4riY=";
};
nativeBuildInputs = [

View File

@@ -9,7 +9,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fatou";
version = "0.25.0";
version = "0.24.0";
__structuredAttrs = true;
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "jolars";
repo = "fatou";
tag = "v${finalAttrs.version}";
hash = "sha256-SzNNvJkUx8EESwgga+Wlb3nesY4M+lJNfs5RqfRB+fc=";
hash = "sha256-HoVoWLoakN1oAVPAwd1JPhs9jLn0OP8FEIU+OfurNRA=";
};
cargoHash = "sha256-NkMDdDidS96fJ9RHYkxea4S56swvN8SfRDWBxLGMSMg=";
cargoHash = "sha256-Oal6RHJ+aGzvv2vXpij1kOt/r216LFaIXhGLRdtaAfs=";
nativeBuildInputs = [
installShellFiles

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "faudio";
version = "26.11";
version = "26.05";
src = fetchFromGitHub {
owner = "FNA-XNA";
repo = "FAudio";
tag = finalAttrs.version;
hash = "sha256-EpS6f3WXrbOdBZRLgNN3CgpItdtmFaW+TIlY8Et5/vY=";
hash = "sha256-VrY6NbmnUk6fUEa3+NukcuPRaH+RbFrT9bnN4Rnuxuk=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -1,52 +1,40 @@
{
lib,
fetchFromGitHub,
coreutils,
fetchFromGitHub,
gamemode,
gawk,
gnugrep,
gobject-introspection,
gst_all_1,
icoextract,
lib,
libadwaita,
libgudev,
libmanette,
lsfg-vk,
lsfgSupport ? false,
meson,
ninja,
nix-update-script,
pciutils,
python3Packages,
pciutils,
umu-launcher,
wrapGAppsHook4,
xdg-utils,
lsfgSupport ? false,
withGameMode ? true,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "faugus-launcher";
version = "2.5.7";
version = "2.5.4";
pyproject = false;
src = fetchFromGitHub {
owner = "Faugus";
repo = "faugus-launcher";
tag = finalAttrs.version;
hash = "sha256-lB7/X7ilnoIc27Ggr+xCL/B0Gb9fTHWJNE9ajfYPccI=";
hash = "sha256-tDOum8u9GZsTmj1DzcByYoSkmzjAB3xOCdLfkboUClE=";
};
postPatch = ''
substituteInPlace faugus-launcher \
--replace-fail "/usr/bin/python3" "${python3Packages.python.interpreter}"
substituteInPlace faugus/path_manager.py \
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'"
''
+ lib.optionalString lsfgSupport ''
substituteInPlace faugus/path_manager.py \
--replace-fail "/usr/lib/liblsfg-vk-layer.so" "${lib.getLib lsfg-vk}/lib/liblsfg-vk-layer.so"
'';
nativeBuildInputs = [
gobject-introspection
meson
@@ -65,23 +53,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
gstreamer
]);
# has no tests
doCheck = false;
postFixup = ''
gappsWrapperArgs+=(
--prefix PYTHONPATH : "$program_PYTHONPATH"
${lib.optionalString withGameMode ''
--prefix LD_PRELOAD : libgamemode.so
--prefix LD_LIBRARY_PATH : "${lib.getLib gamemode}/lib"
''}
--suffix PATH : ${lib.escapeShellArg (lib.makeBinPath finalAttrs.runtimeInputs)}
)
wrapGApp $out/bin/faugus-launcher
'';
dependencies = with python3Packages; [
pefile
dbus-python
pillow
psutil
pygobject3
@@ -89,20 +62,42 @@ python3Packages.buildPythonApplication (finalAttrs: {
vdf
];
dontWrapGApps = true;
pyproject = false;
pythonImportsCheck = [ "faugus" ];
postPatch = ''
substituteInPlace faugus-launcher \
--replace-fail "/usr/bin/python3" "${python3Packages.python.interpreter}"
runtimeInputs = [
coreutils
gawk
gnugrep
icoextract
pciutils
umu-launcher
xdg-utils
]
++ lib.optional withGameMode gamemode;
substituteInPlace faugus/path_manager.py \
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'"
''
+ lib.optionalString lsfgSupport ''
substituteInPlace faugus/path_manager.py \
--replace-fail "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so" \
--replace-fail "/usr/lib/liblsfg-vk-layer.so" "${lsfg-vk}/lib/liblsfg-vk-layer.so"
'';
preFixup = ''
gappsWrapperArgs+=(
--set PYTHONPATH "$out/${python3Packages.python.sitePackages}:$PYTHONPATH"
--set LD_PRELOAD "libgamemode.so:$LD_PRELOAD"
--set LD_LIBRARY_PATH "${lib.getLib gamemode}/lib:$LD_LIBRARY_PATH"
--suffix PATH : "${
lib.makeBinPath [
coreutils
gawk
gnugrep
icoextract
pciutils
umu-launcher
xdg-utils
]
}"
)
'';
# has no tests
doCheck = false;
pythonImportsCheck = [ "faugus" ];
passthru.updateScript = nix-update-script { };
@@ -111,11 +106,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
homepage = "https://github.com/Faugus/faugus-launcher";
changelog = "https://github.com/Faugus/faugus-launcher/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
RoGreat
keenanweaver
];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ RoGreat ];
mainProgram = "faugus-launcher";
platforms = lib.platforms.linux;
};
})

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fcitx5-array";
version = "1.0.4";
version = "1.0.3";
src = fetchFromGitHub {
owner = "ray2501";
repo = "fcitx5-array";
tag = finalAttrs.version;
hash = "sha256-6y7LpLoKfQb5TRs4fJUf3b7hZVuyN3KLp8ftvcaMXvU=";
hash = "sha256-AATnlyAP33PojoDBOeCmhgY/rZpQoMpXHD/ZhmFXeGg=";
};
nativeBuildInputs = [

View File

@@ -3,7 +3,6 @@
stdenv,
acl,
cmake,
dbus,
fcitx5,
fetchFromGitHub,
gettext,
@@ -12,7 +11,6 @@
libevdev,
libinput,
libnotify,
libxcb,
nix-update-script,
pkg-config,
python3,
@@ -31,13 +29,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fcitx5-lotus";
version = "6.0.5";
version = "6.0.0";
src = fetchFromGitHub {
owner = "LotusInputMethod";
repo = "fcitx5-lotus";
tag = "v${finalAttrs.version}";
hash = "sha256-l9/r6GIghNGl1PCSue1nkl9p+CI/6Au1yA36QcQzFe4=";
hash = "sha256-zWOnjTaifwhzIk9QLksf/g3EF/SOg1vJmM4IQ5P1+H8=";
};
passthru = {
@@ -55,13 +53,11 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
acl
dbus
fcitx5
kdePackages.extra-cmake-modules
libevdev
libinput
libnotify
libxcb
pythonEnv
qt6.qtbase
qt6.qtsvg
@@ -74,12 +70,9 @@ stdenv.mkDerivation (finalAttrs: {
dontWrapQtApps = true;
doCheck = true;
cmakeFlags = [
"-DLOTUS_ALT_EXECUTABLE_PREFIX=/nix/store/"
"-DLOTUS_SETFACL_EXECUTABLE=${acl}/bin/setfacl"
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
];
postFixup = ''

Some files were not shown because too many files have changed in this diff Show More