Compare commits

..

27 Commits

Author SHA1 Message Date
nixpkgs-ci[bot]
062c353c7a Merge master into staging-nixos 2026-07-23 12:34:39 +00:00
nixpkgs-ci[bot]
ce938e9be9 Merge master into staging-nixos 2026-07-23 06:52:18 +00:00
7c6f434c
9687ba06b1 btrfs-progs: 7.0 -> 7.1 (#543181) 2026-07-23 03:58:05 +00:00
nixpkgs-ci[bot]
0cd0aa285e Merge master into staging-nixos 2026-07-23 00:33:14 +00:00
nixpkgs-ci[bot]
9b79d0afb5 Merge master into staging-nixos 2026-07-22 18:27:02 +00:00
nixpkgs-ci[bot]
2855a5fd55 Merge master into staging-nixos 2026-07-22 12:34:45 +00:00
nixpkgs-ci[bot]
a13544bb9e Merge master into staging-nixos 2026-07-22 06:53:55 +00:00
nixpkgs-ci[bot]
6d4751efc4 Merge master into staging-nixos 2026-07-22 00:31:17 +00:00
Maximilian Bosch
75ca7215b5 qemu_test: Remove hostCpuOnly flag (#541354) 2026-07-21 23:12:16 +00:00
nixpkgs-ci[bot]
f3d4047b6a Merge master into staging-nixos 2026-07-21 18:29:41 +00:00
nixpkgs-ci[bot]
091d5fc06b Merge master into staging-nixos 2026-07-21 12:34:39 +00:00
Martin Weinelt
2cc2d0808c nixos/pam: remove explicit hardcoded yescrypt (#541548) 2026-07-21 11:14:12 +00:00
nixpkgs-ci[bot]
9dd5455aee Merge master into staging-nixos 2026-07-21 06:53:51 +00:00
nixpkgs-ci[bot]
4731ec200a Merge master into staging-nixos 2026-07-21 00:33:15 +00:00
dish
5646e24be6 openresolv: add changelog url pattern (#543990) 2026-07-20 22:20:46 +00:00
Martin Weinelt
fc4bc79dcb openresolv: add changelog url pattern 2026-07-21 00:02:42 +02:00
nixpkgs-ci[bot]
14a94467e4 Merge master into staging-nixos 2026-07-20 18:40:14 +00:00
nixpkgs-ci[bot]
636eb966e3 Merge master into staging-nixos 2026-07-20 15:46:00 +00:00
lassulus
3018f55da9 nixos-test-driver: reintroduce --test-script flag (#533988) 2026-07-20 14:30:44 +00:00
nixpkgs-ci[bot]
542b4d7055 Merge master into staging-nixos 2026-07-20 12:45:20 +00:00
nixpkgs-ci[bot]
b6239b6591 Merge master into staging-nixos 2026-07-20 07:03:35 +00:00
R. Ryantm
7ba2995d80 btrfs-progs: 7.0 -> 7.1 2026-07-18 07:39:17 +00:00
Jacek Galowicz
02b0484ccc nixos-test-driver: Add multi-arch test 2026-07-15 11:01:11 +02:00
Jacek Galowicz
00c97895aa qemu_test: Remove hostCpuOnly flag 2026-07-13 21:53:52 +02:00
Grimmauld
56f89898da nixos/tests/login{,-nosuid}: assert yescrypt password format 2026-07-13 20:29:06 +02:00
Grimmauld
3d32e0705a nixos/pam: remove explicit hardcoded yescrypt
Both `pam_unix.so` and `pam_unix_ng.so` look at `ENCRYPT_METHOD` in
`/etc/login.defs` to determine the algorithm to use for password
encryption: 66fbd0382b/src/pam_unix_ng-common.c (L27-L62)
If this is not set, both already default to `YESCRYPT`.
The shadow module makes this configurable via
`security.loginDefs.settings.ENCRYPT_METHOD`, which also defaults to `YESCRYPT`.
Seeing as what was previously hardcoded is default anyways, with a global
configuration option to change it, there is no point to keep this.
2026-07-13 20:29:02 +02:00
a-kenji
aaba92e0cc nixos-test-driver: reintroduce --test-script flag
Restore the ability to pass a test script on the command line through:
```
--test-script [PATH]
```
which was possible prior to its removal in: f1bcb61731

I have found the flag to be quite practical for NixOS test iteration and propose
hereby to reintroduce it again.

While it is still possible without this flag to pass an external test
script, it now needs to be done through the indirection of a `--config`
configuration file - which now has to have configuration which points towards
the test script, which adds enough friction as to not make it ergonomic anymore.

The `--test-script` flag overwrites the configuration from the test config.
2026-06-21 20:34:53 +02:00
127 changed files with 1925 additions and 1857 deletions

View File

@@ -758,7 +758,6 @@ An attribute set of derivations which perform the tests during their build.
- Output attribute `config` is the resulting evaluated services attrset (e.g., the value of the `system.services` option in NixOS).
This attribute must be available even if `checkDrv` would fail.
- Output attribute `checkDrv` is a representative derivation whose existence and buildability prove the eval is sound (e.g., `system.build.toplevel` in NixOS, but could perhaps be more specific in the case of another process manager integration).
- The generic tester only reads `config` and `checkDrv`. An integration may return additional attributes for its own integration-specific eval checks. Such extra attributes are optional.
`mkTest` (function)
@@ -773,14 +772,6 @@ An attribute set of derivations which perform the tests during their build.
: Path to a directory writable by service processes and readable by `testExe`.
The integration must ensure this directory is available when the services and `testExe` run.
`callReload` (function)
: `path -> string`.
Given a service's name `path` (the list of service names from the top-level service down to the target sub-service, e.g. `[ "reload" "inner" ]`), returns a shell command that reloads that service.
The command is embedded in `testExe` and executed with sufficient privilege to reload the service (e.g. as root in the test VM).
There is no manager-agnostic reload command, so every integration must provide this; the integration joins the `path` per its own unit-naming convention (the suite does not assume one).
On NixOS the `path` dash-joins into the systemd unit name with a `.service` suffix, so the command is `systemctl reload ${lib.concatStringsSep "-" path}.service` (a top-level service is a single-element path `[ "svc" ]` -> `svc.service`; a nested sub-service `[ "parent" "child" ]` -> `parent-child.service`).
:::{.example #ex-modularServiceCompliance-nixos}
# NixOS invocation of the compliance suite
@@ -811,7 +802,6 @@ recurseIntoAttrs (
config = machine.config.system.services;
checkDrv = machine.config.system.build.toplevel;
};
callReload = path: "systemctl reload ${lib.concatStringsSep "-" path}.service";
mkTest =
{
name,

View File

@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
fetcherversion = 4;
hash = lib.fakeHash;
};
@@ -123,7 +123,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
fetcherversion = 4;
hash = lib.fakeHash;
};

View File

@@ -7,11 +7,10 @@
{
lib,
config,
options,
...
}:
let
inherit (lib) mkEnableOption mkOption types;
inherit (lib) mkOption types;
pathOrStr = types.coercedTo types.path (x: "${x}") types.str;
in
{
@@ -41,7 +40,7 @@ in
visible = "shallow";
};
process = {
argv = mkOption {
argv = lib.mkOption {
type = types.listOf pathOrStr;
example = lib.literalExpression ''[ (lib.getExe config.package) "--nobackground" ]'';
description = ''
@@ -73,12 +72,15 @@ in
};
notificationProtocol = mkOption {
type = types.submodule {
options = {
systemd = mkEnableOption "Whether the service supports systemd-notify.";
s6 = mkEnableOption "Whether the service supports s6-notify.";
};
};
type = types.listOf (
types.enum [
"systemd"
"s6"
]
);
default = [ ];
apply = v: lib.unique v;
description = ''
Notification protocol that this service supports with the underlying service manager.
'';
@@ -88,20 +90,13 @@ in
config = {
assertions = [
{
# `reloadSignal` derives `reloadCommand` at `mkDefault` priority below, so a
# conflict only exists when the user *also* set `reloadCommand` explicitly.
# An explicit (non-`mkDefault`) definition has `defaultOverridePriority`.
assertion =
!(
config.process.reloadSignal != null
&& options.process.reloadCommand.highestPrio <= lib.modules.defaultOverridePriority
);
assertion = config.process.reloadSignal != null && config.process.reloadCommand != null;
message = "reloadSignal conflicts with reloadCommand. Please either use reloadSignal or reloadCommand.";
}
];
process.reloadCommand = lib.mkIf (config.process.reloadSignal != null) (
lib.mkDefault "${pkgs.coreutils}/bin/kill -${config.process.reloadSignal} $MAINPID"
process.reloadCommand = (lib.mkIf config.process.reloadSignal != null) (
lib.mkForce "${pkgs.coreutils}/bin/kill -${config.process.reloadSignal} $MAINPID"
);
};
}

View File

@@ -4691,12 +4691,6 @@
githubId = 53847249;
name = "Casey Avila";
};
caspersonn = {
email = "lucakasper8@gmail.com";
github = "Caspersonn";
githubId = 96787412;
name = "Luca Kasper";
};
cassandracomar = {
name = "Cassandra Comar";
github = "cassandracomar";
@@ -25006,12 +25000,6 @@
githubId = 47582;
name = "Samir Talwar";
};
samiser = {
email = "nixos@me.samiser.xyz";
github = "samiser";
githubId = 32001364;
name = "Sam";
};
samlich = {
email = "nixos@samli.ch";
github = "samlich";

View File

@@ -89,6 +89,11 @@ def main() -> None:
type=Path,
required=True,
)
arg_parser.add_argument(
"--test-script",
help="path to a test script to run, taking precedence over the one defined in the config file",
type=Path,
)
arg_parser.add_argument(
"--keep-vm-state",
help=argparse.SUPPRESS,
@@ -163,8 +168,12 @@ def main() -> None:
if args.debug_hook_attach is not None:
debugger = Debug(logger, args.debug_hook_attach)
config = load_driver_configuration(args.config)
if args.test_script is not None:
config.test_script = args.test_script
with Driver(
config=load_driver_configuration(args.config),
config=config,
out_dir=output_directory,
logger=logger,
keep_machine_state=args.keep_machine_state,

View File

@@ -1422,7 +1422,6 @@ let
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = true;
yescrypt = lib.mkIf config.security.pam.enableLegacySettings true;
};
}
{

View File

@@ -577,7 +577,6 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -24,8 +24,6 @@ let
GRANIAN_HOST = cfg.address;
GRANIAN_PORT = toString cfg.port;
GRANIAN_WORKERS_KILL_TIMEOUT = "60";
# django-allauth uses python requests, which doesn't use the systems CA bundle by default: https://requests.readthedocs.io/en/latest/user/advanced/#ca-certificates
REQUESTS_CA_BUNDLE = config.security.pki.caBundle;
}
// lib.optionalAttrs (config.time.timeZone != null) {
PAPERLESS_TIME_ZONE = config.time.timeZone;

View File

@@ -0,0 +1,122 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
dmcfg = config.services.xserver.displayManager;
ldmcfg = dmcfg.lightdm;
cfg = ldmcfg.greeters.enso;
theme = cfg.theme.package;
icons = cfg.iconTheme.package;
cursors = cfg.cursorTheme.package;
ensoGreeterConf = pkgs.writeText "lightdm-enso-os-greeter.conf" ''
[greeter]
default-wallpaper=${ldmcfg.background}
gtk-theme=${cfg.theme.name}
icon-theme=${cfg.iconTheme.name}
cursor-theme=${cfg.cursorTheme.name}
blur=${toString cfg.blur}
brightness=${toString cfg.brightness}
${cfg.extraConfig}
'';
in
{
options = {
services.xserver.displayManager.lightdm.greeters.enso = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable enso-os-greeter as the lightdm greeter
'';
};
theme = {
package = mkPackageOption pkgs "gnome-themes-extra" { };
name = mkOption {
type = types.str;
default = "Adwaita";
description = ''
Name of the theme to use for the lightdm-enso-os-greeter
'';
};
};
iconTheme = {
package = mkPackageOption pkgs "papirus-icon-theme" { };
name = mkOption {
type = types.str;
default = "ePapirus";
description = ''
Name of the icon theme to use for the lightdm-enso-os-greeter
'';
};
};
cursorTheme = {
package = mkPackageOption pkgs "capitaine-cursors" { };
name = mkOption {
type = types.str;
default = "capitane-cursors";
description = ''
Name of the cursor theme to use for the lightdm-enso-os-greeter
'';
};
};
blur = mkOption {
type = types.bool;
default = false;
description = ''
Whether or not to enable blur
'';
};
brightness = mkOption {
type = types.int;
default = 7;
description = ''
Brightness
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration that should be put in the greeter.conf
configuration file
'';
};
};
};
config = mkIf (ldmcfg.enable && cfg.enable) {
environment.etc."lightdm/greeter.conf".source = ensoGreeterConf;
environment.systemPackages = [
cursors
icons
theme
];
services.xserver.displayManager.lightdm = {
greeter = mkDefault {
package = pkgs.lightdm-enso-os-greeter.xgreeters;
name = "pantheon-greeter";
};
greeters = {
gtk = {
enable = mkDefault false;
};
};
};
};
}

View File

@@ -83,6 +83,7 @@ in
imports = [
./lightdm-greeters/gtk.nix
./lightdm-greeters/mini.nix
./lightdm-greeters/enso-os.nix
./lightdm-greeters/pantheon.nix
./lightdm-greeters/lomiri.nix
./lightdm-greeters/tiny.nix
@@ -106,9 +107,6 @@ in
"user"
]
)
(lib.mkRemovedOptionModule [ "services" "xserver" "displayManager" "lightdm" "greeters" "enso" ]
"services.xserver.displayManager.lightdm.greeters.enso has been removed following removal of the corresponding package."
)
];
options = {
@@ -458,7 +456,6 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -126,29 +126,33 @@ in
`%i` (instance), `%t` (runtime directory), and environment variables using
`''${VAR}` syntax in your command line.
By default, it is set to {option}`process.reloadCommand` when specified, or an
empty string otherwise. Because {option}`process.reloadCommand` is already a
command line (not an argument list), it is used verbatim so that references
like `$MAINPID` are preserved.
By default, it is either set to null or this is set to the escaped version of {option}`process.reloadCommand`
when specified to prevent systemd substitution. Set this option explicitly to enable
systemd's substitution features.
To extend {option}`process.reloadCommand` with systemd specifiers, you can append
to the command line:
to the escaped arguments:
```nix
systemd.mainExecReload =
config.process.reloadCommand + " --systemd-unit %n";
config.systemd.lib.escapeSystemdExecArgs config.process.reload + " --systemd-unit %n";
```
This pattern allows you to pass the unit name (or other systemd specifiers)
as additional arguments.
as additional arguments while keeping the base command from {option}`process.argv`
properly escaped.
See {manpage}`systemd.service(5)` (section "COMMAND LINES") for details on
variable substitution and {manpage}`systemd.unit(5)` (section "SPECIFIERS")
for available specifiers like `%n`, `%i`, `%t`.
'';
type = types.nullOr types.str;
default = if config.process.reloadCommand != null then config.process.reloadCommand else "";
defaultText = lib.literalExpression "config.process.reloadCommand";
default =
if config.process.reloadCommand then
config.systemd.lib.escapeSystemdExecArgs config.process.reloadCommand
else
"";
defaultText = lib.literalExpression "config.systemd.lib.escapeSystemdExecArgs config.process.reloadCommand";
};
systemd.services = mkOption {
@@ -209,7 +213,9 @@ in
wantedBy = lib.mkDefault [ "multi-user.target" ];
serviceConfig = {
ExecReload = config.systemd.mainExecReload;
Type = lib.mkDefault (if config.notificationProtocol.systemd then "notify" else "simple");
Type = lib.mkDefault (
if (config.serviceManager.notificationProtocol == "systemd") then "notify" else "simple"
);
Restart = lib.mkDefault "always";
RestartSec = lib.mkDefault "5";
ExecStart = [

View File

@@ -153,6 +153,7 @@ in
console-log = runTest ./nixos-test-driver/console-log.nix;
containers = runTest ./nixos-test-driver/containers.nix;
nspawn-daemon-reexec-dbus = runTest ./nspawn-daemon-reexec-dbus.nix;
multi-arch-test = runTest ./nixos-test-driver/multi-arch-test.nix;
skip-typecheck = runTest ./nixos-test-driver/skip-typecheck.nix;
console-timeout = runTest ./nixos-test-driver/console-timeout.nix;
options-doc-regression = import ./nixos-test-driver/options-doc-regression.nix { inherit pkgs; };

View File

@@ -57,6 +57,7 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -28,6 +28,7 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -0,0 +1,55 @@
{ pkgs, lib, ... }:
{
name = "multi-arch-test";
meta.maintainers = with pkgs.lib.maintainers; [ tfc ];
node.pkgsReadOnly = false;
nodes = {
# Setting build = host platform because such standard VM setups
# are well-cached by the multi-arch build infrastructure of the
# project.
vmIntel = {
nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "x86_64-linux";
};
vmArm = {
nixpkgs.buildPlatform = "aarch64-linux";
nixpkgs.hostPlatform = "aarch64-linux";
};
};
defaults = {
# not needed for this test and shrinks the closure
# because we dont' need qemu for all architectures
virtualisation.qemu.guestAgent.enable = false;
# the test is already very slow but we don't need DHCP anyway
networking.dhcpcd.enable = false;
# fix the network-online target, otherwise it doesn't work
# properly as a synchronization mechanism.
systemd.network.wait-online.enable = true;
systemd.network.wait-online.anyInterface = true;
};
# slow due to SW emulation but shouldn't be slower than that
globalTimeout = 5 * 60;
testScript = { nodes, ... }: /* python */ ''
start_all()
vmIntel.systemctl("start network-online.target")
vmArm.systemctl("start network-online.target")
vmIntel.wait_for_unit("network-online.target")
vmArm.wait_for_unit("network-online.target")
vmIntel.succeed("ping -c 1 vmArm")
vmArm.succeed("ping -c 1 vmIntel")
archIntel = vmIntel.succeed("uname -m")
t.assertIn("${nodes.vmIntel.nixpkgs.hostPlatform.qemuArch}", archIntel, "machine1 is an intel VM")
archArm = vmArm.succeed("uname -m")
t.assertIn("${nodes.vmArm.nixpkgs.hostPlatform.qemuArch}", archArm, "machine1 is an ARM VM")
'';
}

View File

@@ -7,23 +7,6 @@
let
sharedDir = "/tmp/modular-service-compliance";
inherit (pkgs) lib coreutils;
evalSystemServices =
services:
evalSystem (
{ ... }:
{
system.services = services;
system.stateVersion = "25.05";
fileSystems."/" = {
device = "/test/dummy";
fsType = "auto";
};
boot.loader.grub.enable = false;
}
);
in
let
suite = pkgs.testers.modularServiceCompliance {
@@ -32,13 +15,23 @@ let
evalConfig =
{ services }:
let
machine = evalSystemServices services;
machine = evalSystem (
{ ... }:
{
system.services = services;
system.stateVersion = "25.05";
fileSystems."/" = {
device = "/test/dummy";
fsType = "auto";
};
boot.loader.grub.enable = false;
}
);
in
{
config = machine.config.system.services;
checkDrv = machine.config.system.build.toplevel;
};
callReload = path: "systemctl reload ${lib.concatStringsSep "-" path}.service";
mkTest =
{
name,
@@ -56,80 +49,6 @@ let
meta.maintainers = with pkgs.lib.maintainers; [ roberth ];
};
};
# systemd-specific eval assertions. serviceConfig.Type/ExecReload only exist on
# the resolved host units, so a fresh eval is used per case.
systemdEvalTests =
let
defaultUnits =
(evalSystemServices {
service.process.argv = [ "${coreutils}/bin/true" ];
}).config.systemd.services;
notifyUnits =
(evalSystemServices {
service = {
process.argv = [ "${coreutils}/bin/true" ];
notificationProtocol.systemd = true;
};
}).config.systemd.services;
reloadUnits =
(evalSystemServices {
service = {
process.argv = [ "${coreutils}/bin/true" ];
process.reloadSignal = "HUP";
};
}).config.systemd.services;
in
{
testDefaultType = {
expr = defaultUnits.service.serviceConfig.Type;
expected = "simple";
};
testNotifyType = {
expr = notifyUnits.service.serviceConfig.Type;
expected = "notify";
};
testReloadExecReload = {
expr = reloadUnits.service.serviceConfig.ExecReload;
expected = "${coreutils}/bin/kill -HUP $MAINPID";
};
};
systemdEval = pkgs.stdenvNoCC.mkDerivation (finalAttrs: {
__structuredAttrs = true;
name = "system-services-compliance-systemd-eval-report";
passthru = {
tests = systemdEvalTests;
failures = lib.runTests finalAttrs.finalPackage.tests;
};
testResults = lib.mapAttrs (_: test: test.expr == test.expected) finalAttrs.finalPackage.tests;
buildCommand = ''
touch $out
for testName in "''${!testResults[@]}"; do
if [[ -n "''${testResults[$testName]}" ]]; then
echo "PASS $testName"
else
echo "FAIL $testName"
fi
done
''
+ lib.optionalString (lib.any (v: !v) (lib.attrValues finalAttrs.testResults)) ''
{
echo ""
echo "systemd-specific eval-level compliance failures:"
for testName in "''${!testResults[@]}"; do
if [[ -z "''${testResults[$testName]}" ]]; then
echo "- $testName"
fi
done
} >&2
exit 1
'';
});
in
# Please the callTest pattern.
@@ -145,4 +64,4 @@ pkgs.lib.mapAttrs (
test = v;
driver = v;
}
) (suite // { systemd-eval = systemdEval; })
) suite

View File

@@ -13,18 +13,18 @@
writableTmpDirAsHomeHook,
}:
let
version = "0.10.1";
version = "0.10.0";
src = fetchFromGitHub {
owner = "dmtrKovalenko";
repo = "fff";
tag = "v${version}";
hash = "sha256-GGoy8ghA87vwHEc0fi97uiBrpRTAGk/QgqzKu8BBRXo=";
hash = "sha256-nrstsxOxHTeSKkqpvyxdzyypfHU6wZBQpvNnCfjh9s4=";
};
fff-nvim-lib = rustPlatform.buildRustPackage {
pname = "fff-nvim-lib";
inherit version src;
cargoHash = "sha256-sOE3Zrs/ZtOIusH0+OvR1Ew5sfQfse6eWSLPwDPVSU4=";
cargoHash = "sha256-Nlf2Bxwe5KvZF0unpeK/mMFmv4NM+IKPpFOopXoNRxU=";
cargoBuildFlags = [
"-p"

View File

@@ -21,22 +21,22 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-Y6MXjJBmhMzuQMwhkPLHK/vtciTdjsGvkEblH3ofju0=";
hash = "sha256-nDKqXhU97h0iBPPFASaCSzEdi6H48IW1rn4iB9cD36Y=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-8VvDtb+8SoLTRC7pXwH40amRurxTQgCmhdi0u7e5AfU=";
hash = "sha256-gIN2FE6ROma6v3vJX/Wi+OqFrq5/YV7kJXNMwGRw0Z8=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-bqjEgsjY+zyG1g/KtkRNxAlazIpc+HwGWvsMQNnPI2M=";
hash = "sha256-rb50iFTniwhY/iqsKBN4jfV4j+RxjLF126opVkReyGA=";
};
};
in
{
name = "claude-code";
publisher = "anthropic";
version = "2.1.218";
version = "2.1.217";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");

View File

@@ -837,7 +837,7 @@
}
},
"ungoogled-chromium": {
"version": "150.0.7871.181",
"version": "150.0.7871.128",
"deps": {
"depot_tools": {
"rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583",
@@ -849,16 +849,16 @@
"hash": "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8="
},
"ungoogled-patches": {
"rev": "150.0.7871.181-1",
"hash": "sha256-ifqEnOcvi49cFOYan8ShiwteXYnFrLPclrIBZiE1rGY="
"rev": "150.0.7871.128-1",
"hash": "sha256-GxSsGTC68IEMPt85RLBCVDT0dTl7ZVVPc8o4vxc50H8="
},
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "24b04c927b23c39cf9c5227cc8dc6f64a744c8e9",
"hash": "sha256-F52wmxyNPEV26v8YgAz+MRhyEGyV7YUX+/wj95H4Lf0=",
"rev": "81891e5ca708047763816c778216799ef14c66cb",
"hash": "sha256-lGHZZ2xIih+TaH145CZwEwyXsM1ZQWwqXsIQjWQ/jvk=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -928,8 +928,8 @@
},
"src/third_party/angle": {
"url": "https://chromium.googlesource.com/angle/angle.git",
"rev": "edae461ad2122a3a2be0b5d3d067472aa0e3329c",
"hash": "sha256-V4D7jAPJy4llbfJ6WmgCaqaH3TgkWIg5UtRAUaB9dE4="
"rev": "13e691adf3d4d3ebee2f7239731a07d3b9704956",
"hash": "sha256-fbjREn3D+quRRADGwR7V65BZt5b+1DgnsG4ZMhwGq6o="
},
"src/third_party/angle/third_party/glmark2/src": {
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
@@ -973,8 +973,8 @@
},
"src/third_party/dawn": {
"url": "https://dawn.googlesource.com/dawn.git",
"rev": "d089fc91e7e4881362463faf8efe9ae435e34660",
"hash": "sha256-ZcfSMBvdAdEJQv+qfwAe8EFHPAfPtuKLTIR5lDRKP3Q="
"rev": "01249a97332468dbdd6cf5edb8dd7bae77875de5",
"hash": "sha256-tzomo+GTec2zixxk61gtlma/sjcBImgbLMwA+mIp1LM="
},
"src/third_party/dawn/third_party/glfw3/src": {
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
@@ -1493,8 +1493,8 @@
},
"src/third_party/skia": {
"url": "https://skia.googlesource.com/skia.git",
"rev": "587c5b0f5a7b0260826a0c19094c2d952195066e",
"hash": "sha256-COvdvWVfafVhccLIj2dJzu62Rbyi3oDgORtjIGolCRo="
"rev": "bee4c917220040e147f14964635ff92ce6c5a3f6",
"hash": "sha256-SWmoX+sNaw4KnlTBPt63uBSYfQavJejB3+Vlw/gtWX8="
},
"src/third_party/smhasher/src": {
"url": "https://chromium.googlesource.com/external/smhasher.git",
@@ -1663,8 +1663,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "49df3678d1b6a1511167b15a6b7499d3ab37a638",
"hash": "sha256-T9FWX3zuP1V7wvxeHgv2MEfRiwbJC0ElI3eazSYq3fs="
"rev": "2b2f69158528fdd9d86b778cfcc2d0a1c4f8c59f",
"hash": "sha256-bqzCZSpKdXgKv3O1I7ck1PEXCa/2jBT7hpBEKW0LgTA="
},
"src/agents/shared": {
"url": "https://chromium.googlesource.com/chromium/agents.git",

View File

@@ -19,7 +19,7 @@
ocamlPackages_4_10,
ocamlPackages_4_12,
ocamlPackages_4_14,
ocamlPackages_5_5,
ocamlPackages_5_4,
rocqPackages, # for versions >= 9.0 that are transition shims on top of Rocq
ncurses,
buildIde ? null, # default is true for Coq < 8.14 and false for Coq >= 8.14
@@ -76,7 +76,6 @@ let
"9.1.0".sha256 = "sha256-+QL7I1/0BfT87n7lSaOmpHj2jJuDB4idWhAxwzvVQOE=";
"9.1.1".sha256 = "sha256-aFsGsFzexyDnOVarHPKs35HjiV8uUCpeOKSl15wXZ4s=";
"9.2.0".sha256 = "sha256-rVhv2GLImdVPgRwwTQ+wiWNtRUflMrES0ElIrdTIN1s=";
"9.3+rc1".sha256 = "sha256-vGJkRRzf8ur7i9IUpRA/sxVEQvZGnxfV/ex28Lt1kWw=";
};
releaseRev = v: "V${v}";
fetched =
@@ -141,15 +140,12 @@ let
case = lib.versions.range "8.7" "8.10";
out = ocamlPackages_4_09;
}
] ocamlPackages_5_5;
] ocamlPackages_5_4;
ocamlNativeBuildInputs = [
ocamlPackages.ocaml
ocamlPackages.findlib
]
++ lib.optional (coqAtLeast "8.14") dune;
ocamlBuildInputs = [
ocamlPackages.findlib
];
ocamlPropagatedBuildInputs =
[ ]
++ lib.optional (!coqAtLeast "8.10") ocamlPackages.camlp5
@@ -229,7 +225,6 @@ let
buildInputs = [
ncurses
]
++ ocamlBuildInputs
++ lib.optionals buildIde (
if coqAtLeast "8.10" then
[
@@ -333,18 +328,11 @@ let
platforms = lib.platforms.unix;
mainProgram = if buildIde then "coqide" else "coqtop";
};
# Things required by the CI
strictDeps = true;
__structuredAttrs = true;
};
in
if coqAtLeast "8.21" then
self.overrideAttrs (o: {
# coq-core is now a shim for rocq
nativeBuildInputs = o.nativeBuildInputs ++ [
rocqPackages.rocq-core
];
propagatedBuildInputs = o.propagatedBuildInputs ++ [
rocqPackages.rocq-core
];

View File

@@ -14,7 +14,7 @@
dune,
customOCamlPackages ? null,
ocamlPackages_4_14,
ocamlPackages_5_5,
ocamlPackages_5_4,
ncurses,
csdp ? null,
version,
@@ -29,7 +29,6 @@ let
"9.1.0".sha256 = "sha256-+QL7I1/0BfT87n7lSaOmpHj2jJuDB4idWhAxwzvVQOE=";
"9.1.1".sha256 = "sha256-aFsGsFzexyDnOVarHPKs35HjiV8uUCpeOKSl15wXZ4s=";
"9.2.0".sha256 = "sha256-rVhv2GLImdVPgRwwTQ+wiWNtRUflMrES0ElIrdTIN1s=";
"9.3+rc1".sha256 = "sha256-vGJkRRzf8ur7i9IUpRA/sxVEQvZGnxfV/ex28Lt1kWw=";
};
releaseRev = v: "V${v}";
fetched =
@@ -67,15 +66,12 @@ let
in
lib.switch rocq-version [
(case (range "9.0" "9.1") ocamlPackages_4_14)
] ocamlPackages_5_5;
] ocamlPackages_5_4;
ocamlNativeBuildInputs = [
ocamlPackages.ocaml
ocamlPackages.findlib
dune
];
ocamlBuildInputs = [
ocamlPackages.findlib
];
ocamlPropagatedBuildInputs = [ ocamlPackages.zarith ];
self = stdenv.mkDerivation {
pname = "rocq";
@@ -134,7 +130,7 @@ let
};
nativeBuildInputs = [ pkg-config ] ++ ocamlNativeBuildInputs;
buildInputs = [ ncurses ] ++ ocamlBuildInputs;
buildInputs = [ ncurses ];
propagatedBuildInputs = ocamlPropagatedBuildInputs;
@@ -200,10 +196,6 @@ let
platforms = lib.platforms.unix;
mainProgram = "rocq";
};
# Things required by the CI
strictDeps = true;
__structuredAttrs = true;
};
in
self

View File

@@ -15,7 +15,6 @@
evalConfig,
mkTest,
sharedDir,
callReload,
namePrefix ? "modular-service-compliance",
}:
@@ -46,11 +45,6 @@ let
];
warnings = [ "compliance child warning" ];
};
# A sub-service exercising reload derivation from a reload signal.
services.reloadee = {
process.argv = [ "${coreutils}/bin/true" ];
process.reloadSignal = "HUP";
};
};
};
};
@@ -71,7 +65,7 @@ let
};
testAssertions = {
expr = lib.elem {
expr = builtins.elem {
assertion = true;
message = "compliance test assertion";
} c.assertions;
@@ -79,12 +73,12 @@ let
};
testWarnings = {
expr = lib.elem "compliance test warning" c.warnings;
expr = builtins.elem "compliance test warning" c.warnings;
expected = true;
};
testSubServiceAssertions = {
expr = lib.elem {
expr = builtins.elem {
assertion = true;
message = "compliance child assertion";
} c.services.child.assertions;
@@ -92,58 +86,14 @@ let
};
testSubServiceWarnings = {
expr = lib.elem "compliance child warning" c.services.child.warnings;
expected = true;
};
# The reload-conflict assertion must not fire (its `assertion` must hold) for a
# service that sets only reloadSignal (guards the inverted-assertion fix, and the
# priority-aware conflict detection: reloadSignal derives reloadCommand internally,
# which must not be mistaken for a user-set conflict).
testNoReloadConflict = {
expr = lib.any (
a:
a.message
== "reloadSignal conflicts with reloadCommand. Please either use reloadSignal or reloadCommand."
&& !a.assertion
) c.services.reloadee.assertions;
expected = false;
};
# Setting process.reloadSignal derives process.reloadCommand
# (guards the misplaced-paren mkIf fix).
testReloadSignalDerivesCommand = {
expr = c.services.reloadee.process.reloadCommand;
expected = "${coreutils}/bin/kill -HUP $MAINPID";
};
# notificationProtocol submodule bools default to false.
testNotificationProtocolSystemdDefault = {
expr = c.notificationProtocol.systemd;
expected = false;
};
testNotificationProtocolS6Default = {
expr = c.notificationProtocol.s6;
expected = false;
};
# Setting both reloadSignal and reloadCommand explicitly is a genuine conflict,
# so the assertion must fire. Separate eval: checkDrv would fail on this.
testReloadConflictFires = {
expr = lib.any (
a:
a.message
== "reloadSignal conflicts with reloadCommand. Please either use reloadSignal or reloadCommand."
&& !a.assertion
) conflictEval.config.conflict.assertions;
expr = builtins.elem "compliance child warning" c.services.child.warnings;
expected = true;
};
# Separate eval for a failing assertion — checkDrv would fail here,
# so we only access config.
testFailingAssertionValue = {
expr = lib.elem {
expr = builtins.elem {
assertion = false;
message = "compliance failing assertion";
} failingEval.config.failing.assertions;
@@ -151,16 +101,6 @@ let
};
};
conflictEval = evalConfig {
services = {
conflict = {
process.argv = [ "${coreutils}/bin/true" ];
process.reloadSignal = "HUP";
process.reloadCommand = "${coreutils}/bin/kill -HUP $MAINPID";
};
};
};
failingEval = evalConfig {
services = {
failing = {
@@ -189,24 +129,6 @@ let
exec "${coreutils}/bin/sleep" infinity
'';
/**
A reloadable service script. Like `svc`, it namespaces a comms subdirectory
by its first argument and records the remaining arguments. It traps SIGHUP
and appends a marker line to `$dir/reloads` on each reload, then stays alive
as the trapping shell itself (no `exec`, so the trap and MAINPID are kept).
*/
reloadableSvc = writeShellScript "${namePrefix}-reloadable-svc" ''
id="$1"; shift
dir="${sharedDir}/$id"
mkdir -p "$dir"
: > "$dir/reloads"
reload() { printf 'reloaded\n' >> "$dir/reloads"; }
trap reload HUP
echo "$$" > "$dir/pid"
printf '%s\n' "$@" > "$dir/args"
while true; do "${coreutils}/bin/sleep" 1; done
'';
mkArgv =
id: extraArgs:
[
@@ -249,27 +171,6 @@ let
inherit text;
});
# The reload runtime test's service tree. The reloadable unit is the *sub*-service,
# so its name path `[ "reload" "inner" ]` handed to `callReload` exercises the
# integration's nested unit naming (NixOS dash-joins to `reload-inner.service`).
reloadServices = {
reload = {
# Parent must run something; a bare keep-alive is enough.
process.argv = [
reloadableSvc
"reload-parent"
];
services.inner.process = {
argv = [
reloadableSvc
"reload-inner"
];
# The script traps SIGHUP; reloadSignal derives the manager's reload command.
reloadSignal = "HUP";
};
};
};
in
{
# Eval-level tests: config structure, evaluated in the integration's
@@ -285,9 +186,9 @@ in
representative = evalResult.checkDrv;
passthru = {
tests = evalTestDefs;
failures = lib.runTests finalAttrs.finalPackage.tests;
failures = lib.runTests finalAttrs.passthru.tests;
};
testResults = lib.mapAttrs (_: test: test.expr == test.expected) finalAttrs.finalPackage.tests;
testResults = lib.mapAttrs (_: test: test.expr == test.expected) finalAttrs.passthru.tests;
buildCommand = ''
touch $out
for testName in "''${!testResults[@]}"; do
@@ -346,26 +247,5 @@ in
'';
};
# Runtime reload: start a reloadable service, ask the integration to reload it,
# and assert the service observed the reload (recorded a SIGHUP marker).
reload = mkTest {
name = "${namePrefix}-reload";
services = reloadServices;
testExe = mkTestScript "reload" ''
${waitAndCheck "reload-inner" [ ]}
${callReload [
"reload"
"inner"
]}
timeout=30; elapsed=0
while ! grep -qx "reloaded" "${sharedDir}/reload-inner/reloads" && [ "$elapsed" -lt "$timeout" ]; do
sleep 1; elapsed=$((elapsed + 1))
done
grep -qx "reloaded" "${sharedDir}/reload-inner/reloads" \
|| { echo "reload: no reload recorded after ''${timeout}s"; cat "${sharedDir}/reload-inner/reloads"; exit 1; }
echo "reload: reload observed"
'';
};
# See also the manual compliance items in doc/build-helpers/testers.chapter.md.
}

View File

@@ -8,7 +8,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "apfel-llm";
version = "1.8.4";
version = "1.8.3";
__structuredAttrs = true;
strictDeps = true;
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
# Building from source requires swift 6.3.0 while nixpkgs only has 5.10.1
src = fetchurl {
url = "https://github.com/Arthur-Ficial/apfel/releases/download/v${finalAttrs.version}/apfel-${finalAttrs.version}-arm64-macos.tar.gz";
hash = "sha256-farvPPo3VU2qUat+72qaiMpcd9LwFO7kqzGGKKtPwGE=";
hash = "sha256-1AA86f5+Poo5YCrtxT1rAPGBctQbNa5hdAZmI008/yU=";
};
sourceRoot = ".";

View File

@@ -3,7 +3,7 @@
buildGoModule,
fetchFromGitHub,
nodejs,
pnpm_10,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
installShellFiles,
@@ -31,14 +31,14 @@ let
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_10
pnpm_9
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-RSz/bx8/BAqLZH3/yQ6/H/nnwGvcCg8EzIEJ4/xkQgQ=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-HypDGYb0MRCIDBHY8pVgwFoZQWC8us44cunORZRk3RM=";
};
buildPhase = ''

View File

@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "atuin";
version = "18.17.1";
version = "18.17.0";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
tag = "v${finalAttrs.version}";
hash = "sha256-9wfeAqtE6HLNvQHdGlLX6Kv1kakmojgY14RVW/WpOSs=";
hash = "sha256-cciogPSlbfiC9U3Dv+IGyuRI9PU9X4LdlequCFiG/a0=";
};
cargoHash = "sha256-l2TX8thT+MnWhrTyD4ryapJkDg43mb2IurGDnyk2b74=";
cargoHash = "sha256-QX1JupLZafRdMUZjl58iFjiPgLSTYZazRVyU88n5QP8=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.

View File

@@ -9,27 +9,24 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "blazesym-c";
version = "0.1.9";
version = "0.1.8";
src = fetchFromGitHub {
owner = "libbpf";
repo = "blazesym";
tag = "capi-v${finalAttrs.version}";
hash = "sha256-gaDNRVcoI6Nc1zWEwS49FhKPep4uI5560t3AaIRCYfw=";
hash = "sha256-IdeY9FCGziYN9glnvQJu2oa5ogdXb6D9QcY2MRnq7vA=";
};
cargoHash = "sha256-ZLGtskOe38fBP8o8zIezzsNwY4Xwr7UnVrbx1KysEis=";
cargoHash = "sha256-fsvdhahTKxjrrH9z6m1k3cTkXfMUZXZNZlYRi3tgTlA=";
cargoBuildFlags = [
"--package"
"blazesym-c"
];
nativeBuildInputs = [
nativeCheckInputs = [
pkg-config
];
buildInputs = [
elfutils
zlib
];

View File

@@ -136,7 +136,7 @@ buildFHSEnv {
with pkgs;
[
gtk2-x11
# openssl_1_1
openssl_1_1
]
);
@@ -166,8 +166,5 @@ buildFHSEnv {
];
platforms = lib.platforms.linux;
mainProgram = "bolt-launcher";
}
// (lib.optionalAttrs enableRS3 {
problems.broken.message = "OpenSSL 1.1 has been end of life since 2023 and will be removed soon.";
});
};
}

View File

@@ -3,20 +3,20 @@
let
pname = "brave";
version = "1.92.143";
version = "1.92.141";
allArchives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-IHBJm9uow2d/X4Z9e117aGdP1Y+3R1ApWu40sPtdbr8=";
hash = "sha256-FVzXaVpyfX+GIVofy3NfpE8rOH+9LjQpdEoEWQV0DqI=";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-jaxNneurduBiw3jho5Fp7gXnBfSpLB5hlE06i/JK+ic=";
hash = "sha256-A87vCTtcyuNMPLaLYDjgyIm85zwAXNc3Z4ImtC9Kjek=";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
hash = "sha256-EvfZgO8FAijof1Ml6gqSOyRndL8KYFdT0MNmVmuxAnU=";
hash = "sha256-b4BmNt+c0CSrtS2n+30gdWrSsFOQSZnFAy2vWbGJz6g=";
};
};

View File

@@ -21,11 +21,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "btrfs-progs";
version = "7.0";
version = "7.1";
src = fetchurl {
url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${finalAttrs.version}.tar.xz";
hash = "sha256-wobWh2y81yMnoLQX5M/SgDU+wj43tUn9vNeACoMtmpk=";
hash = "sha256-0fVcwpcTmMkULqp50gPmPVhqO0uGf5VmZKHWgyLNTjQ=";
};
nativeBuildInputs = [

View File

@@ -18,13 +18,13 @@
buildGoModule (finalAttrs: {
pname = "buildah";
version = "1.44.1";
version = "1.44.0";
src = fetchFromGitHub {
owner = "podman-container-tools";
repo = "buildah";
tag = "v${finalAttrs.version}";
hash = "sha256-EGoH+PvePNw7I28Vq1kH9W0x4lYuUTSa1Rd+fEE8fkc=";
hash = "sha256-/Rv5la54ikmP4qVT19tg0sv0kM+xpQO6w9XU1PpGFk4=";
};
outputs = [

View File

@@ -1,47 +1,47 @@
{
"version": "2.1.218",
"commit": "bce61b433bc397ce68686368abd12f545b0a013a",
"buildDate": "2026-07-22T18:42:19Z",
"version": "2.1.217",
"commit": "9963b018d22c3e6659c99e135e687870301b5c67",
"buildDate": "2026-07-21T18:45:36Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
"checksum": "71abaff59312c9a9b6a1d818365048b42e4e95cc521a823660eded3e0880d9b7",
"size": 255069680
"checksum": "5840c777fd47115e9ca276e165563c6e121e7c7e2b4d86598e0025f8cc37de56",
"size": 250456784
},
"darwin-x64": {
"binary": "claude",
"checksum": "9862b74a083e8a4ed572f99cbd4895185e0dd5a0a601affb0fb8e43d8d1f40e6",
"size": 264548368
"checksum": "8387a6fd44edfd40d7e74c5fdc3270a15f5e6b1b58c7c6fee560e70d3d1943da",
"size": 259908496
},
"linux-arm64": {
"binary": "claude",
"checksum": "295fd30481bd03b38450fdec2a6e25bb6472c2074f04b0c4a566cd5988f230bf",
"size": 269990816
"checksum": "40c53507ac669c1d438366c19760c22f52748a06e50e0fc0e353d2cb73425597",
"size": 265337760
},
"linux-x64": {
"binary": "claude",
"checksum": "e12071751a9336b8af1012c103358ff04ac18f9aaff4a738cff7ba5cdfaf63f2",
"size": 273177584
"checksum": "2630fc5dc6db61bc03f86b95daf47766e5ed5b61873f7bb7cfea764c5ac5a9ba",
"size": 268573680
},
"linux-arm64-musl": {
"binary": "claude",
"checksum": "efcaae48f8f537a0e9a47b4317a5f8c184706c99ddd8ca0a9a21391e2a766ef8",
"size": 263239016
"checksum": "e219a631e194e71bccbea2f81f5678c75f745aa6e7a74e8a407610c906d1299b",
"size": 258585960
},
"linux-x64-musl": {
"binary": "claude",
"checksum": "62986293277153f5db97404cf7e3e96de136f02c28f79ccd5c7bc99766224db4",
"size": 267801168
"checksum": "7c44188927edbf7b918b41bc7a284292359b1ad556b7802db0148adb4b395732",
"size": 263197264
},
"win32-x64": {
"binary": "claude.exe",
"checksum": "81fcf59bb7abb558aedc6f2361f4723b3d757d28e799962d88b18b4520df66ca",
"size": 263931552
"checksum": "6e4a3a4679f381178a90cf741de9ce924a3274304b09277695ac3a679628ca17",
"size": 259460768
},
"win32-arm64": {
"binary": "claude.exe",
"checksum": "a7959fd87feb9557d56f4e5752f7ed1ddf405f3bea91b2571bf93af636efd193",
"size": 258307232
"checksum": "f0128e1a50b8d7dec5bb4dbdff0ef622f617e798df61ebb009ed3f03d2afe613",
"size": 253836448
}
},
"sdkCompat": {
@@ -67,8 +67,7 @@
"0.3.207",
"0.3.208",
"0.3.209",
"0.3.215",
"0.3.217"
"0.3.215"
],
"harnessSchema": 1
}

View File

@@ -16,16 +16,16 @@
buildGoModule (finalAttrs: {
pname = "cliamp";
version = "1.61.0";
version = "1.57.1";
src = fetchFromGitHub {
owner = "bjarneo";
repo = "cliamp";
tag = "v${finalAttrs.version}";
hash = "sha256-BbyaZw+OvC6rb60Z2whhHj2iKow/ZJJ8VzuwPX7bHIE=";
hash = "sha256-wRXF2bnl3xFJtuESJX2UVSsPwl4xo6E+k7nIdtzCULo=";
};
vendorHash = "sha256-KYjP6qEINdSlcDSEMKxMwDfXzuQPAQSe4oZh+o4PrFs=";
vendorHash = "sha256-A2Ygc1a9e2flZzaNAEXvr8Ui1cE89TxBfUNALmDzIo0=";
nativeBuildInputs = [
pkg-config

View File

@@ -1,18 +1,18 @@
{
"version": "3.12.30",
"version": "3.12.17",
"vscodeVersion": "1.128.0",
"sources": {
"x86_64-linux": {
"url": "https://downloads.cursor.com/production/63a2996a10d9e476b6c28e951dd7691d9c0cf480/linux/x64/Cursor-3.12.30-x86_64.AppImage",
"hash": "sha256-7gyF8YtWLjFOjAxhqip2fVxTbaBj/4FtLsjw2JpTOD8="
"url": "https://downloads.cursor.com/production/0fb762053c34788bb7760d5673f8a6d4c8589d52/linux/x64/Cursor-3.12.17-x86_64.AppImage",
"hash": "sha256-Fu00p0vaLNOl9wbGgtseLwhseXxmIQMyyhlNF7VZ+qM="
},
"aarch64-linux": {
"url": "https://downloads.cursor.com/production/63a2996a10d9e476b6c28e951dd7691d9c0cf480/linux/arm64/Cursor-3.12.30-aarch64.AppImage",
"hash": "sha256-UKPf2q4py0pN5FlgdwGbTEKA52T7iJpM63z2kemz9h8="
"url": "https://downloads.cursor.com/production/0fb762053c34788bb7760d5673f8a6d4c8589d52/linux/arm64/Cursor-3.12.17-aarch64.AppImage",
"hash": "sha256-/r6lFrSq7aSefGvOWqLw/YmyUy3VocaWRyOUHoHuSeM="
},
"aarch64-darwin": {
"url": "https://downloads.cursor.com/production/63a2996a10d9e476b6c28e951dd7691d9c0cf480/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-uxAWl5wJISEbGSv7yHys29NZDquLe7z6wMNb61HC/7g="
"url": "https://downloads.cursor.com/production/0fb762053c34788bb7760d5673f8a6d4c8589d52/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-WaUBglq+Jqa1Cn0sx62ccbBSKhYiBz1u1PjdHxcfQKE="
}
}
}

View File

@@ -0,0 +1,89 @@
{
lib,
stdenv,
fetchurl,
fetchzip,
jdk11,
openjfx17,
gtk3,
glib,
pango,
cairo,
gdk-pixbuf,
libxtst,
makeBinaryWrapper,
makeDesktopItem,
copyDesktopItems,
}:
let
openjfx_jdk = openjfx17.override { withWebKit = true; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "conduktor";
version = "2.24.9";
src = fetchzip {
url = "https://github.com/conduktor/builds/releases/download/v${finalAttrs.version}/Conduktor-linux-${finalAttrs.version}.zip";
hash = "sha256-c9QjlKPZpeJi5YTq4gm+sg7my4EP0LI95AfGguF4ork=";
};
nativeBuildInputs = [
makeBinaryWrapper
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
type = "Application";
name = "conduktor";
desktopName = "Conduktor";
genericName = finalAttrs.meta.description;
exec = "conduktor";
icon = fetchurl {
url = "https://github.com/conduktor/builds/raw/v${finalAttrs.version}/.github/resources/Conduktor.png";
hash = "sha256-mk4c9ecookRb7gR56cedIWfPfQy2uGF+ZbX6NI90KI0=";
};
comment = "A beautiful and fully-featured desktop client for Apache Kafka";
})
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
cp -r . $out
wrapProgram $out/bin/conduktor \
--set JAVA_HOME ${jdk11.home} \
--set LD_LIBRARY_PATH ${
lib.makeLibraryPath [
openjfx_jdk
gtk3
gtk3
glib
pango
cairo
gdk-pixbuf
libxtst
]
} \
--add-flags "--module-path ${openjfx_jdk}/lib --add-modules=javafx.controls,javafx.fxml"
runHook postInstall
'';
meta = {
description = "Apache Kafka Desktop Client";
longDescription = ''
Conduktor is a GUI over the Kafka ecosystem, to make the development
and management of Apache Kafka clusters as easy as possible.
'';
homepage = "https://www.conduktor.io/";
changelog = "https://www.conduktor.io/changelog/#${finalAttrs.version}";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ trobert ];
platforms = lib.platforms.linux;
};
})

View File

@@ -21,12 +21,12 @@
rustPlatform.buildRustPackage {
pname = "crosvm";
version = "0-unstable-2026-07-15";
version = "0-unstable-2026-07-06";
src = fetchgit {
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
rev = "ffbf0df34699f9670db015962bac83d0d417d7e7";
hash = "sha256-4z1TXMGOvOMUAED1gluugHPF4mBigjDioxnFneQOIS8=";
rev = "1378aabfc63333547e87b788a8204511da243166";
hash = "sha256-7cfiXOPlNHLIVHBW+y7WnYgdcxErtJeLBxPey/3uA1w=";
fetchSubmodules = true;
};

View File

@@ -1,6 +1,7 @@
{
lib,
fetchFromGitHub,
fetchpatch2,
stdenv,
# for passthru.plugins
pkgs,
@@ -18,16 +19,24 @@
let
cutter = stdenv.mkDerivation rec {
pname = "cutter";
version = "2.5.0";
version = "2.4.1";
src = fetchFromGitHub {
owner = "rizinorg";
repo = "cutter";
rev = "v${version}";
hash = "sha256-dnVbtAp7TorPQx4qdK43L2pXMcnWvOYjhRC3MJBrAmM=";
hash = "sha256-fNOznaFzWJ4Dve9U1+E4xPaznnyxae2jHNaBCdJzDyQ=";
fetchSubmodules = true;
};
patches = [
(fetchpatch2 {
name = "fix-shiboken6-type-index-case.patch";
url = "https://github.com/rizinorg/cutter/commit/07fea9c772dc573588dc2e5771f0740ee1883738.patch?full_index=1";
hash = "sha256-/C/s+Ui5F7MCxbzbChQ5Tv/oUHUQxXmk9xOnNI80xwQ=";
})
];
nativeBuildInputs = [
cmake
pkg-config

View File

@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
nix-update-script,
pnpm_10,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
makeWrapper,
@@ -30,14 +30,14 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-scJhcZDyqUVdKv/EQvB5+EJN/SvMw220+QOcTUxTFJQ=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-2nKpmGxC+KVg0oF0BsswS9L84QxzpRF7NvKyqyQ7WJM=";
};
nativeBuildInputs = [
pnpmConfigHook
pnpm_10
pnpm_9
makeWrapper
];
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper ${lib.getExe nodejs} $out/bin/etherpad-lite \
--inherit-argv0 \
--add-flags "--require tsx/cjs $out/lib/etherpad-lite/node_modules/ep_etherpad-lite/node/server.ts" \
--suffix PATH : "${lib.makeBinPath [ pnpm_10 ]}" \
--suffix PATH : "${lib.makeBinPath [ pnpm_9 ]}" \
--set NODE_PATH "$out/lib/node_modules:$out/lib/etherpad-lite/node_modules/ep_etherpad-lite/node_modules" \
--set-default NODE_ENV production
find $out/lib -xtype l -delete

View File

@@ -39,11 +39,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "exim";
version = "4.99.5";
version = "4.99.4";
src = fetchurl {
url = "https://ftp.exim.org/pub/exim/exim4/exim-${finalAttrs.version}.tar.xz";
hash = "sha256-wtL4Ctx8cdQk/YKkZlXqotfZtMoud4g+upB2lHt+5ic=";
hash = "sha256-h/84gVcA37HuTrfo26eRbfenVZBTVNLQ+qGuF5DE/Z0=";
};
enableParallelBuilding = true;

View File

@@ -24,13 +24,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "faas-cli";
version = "0.18.11";
version = "0.18.10";
src = fetchFromGitHub {
owner = "openfaas";
repo = "faas-cli";
rev = finalAttrs.version;
sha256 = "sha256-4bfp9nM6cAglx9mNzjQZ4uo6nJNWI9Q9g9zIdkev9FM=";
sha256 = "sha256-MctMhuaXJpm25VKqlhaAPG2QzSDQ//Ei8B1lRCKdz68=";
};
vendorHash = null;

View File

@@ -4,7 +4,7 @@
fetchFromGitHub,
beam27Packages,
gitMinimal,
pnpm_10,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
nodejs,
@@ -34,10 +34,10 @@ beam27Packages.mixRelease rec {
pnpmDeps = fetchPnpmDeps {
inherit pname version;
pnpm = pnpm_10;
pnpm = pnpm_9;
src = "${src}/apps/web/assets";
fetcherVersion = 4;
hash = "sha256-Uq6dAYYWT8G6upYcNEzVc8Gb2HUj8SaWRD0/w0quaRE=";
fetcherVersion = 3;
hash = "sha256-tB0y3T/dZBe8BHz7AV913zQ4oQu7VLyqHCnzBycNg18=";
};
pnpmRoot = "apps/web/assets";
@@ -63,7 +63,7 @@ beam27Packages.mixRelease rec {
nativeBuildInputs = [
pnpmConfigHook
pnpm_10
pnpm_9
nodejs
];

View File

@@ -30,13 +30,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "frankenphp";
version = "1.12.5";
version = "1.12.4";
src = fetchFromGitHub {
owner = "php";
repo = "frankenphp";
tag = "v${finalAttrs.version}";
hash = "sha256-1f+3w9x6P1euUZr4hC4jOkgEJEbS/MJ11u+chGShCno=";
hash = "sha256-DzncOAhdDyc5qOipMI8OPss0WciAQIam6GmaUoe8mR8=";
};
sourceRoot = "${finalAttrs.src.name}/caddy";
@@ -44,7 +44,7 @@ buildGoModule (finalAttrs: {
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366
proxyVendor = true;
vendorHash = "sha256-d6ZTi1Ihu011eKVdHMiW9oSdPB4SYpDHMFxH65XLGac=";
vendorHash = "sha256-XY5a8pd5vJ/ouZMASzVqPoeXVfPbnEVDJFKkVNQF+2M=";
buildInputs = [
phpUnwrapped

View File

@@ -22,13 +22,13 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "freetube";
version = "0.25.1";
version = "0.25.0";
src = fetchFromGitHub {
owner = "FreeTubeApp";
repo = "FreeTube";
tag = "v${finalAttrs.version}-beta";
hash = "sha256-CQiwAoOJoAZpcDIwqcOfUAvJHLWTdj8fIInlR3qyjg8=";
hash = "sha256-oXa+3BXLVDTaLUzt0imgTtZ4/NywibFzul/y0wymnWk=";
};
__structuredAttrs = true;
@@ -57,7 +57,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-NWCgUjBuSeEl65mmAeJzOyIxCi2ha0Nr5qjOQq+CtMQ=";
hash = "sha256-xHlxmeMtMd9/ImheeMH1K22MC0zmIzzgAHXzK+tLnQc=";
};
nativeBuildInputs = [

View File

@@ -9,17 +9,17 @@
buildGoModule (finalAttrs: {
pname = "gitea-actions-runner";
version = "2.2.0";
version = "2.1.0";
src = fetchFromGitea {
domain = "gitea.com";
owner = "gitea";
repo = "runner";
rev = "v${finalAttrs.version}";
hash = "sha256-aiba7Tdyyy8aDzJq62zOWNkEZE+twIxReW7clbIoVTI=";
hash = "sha256-jkK61OZgbMDHD5yxrpyP1BWCVzDiR79dVaC5ItS99BU=";
};
vendorHash = "sha256-Zpq/G/SZ959SRUIMGo2votFv4DzB46OmPmZwFoae3gU=";
vendorHash = "sha256-5K0vL0CDYgL/Ud7i4um3mz887Er4qmuhCd9dt5zyUHA=";
# Tests require network access (artifactcache tests try to determine outbound IP)
doCheck = false;

View File

@@ -6,7 +6,7 @@
buildGo125Module rec {
pname = "gitlab-container-registry";
version = "4.40.2";
version = "4.39.0";
rev = "v${version}-gitlab";
# nixpkgs-update: no auto update
@@ -14,10 +14,10 @@ buildGo125Module rec {
owner = "gitlab-org";
repo = "container-registry";
inherit rev;
hash = "sha256-k94uEM2VoOtdFRXWm6CDmeRt8LMXSNegRGes3ZKPg0I=";
hash = "sha256-7dGKV2Pc3OPdM4OZqYjp3B9/s6DHtPvrqcWnWb3wHYw=";
};
vendorHash = "sha256-MD98JYwTo/t5/E7clIlUfjmv8t7nDPpVElbuYDRjMMc=";
vendorHash = "sha256-s08LsgYZTRJm0sWkbEUsmTYGkfb/5PJl9o9ozY1KOms=";
excludedPackages = [
"devvm/*"

View File

@@ -12,7 +12,7 @@ buildNpmPackage {
sourceRoot = "${headlamp-server.src.name}/frontend";
npmDepsHash = "sha256-v8aMlOk2JD2DzcUMWTK+2QP44n1Nl0LQPcIry7W51vg=";
npmDepsHash = "sha256-73xc/GK1Cvz67D6ftYVRe5GARNgG5qD86CGK6uhoyWA=";
postPatch = ''
chmod -R u+w ../app

View File

@@ -2,13 +2,11 @@
lib,
buildGoModule,
fetchFromGitHub,
nix-update,
writeShellScript,
}:
buildGoModule rec {
pname = "headlamp-server";
version = "0.43.0";
version = "0.42.0";
strictDeps = true;
__structuredAttrs = true;
@@ -17,12 +15,12 @@ buildGoModule rec {
owner = "kubernetes-sigs";
repo = "headlamp";
tag = "v${version}";
hash = "sha256-6TGKBKR0WR4Xv7lGCgMFVG/nc19oMOP5cJcgT0bw6Ag=";
hash = "sha256-SBPSh6dsKvMw1C80THri0mNPoTMgcrjONk455S/g9v0=";
};
modRoot = "backend";
vendorHash = "sha256-U0H1Dj38ajRGFqcWszveWckxenaKa4nrPg81GyIpS0U=";
vendorHash = "sha256-dBU053QtUEMWjzkOEHzELH3j7PJOKuoBZCVZFmZ5z7E=";
# Don't embed frontend - Electron serves it directly. This also prevents
# the server from auto-opening a browser window.
@@ -40,14 +38,6 @@ buildGoModule rec {
mv $out/bin/cmd $out/bin/headlamp-server
'';
# headlamp-frontend and headlamp inherit src (and version) from here, update their hashes aswell
passthru.updateScript = writeShellScript "headlamp-update" ''
set -euo pipefail
${lib.getExe nix-update} headlamp-server
${lib.getExe nix-update} --version=skip --no-src headlamp-frontend
${lib.getExe nix-update} --version=skip --no-src headlamp
'';
meta = {
description = "An easy-to-use and extensible Kubernetes web UI";
homepage = "https://headlamp.dev";

View File

@@ -17,7 +17,7 @@ buildNpmPackage {
sourceRoot = "${headlamp-server.src.name}/app";
npmDepsHash = "sha256-gZr+ni3dmrjqHDwoFxgGM0/Kf3R1Qy2SZetLtGtDY+0=";
npmDepsHash = "sha256-k7rABbEmYY24k/obKm1GZUnM0Udjtyv2bhrVEvc0ebc=";
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";

View File

@@ -12,7 +12,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "herdr";
version = "0.7.5";
version = "0.7.4";
__structuredAttrs = true;
@@ -20,16 +20,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "ogulcancelik";
repo = "herdr";
tag = "v${finalAttrs.version}";
hash = "sha256-3BA8eredGku+vsL2Af7sUf43QiArR5XTHNrI+X11vFM=";
hash = "sha256-dBOQYLFitJ+E3XNz44Ag3CIrBxFj16CmVPp7qil0ssg=";
};
cargoHash = "sha256-lWnc0Ka0hp7bbm+dkKKj22Dbk+Cwrld86romXs3lzBs=";
cargoHash = "sha256-XHzZy2tKLbMQy4POmXowUcGf77ZPunG/oQ3P2wOoVls=";
zigDeps = zig_0_15.fetchDeps {
inherit (finalAttrs) pname version;
src = "${finalAttrs.src}/vendor/libghostty-vt";
fetchAll = true;
hash = "sha256-PnM+hZIlLyQwK8vJgd/Bhjt1lNIz06T8FahwliRmMrY=";
hash = "sha256-pgGu8+NwvFcj6SrN4VaTHLeHdA7QY731ctyrHZwgFAc=";
};
nativeBuildInputs = [
@@ -77,10 +77,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
homepage = "https://herdr.dev";
changelog = "https://github.com/ogulcancelik/herdr/releases/tag/v${finalAttrs.version}";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [
kevinpita
faukah
];
maintainers = with lib.maintainers; [ kevinpita ];
mainProgram = "herdr";
platforms = lib.platforms.unix;
};

View File

@@ -1,60 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
cmake,
pkg-config,
wayland-scanner,
cairo,
libGL,
libjpeg,
libxkbcommon,
pango,
wayland,
wayland-protocols,
}:
stdenv.mkDerivation (finalAttrs: {
__structuredAttrs = true;
pname = "hyprmag";
version = "2.2.0";
src = fetchFromGitHub {
owner = "SIMULATAN";
repo = "hyprmag";
tag = finalAttrs.version;
hash = "sha256-IHYxQeCcPH2XoRyTgFEi+HVlWGVAnaTdS0Jf96H9PNU=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
];
buildInputs = [
cairo
libGL
libjpeg
libxkbcommon
pango
wayland
wayland-protocols
];
passthru.updateScript = nix-update-script { };
meta = {
description = "wlroots-compatible Wayland screen magnifier, based on hyprpicker";
homepage = "https://github.com/SIMULATAN/hyprmag";
changelog = "https://github.com/SIMULATAN/hyprmag/releases/tag/${finalAttrs.version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ samiser ];
mainProgram = "hyprmag";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,60 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
wayland,
wayland-protocols,
wayland-scanner,
hyprwayland-scanner,
libxkbcommon,
pango,
libjpeg,
hyprutils,
nix-update-script,
}:
stdenv.mkDerivation {
pname = "hyprmagnifier";
version = "0.0.1-unstable-2025-05-16";
src = fetchFromGitHub {
owner = "st0rmbtw";
repo = "hyprmagnifier";
rev = "ce05ed35a1a7f9df976be7ee604d291ddad9c91c";
hash = "sha256-vsQnL3R7lPKsUlDQKXirWMj/3qI377g7PkKlN+eVDTI=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
hyprwayland-scanner
];
buildInputs = [
wayland
wayland-protocols
wayland-scanner
hyprwayland-scanner
libxkbcommon
pango
libjpeg
hyprutils
];
passthru.updateScript = nix-update-script { };
meta = {
description = "wlroots-compatible Wayland magnifier that does not suck";
homepage = "https://github.com/st0rmbtw/hyprmagnifier";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
matthewcroughan
];
mainProgram = "hyprmagnifier";
platforms = lib.platforms.all;
};
}

View File

@@ -2,24 +2,21 @@
fetchFromGitHub,
lib,
i3,
pcre2,
pcre,
}:
let
version = "4.21.1";
in
i3.overrideAttrs (oldAttrs: {
pname = "i3-rounded";
inherit version;
version = "4.21.1";
src = fetchFromGitHub {
owner = "LinoBigatti";
repo = "i3-rounded";
rev = "v${version}";
hash = "sha256-KMpejS89Hg6Mrm94HTNA9mV/6Leu1yo2W1CsD6vGDRo=";
rev = "524c9f7b50f8c540b2ae3480b242c30d8775f98e";
hash = "sha256-lceeP+WZtBLNSDqcNn18MROLtBwj+nXufDs55IMO9Xg=";
};
buildInputs = oldAttrs.buildInputs ++ [ pcre2 ];
buildInputs = oldAttrs.buildInputs ++ [ pcre ];
# Some tests are failing.
doCheck = false;

View File

@@ -21,6 +21,7 @@
libxml2,
libglut,
libsamplerate,
pcre,
libevent,
libedit,
yajl,
@@ -80,6 +81,7 @@ stdenv.mkDerivation {
libxml2
libglut
libsamplerate
pcre
libevent
libedit
yajl

View File

@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "jiratui";
version = "1.10.1";
version = "1.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "whyisdifficult";
repo = "jiratui";
tag = "v${finalAttrs.version}";
hash = "sha256-yXVc3evYK3lbiLwn09M++lZfbb5F9bXSR5ge6Pfgs6w=";
hash = "sha256-b5bSMPnqHqpeFDl501gSun7G38OlhV/IMNMYXQT+j/4=";
};
postPatch = ''
@@ -32,28 +32,19 @@ python3Packages.buildPythonApplication (finalAttrs: {
click
gitpython
httpx
marklas
puremagic
pyaml
pydantic-settings
python-dateutil
python-json-logger
pyyaml
python-magic
textual
textual-autocomplete
textual-image
urllib3
xdg-base-dirs
]
++ textual.optional-dependencies.syntax;
pythonRelaxDeps = [
"click"
"marklas"
# upstream wants puremagic >= 2.2.0 but only uses puremagic.magic_string,
# which is compatible with 1.x; drop once puremagic >= 2.2.0 lands
"puremagic"
"pydantic-settings"
"python-json-logger"
];
pythonImportsCheck = [

View File

@@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "kcl";
version = "0.12.7";
version = "0.12.4";
src = fetchFromGitHub {
owner = "kcl-lang";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-HPydO/gBJkMsqR3Eb3ymKprm5x7tr9//IKT052hiDNA=";
hash = "sha256-jtAfFwgtIP2sJRH4RcGTgVn/S5yvA15q3u2xeWus/8s=";
};
vendorHash = "sha256-46qLRdB0epfZPuvNVYaLIAiTkI9kbAS6OM9OYC8cmmE=";
vendorHash = "sha256-aKXfVDu3uTEeSzs4nVWQMUj+HaVkzk+iTr+lti+Yb6E=";
subPackages = [ "cmd/kcl" ];

View File

@@ -4,6 +4,7 @@
fetchFromGitHub,
cmake,
gtk3,
pcre,
pkg-config,
vte,
nixosTests,
@@ -32,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
gtk3
pcre
vte
];

View File

@@ -2,7 +2,6 @@
stdenv,
fetchurl,
lib,
cmake,
exiv2,
ffmpeg,
libvlc,
@@ -27,7 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
cmake
kdePackages.extra-cmake-modules
kdePackages.wrapQtAppsHook
];

View File

@@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libdeltachat";
version = "2.56.0";
version = "2.55.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${finalAttrs.version}";
hash = "sha256-qdkCv3MooW2tieg6ivJHjh7uTVzWcwDM3aV5u2rIqOw=";
hash = "sha256-Iy0VeWfD0GXdQiGZbn95p9SJ4MUSYBwsYLnI5NvgUl4=";
};
patches = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit (finalAttrs) version src;
hash = "sha256-tETJAlwRmKgC1BRFtqQe2PNqpsGKaYeAfKA4kFog5+8=";
hash = "sha256-BfvLWldH4gbnB/ehywB40Ho1IZB/Kv5szmtMTVRsvqk=";
};
nativeBuildInputs = [

View File

@@ -9,6 +9,7 @@
gtk2,
libcanberra,
libnotify,
pcre,
sqlite,
libxdmcp,
libpthread-stubs,
@@ -47,6 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
gtk2
libcanberra
libnotify
pcre
sqlite
libxdmcp
libpthread-stubs

View File

@@ -106,6 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/libsidplayfp/libsidplayfp/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
ramkromberg
OPNA2608
];
platforms = lib.platforms.all;

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libssc";
version = "0.4.4";
version = "0.2.2";
src = fetchFromCodeberg {
owner = "DylanVanAssche";
repo = "libssc";
tag = "v${finalAttrs.version}";
hash = "sha256-C9A0NtkGztSJQIkv4diGAPhZMUiIUszRNYif2yZL8nI=";
hash = "sha256-vc3phLAURKXAVD/o4uiGkBtJ3wsbLEfkwygMltEhqug=";
};
buildInputs = [

View File

@@ -0,0 +1,33 @@
diff --git a/greeter/CMakeLists.txt b/greeter/CMakeLists.txt
index 57aebb0..11c4ca7 100644
--- a/greeter/CMakeLists.txt
+++ b/greeter/CMakeLists.txt
@@ -1,6 +1,6 @@
project (greeter)
-cmake_minimum_required (VERSION 2.8)
-cmake_policy (VERSION 2.8)
+cmake_minimum_required (VERSION 3.10)
+cmake_policy (VERSION 3.10)
enable_testing ()
@@ -9,7 +9,6 @@ list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
set (CONF_DIR "/etc/lightdm")
set (DATADIR "${CMAKE_INSTALL_PREFIX}/share")
set (PKGDATADIR "${DATADIR}/enso/greeter")
-set (CMAKE_INSTALL_PREFIX /usr)
set (VERSION "1.0.6")
@@ -94,9 +93,9 @@ glib_compile_resources (GLIB_RESOURCES_CSS SOURCE data/css.gresource.xml)
add_executable (pantheon-greeter ${VALA_C} ${GLIB_RESOURCES_CSS})
target_link_libraries(pantheon-greeter m)
-install (TARGETS pantheon-greeter RUNTIME DESTINATION sbin)
+install (TARGETS pantheon-greeter RUNTIME DESTINATION bin)
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/pantheon-greeter.desktop DESTINATION share/xgreeters)
-install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/greeter.conf DESTINATION ${CONF_DIR})
+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/greeter.conf DESTINATION etc/lightdm)
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/fingerprint.svg DESTINATION ${PKGDATADIR})
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/power.svg DESTINATION ${PKGDATADIR})
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/checked.svg DESTINATION ${PKGDATADIR})

View File

@@ -0,0 +1,97 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
linkFarm,
lightdm-enso-os-greeter,
dbus,
pcre,
libepoxy,
libxdmcp,
libx11,
libpthread-stubs,
at-spi2-core,
libxklavier,
libxkbcommon,
gtk3,
vala,
cmake,
libgee,
lightdm,
gdk-pixbuf,
clutter-gtk,
wrapGAppsHook3,
librsvg,
}:
stdenv.mkDerivation {
pname = "lightdm-enso-os-greeter";
version = "0.2.1";
src = fetchFromGitHub {
owner = "nick92";
repo = "Enso-OS";
rev = "ed48330bfd986072bd82ac542ed8f8a7365c6427";
sha256 = "sha256-v79J5KyjeJ99ifN7nK/B+J7f292qDAEHsmsHLAMKVYY=";
};
patches = [
./fix-paths.patch
];
nativeBuildInputs = [
cmake
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
dbus
gtk3
pcre
libepoxy
libgee
libx11
lightdm
libxdmcp
gdk-pixbuf
clutter-gtk
libxklavier
at-spi2-core
libxkbcommon
libpthread-stubs
librsvg
];
preConfigure = ''
cd greeter
'';
passthru.xgreeters = linkFarm "enso-os-greeter-xgreeters" [
{
path = "${lightdm-enso-os-greeter}/share/xgreeters/pantheon-greeter.desktop";
name = "pantheon-greeter.desktop";
}
];
postFixup = ''
substituteInPlace $out/share/xgreeters/pantheon-greeter.desktop \
--replace "pantheon-greeter" "$out/bin/pantheon-greeter"
'';
meta = {
description = ''
A fork of pantheon greeter that positions elements in a central and
vertigal manner and adds a blur effect to the background
'';
mainProgram = "pantheon-greeter";
homepage = "https://github.com/nick92/Enso-OS";
platforms = lib.platforms.linux;
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [
eadwu
];
};
}

View File

@@ -17,7 +17,7 @@ buildGoModule (finalAttrs: {
owner = "knadh";
repo = "listmonk";
rev = "v${finalAttrs.version}";
hash = "sha256-yLOs1vhTV/0zzq/2Rk5rJ3/1z+kE5xaYODM5NO06F6U=";
hash = "sha256-eora/+zJf60trmANEqAhYAQXfEMifyw5gLPKcqBW46w=";
};
vendorHash = "sha256-t4l8872bniTmNIW4ias1gImURJgrR6htXkncqfrJ+AU=";

View File

@@ -0,0 +1,217 @@
diff --git a/app/package-lock.json b/app/package-lock.json
index 9b5b874..bc446b7 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -570,16 +570,6 @@
"ieee754": "^1.1.13"
}
},
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": "*"
- }
- },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -1581,16 +1571,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@@ -4575,14 +4555,16 @@
}
},
"node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz",
+ "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==",
"license": "MIT",
"peer": true,
"dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "pend": "~1.2.0"
+ },
+ "engines": {
+ "node": ">=12"
}
}
}
diff --git a/app/package.json b/app/package.json
index 115cf61..436527d 100644
--- a/app/package.json
+++ b/app/package.json
@@ -77,7 +77,9 @@
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0"
},
- "overrides": {},
+ "overrides": {
+ "yauzl": "^3.3.1"
+ },
"optionalDependencies": {
"windows-focus-assist": "^1.4.0"
}
diff --git a/package-lock.json b/package-lock.json
index fdc0d9d..31a4b5f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1893,14 +1893,6 @@
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
"license": "MIT"
},
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "engines": {
- "node": "*"
- }
- },
"node_modules/buffer-fill": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
@@ -3446,14 +3438,6 @@
"reusify": "^1.0.4"
}
},
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -5582,7 +5566,8 @@
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+ "license": "MIT"
},
"node_modules/picomatch": {
"version": "2.3.2",
@@ -7403,12 +7388,15 @@
}
},
"node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz",
+ "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==",
+ "license": "MIT",
"dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "pend": "~1.2.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/yocto-queue": {
@@ -8663,11 +8651,6 @@
"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
},
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
- },
"buffer-fill": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
@@ -9692,7 +9675,7 @@
"@types/yauzl": "^2.9.1",
"debug": "^4.1.1",
"get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
+ "yauzl": "^3.3.1"
},
"dependencies": {
"get-stream": {
@@ -9745,14 +9728,6 @@
"reusify": "^1.0.4"
}
},
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "requires": {
- "pend": "~1.2.0"
- }
- },
"file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -11158,7 +11133,7 @@
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
"picomatch": {
"version": "2.3.2",
@@ -12389,12 +12364,11 @@
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
},
"yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz",
+ "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==",
"requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "pend": "~1.2.0"
}
},
"yocto-queue": {
diff --git a/package.json b/package.json
index 58a4e93..f065078 100644
--- a/package.json
+++ b/package.json
@@ -82,5 +82,8 @@
"test:e2e": "npx playwright test --config playwright/playwright.config.ts",
"tsc-watch": "tsc -w -p ./app --noEmit",
"build": "node app/build/build.js"
+ },
+ "overrides": {
+ "yauzl": "^3.3.1"
}
-}
\ No newline at end of file
+}

View File

@@ -5,7 +5,6 @@
callPackage,
fetchFromGitHub,
actool,
makeBinaryWrapper,
pkg-config,
wrapGAppsHook3,
@@ -18,17 +17,19 @@
commandLineArgs ? "",
}:
let
version = "1.23.0";
version = "1.22.0";
src = fetchFromGitHub {
owner = "Foundry376";
repo = "Mailspring";
tag = version;
hash = "sha256-GbY3lov3MT8c8LehEifzOH28VAYpBWDbwXrqEfFfwJg=";
hash = "sha256-32d0WIWqCsZlvuT+RDa3EYxkwTxWzQyLIfASiDfZnL8=";
fetchSubmodules = true;
};
patches = [
# zip extraction fails on newer nodejs versions without this fix
./bump-yauzl.patch
./remove-rpm-deb-and-macos-package-generation.patch
];
@@ -40,7 +41,7 @@ let
pname = "mailspring-app";
inherit version src patches;
postPatch = "cd app"; # we don't use sourceRoot so that we don't have to make the patch relative to it
npmDepsHash = "sha256-JkjtC4WT3cBsVlmrfO5WAxU1Xe3vXbxuNBDs2Q7fEck=";
npmDepsHash = "sha256-/caWmbN4Sl3DVPLXSaXrCHEyRsk/p3FwDqSZ7lfNgUk=";
dontNpmBuild = true;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@@ -66,16 +67,13 @@ buildNpmPackage (finalAttrs: {
pname = "mailspring";
inherit version src patches;
npmDepsHash = "sha256-0cg/DT0MUbfzTq5hejH7auSk77M9Md7FWzidov8iyA4=";
npmDepsHash = "sha256-nHKFuTdk3qbAiSHksSo++mc8TMasspuym7MYxjuTTHI=";
nativeBuildInputs = [
makeBinaryWrapper
pkg-config
wrapGAppsHook3
zip
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
actool
];
npmFlags = [ "--ignore-scripts" ];
@@ -135,7 +133,7 @@ buildNpmPackage (finalAttrs: {
cp -r app/dist/*/resources $out/share/mailspring
install -Dm444 app/dist/Mailspring.desktop $out/share/applications/Mailspring.desktop
install -Dm444 app/dist/mailspring.metainfo.xml $out/share/metainfo/mailspring.metainfo.xml
install -Dm444 app/dist/mailspring.appdata.xml $out/share/metainfo/mailspring.appdata.xml
for size in 16 32 64 128 256 512; do
install -Dm444 app/build/resources/linux/icons/$size.png \

View File

@@ -1,6 +1,6 @@
From e1210102ab3f7bff24d9dfa38ad87b3fe04d0f5e Mon Sep 17 00:00:00 2001
From 420f1f58734dbc7305f46b4d8089b461b79321b0 Mon Sep 17 00:00:00 2001
From: wrench-exile-legacy <user@wrench-exile-legacy.site>
Date: Wed, 22 Jul 2026 10:38:53 +0100
Date: Mon, 6 Jul 2026 22:40:30 +0100
Subject: [PATCH] remove rpm, deb and macos package generation
---
@@ -8,10 +8,10 @@ Subject: [PATCH] remove rpm, deb and macos package generation
1 file changed, 17 deletions(-)
diff --git a/app/build/build.js b/app/build/build.js
index 2e90d5624..d07244d75 100644
index 6d90aa5b2..ffec9cf8b 100644
--- a/app/build/build.js
+++ b/app/build/build.js
@@ -365,12 +365,6 @@ async function createMacZip() {
@@ -373,12 +373,6 @@ async function createMacZip() {
}
const arch = process.env.OVERRIDE_TO_INTEL ? 'x64' : process.arch;
const cwd = path.join(outputDir, `Mailspring-darwin-${arch}`);
@@ -24,8 +24,8 @@ index 2e90d5624..d07244d75 100644
}
function writeFromTemplate(filePath, data) {
@@ -415,11 +409,6 @@ async function createDebInstaller() {
writeFromTemplate(path.join(linuxAssetsDir, 'mailspring.metainfo.xml.in'), data);
@@ -422,11 +416,6 @@ async function createDebInstaller() {
writeFromTemplate(path.join(linuxAssetsDir, 'mailspring.appdata.xml.in'), data);
const icon = path.join(appDir, 'build', 'resources', 'linux', 'icons', '512.png');
- await spawn({
@@ -36,10 +36,10 @@ index 2e90d5624..d07244d75 100644
}
async function createRpmInstaller() {
@@ -446,12 +435,6 @@ async function createRpmInstaller() {
@@ -452,12 +441,6 @@ async function createRpmInstaller() {
writeFromTemplate(path.join(linuxAssetsDir, 'redhat', 'mailspring.spec.in'), templateData);
writeFromTemplate(path.join(linuxAssetsDir, 'Mailspring.desktop.in'), templateData);
writeFromTemplate(path.join(linuxAssetsDir, 'mailspring.metainfo.xml.in'), templateData);
writeFromTemplate(path.join(linuxAssetsDir, 'mailspring.appdata.xml.in'), templateData);
-
- await spawn({
- cmd: path.join(appDir, 'script', 'mkrpm'),

View File

@@ -4,7 +4,7 @@
fetchFromGitHub,
fetchPnpmDeps,
nodejs,
pnpm_10,
pnpm_9,
pnpmConfigHook,
nix-update-script,
n8n,
@@ -24,14 +24,14 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_10
pnpm_9
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-jAHeQHUPUzC4NiKl/h7i8UwStyzw2tCKs42ZkeGZVSw=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-hMjWFjDhc61HGkQOG/q2EU8pPShUhtHSTe+6wUAa5M4=";
};
buildPhase = ''

View File

@@ -3,26 +3,23 @@
stdenv,
fetchFromGitHub,
ncurses,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "netproc";
version = "0.6.7";
version = "0.6.6";
src = fetchFromGitHub {
owner = "berghetti";
repo = "netproc";
rev = finalAttrs.version;
hash = "sha256-EqCyh0WNz7B2B1SFgFQT2MFk8+OVPsy5n3EFt64HJ+E=";
hash = "sha256-OQWlFwCga33rTseLeO8rAd+pkLHbSNf3YI5OSwrdIyk=";
};
buildInputs = [ ncurses ];
installFlags = [ "prefix=$(out)" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Tool to monitor network traffic based on processes";
homepage = "https://github.com/berghetti/netproc";

View File

@@ -32,11 +32,11 @@
}:
let
pname = "nextcloud-talk-desktop";
version = "2.2.1"; # Ensure both hashes (Linux and Darwin) are updated!
version = "2.1.1"; # Ensure both hashes (Linux and Darwin) are updated!
hashes = {
linux = "sha256-AhNHPejdnGmL55/mHGKkDaGWl2fm7uufX4JaB5VSBos=";
darwin = "sha256-TkLAydkedLbi6vqd3kvQNkVnXGSHfF6xTBF3PCOgJ6I=";
linux = "sha256-s6+p21KLoDvcQz0EgV7WYIwYc9JolZpqkxZ8iIol8Yg=";
darwin = "sha256-rp6+bYb3Y8yEXYUY+cuDo7Lw6cq/EUnPjLIqscKeULc=";
};
# Only x86_64-linux is supported with Darwin support being universal
@@ -62,7 +62,7 @@ let
meta = {
description = "Nextcloud Talk Desktop Client";
homepage = "https://github.com/nextcloud/talk-desktop";
changelog = "https://github.com/nextcloud/talk-desktop/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/nextcloud/talk-desktop/blob/${version}/CHANGELOG.md";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ kashw2 ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];

View File

@@ -21,13 +21,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "nix-unit";
version = "2.35.1";
version = "2.35.0";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nix-unit";
rev = "v${finalAttrs.version}";
hash = "sha256-jZ6YOb5L7FShPUcq63qDKT3W83mVzAaM2y1V4CLcdq8=";
hash = "sha256-eXyZw2ddCKT5xMY8SDnV6lkr61zvSc7CNJeJSAjKqN4=";
};
buildInputs = [

View File

@@ -13,8 +13,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "NetworkConfiguration";
repo = "openresolv";
rev = "v${finalAttrs.version}";
sha256 = "sha256-I86BHiSI3G4xlYRJC99elHw8RyUd3eHdkV5kiEGRXNE=";
tag = "v${finalAttrs.version}";
hash = "sha256-I86BHiSI3G4xlYRJC99elHw8RyUd3eHdkV5kiEGRXNE=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -38,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
meta = {
changelog = "https://github.com/NetworkConfiguration/openresolv/releases/tag/${finalAttrs.src.tag}";
description = "Program to manage /etc/resolv.conf";
mainProgram = "resolvconf";
homepage = "https://roy.marples.name/projects/openresolv";

View File

@@ -8,7 +8,7 @@
moreutils,
nodejs,
pkg-config,
pnpm_10,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
@@ -35,9 +35,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-DkVV5Dz5UV/xMuteSXWgSko3e8t8u1Saq1X1UxaaZFA=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-KJZuucXB7BEMnqPmgytveG/IBEzq4mgMo9ZJHPe/gVs=";
};
nativeBuildInputs = [
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
nodejs
pkg-config
pnpmConfigHook
pnpm_10
pnpm_9
];
buildInputs = [

View File

@@ -4,7 +4,7 @@
fetchFromGitHub,
lib,
nodejs,
pnpm_10,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
stdenv,
@@ -26,16 +26,16 @@ let
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname src version;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-cd9sA01DTXsrKm4enFeS3zmn3w4A5N7QXhtZ0wcpNss=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-zHdMwJyeafzbIlp+Fhh1khcUVrLsoUg6ViSGm/ByGAA=";
};
nativeBuildInputs = [
faketty
nodejs
pnpmConfigHook
pnpm_10
pnpm_9
];
# faketty is required to work around a bug in nx.

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq git pnpm_10
#!nix-shell -I nixpkgs=./. -i bash -p curl jq git pnpm_9
# shellcheck shell=bash
set -euo pipefail
nixpkgs="$(pwd)"

View File

@@ -21,7 +21,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "peertube";
version = "8.2.3";
version = "8.2.2";
__structuredAttrs = true;
strictDeps = true;
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "Chocobozzz";
repo = "PeerTube";
tag = "v${finalAttrs.version}";
hash = "sha256-w+mSFr+uobq1TtqfewRmakGMYlEjwLs0k39mWHMbq+Q=";
hash = "sha256-huyuaCWJ3w1KHCcQFjH2ZcofPjqwjLpLt+dg6auD/dQ=";
};
outputs = [
@@ -170,7 +170,6 @@ stdenv.mkDerivation (finalAttrs: {
'';
license = lib.licenses.agpl3Plus;
homepage = "https://joinpeertube.org/";
changelog = "https://github.com/Chocobozzz/PeerTube/blob/${finalAttrs.src.rev}/CHANGELOG.md";
platforms = [
"x86_64-linux"
"aarch64-linux"

View File

@@ -2,7 +2,6 @@
lib,
buildNpmPackage,
fetchFromGitHub,
fetchurl,
nix-update-script,
versionCheckHook,
writableTmpDirAsHomeHook,
@@ -13,34 +12,16 @@
}:
buildNpmPackage (finalAttrs: {
pname = "pi-coding-agent";
version = "0.81.1";
version = "0.80.10";
src = fetchFromGitHub {
owner = "earendil-works";
repo = "pi";
tag = "v${finalAttrs.version}";
hash = "sha256-xo3uoR7HceOCL3wqoMcacOe8WXP1o7ReAXne5t6Hgao=";
hash = "sha256-Vs/ndHYzFyfN4CjPV2zMYblLXe9IuM13UrPJI1VsZEQ=";
};
npmDepsHash = "sha256-lzKQZbnITzgV9koucsMno6f61ubBLYUcwQEXtak1r1s=";
# The provider model catalog (packages/ai/src/providers/data/) is generated by
# a network fetch (models.dev plus provider APIs) and is gitignored upstream,
# so it is absent from the source tarball. Restore it from the matching
# published @earendil-works/pi-ai npm package, which ships the hydrated catalog
# under dist/providers/data/. Bump this hash alongside version.
modelData = fetchurl {
url = "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-${finalAttrs.version}.tgz";
hash = "sha256-x53MD5DU370ZdNoz36P+OWZjGVpoM5sfVcEU2/ckDy8=";
};
preConfigure = ''
mkdir -p packages/ai/src/providers/data
tar --extract --gzip --file=${finalAttrs.modelData} \
--directory=packages/ai/src/providers/data \
--strip-components=4 \
package/dist/providers/data
'';
npmDepsHash = "sha256-XGvDNH+eilsgc0Z7ITqbitB/9RVc+WuDfCcr1pibNqk=";
npmWorkspace = "packages/coding-agent";
@@ -53,8 +34,8 @@ buildNpmPackage (finalAttrs: {
# Build workspace dependencies in order, then the coding-agent.
# We invoke tsgo directly for workspace deps to skip pi-ai's
# generate-models script, which requires network access; the model
# catalog it would produce is supplied via modelData above.
# generate-models script which requires network access
# (models.generated.ts is committed to the repo).
buildPhase = ''
runHook preBuild
@@ -115,18 +96,13 @@ buildNpmPackage (finalAttrs: {
versionCheckProgram = "${placeholder "out"}/bin/pi";
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script {
extraArgs = [
"--custom-dep"
"modelData"
];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Coding agent CLI with read, bash, edit, write tools and session management";
homepage = "https://pi.dev/";
downloadPage = "https://www.npmjs.com/package/@earendil-works/pi-coding-agent";
changelog = "https://github.com/earendil-works/pi/blob/v${finalAttrs.version}/packages/coding-agent/CHANGELOG.md";
changelog = "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
munksgaard

View File

@@ -91,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Command-line interface for managing your Proton Pass vaults, items, and secrets";
homepage = "https://github.com/protonpass/pass-cli";
license = lib.licenses.gpl3Plus;
license = lib.licenses.unfree;
mainProgram = "pass-cli";
maintainers = with lib.maintainers; [ delafthi ];
platforms = lib.attrNames finalAttrs.passthru.sources;

View File

@@ -7,6 +7,7 @@
glib,
libbsd,
check,
pcre,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -29,6 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
glib
libbsd
check
pcre
];
postPatch = ''

View File

@@ -13,7 +13,7 @@
lame,
libxml2_13,
libjack2,
ffmpeg-headless,
ffmpeg_4-headless,
vlc,
xdg-utils,
xdotool,
@@ -120,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: {
curl
lame
libxml2_13
ffmpeg-headless
ffmpeg_4-headless
vlc
xdotool
stdenv.cc.cc

View File

@@ -10,7 +10,7 @@
}:
let
version = "0.9.0";
version = "0.8.0";
libquickjs = fetchFromGitHub {
owner = "quickjs-ng";
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "rizinorg";
repo = "jsdec";
rev = "v${version}";
hash = "sha256-9FNsFPQf3GyREXsagWDHctfne28lct6dPH8vKvF8kpY=";
hash = "sha256-Xc8FMKSGdjrp288u49R6YC0xiynwHeoZe2P/UqnfsFU=";
};
postUnpack = ''

View File

@@ -30,11 +30,11 @@
let
rizin = stdenv.mkDerivation rec {
pname = "rizin";
version = "0.9.1";
version = "0.8.2";
src = fetchurl {
url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz";
hash = "sha256-esHNfaynr92nQuFUeLH3R/wfgT5Jb+5xg50eEJ5UPco=";
hash = "sha256-FjDKUrroby/zfrIgaZ/IL5UbWxgIDt+j9Q3TalJsLZU=";
};
mesonFlags = [

View File

@@ -11,18 +11,17 @@
enableCutterPlugin ? true,
cutter,
qt6,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rz-ghidra";
version = "0.9.0";
version = "0.8.0";
src = fetchFromGitHub {
owner = "rizinorg";
repo = "rz-ghidra";
rev = "v${finalAttrs.version}";
hash = "sha256-R9wPmt2WoK4wlTXb0JUX+0Fk8JQgGagb8vZQmjxLXn8=";
hash = "sha256-uI0EnuHAuyrXYKDijh5Tg/WcQ/5yyZnW3d5MMHZxnqA=";
fetchSubmodules = true;
};
@@ -31,7 +30,6 @@ stdenv.mkDerivation (finalAttrs: {
openssl
pugixml
rizin
zlib
]
++ lib.optionals enableCutterPlugin [
cutter

View File

@@ -7,6 +7,7 @@
lib,
libpulseaudio,
ninja,
pcre,
pkg-config,
taglib,
zlib,
@@ -42,6 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
libpulseaudio
pcre
libsForQt5.qtbase
taglib
zlib

View File

@@ -9,7 +9,7 @@
let
baseName = "scalafmt";
version = "3.11.4";
version = "3.11.1";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@@ -19,7 +19,7 @@ let
cp $(< deps) $out/share/java/
'';
outputHashMode = "recursive";
outputHash = "sha256-CWgdxQH2DZ9Il2elQOLgC2+TzP6cIqmcCHUZcQuCSEg=";
outputHash = "sha256-EgkXDCbgn7OmH1e/us6lyNiei/qZMzFn/1Qh4LiraBo=";
};
in
stdenv.mkDerivation {

View File

@@ -3,6 +3,7 @@
stdenv,
fetchurl,
gtk3,
gtk2,
gdk-pixbuf,
dbus-glib,
libx11,
@@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
];
buildInputs = [
gtk2
gtk3
gdk-pixbuf
dbus-glib

View File

@@ -9,14 +9,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "secretspec";
version = "0.16.0";
version = "0.14.0";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-YiKud3dfw6QmZbKVCY9FD5vrxJs9bE6++BvEeaDUiEs=";
hash = "sha256-PlI2+cQbP/CfilYX2fJnQv8yw4euxvqYT0XqlYsU0QI=";
};
cargoHash = "sha256-tXZ1KUjZWgddh8wD3oyeZWDe5XqdknyEQ0eu4LXPrf0=";
cargoHash = "sha256-UfeVqZaH04Ucu+FgXX2bqgqiHJNpN3OIN0lKhWFn1j0=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dbus ];

View File

@@ -3,7 +3,6 @@
lib,
undmg,
fetchurl,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "Skim";
@@ -15,20 +14,14 @@ stdenv.mkDerivation rec {
hash = "sha256-0IfdLeH6RPxf4OZWnNltN7tvvZWbWDQaMCmazd4UUi4=";
};
nativeBuildInputs = [
undmg
makeWrapper
];
nativeBuildInputs = [ undmg ];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications $out/bin
mkdir -p $out/Applications
cp -R Skim.app $out/Applications
for app in displayline skimnotes skimpdf; do
makeWrapper $out/Applications/Skim.app/Contents/SharedSupport/$app $out/bin/$app
done
runHook postInstall
'';

View File

@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
description = "Library for accessing and creating SQLite database files in Java";
license = lib.licenses.asl20;
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
platforms = lib.platforms.unix;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ jraygauthier ];
};
}

View File

@@ -1,44 +1,48 @@
{
fetchFromGitHub,
lib,
nodejs-slim,
pnpm_11,
nodejs,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
pnpmBuildHook,
stdenvNoCC,
nix-update-script,
runCommand,
stylelint-lsp,
}:
let
pnpm = pnpm_11;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stylelint-lsp";
version = "2.0.1-unstable-2026-07-19";
version = "2.0.1";
src = fetchFromGitHub {
owner = "bmatcuk";
repo = "stylelint-lsp";
rev = "0362a26ffaf1879b9ec02e2a52a11792a2d4f8d4";
hash = "sha256-qRc67tvgncERh6FDJdydN6aL/a5bVSsQQir3KPp1cFk=";
tag = "v${finalAttrs.version}";
hash = "sha256-LUX/H7yY8Dl44vgpf7vOgtMdY7h//m5BAfrK5RRH9DM=";
};
buildInputs = [
nodejs
];
nativeBuildInputs = [
nodejs-slim
pnpmConfigHook
pnpmBuildHook
pnpm
pnpm_9
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-EuCvuErydwe2LGG62VHcZtN/51Gv1uhhBN3/sEiqzME=";
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-qzUvA00ujnIibQAONOPlp5BsXcwQb/gQvOPp83hMT5A=";
};
buildPhase = ''
runHook preBuild
pnpm build
runHook postBuild
'';
preInstall = ''
# remove unnecessary files
CI=true pnpm --ignore-scripts prune --prod
@@ -53,34 +57,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
mkdir -p $out/{bin,lib/stylelint-lsp}
mv {dist,node_modules} $out/lib/stylelint-lsp
chmod a+x $out/lib/stylelint-lsp/dist/index.js
patchShebangs $out/lib/stylelint-lsp/dist/index.js
ln -s $out/lib/stylelint-lsp/dist/index.js $out/bin/stylelint-lsp
runHook postInstall
'';
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
tests.smoke = runCommand "stylelint-lsp-smoke-test" { } ''
INIT_REQUEST='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":null,"rootUri":"file:///tmp","workspaceFolders":[{"uri":"file:///tmp","name":"test"}],"capabilities":{}}}'
CONTENT_LENGTH=''${#INIT_REQUEST}
RESPONSE=$(
{
printf "Content-Length: %d\r\n\r\n%s" "$CONTENT_LENGTH" "$INIT_REQUEST"
sleep 1
} | timeout 3 ${lib.getExe stylelint-lsp} --stdio 2>&1 | head -c 1000
) || true
echo "$RESPONSE" | grep -q '"capabilities"'
touch $out
'';
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Stylelint Language Server";

View File

@@ -14,6 +14,7 @@
libuuid,
libzip,
orc,
pcre,
zstd,
glib,
gobject-introspection,
@@ -77,6 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
libuuid
libzip
orc
pcre
zstd
glib
gst_all_1.gstreamer

View File

@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
url = "https://github.com/curl/trurl/commit/f22a2c45956f35702e437fb83ac05376f1956ec5.patch";
hash = "sha256-7CkUs5tMk77WKc7SlgE2NslHtU5cViKSGhHj3IBlpWo=";
})
# https://github.com/curl/trurl/pull/441 + fix for more tests
# https://github.com/curl/trurl/pull/441
./tests-uppercase-hex.patch
];
@@ -64,10 +64,7 @@ stdenv.mkDerivation rec {
homepage = "https://curl.se/trurl";
changelog = "https://github.com/curl/trurl/releases/tag/trurl-${version}";
license = lib.licenses.curl;
maintainers = with lib.maintainers; [
christoph-heiss
diogotcorreia
];
maintainers = with lib.maintainers; [ christoph-heiss ];
platforms = lib.platforms.all;
mainProgram = "trurl";
};

View File

@@ -1,36 +1,6 @@
diff --git a/tests.json b/tests.json
index 891271c..c8606b0 100644
--- a/tests.json
+++ b/tests.json
@@ -473,12 +473,27 @@
"https://example.com/#%2e%61%13%Fa"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "https://example.com/#.a%13%fa\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "--url",
+ "https://example.com/#%2e%61%13%Fa"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "https://example.com/#.a%13%FA\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
@@ -749,12 +764,29 @@
@@ -749,6 +749,7 @@
"query=user=me"
]
},
@@ -38,15 +8,10 @@ index 891271c..c8606b0 100644
"expected": {
"stdout": "https://curl.se/hello?user%3dme\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "--url",
+ "https://curl.se/hello",
+ "--set",
@@ -761,6 +762,22 @@
"--url",
"https://curl.se/hello",
"--set",
+ "query=user=me"
+ ]
+ },
@@ -57,10 +22,16 @@ index 891271c..c8606b0 100644
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
@@ -2132,12 +2164,33 @@
+ {
+ "input": {
+ "arguments": [
+ "--url",
+ "https://curl.se/hello",
+ "--set",
"fragment= hello"
]
},
@@ -2132,6 +2149,7 @@
"query:=a&b&a%26b"
]
},
@@ -68,12 +39,10 @@ index 891271c..c8606b0 100644
"expected": {
"stdout": "http://localhost/ABC%5c%5c?a&b&a%26b\n",
"returncode": 0,
"stderr": ""
}
},
+ {
+ "input": {
+ "arguments": [
@@ -2141,6 +2159,26 @@
{
"input": {
"arguments": [
+ "-s",
+ "scheme:=http",
+ "-s",
@@ -91,37 +60,13 @@ index 891271c..c8606b0 100644
+ "stderr": ""
+ }
+ },
{
"input": {
"arguments": [
@@ -2811,12 +2864,26 @@
"https://example.com/one/t%61o/%2F%42/"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "https://example.com/one/tao/%2fB/\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "https://example.com/one/t%61o/%2F%42/"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "https://example.com/one/tao/%2FB/\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
@@ -2825,12 +2892,28 @@
"-g",
"{query:b}\\t{query-all:a}\\n{:query:b}\\t{:query-all:a}",
"https://example.org/foo?a=1&b=%23&a=%26#hello"
@@ -2825,11 +2863,27 @@
"path=%61"
]
},
@@ -131,7 +76,7 @@ index 891271c..c8606b0 100644
"stderr": "",
"returncode": 0
}
},
+ },
+ {
+ "input": {
+ "arguments": [
@@ -146,115 +91,6 @@ index 891271c..c8606b0 100644
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
@@ -2991,36 +3074,78 @@
"http://example.com/?a=%5D"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "http://example.com/?a=%5d\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "http://example.com/?a=%5D"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "http://example.com/?a=%5D\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
"http://example.com/?a=%5D&b=%5D"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "http://example.com/?a=%5d&b=%5d\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "http://example.com/?a=%5D&b=%5D"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "http://example.com/?a=%5D&b=%5D\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
"sftp://us%65r:pwd;giraffe@odd"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "sftp://user:pwd%3bgiraffe@odd/\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "sftp://us%65r:pwd;giraffe@odd"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "sftp://user:pwd%3Bgiraffe@odd/\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [
@@ -3055,12 +3180,28 @@
"[:password]"
]
},
+ "excludes": ["uppercase-hex"],
"expected": {
"stdout": "pwd%3bgiraffe\n",
"stderr": "",
"returncode": 0
}
},
+ {
+ "input": {
+ "arguments": [
+ "sftp://us%65r:pwd;giraffe@odd",
+ "--get",
+ "[:password]"
+ ]
+ },
+ "required": ["uppercase-hex"],
+ "expected": {
+ "stdout": "pwd%3Bgiraffe\n",
+ "stderr": "",
+ "returncode": 0
+ }
+ },
{
"input": {
"arguments": [

View File

@@ -1,19 +1,19 @@
{
"version": "5.10.8",
"version": "5.10.7",
"darwin-amd64": {
"hash": "sha256-8M7L9GAwaSpFg6VHI4T5CI2oBE2Z8It3Pt2Wr76Z+is=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.8/upsun_5.10.8_darwin_all.tar.gz"
"hash": "sha256-EczhSmIDcG7K8L+BtOOHRT1cmvsB86IvkSWa3A5bwjk=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.7/upsun_5.10.7_darwin_all.tar.gz"
},
"darwin-arm64": {
"hash": "sha256-8M7L9GAwaSpFg6VHI4T5CI2oBE2Z8It3Pt2Wr76Z+is=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.8/upsun_5.10.8_darwin_all.tar.gz"
"hash": "sha256-EczhSmIDcG7K8L+BtOOHRT1cmvsB86IvkSWa3A5bwjk=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.7/upsun_5.10.7_darwin_all.tar.gz"
},
"linux-amd64": {
"hash": "sha256-ymKZVLavGiGarDvdzYvxCVTHqPm2YPR5bJqQTQddiPw=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.8/upsun_5.10.8_linux_amd64.tar.gz"
"hash": "sha256-SF9GkeQlh9jdONO24zQ7LC6419txRXyl+x4q0Gfvntk=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.7/upsun_5.10.7_linux_amd64.tar.gz"
},
"linux-arm64": {
"hash": "sha256-Fe4oSes/i3LdRP5bzI/d3gA2QtsfCO0dVswVoNMQXCs=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.8/upsun_5.10.8_linux_arm64.tar.gz"
"hash": "sha256-F8YfXhTd0fU75InxLgZ02hrLrx3ELDhkRpRvYNrRGu4=",
"url": "https://github.com/upsun/cli/releases/download/v5.10.7/upsun_5.10.7_linux_arm64.tar.gz"
}
}

View File

@@ -10,7 +10,6 @@
which,
ps,
getconf,
python3Packages,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
# dependency ordering is broken at the moment when building with openssl
@@ -114,7 +113,6 @@ stdenv.mkDerivation (finalAttrs: {
tests = {
redis = nixosTests.redis;
unitTests = finalAttrs.finalPackage.overrideAttrs { doCheck = true; };
valkey-python = python3Packages.valkey;
};
serverBin = "valkey-server";
};

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wit-bindgen";
version = "0.60.0";
version = "0.59.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wit-bindgen";
rev = "v${finalAttrs.version}";
hash = "sha256-/48oa9Jby6Bp7aVHgU1DLSXeH52RG0wB7nvqbMf7uOg=";
hash = "sha256-m5P8OmaB2vPkZPU8IhIFSHmyjIhdTGb23xwoU/d7j38=";
};
cargoHash = "sha256-Cp8tNqk7sc3dqcAmaF3byCCzZc1i4Qk8d7eJ8v2SbIY=";
cargoHash = "sha256-nIgOnM+Z+KaL9TpjhxvNKZjfzQ+12tWzAynaig24Vzg=";
# Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
# However, GitHub Actions ensures a proper build.

View File

@@ -38,8 +38,7 @@ let
in
symlinkJoin {
pname = "wordlists";
version = lib.trivial.release;
name = "wordlists";
paths = [
wordlistsCollection

View File

@@ -7,7 +7,7 @@
libxcb-util,
util-macros,
libxcb,
gtk3,
gtk2,
spice,
spice-protocol,
}:
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
libxcb
libxcb-util
util-macros
gtk3
gtk2
spice
spice-protocol
];

View File

@@ -36,43 +36,38 @@
},
{
"pname": "Microsoft.CodeAnalysis.Analyzers",
"version": "5.3.0",
"hash": "sha256-eUjU7MDekcbDQxUButcWK7siHx6HmrgdDMLnpGYRVLM="
"version": "5.3.0-2.25625.1",
"hash": "sha256-W2CaLe+fpnD2/2VL6jPW/Ct17qOt4lGZKK2X8HU7MLI="
},
{
"pname": "Microsoft.CodeAnalysis.Common",
"version": "5.6.0",
"hash": "sha256-Q+34cKCUHLMUdigLSuCunqcpAzagynq7O6LJ09EPu6g="
"version": "5.3.0",
"hash": "sha256-O5RVbqAWXL2FcCNtn+dPAVJ/5aiaxc8nQWojJSsx61w="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp",
"version": "5.6.0",
"hash": "sha256-nrzGZk9oLuCEvhDT+IS+XBVOuHVrwL8RGj0rZFP4SRo="
"version": "5.3.0",
"hash": "sha256-A3jxlZEyfgEn9unhoQqbOsA0wd/mA8aak6dRlu5mHIU="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "18.7.0",
"hash": "sha256-QonDzKnOwcYkkVP0T3PT9/QySgUILc/L/bcp6+l+tA8="
"version": "18.5.1",
"hash": "sha256-OnahMnRBbdlGSz+igNB0GaMS7PAppefPL1fWN1+cs0w="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "18.7.0",
"hash": "sha256-m2cPE5Y7lQz1nmyjlaf4bf9LpABQa24wiga7HPN4LgQ="
"version": "18.5.1",
"hash": "sha256-X69wQBKd5GvXfO7BaPWFcyrwfi/kZFVdH/axorIra5Y="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "18.7.0",
"hash": "sha256-OJYJt3EhJ60HobDzET31dESe29BtqDd35Xjt8/2BQCQ="
"version": "18.5.1",
"hash": "sha256-CUuOoANj4lXhQAE1/265X6S+afmNxhpsICEIDqNzSXk="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "18.7.0",
"hash": "sha256-i5XpKR5rgazQ5ZLPGE/F71h0Sp6Ko/ff1NzLo+lsE5M="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
"version": "18.5.1",
"hash": "sha256-jtb74D0mqq7hu/nlCtV7IU2dXhviLrmGPER0ttdH2Dg="
},
{
"pname": "Newtonsoft.Json",
@@ -114,10 +109,20 @@
"version": "0.49.1",
"hash": "sha256-o2IpO605TKJ2mJLKnxWBHtCFnFJPnRj6zMQJBCGgNGw="
},
{
"pname": "System.Collections.Immutable",
"version": "9.0.0",
"hash": "sha256-+6q5VMeoc5bm4WFsoV6nBXA9dV5pa/O4yW+gOdi8yac="
},
{
"pname": "System.IO.Hashing",
"version": "10.0.9",
"hash": "sha256-DjQNrB0BGxnzZ2zE72C2E94xRFmcJLsM3sbLbiQOHPs="
"version": "10.0.8",
"hash": "sha256-nsDMvCvAeKCyp566iEyp3JOWfQnTPgDU3dIFMg0iUL0="
},
{
"pname": "System.Reflection.Metadata",
"version": "9.0.0",
"hash": "sha256-avEWbcCh7XgpsSesnR3/SgxWi/6C5OxjR89Jf/SfRjQ="
},
{
"pname": "xunit",

View File

@@ -15,17 +15,17 @@
nix-update-script,
}:
let
dotnet = dotnetCorePackages.dotnet_10;
dotnet = dotnetCorePackages.dotnet_8;
in
buildDotnetModule (finalAttrs: {
pname = "yafc-ce";
version = "2.20.0";
version = "2.19.0";
src = fetchFromGitHub {
owner = "Yafc-CE";
repo = "yafc-ce";
tag = "v${finalAttrs.version}";
hash = "sha256-J0oDrmSt/VnFT82Uql38alHQDAOgzm1lapQPCObicdA=";
hash = "sha256-O4ldYVfOgq+0lZ7xWtBATzx/xlmz3tydC+YX/fvVgY4=";
};
projectFile = [

View File

@@ -8,6 +8,7 @@
libpthread-stubs,
lxqt-build-tools,
openbox,
pcre,
pkg-config,
qtbase,
qttools,
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
libxdmcp
libpthread-stubs
openbox
pcre
qtbase
qtwayland
];

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