Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900
2026-05-04 21:37:41 +03:00
172 changed files with 763 additions and 423 deletions

View File

@@ -263,6 +263,11 @@ lib.mapAttrs mkLicense (
fullName = "Lawrence Berkeley National Labs BSD variant license";
};
bsd3Modification = {
spdxId = "BSD-3-Clause-Modification";
fullName = "BSD 3-Clause Modification";
};
bsd3ClauseTso = {
spdxId = "BSD-3-Clause-Tso";
fullName = "BSD 3-Clause Tso variant";

View File

@@ -5,7 +5,7 @@
...
}:
let
inherit (lib) mkOption types;
inherit (lib) mkOption;
unsafeGetAttrPosStringOr =
default: name: value:

View File

@@ -6,7 +6,7 @@
...
}:
let
inherit (lib) mkOption types;
inherit (lib) mkOption;
in
{
options = {

View File

@@ -9,7 +9,6 @@
{ config, lib, ... }:
let
inherit (lib)
mkDefault
mkIf
mkOption
stringAfter

View File

@@ -15,7 +15,6 @@ let
filter
getVersion
mkIf
mkMerge
mkOption
optional
optionalString

View File

@@ -7,7 +7,6 @@
let
inherit (lib)
optionalString
mkOption
types
mkIf

View File

@@ -11,10 +11,8 @@ let
any
attrNames
attrValues
boolToString
concatMap
concatMapStringsSep
concatStrings
elem
filter
filterAttrs
@@ -39,12 +37,10 @@ let
mkRenamedOptionModule
optional
optionals
sort
stringAfter
stringLength
trace
types
versionOlder
xor
;

View File

@@ -17,7 +17,6 @@ let
cleanSourceFilter
concatMapStringsSep
evalModules
filter
functionArgs
hasSuffix
isAttrs

View File

@@ -16,7 +16,6 @@ let
mkOption
mkPackageOption
nameValuePair
optionalString
types
isBool
boolToString

View File

@@ -5,7 +5,7 @@
...
}:
let
inherit (builtins) attrNames hasAttr isAttrs;
inherit (builtins) hasAttr isAttrs;
inherit (lib) getLib;
inherit (config.environment) etc;
# Utility to generate an AppArmor rule

View File

@@ -147,7 +147,7 @@ in
(lib.mkIf cfg.enable {
warnings = [
''
The `security.dhparam` module is deprecated and scheduled for removal in NixOS 26.11.
The `security.dhparams` module is deprecated and scheduled for removal in NixOS 26.11.
Generating your own params has been shown to be problematic in RFC 7919 (2016).
Remove any uses of DHE and migrate to ECDHE (RFC 8422, 2018) and

View File

@@ -7,8 +7,6 @@
let
cfg = config.services.rabbitmq;
inherit (builtins) concatStringsSep;
config_file_content = lib.generators.toKeyValue { } cfg.configItems;
config_file = pkgs.writeText "rabbitmq.conf" config_file_content;

View File

@@ -99,7 +99,6 @@ in
mapAttrs'
nameValuePair
optionalString
concatMapStringsSep
escapeShellArgs
;
in

View File

@@ -11,7 +11,6 @@ let
concatMapStringsSep
concatStringsSep
filterAttrs
flatten
getAttr
isAttrs
literalExpression

View File

@@ -13,8 +13,6 @@
}:
let
inherit (lib)
filterAttrs
literalExpression
mkIf
mkOption
mkRemovedOptionModule

View File

@@ -11,7 +11,7 @@
...
}:
let
inherit (lib) mkIf mkDefault;
inherit (lib) mkIf;
cfg = config.services.hercules-ci-agent;

View File

@@ -9,7 +9,6 @@ let
inherit (lib)
concatStringsSep
flip
literalMD
literalExpression
optionalAttrs
optionals
@@ -19,7 +18,6 @@ let
mkIf
mkOption
types
versionAtLeast
;
cfg = config.services.cassandra;

View File

@@ -9,7 +9,6 @@ let
inherit (lib)
mkEnableOption
mkIf
mkRenamedOptionModule
teams
;
in

View File

@@ -16,7 +16,6 @@ let
mapAttrsToList
filterAttrs
unique
recursiveUpdate
types
;

View File

@@ -7,10 +7,8 @@
let
inherit (lib)
literalExpression
mkIf
mkOption
singleton
types
mkPackageOption
;

View File

@@ -13,7 +13,6 @@ let
mkOption
mkIf
mkRemovedOptionModule
types
listToAttrs
recursiveUpdate
;

View File

@@ -8,7 +8,6 @@
let
inherit (lib)
attrValues
literalExpression
mkEnableOption
mkPackageOption
mkIf

View File

@@ -33,7 +33,6 @@ let
isAttrs
isString
isInt
isList
typeOf
hashString
;

View File

@@ -12,7 +12,6 @@ let
mkOption
types
concatStringsSep
singleton
;
in
{

View File

@@ -7,7 +7,7 @@
let
cfg = config.services.prometheus.exporters.deluge;
inherit (lib) mkOption types concatStringsSep;
inherit (lib) mkOption types;
in
{
port = 9354;

View File

@@ -12,7 +12,6 @@ let
mkOption
mkMerge
types
concatStringsSep
;
in
{

View File

@@ -13,7 +13,6 @@ let
mkIf
types
concatStringsSep
any
optionalString
;
moonraker = config.services.moonraker;

View File

@@ -12,7 +12,6 @@ let
mkOption
mkIf
mkForce
cli
concatStringsSep
optionalString
escapeShellArgs

View File

@@ -8,7 +8,6 @@
let
cfg = config.services.prometheus.exporters.nvidia-gpu;
inherit (lib)
types
concatStringsSep
;
in

View File

@@ -10,7 +10,6 @@ let
cfg = config.services.prometheus.exporters.script;
inherit (lib)
mkOption
types
literalExpression
concatStringsSep
;

View File

@@ -9,7 +9,6 @@ let
cfg = config.services.zabbixAgent;
inherit (lib)
mkDefault
mkEnableOption
mkPackageOption
mkIf
@@ -18,9 +17,7 @@ let
;
inherit (lib)
attrValues
concatMapStringsSep
literalExpression
optionalString
types
;
inherit (lib.generators) toKeyValue;

View File

@@ -22,7 +22,6 @@ let
;
inherit (lib)
attrValues
concatMapStringsSep
getName
literalExpression
optional

View File

@@ -22,7 +22,6 @@ let
;
inherit (lib)
attrValues
concatMapStringsSep
getName
literalExpression
optional

View File

@@ -8,7 +8,6 @@
let
inherit (lib.attrsets) optionalAttrs;
inherit (lib.generators) toINIWithGlobalSection;
inherit (lib.lists) optional;
inherit (lib.modules) mkIf mkRemovedOptionModule;
inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.strings) escape;
@@ -16,7 +15,6 @@ let
attrsOf
bool
int
lines
oneOf
str
submodule

View File

@@ -9,7 +9,6 @@ let
boolToString = b: if b then "true" else "false";
formatList = l: lib.concatStringsSep "," l;
formatDuration = d: d.String;
in
{
options.services.cloudflare-ddns = {
@@ -266,7 +265,6 @@ in
let
toEnv = name: value: "${name}=\"${toString value}\"";
toEnvList = name: value: "${name}=\"${formatList value}\"";
toEnvDuration = name: value: "${name}=\"${formatDuration value}\"";
toEnvBool = name: value: "${name}=\"${boolToString value}\"";
toEnvMaybe =
pred: name: value:

View File

@@ -7,17 +7,13 @@
let
inherit (lib)
attrValues
concatMap
concatStringsSep
escapeShellArg
literalExpression
mapAttrs'
mkDefault
mkEnableOption
mkPackageOption
mkIf
mkOption
nameValuePair
optional
types
;

View File

@@ -11,7 +11,6 @@ let
mkOption
mkEnableOption
mkIf
mkMerge
types
optionalString
;

View File

@@ -9,7 +9,6 @@ let
inherit (lib)
concatStringsSep
mkEnableOption
mkIf
mkOption
types
;

View File

@@ -11,7 +11,6 @@ let
mkPackageOption
mkIf
mkOption
types
recursiveUpdate
optionalAttrs
;

View File

@@ -9,7 +9,6 @@ let
inherit (lib)
maintainers
types
literalExpression
escapeShellArg
escapeShellArgs
mkEnableOption
@@ -17,7 +16,6 @@ let
mkRemovedOptionModule
mkIf
mkPackageOption
optionalString
concatMapStrings
concatStringsSep
;

View File

@@ -9,7 +9,6 @@ let
inherit (lib) types;
inherit (lib.attrsets)
filterAttrs
mapAttrs
mapAttrs'
mapAttrsToList
nameValuePair

View File

@@ -12,7 +12,6 @@ let
mkIf
mkOption
mkPackageOption
optionalString
types
;

View File

@@ -150,7 +150,7 @@ in
Restart = "on-failure";
StateDirectory = "spire/agent";
StateDirectoryMode = "0700";
RuntimeDirectory = "spire/agent";
RuntimeDirectory = "spire/agent/public";
# TODO: Switch to DynamicUser once https://github.com/NixOS/nixpkgs/issues/299476 lands
# Without it, the systemd plugin can not talk to dbus

View File

@@ -6,7 +6,7 @@
}:
let
inherit (lib) mkOption types;
inherit (lib) mkOption;
inherit (lib.types) listOf str;
cfg = config.services.kerberos_server;
inherit (config.security.krb5) package;

View File

@@ -15,7 +15,6 @@ let
;
inherit (lib.types)
bool
int
port
str
submodule

View File

@@ -8,7 +8,6 @@
let
inherit (lib)
getExe
mkDefault
mkEnableOption
mkIf
mkOption

View File

@@ -9,11 +9,7 @@ let
cfg = config.services.cook-cli;
inherit (lib)
mkIf
mkEnableOption
mkPackageOption
mkOption
getExe
types
;
in
{

View File

@@ -8,7 +8,7 @@
with lib;
let
inherit (lib.options) showOption showFiles;
inherit (lib.options) showFiles;
cfg = config.services.dokuwiki;
eachSite = cfg.sites;

View File

@@ -33,7 +33,6 @@ let
inherit (pkgs)
mariadb
stdenv
writeShellScript
;
cfg = config.services.drupal;
eachSite = cfg.sites;

View File

@@ -20,7 +20,6 @@ let
concatMapStringsSep
getExe
mkMerge
mkDefault
;
in
{

View File

@@ -12,7 +12,6 @@ let
mkIf
mkOption
types
literalExpression
;
cfg = config.services.meme-bingo-web;

View File

@@ -13,7 +13,6 @@ let
types
literalExpression
mkIf
mkDefault
;
cfg = config.services.miniflux;

View File

@@ -17,9 +17,7 @@ let
types
;
inherit (lib)
concatStringsSep
literalExpression
mapAttrsToList
optional
optionalString
;

View File

@@ -13,8 +13,6 @@ let
mkPackageOption
mkDefault
types
concatMapStringsSep
generators
;
cfg = config.services.open-web-calendar;

View File

@@ -7,7 +7,6 @@
let
inherit (lib)
literalExpression
mkEnableOption
mkIf
mkOption

View File

@@ -11,12 +11,8 @@ let
defaultConfig = import ./default-config.nix;
inherit (lib)
mkIf
mkEnableOption
mkPackageOption
mkOption
getExe
literalExpression
types
;
in
{

View File

@@ -10,7 +10,6 @@ let
mkOption
mkEnableOption
mkPackageOption
mkDefault
mkIf
types
literalExpression

View File

@@ -15,7 +15,6 @@ let
;
inherit (lib)
optional
optionals
optionalAttrs
optionalString
;

View File

@@ -3,7 +3,6 @@
let
inherit (lib)
genAttrs
maintainers
mkAliasOptionModule
mkEnableOption
mkIf

View File

@@ -1,7 +1,7 @@
{ config, lib, ... }:
let
inherit (lib) mkOption types;
inherit (lib) mkOption;
cfg = config.services.xserver.windowManager;
in

View File

@@ -6,7 +6,6 @@
testers,
}:
let
inherit (lib) fileset;
runTests = stdenv.mkDerivation {
name = "tests-activation-lib";

View File

@@ -15,7 +15,6 @@ let
systemd = config.systemd.package;
inherit (systemdUtils.lib)
makeUnit
generateUnits
targetToUnit
serviceToUnit

View File

@@ -1,21 +1,13 @@
{ lib, pkgs, ... }:
let
lib = pkgs.lib;
in
{
name = "chromadb";
meta.maintainers = [ ];
nodes = {
machine =
{ pkgs, ... }:
{
services.chromadb = {
enable = true;
};
machine = {
services.chromadb = {
enable = true;
};
};
};
testScript = ''

View File

@@ -2,7 +2,7 @@ import ../make-test-python.nix (
{ lib, pkgs, ... }:
let
inherit (lib) mkMerge nameValuePair maintainers;
inherit (lib) mkMerge;
baseGrafanaConf = {
services.grafana = {

View File

@@ -2,7 +2,7 @@ import ../../make-test-python.nix (
{ lib, pkgs, ... }:
let
inherit (lib) mkMerge maintainers;
inherit (lib) mkMerge;
baseGrafanaConf = {
services.grafana = {

View File

@@ -1,6 +1,3 @@
let
name = "pam";
in
{ pkgs, ... }:
{
name = "pam-file-contents";

View File

@@ -45,6 +45,14 @@ let
config.services.spire.agent.settings.agent.socket_path;
virtualisation.credentials."spire.trust_bundle".source = "./trust_bundle";
systemd.services.spire-agent.serviceConfig.ImportCredential = [ "spire.trust_bundle" ];
# A non-root, non-spire-agent user used to verify that arbitrary
# workloads can reach the Workload API socket.
users.users.workload = {
isNormalUser = true;
group = "workload";
};
users.groups.workload = { };
};
in
{
@@ -180,25 +188,36 @@ in
join_token = server.succeed("spire-server token generate -socketPath ${adminSocket}").split()[1]
with open(agent.state_dir / "join_token", "w") as f:
f.write(join_token)
parent_id = f"spiffe://${trustDomain}/spire/agent/join_token/{join_token}"
server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector 'systemd:id:backdoor.service' -parentID {parent_id} -spiffeID {spiffe_id}")
return f"spiffe://${trustDomain}/spire/agent/join_token/{join_token}"
def provision_tpm(agent):
agent.wait_for_unit("tpm2.target")
ek_hash = agent.succeed("get_tpm_pubhash").strip()
parent_id = f"spiffe://${trustDomain}/spire/agent/tpm/{ek_hash}"
server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector 'systemd:id:backdoor.service' -parentID '{parent_id}' -spiffeID {spiffe_id}")
return f"spiffe://${trustDomain}/spire/agent/tpm/{ek_hash}"
def register_entry(parent_id, selector, spiffe_id):
server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector '{selector}' -parentID '{parent_id}' -spiffeID '{spiffe_id}'")
def test_agent(name, agent_node, provision_fn):
with subtest(f"Setup SPIRE agent with {name} attestation"):
provision_trust_bundle(agent_node)
provision_fn(agent_node)
parent_id = provision_fn(agent_node)
register_entry(parent_id, "systemd:id:backdoor.service", spiffe_id)
register_entry(parent_id, "unix:user:workload", "spiffe://${trustDomain}/workload")
agent_node.wait_for_unit("spire-agent.service")
agent_node.wait_until_succeeds("spire-agent healthcheck -socketPath $SPIFFE_ENDPOINT_SOCKET", timeout=90)
with subtest(f"Test certificate authentication from {name} agent"):
agent_node.wait_until_succeeds("spire-agent api fetch x509 -socketPath $SPIFFE_ENDPOINT_SOCKET -write .")
with subtest(f"Workload running as non-root, non-spire-agent user can reach Workload API ({name})"):
# SPIRE's security model relies on workload attestation, not unix
# permissions on the socket. Verify an unrelated user can connect.
agent_node.wait_until_succeeds(
"su -s /bin/sh workload -c "
"'spire-agent api fetch x509 -socketPath \"$SPIFFE_ENDPOINT_SOCKET\"'"
)
# TODO: Add something to communicate with

View File

@@ -1,5 +1,5 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }@args:
{ lib, pkgs, ... }:
let
inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;

View File

@@ -1,9 +1,8 @@
{ pkgs, lib, ... }:
{
name = "immich-public-proxy";
nodes.machine =
{ pkgs, ... }@args:
{ pkgs, ... }:
{
virtualisation.memorySize = 2048; # test hits OOM with default 1024
environment.systemPackages = [

View File

@@ -1,4 +1,4 @@
{ runTest, ... }@testArgs:
{ runTest, ... }:
{
apiIntegration = runTest ./api-integration.nix;
}

View File

@@ -471,7 +471,7 @@ recurseIntoAttrs {
toml = expectDataEqual {
file = writeTOML "data.toml" { hello = "world"; };
expected = ''
hello = 'world'
hello = "world"
'';
};

View File

@@ -46,12 +46,12 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = binName;
version = "0.26.4";
version = "0.26.6";
src = fetchFromGitHub {
owner = "toeverything";
repo = "AFFiNE";
tag = "v${finalAttrs.version}";
hash = "sha256-5tOAkKTpdkN1UDztmy4Dt9kpRrWYVLolnXRwHmfXpLo=";
hash = "sha256-aJeW8I7hx9VN5AU6gVq18cKO0QuKtc7JGUDbVsSXXE4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
@@ -106,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
dontInstall = true;
outputHashMode = "recursive";
outputHash = "sha256-nNPttQJBYJ3eyjR/INoC0MW5e3WcUkDpLdQ0W10+qj0=";
outputHash = "sha256-CSB7fQnxkUx+LRDO0PbiPc2NZuvzWbBLNkImfrSm44o=";
};
buildInputs = lib.optionals hostPlatform.isDarwin [

View File

@@ -82,13 +82,13 @@ let
in
stdenv.mkDerivation {
pname = "ansel";
version = "0-unstable-2026-04-21";
version = "0-unstable-2026-05-01";
src = fetchFromGitHub {
owner = "aurelienpierreeng";
repo = "ansel";
rev = "01022024bc001987ac69308c8a5d1b2b4063f239";
hash = "sha256-vsy4oi0iK8P2UTk0C6X9j5ItOxIYJ2xuGXOAm4uioIA=";
rev = "31c4dcb406b26a18e86e0b88232696ee476b5705";
hash = "sha256-brbk5/ujjmwbiTLk3gwyIZP9ihupg6dxjVV/eeztg0o=";
fetchSubmodules = true;
};

View File

@@ -2,13 +2,9 @@
lib,
autoPatchelfHook,
bzip2,
cairo,
fetchurl,
gdk-pixbuf,
glibc,
pango,
gtk2,
libsForQt5,
kdePackages,
stdenv,
runtimeShell,
unzip,
@@ -16,19 +12,19 @@
let
pname = "bcompare";
version = "4.4.7.28397";
version = "5.2.0.31950";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://www.scootersoftware.com/bcompare-${version}_amd64.deb";
sha256 = "sha256-4AWTSoYpVhGmBBxcwHXdg1CGd/04+8yL9pu+gHrsj6U";
url = "https://www.scootersoftware.com/files/bcompare-${version}_amd64.deb";
sha256 = "sha256-CCSRNGWIYVKAoQVVJ8McDUtc45nK0S4CdamcT5uVlQM=";
};
x86_64-darwin = fetchurl {
url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
sha256 = "sha256-qbpM6hJbv+APo+ed45k3GXrl1HnZRxD1uT2lvaN3oM4=";
url = "https://www.scootersoftware.com/files/BCompareOSX-${version}.zip";
sha256 = "sha256-R+G2Zlr074i2W4GaEDweK0c0q8tnzjs6M0N106WVAlg=";
};
aarch64-darwin = srcs.x86_64-darwin;
@@ -54,35 +50,34 @@ let
cp -R usr/{bin,lib,share} $out/
# Remove library that refuses to be autoPatchelf'ed
# - bcompare_ext_kde.amd64.so is linked with Qt4
# - bcompare_ext_kde5.amd64.so is linked with Qt5
rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
rm $out/lib/beyondcompare/ext/bcompare_ext_kde5.amd64.so
substituteInPlace $out/bin/bcompare \
--replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
--replace "ldd" "${glibc.bin}/bin/ldd" \
--replace "/bin/bash" "${runtimeShell}"
# Create symlink bzip2 library
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
'';
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
(lib.getLib stdenv.cc.cc)
gtk2
pango
cairo
libsForQt5.kio
libsForQt5.kservice
libsForQt5.ki18n
libsForQt5.kcoreaddons
gdk-pixbuf
kdePackages.kio
kdePackages.kservice
kdePackages.ki18n
kdePackages.kcoreaddons
bzip2
];
dontBuild = true;
dontConfigure = true;
dontWrapQtApps = true;
__structuredAttrs = true;
strictDeps = true;
};
darwin = stdenv.mkDerivation {
@@ -98,6 +93,9 @@ let
mkdir -p $out/Applications/BCompare.app
cp -R . $out/Applications/BCompare.app
'';
__structuredAttrs = true;
strictDeps = true;
};
meta = {

View File

@@ -0,0 +1,127 @@
{
lib,
autoPatchelfHook,
bzip2,
cairo,
fetchurl,
gdk-pixbuf,
glibc,
pango,
gtk2,
libsForQt5,
stdenv,
runtimeShell,
unzip,
}:
let
pname = "bcompare4";
version = "4.4.7.28397";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://www.scootersoftware.com/bcompare-${version}_amd64.deb";
sha256 = "sha256-4AWTSoYpVhGmBBxcwHXdg1CGd/04+8yL9pu+gHrsj6U";
};
x86_64-darwin = fetchurl {
url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
sha256 = "sha256-qbpM6hJbv+APo+ed45k3GXrl1HnZRxD1uT2lvaN3oM4=";
};
aarch64-darwin = srcs.x86_64-darwin;
};
src = srcs.${stdenv.hostPlatform.system} or throwSystem;
linux = stdenv.mkDerivation {
inherit
pname
version
src
meta
;
unpackPhase = ''
ar x $src
tar xfz data.tar.gz
'';
installPhase = ''
mkdir -p $out/{bin,lib,share}
cp -R usr/{bin,lib,share} $out/
# Remove library that refuses to be autoPatchelf'ed
rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
substituteInPlace $out/bin/bcompare \
--replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
--replace "ldd" "${glibc.bin}/bin/ldd" \
--replace "/bin/bash" "${runtimeShell}"
# Create symlink bzip2 library
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
'';
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
(lib.getLib stdenv.cc.cc)
gtk2
pango
cairo
libsForQt5.kio
libsForQt5.kservice
libsForQt5.ki18n
libsForQt5.kcoreaddons
gdk-pixbuf
bzip2
];
dontBuild = true;
dontConfigure = true;
dontWrapQtApps = true;
__structuredAttrs = true;
strictDeps = true;
};
darwin = stdenv.mkDerivation {
inherit
pname
version
src
meta
;
nativeBuildInputs = [ unzip ];
installPhase = ''
mkdir -p $out/Applications/BCompare.app
cp -R . $out/Applications/BCompare.app
'';
__structuredAttrs = true;
strictDeps = true;
};
meta = {
description = "GUI application that allows to quickly and easily compare files and folders";
longDescription = ''
Beyond Compare is focused. Beyond Compare allows you to quickly and easily compare your files and folders.
By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not.
You can then merge the changes, synchronize your files, and generate reports for your records.
'';
homepage = "https://www.scootersoftware.com";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
ktor
arkivm
];
platforms = builtins.attrNames srcs;
mainProgram = "bcompare";
};
in
if stdenv.hostPlatform.isDarwin then darwin else linux

View File

@@ -8,16 +8,16 @@
php83.buildComposerProject2 (finalAttrs: {
pname = "bookstack";
version = "25.12.8";
version = "26.03.3";
src = fetchFromGitHub {
owner = "bookstackapp";
repo = "bookstack";
tag = "v${finalAttrs.version}";
hash = "sha256-1dyY66pU73IYa1sOvOn6HTvs1Cww06jvHJl5s/QB6r4=";
hash = "sha256-HzFniRSt9lt5307K37sj1AbxCIPFVFvvYX1xo4qSSu0=";
};
vendorHash = "sha256-sb5Tn/yPEQAVWwbC5AwXTU34Mc8aK5PDV5Wp+XH3ruk=";
vendorHash = "sha256-ZNVJ38KqH1FEhrSlk8+0f3rjFT7FzMtTibmjxjNJFLY=";
passthru = {
phpPackage = php83;

View File

@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "brush";
version = "0.3.0";
version = "0.4.0";
src = fetchFromGitHub {
owner = "reubeno";
repo = "brush";
tag = "brush-shell-v${finalAttrs.version}";
hash = "sha256-Ib7IRjehcftCETUAT1+otXRdTFFOOwMN4mjnArYLP7Y=";
hash = "sha256-zG6ho/QECzLC/evOUdo9mYXoh4xA2PF+BQvnCsLZiNg=";
};
cargoHash = "sha256-mD6zrYX5xlEfV56syb0jqxE3jUO28asugOHKz27hTC4=";
cargoHash = "sha256-NSvlLiLp0kdnWNUSIateGkscL5as+b00d54CP3sEakI=";
nativeInstallCheckInputs = [
versionCheckHook

View File

@@ -1,4 +1,7 @@
{ fetchurl }:
{
lib,
fetchurl,
}:
fetchurl (finalAttrs: {
name = "${finalAttrs.pname}-${finalAttrs.version}.jar";
@@ -6,4 +9,7 @@ fetchurl (finalAttrs: {
version = "2.1.1";
url = "https://github.com/beanshell/beanshell/releases/download/${finalAttrs.version}/bsh-${finalAttrs.version}.jar";
hash = "sha256-cRksu+Seeiac/LoF3Fy5WcM7myba/NYmbKMoi0YfhqM=";
meta = {
license = lib.licenses.asl20;
};
})

View File

@@ -36,5 +36,6 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://chessdb.sourceforge.net/";
description = "Free chess database";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Only;
};
})

View File

@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
rustPlatform.bindgenHook
];
updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
meta = {
description = "Concentrator HAL daemon for LoRa gateways";

View File

@@ -55,4 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
meta = {
license = lib.licenses.mit;
};
})

View File

@@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "context7-mcp";
version = "2.2.0";
version = "2.2.3";
src = fetchFromGitHub {
owner = "upstash";
repo = "context7";
tag = "${tag-prefix}@${finalAttrs.version}";
hash = "sha256-MFHajv1f+Xj8BtiiDQs4Sct1IhYS4+hYY+PdVAYqkNw=";
hash = "sha256-Vse6mOfzDC65V3qoL1tZu5S9DU93PmVNI8NRm94Gcn8=";
};
nativeBuildInputs = [

View File

@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ cmake ];
updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
meta = {
description = "Mesh compression library, designed for rendering and speed";

View File

@@ -5,6 +5,7 @@
cmake,
pkg-config,
libdwarf,
libunwind,
gtest,
callPackage,
zstd,
@@ -32,9 +33,18 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
];
buildInputs = [ (lib.getDev libdwarf) ];
buildInputs = [
(lib.getDev libdwarf)
libunwind
];
propagatedBuildInputs = [ zstd ] ++ (lib.optionals static [ libdwarf ]);
propagatedBuildInputs = [
zstd
]
++ (lib.optionals static [
libdwarf
libunwind
]);
cmakeFlags = [
(lib.cmakeBool "CPPTRACE_USE_EXTERNAL_LIBDWARF" true)
@@ -42,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "BUILD_SHARED_LIBS" (!static))
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "CPPTRACE_USE_EXTERNAL_GTEST" true)
(lib.cmakeBool "CPPTRACE_UNWIND_WITH_LIBUNWIND" true)
];
checkInputs = [ gtest ];

View File

@@ -57,7 +57,7 @@ buildGo126Module (finalAttrs: {
--zsh <($out/bin/crush completion zsh)
'';
updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
meta = {
description = "Glamourous AI coding agent for your favourite terminal";

View File

@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "defuddle";
version = "0.17.0";
version = "0.18.1";
src = fetchFromGitHub {
owner = "kepano";
repo = "defuddle";
tag = version;
hash = "sha256-w1V2xdaE8Htl6NeDyfKLFHOt3UEUuI4eBPW433qD1WI=";
hash = "sha256-e/+eigIzpP0g+ZqTeyZnF6mloaY6UeKcMWfqryCcLbM=";
};
npmDepsHash = "sha256-D+Gn9Dcc+YNeRonnKjEcp3BzpxIdwy7J4lJvxefJSvs=";
npmDepsHash = "sha256-1NFwhYEGTKpjzCdK/eHK0TWtOEpn67FA+B3QZ11w1Rs=";
# jsdom is both a peerDependency and devDependency; pruning
# devDependencies removes it, but the CLI needs it at runtime.

View File

@@ -16,13 +16,13 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "firefly-iii";
version = "6.6.1";
version = "6.6.2";
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "firefly-iii";
tag = "v${finalAttrs.version}";
hash = "sha256-JnErWcq7aVkeZAIaINSEqmi/Fi/9wrPqFZ583EG8qyg=";
hash = "sha256-bfvs8gpFYpXEHyGKY5b/PvdQWS1VeT5NFeXaI+a9nlo=";
};
buildInputs = [ php ];
@@ -40,13 +40,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname src version;
composerStrictValidation = true;
strictDeps = true;
vendorHash = "sha256-iYW5GrUaHwoJzv4WN1r5YPEMUOH15A4BmOSlKIqCcdg=";
vendorHash = "sha256-/exzNHzqqbT1PLciyKC7ZGUTva0xiWZS5Pnz1kAfe/4=";
};
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
name = "${finalAttrs.pname}-npm-deps";
hash = "sha256-6zha6lTkdrcMc9EAhFvSg1LRAw0HJlUITPqguCVrx+8=";
hash = "sha256-uV7VWEpuI+rUXrzk8BKLEkaUftrXH+vEOqdQO/pZq+M=";
};
preInstall = ''

View File

@@ -8,6 +8,7 @@
gitMinimal,
openssh,
writableTmpDirAsHomeHook,
nix-update-script,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "fusesoc";
@@ -64,11 +65,13 @@ python3Packages.buildPythonApplication (finalAttrs: {
}"
];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/olofk/fusesoc";
description = "Package manager and build tools for HDL code";
maintainers = [ ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ VZstless ];
license = lib.licenses.bsd2;
mainProgram = "fusesoc";
};
})

View File

@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
hash = "sha256-FU1EHLQ+/2sOGeeGwONsrV786kHTFfMel7ocBcCe+rI=";
};
updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace gcalcli/argparsers.py \

View File

@@ -11,11 +11,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gemini-cli-bin";
version = "0.39.1";
version = "0.40.1";
src = fetchzip {
url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini-cli-bundle.zip";
hash = "sha256-mDKBquxjdeIpNOFOrL2Nnsxwr9Fz8FH/Ulhpiwrv1TA=";
hash = "sha256-lSwBnrPX9RjKs0HVR64BcAhgzD4hVMethgnwRErXpDQ=";
stripRoot = false;
};

View File

@@ -16,13 +16,13 @@
stdenv.mkDerivation {
pname = "gf";
version = "0-unstable-2026-04-11";
version = "0-unstable-2026-05-03";
src = fetchFromGitHub {
repo = "gf";
owner = "nakst";
rev = "93066aae8d7328c41f0da9985c680691fafa3fab";
hash = "sha256-2nA9c8PAIr8o/of//WUI9XHZgVNtXYsnMaaTOdAMTwc=";
rev = "46174e9b25850c9898ca0c2de90af31ad83122d7";
hash = "sha256-UnMpV9RCDsJEDBj4/gypzYFhR4IqEVKYKLpvrLlTGaA=";
};
nativeBuildInputs = [

View File

@@ -10,6 +10,8 @@ buildGoModule (finalAttrs: {
pname = "git-pages-cli";
version = "1.8.2";
__structuredAttrs = true;
src = fetchFromCodeberg {
owner = "git-pages";
repo = "git-pages-cli";
@@ -28,7 +30,12 @@ buildGoModule (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(.*)"
];
};
meta = {
description = "Command-line application for uploading a site to a git-pages server";

View File

@@ -0,0 +1,14 @@
diff --git a/script/runtime/exe.go b/script/runtime/exe.go
index d15bf50f..66f784a4 100644
--- a/script/runtime/exe.go
+++ b/script/runtime/exe.go
@@ -140,6 +140,9 @@ func (nopTestDeps) WriteProfileTo(name string, w io.Writer, debug int) error {
func (nopTestDeps) ImportPath() string {
return ""
}
+func (nopTestDeps) ModulePath() string {
+ return ""
+}
func (nopTestDeps) StartTestLog(w io.Writer) {}
func (nopTestDeps) StopTestLog() error {

View File

@@ -17,6 +17,11 @@ buildGoModule (finalAttrs: {
hash = "sha256-okc11mXqB/PaXd0vsRuIIL70qWSFprvsZJtE6PvCaIg=";
};
patches = [
# https://github.com/hofstadter-io/hof/pull/411
./go-testdeps-modulepath.patch
];
nativeBuildInputs = [ installShellFiles ];
vendorHash = "sha256-mLOWnHzKw/B+jFNuswejEnYbPxFkk95I/BWeHRTH55I=";

View File

@@ -1,31 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "hors";
version = "0.8.2";
src = fetchFromGitHub {
owner = "windsoilder";
repo = "hors";
rev = "v${finalAttrs.version}";
sha256 = "1q17i8zg7dwd8al42wfnkn891dy5hdhw4325plnihkarr50avbr0";
};
cargoHash = "sha256-JTHgOEBpGXPO3C7YUbBF0LFeSUQK+R2w1LugwMV5xyU=";
# requires network access
doCheck = false;
meta = {
description = "Instant coding answers via the command line";
mainProgram = "hors";
homepage = "https://github.com/windsoilder/hors";
changelog = "https://github.com/WindSoilder/hors/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = [ ];
};
})

View File

@@ -19,13 +19,13 @@
}:
stdenv.mkDerivation {
pname = "jpegli";
version = "0-unstable-2026-04-13";
version = "0-unstable-2026-04-30";
src = fetchFromGitHub {
owner = "google";
repo = "jpegli";
rev = "0b846bb0e309b70cf56f64986c4d711c39bfcb49";
hash = "sha256-TFf2DYOGpHnmVRl+vXLP+W0agIQ8SNsV63ryvqV/SdI=";
rev = "7a57896e68a8ab861ded9857b2d3a402868d3d9e";
hash = "sha256-lnmLS4ueQhPLUfIY0G+FhqsHpn9aFDDtHVQg6+TIkbQ=";
fetchSubmodules = true;
};

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "just-lsp";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = "terror";
repo = "just-lsp";
tag = finalAttrs.version;
hash = "sha256-4DxyKzIcX2hVCmgMTnA/4kqlghJd38jPoL7B7PcV+NU=";
hash = "sha256-ew8/ugjSkCus5Fd/SpXfWKspvdOR6FC/Q2gBzWO3OOw=";
};
cargoHash = "sha256-E6eHB1tJ2rCgkU+xoyx5yg5X0ZGFn54Ozt0fJW7qn58=";
cargoHash = "sha256-YejdnLECFCmuYfmj6rYnKKsMD5HkHsYnS8gs4f3iCcw=";
nativeInstallCheckInputs = [
versionCheckHook

View File

@@ -60,7 +60,7 @@ buildGoModule (finalAttrs: {
doCheck = true;
updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
meta = {
description = "Command line interface for KCL programming language";

View File

@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "lavacli";
version = "2.7";
version = "2.8";
pyproject = true;
src = fetchFromGitLab {
owner = "lava";
repo = "lavacli";
tag = "v${finalAttrs.version}";
hash = "sha256-UiAqZJU7+x8f53myMY0gUwQ5PYNzKmO6kYWEqs1QvG4=";
hash = "sha256-oIB5BLLwyaDkV5mQ8vndlQQv4R1lCEATHO9JqJDYv7s=";
};
build-system = with python3.pkgs; [

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "lazyworktree";
version = "1.45.0";
version = "1.45.1";
src = fetchFromGitHub {
owner = "chmouel";
repo = "lazyworktree";
tag = "v${finalAttrs.version}";
hash = "sha256-qOJlX8kMGvzlMWII0dit8DnDrgRuhqa6VER7PoUMod0=";
hash = "sha256-Bgw4B7r+pwh0lEDDowS1n8ZmUs2ClxRZQjQbE880nS0=";
};
vendorHash = "sha256-EZY4flrYM3JRY5i1qsjp5vvGW32IvDHeINdYuQJgUuQ=";
vendorHash = "sha256-bMgMe9Crv5MKVhOMtqUG+peaSW0kQewT4qmdk0a7W6o=";
nativeBuildInputs = [ installShellFiles ];

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