From 5588c47f0ccf380a58f59919c5aa0ba035a3e961 Mon Sep 17 00:00:00 2001 From: Lucy Date: Tue, 23 Sep 2025 10:11:19 +0200 Subject: [PATCH 001/332] =?UTF-8?q?proto:=200.50.4=20=20=E2=86=92=20=20=20?= =?UTF-8?q?0.53.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/pr/proto/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/proto/package.nix b/pkgs/by-name/pr/proto/package.nix index 1fd916e8fb2b..a9a2826449ec 100644 --- a/pkgs/by-name/pr/proto/package.nix +++ b/pkgs/by-name/pr/proto/package.nix @@ -6,27 +6,30 @@ libiconv, makeBinaryWrapper, pkg-config, + perl, }: rustPlatform.buildRustPackage rec { pname = "proto"; - version = "0.50.4"; + version = "0.53.0"; src = fetchFromGitHub { owner = "moonrepo"; repo = "proto"; rev = "v${version}"; - hash = "sha256-X448S7eGx60CgpZkV81bVuxAc6HuIRNeHJgKW4min/E="; + hash = "sha256-gRu/e4CMMKbmUDBbRbrHMpYZ+N1tGUKt758SP3Sp1uI="; }; - cargoHash = "sha256-PUNBq4VWufCeFdhI7zThEyDMA4UHpL95uVdv4uouxBQ="; + cargoHash = "sha256-pwJNNwCjyEJRh4PPq/BqK3DbeJkzElkwmpaQkd/hKMQ="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv + ]; nativeBuildInputs = [ makeBinaryWrapper pkg-config + perl ]; # Tests requires network access From 3d9220e6cafcf567238a00c8d615cc7b5edadb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolf=20Schr=C3=B6der?= Date: Tue, 4 Nov 2025 21:41:35 +0100 Subject: [PATCH 002/332] corretto21: 21.0.6.7.1 -> 21.0.9.11.1 Gradle7 is phased out in nixpkgs but corretto <= 21 does not support Gradle8. See https://github.com/corretto/corretto-21/issues/114#issuecomment-3198171683. Hence, ./corretto21-gradle8.patch is added. This patch is loosely based on https://github.com/corretto/corretto-jdk/pull/135. --- pkgs/development/compilers/corretto/21.nix | 16 +- .../corretto/corretto21-gradle8.patch | 340 ++++++++++++++++++ 2 files changed, 350 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/compilers/corretto/corretto21-gradle8.patch diff --git a/pkgs/development/compilers/corretto/21.nix b/pkgs/development/compilers/corretto/21.nix index 8b566823c040..4dc8447de7b5 100644 --- a/pkgs/development/compilers/corretto/21.nix +++ b/pkgs/development/compilers/corretto/21.nix @@ -1,7 +1,6 @@ { - corretto21, fetchFromGitHub, - gradle_7, + gradle_8, jdk21, lib, stdenv, @@ -20,14 +19,19 @@ let testers ; jdk = jdk21; - gradle = gradle_7; - version = "21.0.6.7.1"; + gradle = gradle_8; + version = "21.0.9.11.1"; src = fetchFromGitHub { owner = "corretto"; repo = "corretto-21"; rev = version; - hash = "sha256-kF7Quf8bU5scfunmwfEYLkje/jEJOx7CFnBIUWCovzI="; + hash = "sha256-d62rXVgVlOM3M18c8GioFtMi/GhmCEMLQwy/EWAJW7I="; }; }; in -corretto +corretto.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + ./corretto21-gradle8.patch + ]; + +}) diff --git a/pkgs/development/compilers/corretto/corretto21-gradle8.patch b/pkgs/development/compilers/corretto/corretto21-gradle8.patch new file mode 100644 index 000000000000..c5a5c02e1d05 --- /dev/null +++ b/pkgs/development/compilers/corretto/corretto21-gradle8.patch @@ -0,0 +1,340 @@ +diff --git a/build.gradle b/build.gradle +index 61d5c8f8b48..2102e8921bd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -257,7 +257,7 @@ project(':prebuild') { + def generateToolMain = "build.tools.generatecacerts.GenerateCacerts" + + task copyToolSrc(type: Copy) { +- description 'Copy utility tool source to the project root' ++ description = 'Copy utility tool source to the project root' + from fileTree("$rootDir/make/jdk/src/classes") { + include 'build/tools/generatecacerts/*' + } +@@ -267,7 +267,7 @@ project(':prebuild') { + task buildTool(type: JavaCompile) { + dependsOn copyToolSrc + source = fileTree(dir: preBuildSrc, include: '**/*.java') +- destinationDir = file(classPath) ++ destinationDirectory = file(classPath) + classpath = files(classPath) + } + +@@ -280,7 +280,7 @@ project(':prebuild') { + + // See commit for [JDK-8275252](https://github.com/corretto/corretto-jdk/commit/bd2b41dd7062c50f3aaebec2137d5fdd9546c120) + jvmArgs = ['-Dkeystore.pkcs12.certProtectionAlgorithm=NONE', '-Dkeystore.pkcs12.macAlgorithm=NONE'] +- main = generateToolMain ++ mainClass = generateToolMain + args = [jdkCaDir, project.caCerts] + } + +@@ -311,9 +311,9 @@ project(':openjdksrc') { + * Compresses a snapshot of the source code used to perform the build. + */ + task sourceDistributionTarball(type: Tar) { +- description 'Assemble source files required for building and distributing Corretto.' +- compression Compression.GZIP +- archiveName sourceTar ++ description = 'Assemble source files required for building and distributing Corretto.' ++ compression = Compression.GZIP ++ archiveFileName = sourceTar + def sourceTarRootFiles = ['LICENSE', + 'ADDITIONAL_LICENSE_INFO', + 'README', +diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle +index 1df0004cbac..1b5dd56d7fd 100644 +--- a/installers/linux/al2/spec/build.gradle ++++ b/installers/linux/al2/spec/build.gradle +@@ -63,8 +63,8 @@ task inflateRpmSpec { + + task copySourceTar(type: Tar) { + dependsOn project.configurations.compile, inflateRpmSpec +- compression Compression.GZIP +- archiveName project.configurations.compile.singleFile.name ++ compression = Compression.GZIP ++ archiveFileName = project.configurations.compile.singleFile.name + from("$buildDir") { + include "java-${project.version.major}-amazon-corretto.spec" + into 'rpm' +diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle +index 5b88041eebb..5b0c05f81d0 100644 +--- a/installers/linux/alpine/tar/build.gradle ++++ b/installers/linux/alpine/tar/build.gradle +@@ -131,9 +131,9 @@ task bundleThirdPartyBinaries { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -142,9 +142,9 @@ task packageTestImage(type: Tar) { + + task packageDebugSymbols(type: Tar) { + dependsOn packageTestImage +- description 'Package debug symbols' +- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package debug symbols' ++ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -154,12 +154,12 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn executeBuild + dependsOn bundleThirdPartyBinaries +- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include project.rootFiles + } +@@ -178,7 +178,7 @@ task packageBuildResults(type: Tar) { + // See https://github.com/corretto/corretto-11/issues/129 + from(jdkResultingImage) { + include 'legal/**' +- fileMode 0444 ++ fileMode = 0444 + } + into "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}" + } +diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle +index 4daf46e8b14..3376e3c58d1 100644 +--- a/installers/linux/universal/deb/build.gradle ++++ b/installers/linux/universal/deb/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -57,22 +57,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo" + ospackage { + // Valid version must start with a digit and only contain [A-Za-z0-9.+:~-] + // See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- maintainer "${packageInfo.maintainer}" +- packageGroup 'java' +- priority 'optional' +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_deb +- multiArch SAME ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ maintainer = "${packageInfo.maintainer}" ++ packageGroup = 'java' ++ priority = 'optional' ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_deb ++ multiArch = SAME + } + + /** +@@ -127,13 +127,13 @@ task inflateJinfoTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkDeb(type: Deb) { +- description 'Create the DEB package for Corretto JDK' ++ description = 'Create the DEB package for Corretto JDK' + dependsOn inflateDebScriptTemplate + dependsOn inflateJinfoTemplate + +- packageName jdkPackageName +- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." +- summary "Amazon Corretto ${project.version.major} development environment" ++ packageName = jdkPackageName ++ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." ++ summary = "Amazon Corretto ${project.version.major} development environment" + + postInstall file("$buildRoot/scripts/postin_jdk.sh") + preUninstall file("$buildRoot/scripts/preun_jdk.sh") +@@ -191,13 +191,13 @@ task generateJdkDeb(type: Deb) { + // See https://github.com/corretto/corretto-11/issues/129 + from("${jdkBinaryDir}/legal") { + into "${jdkHome}/legal" +- fileMode 0444 ++ fileMode = 0444 + } + + if (!project.excludeReadmeJavaSE) { + from("${jdkBinaryDir}/README.JAVASE") { + into jdkHome +- fileMode 0444 ++ fileMode = 0444 + } + } + +diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle +index 50f55bb52c0..fbbe8f44bca 100644 +--- a/installers/linux/universal/rpm/build.gradle ++++ b/installers/linux/universal/rpm/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -51,20 +51,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}" + def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel" + + ospackage { +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_redline +- os LINUX +- type BINARY ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_redline ++ os = LINUX ++ type = BINARY + } + + /** +@@ -100,14 +100,14 @@ task inflateRpmScriptTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkRpm(type: Rpm) { +- description 'Create the RPM package for Corretto JDK' ++ description = 'Create the RPM package for Corretto JDK' + dependsOn inflateRpmScriptTemplate +- packageName jdkPackageName +- packageDescription packageInfo.description +- summary "Amazon Corretto ${project.version.major} development environment" +- packageGroup 'Development/Tools' ++ packageName = jdkPackageName ++ packageDescription = packageInfo.description ++ summary = "Amazon Corretto ${project.version.major} development environment" ++ packageGroup = 'Development/Tools' + // Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released +- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" ++ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" + + prefix(jdkHome) + postInstall file("$buildRoot/scripts/postin_java.sh") +@@ -146,13 +146,13 @@ task generateJdkRpm(type: Rpm) { + // See https://github.com/corretto/corretto-11/issues/129 + from("${jdkBinaryDir}/legal") { + into "${jdkHome}/legal" +- fileMode 0444 ++ fileMode = 0444 + } + + if (!project.excludeReadmeJavaSE) { + from("${jdkBinaryDir}/README.JAVASE") { + into jdkHome +- fileMode 0444 ++ fileMode = 0444 + } + } + } +diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle +index be5be844e38..0480a6a34c9 100644 +--- a/installers/linux/universal/tar/build.gradle ++++ b/installers/linux/universal/tar/build.gradle +@@ -121,9 +121,9 @@ task bundleThirdPartyBinaries { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "${project.correttoTestImageArchiveName}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -131,10 +131,10 @@ task packageTestImage(type: Tar) { + } + + task packageDebugSymbols(type: Tar) { +- description 'Package debug results' ++ description = 'Package debug results' + dependsOn packageTestImage +- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -144,11 +144,11 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn bundleThirdPartyBinaries +- archiveName "${project.correttoJdkArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include project.rootFiles + into project.correttoJdkArchiveName +@@ -169,7 +169,7 @@ task packageBuildResults(type: Tar) { + // See https://github.com/corretto/corretto-11/issues/129 + from("${jdkResultingImage}/legal") { + include '**' +- fileMode 0444 ++ fileMode = 0444 + into "${project.correttoJdkArchiveName}/legal" + } + } From 0057e680db5820b2b20c793727b0ce380c6b1fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolf=20Schr=C3=B6der?= Date: Tue, 4 Nov 2025 22:05:57 +0100 Subject: [PATCH 003/332] corretto17: 17.0.14.7.1 -> 17.0.17.10.1 Gradle7 is phased out in nixpkgs but corretto <= 21 does not support Gradle8. See https://github.com/corretto/corretto-21/issues/114#issuecomment-3198171683. Hence, ./corretto17-gradle8.patch is added. This patch is loosely based on https://github.com/corretto/corretto-jdk/pull/135. --- pkgs/development/compilers/corretto/17.nix | 18 +- .../corretto/corretto17-gradle8.patch | 290 ++++++++++++++++++ 2 files changed, 300 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/compilers/corretto/corretto17-gradle8.patch diff --git a/pkgs/development/compilers/corretto/17.nix b/pkgs/development/compilers/corretto/17.nix index de39f073df97..36b26337bbab 100644 --- a/pkgs/development/compilers/corretto/17.nix +++ b/pkgs/development/compilers/corretto/17.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, fetchurl, - gradle_7, + gradle_8, jdk17, lib, stdenv, @@ -20,13 +20,13 @@ let testers ; jdk = jdk17; - gradle = gradle_7; - version = "17.0.14.7.1"; + gradle = gradle_8; + version = "17.0.17.10.1"; src = fetchFromGitHub { owner = "corretto"; repo = "corretto-17"; rev = version; - hash = "sha256-ohQrguEJ8QvTaNjyQxKFujGhXNxCQTGkLILurzD7cy0="; + hash = "sha256-Z8+g5jXjcWNTYU9Xvze7scu348okMauGMhSZwX1sS9w="; }; }; in @@ -35,9 +35,11 @@ corretto.overrideAttrs ( # Corretto17 has incorporated this patch already so it fails to apply. # We thus skip it here. # See https://github.com/corretto/corretto-17/pull/158 - patches = lib.remove (fetchurl { - url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=41e78a067953e0b13d062d632bae6c4f8028d91c"; - sha256 = "sha256-LzmSew51+DyqqGyyMw2fbXeBluCiCYsS1nCjt9hX6zo="; - }) (prev.patches or [ ]); + patches = + lib.remove (fetchurl { + url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=41e78a067953e0b13d062d632bae6c4f8028d91c"; + sha256 = "sha256-LzmSew51+DyqqGyyMw2fbXeBluCiCYsS1nCjt9hX6zo="; + }) (prev.patches or [ ]) + ++ [ ./corretto17-gradle8.patch ]; } ) diff --git a/pkgs/development/compilers/corretto/corretto17-gradle8.patch b/pkgs/development/compilers/corretto/corretto17-gradle8.patch new file mode 100644 index 000000000000..fbce320b53a1 --- /dev/null +++ b/pkgs/development/compilers/corretto/corretto17-gradle8.patch @@ -0,0 +1,290 @@ +diff --git a/build.gradle b/build.gradle +index f678379aa..62df526d4 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -231,7 +231,7 @@ project(':prebuild') { + def generateToolMain = "build.tools.generatecacerts.GenerateCacerts" + + task copyToolSrc(type: Copy) { +- description 'Copy utility tool source to the project root' ++ description = 'Copy utility tool source to the project root' + from fileTree("$rootDir/make/jdk/src/classes") { + include 'build/tools/generatecacerts/*' + } +@@ -241,7 +241,7 @@ project(':prebuild') { + task buildTool(type: JavaCompile) { + dependsOn copyToolSrc + source = fileTree(dir: preBuildSrc, include: '**/*.java') +- destinationDir = file(classPath) ++ destinationDirectory = file(classPath) + classpath = files(classPath) + } + +@@ -282,9 +282,9 @@ project(':openjdksrc') { + * Compresses a snapshot of the source code used to perform the build. + */ + task sourceDistributionTarball(type: Tar) { +- description 'Assemble source files required for building and distributing Corretto.' +- compression Compression.GZIP +- archiveName sourceTar ++ description = 'Assemble source files required for building and distributing Corretto.' ++ compression = Compression.GZIP ++ archiveFileName = sourceTar + from fileTree(rootDir) { + include 'LICENSE', + 'ADDITIONAL_LICENSE_INFO', +diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle +index a5a1b9a7c..201283213 100644 +--- a/installers/linux/al2/spec/build.gradle ++++ b/installers/linux/al2/spec/build.gradle +@@ -62,8 +62,8 @@ task inflateRpmSpec { + + task copySourceTar(type: Tar) { + dependsOn project.configurations.compile, inflateRpmSpec +- compression Compression.GZIP +- archiveName project.configurations.compile.singleFile.name ++ compression = Compression.GZIP ++ archiveFileName = project.configurations.compile.singleFile.name + from("$buildDir") { + include "java-${project.version.major}-amazon-corretto.spec" + into 'rpm' +diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle +index d0f95bd42..60bc9d40a 100644 +--- a/installers/linux/alpine/tar/build.gradle ++++ b/installers/linux/alpine/tar/build.gradle +@@ -132,9 +132,9 @@ task bundleThirdPartyBinaries { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -143,9 +143,9 @@ task packageTestImage(type: Tar) { + + task packageDebugSymbols(type: Tar) { + dependsOn packageTestImage +- description 'Package debug symbols' +- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package debug symbols' ++ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -155,12 +155,12 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn executeBuild + dependsOn bundleThirdPartyBinaries +- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include 'ADDITIONAL_LICENSE_INFO' + include 'ASSEMBLY_EXCEPTION' +diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle +index 118ad0b74..54f7e0c50 100644 +--- a/installers/linux/universal/deb/build.gradle ++++ b/installers/linux/universal/deb/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -54,22 +54,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo" + ospackage { + // Valid version must start with a digit and only contain [A-Za-z0-9.+:~-] + // See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- maintainer "${packageInfo.maintainer}" +- packageGroup 'java' +- priority 'optional' +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_deb +- multiArch SAME ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ maintainer = "${packageInfo.maintainer}" ++ packageGroup = 'java' ++ priority = 'optional' ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_deb ++ multiArch = SAME + } + + /** +@@ -124,13 +124,13 @@ task inflateJinfoTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkDeb(type: Deb) { +- description 'Create the DEB package for Corretto JDK' ++ description = 'Create the DEB package for Corretto JDK' + dependsOn inflateDebScriptTemplate + dependsOn inflateJinfoTemplate + +- packageName jdkPackageName +- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." +- summary "Amazon Corretto ${project.version.major} development environment" ++ packageName = jdkPackageName ++ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." ++ summary = "Amazon Corretto ${project.version.major} development environment" + + postInstall file("$buildRoot/scripts/postin_jdk.sh") + preUninstall file("$buildRoot/scripts/preun_jdk.sh") +diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle +index 2883b16ac..ed914b679 100644 +--- a/installers/linux/universal/rpm/build.gradle ++++ b/installers/linux/universal/rpm/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -48,20 +48,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}" + def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel" + + ospackage { +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_redline +- os LINUX +- type BINARY ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_redline ++ os = LINUX ++ type = BINARY + } + + /** +@@ -97,14 +97,14 @@ task inflateRpmScriptTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkRpm(type: Rpm) { +- description 'Create the RPM package for Corretto JDK' ++ description = 'Create the RPM package for Corretto JDK' + dependsOn inflateRpmScriptTemplate +- packageName jdkPackageName +- packageDescription packageInfo.description +- summary "Amazon Corretto ${project.version.major} development environment" +- packageGroup 'Development/Tools' ++ packageName = jdkPackageName ++ packageDescription = packageInfo.description ++ summary = "Amazon Corretto ${project.version.major} development environment" ++ packageGroup = 'Development/Tools' + // Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released +- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" ++ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" + + prefix(jdkHome) + postInstall file("$buildRoot/scripts/postin_java.sh") +diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle +index 17491d830..9ec3280e6 100644 +--- a/installers/linux/universal/tar/build.gradle ++++ b/installers/linux/universal/tar/build.gradle +@@ -122,9 +122,9 @@ task bundleThirdPartyBinaries { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "${project.correttoTestImageArchiveName}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -132,10 +132,10 @@ task packageTestImage(type: Tar) { + } + + task packageDebugSymbols(type: Tar) { +- description 'Package debug results' ++ description = 'Package debug results' + dependsOn packageTestImage +- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -145,11 +145,11 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn bundleThirdPartyBinaries +- archiveName "${project.correttoJdkArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include 'ADDITIONAL_LICENSE_INFO' + include 'ASSEMBLY_EXCEPTION' +@@ -175,7 +175,7 @@ task packageBuildResults(type: Tar) { + // See https://github.com/corretto/corretto-11/issues/129 + from("${jdkResultingImage}/legal") { + include '**' +- fileMode 0444 ++ fileMode = 0444 + into "${project.correttoJdkArchiveName}/legal" + } + } From 24232f2eeaec7b371bc7e155834ca0822abdef8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolf=20Schr=C3=B6der?= Date: Tue, 4 Nov 2025 22:21:55 +0100 Subject: [PATCH 004/332] corretto11: 11.0.26.4.1 -> 11.0.29.7.1 Gradle7 is phased out in nixpkgs but corretto <= 21 does not support Gradle8. See https://github.com/corretto/corretto-21/issues/114#issuecomment-3198171683. Hence, ./corretto11-gradle8.patch is added. This patch is loosely based on https://github.com/corretto/corretto-jdk/pull/135. --- pkgs/development/compilers/corretto/11.nix | 15 +- .../corretto/corretto11-gradle8.patch | 337 ++++++++++++++++++ 2 files changed, 347 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/compilers/corretto/corretto11-gradle8.patch diff --git a/pkgs/development/compilers/corretto/11.nix b/pkgs/development/compilers/corretto/11.nix index 5fbfee0bbf5c..295d5c6a3037 100644 --- a/pkgs/development/compilers/corretto/11.nix +++ b/pkgs/development/compilers/corretto/11.nix @@ -1,6 +1,6 @@ { fetchFromGitHub, - gradle_7, + gradle_8, jdk11, lib, stdenv, @@ -19,20 +19,25 @@ let testers ; jdk = jdk11; - gradle = gradle_7; + gradle = gradle_8; extraConfig = [ # jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix) # because of several compile errors. We need to include this parameter for # Corretto, too. "--disable-warnings-as-errors" ]; - version = "11.0.26.4.1"; + version = "11.0.29.7.1"; src = fetchFromGitHub { owner = "corretto"; repo = "corretto-11"; rev = version; - hash = "sha256-buJlSvmyOVeMwaP9oDcHhG+Sabr1exf0nRUt4O7MaIY="; + hash = "sha256-/VlV8tAo1deOZ5Trc4VlLNtpjWx352qUGZmfVbj7HuU="; }; }; in -corretto +corretto.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + ./corretto11-gradle8.patch + ]; + +}) diff --git a/pkgs/development/compilers/corretto/corretto11-gradle8.patch b/pkgs/development/compilers/corretto/corretto11-gradle8.patch new file mode 100644 index 000000000000..2a5ead90a045 --- /dev/null +++ b/pkgs/development/compilers/corretto/corretto11-gradle8.patch @@ -0,0 +1,337 @@ +diff --git a/build.gradle b/build.gradle +index a589bb568..6e0164562 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -240,7 +240,7 @@ project(':prebuild') { + def generateToolMain = "build.tools.generatecacerts.GenerateCacerts" + + task copyToolSrc(type: Copy) { +- description 'Copy utility tool source to the project root' ++ description = 'Copy utility tool source to the project root' + from fileTree("$rootDir/make/jdk/src/classes") { + include 'build/tools/generatecacerts/*' + } +@@ -250,7 +250,7 @@ project(':prebuild') { + task buildTool(type: JavaCompile) { + dependsOn copyToolSrc + source = fileTree(dir: preBuildSrc, include: '**/*.java') +- destinationDir = file(classPath) ++ destinationDirectory = file(classPath) + classpath = files(classPath) + } + +@@ -260,7 +260,7 @@ project(':prebuild') { + + description = 'Generate Cacerts from JDK source' + classpath = files(classPath) +- main = generateToolMain ++ mainClass = generateToolMain + args = [jdkCaDir, project.caCerts] + } + +@@ -291,9 +291,9 @@ project(':openjdksrc') { + * Compresses a snapshot of the source code used to perform the build. + */ + task sourceDistributionTarball(type: Tar) { +- description 'Assemble source files required for building and distributing Corretto.' +- compression Compression.GZIP +- archiveName sourceTar ++ description = 'Assemble source files required for building and distributing Corretto.' ++ compression = Compression.GZIP ++ archiveFileName = sourceTar + from fileTree(rootDir) { + include 'LICENSE', + 'ADDITIONAL_LICENSE_INFO', +diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle +index 598d658de..b99e94d83 100644 +--- a/installers/linux/al2/spec/build.gradle ++++ b/installers/linux/al2/spec/build.gradle +@@ -62,8 +62,8 @@ task inflateRpmSpec { + + task copySourceTar(type: Tar) { + dependsOn project.configurations.compile, inflateRpmSpec +- compression Compression.GZIP +- archiveName project.configurations.compile.singleFile.name ++ compression = Compression.GZIP ++ archiveFileName = project.configurations.compile.singleFile.name + from("$buildDir") { + include "java-${project.version.major}-amazon-corretto.spec" + into 'rpm' +@@ -121,8 +121,8 @@ task inflateRpmSpecModular { + + task copySourceTarModular(type: Tar) { + dependsOn project.configurations.compile, inflateRpmSpecModular +- compression Compression.GZIP +- archiveName project.configurations.compile.singleFile.name ++ compression = Compression.GZIP ++ archiveFileName = project.configurations.compile.singleFile.name + from("$buildDir") { + include "java-${project.version.major}-amazon-corretto-modular.spec" + into 'rpm' +diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle +index 4867205e5..0c850d15f 100644 +--- a/installers/linux/alpine/tar/build.gradle ++++ b/installers/linux/alpine/tar/build.gradle +@@ -143,9 +143,9 @@ task createTestImage(type: Exec) { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -155,9 +155,9 @@ task packageTestImage(type: Tar) { + + task packageDebugSymbols(type: Tar) { + dependsOn packageTestImage +- description 'Package debug symbols' +- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ description = 'Package debug symbols' ++ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -167,12 +167,12 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn bundleThirdPartyBinaries + dependsOn importAmazonCacerts +- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include 'ADDITIONAL_LICENSE_INFO' + include 'ASSEMBLY_EXCEPTION' +@@ -196,7 +196,7 @@ task packageBuildResults(type: Tar) { + // See https://github.com/corretto/corretto-11/issues/129 + from(jdkResultingImage) { + include 'legal/**' +- fileMode 0444 ++ fileMode = 0444 + } + into "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}" + } +diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle +index 565cd7c2b..f2cc09982 100644 +--- a/installers/linux/universal/deb/build.gradle ++++ b/installers/linux/universal/deb/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -57,22 +57,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo" + ospackage { + // Valid version must start with a digit and only contain [A-Za-z0-9.+:~-] + // See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- maintainer "${packageInfo.maintainer}" +- packageGroup 'java' +- priority 'optional' +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_deb +- multiArch SAME ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ maintainer = "${packageInfo.maintainer}" ++ packageGroup = 'java' ++ priority = 'optional' ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_deb ++ multiArch = SAME + } + + /** +@@ -129,13 +129,13 @@ task inflateJinfoTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkDeb(type: Deb) { +- description 'Create the DEB package for Corretto JDK' ++ description = 'Create the DEB package for Corretto JDK' + dependsOn inflateDebScriptTemplate + dependsOn inflateJinfoTemplate + +- packageName jdkPackageName +- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." +- summary "Amazon Corretto ${project.version.major} development environment" ++ packageName = jdkPackageName ++ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code." ++ summary = "Amazon Corretto ${project.version.major} development environment" + + postInstall file("$buildRoot/scripts/postin_jdk.sh") + preUninstall file("$buildRoot/scripts/preun_jdk.sh") +diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle +index c309c8ddb..346bcc21e 100644 +--- a/installers/linux/universal/rpm/build.gradle ++++ b/installers/linux/universal/rpm/build.gradle +@@ -20,7 +20,7 @@ + */ + + plugins { +- id 'nebula.ospackage' version 'latest.release' ++ id 'com.netflix.nebula.ospackage' version 'latest.release' + } + + dependencies { +@@ -51,20 +51,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}" + def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel" + + ospackage { +- version project.version.upstream +- release project.version.revision +- +- url "${packageInfo.url}" +- vendor "${packageInfo.vendor}" +- packager "${packageInfo.packager}" +- license "${packageInfo.license}" +- buildHost "${packageInfo.buildHost}" +- user 'root' +- permissionGroup 'root' +- epoch 1 +- arch arch_redline +- os LINUX +- type BINARY ++ version = project.version.upstream ++ release = project.version.revision ++ ++ url = "${packageInfo.url}" ++ vendor = "${packageInfo.vendor}" ++ packager = "${packageInfo.packager}" ++ license = "${packageInfo.license}" ++ buildHost = "${packageInfo.buildHost}" ++ user = 'root' ++ permissionGroup = 'root' ++ epoch = 1 ++ arch = arch_redline ++ os = LINUX ++ type = BINARY + } + + /** +@@ -101,14 +101,14 @@ task inflateRpmScriptTemplate(type: Copy) { + * distributions folder. + */ + task generateJdkRpm(type: Rpm) { +- description 'Create the RPM package for Corretto JDK' ++ description = 'Create the RPM package for Corretto JDK' + dependsOn inflateRpmScriptTemplate +- packageName jdkPackageName +- packageDescription packageInfo.description +- summary "Amazon Corretto ${project.version.major} development environment" +- packageGroup 'Development/Tools' ++ packageName = jdkPackageName ++ packageDescription = packageInfo.description ++ summary = "Amazon Corretto ${project.version.major} development environment" ++ packageGroup = 'Development/Tools' + // Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released +- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" ++ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm" + + prefix(jdkHome) + postInstall file("$buildRoot/scripts/postin_java.sh") +diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle +index 72236d92c..e825a7594 100644 +--- a/installers/linux/universal/tar/build.gradle ++++ b/installers/linux/universal/tar/build.gradle +@@ -85,7 +85,7 @@ task copySource(type: Exec) { + "${project.rootDir}/", buildRoot + } + +-/** ++/** + * Scan the patches folder for any .patch that needs + * to be applied before start building. + */ +@@ -106,7 +106,7 @@ task configureBuild(type: Exec) { + workingDir "$buildRoot" + + def isArmv7 = project.hasProperty("armv7") ? Boolean.valueOf("${project.getProperty('armv7')}") : false +- def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system" ++ def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system" + + // Platform specific flags + def command = ['bash', 'configure', +@@ -156,9 +156,9 @@ task createTestImage(type: Exec) { + + task packageTestImage(type: Tar) { + dependsOn createTestImage +- description 'Package test results' +- archiveName "${project.correttoTestImageArchiveName}.tar.gz" +- compression Compression.GZIP ++ description = 'Package test results' ++ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(testResultingImage) { + include '**' + } +@@ -166,10 +166,10 @@ task packageTestImage(type: Tar) { + } + + task packageDebugSymbols(type: Tar) { +- description 'Package debug results' ++ description = 'Package debug results' + dependsOn packageTestImage +- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(jdkResultingImage) { + include 'bin/*.diz' + include 'lib/*.diz' +@@ -179,11 +179,11 @@ task packageDebugSymbols(type: Tar) { + } + + task packageBuildResults(type: Tar) { +- description 'Compresses the JDK image and puts the results in build/distributions.' ++ description = 'Compresses the JDK image and puts the results in build/distributions.' + dependsOn packageDebugSymbols + dependsOn bundleThirdPartyBinaries +- archiveName "${project.correttoJdkArchiveName}.tar.gz" +- compression Compression.GZIP ++ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz" ++ compression = Compression.GZIP + from(buildRoot) { + include 'ADDITIONAL_LICENSE_INFO' + include 'ASSEMBLY_EXCEPTION' +@@ -209,7 +209,7 @@ task packageBuildResults(type: Tar) { + // See https://github.com/corretto/corretto-11/issues/129 + from("${jdkResultingImage}/legal") { + include '**' +- fileMode 0444 ++ fileMode = 0444 + into "${project.correttoJdkArchiveName}/legal" + } + } From a3d19bfcb025e41bcf7e7efd0ae366c14bb22f83 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 10 Nov 2025 07:31:29 +0000 Subject: [PATCH 005/332] kubectl-explore: 0.14.0 -> 0.14.1 --- pkgs/by-name/ku/kubectl-explore/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ku/kubectl-explore/package.nix b/pkgs/by-name/ku/kubectl-explore/package.nix index 9f980706dcd5..5008e98ae61a 100644 --- a/pkgs/by-name/ku/kubectl-explore/package.nix +++ b/pkgs/by-name/ku/kubectl-explore/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "kubectl-explore"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "keisku"; repo = "kubectl-explore"; rev = "v${version}"; - hash = "sha256-URpoIK+5MgBvCtXyZrqwU7cVubCICkAsmfS9w/8Jgks="; + hash = "sha256-sWVNDXbGaqVEWkHnZbHy9W4lFH8N/aULIzBJLGSXCjs="; }; vendorHash = "sha256-TgC8IgB9E83FBP9qrgcqPesnOyOTA5u3AsXn32kaMnU="; From 0d876f62c41693c963226176d67640378ca62356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Mon, 8 Sep 2025 11:38:30 +0200 Subject: [PATCH 006/332] docs: gitlab-runner with example --- nixos/doc/manual/redirects.json | 3 + nixos/modules/module-list.nix | 2 +- .../example/get-podman-config-files.nix | 24 ++ .../example/runner-prebuild-script.nix | 84 +++++ .../gitlab-runner/example/runner.nix | 311 ++++++++++++++++++ .../gitlab-runner/runner.md | 72 ++++ .../runner.nix} | 0 nixos/modules/services/misc/gitlab.md | 8 + 8 files changed, 503 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix create mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix create mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix create mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/runner.md rename nixos/modules/services/continuous-integration/{gitlab-runner.nix => gitlab-runner/runner.nix} (100%) diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index e7a60706ecfe..1add75cd1335 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -38,6 +38,9 @@ "module-boot-plymouth-tpm2-totp-quick-start-enable": [ "index.html#module-boot-plymouth-tpm2-totp-quick-start-enable" ], + "module-service-gitlab-runner": [ + "index.html#module-service-gitlab-runner#module-service-gitlab-runner" + ], "sec-override-nixos-test": [ "index.html#sec-override-nixos-test" ], diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 196871d14b22..47200a3863c7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -499,7 +499,7 @@ ./services/continuous-integration/buildkite-agents.nix ./services/continuous-integration/gitea-actions-runner.nix ./services/continuous-integration/github-runners.nix - ./services/continuous-integration/gitlab-runner.nix + ./services/continuous-integration/gitlab-runner/runner.nix ./services/continuous-integration/gocd-agent/default.nix ./services/continuous-integration/gocd-server/default.nix ./services/continuous-integration/hercules-ci-agent/default.nix diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix new file mode 100644 index 000000000000..62422dd874b9 --- /dev/null +++ b/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix @@ -0,0 +1,24 @@ +let + pkgs = ((import ) { overlays = [ ]; }); + lib = pkgs.lib; + dir = builtins.toString ./.; +in +pkgs.writeShellScriptBin "get-podman-config-files" '' + dir="''${1:-${dir}}" + mkdir -p "$dir/root/etc" "$dir/root/run" + podmanExe="${lib.getExe pkgs.podman}" + + function cleanup() { + true + "$podmanExe" container kill temp-buildah &>/dev/null || true + "$podmanExe" container rm temp-buildah &>/dev/null || true + } + trap cleanup EXIT + cleanup + + ${lib.getExe pkgs.podman} run -d --name temp-buildah 'quay.io/buildah/stable:latest' + echo "Writing files to '$dir/root/etc' ..." + + "$podmanExe" cp temp-buildah:/etc/containers "$dir/root/etc/" + ${pkgs.findutils}/bin/find "$dir/root" -type d -empty -delete +'' diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix new file mode 100644 index 000000000000..e5cc500b8426 --- /dev/null +++ b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix @@ -0,0 +1,84 @@ +{ writeShellScriptBin, nix }: +writeShellScriptBin "gitlab-runner-pre-build-script" + # bash + '' + set -e + set -u + + function section_start() { + local name="$1" + shift + echo -e "\e[0Ksection_start:$(date +%s):$name[collapsed=true]\r\e[0K$*" + } + + function section_end() { + local name="$1" + echo -e "\e[0Ksection_end:$(date +%s):$name\r\e[0K" + } + + function setup_nixos() { + # We need to allow modification of nix config for cachix as + # otherwise it is link to the read only file in the store. + cp --remove-destination \ + "$(readlink -f /etc/nix/nix.conf)" /etc/nix/nix.conf + + # shellcheck disable=SC1091 + . "${nix}/etc/profile.d/nix-daemon.sh" + } + + function setup_non_nixos() { + # shellcheck disable=SC2174 + { + echo "Set missing '/nix/var' directories." + mkdir -p -m 0755 /nix/var/log/nix/drvs + mkdir -p -m 0755 /nix/var/nix/gcroots + mkdir -p -m 0755 /nix/var/nix/profiles + mkdir -p -m 0755 /nix/var/nix/temproots + mkdir -p -m 0755 /nix/var/nix/userpool + mkdir -p -m 1777 /nix/var/nix/gcroots/per-user + mkdir -p -m 1777 /nix/var/nix/profiles/per-user + mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root + + echo "Set missing '~/.nix-defexpr'." + mkdir -p -m 0700 ~/.nix-defexpr + } + + echo "Source 'nix-daemon.sh'." + # shellcheck disable=SC1091 + . "${nix}/etc/profile.d/nix-daemon.sh" + + echo "Set nix experimental features." + mkdir -p ~/.config/nix + touch ~/.config/nix/nix.conf + echo "experimental-features = nix-command flakes" >>~/.config/nix/nix.conf + } + + function setup_pipeline_scratch_dir() { + scratch_dir="/scratch/$CI_PIPELINE_ID" + + echo "Create scrtach directory for pipeline: $scratch_dir" + mkdir -p "$scratch_dir" || { + echo "Could not create scratch dir '$scratch_dir'." >&2 + exit 1 + } + + export CI_CUSTODIAN_SCRATCH_DIR="$scratch_dir" + } + + function main() { + if [ "$IMAGE_OS_DIST" = "ubuntu" ] || [ "$IMAGE_OS_DIST" = "alpine" ]; then + setup_non_nixos + elif [ "$IMAGE_OS_DIST" = "nixos" ]; then + setup_nixos + else + echo "OS not implemented." + exit 1 + fi + + setup_pipeline_scratch_dir + } + + section_start gitlab-runner-prebuild "Gitlab-Runner PreBuild Script" + main "$@" + section_end gitlab-runner-prebuild + '' diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix new file mode 100644 index 000000000000..8cc57c6acbbb --- /dev/null +++ b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix @@ -0,0 +1,311 @@ +{ + lib, + pkgs, + ... +}: +let + fs = lib.fileset; + + # Get the repository for Nix for building the Nix image. + nix = builtins.fetchGit { + url = "https://github.com/NixOS/nix.git"; + ref = "master"; + }; + + # Either we use a Nix as the base image or Alpine. + jobImageNames = { + default = jobImageNames.alpine; + + nix = "local/nix"; + alpine = "local/alpine"; + ubuntu = "local/ubuntu"; + + all = with jobImageNames; [ + alpine + nix + ubuntu + ]; + }; + + noPruneLabels = { + no-prune = "true"; + }; + + # This derivation will contain a folder `/etc` + # If its added to `contents` all files in the + # derivation will be symlinked in `/`. + # NOTE: You need to run `nix run -f get-podman-config-files.nix` + auxRootFiles = fs.toSource { + root = ./root; + fileset = fs.gitTracked ./root/etc; + }; + + # The prebuild script which is run before every job. + preBuildScript = pkgs.callPackage ./scripts/runner-prebuild-script.nix { }; + + # Bootstrap packages which should always be in the `/nix/store`. + bootstrapPkgs = [ + pkgs.nix + pkgs.cacert + (lib.hiPrio pkgs.coreutils) + pkgs.findutils + (lib.hiPrio pkgs.git) + pkgs.openssh + pkgs.bash + ]; + + toEnvList = envs: lib.mapAttrsToList (k: v: "${k}=${v}") envs; + + # This is the Nix base image. + nixImageBase = pkgs.callPackage (import (nix.outPath + "/docker.nix")) { + name = "local/nix-base"; + tag = "latest"; + + bundleNixpkgs = false; + maxLayers = 2; + + # You can add here a user with uid,gid,uname,gname etc. + # We are using root. + + # The Nix store needs all packages which we have as content + # packages in the base images. + # The Nix store is mounted into the base image. + extraPkgs = bootstrapPkgs; + + nixConf = { + cores = "0"; + experimental-features = [ + "nix-command" + "flakes" + ]; + }; + }; + + # This is the daemon image which provides the store as volumes. + nixDaemonImage = pkgs.dockerTools.buildLayeredImage { + fromImage = nixImageBase; + name = "local/nix-daemon"; + tag = "latest"; + + contents = [ auxRootFiles ]; + + config = { + Volumes = { + "/nix/store" = { }; + "/nix/var/nix/db" = { }; + "/nix/var/nix/daemon-socket" = { }; + }; + Labels = noPruneLabels; + }; + maxLayers = 5; + }; + + jobImages = { + # The Nix base image for jobs. + nix = pkgs.dockerTools.buildLayeredImage { + fromImage = nixImageBase; + name = jobImageNames.nix; + tag = "latest"; + + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.nix; + }; + maxLayers = 4; + }; + + # The Alpine base image for jobs. + # This is the analog image to `local/nix` but alpine based. + alpine = ( + let + # Update with: + # `shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ + # --image-name alpine --image-tag latest + # ` + alpineBase = pkgs.dockerTools.pullImage { + imageName = "alpine"; + imageDigest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1"; + hash = "sha256-1Af8p6cYQs8sxlowz4BC6lC9eAOpNWYnIhCN7BSDKL0="; + finalImageName = "alpine"; + finalImageTag = "latest"; + }; + in + pkgs.dockerTools.buildLayeredImage { + fromImage = alpineBase; + name = jobImageNames.alpine; + tag = "latest"; + + # We need these packages in the container, to create the symlinks + # TODO: How to only keep the symlink and strip everything from /nix/store + # because it anyway gets overmounted. + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.alpine; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 15; + } + ); + + # This is the analog image to `local/nix` but ubuntu based. + ubuntu = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ + # --image-name ubuntu --image-tag latest + # ``` + ubuntuBase = pkgs.dockerTools.pullImage { + imageName = "ubuntu"; + imageDigest = "sha256:9cbed754112939e914291337b5e554b07ad7c392491dba6daf25eef1332a22e8"; + hash = "sha256-h9nSeiUrM6quWG0fpl1gH2vw2Jvh7k0yfapvcoIQ4rc="; + finalImageName = "ubuntu"; + finalImageTag = "latest"; + }; + in + (pkgs.dockerTools.buildLayeredImage { + fromImage = ubuntuBase; + name = jobImageNames.ubuntu; + tag = "latest"; + + # We need these packages in the container, to create the symlinks in `/bin/...`. + # TODO: How to only keep the symlink and strip everything from /nix/store + # because it anyway gets overmounted. + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.ubuntu; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 15; + }); + }; + + # The daemon container. + nixDaemonContainer = { + imageFile = nixDaemonImage; + image = "local/nix-daemon:latest"; + # I cannot denote these volumes because they overmount the + # shit which is in the image. + # TODO: make a systemd service which starts before + # that and creates some volumes and inits these from the image. + # volumes = [ + # "nix-daemon-store:/nix/store" + # "nix-daemon-db:/nix/var/nix/db" + # "nix-daemon-socket:/nix/var/nix/daemon-socket" + # ]; + cmd = [ + "nix" + "daemon" + ]; + }; + + # Environment variables for the containers. + envs = rec { + nix = { + IMAGE_OS_DIST = "nixos"; + NIX_REMOTE = "daemon"; + }; + + alpine = { + IMAGE_OS_DIST = "alpine"; + + NIX_REMOTE = "daemon"; + USER = "root"; + PATH = "/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin"; + SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + }; + + ubuntu = alpine // { + IMAGE_OS_DIST = "ubuntu"; + }; + }; + + registrationFlags = [ + "--docker-volumes" + "gitlab-runner-cache:/scratch" + "--docker-volumes-from" + "nix-daemon-container:ro" + + "--docker-pull-policy" + "if-not-present" + + "--docker-allowed-pull-policies" + "if-not-present" + + "--docker-host" + "unix:///var/run/podman/podman.sock" + + "--docker-network-mode" + "host" + ]; + +in +{ + # Common containers settings. + virtualisation.containers.storage.settings = { + storage = { + driver = "overlay"; + graphroot = "/var/lib/containers/storage"; + runroot = "/run/containers/storage"; + + options.overlay = { + mountopt = "nodev,metacopy=on"; + }; + }; + }; + + # Common OCI container which should run. + virtualisation.oci-containers = { + backend = "podman"; + containers = + { + nix-daemon-container = nixDaemonContainer; + } + // + # Workaround to add the job images to the registry. + lib.concatMapAttrs (name: image: { + "${name}-container" = { + imageFile = jobImages.${name}; + image = "${jobImageNames.${name}}:latest"; + cmd = [ "true" ]; + }; + }) jobImages; + }; + + # Define the Gitlab Runner. + services.gitlab-runner = { + enable = true; + + settings = { + log_level = "info"; + concurrent = 32; + check_interval = 2; + }; + + gracefulTermination = false; + + services.nix-runner = { + description = "Nix Runner (NixOS)"; + inherit registrationFlags; + authenticationTokenConfigFile = "/run/secrets/gitlab-runner/nix-runner-token.env"; + + executor = "docker"; + dockerImage = jobImageNames.default; + dockerAllowedImages = [ ]; + dockerPrivileged = false; + requestConcurrency = 4; + + preBuildScript = "${preBuildScript}/bin/gitlab-runner-pre-build-script"; + }; + }; +} diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md new file mode 100644 index 000000000000..01e0fbb522e6 --- /dev/null +++ b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md @@ -0,0 +1,72 @@ +# GitLab Runner {#module-services-gitlab-runner} + +GitLab Runner is a CI runner which is an executable which you can host yourself. +A Gitlab pipeline runs operations over a Gitlab Runner. These can include +building an executable, running a test suite, pushing a docker image, etc. The +Gitlab Runner receives jobs from Gitlab which it then dispatches to the +configured executors +([`docker` (`podman`), or `shell` or `kubernetes`](https://docs.gitlab.com/runner/executors)). + +The +[services.gitlab-runner.services](https://search.nixos.org/options?query=services.gitlab-runner.services) +documents a number of typical setups to configure multiple runners with +different executors. The [below example](#ex-gitlab-runner-podman) gives a **more elaborate** example how to +configure a Gitlab Runner with caching and reasonably good security practices. + +::: {#ex-gitlab-runner-podman .example} + +## Example Gitlab Runner with `podman` and Nix Store Caching + +The [example](./runner.nix) configures a Gitlab Runner with the following +features: + +- The executor is `podman` which gives you better additional safety than + `docker`. That means every job is run in a `podman` container. + +- The following container **images** are built with Nix: + + **For Gitlab Jobs**: + + - an image based on Ubuntu (name: `local/alpine`) with a Nix installation used + for job execution (variable `alpineImage`). + - an image based on Alpine (name: `local/ubuntu`) with a Nix installation used + for job execution (variable `ubuntuImage`). + - an image based on Nix (name: `local/nix`) which only comes with `nix` + installed. used for job execution (variable `nixImage`). + + **For Setup** + + - an image with (name: `local/nix-daemon-image`) with a Nix daemon which is + used to share the `/nix/store` across jobs (variable `nixDaemonImage`). + +- Every job container runs in a `podman` container instance based by default on + `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. + + - Each job containers will have the `/nix/store` mounted from a container + `nix-daemon-container` (see registration flags + `--docker-volumes-from "nix-daemon-container:ro"`). + + The `nix-daemon-container` is a single container instance of a + `nixDaemonImage`. This enables caching of `/nix/store` paths across all jobs + in all runners. This makes **the host VM's `/nix/store` independent of the + Nix store used in the jobs**, which is good. + + **Security:** If you don't want this you need multiple `nixDaemonImage` + containers for each runner. + + - The job containers do **not** mount the `podman` socket from the host (NixOS + VM) mounted for security reasons. + + **Note:**: One can still build container images with `buildah` (stripped + `podman` for building images) inside a job which runs `alpineImage`. + +### Prerequisites + +To make `buildah` (and also `podman`) work inside `local/alpine` and +`local/unbuntu` one needs some `podman` configuration files to place in `/etc` +folders in the container images. Get the files with +`nix run -f ./example/get-podman-config-files.nix` (see +[script](./example/get-podman-config-files.nix)). which will create a `root` +folder which is copied in the example into the images. + +::: diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix similarity index 100% rename from nixos/modules/services/continuous-integration/gitlab-runner.nix rename to nixos/modules/services/continuous-integration/gitlab-runner/runner.nix diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index 60c0e9310acd..5fbb66cf100b 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -10,6 +10,7 @@ configure a webserver to proxy HTTP requests to the socket. For instance, the following configuration could be used to use nginx as frontend proxy: + ```nix { services.nginx = { @@ -40,6 +41,7 @@ The default state dir is `/var/gitlab/state`. This is where all data like the repositories and uploads will be stored. A basic configuration with some custom settings could look like this: + ```nix { services.gitlab = { @@ -104,6 +106,7 @@ the [services.gitlab.backup.startAt](#opt-services.gitlab.backup.startAt) option to configure regular backups. To run a manual backup, start the `gitlab-backup` service: + ```ShellSession $ systemctl start gitlab-backup.service ``` @@ -116,6 +119,11 @@ will have to run the command as the user that you configured to run GitLab with. A list of all available rake tasks can be obtained by running: + ```ShellSession $ sudo -u git -H gitlab-rake -T ``` + +## Runner {#module-service-gitlab-runner} + +See [section](#module-services-gitlab-runner). From 2122a44a7b98af67db65353f0f40477aad4a641d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 16 Nov 2025 13:35:08 +0100 Subject: [PATCH 007/332] fix: add VM test for `serivces.gitlab-runner` - Put all tests into `gitlab` folder. - Add test for `gitlab-runner` service: - Add runner `shell-executor`. --- .../gitlab-runner/example/runner.nix | 9 +- nixos/tests/all-tests.nix | 4 +- nixos/tests/gitlab/default.nix | 5 + nixos/tests/{ => gitlab}/gitlab.nix | 0 nixos/tests/gitlab/runner.nix | 184 ++++++++++++++++++ 5 files changed, 196 insertions(+), 6 deletions(-) create mode 100644 nixos/tests/gitlab/default.nix rename nixos/tests/{ => gitlab}/gitlab.nix (100%) create mode 100644 nixos/tests/gitlab/runner.nix diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix index 8cc57c6acbbb..476a13701031 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix @@ -267,11 +267,10 @@ in # Common OCI container which should run. virtualisation.oci-containers = { backend = "podman"; - containers = - { - nix-daemon-container = nixDaemonContainer; - } - // + containers = { + nix-daemon-container = nixDaemonContainer; + } + // # Workaround to add the job images to the registry. lib.concatMapAttrs (name: image: { "${name}-container" = { diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 943b72ec614f..17c749cc45be 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -642,7 +642,9 @@ in gitdaemon = runTest ./gitdaemon.nix; gitea = handleTest ./gitea.nix { giteaPackage = pkgs.gitea; }; github-runner = runTest ./github-runner.nix; - gitlab = runTest ./gitlab.nix; + gitlab = import ./gitlab/default.nix { + inherit runTest; + }; gitolite = runTest ./gitolite.nix; gitolite-fcgiwrap = runTest ./gitolite-fcgiwrap.nix; glance = runTest ./glance.nix; diff --git a/nixos/tests/gitlab/default.nix b/nixos/tests/gitlab/default.nix new file mode 100644 index 000000000000..0e8841e95187 --- /dev/null +++ b/nixos/tests/gitlab/default.nix @@ -0,0 +1,5 @@ +{ runTest }: +{ + gitlab = runTest ./gitlab.nix; + runner = runTest ./runner.nix; +} diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab/gitlab.nix similarity index 100% rename from nixos/tests/gitlab.nix rename to nixos/tests/gitlab/gitlab.nix diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix new file mode 100644 index 000000000000..2d59853321c7 --- /dev/null +++ b/nixos/tests/gitlab/runner.nix @@ -0,0 +1,184 @@ +{ + pkgs, + lib, + ... +}: + +let + initialRootPassword = "notproduction"; + runnerTokenFile = "/run/secrets/gitlab-runner/token.env"; +in +{ + name = "gitlab-runner"; + meta.maintainers = with lib.maintainers; [ + gabyx + ]; + + nodes = { + gitlab-runner = + { ... }: + { + # Define the Gitlab Runner. + services.gitlab-runner = { + enable = true; + + services.nix-runner = { + description = "NixOS Shell Executor"; + authenticationTokenConfigFile = runnerTokenFile; + executor = "shell"; + }; + + settings = { + log_level = "info"; + }; + + gracefulTermination = false; + }; + }; + gitlab = + { config, ... }: + { + + imports = [ ../common/user-account.nix ]; + + networking.firewall.allowedTCPPorts = [ + config.services.nginx.defaultHTTPListenPort + ]; + + environment.systemPackages = with pkgs; [ git ]; + + virtualisation.memorySize = 6144; + virtualisation.cores = 4; + # virtualisation.useNixStoreImage = true; + + systemd.services.gitlab.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitlab-workhorse.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitaly.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitlab-sidekiq.serviceConfig.Restart = lib.mkForce "no"; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts = { + localhost = { + locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket"; + }; + }; + }; + + services.gitlab = { + enable = true; + databasePasswordFile = pkgs.writeText "dbPassword" "xo0daiF4"; + initialRootPasswordFile = pkgs.writeText "rootPassword" initialRootPassword; + secrets = { + secretFile = pkgs.writeText "secret" "Aig5zaic"; + otpFile = pkgs.writeText "otpsecret" "Riew9mue"; + dbFile = pkgs.writeText "dbsecret" "we2quaeZ"; + jwsFile = pkgs.runCommand "oidcKeyBase" { } "${pkgs.openssl}/bin/openssl genrsa 2048 > $out"; + activeRecordPrimaryKeyFile = pkgs.writeText "arprimary" "vsaYPZjTRxcbG7W6gNr95AwBmzFUd4Eu"; + activeRecordDeterministicKeyFile = pkgs.writeText "ardeterministic" "kQarv9wb2JVP7XzLTh5f6DFcMHms4nEC"; + activeRecordSaltFile = pkgs.writeText "arsalt" "QkgR9CfFU3MXEWGqa7LbP24AntK5ZeYw"; + }; + + # reduce memory usage + sidekiq.concurrency = 1; + puma.workers = 2; + }; + }; + }; + + testScript = + { nodes, ... }: + let + auth = pkgs.writeText "auth.json" ( + builtins.toJSON { + grant_type = "password"; + username = "root"; + password = initialRootPassword; + } + ); + + runnerTokenTmpl = pkgs.writeText "runner-token.env" '' + CI_SERVER_URL=http://gitlab + CI_SERVER_TOKEN=$token + ''; + + createRunner = pkgs.writeText "create-runner.json" ( + builtins.toJSON { + runner_type = "instance_type"; + } + ); + + # Wait for all GitLab services to be fully started. + waitForServices = '' + gitlab.wait_for_unit("gitaly.service") + gitlab.wait_for_unit("gitlab-workhorse.service") + gitlab.wait_for_unit("gitlab.service") + gitlab.wait_for_unit("gitlab-sidekiq.service") + gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/tmp/sockets/gitlab.socket") + gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in") + ''; + in + # python + '' + start_all() + '' + + waitForServices + + + # python + '' + import os + import json + from pathlib import Path + from string import Template + + gitlab.succeed("cp /var/gitlab/state/config/secrets.yml /root/gitlab-secrets.yml") + + gitlab.succeed( + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" + ) + + gitlab.copy_from_vm("/tmp/headers") + out_dir = os.environ.get("out", os.getcwd()) + gitlab_runner.copy_from_host(str(Path(out_dir, "headers")), "/tmp/headers") + + # Test connection. + gitlab_runner.succeed("curl -v -H @/tmp/headers http://gitlab/api/v4/version") + + # Create runner. + resp = gitlab.execute(""" + curl -s -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + -d @${createRunner} \ + http://gitlab/api/v4/user/runners + """)[1] + runnerObj = json.loads(resp) + runnerID = runnerObj["id"] + token = runnerObj["token"] + + # Push the token to the runner machine. + tokenF = Path(out_dir, "token.env") + with open("${runnerTokenTmpl}", "r") as f: + tokenData = Template(f.read()).substitute({"token": token}) + with open(tokenF, "w") as w: + w.write(tokenData) + + gitlab_runner.copy_from_host(str(tokenF), "${runnerTokenFile}") + + # Restart the runner to pick up the token. + gitlab_runner.systemctl("restart gitlab-runner.service") + gitlab_runner.wait_for_unit("gitlab-runner.service") + + resp = gitlab.execute(f""" + curl -s -X GET \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + http://gitlab/api/v4/runners/{runnerID} + """)[1] + runnerStatus = json.loads(resp) + + if not runnerStatus["active"]: + raise Exception(f"Runner status is not active: {resp}") + ''; +} From 79f9692e37b4bc578b1f62cc6441368f3220757b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 16 Nov 2025 22:13:26 +0100 Subject: [PATCH 008/332] chore: correct some documentation and add runner refactoring --- nixos/tests/gitlab/gitlab.nix | 2 +- nixos/tests/gitlab/runner.nix | 26 +++++++++++++++----- nixos/tests/gitlab/runner/shell-executor.nix | 10 ++++++++ 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 nixos/tests/gitlab/runner/shell-executor.nix diff --git a/nixos/tests/gitlab/gitlab.nix b/nixos/tests/gitlab/gitlab.nix index ce2edac32386..ccf4b3216cff 100644 --- a/nixos/tests/gitlab/gitlab.nix +++ b/nixos/tests/gitlab/gitlab.nix @@ -7,7 +7,7 @@ # - Opening and closing issues. # - Downloading repository archives as tar.gz and tar.bz2 # Run with -# [nixpkgs]$ nix-build -A nixosTests.gitlab +# [nixpkgs]$ nix-build -A nixosTests.gitlab.gitlab { pkgs, lib, ... }: diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 2d59853321c7..9f4d5588c4f6 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -1,3 +1,15 @@ +# This test runs a gitlab-runner and performs the following tests in +# two machines `gitlab` and `gitlab-runner`: +# - Create runners in the `gitlab` machine for all runners in `./runner`. +# - Inject the runner tokens into the `gitlab-runner.service` (machine `gitlab-runner`) +# which runs all executors: +# - Shell Executor in `./runner/shell-executor`. +# - Start the `gitlab-runner.service`. +# - Check that all runners in `gitlab` are `active`. +# +# Run with +# [nixpkgs]$ nix-build -A nixosTests.gitlab.runner + { pkgs, lib, @@ -16,18 +28,21 @@ in nodes = { gitlab-runner = - { ... }: + { config, lib, ... }: { # Define the Gitlab Runner. services.gitlab-runner = { enable = true; - services.nix-runner = { - description = "NixOS Shell Executor"; - authenticationTokenConfigFile = runnerTokenFile; - executor = "shell"; + services.shell-executor = import ./runner/shell-executor.nix { + inherit config lib runnerTokenFile; }; + # TODO: Add here the container executor (podman, nixDaemon etc) + # services.container-executor = import ./runner/container-executor.nix { + # inherit config lib runnerTokenFile; + # }; + settings = { log_level = "info"; }; @@ -49,7 +64,6 @@ in virtualisation.memorySize = 6144; virtualisation.cores = 4; - # virtualisation.useNixStoreImage = true; systemd.services.gitlab.serviceConfig.Restart = lib.mkForce "no"; systemd.services.gitlab-workhorse.serviceConfig.Restart = lib.mkForce "no"; diff --git a/nixos/tests/gitlab/runner/shell-executor.nix b/nixos/tests/gitlab/runner/shell-executor.nix new file mode 100644 index 000000000000..1379e0d9f8e3 --- /dev/null +++ b/nixos/tests/gitlab/runner/shell-executor.nix @@ -0,0 +1,10 @@ +{ + config, + lib, + runnerTokenFile, +}: +{ + description = "NixOS Shell Executor"; + authenticationTokenConfigFile = runnerTokenFile; + executor = "shell"; +} From 57665ba763e759404fb75394f2aaeade4e1e1b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 20 Nov 2025 07:58:29 +0100 Subject: [PATCH 009/332] fix: refactor for more runner tests --- nixos/tests/gitlab/runner.nix | 182 +++++++++++++------ nixos/tests/gitlab/runner/shell-executor.nix | 10 +- 2 files changed, 128 insertions(+), 64 deletions(-) diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 9f4d5588c4f6..27eb42b44c9d 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -18,7 +18,29 @@ let initialRootPassword = "notproduction"; - runnerTokenFile = "/run/secrets/gitlab-runner/token.env"; + + runnerTokenDir = "/run/secrets/gitlab-runner"; + + runnerConfigs = { + # The Gitlab runner where each job runs + # on the host (not containerized and very insecure). + "shell" = { + desc = "Shell Executor (host NixOS shell, host Nix store)"; + name = "shell"; + tokenFile = "${runnerTokenDir}/token-shell.env"; + }; + + # The Gitlab runner which uses the Docker executor (we use podman). + # Features: + # - Daemonizes the Nix store into a container. + # - All jobs run in an unprivileged container, e.g. with image + # (`local/nix`, `local/alpine`, `local/ubuntu`) + "podman" = { + desc = "Podman Executor (containers, shared containerized Nix store)"; + name = "podman"; + tokenFile = "${runnerTokenDir}/token-podman.env"; + }; + }; in { name = "gitlab-runner"; @@ -35,7 +57,7 @@ in enable = true; services.shell-executor = import ./runner/shell-executor.nix { - inherit config lib runnerTokenFile; + runnerConfig = runnerConfigs.shell; }; # TODO: Add here the container executor (podman, nixDaemon etc) @@ -132,67 +154,109 @@ in gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/tmp/sockets/gitlab.socket") gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in") ''; + + testSetup = + # python + '' + import os + import json + from pathlib import Path + from string import Template + from dataclasses import dataclass + + print("==> Getting secrets and headers.") + gitlab.succeed("cp /var/gitlab/state/config/secrets.yml /root/gitlab-secrets.yml") + + gitlab.succeed( + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" + ) + + gitlab.copy_from_vm("/tmp/headers") + out_dir = os.environ.get("out", os.getcwd()) + gitlab_runner.copy_from_host(str(Path(out_dir, "headers")), "/tmp/headers") + + print("==> Testing connection.") + gitlab_runner.succeed("curl -v -H @/tmp/headers http://gitlab/api/v4/version") + + # Runner config data. + @dataclass + class Runner: + name: str + desc: str + tokenFile: str + + id: str + token: str + + runnerConfigs: dict[str, Runner] = {} + ''; + + testRegisterRunner = + runnerConfig: + # python + '' + r = Runner(name="${runnerConfig.name}", + desc="${runnerConfig.desc}", + tokenFile="${runnerConfig.tokenFile}", + token="", + id="") + runnerConfigs[r.name] = r + + print(f"==> Create Runner '{r.name}'") + resp = gitlab.execute(""" + curl -s -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + -d @${createRunner} \ + http://gitlab/api/v4/user/runners + """)[1] + obj = json.loads(resp) + r.id = obj["id"] + r.token = obj["token"] + + # Push the token to the runner machine. + print("==> Push runner token to machine.") + tokenF = Path(out_dir, f"token-{r.name}.env") + with open("${runnerTokenTmpl}", "r") as f: + tokenData = Template(f.read()).substitute({"token": token}) + with open(tokenF, "w") as w: + w.write(tokenData) + gitlab_runner.copy_from_host(str(tokenF), r.tokenFile) + ''; + + restartRunnerService = + # python + '' + print("==> Restart Gitlab Runner") + gitlab_runner.systemctl("restart gitlab-runner.service") + gitlab_runner.wait_for_unit("gitlab-runner.service") + ''; + + testRunnerConnected = + runnerConfig: + # python + '' + r = runnerConfigs["${runnerConfig.name}"] + + resp = gitlab.execute(f""" + curl -s -X GET \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + http://gitlab/api/v4/runners/{r.id} + """)[1] + runnerStatus = json.loads(resp) + + if not runnerStatus["active"]: + raise Exception(f"Runner '{r.name}' [id: '{r.id}'] status is not active: {resp}") + ''; in # python '' start_all() '' + waitForServices - + - # python - '' - import os - import json - from pathlib import Path - from string import Template - - gitlab.succeed("cp /var/gitlab/state/config/secrets.yml /root/gitlab-secrets.yml") - - gitlab.succeed( - "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" - ) - - gitlab.copy_from_vm("/tmp/headers") - out_dir = os.environ.get("out", os.getcwd()) - gitlab_runner.copy_from_host(str(Path(out_dir, "headers")), "/tmp/headers") - - # Test connection. - gitlab_runner.succeed("curl -v -H @/tmp/headers http://gitlab/api/v4/version") - - # Create runner. - resp = gitlab.execute(""" - curl -s -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers \ - -d @${createRunner} \ - http://gitlab/api/v4/user/runners - """)[1] - runnerObj = json.loads(resp) - runnerID = runnerObj["id"] - token = runnerObj["token"] - - # Push the token to the runner machine. - tokenF = Path(out_dir, "token.env") - with open("${runnerTokenTmpl}", "r") as f: - tokenData = Template(f.read()).substitute({"token": token}) - with open(tokenF, "w") as w: - w.write(tokenData) - - gitlab_runner.copy_from_host(str(tokenF), "${runnerTokenFile}") - - # Restart the runner to pick up the token. - gitlab_runner.systemctl("restart gitlab-runner.service") - gitlab_runner.wait_for_unit("gitlab-runner.service") - - resp = gitlab.execute(f""" - curl -s -X GET \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers \ - http://gitlab/api/v4/runners/{runnerID} - """)[1] - runnerStatus = json.loads(resp) - - if not runnerStatus["active"]: - raise Exception(f"Runner status is not active: {resp}") - ''; + + testSetup + + (testRegisterRunner runnerConfigs.shell) + + restartRunnerService + + (testRunnerConnected runnerConfigs.shell); } diff --git a/nixos/tests/gitlab/runner/shell-executor.nix b/nixos/tests/gitlab/runner/shell-executor.nix index 1379e0d9f8e3..b68975a12896 100644 --- a/nixos/tests/gitlab/runner/shell-executor.nix +++ b/nixos/tests/gitlab/runner/shell-executor.nix @@ -1,10 +1,10 @@ { - config, - lib, - runnerTokenFile, + runnerConfig, }: +# This is the runner config for the `nixosConfiguration.services.gitlab-runner.services.X` { - description = "NixOS Shell Executor"; - authenticationTokenConfigFile = runnerTokenFile; + description = runnerConfig.desc; + authenticationTokenConfigFile = runnerConfig.tokenFile; + executor = "shell"; } From f8dc4e3c29a1b3a416afc4b263f1fa451ffcf873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 20 Nov 2025 08:56:12 +0100 Subject: [PATCH 010/332] fix: refactor into python script --- nixos/tests/gitlab/runner.nix | 134 +++++----------------------- nixos/tests/gitlab/runner_test.py | 140 ++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+), 114 deletions(-) create mode 100644 nixos/tests/gitlab/runner_test.py diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 27eb42b44c9d..839148b08c39 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -126,7 +126,7 @@ in testScript = { nodes, ... }: let - auth = pkgs.writeText "auth.json" ( + authPayload = pkgs.writeText "auth.json" ( builtins.toJSON { grant_type = "password"; username = "root"; @@ -134,129 +134,35 @@ in } ); - runnerTokenTmpl = pkgs.writeText "runner-token.env" '' + runnerTokenEnv = pkgs.writeText "runner-token.env" '' CI_SERVER_URL=http://gitlab CI_SERVER_TOKEN=$token ''; - createRunner = pkgs.writeText "create-runner.json" ( + createRunnerPayload = pkgs.writeText "create-runner.json" ( builtins.toJSON { runner_type = "instance_type"; } ); - - # Wait for all GitLab services to be fully started. - waitForServices = '' - gitlab.wait_for_unit("gitaly.service") - gitlab.wait_for_unit("gitlab-workhorse.service") - gitlab.wait_for_unit("gitlab.service") - gitlab.wait_for_unit("gitlab-sidekiq.service") - gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/tmp/sockets/gitlab.socket") - gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in") - ''; - - testSetup = - # python - '' - import os - import json - from pathlib import Path - from string import Template - from dataclasses import dataclass - - print("==> Getting secrets and headers.") - gitlab.succeed("cp /var/gitlab/state/config/secrets.yml /root/gitlab-secrets.yml") - - gitlab.succeed( - "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" - ) - - gitlab.copy_from_vm("/tmp/headers") - out_dir = os.environ.get("out", os.getcwd()) - gitlab_runner.copy_from_host(str(Path(out_dir, "headers")), "/tmp/headers") - - print("==> Testing connection.") - gitlab_runner.succeed("curl -v -H @/tmp/headers http://gitlab/api/v4/version") - - # Runner config data. - @dataclass - class Runner: - name: str - desc: str - tokenFile: str - - id: str - token: str - - runnerConfigs: dict[str, Runner] = {} - ''; - - testRegisterRunner = - runnerConfig: - # python - '' - r = Runner(name="${runnerConfig.name}", - desc="${runnerConfig.desc}", - tokenFile="${runnerConfig.tokenFile}", - token="", - id="") - runnerConfigs[r.name] = r - - print(f"==> Create Runner '{r.name}'") - resp = gitlab.execute(""" - curl -s -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers \ - -d @${createRunner} \ - http://gitlab/api/v4/user/runners - """)[1] - obj = json.loads(resp) - r.id = obj["id"] - r.token = obj["token"] - - # Push the token to the runner machine. - print("==> Push runner token to machine.") - tokenF = Path(out_dir, f"token-{r.name}.env") - with open("${runnerTokenTmpl}", "r") as f: - tokenData = Template(f.read()).substitute({"token": token}) - with open(tokenF, "w") as w: - w.write(tokenData) - gitlab_runner.copy_from_host(str(tokenF), r.tokenFile) - ''; - - restartRunnerService = - # python - '' - print("==> Restart Gitlab Runner") - gitlab_runner.systemctl("restart gitlab-runner.service") - gitlab_runner.wait_for_unit("gitlab-runner.service") - ''; - - testRunnerConnected = - runnerConfig: - # python - '' - r = runnerConfigs["${runnerConfig.name}"] - - resp = gitlab.execute(f""" - curl -s -X GET \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers \ - http://gitlab/api/v4/runners/{r.id} - """)[1] - runnerStatus = json.loads(resp) - - if not runnerStatus["active"]: - raise Exception(f"Runner '{r.name}' [id: '{r.id}'] status is not active: {resp}") - ''; in # python '' + # Define some globals for the python script below. + JQ_BINARY="${pkgs.jq}/bin/jq" + GITLAB_STATE_PATH="${nodes.gitlab.services.gitlab.statePath}" + RUNNER_TOKEN_ENV_FILE="${runnerTokenEnv}" + AUTH_PAYLOAD_FILE="${authPayload}" + CREATE_RUNNER_PAYLOAD_FILE="${createRunnerPayload}" + + ${lib.readFile ./runner_test.py} + start_all() - '' - + waitForServices - + testSetup - + (testRegisterRunner runnerConfigs.shell) - + restartRunnerService - + (testRunnerConnected runnerConfigs.shell); + wait_for_services() + + # Run all tests. + test_connection() + test_register_runner(name="shell", tokenFile="${runnerConfigs.shell.tokenFile}") + restart_gitlab_runner_service() + test_runner_registered(runnerConfigs["shell"]) + ''; } diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py new file mode 100644 index 000000000000..aacba1f94c5f --- /dev/null +++ b/nixos/tests/gitlab/runner_test.py @@ -0,0 +1,140 @@ +import json +import os +from dataclasses import dataclass +from pathlib import Path +from string import Template +from typing import Any + + +@dataclass +class Runner: + name: str + tokenFile: str + + id: str + token: str + + +@dataclass +class Machines: + gitlab: Any + gitlab_runner: Any + + +@dataclass +class Nix: + jq: str + gitlab_state_path: str + create_runner_payload_file: str + auth_payload_file: str + runner_token_env_file: str + + +# Some global variables to work in the tests. +out_dir = os.environ.get("out", os.getcwd()) +nix = Nix( + jq=JQ_BINARY, + gitlab_state_path=GITLAB_STATE_PATH, + auth_payload_file=AUTH_PAYLOAD_FILE, + create_runner_payload_file=CREATE_RUNNER_PAYLOAD_FILE, + runner_token_env_file=RUNNER_TOKEN_ENV_FILE, +) +vms = Machines(gitlab, gitlab_runner) +runnerConfigs: dict[str, Runner] = {} + + +def wait_for_services(): + vms.gitlab.wait_for_unit("gitaly.service") + vms.gitlab.wait_for_unit("gitlab-workhorse.service") + vms.gitlab.wait_for_unit("gitlab.service") + vms.gitlab.wait_for_unit("gitlab-sidekiq.service") + vms.gitlab.wait_for_file(f"{nix.gitlab_state_path}/tmp/sockets/gitlab.socket") + vms.gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in") + + +def test_connection(): + """ + Test the connection to Gitlab and check if it is reachable from the runner VM. + """ + + print("==> Getting secrets and headers.") + vms.gitlab.succeed( + "cp /var/gitlab/state/config/secrets.yml /root/gitlab-secrets.yml" + ) + + vms.gitlab.succeed( + f"echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @{nix.auth_payload_file} http://gitlab/oauth/token | {nix.jq} -r '.access_token')\" >/tmp/headers" + ) + + vms.gitlab.copy_from_vm("/tmp/headers") + out_dir = os.environ.get("out", os.getcwd()) + vms.gitlab_runner.copy_from_host(str(Path(out_dir, "headers")), "/tmp/headers") + + print("==> Testing connection.") + vms.gitlab_runner.succeed("curl -v -H @/tmp/headers http://gitlab/api/v4/version") + + +def test_register_runner(name: str, tokenFile: str): + """ + Register the runner in Gitlab and write the token file to be picked up by + the gitlab-runner service on the other VM. + """ + + r = Runner( + name=name, + tokenFile=tokenFile, + token="", + id="", + ) + runnerConfigs[r.name] = r + + print(f"==> Create Runner '{r.name}'") + resp = vms.gitlab.execute( + f""" + curl -s -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + -d @{nix.create_runner_payload_file} \ + http://gitlab/api/v4/user/runners + """ + )[1] + obj = json.loads(resp) + r.id = obj["id"] + r.token = obj["token"] + + # Push the token to the runner machine. + print("==> Push runner token to machine.") + tokenF = Path(out_dir, f"token-{r.name}.env") + with open("${runnerTokenTmpl}", "r") as f: + tokenData = Template(f.read()).substitute({"token": r.token}) + with open(tokenF, "w") as w: + w.write(tokenData) + vms.gitlab_runner.copy_from_host(str(tokenF), r.tokenFile) + + +def restart_gitlab_runner_service(): + print("==> Restart Gitlab Runner") + vms.gitlab_runner.systemctl("restart gitlab-runner.service") + vms.gitlab_runner.wait_for_unit("gitlab-runner.service") + + +def test_runner_registered(r: Runner): + """ + Test that the runner `r` is registered in Gitlab and its status is active. + """ + + print("==> Check that runner '{r.name}' is registered.") + + resp = vms.gitlab.execute( + f""" + curl -s -X GET \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers \ + http://gitlab/api/v4/runners/{r.id}""" + )[1] + runnerStatus = json.loads(resp) + + if not runnerStatus["active"]: + raise Exception( + f"Runner '{r.name}' [id: '{r.id}'] status is not active: {resp}" + ) From 15119820364646babacdd4bbb76e4c3a1b1d6768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 20 Nov 2025 21:29:16 +0100 Subject: [PATCH 011/332] fix: typo --- nixos/tests/gitlab/runner_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py index aacba1f94c5f..6dd5b55ef639 100644 --- a/nixos/tests/gitlab/runner_test.py +++ b/nixos/tests/gitlab/runner_test.py @@ -105,7 +105,7 @@ def test_register_runner(name: str, tokenFile: str): # Push the token to the runner machine. print("==> Push runner token to machine.") tokenF = Path(out_dir, f"token-{r.name}.env") - with open("${runnerTokenTmpl}", "r") as f: + with open(nix.runner_token_env_file, "r") as f: tokenData = Template(f.read()).substitute({"token": r.token}) with open(tokenF, "w") as w: w.write(tokenData) From baf4945b48054ef48ac9f7bef35a978fc653b36a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 20 Nov 2025 21:34:47 +0100 Subject: [PATCH 012/332] fix: print statment --- nixos/tests/gitlab/runner_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py index 6dd5b55ef639..2f74e12b57ac 100644 --- a/nixos/tests/gitlab/runner_test.py +++ b/nixos/tests/gitlab/runner_test.py @@ -123,7 +123,7 @@ def test_runner_registered(r: Runner): Test that the runner `r` is registered in Gitlab and its status is active. """ - print("==> Check that runner '{r.name}' is registered.") + print(f"==> Check that runner '{r.name}' is registered.") resp = vms.gitlab.execute( f""" From 9440e4d9154d572a2a782ee82f6c6d189ee0b113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 20 Nov 2025 22:02:52 +0100 Subject: [PATCH 013/332] fix: add podman executor (not tested) --- nixos/tests/gitlab/runner.nix | 16 +- .../podman-executor/podman-executor.nix | 394 ++++++++++++++++++ .../runner/podman-executor/root/README.md | 10 + .../root/etc/containers/containers.conf | 2 + .../root/etc/containers/mounts.conf | 2 + .../root/etc/containers/policy.json | 12 + .../root/etc/containers/registries.conf | 79 ++++ .../registries.conf.d/000-shortnames.conf | 136 ++++++ .../etc/containers/registries.d/default.yaml | 27 ++ .../registry.access.redhat.com.yaml | 3 + .../registries.d/registry.redhat.io.yaml | 3 + .../root/etc/containers/storage.conf | 177 ++++++++ .../podman-executor/scripts/prebuild.nix | 84 ++++ .../scripts/recreate-nix-daemon-store.sh | 42 ++ .../runner/podman-executor/virtualization.nix | 39 ++ nixos/tests/gitlab/runner/shell-executor.nix | 8 +- 16 files changed, 1020 insertions(+), 14 deletions(-) create mode 100644 nixos/tests/gitlab/runner/podman-executor/podman-executor.nix create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/README.md create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml create mode 100644 nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf create mode 100644 nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix create mode 100755 nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh create mode 100644 nixos/tests/gitlab/runner/podman-executor/virtualization.nix diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 839148b08c39..7c95c02ac382 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -50,21 +50,16 @@ in nodes = { gitlab-runner = - { config, lib, ... }: + { ... }: { + imports = [ + (import ./runner/shell-executor.nix { inherit runnerConfigs; }) + ]; + # Define the Gitlab Runner. services.gitlab-runner = { enable = true; - services.shell-executor = import ./runner/shell-executor.nix { - runnerConfig = runnerConfigs.shell; - }; - - # TODO: Add here the container executor (podman, nixDaemon etc) - # services.container-executor = import ./runner/container-executor.nix { - # inherit config lib runnerTokenFile; - # }; - settings = { log_level = "info"; }; @@ -75,7 +70,6 @@ in gitlab = { config, ... }: { - imports = [ ../common/user-account.nix ]; networking.firewall.allowedTCPPorts = [ diff --git a/nixos/tests/gitlab/runner/podman-executor/podman-executor.nix b/nixos/tests/gitlab/runner/podman-executor/podman-executor.nix new file mode 100644 index 000000000000..0e5b387ff347 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/podman-executor.nix @@ -0,0 +1,394 @@ +{ runnerConfig }: +# Gitlab Runner Module +# +# This module will add a Gitlab-Runner +# configured similar to https://wiki.nixos.org/wiki/Gitlab_runner +# with a nix-daemon running in a podman container `nix-daemon-container`. +# +# - The volumes from the `nix-daemon-container` will get mounted to +# each job container which Gitlab starts, which gives them access +# to a commonly shared Nix store. +# +# - The `/nix/store` inside the job container +# (either image `alpineImage` or `ubuntuImage` or `nixImage`) +# will be read-only and nix can only store stuff into this path by using the +# `NIX_DAEMON` env. variable which lets it communicate through the +# mounted daemon socket. +# - Since the `/nix/store` path of the job container is mounted over from the +# volume of `nix-daemon-container`, everything in that folder is lost. +# We make sure the shared `/nix/store` has all bootstrap tools and currently we also +# add these to the job images to make the symlinks in `/bin/...` +# (TODO: since we only need the symlinks -> that could be optimized maybe). +# +# - The `podman-daemon-socket` volume gets mounted to the job container +# enabling it to use `podman`. +# Note: The job container instance is not using the system `podman` running in NixOS. +# Its a dedicated podman service `podmanDaemonContainer` +# running as `--privileged` +# [non-rootless container](https://rootlesscontaine.rs/#what-are-rootless-containers-and-what-are-not). +# (TODO: This podman instance could be maybe run as rootless +# container under a user `ci` and a separated Gitlab Runner could +# run over this socket, effectively run only rootless containers.) +# +# - There is also a prebuild script which is started on every job. +# See `scripts/prebuild.nix` to setup some missing stuff. +# +# Debugging on the VM: +# - You can use `journalclt -u gitlab-runner.service`. +# - Also inside `~/custodian` (clone this repo there) +# you can run `cd tools/nix/vm && just vm::status` +# to get some information about the +# running stuff. +# - You can clean all logs with `journalclt --vacuume-time=1s` +# - Also you can run `btop` on the machine to inspect the performance. +# +# TODO: use `.execConfig` on `gitlab-runner.service` created +# to set `.execConfig.User = 'ci'` +# and see if we can start it with out requiring root. +{ + config, + lib, + pkgs, + ... +}: +let + fs = lib.fileset; + + nixRepo = pkgs.fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "2.32.4"; + hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ="; + }; + + # Either we use a Nix as the base image or Alpine. + imageNames = { + default = imageNames.alpine; + + alpine = "local/alpine"; + nix = "local/nix"; + ubuntu = "local/ubuntu"; + + all = with imageNames; [ + alpine + nixRepo + ubuntu + ]; + }; + + noPruneLabels = { + no-prune = "true"; + }; + + # This derivation will contain a folder `/etc` + # If its added to `contents` all files in the + # derivation will be symlinked in `/`. + auxRootFiles = fs.toSource { + root = ./root; + fileset = fs.gitTracked ./root/etc; + }; + + preBuildScript = pkgs.callPackage ./scripts/prebuild.nix { }; + + bootstrapPkgs = [ + pkgs.just + pkgs.cachix + pkgs.nix + pkgs.cacert + (lib.hiPrio pkgs.coreutils) + pkgs.findutils + (lib.hiPrio pkgs.git) + pkgs.openssh + pkgs.bash + + pkgs.podman # For nested containers. + + preBuildScript + ]; + + toEnvList = envs: lib.mapAttrsToList (k: v: "${k}=${v}") envs; + + # This is the Nix base image. + nixImageBase = pkgs.callPackage (import (nixRepo + "/docker.nix")) { + name = "local/nix-base"; + tag = "latest"; + + bundleNixpkgs = false; + maxLayers = 2; + + # You can add here a user with uid,gid,uname,gname etc. + # We are using root. + + # The Nix store needs all packages which we have as content + # packages in the base images. + # The Nix store is mounted into the base image. + extraPkgs = bootstrapPkgs; + + nixConf = { + cores = "0"; + experimental-features = [ + "nix-command" + "flakes" + ]; + }; + }; + + # This is the daemon image which provides the store + # as volumes. + nixDaemonImage = pkgs.dockerTools.buildLayeredImage { + fromImage = nixImageBase; + name = "local/nix-daemon"; + tag = "latest"; + + contents = [ auxRootFiles ]; + + config = { + Volumes = { + "/nix/store" = { }; + "/nix/var/nix/db" = { }; + "/nix/var/nix/daemon-socket" = { }; + }; + Labels = noPruneLabels; + }; + maxLayers = 5; + }; + + # This is the podman daemon image which enables + # a job image to use `podman` internally. + podmanDaemonImage = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ + # --image-name quay.io/podman/stable --image-tag v5.6.0 + # ``` + base = pkgs.dockerTools.pullImage { + imageName = "quay.io/podman/stable"; + imageDigest = "sha256:7c9381b9af167cf2218831c3af3135856c99f488b543b78435c8f18e19ad739a"; + hash = "sha256-pXXCu13fB/RN9qx8iLhE5Kko6glTrFrRhR7fo2OS7V0="; + finalImageName = "quay.io/podman/stable"; + finalImageTag = "v5.6.0"; + }; + in + pkgs.dockerTools.buildLayeredImage { + fromImage = base; + name = "local/podman-daemon"; + tag = "latest"; + + config = { + Labels = noPruneLabels; + }; + }; + + jobImages = { + # The base image + nix = pkgs.dockerTools.buildLayeredImage { + fromImage = nixImageBase; + name = imageNames.nix; + tag = "latest"; + + # Stuff gets mounted into the container here. + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.nix; + }; + maxLayers = 4; + }; + + # This is the analog image to `local/nix` but alpine based. + alpine = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- --image-name alpine --image-tag latest + # ``` + alpineBase = pkgs.dockerTools.pullImage { + imageName = "alpine"; + imageDigest = "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d"; + sha256 = "0gf7wbjp37zbni3pz8vdgq1mss6mz69wynms0gqhq7lsxfmg9xj9"; + finalImageName = "alpine"; + finalImageTag = "latest"; + }; + in + (pkgs.dockerTools.buildLayeredImage { + fromImage = alpineBase; + name = imageNames.alpine; + tag = "latest"; + + # We need these packages in the container, to create the symlinks in `/bin/...`. + # TODO: How to only keep the symlink and strip everything from /nix/store + # because it anyway gets overmounted. + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.alpine; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 15; + }); + + # This is the analog image to `local/nix` but ubuntu based. + ubuntu = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ + # --image-name ubuntu --image-tag latest + # ``` + ubuntuBase = pkgs.dockerTools.pullImage { + imageName = "ubuntu"; + imageDigest = "sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02"; + hash = "sha256-aC8SgxdcMSaaU89YMr/uwE022Yqey2frmeZqr+L1xEU="; + finalImageName = "ubuntu"; + finalImageTag = "latest"; + }; + in + (pkgs.dockerTools.buildLayeredImage { + fromImage = ubuntuBase; + name = imageNames.ubuntu; + tag = "latest"; + + # We need these packages in the container, to create the symlinks + # TODO: How to only keep the symlink and strip everything from /nix/store + # because it anyway gets overmounted. + contents = bootstrapPkgs ++ [ auxRootFiles ]; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.ubuntu; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 15; + }); + }; + + nixDaemonContainer = { + imageFile = nixDaemonImage; + image = "local/nix-daemon:latest"; + + # NOTE: These volumes overmount what is in the job images. + volumes = [ + "nix-daemon-store:/nix/store" + "nix-daemon-db:/nix/var/nix/db" + "nix-daemon-socket:/nix/var/nix/daemon-socket" + ]; + cmd = [ + "nix" + "daemon" + ]; + }; + + podmanDaemonContainer = { + imageFile = podmanDaemonImage; + image = "local/podman-daemon:latest"; + volumes = [ + "podman-daemon-socket:/run/podman" + "podman-cache:/var/lib/container" + # Shared images, currently not needed. + "podman-shared:/var/lib/shared:ro" + ]; + privileged = true; + cmd = [ + "podman" + "system" + "service" + "--time=0" + "unix:///run/podman/podman.sock" + "--log-level" + "info" + ]; + }; + + # Environment variables for all job containers. + envs = rec { + daemons = { + # Access to the nix daemon. + NIX_REMOTE = "daemon"; + # Access to podman. + CONTAINER_HOST = "unix:///run/podman/podman.sock"; + }; + + nix = daemons // { + IMAGE_OS_DIST = "nixos"; + }; + + alpine = daemons // { + IMAGE_OS_DIST = "alpine"; + + USER = "root"; + PATH = "/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin"; + SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + }; + + ubuntu = alpine // { + IMAGE_OS_DIST = "ubuntu"; + }; + }; + + registrationFlags = [ + "--docker-volumes" + "gitlab-runner-scratch:/scratch" + + "--docker-volumes" + "podman-daemon-socket:/run/podman" + + "--docker-volumes-from" + "nix-daemon-container:ro" + + "--docker-pull-policy" + "if-not-present" + + "--docker-allowed-pull-policies" + "if-not-present" + + "--docker-host" + "unix:///var/run/podman/podman.sock" + + "--docker-network-mode" + "host" + ]; + +in +{ + + virtualisation.oci-containers = { + backend = "podman"; + + containers = { + nix-daemon-container = nixDaemonContainer; + podman-daemon-container = podmanDaemonContainer; + } + // + # Workaround to add the job images to the registry. + (lib.concatMapAttrs (name: image: { + "container-${name}" = { + imageFile = jobImages.${name}; + image = "${imageNames.${name}}:latest"; + cmd = [ "true" ]; + }; + }) jobImages); + }; + + # Define the Gitlab Runner. + services.gitlab-runner.services.podman-runner = { + description = runnerConfig.desc; + + inherit registrationFlags; + + authenticationTokenConfigFile = config.age.secrets.gitlab-runner-token-config.path; + + executor = "docker"; + dockerImage = imageNames.default; + dockerAllowedImages = [ ]; + dockerPrivileged = false; + requestConcurrency = 4; + + preBuildScript = "${preBuildScript}/bin/gitlab-runner-pre-build-script"; + }; +} diff --git a/nixos/tests/gitlab/runner/podman-executor/root/README.md b/nixos/tests/gitlab/runner/podman-executor/root/README.md new file mode 100644 index 000000000000..9a844d036432 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/README.md @@ -0,0 +1,10 @@ +# Content + +These are some files which are copied to the image in the runner needed for +`buildah` (`podman`). + +## Reference + +```shell +just update-root-files +``` diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf new file mode 100644 index 000000000000..0bf45cd2a1a1 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf @@ -0,0 +1,2 @@ +[engine] +cgroup_manager = "cgroupfs" diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf new file mode 100644 index 000000000000..b54e7222210b --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf @@ -0,0 +1,2 @@ +/run/secrets/etc-pki-entitlement:/run/secrets/etc-pki-entitlement +/run/secrets/rhsm:/run/secrets/rhsm diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json new file mode 100644 index 000000000000..4724dd816814 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json @@ -0,0 +1,12 @@ +{ + "default": [ + { + "type": "insecureAcceptAnything" + } + ], + "transports": { + "docker-daemon": { + "": [{ "type": "insecureAcceptAnything" }] + } + } +} diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf new file mode 100644 index 000000000000..bfe0335521df --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf @@ -0,0 +1,79 @@ +# For more information on this configuration file, see containers-registries.conf(5). +# +# NOTE: RISK OF USING UNQUALIFIED IMAGE NAMES +# We recommend always using fully qualified image names including the registry +# server (full dns name), namespace, image name, and tag +# (e.g., registry.redhat.io/ubi8/ubi:latest). Pulling by digest (i.e., +# quay.io/repository/name@digest) further eliminates the ambiguity of tags. +# When using short names, there is always an inherent risk that the image being +# pulled could be spoofed. For example, a user wants to pull an image named +# `foobar` from a registry and expects it to come from myregistry.com. If +# myregistry.com is not first in the search list, an attacker could place a +# different `foobar` image at a registry earlier in the search list. The user +# would accidentally pull and run the attacker's image and code rather than the +# intended content. We recommend only adding registries which are completely +# trusted (i.e., registries which don't allow unknown or anonymous users to +# create accounts with arbitrary names). This will prevent an image from being +# spoofed, squatted or otherwise made insecure. If it is necessary to use one +# of these registries, it should be added at the end of the list. +# +# # An array of host[:port] registries to try when pulling an unqualified image, in order. +# unqualified-search-registries = ["example.com"] +unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io"] +# +# [[registry]] +# # The "prefix" field is used to choose the relevant [[registry]] TOML table; +# # (only) the TOML table with the longest match for the input image name +# # (taking into account namespace/repo/tag/digest separators) is used. +# # +# # The prefix can also be of the form: *.example.com for wildcard subdomain +# # matching. +# # +# # If the prefix field is missing, it defaults to be the same as the "location" field. +# prefix = "example.com/foo" +# +# # If true, unencrypted HTTP as well as TLS connections with untrusted +# # certificates are allowed. +# insecure = false +# +# # If true, pulling images with matching names is forbidden. +# blocked = false +# +# # The physical location of the "prefix"-rooted namespace. +# # +# # By default, this is equal to "prefix" (in which case "prefix" can be omitted +# # and the [[registry]] TOML table can only specify "location"). +# # +# # Example: Given +# # prefix = "example.com/foo" +# # location = "internal-registry-for-example.com/bar" +# # requests for the image example.com/foo/myimage:latest will actually work with the +# # internal-registry-for-example.com/bar/myimage:latest image. +# +# # The location can be empty if prefix is in a +# # wildcarded format: "*.example.com". In this case, the input reference will +# # be used as-is without any rewrite. +# location = internal-registry-for-example.com/bar" +# +# # (Possibly-partial) mirrors for the "prefix"-rooted namespace. +# # +# # The mirrors are attempted in the specified order; the first one that can be +# # contacted and contains the image will be used (and if none of the mirrors contains the image, +# # the primary location specified by the "registry.location" field, or using the unmodified +# # user-specified reference, is tried last). +# # +# # Each TOML table in the "mirror" array can contain the following fields, with the same semantics +# # as if specified in the [[registry]] TOML table directly: +# # - location +# # - insecure +# [[registry.mirror]] +# location = "example-mirror-0.local/mirror-for-foo" +# [[registry.mirror]] +# location = "example-mirror-1.local/mirrors/foo" +# insecure = true +# # Given the above, a pull of example.com/foo/image:latest will try: +# # 1. example-mirror-0.local/mirror-for-foo/image:latest +# # 2. example-mirror-1.local/mirrors/foo/image:latest +# # 3. internal-registry-for-example.com/bar/image:latest +# # in order, and use the first one that exists. +short-name-mode = "enforcing" diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf new file mode 100644 index 000000000000..45fbe17958da --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf @@ -0,0 +1,136 @@ +[aliases] + # almalinux + "almalinux" = "docker.io/library/almalinux" + "almalinux-minimal" = "docker.io/library/almalinux-minimal" + # Amazon Linux + "amazonlinux" = "public.ecr.aws/amazonlinux/amazonlinux" + # Arch Linux + "archlinux" = "docker.io/library/archlinux" + # centos + "centos" = "quay.io/centos/centos" + # containers + "skopeo" = "quay.io/skopeo/stable" + "buildah" = "quay.io/buildah/stable" + "podman" = "quay.io/podman/stable" + "hello" = "quay.io/podman/hello" + "hello-world" = "quay.io/podman/hello" + # docker + "alpine" = "docker.io/library/alpine" + "docker" = "docker.io/library/docker" + "registry" = "docker.io/library/registry" + "swarm" = "docker.io/library/swarm" + # Fedora + "fedora-bootc" = "registry.fedoraproject.org/fedora-bootc" + "fedora-minimal" = "registry.fedoraproject.org/fedora-minimal" + "fedora" = "registry.fedoraproject.org/fedora" + # Gentoo + "gentoo" = "docker.io/gentoo/stage3" + # openSUSE + "opensuse/tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed" + "opensuse/tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf" + "opensuse/tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf" + "opensuse/leap" = "registry.opensuse.org/opensuse/leap" + "opensuse/busybox" = "registry.opensuse.org/opensuse/busybox" + "tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed" + "tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf" + "tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf" + "leap" = "registry.opensuse.org/opensuse/leap" + "leap-dnf" = "registry.opensuse.org/opensuse/leap-dnf" + "leap-microdnf" = "registry.opensuse.org/opensuse/leap-microdnf" + "tw-busybox" = "registry.opensuse.org/opensuse/busybox" + # SUSE + "suse/sle15" = "registry.suse.com/suse/sle15" + "suse/sles12sp5" = "registry.suse.com/suse/sles12sp5" + "suse/sles12sp4" = "registry.suse.com/suse/sles12sp4" + "suse/sles12sp3" = "registry.suse.com/suse/sles12sp3" + "sle15" = "registry.suse.com/suse/sle15" + "sles12sp5" = "registry.suse.com/suse/sles12sp5" + "sles12sp4" = "registry.suse.com/suse/sles12sp4" + "sles12sp3" = "registry.suse.com/suse/sles12sp3" + "bci/bci-base" = "registry.suse.com/bci/bci-base" + "bci/bci-micro" = "registry.suse.com/bci/bci-micro" + "bci/bci-minimal" = "registry.suse.com/bci/bci-minimal" + "bci/bci-busybox" = "registry.suse.com/bci/bci-busybox" + # Red Hat Enterprise Linux + "rhel" = "registry.access.redhat.com/rhel" + "rhel6" = "registry.access.redhat.com/rhel6" + "rhel7" = "registry.access.redhat.com/rhel7" + "rhel7.9" = "registry.access.redhat.com/rhel7.9" + "rhel-atomic" = "registry.access.redhat.com/rhel-atomic" + "rhel9-bootc" = "registry.redhat.io/rhel9/rhel-bootc" + "rhel-minimal" = "registry.access.redhat.com/rhel-minimal" + "rhel-init" = "registry.access.redhat.com/rhel-init" + "rhel7-atomic" = "registry.access.redhat.com/rhel7-atomic" + "rhel7-minimal" = "registry.access.redhat.com/rhel7-minimal" + "rhel7-init" = "registry.access.redhat.com/rhel7-init" + "rhel7/rhel" = "registry.access.redhat.com/rhel7/rhel" + "rhel7/rhel-atomic" = "registry.access.redhat.com/rhel7/rhel7/rhel-atomic" + "ubi7/ubi" = "registry.access.redhat.com/ubi7/ubi" + "ubi7/ubi-minimal" = "registry.access.redhat.com/ubi7-minimal" + "ubi7/ubi-init" = "registry.access.redhat.com/ubi7-init" + "ubi7" = "registry.access.redhat.com/ubi7" + "ubi7-init" = "registry.access.redhat.com/ubi7-init" + "ubi7-minimal" = "registry.access.redhat.com/ubi7-minimal" + "rhel8" = "registry.access.redhat.com/ubi8" + "rhel8-init" = "registry.access.redhat.com/ubi8-init" + "rhel8-minimal" = "registry.access.redhat.com/ubi8-minimal" + "rhel8-micro" = "registry.access.redhat.com/ubi8-micro" + "ubi8" = "registry.access.redhat.com/ubi8" + "ubi8-minimal" = "registry.access.redhat.com/ubi8-minimal" + "ubi8-init" = "registry.access.redhat.com/ubi8-init" + "ubi8-micro" = "registry.access.redhat.com/ubi8-micro" + "ubi8/ubi" = "registry.access.redhat.com/ubi8/ubi" + "ubi8/ubi-minimal" = "registry.access.redhat.com/ubi8-minimal" + "ubi8/ubi-init" = "registry.access.redhat.com/ubi8-init" + "ubi8/ubi-micro" = "registry.access.redhat.com/ubi8-micro" + "ubi8/podman" = "registry.access.redhat.com/ubi8/podman" + "ubi8/buildah" = "registry.access.redhat.com/ubi8/buildah" + "ubi8/skopeo" = "registry.access.redhat.com/ubi8/skopeo" + "rhel9" = "registry.access.redhat.com/ubi9" + "rhel9-init" = "registry.access.redhat.com/ubi9-init" + "rhel9-minimal" = "registry.access.redhat.com/ubi9-minimal" + "rhel9-micro" = "registry.access.redhat.com/ubi9-micro" + "ubi9" = "registry.access.redhat.com/ubi9" + "ubi9-minimal" = "registry.access.redhat.com/ubi9-minimal" + "ubi9-init" = "registry.access.redhat.com/ubi9-init" + "ubi9-micro" = "registry.access.redhat.com/ubi9-micro" + "ubi9/ubi" = "registry.access.redhat.com/ubi9/ubi" + "ubi9/ubi-minimal" = "registry.access.redhat.com/ubi9-minimal" + "ubi9/ubi-init" = "registry.access.redhat.com/ubi9-init" + "ubi9/ubi-micro" = "registry.access.redhat.com/ubi9-micro" + "ubi9/podman" = "registry.access.redhat.com/ubi9/podman" + "ubi9/buildah" = "registry.access.redhat.com/ubi9/buildah" + "ubi9/skopeo" = "registry.access.redhat.com/ubi9/skopeo" + # Rocky Linux + "rockylinux" = "docker.io/library/rockylinux" + # Debian + "debian" = "docker.io/library/debian" + # Kali Linux + "kali-bleeding-edge" = "docker.io/kalilinux/kali-bleeding-edge" + "kali-dev" = "docker.io/kalilinux/kali-dev" + "kali-experimental" = "docker.io/kalilinux/kali-experimental" + "kali-last-release" = "docker.io/kalilinux/kali-last-release" + "kali-rolling" = "docker.io/kalilinux/kali-rolling" + # Ubuntu + "ubuntu" = "docker.io/library/ubuntu" + # Oracle Linux + "oraclelinux" = "container-registry.oracle.com/os/oraclelinux" + # busybox + "busybox" = "docker.io/library/busybox" + # php + "php" = "docker.io/library/php" + # python + "python" = "docker.io/library/python" + # rust + "rust" = "docker.io/library/rust" + # node + "node" = "docker.io/library/node" + # Grafana Labs + "grafana/agent" = "docker.io/grafana/agent" + "grafana/grafana" = "docker.io/grafana/grafana" + "grafana/k6" = "docker.io/grafana/k6" + "grafana/loki" = "docker.io/grafana/loki" + "grafana/mimir" = "docker.io/grafana/mimir" + "grafana/oncall" = "docker.io/grafana/oncall" + "grafana/pyroscope" = "docker.io/grafana/pyroscope" + "grafana/tempo" = "docker.io/grafana/tempo" diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml new file mode 100644 index 000000000000..9e892d760b21 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml @@ -0,0 +1,27 @@ +# This is a default registries.d configuration file. You may +# add to this file or create additional files in registries.d/. +# +# lookaside: for reading/writing simple signing signatures +# lookaside-staging: for writing simple signing signatures, preferred over lookaside +# +# lookaside and lookaside-staging take a value of the following: +# lookaside: {schema}://location +# +# For reading signatures, schema may be http, https, or file. +# For writing signatures, schema may only be file. + +# The default locations are built-in, for both reading and writing: +# /var/lib/containers/sigstore for root, or +# ~/.local/share/containers/sigstore for non-root users. +default-docker: +# lookaside: https://… +# lookaside-staging: file:///… + +# The 'docker' indicator here is the start of the configuration +# for docker registries. +# +# docker: +# +# privateregistry.com: +# lookaside: https://privateregistry.com/sigstore/ +# lookaside-staging: /mnt/nfs/privateregistry/sigstore diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml new file mode 100644 index 000000000000..45018d5830a7 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml @@ -0,0 +1,3 @@ +docker: + registry.access.redhat.com: + lookaside: https://access.redhat.com/webassets/docker/content/sigstore diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml new file mode 100644 index 000000000000..ba1769320ce7 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml @@ -0,0 +1,3 @@ +docker: + registry.redhat.io: + lookaside: https://registry.redhat.io/containers/sigstore diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf new file mode 100644 index 000000000000..99a4ac7b1783 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf @@ -0,0 +1,177 @@ +# This file is the configuration file for all tools +# that use the containers/storage library. The storage.conf file +# overrides all other storage.conf files. Container engines using the +# container/storage library do not inherit fields from other storage.conf +# files. +# +# Note: The storage.conf file overrides other storage.conf files based on this precedence: +# /usr/containers/storage.conf +# /etc/containers/storage.conf +# $HOME/.config/containers/storage.conf +# $XDG_CONFIG_HOME/containers/storage.conf (If XDG_CONFIG_HOME is set) +# See man 5 containers-storage.conf for more information +# The "container storage" table contains all of the server options. +[storage] + +# Default Storage Driver, Must be set for proper operation. +driver = "overlay" + +# Temporary storage location +runroot = "/run/containers/storage" + +# Primary Read/Write location of container storage +# When changing the graphroot location on an SELINUX system, you must +# ensure the labeling matches the default locations labels with the +# following commands: +# semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH +# restorecon -R -v /NEWSTORAGEPATH +graphroot = "/var/lib/containers/storage" + +# Optional alternate location of image store if a location separate from the +# container store is required. If set, it must be different than graphroot. +# imagestore = "" + + +# Storage path for rootless users +# +# rootless_storage_path = "$HOME/.local/share/containers/storage" + +# Transient store mode makes all container metadata be saved in temporary storage +# (i.e. runroot above). This is faster, but doesn't persist across reboots. +# Additional garbage collection must also be performed at boot-time, so this +# option should remain disabled in most configurations. +# transient_store = true + +[storage.options] +# Storage options to be passed to underlying storage drivers + +# AdditionalImageStores is used to pass paths to additional Read/Only image stores +# Must be comma separated list. +additionalimagestores = [ +"/var/lib/shared", +"/usr/lib/containers/storage", +] + +# Allows specification of how storage is populated when pulling images. This +# option can speed the pulling process of images compressed with format +# zstd:chunked. Containers/storage looks for files within images that are being +# pulled from a container registry that were previously pulled to the host. It +# can copy or create a hard link to the existing file when it finds them, +# eliminating the need to pull them from the container registry. These options +# can deduplicate pulling of content, disk storage of content and can allow the +# kernel to use less memory when running containers. + +# containers/storage supports four keys +# * enable_partial_images="true" | "false" +# Tells containers/storage to look for files previously pulled in storage +# rather then always pulling them from the container registry. +# * use_hard_links = "false" | "true" +# Tells containers/storage to use hard links rather then create new files in +# the image, if an identical file already existed in storage. +# * ostree_repos = "" +# Tells containers/storage where an ostree repository exists that might have +# previously pulled content which can be used when attempting to avoid +# pulling content from the container registry +# * convert_images = "false" | "true" +# If set to true, containers/storage will convert images to a +# format compatible with partial pulls in order to take advantage +# of local deduplication and hard linking. It is an expensive +# operation so it is not enabled by default. +pull_options = {enable_partial_images = "true", use_hard_links = "false", ostree_repos=""} + +# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of +# a container, to the UIDs/GIDs as they should appear outside of the container, +# and the length of the range of UIDs/GIDs. Additional mapped sets can be +# listed and will be heeded by libraries, but there are limits to the number of +# mappings which the kernel will allow when you later attempt to run a +# container. +# +# remap-uids = "0:1668442479:65536" +# remap-gids = "0:1668442479:65536" + +# Remap-User/Group is a user name which can be used to look up one or more UID/GID +# ranges in the /etc/subuid or /etc/subgid file. Mappings are set up starting +# with an in-container ID of 0 and then a host-level ID taken from the lowest +# range that matches the specified name, and using the length of that range. +# Additional ranges are then assigned, using the ranges which specify the +# lowest host-level IDs first, to the lowest not-yet-mapped in-container ID, +# until all of the entries have been used for maps. This setting overrides the +# Remap-UIDs/GIDs setting. +# +# remap-user = "containers" +# remap-group = "containers" + +# Root-auto-userns-user is a user name which can be used to look up one or more UID/GID +# ranges in the /etc/subuid and /etc/subgid file. These ranges will be partitioned +# to containers configured to create automatically a user namespace. Containers +# configured to automatically create a user namespace can still overlap with containers +# having an explicit mapping set. +# This setting is ignored when running as rootless. +# root-auto-userns-user = "storage" +# +# Auto-userns-min-size is the minimum size for a user namespace created automatically. +# auto-userns-min-size=1024 +# +# Auto-userns-max-size is the maximum size for a user namespace created automatically. +# auto-userns-max-size=65536 + +[storage.options.overlay] +# ignore_chown_errors can be set to allow a non privileged user running with +# a single UID within a user namespace to run containers. The user can pull +# and use any image even those with multiple uids. Note multiple UIDs will be +# squashed down to the default uid in the container. These images will have no +# separation between the users in the container. Only supported for the overlay +# and vfs drivers. +#ignore_chown_errors = "false" + +# Inodes is used to set a maximum inodes of the container image. +# inodes = "" + +# Path to an helper program to use for mounting the file system instead of mounting it +# directly. +mount_program = "/usr/bin/fuse-overlayfs" + +# mountopt specifies comma separated list of extra mount options +mountopt = "nodev,fsync=0" + +# Set to skip a PRIVATE bind mount on the storage home directory. +# skip_mount_home = "false" + +# Set to use composefs to mount data layers with overlay. +# use_composefs = "false" + +# Size is used to set a maximum size of the container image. +# size = "" + +# ForceMask specifies the permissions mask that is used for new files and +# directories. +# +# The values "shared" and "private" are accepted. +# Octal permission masks are also accepted. +# +# "": No value specified. +# All files/directories, get set with the permissions identified within the +# image. +# "private": it is equivalent to 0700. +# All files/directories get set with 0700 permissions. The owner has rwx +# access to the files. No other users on the system can access the files. +# This setting could be used with networked based homedirs. +# "shared": it is equivalent to 0755. +# The owner has rwx access to the files and everyone else can read, access +# and execute them. This setting is useful for sharing containers storage +# with other users. For instance have a storage owned by root but shared +# to rootless users as an additional store. +# NOTE: All files within the image are made readable and executable by any +# user on the system. Even /etc/shadow within your image is now readable by +# any user. +# +# OCTAL: Users can experiment with other OCTAL Permissions. +# +# Note: The force_mask Flag is an experimental feature, it could change in the +# future. When "force_mask" is set the original permission mask is stored in +# the "user.containers.override_stat" xattr and the "mount_program" option must +# be specified. Mount programs like "/usr/bin/fuse-overlayfs" present the +# extended attribute permissions to processes within containers rather than the +# "force_mask" permissions. +# +# force_mask = "" diff --git a/nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix b/nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix new file mode 100644 index 000000000000..e5cc500b8426 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix @@ -0,0 +1,84 @@ +{ writeShellScriptBin, nix }: +writeShellScriptBin "gitlab-runner-pre-build-script" + # bash + '' + set -e + set -u + + function section_start() { + local name="$1" + shift + echo -e "\e[0Ksection_start:$(date +%s):$name[collapsed=true]\r\e[0K$*" + } + + function section_end() { + local name="$1" + echo -e "\e[0Ksection_end:$(date +%s):$name\r\e[0K" + } + + function setup_nixos() { + # We need to allow modification of nix config for cachix as + # otherwise it is link to the read only file in the store. + cp --remove-destination \ + "$(readlink -f /etc/nix/nix.conf)" /etc/nix/nix.conf + + # shellcheck disable=SC1091 + . "${nix}/etc/profile.d/nix-daemon.sh" + } + + function setup_non_nixos() { + # shellcheck disable=SC2174 + { + echo "Set missing '/nix/var' directories." + mkdir -p -m 0755 /nix/var/log/nix/drvs + mkdir -p -m 0755 /nix/var/nix/gcroots + mkdir -p -m 0755 /nix/var/nix/profiles + mkdir -p -m 0755 /nix/var/nix/temproots + mkdir -p -m 0755 /nix/var/nix/userpool + mkdir -p -m 1777 /nix/var/nix/gcroots/per-user + mkdir -p -m 1777 /nix/var/nix/profiles/per-user + mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root + + echo "Set missing '~/.nix-defexpr'." + mkdir -p -m 0700 ~/.nix-defexpr + } + + echo "Source 'nix-daemon.sh'." + # shellcheck disable=SC1091 + . "${nix}/etc/profile.d/nix-daemon.sh" + + echo "Set nix experimental features." + mkdir -p ~/.config/nix + touch ~/.config/nix/nix.conf + echo "experimental-features = nix-command flakes" >>~/.config/nix/nix.conf + } + + function setup_pipeline_scratch_dir() { + scratch_dir="/scratch/$CI_PIPELINE_ID" + + echo "Create scrtach directory for pipeline: $scratch_dir" + mkdir -p "$scratch_dir" || { + echo "Could not create scratch dir '$scratch_dir'." >&2 + exit 1 + } + + export CI_CUSTODIAN_SCRATCH_DIR="$scratch_dir" + } + + function main() { + if [ "$IMAGE_OS_DIST" = "ubuntu" ] || [ "$IMAGE_OS_DIST" = "alpine" ]; then + setup_non_nixos + elif [ "$IMAGE_OS_DIST" = "nixos" ]; then + setup_nixos + else + echo "OS not implemented." + exit 1 + fi + + setup_pipeline_scratch_dir + } + + section_start gitlab-runner-prebuild "Gitlab-Runner PreBuild Script" + main "$@" + section_end gitlab-runner-prebuild + '' diff --git a/nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh b/nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh new file mode 100755 index 000000000000..8765396935eb --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +set -eu + +[ "$(hostname)" = "vm-gitlab-runner" ] || { + echo "error: you do not seem to be logged in on the vm." + exit 1 +} + +NIX_STORE_VOLUME_ID=$(podman container inspect -f "{{ json .Mounts }}" nix-daemon-container | + jq -r '.[] | select(.Type == "volume" and .Destination == "/nix/store") | .Name') + +NIX_DB_VOLUME_ID=$(podman container inspect -f "{{ json .Mounts }}" nix-daemon-container | + jq -r '.[] | select(.Type == "volume" and .Destination == "/nix/var/nix/db") | .Name') + +[ -n "$NIX_STORE_VOLUME_ID" ] || { + echo "Could not determine podman volume with nix store in 'nix-daemon-container'." >&2 + exit 1 +} + +echo "NIX_STORE_VOLUME_ID: $NIX_STORE_VOLUME_ID" +echo "NIX_DB_VOLUME_ID: $NIX_DB_VOLUME_ID" + +if [ "${1:-}" = "--force" ]; then + just podman-remove-containers +fi +echo "Stopping gitlab runner ..." +systemctl stop gitlab-runner.service + +echo "Remove podman-nix-daemon-container..." +systemctl stop podman-nix-daemon-container.service +podman container stop nix-daemon-container || true + +echo "Delete nix-daemon-store and nix-daemon-db..." +podman volume rm --force "$NIX_STORE_VOLUME_ID" || true +podman volume rm --force "$NIX_DB_VOLUME_ID" || true + +echo "Recreate empty volumes ..." +podman volume create "$NIX_STORE_VOLUME_ID" --label="no-prune=true" +podman volume create "$NIX_DB_VOLUME_ID" --label="no-prune=true" + +systemctl start podman-nix-daemon-container.service +systemctl start gitlab-runner.service diff --git a/nixos/tests/gitlab/runner/podman-executor/virtualization.nix b/nixos/tests/gitlab/runner/podman-executor/virtualization.nix new file mode 100644 index 000000000000..fcb281f3fea0 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-executor/virtualization.nix @@ -0,0 +1,39 @@ +{ ... }: +{ + virtualisation.podman = { + enable = true; + + # Create a `docker` alias for podman, to use it as a drop-in replacement + # dockerCompat = true; + dockerSocket = { + enable = true; + }; + + # Required for containers under podman-compose to be able to talk to each other. + defaultNetwork.settings.dns_enabled = true; + + autoPrune = { + dates = "weekly"; + flags = [ + "--filter" + "label!=no-prune" + "--volumes" + "--log-level" + "debug" + ]; + }; + }; + + virtualisation.containers.storage.settings = { + storage = { + driver = "overlay"; + graphroot = "/var/lib/containers/storage"; + runroot = "/run/containers/storage"; + + # Does not work currently. + options.overlay = { + mountopt = "nodev,metacopy=on"; + }; + }; + }; +} diff --git a/nixos/tests/gitlab/runner/shell-executor.nix b/nixos/tests/gitlab/runner/shell-executor.nix index b68975a12896..6f4089a92bd9 100644 --- a/nixos/tests/gitlab/runner/shell-executor.nix +++ b/nixos/tests/gitlab/runner/shell-executor.nix @@ -3,8 +3,10 @@ }: # This is the runner config for the `nixosConfiguration.services.gitlab-runner.services.X` { - description = runnerConfig.desc; - authenticationTokenConfigFile = runnerConfig.tokenFile; + services.gitlab-runner.services = { + description = runnerConfig.desc; + authenticationTokenConfigFile = runnerConfig.tokenFile; - executor = "shell"; + executor = "shell"; + }; } From 44631a4ce2bf5de98e473e6f20f51184dc5e5a08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Fri, 21 Nov 2025 16:42:55 +0100 Subject: [PATCH 014/332] fix: tests with podman runner --- nixos/tests/gitlab/runner.nix | 24 ++++++++++++------- .../default.nix} | 10 ++++---- .../root/README.md | 0 .../root/etc/containers/containers.conf | 0 .../root/etc/containers/mounts.conf | 0 .../root/etc/containers/policy.json | 0 .../root/etc/containers/registries.conf | 0 .../registries.conf.d/000-shortnames.conf | 0 .../etc/containers/registries.d/default.yaml | 0 .../registry.access.redhat.com.yaml | 0 .../registries.d/registry.redhat.io.yaml | 0 .../root/etc/containers/storage.conf | 0 .../scripts/prebuild.nix | 0 .../scripts/recreate-nix-daemon-store.sh | 0 .../virtualization.nix | 0 .../{shell-executor.nix => shell-runner.nix} | 2 +- 16 files changed, 22 insertions(+), 14 deletions(-) rename nixos/tests/gitlab/runner/{podman-executor/podman-executor.nix => podman-runner/default.nix} (98%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/README.md (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/containers.conf (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/mounts.conf (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/policy.json (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/registries.conf (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/registries.conf.d/000-shortnames.conf (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/registries.d/default.yaml (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/registries.d/registry.access.redhat.com.yaml (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/registries.d/registry.redhat.io.yaml (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/root/etc/containers/storage.conf (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/scripts/prebuild.nix (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/scripts/recreate-nix-daemon-store.sh (100%) rename nixos/tests/gitlab/runner/{podman-executor => podman-runner}/virtualization.nix (100%) rename nixos/tests/gitlab/runner/{shell-executor.nix => shell-runner.nix} (82%) diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 7c95c02ac382..4d920e016080 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -2,8 +2,8 @@ # two machines `gitlab` and `gitlab-runner`: # - Create runners in the `gitlab` machine for all runners in `./runner`. # - Inject the runner tokens into the `gitlab-runner.service` (machine `gitlab-runner`) -# which runs all executors: -# - Shell Executor in `./runner/shell-executor`. +# which runs all runners: +# - Shell runner in `./runner/shell-runner`. # - Start the `gitlab-runner.service`. # - Check that all runners in `gitlab` are `active`. # @@ -24,19 +24,19 @@ let runnerConfigs = { # The Gitlab runner where each job runs # on the host (not containerized and very insecure). - "shell" = { - desc = "Shell Executor (host NixOS shell, host Nix store)"; + shell = { + desc = "Shell runner (host NixOS shell, host Nix store)"; name = "shell"; tokenFile = "${runnerTokenDir}/token-shell.env"; }; - # The Gitlab runner which uses the Docker executor (we use podman). + # The Gitlab runner which uses the Docker runner (we use podman). # Features: # - Daemonizes the Nix store into a container. # - All jobs run in an unprivileged container, e.g. with image # (`local/nix`, `local/alpine`, `local/ubuntu`) - "podman" = { - desc = "Podman Executor (containers, shared containerized Nix store)"; + podman = { + desc = "Podman runner (containers, shared containerized Nix store)"; name = "podman"; tokenFile = "${runnerTokenDir}/token-podman.env"; }; @@ -53,7 +53,13 @@ in { ... }: { imports = [ - (import ./runner/shell-executor.nix { inherit runnerConfigs; }) + ../common/user-account.nix + (import ./runner/shell-runner.nix { + runnerConfig = runnerConfigs.shell; + }) + (import ./runner/podman-runner { + runnerConfig = runnerConfigs.shell; + }) ]; # Define the Gitlab Runner. @@ -156,7 +162,9 @@ in # Run all tests. test_connection() test_register_runner(name="shell", tokenFile="${runnerConfigs.shell.tokenFile}") + test_register_runner(name="podman", tokenFile="${runnerConfigs.podman.tokenFile}") restart_gitlab_runner_service() test_runner_registered(runnerConfigs["shell"]) + test_runner_registered(runnerConfigs["podman"]) ''; } diff --git a/nixos/tests/gitlab/runner/podman-executor/podman-executor.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix similarity index 98% rename from nixos/tests/gitlab/runner/podman-executor/podman-executor.nix rename to nixos/tests/gitlab/runner/podman-runner/default.nix index 0e5b387ff347..d634974154e0 100644 --- a/nixos/tests/gitlab/runner/podman-executor/podman-executor.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -46,7 +46,6 @@ # to set `.execConfig.User = 'ci'` # and see if we can start it with out requiring root. { - config, lib, pkgs, ... @@ -58,7 +57,7 @@ let owner = "NixOS"; repo = "nix"; rev = "2.32.4"; - hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ="; + hash = "sha256-8QYnRyGOTm3h/Dp8I6HCmQzlO7C009Odqyp28pTWgcY="; }; # Either we use a Nix as the base image or Alpine. @@ -71,7 +70,7 @@ let all = with imageNames; [ alpine - nixRepo + nix ubuntu ]; }; @@ -85,7 +84,7 @@ let # derivation will be symlinked in `/`. auxRootFiles = fs.toSource { root = ./root; - fileset = fs.gitTracked ./root/etc; + fileset = ./root/etc; }; preBuildScript = pkgs.callPackage ./scripts/prebuild.nix { }; @@ -356,6 +355,7 @@ let in { + imports = [ ./virtualization.nix ]; virtualisation.oci-containers = { backend = "podman"; @@ -381,7 +381,7 @@ in inherit registrationFlags; - authenticationTokenConfigFile = config.age.secrets.gitlab-runner-token-config.path; + authenticationTokenConfigFile = runnerConfig.tokenFile; executor = "docker"; dockerImage = imageNames.default; diff --git a/nixos/tests/gitlab/runner/podman-executor/root/README.md b/nixos/tests/gitlab/runner/podman-runner/root/README.md similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/README.md rename to nixos/tests/gitlab/runner/podman-runner/root/README.md diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/containers.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/containers.conf rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/containers.conf diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/mounts.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/mounts.conf rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/mounts.conf diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/policy.json similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/policy.json rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/policy.json diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.conf.d/000-shortnames.conf rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/default.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/default.yaml rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/default.yaml diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.access.redhat.com.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.access.redhat.com.yaml rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.access.redhat.com.yaml diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.redhat.io.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/registries.d/registry.redhat.io.yaml rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.redhat.io.yaml diff --git a/nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/root/etc/containers/storage.conf rename to nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf diff --git a/nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix b/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/scripts/prebuild.nix rename to nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix diff --git a/nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh b/nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/scripts/recreate-nix-daemon-store.sh rename to nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh diff --git a/nixos/tests/gitlab/runner/podman-executor/virtualization.nix b/nixos/tests/gitlab/runner/podman-runner/virtualization.nix similarity index 100% rename from nixos/tests/gitlab/runner/podman-executor/virtualization.nix rename to nixos/tests/gitlab/runner/podman-runner/virtualization.nix diff --git a/nixos/tests/gitlab/runner/shell-executor.nix b/nixos/tests/gitlab/runner/shell-runner.nix similarity index 82% rename from nixos/tests/gitlab/runner/shell-executor.nix rename to nixos/tests/gitlab/runner/shell-runner.nix index 6f4089a92bd9..da2eaa1b94ea 100644 --- a/nixos/tests/gitlab/runner/shell-executor.nix +++ b/nixos/tests/gitlab/runner/shell-runner.nix @@ -3,7 +3,7 @@ }: # This is the runner config for the `nixosConfiguration.services.gitlab-runner.services.X` { - services.gitlab-runner.services = { + services.gitlab-runner.services.shell-runner = { description = runnerConfig.desc; authenticationTokenConfigFile = runnerConfig.tokenFile; From 785e48c39e54833e63fbba9a365a8ffa4e3298df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Fri, 21 Nov 2025 17:05:41 +0100 Subject: [PATCH 015/332] fix: down scale the VM to 5Gbi (works) --- .../gitlab/runner/podman-runner/virtualization.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/virtualization.nix b/nixos/tests/gitlab/runner/podman-runner/virtualization.nix index fcb281f3fea0..20b61294e830 100644 --- a/nixos/tests/gitlab/runner/podman-runner/virtualization.nix +++ b/nixos/tests/gitlab/runner/podman-runner/virtualization.nix @@ -1,5 +1,13 @@ -{ ... }: +{ lib, ... }: { + virtualisation = { + diskSize = 50000; + }; + + virtualisation.docker = { + enable = lib.mkForce false; + }; + virtualisation.podman = { enable = true; From 323a14cda41b6b0f8e809523fa0f3ee57edfd060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Fri, 21 Nov 2025 17:05:58 +0100 Subject: [PATCH 016/332] fix: wait for nix/podman daemon containers --- nixos/tests/gitlab/runner_test.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py index 2f74e12b57ac..2eff8cb63648 100644 --- a/nixos/tests/gitlab/runner_test.py +++ b/nixos/tests/gitlab/runner_test.py @@ -101,6 +101,7 @@ def test_register_runner(name: str, tokenFile: str): obj = json.loads(resp) r.id = obj["id"] r.token = obj["token"] + print("==> Registered runner '{r.id}' with token '{r.token}'.") # Push the token to the runner machine. print("==> Push runner token to machine.") @@ -112,8 +113,13 @@ def test_register_runner(name: str, tokenFile: str): vms.gitlab_runner.copy_from_host(str(tokenF), r.tokenFile) -def restart_gitlab_runner_service(): +def restart_gitlab_runner_service(runnerConfigs): print("==> Restart Gitlab Runner") + + if any([r.name == "podman" for r in runnerConfigs]): + vms.gitlab_runner.wait_for_unit("podman-nix-daemon-container.service") + vms.gitlab_runner.wait_for_unit("podman-podman-daemon-container.service") + vms.gitlab_runner.systemctl("restart gitlab-runner.service") vms.gitlab_runner.wait_for_unit("gitlab-runner.service") From 20bbb9af3b902c5dd8854aabdf7699589c60b973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Fri, 21 Nov 2025 17:49:07 +0100 Subject: [PATCH 017/332] fix: update documentation --- nixos/doc/manual/redirects.json | 4 +- .../example/get-podman-config-files.nix | 24 -- .../example/runner-prebuild-script.nix | 84 ----- .../gitlab-runner/example/runner.nix | 310 ------------------ .../gitlab-runner/runner.md | 61 ++-- 5 files changed, 35 insertions(+), 448 deletions(-) delete mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix delete mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix delete mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index 1add75cd1335..4eb7dc94da62 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -38,8 +38,8 @@ "module-boot-plymouth-tpm2-totp-quick-start-enable": [ "index.html#module-boot-plymouth-tpm2-totp-quick-start-enable" ], - "module-service-gitlab-runner": [ - "index.html#module-service-gitlab-runner#module-service-gitlab-runner" + "module-services-gitlab-runner": [ + "index.html#module-services-gitlab-runner" ], "sec-override-nixos-test": [ "index.html#sec-override-nixos-test" diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix deleted file mode 100644 index 62422dd874b9..000000000000 --- a/nixos/modules/services/continuous-integration/gitlab-runner/example/get-podman-config-files.nix +++ /dev/null @@ -1,24 +0,0 @@ -let - pkgs = ((import ) { overlays = [ ]; }); - lib = pkgs.lib; - dir = builtins.toString ./.; -in -pkgs.writeShellScriptBin "get-podman-config-files" '' - dir="''${1:-${dir}}" - mkdir -p "$dir/root/etc" "$dir/root/run" - podmanExe="${lib.getExe pkgs.podman}" - - function cleanup() { - true - "$podmanExe" container kill temp-buildah &>/dev/null || true - "$podmanExe" container rm temp-buildah &>/dev/null || true - } - trap cleanup EXIT - cleanup - - ${lib.getExe pkgs.podman} run -d --name temp-buildah 'quay.io/buildah/stable:latest' - echo "Writing files to '$dir/root/etc' ..." - - "$podmanExe" cp temp-buildah:/etc/containers "$dir/root/etc/" - ${pkgs.findutils}/bin/find "$dir/root" -type d -empty -delete -'' diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix deleted file mode 100644 index e5cc500b8426..000000000000 --- a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner-prebuild-script.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ writeShellScriptBin, nix }: -writeShellScriptBin "gitlab-runner-pre-build-script" - # bash - '' - set -e - set -u - - function section_start() { - local name="$1" - shift - echo -e "\e[0Ksection_start:$(date +%s):$name[collapsed=true]\r\e[0K$*" - } - - function section_end() { - local name="$1" - echo -e "\e[0Ksection_end:$(date +%s):$name\r\e[0K" - } - - function setup_nixos() { - # We need to allow modification of nix config for cachix as - # otherwise it is link to the read only file in the store. - cp --remove-destination \ - "$(readlink -f /etc/nix/nix.conf)" /etc/nix/nix.conf - - # shellcheck disable=SC1091 - . "${nix}/etc/profile.d/nix-daemon.sh" - } - - function setup_non_nixos() { - # shellcheck disable=SC2174 - { - echo "Set missing '/nix/var' directories." - mkdir -p -m 0755 /nix/var/log/nix/drvs - mkdir -p -m 0755 /nix/var/nix/gcroots - mkdir -p -m 0755 /nix/var/nix/profiles - mkdir -p -m 0755 /nix/var/nix/temproots - mkdir -p -m 0755 /nix/var/nix/userpool - mkdir -p -m 1777 /nix/var/nix/gcroots/per-user - mkdir -p -m 1777 /nix/var/nix/profiles/per-user - mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root - - echo "Set missing '~/.nix-defexpr'." - mkdir -p -m 0700 ~/.nix-defexpr - } - - echo "Source 'nix-daemon.sh'." - # shellcheck disable=SC1091 - . "${nix}/etc/profile.d/nix-daemon.sh" - - echo "Set nix experimental features." - mkdir -p ~/.config/nix - touch ~/.config/nix/nix.conf - echo "experimental-features = nix-command flakes" >>~/.config/nix/nix.conf - } - - function setup_pipeline_scratch_dir() { - scratch_dir="/scratch/$CI_PIPELINE_ID" - - echo "Create scrtach directory for pipeline: $scratch_dir" - mkdir -p "$scratch_dir" || { - echo "Could not create scratch dir '$scratch_dir'." >&2 - exit 1 - } - - export CI_CUSTODIAN_SCRATCH_DIR="$scratch_dir" - } - - function main() { - if [ "$IMAGE_OS_DIST" = "ubuntu" ] || [ "$IMAGE_OS_DIST" = "alpine" ]; then - setup_non_nixos - elif [ "$IMAGE_OS_DIST" = "nixos" ]; then - setup_nixos - else - echo "OS not implemented." - exit 1 - fi - - setup_pipeline_scratch_dir - } - - section_start gitlab-runner-prebuild "Gitlab-Runner PreBuild Script" - main "$@" - section_end gitlab-runner-prebuild - '' diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix deleted file mode 100644 index 476a13701031..000000000000 --- a/nixos/modules/services/continuous-integration/gitlab-runner/example/runner.nix +++ /dev/null @@ -1,310 +0,0 @@ -{ - lib, - pkgs, - ... -}: -let - fs = lib.fileset; - - # Get the repository for Nix for building the Nix image. - nix = builtins.fetchGit { - url = "https://github.com/NixOS/nix.git"; - ref = "master"; - }; - - # Either we use a Nix as the base image or Alpine. - jobImageNames = { - default = jobImageNames.alpine; - - nix = "local/nix"; - alpine = "local/alpine"; - ubuntu = "local/ubuntu"; - - all = with jobImageNames; [ - alpine - nix - ubuntu - ]; - }; - - noPruneLabels = { - no-prune = "true"; - }; - - # This derivation will contain a folder `/etc` - # If its added to `contents` all files in the - # derivation will be symlinked in `/`. - # NOTE: You need to run `nix run -f get-podman-config-files.nix` - auxRootFiles = fs.toSource { - root = ./root; - fileset = fs.gitTracked ./root/etc; - }; - - # The prebuild script which is run before every job. - preBuildScript = pkgs.callPackage ./scripts/runner-prebuild-script.nix { }; - - # Bootstrap packages which should always be in the `/nix/store`. - bootstrapPkgs = [ - pkgs.nix - pkgs.cacert - (lib.hiPrio pkgs.coreutils) - pkgs.findutils - (lib.hiPrio pkgs.git) - pkgs.openssh - pkgs.bash - ]; - - toEnvList = envs: lib.mapAttrsToList (k: v: "${k}=${v}") envs; - - # This is the Nix base image. - nixImageBase = pkgs.callPackage (import (nix.outPath + "/docker.nix")) { - name = "local/nix-base"; - tag = "latest"; - - bundleNixpkgs = false; - maxLayers = 2; - - # You can add here a user with uid,gid,uname,gname etc. - # We are using root. - - # The Nix store needs all packages which we have as content - # packages in the base images. - # The Nix store is mounted into the base image. - extraPkgs = bootstrapPkgs; - - nixConf = { - cores = "0"; - experimental-features = [ - "nix-command" - "flakes" - ]; - }; - }; - - # This is the daemon image which provides the store as volumes. - nixDaemonImage = pkgs.dockerTools.buildLayeredImage { - fromImage = nixImageBase; - name = "local/nix-daemon"; - tag = "latest"; - - contents = [ auxRootFiles ]; - - config = { - Volumes = { - "/nix/store" = { }; - "/nix/var/nix/db" = { }; - "/nix/var/nix/daemon-socket" = { }; - }; - Labels = noPruneLabels; - }; - maxLayers = 5; - }; - - jobImages = { - # The Nix base image for jobs. - nix = pkgs.dockerTools.buildLayeredImage { - fromImage = nixImageBase; - name = jobImageNames.nix; - tag = "latest"; - - contents = bootstrapPkgs ++ [ auxRootFiles ]; - - config = { - Labels = noPruneLabels; - Env = toEnvList envs.nix; - }; - maxLayers = 4; - }; - - # The Alpine base image for jobs. - # This is the analog image to `local/nix` but alpine based. - alpine = ( - let - # Update with: - # `shell - # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ - # --image-name alpine --image-tag latest - # ` - alpineBase = pkgs.dockerTools.pullImage { - imageName = "alpine"; - imageDigest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1"; - hash = "sha256-1Af8p6cYQs8sxlowz4BC6lC9eAOpNWYnIhCN7BSDKL0="; - finalImageName = "alpine"; - finalImageTag = "latest"; - }; - in - pkgs.dockerTools.buildLayeredImage { - fromImage = alpineBase; - name = jobImageNames.alpine; - tag = "latest"; - - # We need these packages in the container, to create the symlinks - # TODO: How to only keep the symlink and strip everything from /nix/store - # because it anyway gets overmounted. - contents = bootstrapPkgs ++ [ auxRootFiles ]; - - config = { - Labels = noPruneLabels; - Env = toEnvList envs.alpine; - }; - - # Only if `build buildLayeredImage`. - maxLayers = 15; - } - ); - - # This is the analog image to `local/nix` but ubuntu based. - ubuntu = - let - # Update with: - # ```shell - # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ - # --image-name ubuntu --image-tag latest - # ``` - ubuntuBase = pkgs.dockerTools.pullImage { - imageName = "ubuntu"; - imageDigest = "sha256:9cbed754112939e914291337b5e554b07ad7c392491dba6daf25eef1332a22e8"; - hash = "sha256-h9nSeiUrM6quWG0fpl1gH2vw2Jvh7k0yfapvcoIQ4rc="; - finalImageName = "ubuntu"; - finalImageTag = "latest"; - }; - in - (pkgs.dockerTools.buildLayeredImage { - fromImage = ubuntuBase; - name = jobImageNames.ubuntu; - tag = "latest"; - - # We need these packages in the container, to create the symlinks in `/bin/...`. - # TODO: How to only keep the symlink and strip everything from /nix/store - # because it anyway gets overmounted. - contents = bootstrapPkgs ++ [ auxRootFiles ]; - - config = { - Labels = noPruneLabels; - Env = toEnvList envs.ubuntu; - }; - - # Only if `build buildLayeredImage`. - maxLayers = 15; - }); - }; - - # The daemon container. - nixDaemonContainer = { - imageFile = nixDaemonImage; - image = "local/nix-daemon:latest"; - # I cannot denote these volumes because they overmount the - # shit which is in the image. - # TODO: make a systemd service which starts before - # that and creates some volumes and inits these from the image. - # volumes = [ - # "nix-daemon-store:/nix/store" - # "nix-daemon-db:/nix/var/nix/db" - # "nix-daemon-socket:/nix/var/nix/daemon-socket" - # ]; - cmd = [ - "nix" - "daemon" - ]; - }; - - # Environment variables for the containers. - envs = rec { - nix = { - IMAGE_OS_DIST = "nixos"; - NIX_REMOTE = "daemon"; - }; - - alpine = { - IMAGE_OS_DIST = "alpine"; - - NIX_REMOTE = "daemon"; - USER = "root"; - PATH = "/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin"; - SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - NIX_SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - }; - - ubuntu = alpine // { - IMAGE_OS_DIST = "ubuntu"; - }; - }; - - registrationFlags = [ - "--docker-volumes" - "gitlab-runner-cache:/scratch" - "--docker-volumes-from" - "nix-daemon-container:ro" - - "--docker-pull-policy" - "if-not-present" - - "--docker-allowed-pull-policies" - "if-not-present" - - "--docker-host" - "unix:///var/run/podman/podman.sock" - - "--docker-network-mode" - "host" - ]; - -in -{ - # Common containers settings. - virtualisation.containers.storage.settings = { - storage = { - driver = "overlay"; - graphroot = "/var/lib/containers/storage"; - runroot = "/run/containers/storage"; - - options.overlay = { - mountopt = "nodev,metacopy=on"; - }; - }; - }; - - # Common OCI container which should run. - virtualisation.oci-containers = { - backend = "podman"; - containers = { - nix-daemon-container = nixDaemonContainer; - } - // - # Workaround to add the job images to the registry. - lib.concatMapAttrs (name: image: { - "${name}-container" = { - imageFile = jobImages.${name}; - image = "${jobImageNames.${name}}:latest"; - cmd = [ "true" ]; - }; - }) jobImages; - }; - - # Define the Gitlab Runner. - services.gitlab-runner = { - enable = true; - - settings = { - log_level = "info"; - concurrent = 32; - check_interval = 2; - }; - - gracefulTermination = false; - - services.nix-runner = { - description = "Nix Runner (NixOS)"; - inherit registrationFlags; - authenticationTokenConfigFile = "/run/secrets/gitlab-runner/nix-runner-token.env"; - - executor = "docker"; - dockerImage = jobImageNames.default; - dockerAllowedImages = [ ]; - dockerPrivileged = false; - requestConcurrency = 4; - - preBuildScript = "${preBuildScript}/bin/gitlab-runner-pre-build-script"; - }; - }; -} diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md index 01e0fbb522e6..b927bd99e54b 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md +++ b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md @@ -10,14 +10,16 @@ configured executors The [services.gitlab-runner.services](https://search.nixos.org/options?query=services.gitlab-runner.services) documents a number of typical setups to configure multiple runners with -different executors. The [below example](#ex-gitlab-runner-podman) gives a **more elaborate** example how to +different executors. + +The [below example](#ex-gitlab-runner-podman) gives a **more elaborate** example how to configure a Gitlab Runner with caching and reasonably good security practices. ::: {#ex-gitlab-runner-podman .example} ## Example Gitlab Runner with `podman` and Nix Store Caching -The [example](./runner.nix) configures a Gitlab Runner with the following +The [VM tested podman-runner](../../../../../nixos/tests/gitlab/runner/podman-runner/default.nix) (a NixOS Module for reuse) configures a Gitlab Runner with the following features: - The executor is `podman` which gives you better additional safety than @@ -25,48 +27,51 @@ features: - The following container **images** are built with Nix: - **For Gitlab Jobs**: + **Container Images for Gitlab Jobs**: + - `local/alpine`: An image based on Alpine with a Nix installation + (variable `alpineImage`). + - `local/ubuntu`: An image based on Ubuntu with a Nix installation + (variable `ubuntuImage`). + - `local/nix`: An image based on Nix which only comes with `nix` + installed(variable `nixImage`). - - an image based on Ubuntu (name: `local/alpine`) with a Nix installation used - for job execution (variable `alpineImage`). - - an image based on Alpine (name: `local/ubuntu`) with a Nix installation used - for job execution (variable `ubuntuImage`). - - an image based on Nix (name: `local/nix`) which only comes with `nix` - installed. used for job execution (variable `nixImage`). - - **For Setup** - - - an image with (name: `local/nix-daemon-image`) with a Nix daemon which is + **Images for VM Setup**: + - `local/nix-daemon-image`: An image with with a Nix daemon which is used to share the `/nix/store` across jobs (variable `nixDaemonImage`). + - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is + used to run `podman` inside the above job containers images + (variable `podmanDaemonImage`). - Every job container runs in a `podman` container instance based by default on `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. - - - Each job containers will have the `/nix/store` mounted from a container + - Each job container will have the `/nix/store` mounted from a container `nix-daemon-container` (see registration flags `--docker-volumes-from "nix-daemon-container:ro"`). The `nix-daemon-container` is a single container instance of a `nixDaemonImage`. This enables caching of `/nix/store` paths across all jobs - in all runners. This makes **the host VM's `/nix/store` independent of the + in **all** runners. This makes **the host VM's `/nix/store` independent of the Nix store used in the jobs**, which is good. **Security:** If you don't want this you need multiple `nixDaemonImage` - containers for each runner. + containers for each registered runner (`gitlab-runner.services.`). + + - Each job container will have the `/run/podman/podman.sock` socket mounted from the + `podman-daemon-container`. + + The `podman-daemon-container` is a single container of `podmanDaemonImage` which runs + `podman` as a daemon. Job containers can use this daemon to spawn nested containers as well (podman-in-podman). **Keep in mind that `bind` mounts are local to the `podman-daemon-container`** and can be be worked around with a `podman volume create ` and manual copy-to/copy-from this volume ``. + + If you only need to build containers you don't need this feature (`podman-daemon-container`), see below point. + + Container configuration files (`auxRootFiles`) are copied to all containers to + ensure `podman` works inside the job containers. - The job containers do **not** mount the `podman` socket from the host (NixOS VM) mounted for security reasons. - **Note:**: One can still build container images with `buildah` (stripped - `podman` for building images) inside a job which runs `alpineImage`. - -### Prerequisites - -To make `buildah` (and also `podman`) work inside `local/alpine` and -`local/unbuntu` one needs some `podman` configuration files to place in `/etc` -folders in the container images. Get the files with -`nix run -f ./example/get-podman-config-files.nix` (see -[script](./example/get-podman-config-files.nix)). which will create a `root` -folder which is copied in the example into the images. + **Note:**: Building container images with `buildah` (stripped + `podman` for building images) inside a job which runs `alpineImage` + is still possible. ::: From 38434ea85b9572fc5dee18baa7527c3a577dcc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Fri, 21 Nov 2025 17:49:18 +0100 Subject: [PATCH 018/332] fix: disk size outside --- nixos/tests/gitlab/runner.nix | 6 +++++- nixos/tests/gitlab/runner/podman-runner/root/README.md | 6 ------ nixos/tests/gitlab/runner/podman-runner/virtualization.nix | 4 ---- nixos/tests/gitlab/runner_test.py | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 4d920e016080..285b5efbd354 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -62,6 +62,10 @@ in }) ]; + virtualisation = { + diskSize = 50000; + }; + # Define the Gitlab Runner. services.gitlab-runner = { enable = true; @@ -163,7 +167,7 @@ in test_connection() test_register_runner(name="shell", tokenFile="${runnerConfigs.shell.tokenFile}") test_register_runner(name="podman", tokenFile="${runnerConfigs.podman.tokenFile}") - restart_gitlab_runner_service() + restart_gitlab_runner_service(runnerConfigs) test_runner_registered(runnerConfigs["shell"]) test_runner_registered(runnerConfigs["podman"]) ''; diff --git a/nixos/tests/gitlab/runner/podman-runner/root/README.md b/nixos/tests/gitlab/runner/podman-runner/root/README.md index 9a844d036432..ccd5b0474792 100644 --- a/nixos/tests/gitlab/runner/podman-runner/root/README.md +++ b/nixos/tests/gitlab/runner/podman-runner/root/README.md @@ -2,9 +2,3 @@ These are some files which are copied to the image in the runner needed for `buildah` (`podman`). - -## Reference - -```shell -just update-root-files -``` diff --git a/nixos/tests/gitlab/runner/podman-runner/virtualization.nix b/nixos/tests/gitlab/runner/podman-runner/virtualization.nix index 20b61294e830..89a06023400d 100644 --- a/nixos/tests/gitlab/runner/podman-runner/virtualization.nix +++ b/nixos/tests/gitlab/runner/podman-runner/virtualization.nix @@ -1,9 +1,5 @@ { lib, ... }: { - virtualisation = { - diskSize = 50000; - }; - virtualisation.docker = { enable = lib.mkForce false; }; diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py index 2eff8cb63648..fa4446414a0c 100644 --- a/nixos/tests/gitlab/runner_test.py +++ b/nixos/tests/gitlab/runner_test.py @@ -116,7 +116,7 @@ def test_register_runner(name: str, tokenFile: str): def restart_gitlab_runner_service(runnerConfigs): print("==> Restart Gitlab Runner") - if any([r.name == "podman" for r in runnerConfigs]): + if any([n == "podman" for n in runnerConfigs.keys()]): vms.gitlab_runner.wait_for_unit("podman-nix-daemon-container.service") vms.gitlab_runner.wait_for_unit("podman-podman-daemon-container.service") From db247605a96c36eab97c06faf82c130bf302372e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 23 Nov 2025 16:56:26 +0100 Subject: [PATCH 019/332] fix: documentation --- nixos/doc/manual/redirects.json | 9 ++- nixos/modules/services/misc/gitlab.md | 82 ++++++++++++++++++++++++++- 2 files changed, 86 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index 4eb7dc94da62..fe45e035d41b 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -38,9 +38,6 @@ "module-boot-plymouth-tpm2-totp-quick-start-enable": [ "index.html#module-boot-plymouth-tpm2-totp-quick-start-enable" ], - "module-services-gitlab-runner": [ - "index.html#module-services-gitlab-runner" - ], "sec-override-nixos-test": [ "index.html#sec-override-nixos-test" ], @@ -1197,6 +1194,12 @@ "module-services-gitlab-maintenance-rake": [ "index.html#module-services-gitlab-maintenance-rake" ], + "module-services-gitlab-runner": [ + "index.html#module-services-gitlab-runner" + ], + "ex-gitlab-runner-podman": [ + "index.html#ex-gitlab-runner-podman" + ], "module-forgejo": [ "index.html#module-forgejo" ], diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index 5fbb66cf100b..589407cc0b39 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -124,6 +124,84 @@ A list of all available rake tasks can be obtained by running: $ sudo -u git -H gitlab-rake -T ``` -## Runner {#module-service-gitlab-runner} +## Runner {#module-services-gitlab-runner} -See [section](#module-services-gitlab-runner). +GitLab Runner is a CI runner which is an executable which you can host yourself. +A Gitlab pipeline runs operations over a Gitlab Runner. These can include +building an executable, running a test suite, pushing a docker image, etc. The +Gitlab Runner receives jobs from Gitlab which it then dispatches to the +configured executors +([`docker` (`podman`), or `shell` or `kubernetes`](https://docs.gitlab.com/runner/executors)). + +The +[services.gitlab-runner.services](https://search.nixos.org/options?query=services.gitlab-runner.services) +documents a number of typical setups to configure multiple runners with +different executors. + +The [below example](#ex-gitlab-runner-podman) gives a **more elaborate** example how to +configure a Gitlab Runner with caching and reasonably good security practices. + +::: {#ex-gitlab-runner-podman .example} + +## Example Gitlab Runner with `podman` and Nix Store Caching + +The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix) (a NixOS Module for reuse) configures a Gitlab Runner with the following +features: + +- The executor is `podman` which gives you better additional safety than + `docker`. That means every job is run in a `podman` container. + +- The following container **images** are built with Nix: + + **Container Images for Gitlab Jobs**: + - `local/alpine`: An image based on Alpine with a Nix installation + (variable `alpineImage`). + - `local/ubuntu`: An image based on Ubuntu with a Nix installation + (variable `ubuntuImage`). + - `local/nix`: An image based on Nix which only comes with `nix` + installed(variable `nixImage`). + + **Images for VM Setup**: + - `local/nix-daemon-image`: An image with with a Nix daemon which is + used to share the `/nix/store` across jobs (variable `nixDaemonImage`). + - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is + used to run `podman` inside the above job containers images + (variable `podmanDaemonImage`). + +- Every job container runs in a `podman` container instance based by default on + `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. + - Each job container will have the `/nix/store` mounted from a container + `nix-daemon-container` (see registration flags + `--docker-volumes-from "nix-daemon-container:ro"`). + + The `nix-daemon-container` is a single container instance of a + `nixDaemonImage`. This enables caching of `/nix/store` paths across all jobs + in **all** runners. This makes **the host VM's `/nix/store` independent of the + Nix store used in the jobs**, which is good. + + ::: {.note} + **Security:** If you don't want this you need multiple `nixDaemonImage` + containers for each registered runner (`gitlab-runner.services.`). + ::: + + - Each job container will have the `/run/podman/podman.sock` socket mounted from the + `podman-daemon-container`. + + The `podman-daemon-container` is a single container of a `podmanDaemonImage` which runs + `podman` as a daemon. Job containers can use this daemon to spawn nested containers as well (podman-in-podman). **Keep in mind that `bind` mounts are local to the `podman-daemon-container`** and can be be worked around with a `podman volume create ` and manual copy-to/copy-from this volume ``. + + If you only need to build containers you don't need this feature (`podman-daemon-container`), see below point. + + Container configuration files (`auxRootFiles`) are copied to all containers to + ensure `podman` works inside the job containers. + + - The job containers do **not** mount the `podman` socket from the host (NixOS + VM) mounted for security reasons. + + ::: {.note} + Building container images with `buildah` (stripped + `podman` for building images) inside a job which runs `alpineImage` + is still possible. + ::: + +::: From 6b3826779c971d23695b5f42b2492e59b53e7c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Wed, 26 Nov 2025 14:40:07 +0100 Subject: [PATCH 020/332] fix: 10gb disk --- nixos/tests/gitlab/runner.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index 285b5efbd354..f0ae33771cfd 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -63,7 +63,7 @@ in ]; virtualisation = { - diskSize = 50000; + diskSize = 10000; }; # Define the Gitlab Runner. From 9369697ded5c2f6e7d487ad09e79fc4c748ec076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Wed, 26 Nov 2025 15:00:11 +0100 Subject: [PATCH 021/332] fix: only run podman-runner test on x86_64-linux --- .../continuous-integration/gitlab-runner/runner.md | 6 +++--- nixos/modules/services/misc/gitlab.md | 4 ++-- nixos/tests/gitlab/runner.nix | 12 ++++++++---- nixos/tests/gitlab/runner/podman-runner/default.nix | 2 +- .../gitlab/runner/podman-runner/scripts/prebuild.nix | 2 +- nixos/tests/gitlab/runner_test.py | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md index b927bd99e54b..8b4267f06d9e 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md +++ b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md @@ -33,10 +33,10 @@ features: - `local/ubuntu`: An image based on Ubuntu with a Nix installation (variable `ubuntuImage`). - `local/nix`: An image based on Nix which only comes with `nix` - installed(variable `nixImage`). + installed (variable `nixImage`). **Images for VM Setup**: - - `local/nix-daemon-image`: An image with with a Nix daemon which is + - `local/nix-daemon-image`: An image with a Nix daemon which is used to share the `/nix/store` across jobs (variable `nixDaemonImage`). - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is used to run `podman` inside the above job containers images @@ -70,7 +70,7 @@ features: - The job containers do **not** mount the `podman` socket from the host (NixOS VM) mounted for security reasons. - **Note:**: Building container images with `buildah` (stripped + **Note:** Building container images with `buildah` (stripped `podman` for building images) inside a job which runs `alpineImage` is still possible. diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index 589407cc0b39..50ea3b042bc5 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -159,10 +159,10 @@ features: - `local/ubuntu`: An image based on Ubuntu with a Nix installation (variable `ubuntuImage`). - `local/nix`: An image based on Nix which only comes with `nix` - installed(variable `nixImage`). + installed (variable `nixImage`). **Images for VM Setup**: - - `local/nix-daemon-image`: An image with with a Nix daemon which is + - `local/nix-daemon-image`: An image with a Nix daemon which is used to share the `/nix/store` across jobs (variable `nixDaemonImage`). - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is used to run `podman` inside the above job containers images diff --git a/nixos/tests/gitlab/runner.nix b/nixos/tests/gitlab/runner.nix index f0ae33771cfd..8a97bea4b596 100644 --- a/nixos/tests/gitlab/runner.nix +++ b/nixos/tests/gitlab/runner.nix @@ -57,10 +57,14 @@ in (import ./runner/shell-runner.nix { runnerConfig = runnerConfigs.shell; }) - (import ./runner/podman-runner { - runnerConfig = runnerConfigs.shell; - }) - ]; + ] + # Only enable the podman runner on x86_64 + # cause of built images. + ++ (lib.optional pkgs.stdenv.buildPlatform.isx86_64 ( + import ./runner/podman-runner { + runnerConfig = runnerConfigs.podman; + } + )); virtualisation = { diskSize = 10000; diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index d634974154e0..75487a1333c0 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -39,7 +39,7 @@ # you can run `cd tools/nix/vm && just vm::status` # to get some information about the # running stuff. -# - You can clean all logs with `journalclt --vacuume-time=1s` +# - You can clean all logs with `journalctl --vacuum-time=1s` # - Also you can run `btop` on the machine to inspect the performance. # # TODO: use `.execConfig` on `gitlab-runner.service` created diff --git a/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix b/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix index e5cc500b8426..8071acd438fe 100644 --- a/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix +++ b/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix @@ -56,7 +56,7 @@ writeShellScriptBin "gitlab-runner-pre-build-script" function setup_pipeline_scratch_dir() { scratch_dir="/scratch/$CI_PIPELINE_ID" - echo "Create scrtach directory for pipeline: $scratch_dir" + echo "Create scratch directory for pipeline: $scratch_dir" mkdir -p "$scratch_dir" || { echo "Could not create scratch dir '$scratch_dir'." >&2 exit 1 diff --git a/nixos/tests/gitlab/runner_test.py b/nixos/tests/gitlab/runner_test.py index fa4446414a0c..adc98e363915 100644 --- a/nixos/tests/gitlab/runner_test.py +++ b/nixos/tests/gitlab/runner_test.py @@ -101,7 +101,7 @@ def test_register_runner(name: str, tokenFile: str): obj = json.loads(resp) r.id = obj["id"] r.token = obj["token"] - print("==> Registered runner '{r.id}' with token '{r.token}'.") + print(f"==> Registered runner '{r.id}' with token '{r.token}'.") # Push the token to the runner machine. print("==> Push runner token to machine.") From 7036e667cc7179836434cbd3ea7de969498bb402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Mon, 1 Dec 2025 23:57:31 +0100 Subject: [PATCH 022/332] nixos/glance: refactor to use `genJqSecretsReplacementSnippet` --- nixos/modules/services/web-apps/glance.nix | 45 +++------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/nixos/modules/services/web-apps/glance.nix b/nixos/modules/services/web-apps/glance.nix index 6cccc83ebaa0..7b46c966de3f 100644 --- a/nixos/modules/services/web-apps/glance.nix +++ b/nixos/modules/services/web-apps/glance.nix @@ -2,14 +2,13 @@ config, lib, pkgs, + utils, ... }: let cfg = config.services.glance; inherit (lib) - catAttrs - concatMapStrings getExe mkEnableOption mkIf @@ -18,17 +17,8 @@ let types ; - inherit (builtins) - concatLists - isAttrs - isList - attrNames - getAttr - ; - settingsFormat = pkgs.formats.yaml { }; - settingsFile = settingsFormat.generate "glance.yaml" cfg.settings; - mergedSettingsFile = "/run/glance/glance.yaml"; + settingsFile = "/run/glance/glance.yaml"; in { options.services.glance = { @@ -180,41 +170,16 @@ in requires = [ "nss-user-lookup.target" ]; - path = [ pkgs.replace-secret ]; serviceConfig = { ExecStartPre = - let - findSecrets = - data: - if isAttrs data then - if data ? _secret then - [ data ] - else - concatLists (map (attr: findSecrets (getAttr attr data)) (attrNames data)) - else if isList data then - concatLists (map findSecrets data) - else - [ ]; - secretPaths = catAttrs "_secret" (findSecrets cfg.settings); - mkSecretReplacement = secretPath: '' - replace-secret ${ - lib.escapeShellArgs [ - "_secret: ${secretPath}" - secretPath - mergedSettingsFile - ] - } - ''; - secretReplacements = concatMapStrings mkSecretReplacement secretPaths; - in # Use "+" to run as root because the secrets may not be accessible to glance "+" + pkgs.writeShellScript "glance-start-pre" '' - install -m 600 -o $USER ${settingsFile} ${mergedSettingsFile} - ${secretReplacements} + ${utils.genJqSecretsReplacementSnippet cfg.settings settingsFile} + chown $USER ${settingsFile} ''; - ExecStart = "${getExe cfg.package} --config ${mergedSettingsFile}"; + ExecStart = "${getExe cfg.package} --config ${settingsFile}"; Restart = "on-failure"; WorkingDirectory = "/var/lib/glance"; EnvironmentFile = cfg.environmentFile; From fcd8c8386218c9fab04c5463e7d22494421dc4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 2 Dec 2025 00:25:56 +0100 Subject: [PATCH 023/332] nixos/glance: add maintainer gepbird --- nixos/modules/services/web-apps/glance.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/glance.nix b/nixos/modules/services/web-apps/glance.nix index 7b46c966de3f..016fb9f7d993 100644 --- a/nixos/modules/services/web-apps/glance.nix +++ b/nixos/modules/services/web-apps/glance.nix @@ -210,5 +210,7 @@ in }; meta.doc = ./glance.md; - meta.maintainers = [ ]; + meta.maintainers = with lib.maintainers; [ + gepbird + ]; } From 57ab91bd74d246b50442cd01643bc4de0a49a153 Mon Sep 17 00:00:00 2001 From: kilianar Date: Fri, 21 Nov 2025 11:25:39 +0100 Subject: [PATCH 024/332] wealthfolio: 1.2.3 -> 2.1.0 https://github.com/afadil/wealthfolio/releases/tag/v2.1.0 --- pkgs/by-name/we/wealthfolio/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/we/wealthfolio/package.nix b/pkgs/by-name/we/wealthfolio/package.nix index 9c72251fd98d..3a668d98ff61 100644 --- a/pkgs/by-name/we/wealthfolio/package.nix +++ b/pkgs/by-name/we/wealthfolio/package.nix @@ -18,19 +18,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "wealthfolio"; - version = "1.2.3"; + version = "2.1.0"; src = fetchFromGitHub { owner = "afadil"; repo = "wealthfolio"; rev = "v${finalAttrs.version}"; - hash = "sha256-bp8BxJp/Ga9Frqyvl76Fh9AfSEKv3W+P1ND9zqeMXhg="; + hash = "sha256-pLiSidcuRTcykHDgW2pw+h0t/42g6u3LlioSEDA0lIo="; }; pnpmDeps = pnpm_9.fetchDeps { inherit (finalAttrs) src pname version; fetcherVersion = 1; - hash = "sha256-imExQiPl6sjYD//p788dGYEn+DRs9H8l9sGmCdl5Cic="; + hash = "sha256-TcoyNIVb/aDgXIsNDvzTMfsewmefU9ck+uSHv/tbH/k="; }; cargoRoot = "src-tauri"; @@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { src cargoRoot ; - hash = "sha256-CiEtxZn+kqYqS0sx9SLPvIkOTq2La48gQp+xx9z5BJs="; + hash = "sha256-R6lU4BPFlFxQqxmP5EWQsYwe1QGIlKVhp/iNiD9pKQo="; }; nativeBuildInputs = [ From 868af2fdcb0fd68a9508fd043aa83fe805d7c755 Mon Sep 17 00:00:00 2001 From: Safenein Date: Fri, 14 Nov 2025 12:19:50 +0100 Subject: [PATCH 025/332] zuban: 0.1.0 -> 0.3.0 and typeshed fix wrapping is no longer necessary, and so is removed. thanks to bew and mirkolenz and #16 (zubanls/zuban). Signed-off-by: Safenein --- pkgs/by-name/zu/zuban/package.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zu/zuban/package.nix b/pkgs/by-name/zu/zuban/package.nix index f072b38cec86..171b5ae32757 100644 --- a/pkgs/by-name/zu/zuban/package.nix +++ b/pkgs/by-name/zu/zuban/package.nix @@ -4,22 +4,29 @@ rustPlatform, versionCheckHook, nix-update-script, + python3, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "zuban"; - version = "0.1.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "zubanls"; repo = "zuban"; tag = "v${finalAttrs.version}"; - hash = "sha256-nSQf3I9O5TP1V8kwJrcBRREqS/47UlILx3IZMmt5ljQ="; + hash = "sha256-LHIrIO9ew5iXgem9W7QkPGic8XH6fQymLrbvQbmkB0M="; + fetchSubmodules = true; }; + postInstall = '' + mkdir -p $out/${python3.sitePackages}/zuban + cp -r third_party $out/${python3.sitePackages}/zuban/ + ''; + buildAndTestSubdir = "crates/zuban"; - cargoHash = "sha256-Q09ZUBVa52fXIKiL6aC9VZB+4Rt/hI045CIjb/t3Xyg="; + cargoHash = "sha256-y3lqa+WWY8+KG59DzGdpiBLMybeqeN1fMAUMFidHX3Q="; nativeInstallCheckInputs = [ versionCheckHook From 2a96e60a95a04e0a36358ab5c538d3bdd0961de4 Mon Sep 17 00:00:00 2001 From: Benoit de Chezelles Date: Wed, 3 Dec 2025 09:12:07 +0100 Subject: [PATCH 026/332] zuban: add bew as maintainer --- pkgs/by-name/zu/zuban/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/zu/zuban/package.nix b/pkgs/by-name/zu/zuban/package.nix index 171b5ae32757..3100f787a175 100644 --- a/pkgs/by-name/zu/zuban/package.nix +++ b/pkgs/by-name/zu/zuban/package.nix @@ -46,6 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: { changelog = "https://zubanls.com/blog/"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ + bew mcjocobe ]; platforms = lib.platforms.all; From a23407aeb5967ed36f9a6af7003511e4b5625344 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 3 Dec 2025 21:46:49 +0000 Subject: [PATCH 027/332] arftracksat: init at unstable-2025-09-15 --- pkgs/by-name/ar/arftracksat/package.nix | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pkgs/by-name/ar/arftracksat/package.nix diff --git a/pkgs/by-name/ar/arftracksat/package.nix b/pkgs/by-name/ar/arftracksat/package.nix new file mode 100644 index 000000000000..38c1f53cd6c7 --- /dev/null +++ b/pkgs/by-name/ar/arftracksat/package.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, + nlohmann_json, + freeglut, + libGL, + libGLU, + curlpp, + glm, +}: + +stdenv.mkDerivation { + pname = "arftracksat"; + version = "unstable-2025-09-15"; + + src = fetchFromGitHub { + owner = "arf20"; + repo = "arftracksat"; + rev = "5c9b3866b6fcd95382ff56c68cdd38f3d08c1372"; + hash = "sha256-inCgsxrJkBNGmdGPd28XnOJYCiatL35TxDcfvZjA2cY="; + }; + + nativeBuildInputs = [ + cmake + ]; + + postPatch = '' + substituteInPlace src/main.cpp --replace-fail '/usr/local' "$out" + substituteInPlace config.json --replace-fail '/usr/local' "$out" + ''; + + buildInputs = [ + curl + nlohmann_json + freeglut + libGL + libGLU + curlpp + glm + ]; + + meta = { + description = "Satellite tracking software for linux"; + homepage = "https://github.com/arf20/arftracksat"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ matthewcroughan ]; + mainProgram = "arftracksat"; + platforms = lib.platforms.all; + }; +} From 1946cc6c9ce7fbd5a26b9f8d3a2e17b086e21d09 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 4 Dec 2025 08:32:59 +0000 Subject: [PATCH 028/332] boxflat: 1.35.2 -> 1.35.3 --- pkgs/by-name/bo/boxflat/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bo/boxflat/package.nix b/pkgs/by-name/bo/boxflat/package.nix index 377ce8b80459..c583dc98dd6d 100644 --- a/pkgs/by-name/bo/boxflat/package.nix +++ b/pkgs/by-name/bo/boxflat/package.nix @@ -14,14 +14,14 @@ python3Packages.buildPythonPackage rec { pname = "boxflat"; - version = "1.35.2"; + version = "1.35.3"; pyproject = true; src = fetchFromGitHub { owner = "Lawstorant"; repo = "boxflat"; tag = "v${version}"; - hash = "sha256-7JIIFti8LHBIDBr+GywImlP2l3Ct/hq4pb5+2/q+F0k="; + hash = "sha256-ayreXC73OLNpnwNuJe0ImC/ch5W+O0lnkuD31ztTqso="; }; build-system = [ python3Packages.setuptools ]; From 39b46aafc52d76c31c44ddcd09a5d92bc3b93d8d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 4 Dec 2025 19:12:21 +0000 Subject: [PATCH 029/332] protonvpn-gui: 4.12.0 -> 4.13.0 --- pkgs/by-name/pr/protonvpn-gui/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/protonvpn-gui/package.nix b/pkgs/by-name/pr/protonvpn-gui/package.nix index 49a7b2669187..fc4b54a9cf62 100644 --- a/pkgs/by-name/pr/protonvpn-gui/package.nix +++ b/pkgs/by-name/pr/protonvpn-gui/package.nix @@ -12,14 +12,14 @@ python3Packages.buildPythonApplication rec { pname = "protonvpn-gui"; - version = "4.12.0"; + version = "4.13.0"; pyproject = true; src = fetchFromGitHub { owner = "ProtonVPN"; repo = "proton-vpn-gtk-app"; tag = "v${version}"; - hash = "sha256-pDTzqTiGAisVEHwez526z9C9GzNkMWl6Cui8E6siIXo="; + hash = "sha256-1T8gh0aKYiVnkr4SLg2a5Hcc8FQn8llofCXxeZGwd8I="; }; nativeBuildInputs = [ From f03fce40e5830907031203fbeace8c7d188a5c5a Mon Sep 17 00:00:00 2001 From: sh4k0 Date: Fri, 5 Dec 2025 10:35:45 +0100 Subject: [PATCH 030/332] xmage: 1.4.57 -> 1.4.58 --- pkgs/by-name/xm/xmage/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xm/xmage/package.nix b/pkgs/by-name/xm/xmage/package.nix index 5dfb04c6b195..a10ea4448674 100644 --- a/pkgs/by-name/xm/xmage/package.nix +++ b/pkgs/by-name/xm/xmage/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "xmage"; - version = "1.4.57-dev_2025-04-19_14-28"; + version = "1.4.58-dev_2025-10-06_20-40"; src = fetchurl { url = "http://xmage.today/files/mage-full_${finalAttrs.version}.zip"; - sha256 = "sha256-EeaUd81fqiPDqHiMP86E9gtdFi545PIBfCgb1i5Z5i0="; + sha256 = "sha256-UOtxV+ykDIH+PLjLrC66Rut92IIw2iDHWwvJ2ytmUAs="; }; preferLocalBuild = true; From 3315ef205dfa8a173e90227bebcc89b7e47ba8de Mon Sep 17 00:00:00 2001 From: Mikael Voss Date: Mon, 8 Dec 2025 14:41:12 +0100 Subject: [PATCH 031/332] akkoma: 3.15.2 -> 3.17.0 --- pkgs/by-name/ak/akkoma/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ak/akkoma/package.nix b/pkgs/by-name/ak/akkoma/package.nix index 24b91973a4ed..02f4e56fcd2c 100644 --- a/pkgs/by-name/ak/akkoma/package.nix +++ b/pkgs/by-name/ak/akkoma/package.nix @@ -10,14 +10,17 @@ beamPackages.mixRelease rec { pname = "akkoma"; - version = "3.15.2"; + version = "3.17.0"; src = fetchFromGitea { domain = "akkoma.dev"; owner = "AkkomaGang"; repo = "akkoma"; tag = "v${version}"; - hash = "sha256-GW86OyO/XPIrCS+cPKQ8LG8PdhhfA2rNH1FXFiuL6vM="; + hash = "sha256-RXKqeaS+cvOGQNMU/g2lbAk/V1JbkU2XXqITqv1U/wU="; + + # upstream repository archive fetching is broken + forceFetchGit = true; }; nativeBuildInputs = [ cmake ]; @@ -36,7 +39,7 @@ beamPackages.mixRelease rec { mixFodDeps = beamPackages.fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version; - hash = "sha256-ygRj0s9J2/nBXR5s9CE7eMRBxsRhKlV/IZrkwPpco14="; + hash = "sha256-DqSeMjom9UjgGjjfJomWCr7jQhXEkqVrDCvW3+pDtcQ="; postInstall = '' substituteInPlace "$out/http_signatures/mix.exs" \ From 8aeafd4e793b2275fa9aad08baa279afa22a1c8e Mon Sep 17 00:00:00 2001 From: Mikael Voss Date: Mon, 8 Dec 2025 14:42:02 +0100 Subject: [PATCH 032/332] akkoma-fe: 3.15.0 -> 3.12.0 Despite the lower version number, 3.12.0 is more recent than 3.15.0. --- pkgs/by-name/ak/akkoma-fe/package.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ak/akkoma-fe/package.nix b/pkgs/by-name/ak/akkoma-fe/package.nix index ce282974eac4..ef526ffe4a51 100644 --- a/pkgs/by-name/ak/akkoma-fe/package.nix +++ b/pkgs/by-name/ak/akkoma-fe/package.nix @@ -15,14 +15,17 @@ stdenv.mkDerivation (finalAttrs: { pname = "akkoma-fe"; - version = "3.15.0"; + version = "3.12.0"; src = fetchFromGitea { domain = "akkoma.dev"; owner = "AkkomaGang"; repo = "akkoma-fe"; tag = "v${finalAttrs.version}"; - hash = "sha256-VKYeJwAc4pMpF1dWBnx5D39ffNk7eGpJI2es+GAxdow="; + hash = "sha256-DK+KLAcT/10qhwmB+GoHN/7nOKJEJ32zSao8/fjgW7E="; + + # upstream repository archive fetching is broken + forceFetchGit = true; }; offlineCache = fetchYarnDeps { From bc311b4c29240929ef2051772ab00cf1e08f04ed Mon Sep 17 00:00:00 2001 From: Heitor Augusto <44377258+HeitorAugustoLN@users.noreply.github.com> Date: Mon, 24 Nov 2025 15:26:58 -0300 Subject: [PATCH 033/332] ghatm: init at 0.3.7 --- pkgs/by-name/gh/ghatm/package.nix | 54 +++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 pkgs/by-name/gh/ghatm/package.nix diff --git a/pkgs/by-name/gh/ghatm/package.nix b/pkgs/by-name/gh/ghatm/package.nix new file mode 100644 index 000000000000..ef5c780c0fab --- /dev/null +++ b/pkgs/by-name/gh/ghatm/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "ghatm"; + version = "0.3.7"; + + src = fetchFromGitHub { + owner = "suzuki-shunsuke"; + repo = "ghatm"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t8DjUHsbU1ovBaB2bINEG7gpm1MFQCnoanunfrrTKWU="; + }; + + vendorHash = "sha256-M0FOwsyXgNr05uofTZN6XcoWU/xaGVPE4ncyzddTKEI="; + + ldflags = [ + "-s" + "-w" + "-X main.version=${finalAttrs.version}" + "-X main.commit=v${finalAttrs.version}" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd ghatm \ + --bash <($out/bin/ghatm completion bash) \ + --zsh <($out/bin/ghatm completion zsh) \ + --fish <($out/bin/ghatm completion fish) + ''; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + versionCheckProgramArg = "version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + changelog = "https://github.com/suzuki-shunsuke/ghatm/releases/tag/v${finalAttrs.version}"; + description = "Set timeout-minutes to all GitHub Actions jobs"; + homepage = "https://github.com/suzuki-shunsuke/ghatm"; + license = lib.licenses.mit; + mainProgram = "ghatm"; + maintainers = with lib.maintainers; [ HeitorAugustoLN ]; + platforms = lib.platforms.all; + }; +}) From fc295b1e286c79e011bba5c9fa253c62ec32a658 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Thu, 27 Nov 2025 12:41:28 +0800 Subject: [PATCH 034/332] fetchgit: take postCheckout to allow collecting revision without leaving .git --- pkgs/build-support/fetchgit/default.nix | 7 +++++++ pkgs/build-support/fetchgit/tests.nix | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index 7a8f689df439..6bd8b632f2f8 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -83,6 +83,8 @@ lib.makeOverridable ( # run operations between the checkout completing and deleting the .git # directory. preFetch ? "", + # Shell code executed after `git checkout` and before .git directory removal/sanitization. + postCheckout ? "", # Shell code executed after the file has been fetched # successfully. This can do things like check or transform the file. postFetch ? "", @@ -171,6 +173,7 @@ lib.makeOverridable ( deepClone branchName preFetch + postCheckout postFetch fetchTags rootDir @@ -227,6 +230,10 @@ lib.makeOverridable ( inherit preferLocalBuild meta allowedRequisites; + env = { + NIX_PREFETCH_GIT_CHECKOUT_HOOK = finalAttrs.postCheckout; + }; + passthru = { gitRepoUrl = url; } diff --git a/pkgs/build-support/fetchgit/tests.nix b/pkgs/build-support/fetchgit/tests.nix index 9ccb3ff3058b..c836f830545d 100644 --- a/pkgs/build-support/fetchgit/tests.nix +++ b/pkgs/build-support/fetchgit/tests.nix @@ -17,6 +17,16 @@ sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; }; + collect-rev = testers.invalidateFetcherByDrvHash fetchgit { + name = "collect-rev-nix-source"; + url = "https://github.com/NixOS/nix"; + rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; + hash = "sha256-AUTX1K7J5+fojvKYJacXYVV5kio3hrWYz5MCekO6h68="; + postCheckout = '' + git -C "$out" rev-parse HEAD | tee "$out/revision.txt" + ''; + }; + sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit { name = "sparse-checkout-nix-source"; url = "https://github.com/NixOS/nix"; From cbd24f4a8a18f881ed9e468a434cf4127618ba09 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sat, 29 Nov 2025 20:40:32 +0800 Subject: [PATCH 035/332] tests.fetchgit: add simple-tag --- pkgs/build-support/fetchgit/tests.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/build-support/fetchgit/tests.nix b/pkgs/build-support/fetchgit/tests.nix index c836f830545d..e1d2ad2c2bed 100644 --- a/pkgs/build-support/fetchgit/tests.nix +++ b/pkgs/build-support/fetchgit/tests.nix @@ -27,6 +27,13 @@ ''; }; + simple-tag = testers.invalidateFetcherByDrvHash fetchgit { + name = "simple-tag-nix-source"; + url = "https://github.com/NixOS/nix"; + tag = "2.3.15"; + hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; + }; + sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit { name = "sparse-checkout-nix-source"; url = "https://github.com/NixOS/nix"; From 1f04d8a258ce534350bee9b3a2e888dc9f331e46 Mon Sep 17 00:00:00 2001 From: Mikael Voss Date: Tue, 9 Dec 2025 14:41:51 +0100 Subject: [PATCH 036/332] akkoma-fe: build using yarn{Config,Build}Hook --- pkgs/by-name/ak/akkoma-fe/package.nix | 31 +++++---------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/pkgs/by-name/ak/akkoma-fe/package.nix b/pkgs/by-name/ak/akkoma-fe/package.nix index ef526ffe4a51..6fae60b35fb9 100644 --- a/pkgs/by-name/ak/akkoma-fe/package.nix +++ b/pkgs/by-name/ak/akkoma-fe/package.nix @@ -4,8 +4,8 @@ fetchFromGitea, fetchYarnDeps, writableTmpDirAsHomeHook, - fixup-yarn-lock, - yarn, + yarnConfigHook, + yarnBuildHook, nodejs, jpegoptim, oxipng, @@ -28,15 +28,15 @@ stdenv.mkDerivation (finalAttrs: { forceFetchGit = true; }; - offlineCache = fetchYarnDeps { + yarnOfflineCache = fetchYarnDeps { yarnLock = finalAttrs.src + "/yarn.lock"; hash = "sha256-QB523QZX8oBMHWBSFF7MpaWWXc+MgEUaw/2gsCPZ9a4="; }; nativeBuildInputs = [ writableTmpDirAsHomeHook - fixup-yarn-lock - yarn + yarnConfigHook + yarnBuildHook nodejs jpegoptim oxipng @@ -51,27 +51,6 @@ stdenv.mkDerivation (finalAttrs: { build/webpack.prod.conf.js ''; - configurePhase = '' - runHook preConfigure - - yarn config --offline set yarn-offline-mirror ${lib.escapeShellArg finalAttrs.offlineCache} - fixup-yarn-lock yarn.lock - - yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - export NODE_ENV="production" - export NODE_OPTIONS="--openssl-legacy-provider" - yarn run build --offline - - runHook postBuild - ''; - installPhase = '' runHook preInstall From d6d8fb8573cd3e5e8d42378fe9de21f3a3293dd7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 10 Dec 2025 06:32:23 +0000 Subject: [PATCH 037/332] atlantis: 0.37.1 -> 0.38.0 --- pkgs/by-name/at/atlantis/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/at/atlantis/package.nix b/pkgs/by-name/at/atlantis/package.nix index 639001e31b3c..d236fba2c43d 100644 --- a/pkgs/by-name/at/atlantis/package.nix +++ b/pkgs/by-name/at/atlantis/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "atlantis"; - version = "0.37.1"; + version = "0.38.0"; src = fetchFromGitHub { owner = "runatlantis"; repo = "atlantis"; tag = "v${finalAttrs.version}"; - hash = "sha256-Dv9vf4Ye5LEwJ19RW7wJUgAAPLDtRIAoZt0xTsxODYg="; + hash = "sha256-5V+2MgVcxq3DtMkBeA64mUaSL3zYG/+c1SbChaRbQ98="; }; ldflags = [ @@ -21,7 +21,7 @@ buildGoModule (finalAttrs: { "-X=main.date=1970-01-01T00:00:00Z" ]; - vendorHash = "sha256-ZJF+Q5SFn92mUMm7HhK5WyRYTvJEYThnSbv1FPeI4hk="; + vendorHash = "sha256-bdZn2cNSpmV1nngQWBFkf2G0uxlJF1UX50oMZYU7+i0="; subPackages = [ "." ]; From 718958cc4a10a1a5253e33e849aa901c0be207e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Wed, 10 Dec 2025 18:53:22 +0100 Subject: [PATCH 038/332] fix: remove obsolete comments --- .../root/etc/containers/registries.conf | 77 --------- .../registries.conf.d/000-shortnames.conf | 131 -------------- .../root/etc/containers/storage.conf | 162 ------------------ 3 files changed, 370 deletions(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf index bfe0335521df..c3a575800d86 100644 --- a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf +++ b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf @@ -1,79 +1,2 @@ -# For more information on this configuration file, see containers-registries.conf(5). -# -# NOTE: RISK OF USING UNQUALIFIED IMAGE NAMES -# We recommend always using fully qualified image names including the registry -# server (full dns name), namespace, image name, and tag -# (e.g., registry.redhat.io/ubi8/ubi:latest). Pulling by digest (i.e., -# quay.io/repository/name@digest) further eliminates the ambiguity of tags. -# When using short names, there is always an inherent risk that the image being -# pulled could be spoofed. For example, a user wants to pull an image named -# `foobar` from a registry and expects it to come from myregistry.com. If -# myregistry.com is not first in the search list, an attacker could place a -# different `foobar` image at a registry earlier in the search list. The user -# would accidentally pull and run the attacker's image and code rather than the -# intended content. We recommend only adding registries which are completely -# trusted (i.e., registries which don't allow unknown or anonymous users to -# create accounts with arbitrary names). This will prevent an image from being -# spoofed, squatted or otherwise made insecure. If it is necessary to use one -# of these registries, it should be added at the end of the list. -# -# # An array of host[:port] registries to try when pulling an unqualified image, in order. -# unqualified-search-registries = ["example.com"] unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io"] -# -# [[registry]] -# # The "prefix" field is used to choose the relevant [[registry]] TOML table; -# # (only) the TOML table with the longest match for the input image name -# # (taking into account namespace/repo/tag/digest separators) is used. -# # -# # The prefix can also be of the form: *.example.com for wildcard subdomain -# # matching. -# # -# # If the prefix field is missing, it defaults to be the same as the "location" field. -# prefix = "example.com/foo" -# -# # If true, unencrypted HTTP as well as TLS connections with untrusted -# # certificates are allowed. -# insecure = false -# -# # If true, pulling images with matching names is forbidden. -# blocked = false -# -# # The physical location of the "prefix"-rooted namespace. -# # -# # By default, this is equal to "prefix" (in which case "prefix" can be omitted -# # and the [[registry]] TOML table can only specify "location"). -# # -# # Example: Given -# # prefix = "example.com/foo" -# # location = "internal-registry-for-example.com/bar" -# # requests for the image example.com/foo/myimage:latest will actually work with the -# # internal-registry-for-example.com/bar/myimage:latest image. -# -# # The location can be empty if prefix is in a -# # wildcarded format: "*.example.com". In this case, the input reference will -# # be used as-is without any rewrite. -# location = internal-registry-for-example.com/bar" -# -# # (Possibly-partial) mirrors for the "prefix"-rooted namespace. -# # -# # The mirrors are attempted in the specified order; the first one that can be -# # contacted and contains the image will be used (and if none of the mirrors contains the image, -# # the primary location specified by the "registry.location" field, or using the unmodified -# # user-specified reference, is tried last). -# # -# # Each TOML table in the "mirror" array can contain the following fields, with the same semantics -# # as if specified in the [[registry]] TOML table directly: -# # - location -# # - insecure -# [[registry.mirror]] -# location = "example-mirror-0.local/mirror-for-foo" -# [[registry.mirror]] -# location = "example-mirror-1.local/mirrors/foo" -# insecure = true -# # Given the above, a pull of example.com/foo/image:latest will try: -# # 1. example-mirror-0.local/mirror-for-foo/image:latest -# # 2. example-mirror-1.local/mirrors/foo/image:latest -# # 3. internal-registry-for-example.com/bar/image:latest -# # in order, and use the first one that exists. short-name-mode = "enforcing" diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf index 45fbe17958da..142e6158235c 100644 --- a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf +++ b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf @@ -1,136 +1,5 @@ [aliases] - # almalinux - "almalinux" = "docker.io/library/almalinux" - "almalinux-minimal" = "docker.io/library/almalinux-minimal" - # Amazon Linux - "amazonlinux" = "public.ecr.aws/amazonlinux/amazonlinux" - # Arch Linux - "archlinux" = "docker.io/library/archlinux" - # centos - "centos" = "quay.io/centos/centos" - # containers - "skopeo" = "quay.io/skopeo/stable" "buildah" = "quay.io/buildah/stable" "podman" = "quay.io/podman/stable" - "hello" = "quay.io/podman/hello" - "hello-world" = "quay.io/podman/hello" - # docker "alpine" = "docker.io/library/alpine" - "docker" = "docker.io/library/docker" - "registry" = "docker.io/library/registry" - "swarm" = "docker.io/library/swarm" - # Fedora - "fedora-bootc" = "registry.fedoraproject.org/fedora-bootc" - "fedora-minimal" = "registry.fedoraproject.org/fedora-minimal" - "fedora" = "registry.fedoraproject.org/fedora" - # Gentoo - "gentoo" = "docker.io/gentoo/stage3" - # openSUSE - "opensuse/tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed" - "opensuse/tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf" - "opensuse/tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf" - "opensuse/leap" = "registry.opensuse.org/opensuse/leap" - "opensuse/busybox" = "registry.opensuse.org/opensuse/busybox" - "tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed" - "tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf" - "tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf" - "leap" = "registry.opensuse.org/opensuse/leap" - "leap-dnf" = "registry.opensuse.org/opensuse/leap-dnf" - "leap-microdnf" = "registry.opensuse.org/opensuse/leap-microdnf" - "tw-busybox" = "registry.opensuse.org/opensuse/busybox" - # SUSE - "suse/sle15" = "registry.suse.com/suse/sle15" - "suse/sles12sp5" = "registry.suse.com/suse/sles12sp5" - "suse/sles12sp4" = "registry.suse.com/suse/sles12sp4" - "suse/sles12sp3" = "registry.suse.com/suse/sles12sp3" - "sle15" = "registry.suse.com/suse/sle15" - "sles12sp5" = "registry.suse.com/suse/sles12sp5" - "sles12sp4" = "registry.suse.com/suse/sles12sp4" - "sles12sp3" = "registry.suse.com/suse/sles12sp3" - "bci/bci-base" = "registry.suse.com/bci/bci-base" - "bci/bci-micro" = "registry.suse.com/bci/bci-micro" - "bci/bci-minimal" = "registry.suse.com/bci/bci-minimal" - "bci/bci-busybox" = "registry.suse.com/bci/bci-busybox" - # Red Hat Enterprise Linux - "rhel" = "registry.access.redhat.com/rhel" - "rhel6" = "registry.access.redhat.com/rhel6" - "rhel7" = "registry.access.redhat.com/rhel7" - "rhel7.9" = "registry.access.redhat.com/rhel7.9" - "rhel-atomic" = "registry.access.redhat.com/rhel-atomic" - "rhel9-bootc" = "registry.redhat.io/rhel9/rhel-bootc" - "rhel-minimal" = "registry.access.redhat.com/rhel-minimal" - "rhel-init" = "registry.access.redhat.com/rhel-init" - "rhel7-atomic" = "registry.access.redhat.com/rhel7-atomic" - "rhel7-minimal" = "registry.access.redhat.com/rhel7-minimal" - "rhel7-init" = "registry.access.redhat.com/rhel7-init" - "rhel7/rhel" = "registry.access.redhat.com/rhel7/rhel" - "rhel7/rhel-atomic" = "registry.access.redhat.com/rhel7/rhel7/rhel-atomic" - "ubi7/ubi" = "registry.access.redhat.com/ubi7/ubi" - "ubi7/ubi-minimal" = "registry.access.redhat.com/ubi7-minimal" - "ubi7/ubi-init" = "registry.access.redhat.com/ubi7-init" - "ubi7" = "registry.access.redhat.com/ubi7" - "ubi7-init" = "registry.access.redhat.com/ubi7-init" - "ubi7-minimal" = "registry.access.redhat.com/ubi7-minimal" - "rhel8" = "registry.access.redhat.com/ubi8" - "rhel8-init" = "registry.access.redhat.com/ubi8-init" - "rhel8-minimal" = "registry.access.redhat.com/ubi8-minimal" - "rhel8-micro" = "registry.access.redhat.com/ubi8-micro" - "ubi8" = "registry.access.redhat.com/ubi8" - "ubi8-minimal" = "registry.access.redhat.com/ubi8-minimal" - "ubi8-init" = "registry.access.redhat.com/ubi8-init" - "ubi8-micro" = "registry.access.redhat.com/ubi8-micro" - "ubi8/ubi" = "registry.access.redhat.com/ubi8/ubi" - "ubi8/ubi-minimal" = "registry.access.redhat.com/ubi8-minimal" - "ubi8/ubi-init" = "registry.access.redhat.com/ubi8-init" - "ubi8/ubi-micro" = "registry.access.redhat.com/ubi8-micro" - "ubi8/podman" = "registry.access.redhat.com/ubi8/podman" - "ubi8/buildah" = "registry.access.redhat.com/ubi8/buildah" - "ubi8/skopeo" = "registry.access.redhat.com/ubi8/skopeo" - "rhel9" = "registry.access.redhat.com/ubi9" - "rhel9-init" = "registry.access.redhat.com/ubi9-init" - "rhel9-minimal" = "registry.access.redhat.com/ubi9-minimal" - "rhel9-micro" = "registry.access.redhat.com/ubi9-micro" - "ubi9" = "registry.access.redhat.com/ubi9" - "ubi9-minimal" = "registry.access.redhat.com/ubi9-minimal" - "ubi9-init" = "registry.access.redhat.com/ubi9-init" - "ubi9-micro" = "registry.access.redhat.com/ubi9-micro" - "ubi9/ubi" = "registry.access.redhat.com/ubi9/ubi" - "ubi9/ubi-minimal" = "registry.access.redhat.com/ubi9-minimal" - "ubi9/ubi-init" = "registry.access.redhat.com/ubi9-init" - "ubi9/ubi-micro" = "registry.access.redhat.com/ubi9-micro" - "ubi9/podman" = "registry.access.redhat.com/ubi9/podman" - "ubi9/buildah" = "registry.access.redhat.com/ubi9/buildah" - "ubi9/skopeo" = "registry.access.redhat.com/ubi9/skopeo" - # Rocky Linux - "rockylinux" = "docker.io/library/rockylinux" - # Debian - "debian" = "docker.io/library/debian" - # Kali Linux - "kali-bleeding-edge" = "docker.io/kalilinux/kali-bleeding-edge" - "kali-dev" = "docker.io/kalilinux/kali-dev" - "kali-experimental" = "docker.io/kalilinux/kali-experimental" - "kali-last-release" = "docker.io/kalilinux/kali-last-release" - "kali-rolling" = "docker.io/kalilinux/kali-rolling" - # Ubuntu "ubuntu" = "docker.io/library/ubuntu" - # Oracle Linux - "oraclelinux" = "container-registry.oracle.com/os/oraclelinux" - # busybox - "busybox" = "docker.io/library/busybox" - # php - "php" = "docker.io/library/php" - # python - "python" = "docker.io/library/python" - # rust - "rust" = "docker.io/library/rust" - # node - "node" = "docker.io/library/node" - # Grafana Labs - "grafana/agent" = "docker.io/grafana/agent" - "grafana/grafana" = "docker.io/grafana/grafana" - "grafana/k6" = "docker.io/grafana/k6" - "grafana/loki" = "docker.io/grafana/loki" - "grafana/mimir" = "docker.io/grafana/mimir" - "grafana/oncall" = "docker.io/grafana/oncall" - "grafana/pyroscope" = "docker.io/grafana/pyroscope" - "grafana/tempo" = "docker.io/grafana/tempo" diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf index 99a4ac7b1783..9db50278d80b 100644 --- a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf +++ b/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf @@ -1,177 +1,15 @@ -# This file is the configuration file for all tools -# that use the containers/storage library. The storage.conf file -# overrides all other storage.conf files. Container engines using the -# container/storage library do not inherit fields from other storage.conf -# files. -# -# Note: The storage.conf file overrides other storage.conf files based on this precedence: -# /usr/containers/storage.conf -# /etc/containers/storage.conf -# $HOME/.config/containers/storage.conf -# $XDG_CONFIG_HOME/containers/storage.conf (If XDG_CONFIG_HOME is set) -# See man 5 containers-storage.conf for more information -# The "container storage" table contains all of the server options. [storage] - -# Default Storage Driver, Must be set for proper operation. driver = "overlay" - -# Temporary storage location runroot = "/run/containers/storage" - -# Primary Read/Write location of container storage -# When changing the graphroot location on an SELINUX system, you must -# ensure the labeling matches the default locations labels with the -# following commands: -# semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH -# restorecon -R -v /NEWSTORAGEPATH graphroot = "/var/lib/containers/storage" -# Optional alternate location of image store if a location separate from the -# container store is required. If set, it must be different than graphroot. -# imagestore = "" - - -# Storage path for rootless users -# -# rootless_storage_path = "$HOME/.local/share/containers/storage" - -# Transient store mode makes all container metadata be saved in temporary storage -# (i.e. runroot above). This is faster, but doesn't persist across reboots. -# Additional garbage collection must also be performed at boot-time, so this -# option should remain disabled in most configurations. -# transient_store = true - [storage.options] -# Storage options to be passed to underlying storage drivers - -# AdditionalImageStores is used to pass paths to additional Read/Only image stores -# Must be comma separated list. additionalimagestores = [ "/var/lib/shared", "/usr/lib/containers/storage", ] - -# Allows specification of how storage is populated when pulling images. This -# option can speed the pulling process of images compressed with format -# zstd:chunked. Containers/storage looks for files within images that are being -# pulled from a container registry that were previously pulled to the host. It -# can copy or create a hard link to the existing file when it finds them, -# eliminating the need to pull them from the container registry. These options -# can deduplicate pulling of content, disk storage of content and can allow the -# kernel to use less memory when running containers. - -# containers/storage supports four keys -# * enable_partial_images="true" | "false" -# Tells containers/storage to look for files previously pulled in storage -# rather then always pulling them from the container registry. -# * use_hard_links = "false" | "true" -# Tells containers/storage to use hard links rather then create new files in -# the image, if an identical file already existed in storage. -# * ostree_repos = "" -# Tells containers/storage where an ostree repository exists that might have -# previously pulled content which can be used when attempting to avoid -# pulling content from the container registry -# * convert_images = "false" | "true" -# If set to true, containers/storage will convert images to a -# format compatible with partial pulls in order to take advantage -# of local deduplication and hard linking. It is an expensive -# operation so it is not enabled by default. pull_options = {enable_partial_images = "true", use_hard_links = "false", ostree_repos=""} -# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of -# a container, to the UIDs/GIDs as they should appear outside of the container, -# and the length of the range of UIDs/GIDs. Additional mapped sets can be -# listed and will be heeded by libraries, but there are limits to the number of -# mappings which the kernel will allow when you later attempt to run a -# container. -# -# remap-uids = "0:1668442479:65536" -# remap-gids = "0:1668442479:65536" - -# Remap-User/Group is a user name which can be used to look up one or more UID/GID -# ranges in the /etc/subuid or /etc/subgid file. Mappings are set up starting -# with an in-container ID of 0 and then a host-level ID taken from the lowest -# range that matches the specified name, and using the length of that range. -# Additional ranges are then assigned, using the ranges which specify the -# lowest host-level IDs first, to the lowest not-yet-mapped in-container ID, -# until all of the entries have been used for maps. This setting overrides the -# Remap-UIDs/GIDs setting. -# -# remap-user = "containers" -# remap-group = "containers" - -# Root-auto-userns-user is a user name which can be used to look up one or more UID/GID -# ranges in the /etc/subuid and /etc/subgid file. These ranges will be partitioned -# to containers configured to create automatically a user namespace. Containers -# configured to automatically create a user namespace can still overlap with containers -# having an explicit mapping set. -# This setting is ignored when running as rootless. -# root-auto-userns-user = "storage" -# -# Auto-userns-min-size is the minimum size for a user namespace created automatically. -# auto-userns-min-size=1024 -# -# Auto-userns-max-size is the maximum size for a user namespace created automatically. -# auto-userns-max-size=65536 - [storage.options.overlay] -# ignore_chown_errors can be set to allow a non privileged user running with -# a single UID within a user namespace to run containers. The user can pull -# and use any image even those with multiple uids. Note multiple UIDs will be -# squashed down to the default uid in the container. These images will have no -# separation between the users in the container. Only supported for the overlay -# and vfs drivers. -#ignore_chown_errors = "false" - -# Inodes is used to set a maximum inodes of the container image. -# inodes = "" - -# Path to an helper program to use for mounting the file system instead of mounting it -# directly. mount_program = "/usr/bin/fuse-overlayfs" - -# mountopt specifies comma separated list of extra mount options mountopt = "nodev,fsync=0" - -# Set to skip a PRIVATE bind mount on the storage home directory. -# skip_mount_home = "false" - -# Set to use composefs to mount data layers with overlay. -# use_composefs = "false" - -# Size is used to set a maximum size of the container image. -# size = "" - -# ForceMask specifies the permissions mask that is used for new files and -# directories. -# -# The values "shared" and "private" are accepted. -# Octal permission masks are also accepted. -# -# "": No value specified. -# All files/directories, get set with the permissions identified within the -# image. -# "private": it is equivalent to 0700. -# All files/directories get set with 0700 permissions. The owner has rwx -# access to the files. No other users on the system can access the files. -# This setting could be used with networked based homedirs. -# "shared": it is equivalent to 0755. -# The owner has rwx access to the files and everyone else can read, access -# and execute them. This setting is useful for sharing containers storage -# with other users. For instance have a storage owned by root but shared -# to rootless users as an additional store. -# NOTE: All files within the image are made readable and executable by any -# user on the system. Even /etc/shadow within your image is now readable by -# any user. -# -# OCTAL: Users can experiment with other OCTAL Permissions. -# -# Note: The force_mask Flag is an experimental feature, it could change in the -# future. When "force_mask" is set the original permission mask is stored in -# the "user.containers.override_stat" xattr and the "mount_program" option must -# be specified. Mount programs like "/usr/bin/fuse-overlayfs" present the -# extended attribute permissions to processes within containers rather than the -# "force_mask" permissions. -# -# force_mask = "" From a2c4161b4552c398ee26a4f0e2fe603a9d0bd740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Wed, 10 Dec 2025 18:57:50 +0100 Subject: [PATCH 039/332] fix: add comment how to obtain these files --- nixos/tests/gitlab/runner/podman-runner/root/README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/root/README.md b/nixos/tests/gitlab/runner/podman-runner/root/README.md index ccd5b0474792..ea1ae8b6a9f9 100644 --- a/nixos/tests/gitlab/runner/podman-runner/root/README.md +++ b/nixos/tests/gitlab/runner/podman-runner/root/README.md @@ -1,4 +1,11 @@ # Content These are some files which are copied to the image in the runner needed for -`buildah` (`podman`). +`buildah` (`podman`): + +```bash +podman create --name temp-buildah quay.io/buildah/stable:latest +podman cp temp-buildah:/etc/containers ./etc/ +find ./etc -type d -empty -delete +podman container rm temp-buildah +``` From 91957ae4ac756904e634b653ab828b8ec419bdfa Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Thu, 11 Dec 2025 19:34:04 -0500 Subject: [PATCH 040/332] eclipse: fix update script to fail on prefetch failures --- pkgs/applications/editors/eclipse/update.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/eclipse/update.sh b/pkgs/applications/editors/eclipse/update.sh index 8d58ee6ad47c..92a7814a1307 100755 --- a/pkgs/applications/editors/eclipse/update.sh +++ b/pkgs/applications/editors/eclipse/update.sh @@ -58,8 +58,19 @@ for id in $(cat $ECLIPSES_JSON | jq -r '.eclipses | keys | .[]'); do url="https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-${id}-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; fi - echo "prefetching ${id} ${arch}"; - h=$(nix store prefetch-file --json "$url" | jq -r .hash); + # sometimes a mirror is down; retrying a few times should eventually get us redirected to a working mirror + for try in $(seq 1 5); do + echo "prefetching ${id} ${arch} (try ${try})"; + h=$(nix store prefetch-file --json "$url" | jq -r .hash); + + if [ "$h" != "" ]; then break; fi + done + + if [ "$h" == "" ]; then + echo "unable to prefetch and hash ${id} for ${arch} from ${url}"; + echo "see above output for errors"; + exit 1; + fi t=$(mktemp); cat $ECLIPSES_JSON | jq -r ".eclipses.${id}.hashes.${arch} = \"${h}\"" > $t; From b4146ca568a746995eb59ec5e6570813a327c4fa Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Thu, 11 Dec 2025 19:50:54 -0500 Subject: [PATCH 041/332] eclipses: minor cleanups * remove unused arguments * clean up documentation comment for update.sh a bit --- pkgs/applications/editors/eclipse/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index c43d9cb3179d..5eb5d8029bef 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -11,10 +11,8 @@ zlib, glib, gtk3, - gtk2, libXtst, jdk, - jdk8, gsettings-desktop-schemas, webkitgtk_4_1 ? null, # for internal web browser buildEnv, @@ -22,10 +20,12 @@ callPackage, }: -# use ./update.sh to help with updating for each quarterly release +# ./update.sh fully automates updating for each quarterly release. you can run +# it manually, or wait for https://nix-community.github.io/nixpkgs-update/ to do +# so. # -# then, to test: -# for e in cpp dsl embedcpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix-build -A ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done +# then, to test (on x86_64): +# for e in $(cat pkgs/applications/editors/eclipse/eclipses.json | jq '.eclipses | keys | .[] | ascii_downcase' -r); do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix-build -A ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done let eclipses = lib.trivial.importJSON ./eclipses.json; From bef0cd8e37f8138aab0adc2a4a326fd34bc7f171 Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Thu, 11 Dec 2025 19:43:12 -0500 Subject: [PATCH 042/332] eclipses: 4.37 -> 4.38 --- .../editors/eclipse/eclipses.json | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/pkgs/applications/editors/eclipse/eclipses.json b/pkgs/applications/editors/eclipse/eclipses.json index 677531611f02..02d7d01ffd6e 100644 --- a/pkgs/applications/editors/eclipse/eclipses.json +++ b/pkgs/applications/editors/eclipse/eclipses.json @@ -1,90 +1,90 @@ { "platform_major": "4", - "platform_minor": "37", - "version": "4.37", + "platform_minor": "38", + "version": "4.38", "year": "2025", - "month": "09", - "buildmonth": "09", - "dayHourMinute": "050730", + "month": "12", + "buildmonth": "12", + "dayHourMinute": "010920", "eclipses": { "cpp": { "description": "Eclipse IDE for C/C++ Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-La+sX7ouIfvgbXPNIlmkpDzwwiT5VJfkl4ma4eFKjqw=", - "aarch64": "sha256-U1kFulGX7apNrlY3WPeu/FqQqu3SoxfsHHErbAscFtE=" + "x86_64": "sha256-wlYGwfxKnF26qMSrUl0fsTDbECgXIL+ZIAr1BzwnK1Y=", + "aarch64": "sha256-xuTi++OZzj+jh7edNi3WQN0ie0HJB0Zrg023MT3px/c=" } }, "dsl": { "description": "Eclipse IDE for Java and DSL Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-8zXSMxKKTPnL8rqW7YT+6Gtud1pyHFmcLKOSihJWjCA=", - "aarch64": "sha256-7nsn3iWBp9N/mdcpyPH7j5tfV+sL/jCTuhvpDHmKx8I=" + "x86_64": "sha256-I6AcXthzv/uLlO5+Y27ZsbeftA3zzvUlApISsquS0sY=", + "aarch64": "sha256-j0gj5Tcfbyj3sQ6gHEexee6d4SNbOYMODTeZDbKbUBo=" } }, "embedcpp": { "description": "Eclipse IDE for Embedded C/C++ Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-48cEpt11ndShjxUCQDX2ObI+cx9frGloJ7EICjmErC8=", - "aarch64": "sha256-zSMDR+Y4JIdu+PoYFyk+FPNKcYbRiika2TeGg3g88pg=" + "x86_64": "sha256-sPyqRadyBQ24oO38bEy4VP4dTj6V+FwMVjxyniyTn5o=", + "aarch64": "sha256-CahsB9yBC8bLzwdfOOaidsP1VXXiELoot+DN8Zz2QqU=" } }, "modeling": { "description": "Eclipse Modeling Tools", "dropUrl": false, "hashes": { - "x86_64": "sha256-9Qq5ziLa2vjX6bJjZ67qwF4nVNdqTQ80kz9GANtJCIw=", - "aarch64": "sha256-6//g6G3U1fC5mGgOci6Zgxx3YTJEZQ2pMBVjbJ9/mPE=" + "x86_64": "sha256-jw1Ij7HG8J9usWT6cKXeZbZDxQTWp2pBZtG2BdU2Guw=", + "aarch64": "sha256-e4ieVltHzhBLGEh3NNKrKcfOyUQd0avIrhUB1CYbQls=" } }, "platform": { "description": "Eclipse Platform ${year}-${month}", "dropUrl": true, "hashes": { - "x86_64": "sha256-C8P9x7C0tMYFQwJiBlF5JycWvWcF71ZWsDEwXPl1K34=", - "aarch64": "sha256-8qpNqHpi1BEHQt3nkFbeLzQccPSwu0op2THyWulhnLU=" + "x86_64": "sha256-gicPSSoWyisPTUQXu3ndWrcNiCTgIaCnVCZbTFWp6Cc=", + "aarch64": "sha256-WSs9Y7iwhd+Wd4RQ/DMFGqIR4RjlceJgPCE2BSa55so=" } }, "SDK": { "description": "Eclipse ${year}-${month} Classic", "dropUrl": true, "hashes": { - "x86_64": "sha256-Kx9WEpu4UbCeeKfmWV0iIyAd09xh9ffHm39dahlIlW8=", - "aarch64": "sha256-MWI2KpZQPTbw7Ro0+3Ab+nnIzbSTPGwqjhBfeu4tmE8=" + "x86_64": "sha256-Vx8mnR81KpikZZikNwaHCz+KEfWd3Jvkzf9A6Chc0TE=", + "aarch64": "sha256-VMcPmucV+hZ88nnhdsklXqrrUFG5lrZLeYmC1XC5Wo4=" } }, "java": { "description": "Eclipse IDE for Java Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-L5vqC+jboYQAR+CtNAEXgDACxEG0r1rlx4ruc264cUc=", - "aarch64": "sha256-xxZjwmF24CbKeK7IQXkgylFTTGIHo1Wz6FnL/EUmCaQ=" + "x86_64": "sha256-Us5HNoQOt9OaTVAhVlFPMqAXD8hZkLs0IGppSpj2UuY=", + "aarch64": "sha256-SHgHlicA30Q7W6yNTGUgaovMYXIHohbhksbJKIRSFGk=" } }, "jee": { "description": "Eclipse IDE for Enterprise Java and Web Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-bFCbFLRtltZ/GJwAoFd3MH/FknDF6hnvX9LQHQs9eKg=", - "aarch64": "sha256-DXw/dt4Gjz0e7szjJUaKB3wsUdnNj3wCX8cVpMlYkCc=" + "x86_64": "sha256-z0nj/7dmlqjEE+PQEjJngf3GmTIc6O8F8TJm7yBFrQE=", + "aarch64": "sha256-MDBT9OJWBRd0twY5XoBukQaBTG1IP3xKE0g9kc86a/8=" } }, "committers": { "description": "Eclipse IDE for Eclipse Committers and Eclipse Platform Plugin Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-HF1RuiuDGFxwxFQrXXUcpssA4SnioTYGSjQrF0H/F2Q=", - "aarch64": "sha256-ZZ7Wy6Nua4sKPlFv/LaiM+pRrF23PEuUVK4I5rA40Sk=" + "x86_64": "sha256-meelcKp5AgfVCi13scA0TbPgkK9XsPvtS8HkyAYcUZs=", + "aarch64": "sha256-c/FxP0Snx70bkhZ+owkg/DFXu3AWdJtrPCKyqIqKfPs=" } }, "rcp": { "description": "Eclipse IDE for RCP and RAP Developers", "dropUrl": false, "hashes": { - "x86_64": "sha256-jxLIw4MaLqAi+b6l6lf56cb9z7J8NBUJYbbxhv65uSc=", - "aarch64": "sha256-A+3dk2FZaXBO/pb9F/33imO0Fk6j4zszLfnDsP+znG4=" + "x86_64": "sha256-0OgiJ11wMGeR1UjoLd3yoApDMhy3oZ1y4P2OxSJyRQA=", + "aarch64": "sha256-IywPOyQlZXTrJdjiRDVAKwlxMZ1+FvN/uxYYoJ++ez8=" } } } From ecc44a1263386b72148a2f39b410119b5caf81bb Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 10 Dec 2025 13:30:26 +0100 Subject: [PATCH 043/332] stable-diffusion-cpp: init at master-406-d939f6e --- .../st/stable-diffusion-cpp-cuda/package.nix | 3 + .../st/stable-diffusion-cpp-rocm/package.nix | 3 + .../stable-diffusion-cpp-vulkan/package.nix | 3 + .../st/stable-diffusion-cpp/package.nix | 126 ++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 pkgs/by-name/st/stable-diffusion-cpp-cuda/package.nix create mode 100644 pkgs/by-name/st/stable-diffusion-cpp-rocm/package.nix create mode 100644 pkgs/by-name/st/stable-diffusion-cpp-vulkan/package.nix create mode 100644 pkgs/by-name/st/stable-diffusion-cpp/package.nix diff --git a/pkgs/by-name/st/stable-diffusion-cpp-cuda/package.nix b/pkgs/by-name/st/stable-diffusion-cpp-cuda/package.nix new file mode 100644 index 000000000000..17fbe0a4c972 --- /dev/null +++ b/pkgs/by-name/st/stable-diffusion-cpp-cuda/package.nix @@ -0,0 +1,3 @@ +{ stable-diffusion-cpp }: + +stable-diffusion-cpp.override { cudaSupport = true; } diff --git a/pkgs/by-name/st/stable-diffusion-cpp-rocm/package.nix b/pkgs/by-name/st/stable-diffusion-cpp-rocm/package.nix new file mode 100644 index 000000000000..679fb2c7e7c6 --- /dev/null +++ b/pkgs/by-name/st/stable-diffusion-cpp-rocm/package.nix @@ -0,0 +1,3 @@ +{ stable-diffusion-cpp }: + +stable-diffusion-cpp.override { rocmSupport = true; } diff --git a/pkgs/by-name/st/stable-diffusion-cpp-vulkan/package.nix b/pkgs/by-name/st/stable-diffusion-cpp-vulkan/package.nix new file mode 100644 index 000000000000..adb0ad34e4f2 --- /dev/null +++ b/pkgs/by-name/st/stable-diffusion-cpp-vulkan/package.nix @@ -0,0 +1,3 @@ +{ stable-diffusion-cpp }: + +stable-diffusion-cpp.override { vulkanSupport = true; } diff --git a/pkgs/by-name/st/stable-diffusion-cpp/package.nix b/pkgs/by-name/st/stable-diffusion-cpp/package.nix new file mode 100644 index 000000000000..843e0e0353a6 --- /dev/null +++ b/pkgs/by-name/st/stable-diffusion-cpp/package.nix @@ -0,0 +1,126 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + python3, + autoAddDriverRunpath, + + config ? { }, + + cudaSupport ? (config.cudaSupport or false), + cudaPackages ? { }, + + rocmSupport ? (config.rocmSupport or false), + rocmPackages ? { }, + rocmGpuTargets ? (rocmPackages.clr.localGpuTargets or rocmPackages.clr.gpuTargets or [ ]), + + openclSupport ? false, + clblast, + vulkanSupport ? false, + shaderc, + vulkan-headers, + vulkan-loader, + spirv-tools, + + metalSupport ? (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64), + darwin, + apple-sdk, +}: + +let + inherit (lib) + cmakeBool + cmakeFeature + optionals + optionalString + ; + + effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; +in +effectiveStdenv.mkDerivation (finalAttrs: { + pname = "stable-diffusion-cpp"; + version = "master-406-d939f6e"; + + src = fetchFromGitHub { + owner = "leejet"; + repo = "stable-diffusion.cpp"; + rev = "master-406-d939f6e"; + hash = "sha256-VWUNzVpS3aBlyGnxorZsimsqbijsQfhdD8hqzhKEq8A="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + ] + ++ optionals cudaSupport [ + (cudaPackages.cuda_nvcc) + autoAddDriverRunpath + ]; + + buildInputs = + (optionals cudaSupport ( + with cudaPackages; + [ + cuda_cccl + cuda_cudart + libcublas + ] + )) + ++ (optionals rocmSupport ( + with rocmPackages; + [ + clr + hipblas + rocblas + ] + )) + ++ (optionals vulkanSupport [ + shaderc + vulkan-headers + vulkan-loader + spirv-tools + ]) + ++ (optionals openclSupport [ + clblast + ]) + ++ (optionals metalSupport [ + apple-sdk + ]); + + cmakeFlags = [ + (cmakeBool "SD_BUILD_EXAMPLES" true) + (cmakeBool "SD_BUILD_SHARED_LIBS" true) + (cmakeBool "SD_USE_SYSTEM_GGML" false) + (cmakeBool "SD_CUDA" cudaSupport) + (cmakeBool "SD_HIPBLAS" rocmSupport) + (cmakeBool "SD_VULKAN" vulkanSupport) + (cmakeBool "SD_OPENCL" openclSupport) + (cmakeBool "SD_METAL" metalSupport) + (cmakeBool "SD_FAST_SOFTMAX" false) + ] + ++ optionals cudaSupport [ + (cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) + ] + ++ optionals rocmSupport [ + (cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmGpuTargets)) + ]; + + meta = with lib; { + description = "Stable Diffusion inference in pure C/C++"; + homepage = "https://github.com/leejet/stable-diffusion.cpp"; + license = licenses.mit; + mainProgram = "sd"; + maintainers = with lib.maintainers; [ + dit7ya + adriangl + ]; + platforms = platforms.unix; + badPlatforms = optionals (cudaSupport || openclSupport) platforms.darwin; + broken = metalSupport && !stdenv.hostPlatform.isDarwin; + }; +}) From b2942857a3400a6d4da4ae13b6aae56cb3744756 Mon Sep 17 00:00:00 2001 From: Mikael Voss Date: Fri, 12 Dec 2025 17:59:14 +0100 Subject: [PATCH 044/332] akkoma-admin-fe: 2.3.0-2-unstable-2024-04-27 -> 2.3.0-2-unstable-2025-12-07 --- pkgs/by-name/ak/akkoma-admin-fe/package.nix | 56 ++++++--------------- 1 file changed, 15 insertions(+), 41 deletions(-) diff --git a/pkgs/by-name/ak/akkoma-admin-fe/package.nix b/pkgs/by-name/ak/akkoma-admin-fe/package.nix index e6cc16e74125..e60d6588b254 100644 --- a/pkgs/by-name/ak/akkoma-admin-fe/package.nix +++ b/pkgs/by-name/ak/akkoma-admin-fe/package.nix @@ -2,77 +2,51 @@ lib, stdenv, fetchFromGitea, - fetchYarnDeps, - writableTmpDirAsHomeHook, - fixup-yarn-lock, - yarn, + yarn-berry_3, nodejs, - git, python3, pkg-config, libsass, - nix-update-script, xcbuild, + nix-update-script, }: +let + yarn-berry = yarn-berry_3; +in stdenv.mkDerivation (finalAttrs: { pname = "admin-fe"; - version = "2.3.0-2-unstable-2024-04-27"; + version = "2.3.0-2-unstable-2025-12-07"; src = fetchFromGitea { domain = "akkoma.dev"; owner = "AkkomaGang"; repo = "admin-fe"; - rev = "7e16abcbaab10efa6c2c4589660cf99f820a718d"; - hash = "sha256-W/2Ay2dNeVQk88lgkyTzKwCNw0kLkfI6+Azlbp0oMm4="; + rev = "a0e3b95a75367d1b5e329963a3d54f67cf59dfca"; + hash = "sha256-eEAM1itUvpR57B0BseeeRuV+ZjcYiJvbdln8vleRNcc="; + + # upstream repository archive fetching is broken + forceFetchGit = true; }; - offlineCache = fetchYarnDeps { + offlineCache = yarn-berry.fetchYarnBerryDeps { yarnLock = finalAttrs.src + "/yarn.lock"; - hash = "sha256-acF+YuWXlMZMipD5+XJS+K9vVFRz3wB2fZqc3Hd0Bjc="; + hash = "sha256-YZlvIr27bHBgsQcBiayqEX07kjX6iH2Kh5wt+PQFq04="; }; nativeBuildInputs = [ - fixup-yarn-lock - writableTmpDirAsHomeHook - yarn + yarn-berry.yarnBerryConfigHook + yarn-berry nodejs pkg-config python3 - git libsass ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; - configurePhase = '' - runHook preConfigure - - yarn config --offline set yarn-offline-mirror ${lib.escapeShellArg finalAttrs.offlineCache} - fixup-yarn-lock yarn.lock - substituteInPlace yarn.lock \ - --replace-fail '"git://github.com/adobe-webplatform/eve.git#eef80ed"' '"https://github.com/adobe-webplatform/eve.git#eef80ed"' - - yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive - patchShebangs node_modules/cross-env - - mkdir -p "$HOME/.node-gyp/${nodejs.version}" - echo 9 >"$HOME/.node-gyp/${nodejs.version}/installVersion" - ln -sfv "${nodejs}/include" "$HOME/.node-gyp/${nodejs.version}" - export npm_config_nodedir=${nodejs} - - runHook postConfigure - ''; - buildPhase = '' runHook preBuild - - pushd node_modules/node-sass - LIBSASS_EXT=auto yarn run build --offline - popd - - export NODE_OPTIONS="--openssl-legacy-provider" yarn run build:prod --offline - runHook postBuild ''; From 3ce1c51b08be517eec557fae961a67ce658c1ac4 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 12 Dec 2025 18:35:08 -0500 Subject: [PATCH 045/332] strongswan: 6.0.3 -> 6.0.4 Diff: https://github.com/strongswan/strongswan/compare/6.0.3...6.0.4 Changelog: https://github.com/strongswan/strongswan/blob/refs/tags/6.0.4/ChangeLog --- pkgs/by-name/st/strongswan/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/strongswan/package.nix b/pkgs/by-name/st/strongswan/package.nix index b8debe3c96a9..6c62fa5ddbc6 100644 --- a/pkgs/by-name/st/strongswan/package.nix +++ b/pkgs/by-name/st/strongswan/package.nix @@ -122,13 +122,13 @@ let in stdenv.mkDerivation rec { pname = "strongswan"; - version = "6.0.3"; # Make sure to also update when upgrading! + version = "6.0.4"; # Make sure to also update when upgrading! src = fetchFromGitHub { owner = "strongswan"; repo = "strongswan"; tag = version; - hash = "sha256-uH6RExDOmrm1LBi0zBrCn+qp2oL522mdshe62UDV8I0="; + hash = "sha256-KRfEH7puwn+PgQvOrkTEowPnGzCtXdsUqg7wBNMypkQ="; }; patches = [ From 4551164bfcb526a2a0b1d46d40c7bb65dda4c7f3 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 12 Dec 2025 18:36:34 -0500 Subject: [PATCH 046/332] networkmanager-strongswan: 1.6.2 -> 1.6.4 --- pkgs/by-name/ne/networkmanager-strongswan/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/networkmanager-strongswan/package.nix b/pkgs/by-name/ne/networkmanager-strongswan/package.nix index a81ea1c46d50..1f0b5327f07b 100644 --- a/pkgs/by-name/ne/networkmanager-strongswan/package.nix +++ b/pkgs/by-name/ne/networkmanager-strongswan/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "NetworkManager-strongswan"; - version = "1.6.2"; + version = "1.6.4"; src = fetchurl { url = "https://download.strongswan.org/NetworkManager/${pname}-${version}.tar.bz2"; - sha256 = "sha256-jL8kf63MsCbTTvYn1M7YbpUOMXPl2h/ZY7Rpz2rAr34="; + sha256 = "sha256-X9ftnoogw2W+p9ZTdgoECfmyEkRABtQ2UzK7zFGPbBU="; }; nativeBuildInputs = [ From 7cf59724104ef43e73e96176acbb8a5be79b1921 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 12 Dec 2025 17:36:53 -0500 Subject: [PATCH 047/332] {workflows/lint,ci/github-script}: lint commit messages --- .github/workflows/lint.yml | 22 ++++++++ ci/github-script/lint-commits.js | 90 ++++++++++++++++++++++++++++++++ ci/github-script/run | 11 ++++ 3 files changed, 123 insertions(+) create mode 100644 ci/github-script/lint-commits.js diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 95ad536571a8..ff037c038eba 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -124,3 +124,25 @@ jobs: echo "If you're having trouble, ping @NixOS/nixpkgs-vet" exit "$exitCode" fi + + commits: + runs-on: ubuntu-slim + timeout-minutes: 5 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false + path: trusted + sparse-checkout: | + ci/github-script + - name: Check commit messages + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 + with: + script: | + const checkCommitMessages = require('./trusted/ci/github-script/lint-commits.js') + + checkCommitMessages({ + github, + context, + core, + }) diff --git a/ci/github-script/lint-commits.js b/ci/github-script/lint-commits.js new file mode 100644 index 000000000000..1824c538b22f --- /dev/null +++ b/ci/github-script/lint-commits.js @@ -0,0 +1,90 @@ +// @ts-check +const { classify } = require('../supportedBranches.js') + +/** + * @param {{ + * github: InstanceType, + * context: import('@actions/github/lib/context').Context + * core: import('@actions/core') + * }} CheckCommitMessagesProps + */ +async function checkCommitMessages({ github, context, core }) { + // Do not run on merge groups: it'd be much harder, and there is no need + // (changes to the target branch can't change commit messages on the base branch). + const pull_number = context.payload.pull_request?.number + if (!pull_number) { + core.info('This is not a pull request. Skipping checks.') + return + } + + const pr = ( + await github.rest.pulls.get({ + ...context.repo, + pull_number, + }) + ).data + + const baseBranchType = classify( + pr.base.ref.replace(/^refs\/heads\//, ''), + ).type + const headBranchType = classify( + pr.head.ref.replace(/^refs\/heads\//, ''), + ).type + + if ( + baseBranchType.includes('development') && + headBranchType.includes('development') + ) { + // This matches, for example, PRs from staging-next to master, or vice versa. + // Ignore them: we should only care about PRs introducing *new* commits. + core.info( + 'This PR is from one development branch to another. Skipping checks.', + ) + return + } + + const commits = await github.paginate(github.rest.pulls.listCommits, { + ...context.repo, + pull_number, + }) + + const failures = new Set() + + for (const commit of commits) { + const message = commit.commit.message + const firstLine = message.split('\n')[0] + + const logMsgStart = `Commit ${commit.sha}'s message's subject ("${firstLine}")` + + if (!firstLine.includes(':')) { + core.error( + `${logMsgStart} was detected as not meeting our guidelines because ` + + 'it does not contain a colon. There are likely other issues as well.', + ) + failures.add(commit.sha) + } + + if (firstLine.endsWith('.')) { + core.error( + `${logMsgStart} was detected as not meeting our guidelines because ` + + 'it ends in a period. There may be other issues as well.', + ) + failures.add(commit.sha) + } + + if (!failures.has(commit.sha)) { + core.info(`${logMsgStart} passed our automated checks!`) + } + } + + if (failures.size !== 0) { + core.error( + 'Please review the guidelines at ' + + 'https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#commit-conventions, ' + + 'as well as the applicable area-specific guidelines linked there.', + ) + core.setFailed('Committers: merging is discouraged.') + } +} + +module.exports = checkCommitMessages diff --git a/ci/github-script/run b/ci/github-script/run index 8a2906606cac..095768f317da 100755 --- a/ci/github-script/run +++ b/ci/github-script/run @@ -94,4 +94,15 @@ program await run(getTeams, owner, repo, undefined, { ...options, outFile }) }) +program + .command('lint-commits') + .description('Lint for common errors in commit messages') + .argument('', 'Owner of the GitHub repository to run on (Example: NixOS)') + .argument('', 'Name of the GitHub repository to run on (Example: nixpkgs)') + .argument('', 'Number of the Pull Request to run on') + .action(async (owner, repo, pr, options) => { + const checkCommitMessages = (await import('./lint-commits.js')).default + await run(checkCommitMessages, owner, repo, pr, options) + }) + await program.parse() From b9ed7e8071c1732dbe3f62479ee734ec25620dc6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 13 Dec 2025 23:56:01 +0000 Subject: [PATCH 048/332] dart: 3.9.4 -> 3.10.4 --- pkgs/development/compilers/dart/sources.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix index 7c0989f1eb2a..c05a71f55ae3 100644 --- a/pkgs/development/compilers/dart/sources.nix +++ b/pkgs/development/compilers/dart/sources.nix @@ -1,23 +1,23 @@ let - version = "3.9.4"; + version = "3.10.4"; in { fetchurl }: { versionUsed = version; "${version}-x86_64-darwin" = fetchurl { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip"; - hash = "sha256-8nkG1hUPn0B3r5xxBnGMjgOa66Ax3LQgVqMx+3Tj3S8="; + hash = "sha256-KfbHwoxjWsg5UZMGw6wTcerJ++1P9Iub9Yw8980dduY="; }; "${version}-aarch64-darwin" = fetchurl { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip"; - hash = "sha256-2gqn816Usv8l69QrfJsh1DCu5ljibaBfZQn4ThUBlIA="; + hash = "sha256-cktk96/jhHyGJMO2PKcJ6T9Jj1hmCQMffaSNjx+kkUc="; }; "${version}-aarch64-linux" = fetchurl { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip"; - hash = "sha256-IXkJWLbGXLV6Gjw/tQj0Tdz7d7gioJADnuR+WD/N4Og="; + hash = "sha256-go+qYU/C38wNC0TsZG+V1pQzEkzgyBpUbnXd2KX5pPo="; }; "${version}-x86_64-linux" = fetchurl { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip"; - hash = "sha256-YbS5SI4bQlW5S+F61Iri3bI8b75ngkz4ED0LKPqKuBY="; + hash = "sha256-YKmjTrEWXTMdd23In7T9Q7nYva8soTfB/c+Y1siavuw="; }; } From fca84bde0f7d29bbcce78ac75eb8735d5bc9629e Mon Sep 17 00:00:00 2001 From: Ingo Reitz <9l@9lo.re> Date: Sun, 14 Dec 2025 00:56:15 +0100 Subject: [PATCH 049/332] linux/common-config: Enable coreboot firmware drivers --- pkgs/os-specific/linux/kernel/common-config.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 5ea3e16a8c55..c4f1181c64cd 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1407,6 +1407,16 @@ let # Enable generic kernel watch queues # See https://docs.kernel.org/core-api/watch_queue.html WATCH_QUEUE = yes; + + # Enable coreboot firmware drivers. + # While these are called CONFIG_GOOGLE_*, they apply to coreboot systems in general. + GOOGLE_FIRMWARE = yes; + GOOGLE_CBMEM = whenAtLeast "6.2" module; + GOOGLE_COREBOOT_TABLE = module; + GOOGLE_MEMCONSOLE = module; + GOOGLE_MEMCONSOLE_COREBOOT = module; + GOOGLE_FRAMEBUFFER_COREBOOT = module; + GOOGLE_VPD = module; } // lib.optionalAttrs From d0df291f63d28d738bc25fe53e38a88ffda70fac Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 14 Dec 2025 14:50:52 +0800 Subject: [PATCH 050/332] libHX: 3.22 -> 5.2; adopted --- pkgs/by-name/li/libHX/package.nix | 41 ++++++++++++++----------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/pkgs/by-name/li/libHX/package.nix b/pkgs/by-name/li/libHX/package.nix index e95023fc43ca..42a9ce958f86 100644 --- a/pkgs/by-name/li/libHX/package.nix +++ b/pkgs/by-name/li/libHX/package.nix @@ -1,46 +1,41 @@ { lib, stdenv, - fetchurl, - autoconf, - automake, - libtool, + fetchFromGitea, + autoreconfHook, + nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libHX"; - version = "3.22"; + version = "5.2"; - src = fetchurl { - url = "mirror://sourceforge/libhx/libHX/${version}/${pname}-${version}.tar.xz"; - sha256 = "18w39j528lyg2026dr11f2xxxphy91cg870nx182wbd8cjlqf86c"; + src = fetchFromGitea { + domain = "codeberg.org"; + tag = "v${finalAttrs.version}"; + owner = "jengelh"; + repo = "libhx"; + hash = "sha256-z1/D5dkcDc2VIoGCvunUYsLGq3AV6jZ01Edf1vuUx9o="; }; - patches = [ ]; + nativeBuildInputs = [ autoreconfHook ]; - nativeBuildInputs = [ - autoconf - automake - libtool - ]; - - preConfigure = '' - sh autogen.sh - ''; + passthru.updateScript = nix-update-script { }; meta = { - homepage = "https://libhx.sourceforge.net/"; + homepage = "https://inai.de/projects/libhx/"; longDescription = '' libHX is a C library (with some C++ bindings available) that provides data structures and functions commonly needed, such as maps, deques, linked lists, string formatting and autoresizing, option and config file parsing, type checking casts and more. ''; - maintainers = [ ]; + changelog = "https://codeberg.org/jengelh/libhx/src/branch/master/doc/changelog.rst"; + maintainers = with lib.maintainers; [ chillcicada ]; platforms = lib.platforms.linux; license = with lib.licenses; [ gpl3 lgpl21Plus - wtfpl + mit ]; }; -} +}) From ef539d101a79d2cf3f03cec6efd3b3e64d80da2e Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 14 Dec 2025 14:56:55 +0800 Subject: [PATCH 051/332] pam_mount: 2.20 -> 2.22; add me as maintainers --- pkgs/by-name/pa/pam_mount/package.nix | 34 +++++++++++-------- .../resolve_build_failure_with_gcc-13.patch | 24 +++++++++++++ 2 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 pkgs/by-name/pa/pam_mount/resolve_build_failure_with_gcc-13.patch diff --git a/pkgs/by-name/pa/pam_mount/package.nix b/pkgs/by-name/pa/pam_mount/package.nix index fa78fd1e012e..a3c9ff0712db 100644 --- a/pkgs/by-name/pa/pam_mount/package.nix +++ b/pkgs/by-name/pa/pam_mount/package.nix @@ -1,31 +1,35 @@ { lib, stdenv, - fetchurl, + fetchFromGitea, autoreconfHook, + perl, pkg-config, - libtool, pam, libHX, libxml2, pcre2, - perl, openssl, cryptsetup, util-linux, + nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "pam_mount"; - version = "2.20"; + version = "2.22"; - src = fetchurl { - url = "https://inai.de/files/pam_mount/${pname}-${version}.tar.xz"; - hash = "sha256-VCYgekhWgPjhdkukBbs4w5pODIMGvIJxkQ8bgZozbO0="; + src = fetchFromGitea { + domain = "codeberg.org"; + tag = "v${finalAttrs.version}"; + owner = "jengelh"; + repo = "pam_mount"; + hash = "sha256-13vAYIulkOdq0u6xyYgVFmFo31yLmL5Ip79ZTo3Zhn0="; }; patches = [ ./insert_utillinux_path_hooks.patch + ./resolve_build_failure_with_gcc-13.patch ]; postPatch = '' @@ -35,7 +39,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook - libtool perl pkg-config ]; @@ -60,20 +63,21 @@ stdenv.mkDerivation rec { "--with-slibdir=${placeholder "out"}/lib" ]; - postInstall = '' - rm -r $out/var - ''; + passthru.updateScript = nix-update-script { }; meta = { description = "PAM module to mount volumes for a user session"; - homepage = "https://pam-mount.sourceforge.net/"; + homepage = "https://inai.de/projects/pam_mount/"; license = with lib.licenses; [ gpl2Plus gpl3 lgpl21 lgpl3 ]; - maintainers = with lib.maintainers; [ netali ]; + maintainers = with lib.maintainers; [ + netali + chillcicada + ]; platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/pa/pam_mount/resolve_build_failure_with_gcc-13.patch b/pkgs/by-name/pa/pam_mount/resolve_build_failure_with_gcc-13.patch new file mode 100644 index 000000000000..e0b09cff52cc --- /dev/null +++ b/pkgs/by-name/pa/pam_mount/resolve_build_failure_with_gcc-13.patch @@ -0,0 +1,24 @@ +From 64dfcc87ccb6f7b0243b206524f7ea9aa9c59bc8 Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Thu, 30 Oct 2025 12:22:01 +0100 +Subject: [PATCH] build: resolve build failure with gcc-13 + +nullptr is a C23-ism. +--- + src/pam_mount.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/pam_mount.h b/src/pam_mount.h +index 61395f7..f547d8c 100644 +--- a/src/pam_mount.h ++++ b/src/pam_mount.h +@@ -14,6 +14,9 @@ + #else + # define EXPORT_SYMBOL + #endif ++#if defined(__STDC_VERSION__) && __STDC_VERSION__ < 202300L ++# define nullptr NULL ++#endif + + #define sizeof_z(x) (sizeof(x) - 1) + From b7b5bb2242cd3556ccf4547aff185c71ccfdc57f Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 14 Dec 2025 14:57:56 +0800 Subject: [PATCH 052/332] hxtools: 20250309 -> 20251011; add me as maintainers --- pkgs/by-name/hx/hxtools/package.nix | 41 ++++++++++++++++------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/hx/hxtools/package.nix b/pkgs/by-name/hx/hxtools/package.nix index e5616a3db2bc..d8ec121244d6 100644 --- a/pkgs/by-name/hx/hxtools/package.nix +++ b/pkgs/by-name/hx/hxtools/package.nix @@ -1,29 +1,31 @@ { lib, + stdenv, + fetchFromGitea, + pkg-config, + autoreconfHook, bash, - fetchurl, - libHX, - makeWrapper, perl, perlPackages, - stdenv, - pkg-config, - zstd, + libHX, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "hxtools"; - version = "20250309"; + version = "20251011"; - src = fetchurl { - url = "https://inai.de/files/hxtools/hxtools-${finalAttrs.version}.tar.zst"; - hash = "sha256-2ItcEiMe0GzgJ3MxZ28wjmXGSbZtc7BHpkpKIAodAwA="; + src = fetchFromGitea { + domain = "codeberg.org"; + tag = "rel-${finalAttrs.version}"; + owner = "jengelh"; + repo = "hxtools"; + hash = "sha256-qwo8QfC1ZEvMTU7g2ZnIX3WQM+xjSPb6Y/inPI20x/g="; }; nativeBuildInputs = [ - makeWrapper + autoreconfHook pkg-config - zstd ]; buildInputs = [ @@ -31,15 +33,13 @@ stdenv.mkDerivation (finalAttrs: { perl bash libHX - ]; - - postInstall = '' - wrapProgram $out/bin/man2html \ - --prefix PERL5LIB : "${with perlPackages; makePerlPath [ TextCSV_XS ]}" - ''; + ] + ++ (with perlPackages; [ TextCSV_XS ]); strictDeps = true; + passthru.updateScript = nix-update-script { }; + meta = { homepage = "https://inai.de/projects/hxtools/"; description = "Collection of small tools over the years by j.eng"; @@ -50,7 +50,10 @@ stdenv.mkDerivation (finalAttrs: { lgpl21Plus gpl2Plus ]; - maintainers = with lib.maintainers; [ meator ]; + maintainers = with lib.maintainers; [ + meator + chillcicada + ]; platforms = lib.platforms.all; }; }) From 83549e3ad2816a4ac1fd94de654b0590bf634dda Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sun, 14 Dec 2025 12:52:50 +0100 Subject: [PATCH 053/332] buildGoModule: fix GOFLAGS for structuredAttrs --- pkgs/build-support/go/module.nix | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index 30542b1d16c6..ea266422c6d8 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -223,18 +223,19 @@ lib.extendMkDerivation { GOTOOLCHAIN = "local"; CGO_ENABLED = args.env.CGO_ENABLED or go.CGO_ENABLED; - }; - GOFLAGS = - GOFLAGS - ++ - lib.warnIf (lib.any (lib.hasPrefix "-mod=") GOFLAGS) - "use `proxyVendor` to control Go module/vendor behavior instead of setting `-mod=` in GOFLAGS" - (lib.optional (!finalAttrs.proxyVendor) "-mod=vendor") - ++ - lib.warnIf (builtins.elem "-trimpath" GOFLAGS) - "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true" - (lib.optional (!finalAttrs.allowGoReference) "-trimpath"); + GOFLAGS = toString ( + GOFLAGS + ++ + lib.warnIf (lib.any (lib.hasPrefix "-mod=") GOFLAGS) + "use `proxyVendor` to control Go module/vendor behavior instead of setting `-mod=` in GOFLAGS" + (lib.optional (!finalAttrs.proxyVendor) "-mod=vendor") + ++ + lib.warnIf (builtins.elem "-trimpath" GOFLAGS) + "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true" + (lib.optional (!finalAttrs.allowGoReference) "-trimpath") + ); + }; inherit enableParallelBuilding; From 2228e7837e8df94645fd859bb51a1a7d95a82a0a Mon Sep 17 00:00:00 2001 From: Victor Engmark Date: Sat, 13 Dec 2025 17:17:15 +0100 Subject: [PATCH 054/332] nixos/test-driver: Document utility functions used in existing tests Co-authored-by: Jacek Galowicz --- .../src/test_driver/machine/__init__.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/nixos/lib/test-driver/src/test_driver/machine/__init__.py b/nixos/lib/test-driver/src/test_driver/machine/__init__.py index 31ea0d1364ae..2440fed2242e 100644 --- a/nixos/lib/test-driver/src/test_driver/machine/__init__.py +++ b/nixos/lib/test-driver/src/test_driver/machine/__init__.py @@ -292,12 +292,18 @@ class Machine: return self.booted and self.connected def log(self, msg: str) -> None: + """ + Log a message to console. + """ self.logger.log(msg, {"machine": self.name}) def log_serial(self, msg: str) -> None: self.logger.log_serial(msg, self.name) def nested(self, msg: str, attrs: dict[str, str] = {}) -> _GeneratorContextManager: + """ + Get nested logger, optionally with extra attributes. + """ my_attrs = {"machine": self.name} my_attrs.update(attrs) return self.logger.nested(msg, my_attrs) @@ -357,6 +363,9 @@ class Machine: retry(check_active, timeout) def get_unit_info(self, unit: str, user: str | None = None) -> dict[str, str]: + """ + Get a dictionary of systemd unit properties, as obtained via `systemctl show`. + """ status, lines = self.systemctl(f'--no-pager show "{unit}"', user) if status != 0: raise RequestedAssertionFailed( @@ -384,6 +393,9 @@ class Machine: property: str, user: str | None = None, ) -> str: + """ + Get the string value of a single systemd unit property + """ status, lines = self.systemctl( f'--no-pager show "{unit}" --property="{property}"', user, @@ -431,6 +443,9 @@ class Machine: return self.execute(f"systemctl {q}") def require_unit_state(self, unit: str, require_state: str = "active") -> None: + """ + Assert that the current state of a unit has a specific value. The default state is "active". + """ with self.nested( f"checking if unit '{unit}' has reached state '{require_state}'" ): @@ -648,6 +663,10 @@ class Machine: return output def wait_for_shutdown(self) -> None: + """ + Wait for the VM to power off. This does *not* initiate a shutdown; + that's usually done via `shutdown()`. + """ if not self.booted: return @@ -687,6 +706,9 @@ class Machine: raise TimeoutError def get_tty_text(self, tty: str) -> str: + """ + Get the output printed to a given TTY. + """ status, output = self.execute( f"fold -w$(stty -F /dev/tty{tty} size | awk '{{print $2}}') /dev/vcs{tty}" ) @@ -785,15 +807,25 @@ class Machine: retry(port_is_closed, timeout) def start_job(self, jobname: str, user: str | None = None) -> tuple[int, str]: + """ + Start systemd service. + """ return self.systemctl(f"start {jobname}", user) def stop_job(self, jobname: str, user: str | None = None) -> tuple[int, str]: + """ + Stop systemd service. + """ return self.systemctl(f"stop {jobname}", user) def wait_for_job(self, jobname: str) -> None: self.wait_for_unit(jobname) def connect(self) -> None: + """ + Wait for a connection to the guest root shell + """ + def shell_ready(timeout_secs: int) -> bool: """We sent some data from the backdoor service running on the guest to indicate that the backdoor shell is ready. From fa19ad52ff8768a0be8e67e1749e76273e2b0b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Sun, 14 Dec 2025 19:45:08 +0100 Subject: [PATCH 055/332] fix: improve image sizes - do not copy Nix store paths --- .../gitlab/runner/podman-runner/default.nix | 84 ++++++++----------- .../runner/podman-runner/root/README.md | 11 --- .../runner/podman-runner/root/default.nix | 29 +++++++ 3 files changed, 65 insertions(+), 59 deletions(-) delete mode 100644 nixos/tests/gitlab/runner/podman-runner/root/README.md create mode 100644 nixos/tests/gitlab/runner/podman-runner/root/default.nix diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index 75487a1333c0..d13b207a9484 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -14,11 +14,10 @@ # will be read-only and nix can only store stuff into this path by using the # `NIX_DAEMON` env. variable which lets it communicate through the # mounted daemon socket. -# - Since the `/nix/store` path of the job container is mounted over from the -# volume of `nix-daemon-container`, everything in that folder is lost. -# We make sure the shared `/nix/store` has all bootstrap tools and currently we also -# add these to the job images to make the symlinks in `/bin/...` -# (TODO: since we only need the symlinks -> that could be optimized maybe). + +# - The `bootstrapPkgs` derivation is copied into the job containers +# but without the Nix store paths cause they get provided by the +# `nix-daemon-store` volume. # # - The `podman-daemon-socket` volume gets mounted to the job container # enabling it to use `podman`. @@ -26,33 +25,31 @@ # Its a dedicated podman service `podmanDaemonContainer` # running as `--privileged` # [non-rootless container](https://rootlesscontaine.rs/#what-are-rootless-containers-and-what-are-not). -# (TODO: This podman instance could be maybe run as rootless +# (TODO: This podman daemon instance could be maybe run as rootless # container under a user `ci` and a separated Gitlab Runner could # run over this socket, effectively run only rootless containers.) # -# - There is also a prebuild script which is started on every job. +# - There is also a job runner prebuild script which is started on every job. # See `scripts/prebuild.nix` to setup some missing stuff. # # Debugging on the VM: -# - You can use `journalclt -u gitlab-runner.service`. -# - Also inside `~/custodian` (clone this repo there) -# you can run `cd tools/nix/vm && just vm::status` -# to get some information about the -# running stuff. -# - You can clean all logs with `journalctl --vacuum-time=1s` -# - Also you can run `btop` on the machine to inspect the performance. # -# TODO: use `.execConfig` on `gitlab-runner.service` created -# to set `.execConfig.User = 'ci'` -# and see if we can start it with out requiring root. +# - You can use `journalclt -u gitlab-runner.service`. +# +# - To run a job container use: +# ```bash +# podman run --rm -it +# --volumes-from 'nix-daemon-container' +# -v "podman-daemon-socket:/run/podman" +# "local/alpine" \ +# bash -c "export CI_PIPkELINE_ID=123456 && gitlab-runner-prebuild-script; echo hello" +# ``` { lib, pkgs, ... }: let - fs = lib.fileset; - nixRepo = pkgs.fetchFromGitHub { owner = "NixOS"; repo = "nix"; @@ -80,29 +77,24 @@ let }; # This derivation will contain a folder `/etc` - # If its added to `contents` all files in the - # derivation will be symlinked in `/`. - auxRootFiles = fs.toSource { - root = ./root; - fileset = ./root/etc; - }; - + auxRootFiles = pkgs.callPackage ./root { }; preBuildScript = pkgs.callPackage ./scripts/prebuild.nix { }; bootstrapPkgs = [ - pkgs.just - pkgs.cachix pkgs.nix pkgs.cacert (lib.hiPrio pkgs.coreutils) - pkgs.findutils - (lib.hiPrio pkgs.git) + (lib.hiPrio pkgs.findutils) pkgs.openssh pkgs.bash + (lib.hiPrio pkgs.git) + pkgs.cachix + pkgs.just pkgs.podman # For nested containers. preBuildScript + auxRootFiles ]; toEnvList = envs: lib.mapAttrsToList (k: v: "${k}=${v}") envs; @@ -118,11 +110,6 @@ let # You can add here a user with uid,gid,uname,gname etc. # We are using root. - # The Nix store needs all packages which we have as content - # packages in the base images. - # The Nix store is mounted into the base image. - extraPkgs = bootstrapPkgs; - nixConf = { cores = "0"; experimental-features = [ @@ -139,7 +126,7 @@ let name = "local/nix-daemon"; tag = "latest"; - contents = [ auxRootFiles ]; + contents = bootstrapPkgs; config = { Volumes = { @@ -149,7 +136,7 @@ let }; Labels = noPruneLabels; }; - maxLayers = 5; + maxLayers = 4; }; # This is the podman daemon image which enables @@ -186,8 +173,10 @@ let name = imageNames.nix; tag = "latest"; - # Stuff gets mounted into the container here. - contents = bootstrapPkgs ++ [ auxRootFiles ]; + contents = bootstrapPkgs; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; config = { Labels = noPruneLabels; @@ -216,10 +205,10 @@ let name = imageNames.alpine; tag = "latest"; - # We need these packages in the container, to create the symlinks in `/bin/...`. - # TODO: How to only keep the symlink and strip everything from /nix/store - # because it anyway gets overmounted. - contents = bootstrapPkgs ++ [ auxRootFiles ]; + contents = bootstrapPkgs; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; config = { Labels = noPruneLabels; @@ -251,10 +240,10 @@ let name = imageNames.ubuntu; tag = "latest"; - # We need these packages in the container, to create the symlinks - # TODO: How to only keep the symlink and strip everything from /nix/store - # because it anyway gets overmounted. - contents = bootstrapPkgs ++ [ auxRootFiles ]; + contents = bootstrapPkgs; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; config = { Labels = noPruneLabels; @@ -270,7 +259,6 @@ let imageFile = nixDaemonImage; image = "local/nix-daemon:latest"; - # NOTE: These volumes overmount what is in the job images. volumes = [ "nix-daemon-store:/nix/store" "nix-daemon-db:/nix/var/nix/db" diff --git a/nixos/tests/gitlab/runner/podman-runner/root/README.md b/nixos/tests/gitlab/runner/podman-runner/root/README.md deleted file mode 100644 index ea1ae8b6a9f9..000000000000 --- a/nixos/tests/gitlab/runner/podman-runner/root/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Content - -These are some files which are copied to the image in the runner needed for -`buildah` (`podman`): - -```bash -podman create --name temp-buildah quay.io/buildah/stable:latest -podman cp temp-buildah:/etc/containers ./etc/ -find ./etc -type d -empty -delete -podman container rm temp-buildah -``` diff --git a/nixos/tests/gitlab/runner/podman-runner/root/default.nix b/nixos/tests/gitlab/runner/podman-runner/root/default.nix new file mode 100644 index 000000000000..0a5bd8907049 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/root/default.nix @@ -0,0 +1,29 @@ +## Root files for podman executions in job containers. +# +# These are some files which are copied to the image in the runner needed for +# `buildah` (`podman`): +# +# ```bash +# podman create --name temp-buildah quay.io/buildah/stable:latest +# podman cp temp-buildah:/etc/containers ./etc/ +# find ./etc -type d -empty -delete +# podman container rm temp-buildah +#``` +# +{ lib, pkgs, ... }: +let + fs = lib.fileset; + + auxRootFiles = fs.toSource { + root = ./.; + fileset = ./etc; + }; +in +pkgs.stdenv.mkDerivation { + name = "aux-root-files"; + src = auxRootFiles; + installPhase = '' + mkdir -p $out + cp -r $src/* $out/ + ''; +} From 1a4d2649e87e28acad5132bae0ab907204e86b8c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 Dec 2025 08:18:51 +0000 Subject: [PATCH 056/332] pike: 8.0.2038 -> 9.0.11 --- pkgs/by-name/pi/pike/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pi/pike/package.nix b/pkgs/by-name/pi/pike/package.nix index 6ca674f9a952..08900e4b58b9 100644 --- a/pkgs/by-name/pi/pike/package.nix +++ b/pkgs/by-name/pi/pike/package.nix @@ -120,13 +120,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "pike"; - version = "8.0.2038"; + version = "9.0.11"; src = fetchFromGitHub { owner = "pikelang"; repo = "Pike"; tag = "v${finalAttrs.version}"; - hash = "sha256-aaU9kSmdN/zMFTnqkp8renuMxTj1WwAQIudPy6ahm1M="; + hash = "sha256-J+IWYF2FvL395/+Aat4yGioxUi6vIhNjzLMPV7EvPtw="; }; nativeBuildInputs = [ From 8f9e8e465e91873487b8c062937dd7b1bdb91547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Mon, 15 Dec 2025 11:25:38 +0100 Subject: [PATCH 057/332] doc: add explanation how to clean disk space --- nixos/modules/services/misc/gitlab.md | 36 ++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index 50ea3b042bc5..a95e3cb4e94f 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -143,10 +143,10 @@ configure a Gitlab Runner with caching and reasonably good security practices. ::: {#ex-gitlab-runner-podman .example} -## Example Gitlab Runner with `podman` and Nix Store Caching +## Example: Gitlab Runner with `podman` and Nix Store Caching -The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix) (a NixOS Module for reuse) configures a Gitlab Runner with the following -features: +The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix) +(a NixOS Module for reuse) configures a Gitlab Runner with the following features: - The executor is `podman` which gives you better additional safety than `docker`. That means every job is run in a `podman` container. @@ -188,7 +188,9 @@ features: `podman-daemon-container`. The `podman-daemon-container` is a single container of a `podmanDaemonImage` which runs - `podman` as a daemon. Job containers can use this daemon to spawn nested containers as well (podman-in-podman). **Keep in mind that `bind` mounts are local to the `podman-daemon-container`** and can be be worked around with a `podman volume create ` and manual copy-to/copy-from this volume ``. + `podman` as a daemon. Job containers can use this daemon to spawn nested containers as well (podman-in-podman). + **Keep in mind that `bind` mounts are local to the `podman-daemon-container`** + and can be be worked around with a `podman volume create ` and manual copy-to/copy-from this volume ``. If you only need to build containers you don't need this feature (`podman-daemon-container`), see below point. @@ -204,4 +206,30 @@ features: is still possible. ::: + - **Cleanup Disk Space**: + + With this setup its really easy to clean the `nix-daemon-container` + (e.g. if you run out of disk space), then reboot and have the runner in a clean. + You can just do the following to effectively clean everything and start + with fresh volumes safely: + + ```bash + # Stop the Gitlab runner. + systemctl stop gitlab-runner.service + # Stop `systemd`-managed containers, such that they get not recreated + # when deleting below. + systemctl stop podman-podman-daemon-container.service \ + podman-nix-daemon-container.service \ + podman-nix-container.service \ + podman-alpine-container.service \ + podman-ubuntu-container.service || true + + podman container rm -f --all + podman image rm -f --all + podman volumes rm -f --all + + reboot + # Systemd will restart all containers and create volumes etc. + ``` + ::: From 95ac9c0d841a714df598d8aec8a37c1ecfd28cdc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 Dec 2025 15:23:40 +0000 Subject: [PATCH 058/332] dart-sass: 1.95.0 -> 1.96.0 --- pkgs/by-name/da/dart-sass/package.nix | 4 ++-- pkgs/by-name/da/dart-sass/pubspec.lock.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/da/dart-sass/package.nix b/pkgs/by-name/da/dart-sass/package.nix index e81363530dca..ff77cba111f4 100644 --- a/pkgs/by-name/da/dart-sass/package.nix +++ b/pkgs/by-name/da/dart-sass/package.nix @@ -23,13 +23,13 @@ let in buildDartApplication rec { pname = "dart-sass"; - version = "1.95.0"; + version = "1.96.0"; src = fetchFromGitHub { owner = "sass"; repo = "dart-sass"; tag = version; - hash = "sha256-riN4Tlf8XknoDA3/8rb4kDU2ybqsytDHeWgR2fPeYac="; + hash = "sha256-ikNbYzZxWQrJ0PHZ2bEZtvQmFnqIsalnoEFc+YGHb4o="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; diff --git a/pkgs/by-name/da/dart-sass/pubspec.lock.json b/pkgs/by-name/da/dart-sass/pubspec.lock.json index 71558bba3f12..d315e1e85126 100644 --- a/pkgs/by-name/da/dart-sass/pubspec.lock.json +++ b/pkgs/by-name/da/dart-sass/pubspec.lock.json @@ -754,11 +754,11 @@ "dependency": "direct main", "description": { "name": "watcher", - "sha256": "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a", + "sha256": "f52385d4f73589977c80797e60fe51014f7f2b957b5e9a62c3f6ada439889249", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.4" + "version": "1.2.0" }, "web": { "dependency": "transitive", From 70ad2aab902e3759a950e5f9c4bb778eca4bf745 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 Dec 2025 19:27:23 +0000 Subject: [PATCH 059/332] texstudio: 4.9.0 -> 4.9.1 --- pkgs/by-name/te/texstudio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/texstudio/package.nix b/pkgs/by-name/te/texstudio/package.nix index 23629170282c..a26632d0a6ad 100644 --- a/pkgs/by-name/te/texstudio/package.nix +++ b/pkgs/by-name/te/texstudio/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "texstudio"; - version = "4.9.0"; + version = "4.9.1"; src = fetchFromGitHub { owner = "texstudio-org"; repo = "texstudio"; rev = finalAttrs.version; - hash = "sha256-LHG+QFtUYf6gqF8WGUlAYd5LWNt2YlyXmQH2nwPV5MQ="; + hash = "sha256-lSAIlwdOVFd8pcT4rZ17Jn9195BOtZnUgFysDKM6t9U="; }; nativeBuildInputs = [ From 3d00d2b9522a7704185b22b1314c9479d6a52f0a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 Dec 2025 19:28:24 +0000 Subject: [PATCH 060/332] prometheus-alertmanager: 0.29.0 -> 0.30.0 --- pkgs/by-name/pr/prometheus-alertmanager/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/prometheus-alertmanager/package.nix b/pkgs/by-name/pr/prometheus-alertmanager/package.nix index 58178eee3b6c..ef47da8e95c3 100644 --- a/pkgs/by-name/pr/prometheus-alertmanager/package.nix +++ b/pkgs/by-name/pr/prometheus-alertmanager/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "alertmanager"; - version = "0.29.0"; + version = "0.30.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "alertmanager"; tag = "v${finalAttrs.version}"; - hash = "sha256-2uP4JCbQEe7/en5sBq/k73kqK6YVmuLvfiUy1fqPitw="; + hash = "sha256-103Jb2CA/Zz+MBIJei3vhqcPyg7e5JkpFKqh1hjAhLc="; }; - vendorHash = "sha256-bN1iV2JrrjwiiIXr5lp389HvEoQGteJQD94cug0/048="; + vendorHash = "sha256-LgGsXaJ97uXtqHHicsLOaMNx3PzlVPhz/xG+KvO4nLI="; subPackages = [ "cmd/alertmanager" From f5cd3ae8ac9a5ceadf1751238c0ee7b09342c681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Mon, 15 Dec 2025 21:16:57 +0100 Subject: [PATCH 061/332] docs: typos corrections --- nixos/modules/services/misc/gitlab.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index a95e3cb4e94f..5636396f03ad 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -145,8 +145,8 @@ configure a Gitlab Runner with caching and reasonably good security practices. ## Example: Gitlab Runner with `podman` and Nix Store Caching -The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix) -(a NixOS Module for reuse) configures a Gitlab Runner with the following features: +The [VM tested `podman-runner`](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix) +(a NixOS module for reuse) configures an advanced Gitlab runner with the following features: - The executor is `podman` which gives you better additional safety than `docker`. That means every job is run in a `podman` container. @@ -163,14 +163,14 @@ The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos **Images for VM Setup**: - `local/nix-daemon-image`: An image with a Nix daemon which is - used to share the `/nix/store` across jobs (variable `nixDaemonImage`). - - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is + used to share the `/nix/store` across jobs (variable `nixDaemonImage`) setup with some essentials derivations `bootstrapPkgs`. + - `local/podman-daemon-image`: An image with `podman` running as a daemon which is used to run `podman` inside the above job containers images (variable `podmanDaemonImage`). - Every job container runs in a `podman` container instance based by default on `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. - - Each job container will have the `/nix/store` mounted from a container + - Each job container will have the `/nix/store` mounted from the container `nix-daemon-container` (see registration flags `--docker-volumes-from "nix-daemon-container:ro"`). @@ -195,7 +195,7 @@ The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos If you only need to build containers you don't need this feature (`podman-daemon-container`), see below point. Container configuration files (`auxRootFiles`) are copied to all containers to - ensure `podman` works inside the job containers. + ensure `podman` works consistently inside the job containers. - The job containers do **not** mount the `podman` socket from the host (NixOS VM) mounted for security reasons. @@ -209,9 +209,8 @@ The [VM tested podman-runner](https://github.com/NixOS/nixpkgs/blob/master/nixos - **Cleanup Disk Space**: With this setup its really easy to clean the `nix-daemon-container` - (e.g. if you run out of disk space), then reboot and have the runner in a clean. - You can just do the following to effectively clean everything and start - with fresh volumes safely: + (e.g. if you run out of disk space), then reboot and have the runner in a clean state. + You can do the following to effectively clean everything and start with fresh volumes safely: ```bash # Stop the Gitlab runner. From 6e36fe8d5e708ce1a596f8dec385cb883e921b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Mon, 15 Dec 2025 21:20:33 +0100 Subject: [PATCH 062/332] fix: remove redundant file --- .../gitlab-runner/runner.md | 77 ------------------- 1 file changed, 77 deletions(-) delete mode 100644 nixos/modules/services/continuous-integration/gitlab-runner/runner.md diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md b/nixos/modules/services/continuous-integration/gitlab-runner/runner.md deleted file mode 100644 index 8b4267f06d9e..000000000000 --- a/nixos/modules/services/continuous-integration/gitlab-runner/runner.md +++ /dev/null @@ -1,77 +0,0 @@ -# GitLab Runner {#module-services-gitlab-runner} - -GitLab Runner is a CI runner which is an executable which you can host yourself. -A Gitlab pipeline runs operations over a Gitlab Runner. These can include -building an executable, running a test suite, pushing a docker image, etc. The -Gitlab Runner receives jobs from Gitlab which it then dispatches to the -configured executors -([`docker` (`podman`), or `shell` or `kubernetes`](https://docs.gitlab.com/runner/executors)). - -The -[services.gitlab-runner.services](https://search.nixos.org/options?query=services.gitlab-runner.services) -documents a number of typical setups to configure multiple runners with -different executors. - -The [below example](#ex-gitlab-runner-podman) gives a **more elaborate** example how to -configure a Gitlab Runner with caching and reasonably good security practices. - -::: {#ex-gitlab-runner-podman .example} - -## Example Gitlab Runner with `podman` and Nix Store Caching - -The [VM tested podman-runner](../../../../../nixos/tests/gitlab/runner/podman-runner/default.nix) (a NixOS Module for reuse) configures a Gitlab Runner with the following -features: - -- The executor is `podman` which gives you better additional safety than - `docker`. That means every job is run in a `podman` container. - -- The following container **images** are built with Nix: - - **Container Images for Gitlab Jobs**: - - `local/alpine`: An image based on Alpine with a Nix installation - (variable `alpineImage`). - - `local/ubuntu`: An image based on Ubuntu with a Nix installation - (variable `ubuntuImage`). - - `local/nix`: An image based on Nix which only comes with `nix` - installed (variable `nixImage`). - - **Images for VM Setup**: - - `local/nix-daemon-image`: An image with a Nix daemon which is - used to share the `/nix/store` across jobs (variable `nixDaemonImage`). - - `local/podman-daemon-image`: An image with a `podman` running as a daemon which is - used to run `podman` inside the above job containers images - (variable `podmanDaemonImage`). - -- Every job container runs in a `podman` container instance based by default on - `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. - - Each job container will have the `/nix/store` mounted from a container - `nix-daemon-container` (see registration flags - `--docker-volumes-from "nix-daemon-container:ro"`). - - The `nix-daemon-container` is a single container instance of a - `nixDaemonImage`. This enables caching of `/nix/store` paths across all jobs - in **all** runners. This makes **the host VM's `/nix/store` independent of the - Nix store used in the jobs**, which is good. - - **Security:** If you don't want this you need multiple `nixDaemonImage` - containers for each registered runner (`gitlab-runner.services.`). - - - Each job container will have the `/run/podman/podman.sock` socket mounted from the - `podman-daemon-container`. - - The `podman-daemon-container` is a single container of `podmanDaemonImage` which runs - `podman` as a daemon. Job containers can use this daemon to spawn nested containers as well (podman-in-podman). **Keep in mind that `bind` mounts are local to the `podman-daemon-container`** and can be be worked around with a `podman volume create ` and manual copy-to/copy-from this volume ``. - - If you only need to build containers you don't need this feature (`podman-daemon-container`), see below point. - - Container configuration files (`auxRootFiles`) are copied to all containers to - ensure `podman` works inside the job containers. - - - The job containers do **not** mount the `podman` socket from the host (NixOS - VM) mounted for security reasons. - - **Note:** Building container images with `buildah` (stripped - `podman` for building images) inside a job which runs `alpineImage` - is still possible. - -::: From 7b3047b586102458e043673987bba6a59c951ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Tue, 16 Dec 2025 00:03:16 +0100 Subject: [PATCH 063/332] fix: correct systemd service name for job images --- nixos/tests/gitlab/runner/podman-runner/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index d13b207a9484..71099394b3f9 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -355,7 +355,7 @@ in // # Workaround to add the job images to the registry. (lib.concatMapAttrs (name: image: { - "container-${name}" = { + "${name}-container" = { imageFile = jobImages.${name}; image = "${imageNames.${name}}:latest"; cmd = [ "true" ]; From 762916259a6c0a858fa74f2004f009f0c6f2c50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Tue, 16 Dec 2025 01:04:43 +0100 Subject: [PATCH 064/332] fix: improvements on the images --- nixos/modules/services/misc/gitlab.md | 10 +- .../gitlab/runner/podman-runner/default.nix | 252 +++++++++++------- .../podman-runner/files/basicRoot/etc/group | 21 ++ .../files/basicRoot/etc/nsswitch.conf | 11 + .../podman-runner/files/basicRoot/etc/passwd | 34 +++ .../etc/containers/containers.conf | 0 .../containers}/etc/containers/mounts.conf | 0 .../containers}/etc/containers/policy.json | 0 .../etc/containers/registries.conf | 0 .../registries.conf.d/000-shortnames.conf | 0 .../etc/containers/registries.d/default.yaml | 0 .../registry.access.redhat.com.yaml | 0 .../registries.d/registry.redhat.io.yaml | 0 .../containers}/etc/containers/storage.conf | 0 .../runner/podman-runner/files/default.nix | 46 ++++ .../files/fake-nixpkgs/default.nix | 10 + .../runner/podman-runner/root/default.nix | 29 -- .../runner/podman-runner/scripts/prebuild.nix | 49 +--- .../scripts/recreate-nix-daemon-store.sh | 42 --- 19 files changed, 290 insertions(+), 214 deletions(-) create mode 100644 nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/group create mode 100644 nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/nsswitch.conf create mode 100644 nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/passwd rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/containers.conf (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/mounts.conf (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/policy.json (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/registries.conf (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/registries.conf.d/000-shortnames.conf (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/registries.d/default.yaml (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/registries.d/registry.access.redhat.com.yaml (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/registries.d/registry.redhat.io.yaml (100%) rename nixos/tests/gitlab/runner/podman-runner/{root => files/containers}/etc/containers/storage.conf (100%) create mode 100644 nixos/tests/gitlab/runner/podman-runner/files/default.nix create mode 100644 nixos/tests/gitlab/runner/podman-runner/files/fake-nixpkgs/default.nix delete mode 100644 nixos/tests/gitlab/runner/podman-runner/root/default.nix delete mode 100755 nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh diff --git a/nixos/modules/services/misc/gitlab.md b/nixos/modules/services/misc/gitlab.md index 5636396f03ad..0e29071d222d 100644 --- a/nixos/modules/services/misc/gitlab.md +++ b/nixos/modules/services/misc/gitlab.md @@ -155,11 +155,11 @@ The [VM tested `podman-runner`](https://github.com/NixOS/nixpkgs/blob/master/nix **Container Images for Gitlab Jobs**: - `local/alpine`: An image based on Alpine with a Nix installation - (variable `alpineImage`). + (attribute `jobImages.alpine`). - `local/ubuntu`: An image based on Ubuntu with a Nix installation - (variable `ubuntuImage`). + (attribute `jobImages.ubuntu`). - `local/nix`: An image based on Nix which only comes with `nix` - installed (variable `nixImage`). + installed (attribute `jobImages.nix`). **Images for VM Setup**: - `local/nix-daemon-image`: An image with a Nix daemon which is @@ -169,7 +169,7 @@ The [VM tested `podman-runner`](https://github.com/NixOS/nixpkgs/blob/master/nix (variable `podmanDaemonImage`). - Every job container runs in a `podman` container instance based by default on - `ubuntuImage`. A pipeline job can override this with `image: local/alpine`. + `jobImage.ubuntu`. A pipeline job can override this with `image: local/alpine`. - Each job container will have the `/nix/store` mounted from the container `nix-daemon-container` (see registration flags `--docker-volumes-from "nix-daemon-container:ro"`). @@ -202,7 +202,7 @@ The [VM tested `podman-runner`](https://github.com/NixOS/nixpkgs/blob/master/nix ::: {.note} Building container images with `buildah` (stripped - `podman` for building images) inside a job which runs `alpineImage` + `podman` for building images) inside a job which runs `jobImage.alpine` is still possible. ::: diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index 71099394b3f9..7398f26f0eed 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -18,6 +18,10 @@ # - The `bootstrapPkgs` derivation is copied into the job containers # but without the Nix store paths cause they get provided by the # `nix-daemon-store` volume. +# I cannot denote these volumes because they overmount the +# shit which is in the image. +# TODO: make a systemd service which starts before +# that and creates some volumes and inits these from the image. # # - The `podman-daemon-socket` volume gets mounted to the job container # enabling it to use `podman`. @@ -77,16 +81,24 @@ let }; # This derivation will contain a folder `/etc` - auxRootFiles = pkgs.callPackage ./root { }; + files = pkgs.callPackage ./files { }; preBuildScript = pkgs.callPackage ./scripts/prebuild.nix { }; + # These derivations are Linked into the job images root dir. bootstrapPkgs = [ pkgs.nix + # Runtime dependencies of nix. + pkgs.gnutar + pkgs.gzip + pkgs.openssh + pkgs.xz pkgs.cacert + + # Other stuff. (lib.hiPrio pkgs.coreutils) (lib.hiPrio pkgs.findutils) pkgs.openssh - pkgs.bash + pkgs.bashInteractive (lib.hiPrio pkgs.git) pkgs.cachix @@ -94,7 +106,16 @@ let pkgs.podman # For nested containers. preBuildScript - auxRootFiles + + files.containers + files.nixConfig + ]; + + # All these packages are added to the Nix daemon. + nixStorePkgs = bootstrapPkgs ++ [ + # These files + files.basicRoot + files.fakeNixpkgs ]; toEnvList = envs: lib.mapAttrsToList (k: v: "${k}=${v}") envs; @@ -110,6 +131,8 @@ let # You can add here a user with uid,gid,uname,gname etc. # We are using root. + extraPkgs = nixStorePkgs; + nixConf = { cores = "0"; experimental-features = [ @@ -126,8 +149,6 @@ let name = "local/nix-daemon"; tag = "latest"; - contents = bootstrapPkgs; - config = { Volumes = { "/nix/store" = { }; @@ -166,95 +187,119 @@ let }; }; - jobImages = { - # The base image - nix = pkgs.dockerTools.buildLayeredImage { - fromImage = nixImageBase; - name = imageNames.nix; - tag = "latest"; + jobImages = + let + extraCommands = '' + set -eu + # Set missing Nix directories. + mkdir -p -m 0755 nix/var/log/nix/drvs + mkdir -p -m 0755 nix/var/nix/{gcroots,profiles,temproots,userpool} + mkdir -p -m 1777 nix/var/nix/{gcroots,profiles}/per-user + mkdir -p -m 0755 nix/var/nix/profiles/per-user/root - contents = bootstrapPkgs; - # No store paths are copied into. We provide them by mounting the - # /nix/store. - includeStorePaths = false; + # Need a HOME. + mkdir -vp root + mkdir -p -m 0700 root/.nix-defexpr + ''; + in + { + # The Nix image. + nix = pkgs.dockerTools.buildLayeredImage { + name = imageNames.nix; + tag = "latest"; - config = { - Labels = noPruneLabels; - Env = toEnvList envs.nix; + extraCommands = extraCommands + '' + set -eu + # For `/usr/bin/env`. + mkdir -p usr && ln -s ../bin usr/bin + ''; + + contents = bootstrapPkgs ++ [ files.basicRoot ]; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.nix; + }; + maxLayers = 2; }; - maxLayers = 4; + + # This is the analog image to `local/nix` but alpine based. + alpine = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- --image-name alpine --image-tag latest + # ``` + alpineBase = pkgs.dockerTools.pullImage { + imageName = "alpine"; + imageDigest = "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d"; + sha256 = "0gf7wbjp37zbni3pz8vdgq1mss6mz69wynms0gqhq7lsxfmg9xj9"; + finalImageName = "alpine"; + finalImageTag = "latest"; + }; + in + (pkgs.dockerTools.buildLayeredImage { + fromImage = alpineBase; + name = imageNames.alpine; + tag = "latest"; + + inherit extraCommands; + + contents = bootstrapPkgs; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.nix; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 3; + }); + + # This is the analog image to `local/nix` but ubuntu based. + ubuntu = + let + # Update with: + # ```shell + # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ + # --image-name ubuntu --image-tag latest + # ``` + ubuntuBase = pkgs.dockerTools.pullImage { + imageName = "ubuntu"; + imageDigest = "sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02"; + hash = "sha256-aC8SgxdcMSaaU89YMr/uwE022Yqey2frmeZqr+L1xEU="; + finalImageName = "ubuntu"; + finalImageTag = "latest"; + }; + in + (pkgs.dockerTools.buildLayeredImage { + fromImage = ubuntuBase; + name = imageNames.ubuntu; + tag = "latest"; + + inherit extraCommands; + + contents = bootstrapPkgs; + # No store paths are copied into. We provide them by mounting the + # /nix/store. + includeStorePaths = false; + + config = { + Labels = noPruneLabels; + Env = toEnvList envs.ubuntu; + }; + + # Only if `build buildLayeredImage`. + maxLayers = 3; + }); }; - # This is the analog image to `local/nix` but alpine based. - alpine = - let - # Update with: - # ```shell - # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- --image-name alpine --image-tag latest - # ``` - alpineBase = pkgs.dockerTools.pullImage { - imageName = "alpine"; - imageDigest = "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d"; - sha256 = "0gf7wbjp37zbni3pz8vdgq1mss6mz69wynms0gqhq7lsxfmg9xj9"; - finalImageName = "alpine"; - finalImageTag = "latest"; - }; - in - (pkgs.dockerTools.buildLayeredImage { - fromImage = alpineBase; - name = imageNames.alpine; - tag = "latest"; - - contents = bootstrapPkgs; - # No store paths are copied into. We provide them by mounting the - # /nix/store. - includeStorePaths = false; - - config = { - Labels = noPruneLabels; - Env = toEnvList envs.alpine; - }; - - # Only if `build buildLayeredImage`. - maxLayers = 15; - }); - - # This is the analog image to `local/nix` but ubuntu based. - ubuntu = - let - # Update with: - # ```shell - # nix run "github:nixos/nixpkgs/nixos-unstable#nix-prefetch-docker" -- \ - # --image-name ubuntu --image-tag latest - # ``` - ubuntuBase = pkgs.dockerTools.pullImage { - imageName = "ubuntu"; - imageDigest = "sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02"; - hash = "sha256-aC8SgxdcMSaaU89YMr/uwE022Yqey2frmeZqr+L1xEU="; - finalImageName = "ubuntu"; - finalImageTag = "latest"; - }; - in - (pkgs.dockerTools.buildLayeredImage { - fromImage = ubuntuBase; - name = imageNames.ubuntu; - tag = "latest"; - - contents = bootstrapPkgs; - # No store paths are copied into. We provide them by mounting the - # /nix/store. - includeStorePaths = false; - - config = { - Labels = noPruneLabels; - Env = toEnvList envs.ubuntu; - }; - - # Only if `build buildLayeredImage`. - maxLayers = 15; - }); - }; - nixDaemonContainer = { imageFile = nixDaemonImage; image = "local/nix-daemon:latest"; @@ -293,27 +338,36 @@ let # Environment variables for all job containers. envs = rec { - daemons = { + common = { # Access to the nix daemon. NIX_REMOTE = "daemon"; # Access to podman. CONTAINER_HOST = "unix:///run/podman/podman.sock"; - }; - - nix = daemons // { - IMAGE_OS_DIST = "nixos"; - }; - - alpine = daemons // { - IMAGE_OS_DIST = "alpine"; USER = "root"; PATH = "/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin"; + SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; NIX_SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + + # For shells, source this file. + ENV = "${pkgs.nix}/etc/profile.d/nix-daemon.sh"; + BASH_ENV = "${pkgs.nix}/etc/profile.d/nix-daemon.sh"; + + # Make a fake nixpkgs which throws when using + # `nix repl -f ` for example. + NIX_PATH = "nixpkgs=${files.fakeNixpkgs}"; }; - ubuntu = alpine // { + nix = common // { + IMAGE_OS_DIST = "nix"; + }; + + alpine = common // { + IMAGE_OS_DIST = "alpine"; + }; + + ubuntu = common // { IMAGE_OS_DIST = "ubuntu"; }; }; diff --git a/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/group b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/group new file mode 100644 index 000000000000..162f79fd7086 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/group @@ -0,0 +1,21 @@ +root:x:0: +wheel:x:1: +kmem:x:2: +tty:x:3: +messagebus:x:4: +disk:x:6: +audio:x:17: +floppy:x:18: +uucp:x:19: +lp:x:20: +cdrom:x:24: +tape:x:25: +video:x:26: +dialout:x:27: +utmp:x:29: +adm:x:55: +keys:x:96: +users:x:100: +input:x:174: +nixbld:x:30000:nixbld1,nixbld10,nixbld11,nixbld12,nixbld13,nixbld14,nixbld15,nixbld16,nixbld17,nixbld18,nixbld19,nixbld2,nixbld20,nixbld21,nixbld22,nixbld23,nixbld24,nixbld25,nixbld26,nixbld27,nixbld28,nixbld29,nixbld3,nixbld30,nixbld31,nixbld32,nixbld4,nixbld5,nixbld6,nixbld7,nixbld8,nixbld9 +nogroup:x:65534: diff --git a/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/nsswitch.conf b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/nsswitch.conf new file mode 100644 index 000000000000..59a21416fd8f --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/nsswitch.conf @@ -0,0 +1,11 @@ +passwd: files mymachines systemd +group: files mymachines systemd +shadow: files + +hosts: files mymachines dns myhostname +networks: files + +ethers: files +services: files +protocols: files +rpc: files diff --git a/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/passwd b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/passwd new file mode 100644 index 000000000000..006b53f7bf82 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/files/basicRoot/etc/passwd @@ -0,0 +1,34 @@ +root:x:0:0:System administrator:/root:/bin/bash +nixbld1:x:30001:30000:Nix build user 1:/var/empty:/run/current-system/sw/bin/nologin +nixbld2:x:30002:30000:Nix build user 2:/var/empty:/run/current-system/sw/bin/nologin +nixbld3:x:30003:30000:Nix build user 3:/var/empty:/run/current-system/sw/bin/nologin +nixbld4:x:30004:30000:Nix build user 4:/var/empty:/run/current-system/sw/bin/nologin +nixbld5:x:30005:30000:Nix build user 5:/var/empty:/run/current-system/sw/bin/nologin +nixbld6:x:30006:30000:Nix build user 6:/var/empty:/run/current-system/sw/bin/nologin +nixbld7:x:30007:30000:Nix build user 7:/var/empty:/run/current-system/sw/bin/nologin +nixbld8:x:30008:30000:Nix build user 8:/var/empty:/run/current-system/sw/bin/nologin +nixbld9:x:30009:30000:Nix build user 9:/var/empty:/run/current-system/sw/bin/nologin +nixbld10:x:30010:30000:Nix build user 10:/var/empty:/run/current-system/sw/bin/nologin +nixbld11:x:30011:30000:Nix build user 11:/var/empty:/run/current-system/sw/bin/nologin +nixbld12:x:30012:30000:Nix build user 12:/var/empty:/run/current-system/sw/bin/nologin +nixbld13:x:30013:30000:Nix build user 13:/var/empty:/run/current-system/sw/bin/nologin +nixbld14:x:30014:30000:Nix build user 14:/var/empty:/run/current-system/sw/bin/nologin +nixbld15:x:30015:30000:Nix build user 15:/var/empty:/run/current-system/sw/bin/nologin +nixbld16:x:30016:30000:Nix build user 16:/var/empty:/run/current-system/sw/bin/nologin +nixbld17:x:30017:30000:Nix build user 17:/var/empty:/run/current-system/sw/bin/nologin +nixbld18:x:30018:30000:Nix build user 18:/var/empty:/run/current-system/sw/bin/nologin +nixbld19:x:30019:30000:Nix build user 19:/var/empty:/run/current-system/sw/bin/nologin +nixbld20:x:30020:30000:Nix build user 20:/var/empty:/run/current-system/sw/bin/nologin +nixbld21:x:30021:30000:Nix build user 21:/var/empty:/run/current-system/sw/bin/nologin +nixbld22:x:30022:30000:Nix build user 22:/var/empty:/run/current-system/sw/bin/nologin +nixbld23:x:30023:30000:Nix build user 23:/var/empty:/run/current-system/sw/bin/nologin +nixbld24:x:30024:30000:Nix build user 24:/var/empty:/run/current-system/sw/bin/nologin +nixbld25:x:30025:30000:Nix build user 25:/var/empty:/run/current-system/sw/bin/nologin +nixbld26:x:30026:30000:Nix build user 26:/var/empty:/run/current-system/sw/bin/nologin +nixbld27:x:30027:30000:Nix build user 27:/var/empty:/run/current-system/sw/bin/nologin +nixbld28:x:30028:30000:Nix build user 28:/var/empty:/run/current-system/sw/bin/nologin +nixbld29:x:30029:30000:Nix build user 29:/var/empty:/run/current-system/sw/bin/nologin +nixbld30:x:30030:30000:Nix build user 30:/var/empty:/run/current-system/sw/bin/nologin +nixbld31:x:30031:30000:Nix build user 31:/var/empty:/run/current-system/sw/bin/nologin +nixbld32:x:30032:30000:Nix build user 32:/var/empty:/run/current-system/sw/bin/nologin +nobody:x:65534:65534:Unprivileged account (don't use!):/var/empty:/run/current-system/sw/bin/nologin diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/containers.conf b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/containers.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/containers.conf rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/containers.conf diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/mounts.conf b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/mounts.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/mounts.conf rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/mounts.conf diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/policy.json b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/policy.json similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/policy.json rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/policy.json diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.conf diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.conf.d/000-shortnames.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.conf.d/000-shortnames.conf rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.conf.d/000-shortnames.conf diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/default.yaml b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/default.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/default.yaml rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/default.yaml diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.access.redhat.com.yaml b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/registry.access.redhat.com.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.access.redhat.com.yaml rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/registry.access.redhat.com.yaml diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.redhat.io.yaml b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/registry.redhat.io.yaml similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/registries.d/registry.redhat.io.yaml rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/registries.d/registry.redhat.io.yaml diff --git a/nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf b/nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/storage.conf similarity index 100% rename from nixos/tests/gitlab/runner/podman-runner/root/etc/containers/storage.conf rename to nixos/tests/gitlab/runner/podman-runner/files/containers/etc/containers/storage.conf diff --git a/nixos/tests/gitlab/runner/podman-runner/files/default.nix b/nixos/tests/gitlab/runner/podman-runner/files/default.nix new file mode 100644 index 000000000000..e791ae42367f --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/files/default.nix @@ -0,0 +1,46 @@ +# Specific files for the job images. +# +# - `basicRoot`: Some basic root files for the `jobImages.nix`. +# - `fakeNixpkgs`: A fake Nixpkg directory which is set as `NIX_PATH=nixpkgs:` +# which throws on load. +# - `nixConfig`: The Nix config with some options. +# - `containers`: +# These are some files which are copied to the job images needed for +# `buildah` (`podman`): +# +# ```bash +# podman create --name temp-buildah quay.io/buildah/stable:latest +# podman cp temp-buildah:/etc/containers ./etc/ +# find ./etc -type d -empty -delete +# podman container rm temp-buildah +#``` +# +{ pkgs, ... }: +let + + # We need proper derivations to add it to the nixImageBase. + mkDrv = + name: src: + pkgs.stdenv.mkDerivation { + inherit name src; + installPhase = '' + mkdir -p $out + cp -r $src/* $out/ + ''; + }; +in +{ + basicRoot = mkDrv "basic-root-files" ./basicRoot; + containers = mkDrv "containers-files" ./containers; + fakeNixpkgs = mkDrv "fake-nixpkgs" ./fake-nixpkgs; + + nixConfig = pkgs.writeTextFile { + name = "nix.conf"; + destination = "/etc/nix/nix.conf"; + text = '' + accept-flake-config = true + experimental-features = nix-command flakes + max-jobs = auto + ''; + }; +} diff --git a/nixos/tests/gitlab/runner/podman-runner/files/fake-nixpkgs/default.nix b/nixos/tests/gitlab/runner/podman-runner/files/fake-nixpkgs/default.nix new file mode 100644 index 000000000000..eee7aacaf920 --- /dev/null +++ b/nixos/tests/gitlab/runner/podman-runner/files/fake-nixpkgs/default.nix @@ -0,0 +1,10 @@ +_: +throw '' + This container doesn't include nixpkgs. + + The best way to work around that is to pin your dependencies. See + https://nix.dev/tutorials/first-steps/towards-reproducibility-pinning-nixpkgs.html + + Or if you must, override the NIX_PATH environment variable with eg: + "NIX_PATH=nixpkgs=channel:nixos-unstable" +'' diff --git a/nixos/tests/gitlab/runner/podman-runner/root/default.nix b/nixos/tests/gitlab/runner/podman-runner/root/default.nix deleted file mode 100644 index 0a5bd8907049..000000000000 --- a/nixos/tests/gitlab/runner/podman-runner/root/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -## Root files for podman executions in job containers. -# -# These are some files which are copied to the image in the runner needed for -# `buildah` (`podman`): -# -# ```bash -# podman create --name temp-buildah quay.io/buildah/stable:latest -# podman cp temp-buildah:/etc/containers ./etc/ -# find ./etc -type d -empty -delete -# podman container rm temp-buildah -#``` -# -{ lib, pkgs, ... }: -let - fs = lib.fileset; - - auxRootFiles = fs.toSource { - root = ./.; - fileset = ./etc; - }; -in -pkgs.stdenv.mkDerivation { - name = "aux-root-files"; - src = auxRootFiles; - installPhase = '' - mkdir -p $out - cp -r $src/* $out/ - ''; -} diff --git a/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix b/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix index 8071acd438fe..78b8b0f41b18 100644 --- a/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix +++ b/nixos/tests/gitlab/runner/podman-runner/scripts/prebuild.nix @@ -16,7 +16,7 @@ writeShellScriptBin "gitlab-runner-pre-build-script" echo -e "\e[0Ksection_end:$(date +%s):$name\r\e[0K" } - function setup_nixos() { + function setup() { # We need to allow modification of nix config for cachix as # otherwise it is link to the read only file in the store. cp --remove-destination \ @@ -26,55 +26,26 @@ writeShellScriptBin "gitlab-runner-pre-build-script" . "${nix}/etc/profile.d/nix-daemon.sh" } - function setup_non_nixos() { - # shellcheck disable=SC2174 - { - echo "Set missing '/nix/var' directories." - mkdir -p -m 0755 /nix/var/log/nix/drvs - mkdir -p -m 0755 /nix/var/nix/gcroots - mkdir -p -m 0755 /nix/var/nix/profiles - mkdir -p -m 0755 /nix/var/nix/temproots - mkdir -p -m 0755 /nix/var/nix/userpool - mkdir -p -m 1777 /nix/var/nix/gcroots/per-user - mkdir -p -m 1777 /nix/var/nix/profiles/per-user - mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root - - echo "Set missing '~/.nix-defexpr'." - mkdir -p -m 0700 ~/.nix-defexpr - } - - echo "Source 'nix-daemon.sh'." - # shellcheck disable=SC1091 - . "${nix}/etc/profile.d/nix-daemon.sh" - - echo "Set nix experimental features." - mkdir -p ~/.config/nix - touch ~/.config/nix/nix.conf - echo "experimental-features = nix-command flakes" >>~/.config/nix/nix.conf - } - function setup_pipeline_scratch_dir() { scratch_dir="/scratch/$CI_PIPELINE_ID" - echo "Create scratch directory for pipeline: $scratch_dir" + echo "Create scrtach directory for pipeline: $scratch_dir" mkdir -p "$scratch_dir" || { echo "Could not create scratch dir '$scratch_dir'." >&2 exit 1 } - export CI_CUSTODIAN_SCRATCH_DIR="$scratch_dir" + export CI_CUSTOM_SCRATCH_DIR="$scratch_dir" + } + + function print_info() { + echo "Nix version:" + nix --version } function main() { - if [ "$IMAGE_OS_DIST" = "ubuntu" ] || [ "$IMAGE_OS_DIST" = "alpine" ]; then - setup_non_nixos - elif [ "$IMAGE_OS_DIST" = "nixos" ]; then - setup_nixos - else - echo "OS not implemented." - exit 1 - fi - + print_info + setup setup_pipeline_scratch_dir } diff --git a/nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh b/nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh deleted file mode 100755 index 8765396935eb..000000000000 --- a/nixos/tests/gitlab/runner/podman-runner/scripts/recreate-nix-daemon-store.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash -set -eu - -[ "$(hostname)" = "vm-gitlab-runner" ] || { - echo "error: you do not seem to be logged in on the vm." - exit 1 -} - -NIX_STORE_VOLUME_ID=$(podman container inspect -f "{{ json .Mounts }}" nix-daemon-container | - jq -r '.[] | select(.Type == "volume" and .Destination == "/nix/store") | .Name') - -NIX_DB_VOLUME_ID=$(podman container inspect -f "{{ json .Mounts }}" nix-daemon-container | - jq -r '.[] | select(.Type == "volume" and .Destination == "/nix/var/nix/db") | .Name') - -[ -n "$NIX_STORE_VOLUME_ID" ] || { - echo "Could not determine podman volume with nix store in 'nix-daemon-container'." >&2 - exit 1 -} - -echo "NIX_STORE_VOLUME_ID: $NIX_STORE_VOLUME_ID" -echo "NIX_DB_VOLUME_ID: $NIX_DB_VOLUME_ID" - -if [ "${1:-}" = "--force" ]; then - just podman-remove-containers -fi -echo "Stopping gitlab runner ..." -systemctl stop gitlab-runner.service - -echo "Remove podman-nix-daemon-container..." -systemctl stop podman-nix-daemon-container.service -podman container stop nix-daemon-container || true - -echo "Delete nix-daemon-store and nix-daemon-db..." -podman volume rm --force "$NIX_STORE_VOLUME_ID" || true -podman volume rm --force "$NIX_DB_VOLUME_ID" || true - -echo "Recreate empty volumes ..." -podman volume create "$NIX_STORE_VOLUME_ID" --label="no-prune=true" -podman volume create "$NIX_DB_VOLUME_ID" --label="no-prune=true" - -systemctl start podman-nix-daemon-container.service -systemctl start gitlab-runner.service From ac8b0ac8d003451437dac90244e2f78882602729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Tue, 16 Dec 2025 01:11:51 +0100 Subject: [PATCH 065/332] fix: improve images --- nixos/tests/gitlab/runner/podman-runner/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index 7398f26f0eed..bb71e44fbd9a 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -204,6 +204,7 @@ let in { # The Nix image. + # Similar to https://github.com/nix-community/docker-nixpkgs/blob/main/images/nix/default.nix. nix = pkgs.dockerTools.buildLayeredImage { name = imageNames.nix; tag = "latest"; @@ -226,7 +227,7 @@ let maxLayers = 2; }; - # This is the analog image to `local/nix` but alpine based. + # This is the analog image to `local/nix` but Alpine based. alpine = let # Update with: @@ -262,7 +263,7 @@ let maxLayers = 3; }); - # This is the analog image to `local/nix` but ubuntu based. + # This is the analog image to `local/nix` but Ubuntu based. ubuntu = let # Update with: From b0fa85fcece9a40af37bf70260ceb07139b8f7ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Tue, 16 Dec 2025 01:22:16 +0100 Subject: [PATCH 066/332] fix: add images to registry on startup --- nixos/tests/gitlab/runner/podman-runner/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index bb71e44fbd9a..5170266438b6 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -413,6 +413,11 @@ in "${name}-container" = { imageFile = jobImages.${name}; image = "${imageNames.${name}}:latest"; + extraOptions = [ + "--docker-volumes-from" + "nix-daemon-container:ro" + ]; + dependsOn = [ "nix-daemon-container" ]; cmd = [ "true" ]; }; }) jobImages); From 8e0917aba5dcc2b35cc2feee914ea3da3a1ba96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Tue, 16 Dec 2025 01:35:35 +0100 Subject: [PATCH 067/332] fix: volumes from flag --- nixos/tests/gitlab/runner/podman-runner/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab/runner/podman-runner/default.nix b/nixos/tests/gitlab/runner/podman-runner/default.nix index 5170266438b6..bbc9d7d75fef 100644 --- a/nixos/tests/gitlab/runner/podman-runner/default.nix +++ b/nixos/tests/gitlab/runner/podman-runner/default.nix @@ -414,7 +414,7 @@ in imageFile = jobImages.${name}; image = "${imageNames.${name}}:latest"; extraOptions = [ - "--docker-volumes-from" + "--volumes-from" "nix-daemon-container:ro" ]; dependsOn = [ "nix-daemon-container" ]; From 24727cf26ab0f40a9044f2cf5b68da112a28b0bd Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Tue, 16 Dec 2025 08:16:20 +0100 Subject: [PATCH 068/332] goverlay: 1.6.2 -> 1.6.4 --- pkgs/by-name/go/goverlay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/goverlay/package.nix b/pkgs/by-name/go/goverlay/package.nix index 9b8ce6dc2680..8c01796a05d2 100644 --- a/pkgs/by-name/go/goverlay/package.nix +++ b/pkgs/by-name/go/goverlay/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "goverlay"; - version = "1.6.2"; + version = "1.6.4"; src = fetchFromGitHub { owner = "benjamimgois"; repo = "goverlay"; tag = finalAttrs.version; - hash = "sha256-x9/M2yhnPaXIGrQqZRvhgB++TyxHD3sFkK+6H5v+jqE="; + hash = "sha256-e1eqCoIyfn8fn0m5e8VWc0qzSz5wqSGEnsfAAgmYoxE="; }; outputs = [ From 0393171a0b33fd6c13b50c2a9326be744342b4d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 07:40:27 +0000 Subject: [PATCH 069/332] rust-analyzer-unwrapped: 2025-12-08 -> 2025-12-15 --- pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix index a6ac39ebe23f..1672bc7c9f1e 100644 --- a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix +++ b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { pname = "rust-analyzer-unwrapped"; - version = "2025-12-08"; + version = "2025-12-15"; cargoHash = "sha256-ChsaWQ4gfBuucdab1uRw7tCZJcqDn9drwyAqQ6b4Dac="; @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { owner = "rust-lang"; repo = "rust-analyzer"; rev = version; - hash = "sha256-nG76b87rkaDzibWbnB5bYDm6a52b78A+fpm+03pqYIw="; + hash = "sha256-OepmesaROt1QloBXDm+goBqjrbrJ+rtOBIF3m7+A5eA="; }; cargoBuildFlags = [ From 7845da52672f22daef21f050b31d7cf3fe38a645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 16 Dec 2025 01:59:30 -0800 Subject: [PATCH 070/332] python3Packages.python-matter-server: 8.1.1 -> 8.1.2 Diff: https://github.com/home-assistant-libs/python-matter-server/compare/8.1.1...8.1.2 Changelog: https://github.com/home-assistant-libs/python-matter-server/releases/tag/8.1.2 --- .../python-modules/python-matter-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix index 811cebe76442..25b8939309bf 100644 --- a/pkgs/development/python-modules/python-matter-server/default.nix +++ b/pkgs/development/python-modules/python-matter-server/default.nix @@ -36,13 +36,13 @@ }: let - version = "8.1.1"; + version = "8.1.2"; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "python-matter-server"; tag = version; - hash = "sha256-vTJGe6OGFM+q9+iovsQMPwkrHNg2l4pw9BFEtSA/vmA="; + hash = "sha256-vnI57h/aesnaDYorq1PzcMCLmV0z0ZBJvMg4Nzh1Dtc="; }; paaCerts = stdenvNoCC.mkDerivation rec { From edfb9ab51b3f81b6f042f73b0f91a1d6390945cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 16 Dec 2025 02:11:32 -0800 Subject: [PATCH 071/332] python3Packages.python-matter-server: take PAA certs from home-assistant-chip-wheels --- .../python-matter-server/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix index 25b8939309bf..e7115136791b 100644 --- a/pkgs/development/python-modules/python-matter-server/default.nix +++ b/pkgs/development/python-modules/python-matter-server/default.nix @@ -7,6 +7,7 @@ replaceVars, buildNpmPackage, python, + home-assistant-chip-wheels, # build setuptools, @@ -45,22 +46,18 @@ let hash = "sha256-vnI57h/aesnaDYorq1PzcMCLmV0z0ZBJvMg4Nzh1Dtc="; }; - paaCerts = stdenvNoCC.mkDerivation rec { + paaCerts = stdenvNoCC.mkDerivation { pname = "matter-server-paa-certificates"; - version = "1.4.0.0"; + inherit (home-assistant-chip-wheels) version src; - src = fetchFromGitHub { - owner = "project-chip"; - repo = "connectedhomeip"; - rev = "refs/tags/v${version}"; - hash = "sha256-uJyStkwynPCm1B2ZdnDC6IAGlh+BKGfJW7tU4tULHFo="; - }; + dontConfigure = true; + dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out - cp $src/credentials/development/paa-root-certs/* $out/ + cp connectedhomeip/credentials/development/paa-root-certs/* $out/ runHook postInstall ''; From 309639c3f636788a19fb00c4291d0721124c4679 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 13:50:35 +0000 Subject: [PATCH 072/332] gdlv: 1.12.0 -> 1.15.0 --- pkgs/by-name/gd/gdlv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gd/gdlv/package.nix b/pkgs/by-name/gd/gdlv/package.nix index 47b52c5f5f6c..aaa70d65a1e5 100644 --- a/pkgs/by-name/gd/gdlv/package.nix +++ b/pkgs/by-name/gd/gdlv/package.nix @@ -5,13 +5,13 @@ }: buildGoModule rec { pname = "gdlv"; - version = "1.12.0"; + version = "1.15.0"; src = fetchFromGitHub { owner = "aarzilli"; repo = "gdlv"; rev = "v${version}"; - hash = "sha256-6NU7bhURdXM4EjVnsXVf9XFOUgHyVEI0kr15q9OnUTQ="; + hash = "sha256-YHv/PfkQh0detM3p62oDWhEG8PWCupaBhwbxz8rHRdI="; }; vendorHash = null; From 7c8d284485fa6f7a0012378dae76dec5a9655531 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 14:46:47 +0000 Subject: [PATCH 073/332] biome: 2.3.8 -> 2.3.9 --- pkgs/by-name/bi/biome/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index 0f0dd4f800bf..b6e450ca832a 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "2.3.8"; + version = "2.3.9"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "@biomejs/biome@${finalAttrs.version}"; - hash = "sha256-pNWwFrI0EWY8HB8aCZdZ/Y+LJl3MS4vl0HhpYFEGUbY="; + hash = "sha256-2eW60IoEeh3pnnsnZLdS6paw0f6vf+2LBM95WyOKDwc="; }; - cargoHash = "sha256-gafj1Gm3YUVpLgZXN5lMRvEFo6GEHbmWbNDm+0OTi8w="; + cargoHash = "sha256-WSl/OObiOXx4MJcnGQtvGVfM2i5k8lLIQoPy9s+GT/U="; nativeBuildInputs = [ pkg-config ]; From 0d1948ae94c0d0ef8f5db3f38efdf14be0b0c923 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Tue, 16 Dec 2025 15:51:21 +0100 Subject: [PATCH 074/332] mautrix-whatsapp: 25.11 -> 25.12 --- pkgs/by-name/ma/mautrix-whatsapp/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ma/mautrix-whatsapp/package.nix b/pkgs/by-name/ma/mautrix-whatsapp/package.nix index 3163156aa0ce..09242903af4c 100644 --- a/pkgs/by-name/ma/mautrix-whatsapp/package.nix +++ b/pkgs/by-name/ma/mautrix-whatsapp/package.nix @@ -14,20 +14,20 @@ buildGoModule rec { pname = "mautrix-whatsapp"; - version = "25.11"; - tag = "v0.2511.0"; + version = "25.12"; + tag = "v0.2512.0"; src = fetchFromGitHub { owner = "mautrix"; repo = "whatsapp"; inherit tag; - hash = "sha256-0Jpod9/mZ9eGFvPxki6Yz0KL1XQ4HTtZ7Zv7WvamuC0="; + hash = "sha256-gVQSACXQ384MYOptRKGSIzCjOgyWW+8/YrxKCaCqhuA="; }; buildInputs = lib.optional (!withGoolm) olm; tags = lib.optional withGoolm "goolm"; - vendorHash = "sha256-n25j2uM3e5/5PYs2jwH+iclaU/p/MhctCAhPninz2HI="; + vendorHash = "sha256-eyukS+rEysjhaywxzgqKP11IJF2SY9FSluQIOESZ6mk="; doCheck = false; From 2aba79fdde38c65b302a7257046211656282a12f Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Tue, 16 Dec 2025 15:52:33 +0100 Subject: [PATCH 075/332] mautrix-whatsapp: enable checkPhase --- pkgs/by-name/ma/mautrix-whatsapp/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/ma/mautrix-whatsapp/package.nix b/pkgs/by-name/ma/mautrix-whatsapp/package.nix index 09242903af4c..7f11da789617 100644 --- a/pkgs/by-name/ma/mautrix-whatsapp/package.nix +++ b/pkgs/by-name/ma/mautrix-whatsapp/package.nix @@ -29,8 +29,6 @@ buildGoModule rec { vendorHash = "sha256-eyukS+rEysjhaywxzgqKP11IJF2SY9FSluQIOESZ6mk="; - doCheck = false; - ldflags = [ "-s" "-w" From fdcee9fa3c5ff5a757214b6262bb41a13df683c3 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Tue, 16 Dec 2025 15:54:42 +0100 Subject: [PATCH 076/332] libsignal-ffi: 0.86.4 -> 0.86.8 --- pkgs/by-name/li/libsignal-ffi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libsignal-ffi/package.nix b/pkgs/by-name/li/libsignal-ffi/package.nix index a06af2c31f9c..35a236399004 100644 --- a/pkgs/by-name/li/libsignal-ffi/package.nix +++ b/pkgs/by-name/li/libsignal-ffi/package.nix @@ -21,14 +21,14 @@ rustPlatform.buildRustPackage rec { pname = "libsignal-ffi"; # must match the version used in mautrix-signal # see https://github.com/mautrix/signal/issues/401 - version = "0.86.4"; + version = "0.86.8"; src = fetchFromGitHub { fetchSubmodules = true; owner = "signalapp"; repo = "libsignal"; tag = "v${version}"; - hash = "sha256-f2f2AY4PYs+HcaordHAIXHhvyfgZ9D3GrfW5wC06/h4="; + hash = "sha256-+GFuwS4y8yr86ETVIjlz/6HocAamASmBOIjkTLtCIag="; }; nativeBuildInputs = [ @@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec { env.BORING_BSSL_PATH = "${boringssl-wrapper}"; env.NIX_LDFLAGS = if stdenv.hostPlatform.isDarwin then "-lc++" else "-lstdc++"; - cargoHash = "sha256-JKFO/+t++3WEsqnCEsI/S4wpNUFiCIIudiRbjrT/i6k="; + cargoHash = "sha256-uiMct9ygg1c1rQb6RsM2AoibuKCExPy9P75C7jDX8Cs="; cargoBuildFlags = [ "-p" From d43b56944eb3243f6be99386eaa481e72d43ca96 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Tue, 16 Dec 2025 15:59:11 +0100 Subject: [PATCH 077/332] mautrix-signal: 25.11 -> 25.12 --- pkgs/by-name/ma/mautrix-signal/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ma/mautrix-signal/package.nix b/pkgs/by-name/ma/mautrix-signal/package.nix index 5b09f985c595..7f087df9bc88 100644 --- a/pkgs/by-name/ma/mautrix-signal/package.nix +++ b/pkgs/by-name/ma/mautrix-signal/package.nix @@ -20,14 +20,14 @@ let in buildGoModule rec { pname = "mautrix-signal"; - version = "25.11"; - tag = "v0.2511.0"; + version = "25.12"; + tag = "v0.2512.0"; src = fetchFromGitHub { owner = "mautrix"; repo = "signal"; inherit tag; - hash = "sha256-ynHJcVoSDFOulIE5Z5qmLGgmqGYtcAc2r+NhJ+THdHU="; + hash = "sha256-qD3kehVZINfAg6ZitYlkabo19Zfn7X//5BoMbub9Y60="; }; buildInputs = @@ -44,7 +44,7 @@ buildGoModule rec { CGO_LDFLAGS = lib.optional withGoolm [ cppStdLib ]; - vendorHash = "sha256-oz/rCeA/UgwmIZhHxbcty5XWiIecBmHs1M1lavugZ24="; + vendorHash = "sha256-zfe3mdM3azHe+NssRKJqjaP7A0wrvHyIVnqUWJMsylw="; ldflags = [ "-X" From fa19eb4e0af6f71d43eb5d875fa165e232f02769 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 16:30:22 +0000 Subject: [PATCH 078/332] api-linter: 2.0.0 -> 2.1.0 --- pkgs/by-name/ap/api-linter/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ap/api-linter/package.nix b/pkgs/by-name/ap/api-linter/package.nix index dacce7053c49..5692857044e9 100644 --- a/pkgs/by-name/ap/api-linter/package.nix +++ b/pkgs/by-name/ap/api-linter/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "api-linter"; - version = "2.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "googleapis"; repo = "api-linter"; tag = "v${version}"; - hash = "sha256-psyv/J1/7H8s34qqZD4s7Ls1mn2lht5VbNxZrXPC0iw="; + hash = "sha256-oaSWp1FmanCWMRYk3Dm1WZ+MnxooXqT9rom25JeFrTg="; }; - vendorHash = "sha256-IpL9RIhO9ivXKHczca4m6R6jmcNEn5KXqNxWmtU30qE="; + vendorHash = "sha256-X5/UH8dX89nTPlYMbVuyG82WrDmU/dP7LiZfMoN6c4A="; subPackages = [ "cmd/api-linter" ]; From d4dd261ab5c38431db0b45daa425b0d01a82168e Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 30 Nov 2025 15:13:43 +0800 Subject: [PATCH 079/332] nix-prefetch-git: fetch the fetching tag for NIX_PREFETCH_GIT_CHECKOUT_HOOK Co-authored-by: Adam Dinwoodie --- pkgs/build-support/fetchgit/nix-prefetch-git | 7 +++++++ pkgs/build-support/fetchgit/tests.nix | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index f9c8af8428fe..c3df5fc502b1 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -258,6 +258,13 @@ clone(){ clean_git fetch origin 'refs/tags/*:refs/tags/*' || echo "warning: failed to fetch some tags" >&2 fi + # Name "$ref" to make `git describe` work reproducibly in `NIX_PREFETCH_GIT_CHECKOUT_HOOK`. + # Name only when not leaving `.git` for compatibility purposes. + if [[ -n "$ref" ]] && [[ -z "$leaveDotGit" ]]; then + echo "refer to FETCH_HEAD as its original name $ref" + clean_git update-ref "$ref" FETCH_HEAD + fi + # Checkout linked sources. if test -n "$fetchSubmodules"; then init_submodules diff --git a/pkgs/build-support/fetchgit/tests.nix b/pkgs/build-support/fetchgit/tests.nix index e1d2ad2c2bed..92e3c4e06e8a 100644 --- a/pkgs/build-support/fetchgit/tests.nix +++ b/pkgs/build-support/fetchgit/tests.nix @@ -34,6 +34,16 @@ hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; }; + describe-tag = testers.invalidateFetcherByDrvHash fetchgit { + name = "describe-tag-nix-source"; + url = "https://github.com/NixOS/nix"; + tag = "2.3.15"; + hash = "sha256-y7l+46lVP2pzJwGON5qEV0EoxWofRoWAym5q9VXvpc8="; + postCheckout = '' + { git -C "$out" describe || echo "git describe failed"; } | tee "$out"/describe-output.txt + ''; + }; + sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit { name = "sparse-checkout-nix-source"; url = "https://github.com/NixOS/nix"; From 7e085677f9961b1bf06f292198614e2bdeede9d4 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 10 Dec 2025 02:04:28 +0800 Subject: [PATCH 080/332] nix-prefetch-git: dont't fetch tags when deep clone unless leaving .git Co-authored-by: Adam Dinwoodie --- pkgs/build-support/fetchgit/nix-prefetch-git | 39 +++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index c3df5fc502b1..0cd830f83a82 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -12,6 +12,7 @@ fetchSubmodules= fetchLFS= builder= fetchTags= +fetchTagsCompat= branchName=$NIX_PREFETCH_GIT_BRANCH_NAME # ENV params @@ -116,11 +117,17 @@ for arg; do fi done +# `deepClone` used to effectively imply `fetchTags`. +# We avoid such behaviour to enhance the `postCheckout` reproducibility, +# while keeping the old behaviour for `.git` for backward compatibility purposes. +if [[ -n "$deepClone" ]] && [[ -z "$leaveDotGit" ]]; then + fetchTagsCompat=true +fi + if test -z "$url"; then usage fi - init_remote(){ local url=$1 clean_git init --initial-branch=master @@ -181,9 +188,30 @@ checkout_hash(){ hash=$(hash_from_ref "$ref") fi - [[ -z "$deepClone" ]] && \ - clean_git fetch ${builder:+--progress} --depth=1 origin "$hash" || \ - clean_git fetch -t ${builder:+--progress} origin || return 1 + local -a fetchTagsArgs + if [[ -n "$fetchTags" ]]; then + fetchTagsArgs=(--tags) + else + fetchTagsArgs=(--no-tags) + fi + local -a fetchTargetArgs + if [[ -n "$deepClone" ]]; then + fetchTargetArgs=(origin) + else + fetchTargetArgs=(--depth=1 origin "$hash") + fi + if ! clean_git fetch "${fetchTagsArgs[@]}" ${builder:+--progress} "${fetchTargetArgs[@]}"; then + echo "ERROR: \`git fetch' failed." >&2 + # Git remotes using the "dumb" protocol does not support shallow fetch; + # fall back to deep fetch if shallow fetch failed. + # TODO(@ShamrockLee): Determine whether the transfer protocol is smart reliably. + if [[ -z "$deepClone" ]] || [[ -z "$fetchTags" ]]; then + echo "This might be due to the dumb transfer protocol not supporting shallow fetch or no-tag cloning. Trying with \`--tags' and without \`--depth=1'..." >&2 + clean_git fetch --tags ${builder:+--progress} origin || return 1 + else + return 1 + fi + fi local object_type=$(git cat-file -t "$hash") if [[ "$object_type" == "commit" || "$object_type" == "tag" ]]; then @@ -253,7 +281,8 @@ clone(){ ) # Fetch all tags if requested - if test -n "$fetchTags"; then + # The fetched tags are potentially non-reproducible, as tags are mutable parts of the Git tree. + if [[ -n "$fetchTags" ]] || [[ -n "$fetchTagsCompat" ]]; then echo "fetching all tags..." >&2 clean_git fetch origin 'refs/tags/*:refs/tags/*' || echo "warning: failed to fetch some tags" >&2 fi From 89746696de5f92182423797216e1be5fc84aae5b Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 30 Nov 2025 19:35:37 +0800 Subject: [PATCH 081/332] tests.fetchgit: add submodule-revision-count --- pkgs/build-support/fetchgit/tests.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/build-support/fetchgit/tests.nix b/pkgs/build-support/fetchgit/tests.nix index 92e3c4e06e8a..3fab7442ef25 100644 --- a/pkgs/build-support/fetchgit/tests.nix +++ b/pkgs/build-support/fetchgit/tests.nix @@ -104,6 +104,20 @@ postFetch = "rm -r $out/.git"; }; + submodule-revision-count = testers.invalidateFetcherByDrvHash fetchgit { + name = "submodule-revision-count-source"; + url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; + rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a"; + hash = "sha256-ok1e6Pb0fII5TF8HXF8DXaRGSoq7kgRCoXqSEauh1wk="; + fetchSubmodules = true; + deepClone = true; + leaveDotGit = false; + postCheckout = '' + { git -C "$out" rev-list --count HEAD || echo "git rev-list failed"; } | tee "$out/revision_count.txt" + { git -C "$out/nix-test-repo-submodule" rev-list --count HEAD || echo "git rev-list failed"; } | tee "$out/nix-test-repo-submodule/revision_count.txt" + ''; + }; + submodule-leave-git-deep = testers.invalidateFetcherByDrvHash fetchgit { name = "submodule-leave-git-deep-source"; url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; From f186e865874a83b882cb20ce8ec61bad70ddcb63 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 18:17:34 +0000 Subject: [PATCH 082/332] snakemake: 9.14.4 -> 9.14.5 --- pkgs/by-name/sn/snakemake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sn/snakemake/package.nix b/pkgs/by-name/sn/snakemake/package.nix index 72083e3344b2..740e5530b44c 100644 --- a/pkgs/by-name/sn/snakemake/package.nix +++ b/pkgs/by-name/sn/snakemake/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "9.14.4"; + version = "9.14.5"; pyproject = true; src = fetchFromGitHub { owner = "snakemake"; repo = "snakemake"; tag = "v${version}"; - hash = "sha256-r8Fz0ZOGZbkQ5x5oarxkxzGMYSuh15N4RYlZZxPwPA0="; + hash = "sha256-/OUlUT/5Exe24ZqBq8hKN6w5Tf9GV0JUpS6Gam4znm0="; }; postPatch = '' From 1070d3820edda0073942019773f8ff9a15dde344 Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Tue, 16 Dec 2025 13:29:03 -0500 Subject: [PATCH 083/332] ocamlPackages.buildDunePackage: Use overriden pname and version --- pkgs/build-support/ocaml/dune.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix index cbd1957dc2a8..a5f72dd37968 100644 --- a/pkgs/build-support/ocaml/dune.nix +++ b/pkgs/build-support/ocaml/dune.nix @@ -37,10 +37,10 @@ lib.extendMkDerivation { in if args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion then - throw "${pname}-${version} is not available for OCaml ${ocaml.version}" + throw "${finalAttrs.pname}-${finalAttrs.version} is not available for OCaml ${ocaml.version}" else { - name = "ocaml${ocaml.version}-${pname}-${version}"; + name = "ocaml${ocaml.version}-${finalAttrs.pname}-${finalAttrs.version}"; strictDeps = true; @@ -58,14 +58,14 @@ lib.extendMkDerivation { buildPhase = args.buildPhase or '' runHook preBuild - dune build -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + dune build -p ${finalAttrs.pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postBuild ''; installPhase = args.installPhase or '' runHook preInstall - dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${pname} \ + dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${finalAttrs.pname} \ ${ if lib.versionAtLeast Dune.version "2.9" then "--docdir $out/share/doc --mandir $out/share/man" @@ -78,11 +78,15 @@ lib.extendMkDerivation { checkPhase = args.checkPhase or '' runHook preCheck - dune runtest -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + dune runtest -p ${finalAttrs.pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postCheck ''; meta = (args.meta or { }) // { + # TODO: ocaml.meta.platforms is where the compiler can run + # Package's meta.platforms are where the compiler can target. + # + # See: rustc.targetPlatforms platforms = args.meta.platforms or ocaml.meta.platforms; }; }; From db88301a81dd383664133dcc5fe49b4e7a62bb38 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 16 Dec 2025 21:41:42 +0100 Subject: [PATCH 084/332] python315: 3.15.0a2 -> 3.15.0a3 https://docs.python.org/3.15/whatsnew/changelog.html#python-3-15-0-alpha-3 --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 2bc80e5df118..d1ac795c472f 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -104,9 +104,9 @@ major = "3"; minor = "15"; patch = "0"; - suffix = "a2"; + suffix = "a3"; }; - hash = "sha256-2KCi9Kfz1wkM8ZXoGBTv6V9wVUlVVX9A4UnYaUpmJ1E="; + hash = "sha256-arAs2sJFBXeYd7sdkYlDLWfpDd8qm4t7Nz6tVKwHtgc="; inherit passthruFun; }; From 76c6ca625f2cc673be1fd47766d4ac4f63fabda9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 21:00:27 +0000 Subject: [PATCH 085/332] ants: 2.6.3 -> 2.6.4 --- pkgs/by-name/an/ants/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/an/ants/package.nix b/pkgs/by-name/an/ants/package.nix index ea4709bf89f4..65ef2a04aa5b 100644 --- a/pkgs/by-name/an/ants/package.nix +++ b/pkgs/by-name/an/ants/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ANTs"; - version = "2.6.3"; + version = "2.6.4"; src = fetchFromGitHub { owner = "ANTsX"; repo = "ANTs"; tag = "v${finalAttrs.version}"; - hash = "sha256-AaurwFIDVKhAp8+Gu3TUlGJP33ChQ6flPTYWe/cVK0w="; + hash = "sha256-c2a73OpRE/kCq8gq2DlwTQVZdTfKBuUQN/VeOZEkGIc="; }; nativeBuildInputs = [ From 27fa2ed595b9f52300aa05769deda9e335da1b0a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 21:09:05 +0000 Subject: [PATCH 086/332] opentrack: 2024.1.1-unstable-2025-12-07 -> 2024.1.1-unstable-2025-12-16 --- pkgs/by-name/op/opentrack/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opentrack/package.nix b/pkgs/by-name/op/opentrack/package.nix index 20f36938940b..0c2505e5dfbe 100644 --- a/pkgs/by-name/op/opentrack/package.nix +++ b/pkgs/by-name/op/opentrack/package.nix @@ -22,13 +22,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "opentrack"; - version = "2024.1.1-unstable-2025-12-07"; + version = "2024.1.1-unstable-2025-12-16"; src = fetchFromGitHub { owner = "opentrack"; repo = "opentrack"; - rev = "c21375c5bbe2cb562cc3232ace8bcf068e70fedf"; - hash = "sha256-KEdFMDic/C1JgDP0UYODi7FD3bxgj5h3OaWwp8rQp7E="; + rev = "32273718b42b80973671ed1883ff74645cf83ca0"; + hash = "sha256-bNhMtxPL0VxpSP7/rYs5dCAAR1EKuBwfDggHo0OZOnA="; }; aruco = callPackage ./aruco.nix { }; From 2411bbd6f6909543cbd86595ec3b75e43d11d478 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 21:34:34 +0000 Subject: [PATCH 087/332] contact: 1.4.4 -> 1.4.6 --- pkgs/by-name/co/contact/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/contact/package.nix b/pkgs/by-name/co/contact/package.nix index 3a5258e69229..0d812515578f 100644 --- a/pkgs/by-name/co/contact/package.nix +++ b/pkgs/by-name/co/contact/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication rec { pname = "contact"; - version = "1.4.4"; + version = "1.4.6"; pyproject = true; src = fetchFromGitHub { owner = "pdxlocations"; repo = "contact"; tag = version; - hash = "sha256-YLg4+AxtF0ZZe5nJMOcg1pPetdcKRnQlpADyYROP/EY="; + hash = "sha256-Mnb4SMU+pUWyyhacANG6MOz3u3FOZaVJZQbRCENR/U8="; }; dependencies = [ python3Packages.meshtastic ]; From 948b909dbfaf0159ce3c409f08b3bdf1ab7d0a47 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 22:51:52 +0000 Subject: [PATCH 088/332] slackdump: 3.1.10 -> 3.1.11 --- pkgs/by-name/sl/slackdump/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sl/slackdump/package.nix b/pkgs/by-name/sl/slackdump/package.nix index 24f3eb84cfc3..502ac4599ed0 100644 --- a/pkgs/by-name/sl/slackdump/package.nix +++ b/pkgs/by-name/sl/slackdump/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "slackdump"; - version = "3.1.10"; + version = "3.1.11"; src = fetchFromGitHub { owner = "rusq"; repo = "slackdump"; tag = "v${version}"; - hash = "sha256-sbin16iMz5ePXWE8KdpdbY+VaqgnpGH4xyyD2pq1kbo="; + hash = "sha256-p9d7BGWNssOwYERwWs8jer/um+wMLkMwvQcOg1pJ2eg="; }; nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.IOKitTools; @@ -32,7 +32,7 @@ buildGoModule rec { "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; - vendorHash = "sha256-7ySux+c4cun8dm7JhJpjSsFekru6emV6GCta3KL6m34="; + vendorHash = "sha256-ny+cIpmMqRbrMT65GCpVRTWlxVEcKS6D+roO+Qbq47U="; __darwinAllowLocalNetworking = true; From c14439133897a8ea0b89c979b57f8cc26547a09b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 17 Dec 2025 00:26:55 +0100 Subject: [PATCH 089/332] gitstatus: passthru custom libgit2 --- pkgs/by-name/gi/gitstatus/package.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gi/gitstatus/package.nix b/pkgs/by-name/gi/gitstatus/package.nix index 461af2cd7063..bf9acf118c9e 100644 --- a/pkgs/by-name/gi/gitstatus/package.nix +++ b/pkgs/by-name/gi/gitstatus/package.nix @@ -8,6 +8,9 @@ zlib, runtimeShell, }: +let + romkatv_libgit2 = callPackage ./romkatv_libgit2.nix { }; +in stdenv.mkDerivation rec { pname = "gitstatus"; version = "1.5.5"; @@ -28,8 +31,8 @@ stdenv.mkDerivation rec { ); buildInputs = [ + romkatv_libgit2 zlib - (callPackage ./romkatv_libgit2.nix { }) ]; postPatch = '' @@ -115,6 +118,10 @@ stdenv.mkDerivation rec { wait $! ''; + passthru = { + inherit romkatv_libgit2; + }; + meta = { description = "10x faster implementation of `git status` command"; longDescription = '' From e038bcf4d25d6da5da2ec5efaadacd52d633bb7f Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 16 Dec 2025 18:29:40 -0500 Subject: [PATCH 090/332] sudo-rs: 0.2.10 -> 0.2.11 Changelog: https://github.com/trifectatechfoundation/sudo-rs/blob/v0.2.11/CHANGELOG.md --- pkgs/by-name/su/sudo-rs/package.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/su/sudo-rs/package.nix b/pkgs/by-name/su/sudo-rs/package.nix index 83edf63ce93a..af4da9c1f9c0 100644 --- a/pkgs/by-name/su/sudo-rs/package.nix +++ b/pkgs/by-name/su/sudo-rs/package.nix @@ -7,29 +7,28 @@ versionCheckHook, pam, rustPlatform, - tzdata, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "sudo-rs"; - version = "0.2.10"; + version = "0.2.11"; src = fetchFromGitHub { owner = "trifectatechfoundation"; repo = "sudo-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-DGoEHeVs7EbzpfbmJQEIsL/eWXBvUCbaSPAGD65Op7k="; + hash = "sha256-F1JwVP2GDzKCfiJXh8PXTBghNwWeD8a+TMiEaPx6wGg="; }; - cargoHash = "sha256-fn97cKdaIsbozI794CAeWQooC7evTErRJOg6cEjzvjY="; + cargoHash = "sha256-6NhyPdOAk2va8Vibsfpfq3xGLIzDBRmqxj4bZhQT9bY="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ pam ]; postPatch = '' - substituteInPlace build.rs \ - --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace src/system/audit.rs \ + --replace-fail "/usr/share/zoneinfo" "/etc/zoneinfo" ''; postInstall = '' @@ -62,6 +61,9 @@ rustPlatform.buildRustPackage (finalAttrs: { "system::interface::test::test_unix_user" "system::tests::test_get_user_and_group_by_id" + # Assumes runtime zoneinfo paths + "sudo::env::environment::tests::test_tzinfo" + # Unsure why those are failing "env::tests::test_environment_variable_filtering" "su::context::tests::invalid_shell" @@ -80,11 +82,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; passthru = { - updateScript = nix-update-script { - extraArgs = [ - "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9])$" - ]; - }; + updateScript = nix-update-script { }; tests = nixosTests.sudo-rs; }; From 043ad3cc6795bf41106a9f2a0f1e1a547ae99cda Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 00:33:00 +0000 Subject: [PATCH 091/332] container-structure-test: 1.22.0 -> 1.22.1 --- pkgs/by-name/co/container-structure-test/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/container-structure-test/package.nix b/pkgs/by-name/co/container-structure-test/package.nix index 6a04f3095bda..2564d4d099b9 100644 --- a/pkgs/by-name/co/container-structure-test/package.nix +++ b/pkgs/by-name/co/container-structure-test/package.nix @@ -8,13 +8,13 @@ container-structure-test, }: buildGoModule rec { - version = "1.22.0"; + version = "1.22.1"; pname = "container-structure-test"; src = fetchFromGitHub { owner = "GoogleContainerTools"; repo = "container-structure-test"; rev = "v${version}"; - sha256 = "sha256-I5HFGUzDJdqqJbZ05lAfDTFOghLgiwadINBbABwtpXA="; + sha256 = "sha256-iNJH5mrDRlwS4qry0OyT/MRlGjHbKjWZbppkbTX6ksI="; }; vendorHash = "sha256-pBq76HJ+nluOMOs9nqBKp1mr1LuX2NERXo48g8ezE9k="; From 756f0f038497fa76487aa0110cc19267343cd373 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Tue, 16 Dec 2025 20:20:34 -0500 Subject: [PATCH 092/332] maintainers: remove j0lol --- maintainers/maintainer-list.nix | 6 ------ pkgs/by-name/no/notesnook/package.nix | 1 - pkgs/by-name/sh/shipwright/package.nix | 5 +---- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b4a42f031ea5..b78d6aba773a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11545,12 +11545,6 @@ github = "j0hax"; githubId = 3802620; }; - j0lol = { - name = "Jo"; - email = "me@j0.lol"; - github = "j0lol"; - githubId = 24716467; - }; j0xaf = { email = "j0xaf@j0xaf.de"; name = "Jörn Gersdorf"; diff --git a/pkgs/by-name/no/notesnook/package.nix b/pkgs/by-name/no/notesnook/package.nix index ec2fe0b6d99d..0d4f5d1170ba 100644 --- a/pkgs/by-name/no/notesnook/package.nix +++ b/pkgs/by-name/no/notesnook/package.nix @@ -51,7 +51,6 @@ let license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ cig0 - j0lol keysmashes ]; platforms = [ diff --git a/pkgs/by-name/sh/shipwright/package.nix b/pkgs/by-name/sh/shipwright/package.nix index 37076cf1e197..616cc8586296 100644 --- a/pkgs/by-name/sh/shipwright/package.nix +++ b/pkgs/by-name/sh/shipwright/package.nix @@ -288,10 +288,7 @@ stdenv.mkDerivation (finalAttrs: { description = "PC port of Ocarina of Time with modern controls, widescreen, high-resolution, and more"; mainProgram = "soh"; platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = with lib.maintainers; [ - j0lol - matteopacini - ]; + maintainers = with lib.maintainers; [ matteopacini ]; license = with lib.licenses; [ # OTRExporter, OTRGui, ZAPDTR, libultraship mit From 77ff12d53334302cde47c1555083eb8becc8fe70 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 01:22:58 +0000 Subject: [PATCH 093/332] jp2a: 1.3.2 -> 1.3.3 --- pkgs/by-name/jp/jp2a/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/jp/jp2a/package.nix b/pkgs/by-name/jp/jp2a/package.nix index 22e5fadc3b62..00cf9b63f5c1 100644 --- a/pkgs/by-name/jp/jp2a/package.nix +++ b/pkgs/by-name/jp/jp2a/package.nix @@ -14,14 +14,14 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "1.3.2"; + version = "1.3.3"; pname = "jp2a"; src = fetchFromGitHub { owner = "Talinx"; repo = "jp2a"; tag = "v${finalAttrs.version}"; - hash = "sha256-GcwwzVgF7BK2N8TL8z/7R7Ry1e9pmGiXUrOAQQmPIBo="; + hash = "sha256-GvPRLYrqZyzk24RmJJ1VcnXo6uda50qqqRA/pioPm5Q="; }; makeFlags = [ "PREFIX=$(out)" ]; From 6c075e134f59bc59601e4d762225b52379d34494 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 01:45:10 +0000 Subject: [PATCH 094/332] nnd: 0.64 -> 0.65 --- pkgs/by-name/nn/nnd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nn/nnd/package.nix b/pkgs/by-name/nn/nnd/package.nix index ab33f35f8903..f8e871dd752a 100644 --- a/pkgs/by-name/nn/nnd/package.nix +++ b/pkgs/by-name/nn/nnd/package.nix @@ -8,16 +8,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "nnd"; - version = "0.64"; + version = "0.65"; src = fetchFromGitHub { owner = "al13n321"; repo = "nnd"; tag = "v${finalAttrs.version}"; - hash = "sha256-/9bPn4oPwAnZM868viZoMeVEdqMfwpvni89zD7ktzVQ="; + hash = "sha256-fOCPxNkQKHVfaumds4G4+0GL8CtBa5UyuG2IzllUS3Q="; }; - cargoHash = "sha256-1pT0/ZW8Is/rKaywYFvKbbVfpMBKeJTrROwwszzAqb4="; + cargoHash = "sha256-bNlC8yHiA6EBX2TK4QBvSp01+FjxRFr1/pSm1T/SFNU="; meta = { description = "Debugger for Linux"; From 75107e029cdd9eff68536bf215f5d8a713713655 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 02:20:39 +0000 Subject: [PATCH 095/332] saucectl: 0.197.3 -> 0.197.4 --- pkgs/by-name/sa/saucectl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sa/saucectl/package.nix b/pkgs/by-name/sa/saucectl/package.nix index e47bab40b057..914a0d5b35f9 100644 --- a/pkgs/by-name/sa/saucectl/package.nix +++ b/pkgs/by-name/sa/saucectl/package.nix @@ -5,7 +5,7 @@ }: let pname = "saucectl"; - version = "0.197.3"; + version = "0.197.4"; in buildGoModule { inherit pname version; @@ -14,7 +14,7 @@ buildGoModule { owner = "saucelabs"; repo = "saucectl"; tag = "v${version}"; - hash = "sha256-VVsQfDv8JNXpagXA6JhO47A14AS5pesZqDmitv0WDzE="; + hash = "sha256-vhVgrwZ+CXKDkJTQ0eCZM83FjvmNI6cxcRcxTspHtCE="; }; ldflags = [ From 19d9da4199627668b15533f62a9acc69cac632a0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 02:37:33 +0000 Subject: [PATCH 096/332] uni: 2.8.0 -> 2.9.0 --- pkgs/by-name/un/uni/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/un/uni/package.nix b/pkgs/by-name/un/uni/package.nix index b3a8e07286ec..2f8741a9cf5f 100644 --- a/pkgs/by-name/un/uni/package.nix +++ b/pkgs/by-name/un/uni/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "uni"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "arp242"; repo = "uni"; tag = "v${version}"; - hash = "sha256-LSmQtndWBc7wCYBnyaeDb4Le4PQPcSO8lTp+CSC2jbc="; + hash = "sha256-+n+QExNCk5QsavO0Kj/e12v4xFJDnXprJGjyk2i/ioY="; }; - vendorHash = "sha256-4w5L5Zg0LJX2v4mqLLjAvEdh3Ad69MLa97SR6RY3fT4="; + vendorHash = "sha256-8nl7iFMmoGuC3pEVi6HqXdwFCKvCDi3DMwRQFjfBC7Y="; ldflags = [ "-s" From 741902a6158b644610dda0f55a7a7d559cab207c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 03:45:19 +0000 Subject: [PATCH 097/332] libretro.mame2003: 0-unstable-2025-10-21 -> 0-unstable-2025-12-13 --- pkgs/applications/emulators/libretro/cores/mame2003.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/mame2003.nix b/pkgs/applications/emulators/libretro/cores/mame2003.nix index e20163bf9ff0..84c308dfde5f 100644 --- a/pkgs/applications/emulators/libretro/cores/mame2003.nix +++ b/pkgs/applications/emulators/libretro/cores/mame2003.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mame2003"; - version = "0-unstable-2025-10-21"; + version = "0-unstable-2025-12-13"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-libretro"; - rev = "3570605767a447c13b087a5946189bcbafe11e1d"; - hash = "sha256-BcPiNYEi6uE8aSpPDNgZ8vmzSnZJUparEM3CEdexbPo="; + rev = "6c32fa9fc005d7e924909c6ff4684da9abb00ceb"; + hash = "sha256-NPPwLruxafBUwKYy+DuLrTZa5QlbneWQSvCRN6ispdM="; }; # Fix build with GCC 14 From a0760294d4c16e247a69f96aec735bd75d277f2c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 04:08:47 +0000 Subject: [PATCH 098/332] gqlgen: 0.17.84 -> 0.17.85 --- pkgs/by-name/gq/gqlgen/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gq/gqlgen/package.nix b/pkgs/by-name/gq/gqlgen/package.nix index c4c34a9aaacd..d07cb5e6d95b 100644 --- a/pkgs/by-name/gq/gqlgen/package.nix +++ b/pkgs/by-name/gq/gqlgen/package.nix @@ -6,7 +6,7 @@ }: let - version = "0.17.84"; + version = "0.17.85"; in buildGoModule { pname = "gqlgen"; @@ -16,10 +16,10 @@ buildGoModule { owner = "99designs"; repo = "gqlgen"; tag = "v${version}"; - hash = "sha256-5Bz9iJJfDqzhuQbIbcpqCKTrSy4v8jpmjm8R1nn17R4="; + hash = "sha256-U2qbOjWUE1MfrMJTVaB59Osax8B6CKMlk6uqGioVgBk="; }; - vendorHash = "sha256-1837pdV4pnwHjogdZqzBR2Ab3gZNW2stvbwvd6MQoBc="; + vendorHash = "sha256-9rBdr1fP5LKioz2c6lAZEdcDnG2JL2CO1VXK5+MwGEs="; subPackages = [ "." ]; From cd9823e2cf3b4863f6b6146e403f1a280a427c60 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 04:27:55 +0000 Subject: [PATCH 099/332] ssh-vault: 1.1.5 -> 1.2.0 --- pkgs/by-name/ss/ssh-vault/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ss/ssh-vault/package.nix b/pkgs/by-name/ss/ssh-vault/package.nix index 6082aa062fc5..183925c932bc 100644 --- a/pkgs/by-name/ss/ssh-vault/package.nix +++ b/pkgs/by-name/ss/ssh-vault/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ssh-vault"; - version = "1.1.5"; + version = "1.2.0"; src = fetchFromGitHub { owner = "ssh-vault"; repo = "ssh-vault"; tag = finalAttrs.version; - hash = "sha256-po0Zb52TVfqHxqlHPmBCqr5zgj49Ks5n0rZDiOvixcM="; + hash = "sha256-d4XhH9i43AkgZR/6XE6iR8pSC5xSuWiX8VghJsC8Ek4="; }; - cargoHash = "sha256-pd52vYtN4JmOyDstNBX7ssJk/IpiGnekc7L+knf+RzQ="; + cargoHash = "sha256-7IOX69MIrSLU6vit0/rg7IRbz9Dn0rSN5RuM4dJ49/A="; nativeBuildInputs = [ pkg-config ]; From 178e2491fb3922e7fedeebc8d4db4402c2976fb6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 04:29:03 +0000 Subject: [PATCH 100/332] lue: 0.3.1 -> 0.4.0 --- pkgs/by-name/lu/lue/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/lue/package.nix b/pkgs/by-name/lu/lue/package.nix index 00eb2b307903..da98a335448a 100644 --- a/pkgs/by-name/lu/lue/package.nix +++ b/pkgs/by-name/lu/lue/package.nix @@ -8,14 +8,14 @@ python3.pkgs.buildPythonApplication rec { pname = "lue"; - version = "0.3.1"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "superstarryeyes"; repo = "lue"; tag = "v${version}"; - hash = "sha256-D1y7nu3WIsnShy2ruyF06iVusD8leuaAUi0M8I1hVqQ="; + hash = "sha256-T7uh9PSCTkT+jYxQYC4ebPkabDz3pc6JjCGtgNatIAM="; }; build-system = with python3.pkgs; [ From d6615d3cdbc0d7470c0683b975413e3aedee837e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 05:12:59 +0000 Subject: [PATCH 101/332] cherry-studio: 1.7.2 -> 1.7.4 --- pkgs/by-name/ch/cherry-studio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ch/cherry-studio/package.nix b/pkgs/by-name/ch/cherry-studio/package.nix index f757bf2f5188..238f6cbc4283 100644 --- a/pkgs/by-name/ch/cherry-studio/package.nix +++ b/pkgs/by-name/ch/cherry-studio/package.nix @@ -19,13 +19,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "cherry-studio"; - version = "1.7.2"; + version = "1.7.4"; src = fetchFromGitHub { owner = "CherryHQ"; repo = "cherry-studio"; tag = "v${finalAttrs.version}"; - hash = "sha256-Y60SW97584LTZXD4tJbr3Sv/6etKtTjr+3xfYBvKDWY="; + hash = "sha256-qoPDQks1OkiWrl6f0zG+BQf7r/DzbyoadlRIsqMuzbo="; }; postPatch = '' @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; - hash = "sha256-KggPuCeezgXhfMctR6NndTwvsNq9StQNAXVEOWLMt50="; + hash = "sha256-86+bVj77Uo2IaDcKM3igd2rrNEQxpUYfwKDOwLnqceg="; }; nativeBuildInputs = [ From b8569ae5c8fd8457934031a04ea4dc9200a9ea50 Mon Sep 17 00:00:00 2001 From: Jennings Zhang Date: Wed, 17 Dec 2025 01:32:39 -0500 Subject: [PATCH 102/332] redlib: 0.36.0-unstable-2025-09-09 -> 0.36.0-unstable-2025-12-16 --- pkgs/by-name/re/redlib/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/re/redlib/package.nix b/pkgs/by-name/re/redlib/package.nix index 8a05c4f4ee91..0520efa884e9 100644 --- a/pkgs/by-name/re/redlib/package.nix +++ b/pkgs/by-name/re/redlib/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage { pname = "redlib"; - version = "0.36.0-unstable-2025-09-09"; + version = "0.36.0-unstable-2025-12-16"; src = fetchFromGitHub { owner = "redlib-org"; repo = "redlib"; - rev = "a989d19ca92713878e9a20dead4252f266dc4936"; - hash = "sha256-YJZVkCi8JQ1U47s52iOSyyf32S3b35pEqw4YTW8FHVY="; + rev = "ba98178bbce0f62265095ba085128c7022e51a1f"; + hash = "sha256-ERTEoT7w8oGA0ztrzc9r9Bl/7OOay+APg3pW+h3tgvM="; }; - cargoHash = "sha256-L35VSQdIbKGGsBPU2Sj/MoYohy1ZibgZ+7NVa3yNjH8="; + cargoHash = "sha256-ageSjIX0BLVYlLAjeojQq5N6/VASOIpwXNR/3msl/p4="; postInstall = '' install --mode=444 -D contrib/redlib.service $out/lib/systemd/system/redlib.service @@ -56,6 +56,8 @@ rustPlatform.buildRustPackage { "--skip=test_oauth_client_refresh" "--skip=test_oauth_token_exists" "--skip=test_oauth_headers_len" + "--skip=oauth::test_generic_web_backend" + "--skip=oauth::test_mobile_spoof_backend" ]; env = { From d478efce89f63faf3f194a27cdb494ea94408cec Mon Sep 17 00:00:00 2001 From: Muhammad Falak R Wani Date: Wed, 17 Dec 2025 06:35:19 +0000 Subject: [PATCH 103/332] ast-grep: 0.40.0 -> 0.40.3 Diff: https://github.com/ast-grep/ast-grep/compare/0.40.0...0.40.3 Changelog: https://github.com/ast-grep/ast-grep/blob/0.40.3/CHANGELOG.md Signed-off-by: Muhammad Falak R Wani --- pkgs/by-name/as/ast-grep/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix index c64889b297f3..4f479dc6e904 100644 --- a/pkgs/by-name/as/ast-grep/package.nix +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -11,13 +11,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ast-grep"; - version = "0.40.0"; + version = "0.40.3"; src = fetchFromGitHub { owner = "ast-grep"; repo = "ast-grep"; tag = finalAttrs.version; - hash = "sha256-tbN8MiesWWIHew5/2STNhXu+3eXjMLRrcm8+9cZf+tM="; + hash = "sha256-kSaDSXhE5PDQj2taQnYUttEbc3dm9VlqwIelApPlpsI="; }; # error: linker `aarch64-linux-gnu-gcc` not found @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm .cargo/config.toml ''; - cargoHash = "sha256-+wetHwdURcNPLa9TGZmS4HlyYcQHSpLnXbrNXS/JckM="; + cargoHash = "sha256-mz3+483vEL31kQ2oyM0GrwkFVxvPnORalQEaEBQ6/Js="; nativeBuildInputs = [ installShellFiles ]; From 0b47cd34337871e65cdfd24129bc9a14aa451e91 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 07:11:08 +0000 Subject: [PATCH 104/332] gcsfuse: 3.5.4 -> 3.5.5 --- pkgs/by-name/gc/gcsfuse/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gc/gcsfuse/package.nix b/pkgs/by-name/gc/gcsfuse/package.nix index b6d6e8508e95..60f80b29fb08 100644 --- a/pkgs/by-name/gc/gcsfuse/package.nix +++ b/pkgs/by-name/gc/gcsfuse/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "gcsfuse"; - version = "3.5.4"; + version = "3.5.5"; src = fetchFromGitHub { owner = "googlecloudplatform"; repo = "gcsfuse"; rev = "v${version}"; - hash = "sha256-+FMVAFiOH6LH5CODp7XwCbB98vRmDTNcfSy0qTQbuOI="; + hash = "sha256-Nfrbs46F7a+oELxnUWpi3v/KKSUGFhp4Xy7bLBur3z8="; }; - vendorHash = "sha256-gC7ngmy4xIkEp2lHOfGyDaZNqy/J4Uy8ox8F2uP7P/0="; + vendorHash = "sha256-v+71MA4x+WUj6ROuIbuhP1S+f8UbKFjkS8XpFFM3qyk="; subPackages = [ "." From a640588bb9bc2447af8733195c54513143e3b1c2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 08:13:07 +0000 Subject: [PATCH 105/332] python3Packages.py-opensonic: 7.0.2 -> 7.0.3 --- pkgs/development/python-modules/py-opensonic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/py-opensonic/default.nix b/pkgs/development/python-modules/py-opensonic/default.nix index a44d6bed414c..349e6a0e7b23 100644 --- a/pkgs/development/python-modules/py-opensonic/default.nix +++ b/pkgs/development/python-modules/py-opensonic/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "py-opensonic"; - version = "7.0.2"; + version = "7.0.3"; pyproject = true; src = fetchFromGitHub { owner = "khers"; repo = "py-opensonic"; tag = "v${version}"; - hash = "sha256-t+MftumVBcIOO8WvWZcLXLp5Iq87Vpvqc4cxH+yTBAo="; + hash = "sha256-3ull0vZxkORh7WRvXPopjLqhZ5+70RTNjqUJ9FpUPJI="; }; build-system = [ setuptools ]; From d36a74f12b3f70f495f4a859f51f9a38f6831e57 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 08:29:58 +0000 Subject: [PATCH 106/332] python3Packages.jianpu-ly: 1.864 -> 1.865 --- pkgs/development/python-modules/jianpu-ly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jianpu-ly/default.nix b/pkgs/development/python-modules/jianpu-ly/default.nix index 2c7d5975aa2f..00d1d7e3e34d 100644 --- a/pkgs/development/python-modules/jianpu-ly/default.nix +++ b/pkgs/development/python-modules/jianpu-ly/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "jianpu-ly"; - version = "1.864"; + version = "1.865"; pyproject = true; src = fetchPypi { inherit version; pname = "jianpu_ly"; - hash = "sha256-dYAUpdHvLnN4pE3aBZBK0yLjUQYguqBcAXPq7ep/iNE="; + hash = "sha256-fW4qoaDrOZL+oKRPWIZbvuZSOCsrWDw0QsO4r6SJB/Y="; }; dependencies = [ lilypond ]; From 933789df7550ff915920e08a0ed763e5c7ae9c51 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 21:35:10 +0000 Subject: [PATCH 107/332] python3Packages.pylance: 0.39.0 -> 1.0.0 Diff: https://github.com/lancedb/lance/compare/v0.39.0...v1.0.0 Changelog: https://github.com/lancedb/lance/releases/tag/v1.0.0 --- pkgs/development/python-modules/pylance/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pylance/default.nix b/pkgs/development/python-modules/pylance/default.nix index 08d47fda0d57..266c5ca35406 100644 --- a/pkgs/development/python-modules/pylance/default.nix +++ b/pkgs/development/python-modules/pylance/default.nix @@ -33,14 +33,14 @@ buildPythonPackage rec { pname = "pylance"; - version = "0.39.0"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance"; tag = "v${version}"; - hash = "sha256-e0ZpuC0ezk+ZwmCrWkdD2MnCvnjHVVPsN01JWUNyPf4="; + hash = "sha256-SPvJHa8oVgydWSvTR7RWF3ojKmz4BOJgo1fiwjCtYLU="; }; sourceRoot = "${src.name}/python"; @@ -52,7 +52,7 @@ buildPythonPackage rec { src sourceRoot ; - hash = "sha256-bvnmlUSnZolwesGtIrWve0a8yQXeYDuaP7mCh3KDd5U="; + hash = "sha256-dPfj8Zd5+pW4Xe6IFaOcvcJdzcuC6qURSNJRcbceoHg="; }; nativeBuildInputs = [ @@ -144,6 +144,8 @@ buildPythonPackage rec { "test_multiprocess_loading" ]; + __darwinAllowLocalNetworking = true; + meta = { description = "Python wrapper for Lance columnar format"; homepage = "https://github.com/lancedb/lance"; From 9bb09e1bd92c3f9f982d4bd1f27f57e27280b14e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 08:38:27 +0000 Subject: [PATCH 108/332] numix-icon-theme-circle: 25.11.15 -> 25.12.15 --- pkgs/by-name/nu/numix-icon-theme-circle/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nu/numix-icon-theme-circle/package.nix b/pkgs/by-name/nu/numix-icon-theme-circle/package.nix index 61d84a691744..67b973196ad2 100644 --- a/pkgs/by-name/nu/numix-icon-theme-circle/package.nix +++ b/pkgs/by-name/nu/numix-icon-theme-circle/package.nix @@ -10,13 +10,13 @@ stdenvNoCC.mkDerivation rec { pname = "numix-icon-theme-circle"; - version = "25.11.15"; + version = "25.12.15"; src = fetchFromGitHub { owner = "numixproject"; repo = "numix-icon-theme-circle"; rev = version; - sha256 = "sha256-+JV+2PEcXjIUxKTHV+jIejem/oANiMwytzwUPMa2zkc="; + sha256 = "sha256-Eul4ulMasoY4DNzqeGDxU1trmH3Mrn9Z15gmiFUtM18="; }; nativeBuildInputs = [ gtk3 ]; From 40c452fbfcf9a549931a69a34a796c35993525a0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 08:39:10 +0000 Subject: [PATCH 109/332] python3Packages.braintree: 4.40.0 -> 4.41.0 --- pkgs/development/python-modules/braintree/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix index cc646db07a17..13b06a77544e 100644 --- a/pkgs/development/python-modules/braintree/default.nix +++ b/pkgs/development/python-modules/braintree/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "braintree"; - version = "4.40.0"; + version = "4.41.0"; pyproject = true; src = fetchFromGitHub { owner = "braintree"; repo = "braintree_python"; rev = version; - hash = "sha256-50UKCtZBnuSMhRoh7HAw6WxiN9iSKY2L+61pA0hmCGY="; + hash = "sha256-5rTYRzlx/XueL6vF0/kM73bgN/QjvM55ZSLIWNI8YiQ="; }; build-system = [ setuptools ]; From d7458e3902f12fdcd4f223331e01662025c99766 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 09:44:13 +0000 Subject: [PATCH 110/332] gibo: 3.0.14 -> 3.0.16 --- pkgs/by-name/gi/gibo/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/gibo/package.nix b/pkgs/by-name/gi/gibo/package.nix index bddfd825e5d8..551099c2918d 100644 --- a/pkgs/by-name/gi/gibo/package.nix +++ b/pkgs/by-name/gi/gibo/package.nix @@ -11,16 +11,16 @@ }: buildGoModule (finalAttrs: { pname = "gibo"; - version = "3.0.14"; + version = "3.0.16"; src = fetchFromGitHub { owner = "simonwhitaker"; repo = "gibo"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-6w+qhwOHkfKt0hgKO98L6Si0RNJN+CXOOFzGlvxFjcA="; + sha256 = "sha256-7bRgJjhCFXWuuHG6XpuGuBW577GGNFiZVJZkQDnl9aw="; }; - vendorHash = "sha256-pD+7yvBydg1+BQFP0G8rRYTCO//Wg/6pzY19DLs42Gk="; + vendorHash = "sha256-DnOAVZYFXX8982HvQmNpYrvDHfrNvJu+ner5YRfx754="; ldflags = [ "-s" From d4df38d6412743ef1e4405a0f361227a7954358d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 09:53:56 +0000 Subject: [PATCH 111/332] libretro.twenty-fortyeight: 0-unstable-2024-12-27 -> 0-unstable-2025-12-13 --- .../emulators/libretro/cores/twenty-fortyeight.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/twenty-fortyeight.nix b/pkgs/applications/emulators/libretro/cores/twenty-fortyeight.nix index e4d48438ed93..4ec47473a9fd 100644 --- a/pkgs/applications/emulators/libretro/cores/twenty-fortyeight.nix +++ b/pkgs/applications/emulators/libretro/cores/twenty-fortyeight.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "2048"; - version = "0-unstable-2024-12-27"; + version = "0-unstable-2025-12-13"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-2048"; - rev = "86e02d3c2dd76858db7370f5df1ccfc33b3abee1"; - hash = "sha256-k3te3XZCw86NkqXpjZaYWi4twUvh9UBkiPyqposLTEs="; + rev = "e70c3f82d2b861c64943aaff7fcc29a63013997d"; + hash = "sha256-ZNJUaXIQi9VnmmCikhCtXfhbTZ7rfJ1wm/582gaZCmk="; }; meta = { From c516b158a5868827475ddf012c8ba734a33da83a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 10:17:45 +0000 Subject: [PATCH 112/332] obs-studio-plugins.advanced-scene-switcher: 1.32.4 -> 1.32.5 --- .../obs-studio/plugins/advanced-scene-switcher/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index 6720e8708ee5..c3e6cf80be64 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -36,13 +36,13 @@ let in stdenv.mkDerivation rec { pname = "advanced-scene-switcher"; - version = "1.32.4"; + version = "1.32.5"; src = fetchFromGitHub { owner = "WarmUpTill"; repo = "SceneSwitcher"; rev = version; - hash = "sha256-OgvR37w7ol/8zCP6MLNYGYP4fq0upzbhfXYnOPCaE34="; + hash = "sha256-MoOakwxyDlhB4YFXWR5Q2jLb0k3wuj87tOO5f0Xy5Vg="; }; nativeBuildInputs = [ From deed0072c49e518e6f737c6d9eada71f62149ba5 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Wed, 17 Dec 2025 12:16:59 +0100 Subject: [PATCH 113/332] nixos/tests: nixos-rebuild to remote host with password-based login --- nixos/tests/nixos-rebuild-target-host.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix index 3a160677fc52..7351692fdfd9 100644 --- a/nixos/tests/nixos-rebuild-target-host.nix +++ b/nixos/tests/nixos-rebuild-target-host.nix @@ -31,6 +31,8 @@ system.build.privateKey = snakeOilPrivateKey; system.build.publicKey = snakeOilPublicKey; system.switch.enable = true; + + services.getty.autologinUser = lib.mkForce "root"; }; target = @@ -147,6 +149,7 @@ deployer.copy_from_host("${configFile "config-1-deployed"}", "/root/configuration-1.nix") deployer.copy_from_host("${configFile "config-2-deployed"}", "/root/configuration-2.nix") + deployer.copy_from_host("${configFile "config-3-deployed"}", "/root/configuration-3.nix") deployer.copy_from_host("${targetNetworkJSON}", "/root/target-network.json") deployer.copy_from_host("${targetConfigJSON}", "/root/target-configuration.json") @@ -164,6 +167,15 @@ target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-2-deployed", f"{target_hostname=}" + with subtest("Deploy to bob@target with password-based sudo"): + deployer.wait_for_unit("multi-user.target") + deployer.send_chars("nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --ask-sudo-password\n") + deployer.wait_until_tty_matches("1", "password for bob") + deployer.send_chars("${nodes.target.users.users.bob.password}\n") + deployer.wait_until_tty_matches("1", "Done. The new configuration is /nix/store/.*config-3-deployed") + target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() + assert target_hostname == "config-3-deployed", f"{target_hostname=}" + with subtest("Deploy works with very long TMPDIR"): tmp_dir = "/var/folder/veryveryveryveryverylongpathnamethatdoesnotworkwithcontrolpath" deployer.succeed(f"mkdir -p {tmp_dir}") From 8988142b8982f7114f34e0a6518667a86ccf15d7 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 22:05:52 +0000 Subject: [PATCH 114/332] python3Packages.lancedb: 0.21.2 -> 0.26.0 Diff: https://github.com/lancedb/lancedb/compare/python-v0.21.2...python-v0.26.0 Changelog: https://github.com/lancedb/lancedb/releases/tag/python-v0.26.0 --- .../python-modules/lancedb/default.nix | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/lancedb/default.nix b/pkgs/development/python-modules/lancedb/default.nix index 2a684f8ee4bf..695014e408d0 100644 --- a/pkgs/development/python-modules/lancedb/default.nix +++ b/pkgs/development/python-modules/lancedb/default.nix @@ -14,40 +14,48 @@ # dependencies deprecation, - overrides, + lance-namespace, + numpy, packaging, pyarrow, pydantic, tqdm, + pythonOlder, + overrides, # tests aiohttp, + boto3, + datafusion, + duckdb, pandas, polars, pylance, pytest-asyncio, + pytest-mock, pytestCheckHook, - duckdb, + tantivy, + nix-update-script, }: buildPythonPackage rec { pname = "lancedb"; - version = "0.21.2"; + version = "0.26.0"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lancedb"; tag = "python-v${version}"; - hash = "sha256-ZPVkMlZz6lSF4ZCIX6fGcfCvni3kXCLPLXZqZw7icpE="; + hash = "sha256-urOHHuPFce7Ms1EqjM4n72zx0APVrIQ1bLIkmrp/Dec="; }; buildAndTestSubdir = "python"; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-Q3ejJsddHLGGbw3peLRtjPqBrS6fNi0C3K2UWpcM/4k="; + hash = "sha256-03p1mDsE//YafUGImB9xMqqUzKlBD9LCiV1RGP2L5lw="; }; build-system = [ rustPlatform.maturinBuildHook ]; @@ -62,30 +70,33 @@ buildPythonPackage rec { openssl ]; - pythonRelaxDeps = [ - # pylance is pinned to a specific release - "pylance" - ]; - dependencies = [ deprecation - overrides + lance-namespace + numpy packaging pyarrow pydantic tqdm + ] + ++ lib.optionals (pythonOlder "3.12") [ + overrides ]; pythonImportsCheck = [ "lancedb" ]; nativeCheckInputs = [ aiohttp + boto3 + datafusion duckdb pandas polars pylance pytest-asyncio + pytest-mock pytestCheckHook + tantivy ]; preCheck = '' @@ -95,10 +106,6 @@ buildPythonPackage rec { disabledTestMarks = [ "slow" ]; disabledTests = [ - # require tantivy which is not packaged in nixpkgs - "test_basic" - "test_fts_native" - # polars.exceptions.ComputeError: TypeError: _scan_pyarrow_dataset_impl() got multiple values for argument 'batch_size' # https://github.com/lancedb/lancedb/issues/1539 "test_polars" @@ -106,6 +113,7 @@ buildPythonPackage rec { disabledTestPaths = [ # touch the network + "test_namespace_integration.py" "test_s3.py" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ From f5b0bc4684c8039a933d87e9f0f10dd6c9e71174 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 11:49:52 +0000 Subject: [PATCH 115/332] python3Packages.agate: 1.13.0 -> 1.14.0 --- pkgs/development/python-modules/agate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/agate/default.nix b/pkgs/development/python-modules/agate/default.nix index d1f44b39eb9a..c7c87ef1fe68 100644 --- a/pkgs/development/python-modules/agate/default.nix +++ b/pkgs/development/python-modules/agate/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "agate"; - version = "1.13.0"; + version = "1.14.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "wireservice"; repo = "agate"; tag = version; - hash = "sha256-jDeme5eOuX9aQ+4A/pLnH/SuCOztyZzKdSBYKVC63Bk="; + hash = "sha256-Pp5pUOycDGzymIvwWoDAaOomTsxAfDNdSGwOG5a25Hc="; }; build-system = [ setuptools ]; From 3ce6302e09d441fe4f6545e032be3a87c78eb04e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 12:18:22 +0000 Subject: [PATCH 116/332] juce: 8.0.11 -> 8.0.12 --- pkgs/by-name/ju/juce/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ju/juce/package.nix b/pkgs/by-name/ju/juce/package.nix index 48b18bfc38ed..f57300ec78f8 100644 --- a/pkgs/by-name/ju/juce/package.nix +++ b/pkgs/by-name/ju/juce/package.nix @@ -34,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "juce"; - version = "8.0.11"; + version = "8.0.12"; src = fetchFromGitHub { owner = "juce-framework"; repo = "juce"; tag = finalAttrs.version; - hash = "sha256-sUxPFxQ/Q1ESlp6tdGI8hGkc3szYkFwBO8xARg2JiR4="; + hash = "sha256-mq7lpPHbb1uF3o50/UZY9LiT81ACAk9ptHQ98fhdk1Q="; }; patches = [ From 978693024ad088ce3ccc2500bc386eea3d5da68e Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Wed, 17 Dec 2025 07:34:42 -0500 Subject: [PATCH 117/332] cvc4: change src.repo to reflect rename --- pkgs/by-name/cv/cvc4/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/cv/cvc4/package.nix b/pkgs/by-name/cv/cvc4/package.nix index 5a891fc3ac82..a0de9d03fdc3 100644 --- a/pkgs/by-name/cv/cvc4/package.nix +++ b/pkgs/by-name/cv/cvc4/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "cvc4"; - repo = "cvc4"; + repo = "cvc4-archived"; rev = version; sha256 = "1rhs4pvzaa1wk00czrczp58b2cxfghpsnq534m0l3snnya2958jp"; }; From 915b484681e81b19b0673fc6d98a57c59c83d734 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 16 Dec 2025 05:18:55 +0800 Subject: [PATCH 118/332] fetchurl: move netrcPhase invokation into build.sh Don't rely on the `postPhase` in `$stdenv/setup.sh` provided by `stdenv/generic/make-derivation.nix`'s realBuilder hack. --- pkgs/build-support/fetchurl/builder.sh | 9 ++++++++- pkgs/build-support/fetchurl/default.nix | 9 --------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index ae6c372208e1..c7a6620ac145 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -23,6 +23,14 @@ if ! [ -f "$SSL_CERT_FILE" ]; then curl+=(--insecure) fi +# NOTE: +# `netrcPhase` should not attempt to access builder.sh implementation details (e.g., the `${curl[@]}` array), +# The implementation detail could change in any Nixpkgs revision, including backports. +if [[ -n "${netrcPhase-}" ]]; then + runPhase netrcPhase + curl+=(--netrc-file "$PWD/netrc") +fi + curl+=("${curlOptsList[@]}") curl+=( @@ -33,7 +41,6 @@ curl+=( downloadedFile="$out" if [ -n "$downloadToTemp" ]; then downloadedFile="$TMPDIR/file"; fi - tryDownload() { local url="$1" local target="$2" diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 763bf5429cc1..7747a3a8f0fe 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -333,15 +333,6 @@ lib.extendMkDerivation { inherit preferLocalBuild; - postHook = - if netrcPhase == null then - null - else - '' - ${netrcPhase} - curlOpts="$curlOpts --netrc-file $PWD/netrc" - ''; - inherit meta; passthru = { inherit url resolvedUrl; From 749e85a1735e9ae1c0d0568ecdadbedd89864ed5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 12:46:36 +0000 Subject: [PATCH 119/332] python3Packages.model-hosting-container-standards: 0.1.11 -> 0.1.12 --- .../model-hosting-container-standards/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/model-hosting-container-standards/default.nix b/pkgs/development/python-modules/model-hosting-container-standards/default.nix index 04d3de9bc20b..05469b5fa551 100644 --- a/pkgs/development/python-modules/model-hosting-container-standards/default.nix +++ b/pkgs/development/python-modules/model-hosting-container-standards/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "model-hosting-container-standards"; - version = "0.1.11"; + version = "0.1.12"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "model-hosting-container-standards"; tag = "v${version}"; - hash = "sha256-6FVufjKPDjb8BnbI1iF9eI+/yVwwoeDGgVFK0QhQQmI="; + hash = "sha256-r1HdBe/JaOZVeLCOip5wsoifJRvkJpKPVWHrKPBSY1Y="; }; sourceRoot = "${src.name}/python"; From c7115c2f895242d80fea0dbaef7ebd2f142f8aa6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 12:51:39 +0000 Subject: [PATCH 120/332] tbls: 1.92.0 -> 1.92.1 --- pkgs/by-name/tb/tbls/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tb/tbls/package.nix b/pkgs/by-name/tb/tbls/package.nix index 935a58475032..a4e0d3b2255d 100644 --- a/pkgs/by-name/tb/tbls/package.nix +++ b/pkgs/by-name/tb/tbls/package.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "tbls"; - version = "1.92.0"; + version = "1.92.1"; src = fetchFromGitHub { owner = "k1LoW"; repo = "tbls"; tag = "v${version}"; - hash = "sha256-Z+X7OUT38OB7559s+bOlraL9F2qSnhpzpQTYt07DYD0="; + hash = "sha256-78YEBMwizGax6V88r9f6FI03GagI3znTnGHh1C0VAVc="; }; - vendorHash = "sha256-3Y3GsVMImo0oCigAyQ2SPOucllrfkD9oj9o3ESk47eA="; + vendorHash = "sha256-mQE1ZGNKbD9XQMoVBU3JVBjEIt0V0+PiC5yps4aj+kQ="; excludedPackages = [ "scripts/jsonschema" ]; From 64481a1a82486a3bfc287b7dca91227286271e56 Mon Sep 17 00:00:00 2001 From: Mark Ellis Date: Mon, 1 Dec 2025 16:06:01 +0100 Subject: [PATCH 121/332] zfs: clevis support for all filesystems, not just those needed for boot load zfs key from clevis for any dataset that is configured, not just those needed for boot also works for dual keys, e.g. those with a clevis key, and a zfs keylocation of `file:///` (previously it would error if the zfs keylocation was not `prompt`) --- nixos/modules/tasks/filesystems/zfs.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index a65e0c00feba..861c8ac8081e 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -24,10 +24,7 @@ let lib.filterAttrs ( device: _: lib.any ( - e: - e.fsType == "zfs" - && (utils.fsNeededForBoot e) - && (e.device == device || lib.hasPrefix "${device}/" e.device) + e: e.fsType == "zfs" && (e.device == device || lib.hasPrefix "${device}/" e.device) ) config.system.build.fileSystems ) config.boot.initrd.clevis.devices ); @@ -217,7 +214,7 @@ let if poolImported "${pool}"; then ${lib.optionalString config.boot.initrd.clevis.enable ( lib.concatMapStringsSep "\n" ( - elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true " + elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key -L prompt ${elem} || true " ) (lib.filter (p: (lib.elemAt (lib.splitString "/" p) 0) == pool) clevisDatasets) )} From 7c39ebb255c8171dfcf616302fd3ed425b62e3d0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 13:21:34 +0000 Subject: [PATCH 122/332] libretro.ppsspp: 0-unstable-2025-12-10 -> 0-unstable-2025-12-16 --- pkgs/applications/emulators/libretro/cores/ppsspp.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/ppsspp.nix b/pkgs/applications/emulators/libretro/cores/ppsspp.nix index b4af820079e0..b2f9a6c8783d 100644 --- a/pkgs/applications/emulators/libretro/cores/ppsspp.nix +++ b/pkgs/applications/emulators/libretro/cores/ppsspp.nix @@ -13,13 +13,13 @@ }: mkLibretroCore { core = "ppsspp"; - version = "0-unstable-2025-12-10"; + version = "0-unstable-2025-12-16"; src = fetchFromGitHub { owner = "hrydgard"; repo = "ppsspp"; - rev = "5a67eb5cc5e3b3248de513e95741ca47b87bedb4"; - hash = "sha256-FH7Wp8CBKt/5G/sXZ7hSbCFRMopBoID0ho/XtS13400="; + rev = "dd112491db181114723fed270a1c45ffc1355539"; + hash = "sha256-NMUpmJySZPcyo/niIohxbXG5MfkyKCdeEF9O8ZPKe8g="; fetchSubmodules = true; }; From 8336ef615107a7089eb9ed8b03f335d93bd5992c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 17 Dec 2025 14:46:55 +0100 Subject: [PATCH 123/332] certgraph: 20220513 -> 0.1.2 Diff: https://github.com/lanrat/certgraph/compare/v20220513...v0.1.2 Changelog: https://github.com/lanrat/certgraph/releases/tag/v0.1.2 --- pkgs/by-name/ce/certgraph/package.nix | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ce/certgraph/package.nix b/pkgs/by-name/ce/certgraph/package.nix index ddf6ebe2b302..0d67979a3931 100644 --- a/pkgs/by-name/ce/certgraph/package.nix +++ b/pkgs/by-name/ce/certgraph/package.nix @@ -2,26 +2,38 @@ lib, buildGoModule, fetchFromGitHub, + versionCheckHook, }: buildGoModule rec { pname = "certgraph"; - version = "20220513"; + version = "0.1.2"; src = fetchFromGitHub { owner = "lanrat"; repo = "certgraph"; - rev = version; - sha256 = "sha256-7tvPiJHZE9X7I79DFNF1ZAQiaAkrtrXiD2fY7AkbWMk="; + tag = "v${version}"; + hash = "sha256-WlNrKmny4fODnSEkP8HUF+VzMX1/LKYMdSnm7DON8Po="; }; - vendorHash = "sha256-ErTn7pUCtz6ip2kL8FCe+3Rhs876xtqto+z5nZqQ6cI="; + vendorHash = "sha256-4wj96eDibGB3oX56yIr01CYLZCYMFnfoaPWaNdFH7IE="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + ldflags = [ + "-w" + "-s" + "-X=main.version=${version}" + ]; + + doInstallCheck = true; meta = { description = "Intelligence tool to crawl the graph of certificate alternate names"; - mainProgram = "certgraph"; homepage = "https://github.com/lanrat/certgraph"; - license = with lib.licenses; [ gpl2Only ]; + changelog = "https://github.com/lanrat/certgraph/releases/tag/${src.tag}"; + license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ fab ]; + mainProgram = "certgraph"; }; } From 7ceda7d52283e2d5bcb2bcb26c0dc2a947dde179 Mon Sep 17 00:00:00 2001 From: r-vdp Date: Wed, 17 Dec 2025 12:26:49 +0200 Subject: [PATCH 124/332] sudo-rs: add a store path for zoneinfo so that sudo-rs also works on non-NixOS --- pkgs/by-name/su/sudo-rs/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/su/sudo-rs/package.nix b/pkgs/by-name/su/sudo-rs/package.nix index af4da9c1f9c0..f112b9b1309a 100644 --- a/pkgs/by-name/su/sudo-rs/package.nix +++ b/pkgs/by-name/su/sudo-rs/package.nix @@ -7,6 +7,7 @@ versionCheckHook, pam, rustPlatform, + tzdata, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -28,7 +29,8 @@ rustPlatform.buildRustPackage (finalAttrs: { postPatch = '' substituteInPlace src/system/audit.rs \ - --replace-fail "/usr/share/zoneinfo" "/etc/zoneinfo" + --replace-fail '/usr/share/zoneinfo' '/etc/zoneinfo' \ + --replace-fail '/usr/share/lib/zoneinfo' '${tzdata}/share/zoneinfo' ''; postInstall = '' @@ -61,7 +63,9 @@ rustPlatform.buildRustPackage (finalAttrs: { "system::interface::test::test_unix_user" "system::tests::test_get_user_and_group_by_id" - # Assumes runtime zoneinfo paths + # Store paths are not owned by root in the build sandbox, so the zoneinfo path + # doesn't pass the validations done by sudo-rs. + # This is not an issue at runtime, since there the zoneinfo path is owned by root. "sudo::env::environment::tests::test_tzinfo" # Unsure why those are failing From 353eec600b300fa8e6b67bf8ff14d7f38ab1cdf5 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 17 Dec 2025 22:17:22 +0800 Subject: [PATCH 125/332] buildPythonPackage: chore: remove unnecessary set update --- pkgs/development/interpreters/python/mk-python-derivation.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 04deb32b6a3a..4092c64ba713 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -417,8 +417,6 @@ let dependencies optional-dependencies ; - } - // { updateScript = nix-update-script { }; } // attrs.passthru or { }; From cedf01d0751e7230edbc61f60f9cee6d95c46aeb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 14:19:56 +0000 Subject: [PATCH 126/332] terraform-providers.sap_btp: 1.18.0 -> 1.18.1 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index a3a64785c26d..fe5383e30160 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1165,11 +1165,11 @@ "vendorHash": "sha256-WDyULPLN+uZ5OaE/j3FgurHbXKRU93S3nbXk8mW5dc4=" }, "sap_btp": { - "hash": "sha256-TLMEHDmjdS9zqU+WdUc9YUt7IwYmEBr3pizVDxAH1YA=", + "hash": "sha256-jN/tvfzVnzJTLpAriT68F2HwAS5lxL+iMU1yGR6P8ww=", "homepage": "https://registry.terraform.io/providers/SAP/btp", "owner": "SAP", "repo": "terraform-provider-btp", - "rev": "v1.18.0", + "rev": "v1.18.1", "spdx": "Apache-2.0", "vendorHash": "sha256-f3b4NULINH8XworCn46fiz4GmBM31ROdAJy1j4GKkx4=" }, From 408b8ab5c632e2dac115d86fd954e196034148b3 Mon Sep 17 00:00:00 2001 From: yuannan Date: Wed, 17 Dec 2025 14:30:28 +0000 Subject: [PATCH 127/332] llama-cpp: 7356 -> 7445 --- pkgs/by-name/ll/llama-cpp/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index f4b467e7b5f1..5047b1a9aa63 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -74,13 +74,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "7356"; + version = "7445"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-zrdnjiwM0gdy1wSWSR0AA6uZHYW1deVG3yRFlalAAZc="; + hash = "sha256-oHQtfGu1altWwHUl4z2ApLVp8ISfd+l9t+k5NqtbWgA="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT @@ -186,6 +186,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { dit7ya philiptaron xddxdd + yuannan ]; platforms = lib.platforms.unix; badPlatforms = optionals (cudaSupport || openclSupport) lib.platforms.darwin; From fdb49d37146c804ab3957a42de16e65ff4cda957 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 14:58:41 +0000 Subject: [PATCH 128/332] terragrunt: 0.94.0 -> 0.96.0 --- pkgs/by-name/te/terragrunt/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index 78b3d4963850..dbf7cc0c7000 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -7,13 +7,13 @@ }: buildGo125Module (finalAttrs: { pname = "terragrunt"; - version = "0.94.0"; + version = "0.96.0"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "terragrunt"; tag = "v${finalAttrs.version}"; - hash = "sha256-agc7tciz9ciz2gFjGsmafc46MgenOAQDyByJN9X4Wm4="; + hash = "sha256-KIfhgzPQwN3AieWexjiWOMrVNTyK0/kuubP2LQk10QE="; }; nativeBuildInputs = [ @@ -25,7 +25,7 @@ buildGo125Module (finalAttrs: { make generate-mocks ''; - vendorHash = "sha256-DkFqj52mdkJvjG5yceRH5GEKWHU73rOE6dJno/6N2k8="; + vendorHash = "sha256-9KrOn55C3c8G7PkIgnqkUQM6jqnZwUW0Mas1ZgEINxI="; doCheck = false; From 24a82994c40a7dd4889f256e7d0f6f2defa1272f Mon Sep 17 00:00:00 2001 From: Andreas Wiese Date: Tue, 16 Dec 2025 23:13:33 +0100 Subject: [PATCH 129/332] python3Packages.granian: refresh tests' TLS certs granian up to 2.6.0 delivers TLS certificates in its test fixtures which expired on Dec 1. This makes those tests fail. That's somehow good and bad simultaneously, but anyways unfortunate. This is fixed upstream, but not in a release. Fetch and apply the appropriate patch manually. --- pkgs/development/python-modules/granian/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/granian/default.nix b/pkgs/development/python-modules/granian/default.nix index 2d0a95898814..34144ff5a139 100644 --- a/pkgs/development/python-modules/granian/default.nix +++ b/pkgs/development/python-modules/granian/default.nix @@ -1,5 +1,6 @@ { lib, + fetchurl, fetchFromGitHub, rustPlatform, cacert, @@ -34,6 +35,11 @@ buildPythonPackage rec { # and allow the final application to make the allocator decision # via LD_PRELOAD or similar. patches = [ + (fetchurl { + # Refresh expired TLS certificates for tests + url = "https://github.com/emmett-framework/granian/commit/189f1bed2effb4a8a9cba07b2c5004e599a6a890.patch"; + hash = "sha256-7FgVR7/lAh2P5ptGx6jlFzWuk24RY7wieN+aLaAEY+c="; + }) ./no-alloc.patch ]; From f7c6d4fda7fd5d8ff4ea9ed7e954c12ed7fd92de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 15:22:43 +0000 Subject: [PATCH 130/332] dgop: 0.1.11 -> 0.1.12 --- pkgs/by-name/dg/dgop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dg/dgop/package.nix b/pkgs/by-name/dg/dgop/package.nix index f3552c6c04f9..edd9051e24bd 100644 --- a/pkgs/by-name/dg/dgop/package.nix +++ b/pkgs/by-name/dg/dgop/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "dgop"; - version = "0.1.11"; + version = "0.1.12"; src = fetchFromGitHub { owner = "AvengeMedia"; repo = "dgop"; tag = "v${finalAttrs.version}"; - hash = "sha256-QhzRn7pYN35IFpKjjxJAj3GPJECuC+VLhoGem3ezycc="; + hash = "sha256-ei6JMAai5azTy4iYLGp6vDd+ADMej+ysrZhlRv491g4="; }; - vendorHash = "sha256-kO8b/eV5Vm/Fwzyzb0p8N9SkNlhkJLmEiPYmR2m5+po="; + vendorHash = "sha256-MssJTtlKWzn+toNmE+QkXvLXtR7pR21cknXj89CSbwI="; ldflags = [ "-w" From 6581ecd56df88c4c980efeca8b4fd3dc2a7b95c6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 15:23:07 +0000 Subject: [PATCH 131/332] dms-shell: 1.0.2 -> 1.0.3 --- pkgs/by-name/dm/dms-shell/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dm/dms-shell/package.nix b/pkgs/by-name/dm/dms-shell/package.nix index d317b77c9637..59bfd8905ae9 100644 --- a/pkgs/by-name/dm/dms-shell/package.nix +++ b/pkgs/by-name/dm/dms-shell/package.nix @@ -26,13 +26,13 @@ buildGoModule ( in { pname = "dms-shell"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "AvengeMedia"; repo = "DankMaterialShell"; tag = "v${finalAttrs.version}"; - hash = "sha256-rWjWYu5rs3ZOJ4YJpvIscBZSYu74thJHc0VYyYKJTUc="; + hash = "sha256-IT21E2XX83IlO6/dW0YmUdY2JW//+ZBHLqpKPGd6tx8="; }; sourceRoot = "${finalAttrs.src.name}/core"; From 03c101bb34eb90207ee37219fbe1061337f6264b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 15:29:43 +0000 Subject: [PATCH 132/332] nats-server: 2.12.2 -> 2.12.3 --- pkgs/by-name/na/nats-server/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/na/nats-server/package.nix b/pkgs/by-name/na/nats-server/package.nix index cd9233b9d699..2147ecb9c567 100644 --- a/pkgs/by-name/na/nats-server/package.nix +++ b/pkgs/by-name/na/nats-server/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "nats-server"; - version = "2.12.2"; + version = "2.12.3"; src = fetchFromGitHub { owner = "nats-io"; repo = "nats-server"; rev = "v${version}"; - hash = "sha256-03BtUlCf1GxrtQGz6gDxfqVeZy9rSxCTqZLZeMQhbWw="; + hash = "sha256-VLNo2XuTBUYR/zzgtjO4uzzOFaqpm8p0iW2mjCxvVSA="; }; - vendorHash = "sha256-Ydo4pRRcQo2R1Bc9BGPvAMwgbMG3ZhbislK3FlejqdY="; + vendorHash = "sha256-Ik3RYk9GjEkKyp/Uu89rbiSnX6dN/ukpVVFU8tu3C5o="; doCheck = false; From 867433dc45aac20124dc647e704813a1135aebad Mon Sep 17 00:00:00 2001 From: Gon Solo Date: Sun, 14 Dec 2025 19:34:53 +0100 Subject: [PATCH 133/332] pdk-ciel: init at 2.3.1 --- pkgs/by-name/pd/pdk-ciel/package.nix | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pkgs/by-name/pd/pdk-ciel/package.nix diff --git a/pkgs/by-name/pd/pdk-ciel/package.nix b/pkgs/by-name/pd/pdk-ciel/package.nix new file mode 100644 index 000000000000..648d3c10b556 --- /dev/null +++ b/pkgs/by-name/pd/pdk-ciel/package.nix @@ -0,0 +1,37 @@ +{ + lib, + fetchFromGitHub, + python3Packages, +}: + +python3Packages.buildPythonApplication rec { + pname = "ciel"; + version = "2.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fossi-foundation"; + repo = "ciel"; + tag = version; + hash = "sha256-/B4s0X+/2rTkR81zK5fwFKmMAgfFYH2n/6etH7WYyik="; + }; + + build-system = [ python3Packages.poetry-core ]; + + dependencies = with python3Packages; [ + pyyaml + click + httpx + pcpp + rich + zstandard + ]; + + meta = { + description = "Tool for managing Process Design Kits (PDKs) for ASIC and FPGA flows"; + homepage = "https://github.com/fossi-foundation/ciel"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ gonsolo ]; + mainProgram = "ciel"; + }; +} From 8ec7e472935996612f6c9fbb3efe62228a17820d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 15:47:40 +0000 Subject: [PATCH 134/332] kanata-with-cmd: 1.10.0 -> 1.10.1 --- pkgs/by-name/ka/kanata/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ka/kanata/package.nix b/pkgs/by-name/ka/kanata/package.nix index dc28d596d754..c277f5472e70 100644 --- a/pkgs/by-name/ka/kanata/package.nix +++ b/pkgs/by-name/ka/kanata/package.nix @@ -16,16 +16,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "kanata"; - version = "1.10.0"; + version = "1.10.1"; src = fetchFromGitHub { owner = "jtroo"; repo = "kanata"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-IicVuJZBHzBv9SNGQuWIIaLq2qpWfn/jMFh9KPvAThs="; + sha256 = "sha256-jzTK/ZK9UrXTP/Ow662ENBv3cim6klA8+DQv4DLVSNU="; }; - cargoHash = "sha256-2DTL1u17jUFiRoVe7973L5/352GtKte/vakk01SSRwY="; + cargoHash = "sha256-qYFt/oHokR+EznugEaE/ZEn26IFVLXePgoYGxoPRi+g="; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ (writeShellScriptBin "sw_vers" '' From 0d834963fe4845c1e5c809af55d1b139541ca581 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 15:52:53 +0000 Subject: [PATCH 135/332] television: 0.14.0 -> 0.14.1 --- pkgs/by-name/te/television/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/television/package.nix b/pkgs/by-name/te/television/package.nix index 68d0801be970..d42137fa558d 100644 --- a/pkgs/by-name/te/television/package.nix +++ b/pkgs/by-name/te/television/package.nix @@ -19,16 +19,16 @@ let television = rustPlatform.buildRustPackage (finalAttrs: { pname = "television"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "alexpasmantier"; repo = "television"; tag = finalAttrs.version; - hash = "sha256-3xzgLG4iHd4SvBgMu3MgpOPD0saVDaC8gXy+Y/wJ4q4="; + hash = "sha256-PBWadCAGfCgYcNZpkQhY9g7mrKQgkJ9UhqMjAcM/IuU="; }; - cargoHash = "sha256-3Ttar63EffTmU4pnwgZb/Zl9zIN9T9hAcV/uFUjypeQ="; + cargoHash = "sha256-aa+XV1QUHjL2AjO+0AkMYimJeB7bNdb7ShrgNwevJc8="; strictDeps = true; nativeBuildInputs = [ From ef4adfd8b9d30575ba24be21b98d982954b7cb3f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 16:05:42 +0000 Subject: [PATCH 136/332] python3Packages.fickling: 0.1.5 -> 0.1.6 --- pkgs/development/python-modules/fickling/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fickling/default.nix b/pkgs/development/python-modules/fickling/default.nix index 59c176fa4d4b..88a2bab3ea95 100644 --- a/pkgs/development/python-modules/fickling/default.nix +++ b/pkgs/development/python-modules/fickling/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "fickling"; - version = "0.1.5"; + version = "0.1.6"; pyproject = true; src = fetchFromGitHub { owner = "trailofbits"; repo = "fickling"; tag = "v${version}"; - hash = "sha256-ExyjOTpIkDM2PmHxYUbe8xNhhQChqfUqTtsNR8Z7ZEk="; + hash = "sha256-p2XkHKqheVHqLTQKmUApiYH7NIaHc091B/TjiCDYWtA="; }; build-system = [ From f0d6dc3d4ffdc61230fa444b20b1bb1fa6bee4b9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 16:39:09 +0000 Subject: [PATCH 137/332] pixi: 0.61.0 -> 0.62.0 --- pkgs/by-name/pi/pixi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix index 5b328207d393..7fc3bcf1fab7 100644 --- a/pkgs/by-name/pi/pixi/package.nix +++ b/pkgs/by-name/pi/pixi/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "pixi"; - version = "0.61.0"; + version = "0.62.0"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "pixi"; tag = "v${finalAttrs.version}"; - hash = "sha256-BMHZcsFU9aYEiUJ1WfS2hve7pCHknOKpsNJ7VPUmuwU="; + hash = "sha256-UHaLFzlz0aRl+CTtYURNhJAOd0sQOjhXgOOO+sZw4EE="; }; - cargoHash = "sha256-RIw5wAxick23kK16Pvc8U4uSSWe/VxE/9NmIP8X9Ruw="; + cargoHash = "sha256-eQQLIdck8C6lLoXcTK/zUw6L9IUAnp7gRrMBlFGMEVg="; nativeBuildInputs = [ pkg-config From 66bcaf0cfb1654052955fb591536f671b0ee456b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 16:46:37 +0000 Subject: [PATCH 138/332] dolfinx: 0.10.0.post4 -> 0.10.0.post5 --- pkgs/by-name/do/dolfinx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/dolfinx/package.nix b/pkgs/by-name/do/dolfinx/package.nix index a44c7e147ce6..4ecc7250aba8 100644 --- a/pkgs/by-name/do/dolfinx/package.nix +++ b/pkgs/by-name/do/dolfinx/package.nix @@ -25,14 +25,14 @@ let ); in stdenv.mkDerivation (finalAttrs: { - version = "0.10.0.post4"; + version = "0.10.0.post5"; pname = "dolfinx"; src = fetchFromGitHub { owner = "fenics"; repo = "dolfinx"; tag = "v${finalAttrs.version}"; - hash = "sha256-vzP5vBZpUR4HW6yJw1wFtbo/TiZ/k02TXV2Zk42b5aQ="; + hash = "sha256-CK7YEtJtrx/Mto72RHT4Qjg5StO28Et+FeCYxk5T+8s="; }; nativeBuildInputs = [ From ff2465c93398161d370771ecacbb00b92e799b8d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 17 Dec 2025 16:04:25 +0100 Subject: [PATCH 139/332] dropbear: 2025.88 -> 2025.89 https://github.com/mkj/dropbear/raw/DROPBEAR_2025.89/CHANGES Fixes: CVE-2025-14282, CVE-2019-6111 --- pkgs/by-name/dr/dropbear/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dr/dropbear/package.nix b/pkgs/by-name/dr/dropbear/package.nix index edd8f75f7367..a6001c904174 100644 --- a/pkgs/by-name/dr/dropbear/package.nix +++ b/pkgs/by-name/dr/dropbear/package.nix @@ -20,11 +20,11 @@ in stdenv.mkDerivation rec { pname = "dropbear"; - version = "2025.88"; + version = "2025.89"; src = fetchurl { url = "https://matt.ucc.asn.au/dropbear/releases/dropbear-${version}.tar.bz2"; - sha256 = "sha256-eD9Q6iexfBbaiVePr9tt7PpEu49lkOVpik5NNnLcU9Q="; + sha256 = "sha256-DR98pxHPwzbcioXmcsq5z9giOgL+LaCkp661jJ4RNjQ="; }; CFLAGS = lib.pipe (lib.attrNames dflags) [ From 64e1548fb594cb9549049304efb87ffb19f0dc86 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 17 Dec 2025 09:19:36 -0800 Subject: [PATCH 140/332] python3Packages.langchain-core: 1.1.3 -> 1.2.2 CHANGELOG: https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D1.2.2 DIFF: https://github.com/langchain-ai/langchain/compare/langchain-core%3D%3D1.1.3...langchain-core%3D%3D1.2.2 --- pkgs/development/python-modules/langchain-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 6959d502dace..26127cddb86a 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -37,14 +37,14 @@ buildPythonPackage rec { pname = "langchain-core"; - version = "1.1.3"; + version = "1.2.2"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-core==${version}"; - hash = "sha256-2wOe9vIqYIxPDh3gXnuHTqcXx1iOtBTCInFieWsL4Ow="; + hash = "sha256-WJITm+8XIqezr/2U8HpE0J4hYdzg2Z6tw8b5s6SF6m0="; }; sourceRoot = "${src.name}/libs/core"; From 6b53f0e259846f9755fc6420ebb5fe3e7bdae268 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 17 Dec 2025 09:29:10 -0800 Subject: [PATCH 141/332] python3Packages.langchain: disable flaky, load-sensitive test test_tool_retry_constant_backoff --- pkgs/development/python-modules/langchain/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index e7349f80a194..f0cc30d47699 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -126,6 +126,8 @@ buildPythonPackage rec { "test_timeout_returns_error" # Can't see the shell session results when sandboxed "test_startup_and_shutdown_commands" + # Timing sensitive tests + "test_tool_retry_constant_backoff" ]; disabledTestPaths = [ From c50113ab67ba3219602ab226d4d32108b4b20df7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 17 Dec 2025 18:07:49 +0100 Subject: [PATCH 142/332] python313Packages.streamlit-card: init at 1.0.2 Streamlit component to make UI cards https://github.com/gamcoh/st-card --- .../python-modules/streamlit-card/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/streamlit-card/default.nix diff --git a/pkgs/development/python-modules/streamlit-card/default.nix b/pkgs/development/python-modules/streamlit-card/default.nix new file mode 100644 index 000000000000..75a66338ed16 --- /dev/null +++ b/pkgs/development/python-modules/streamlit-card/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + streamlit, +}: + +buildPythonPackage rec { + pname = "streamlit-card"; + version = "1.0.2"; + pyproject = true; + + src = fetchPypi { + pname = "streamlit_card"; + inherit version; + hash = "sha256-gAHNXt2Kbi2zbugfN9xkXwj3jCGiupaEAxdsaLTzPLE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ streamlit ]; + + pythonImportsCheck = [ "streamlit_card" ]; + + # Module has no tests + doCheck = false; + + meta = { + description = "Streamlit component to make UI cards"; + homepage = "https://github.com/gamcoh/st-card"; + changelog = "https://github.com/gamcoh/st-card/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 22f8feba5c7c..bbcbe92fd97b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18180,6 +18180,8 @@ self: super: with self; { streamlit-avatar = callPackage ../development/python-modules/streamlit-avatar { }; + streamlit-card = callPackage ../development/python-modules/streamlit-card { }; + streamlit-folium = callPackage ../development/python-modules/streamlit-folium { }; streamlit-notify = callPackage ../development/python-modules/streamlit-notify { }; From 6614dee5c942d67e9547a9d561f1ecd997b8abaf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 17 Dec 2025 18:22:56 +0100 Subject: [PATCH 143/332] python313Packages.streamlit-kpi-card: init at 0.1.2 KPI cards for Streamlit https://github.com/pjoachims/streamlit-kpi-card --- .../streamlit-kpi-card/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/streamlit-kpi-card/default.nix diff --git a/pkgs/development/python-modules/streamlit-kpi-card/default.nix b/pkgs/development/python-modules/streamlit-kpi-card/default.nix new file mode 100644 index 000000000000..b4ba449c0a34 --- /dev/null +++ b/pkgs/development/python-modules/streamlit-kpi-card/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pandas, + streamlit, +}: + +buildPythonPackage rec { + pname = "streamlit-kpi-card"; + version = "0.1.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pjoachims"; + repo = "streamlit-kpi-card"; + tag = version; + hash = "sha256-w2hUEad6sMFq/KbYnNX7E/vOkIqsLwJZmzdgQTSVMm4="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools>=45,<70" "setuptools" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + pandas + streamlit + ]; + + pythonImportsCheck = [ "streamlit_kpi_card" ]; + + # Module has no tests + doCheck = false; + + meta = { + description = "KPI cards for Streamlit"; + homepage = "https://github.com/pjoachims/streamlit-kpi-card"; + changelog = "https://github.com/pjoachims/streamlit-kpi-card/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 22f8feba5c7c..18fa75fc839e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18182,6 +18182,8 @@ self: super: with self; { streamlit-folium = callPackage ../development/python-modules/streamlit-folium { }; + streamlit-kpi-card = callPackage ../development/python-modules/streamlit-kpi-card { }; + streamlit-notify = callPackage ../development/python-modules/streamlit-notify { }; streamz = callPackage ../development/python-modules/streamz { }; From 6f86921ee3dba63c0a270017bebb73f1ef3b4737 Mon Sep 17 00:00:00 2001 From: dish Date: Wed, 17 Dec 2025 12:35:25 -0500 Subject: [PATCH 144/332] matrix-hookshot: fix build --- pkgs/by-name/ma/matrix-hookshot/package.nix | 28 ++++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ma/matrix-hookshot/package.nix b/pkgs/by-name/ma/matrix-hookshot/package.nix index 5f2b7d7bbec2..e95d718a8806 100644 --- a/pkgs/by-name/ma/matrix-hookshot/package.nix +++ b/pkgs/by-name/ma/matrix-hookshot/package.nix @@ -6,7 +6,6 @@ makeWrapper, matrix-sdk-crypto-nodejs, yarnConfigHook, - yarnInstallHook, cargo, rustPlatform, rustc, @@ -43,7 +42,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ rustPlatform.cargoSetupHook yarnConfigHook - yarnInstallHook pkg-config cargo rustc @@ -71,9 +69,31 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; + installPhase = '' + runHook preInstall + + rm -rf ./node_modules + yarn install --production --offline --force --ignore-engines --no-bin-links --frozen-lockfile + + # Re-install matrix-sdk-crypto-nodejs + rm -rf node_modules/@matrix-org/matrix-sdk-crypto-nodejs + cp -r ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs \ + node_modules/@matrix-org/matrix-sdk-crypto-nodejs + chmod -R a+rwx node_modules/@matrix-org/matrix-sdk-crypto-nodejs + + mkdir -p $out/lib/node_modules/matrix-hookshot/ + mkdir $out/bin + + mv ./lib/* $out/lib/node_modules/matrix-hookshot + mv ./public ./assets ./node_modules ./package.json $out/lib/node_modules/matrix-hookshot + + runHook postInstall + ''; + postInstall = '' - makeWrapper '${lib.getExe nodejs}' "$out/bin/matrix-hookshot" --add-flags \ - "$out/lib/node_modules/matrix-hookshot/lib/App/BridgeApp.js" + makeWrapper '${lib.getExe nodejs}' "$out/bin/matrix-hookshot" \ + --set NODE_ENV "production" \ + --add-flags "$out/lib/node_modules/matrix-hookshot/App/BridgeApp.js" ''; passthru.updateScript = nix-update-script { }; From 7e51153b24aedc4430e26b81d29e984210daa23f Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Wed, 17 Dec 2025 18:35:32 +0100 Subject: [PATCH 145/332] aspell: stop using `or` identifier unquoted This is to be deprecated in Lix: https://gerrit.lix.systems/c/lix/+/4764/6 The Oriya language is spoken by about 37 million people in India according to Wikipedia, but I am guessing the dictionary is not actually used that often by nixpkgs users. Either way quoting it in nixpkgs is totally non-breaking for users of nixpkgs. --- pkgs/development/libraries/aspell/dictionaries.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index a6dcfb87acc5..800bda26bd7d 100644 --- a/pkgs/development/libraries/aspell/dictionaries.nix +++ b/pkgs/development/libraries/aspell/dictionaries.nix @@ -811,7 +811,7 @@ rec { meta.license = lib.licenses.gpl2Only; }; - or = buildOfficialDict { + "or" = buildOfficialDict { language = "or"; version = "0.03-1"; fullName = "Oriya"; From eac282d04b5e2c4387a15a4d3faec68ca8ad8f3a Mon Sep 17 00:00:00 2001 From: Ryan Horiguchi Date: Fri, 21 Nov 2025 19:50:30 +0100 Subject: [PATCH 146/332] netdata: 2.8.0 -> 2.8.4 --- pkgs/tools/system/netdata/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index 577602cfca9e..0cd433d4fc0e 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -66,13 +66,13 @@ stdenv.mkDerivation ( finalAttrs: { pname = "netdata"; - version = "2.8.0"; + version = "2.8.4"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${finalAttrs.version}"; - hash = "sha256-QV9h+TMAuRCkYFr8KMOPhWq5fEnKpmA/HxQ8fV/jKBI="; + hash = "sha256-rrwoyTejfOwSWMZ0juTE4CzgeRVBrC7AISFUoFBMaIs="; fetchSubmodules = true; }; @@ -232,7 +232,7 @@ stdenv.mkDerivation ( --replace-fail 'set(VARLIB_DIR "''${NETDATA_RUNTIME_PREFIX}/var/lib/netdata")' 'set(VARLIB_DIR "/var/lib/netdata")' \ --replace-fail 'set(pkglibexecdir_POST "''${NETDATA_RUNTIME_PREFIX}/usr/libexec/netdata")' 'set(pkglibexecdir_POST "${placeholder "out"}/libexec/netdata")' \ --replace-fail 'set(localstatedir_POST "''${NETDATA_RUNTIME_PREFIX}/var")' 'set(localstatedir_POST "/var")' \ - --replace-fail 'set(BINDIR usr/sbin)' 'set(BINDIR "${placeholder "out"}/sbin")' \ + --replace-fail 'set(BINDIR usr/sbin)' 'set(BINDIR "bin")' \ --replace-fail 'set(BUILD_INFO_CMAKE_CACHE_ARCHIVE_PATH "usr/share/netdata")' 'set(BUILD_INFO_CMAKE_CACHE_ARCHIVE_PATH "${placeholder "out"}/share/netdata")' ''; @@ -266,7 +266,6 @@ stdenv.mkDerivation ( ''} # Time to cleanup the output directory. - unlink $out/sbin cp $out/etc/netdata/edit-config $out/bin/netdata-edit-config mv $out/lib/netdata/conf.d $out/share/netdata/conf.d rm -rf $out/{var,usr,etc} From 6062ffccd5ca2fb07472841ad27335df503bc9e3 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 17 Dec 2025 18:45:15 +0100 Subject: [PATCH 147/332] linux/common-config: fix for Linux 6.1.y 6.1.y is old enough that we use simpledrm, but not old enough that GOOGLE_FRAMEBUFFER_COREBOOT supports simpledrm. Explicitly setting GOOGLE_FRAMEBUFFER_COREBOOT to module therefore broke 6.1.y build. Our kernel configuration system will always answer "m" where possible, so it's not usually necessary to set options to "module" like this. It's less fragile to rely on that default where possible. I've checked that building the kernel configfile now works on 5.10.y, 6.1.y, 6.12.y, and 6.18.y, and checked that all these options still get set to "m" on at least the latter two. Fixes: fca84bde0f7d ("linux/common-config: Enable coreboot firmware drivers") --- pkgs/os-specific/linux/kernel/common-config.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index c4f1181c64cd..5f285fa3eb5f 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1411,12 +1411,6 @@ let # Enable coreboot firmware drivers. # While these are called CONFIG_GOOGLE_*, they apply to coreboot systems in general. GOOGLE_FIRMWARE = yes; - GOOGLE_CBMEM = whenAtLeast "6.2" module; - GOOGLE_COREBOOT_TABLE = module; - GOOGLE_MEMCONSOLE = module; - GOOGLE_MEMCONSOLE_COREBOOT = module; - GOOGLE_FRAMEBUFFER_COREBOOT = module; - GOOGLE_VPD = module; } // lib.optionalAttrs From 28d0e562e00d3dae9024f34b4a3e7ff438d49739 Mon Sep 17 00:00:00 2001 From: networkException Date: Wed, 17 Dec 2025 19:05:31 +0100 Subject: [PATCH 148/332] ungoogled-chromium: 143.0.7499.109-1 -> 143.0.7499.146-1 https://chromereleases.googleblog.com/2025/12/stable-channel-update-for-desktop_16.html This update includes 2 security fixes. CVEs: CVE-2025-14765 CVE-2025-14766 --- .../networking/browsers/chromium/info.json | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index 677226bac978..a8a654c819c3 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -813,7 +813,7 @@ } }, "ungoogled-chromium": { - "version": "143.0.7499.109", + "version": "143.0.7499.146", "deps": { "depot_tools": { "rev": "e2bb3cd55899346cc68bbfd5139e59c9d85a6984", @@ -825,16 +825,16 @@ "hash": "sha256-kIPhfuJBQSISdRjloe0N2JrqvuVrEkNijb92/9zSE9I=" }, "ungoogled-patches": { - "rev": "143.0.7499.109-1", - "hash": "sha256-IiIQqo6U0yqBxamrlQ56FSViQ0mPUoM1yGZkVAur8is=" + "rev": "143.0.7499.146-1", + "hash": "sha256-GHJ/xdEaaNdXJzn3XdY9xoVPYH5HxH1T7kPgvrdi+9s=" }, "npmHash": "sha256-HF6B4abJJJ9JDVbovtAdaHIvqE1zHJZ2a+g2Cudx8Pw=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "71a0dbd6672e2ccb6d1008376cbb7acd315cb8d6", - "hash": "sha256-K7HzC+M7WIMsyB4Wuy04WvGAX+QsTN5daOhkox1wxnA=", + "rev": "c1224fc40c96e7f17f0cdeb87a8f4c64b93c0d74", + "hash": "sha256-Sn4j7vs7g/D9GnL+BMCyg73iEeGn7Miq0k42mV6Z3hM=", "recompress": true }, "src/third_party/clang-format/script": { @@ -944,8 +944,8 @@ }, "src/third_party/dawn": { "url": "https://dawn.googlesource.com/dawn.git", - "rev": "e1ce227ebf75378c5f60a9d531579982bcdd93ee", - "hash": "sha256-RqGCh/InZagPemqMRnR/ziaxDm3ruS4dtnj87mBmIjc=" + "rev": "479f62d2194fd6e44c37d07654ca6e41c42bd332", + "hash": "sha256-rzZn9l0EFcir6k8Xv2svIrhRPwe/rq48H7CX/3yfgFE=" }, "src/third_party/dawn/third_party/glfw": { "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", @@ -1589,8 +1589,8 @@ }, "src/third_party/webrtc": { "url": "https://webrtc.googlesource.com/src.git", - "rev": "1788a81407183acc98163a4e1507c5c63fb175cc", - "hash": "sha256-7FIcH5MG7kNHmN2FE00Qyd1NlfYzb1xKmVDX7MCNyXQ=" + "rev": "4e31d1a1ff41bb1b79609c83f998458a111a149c", + "hash": "sha256-3tfB6jNsTLYozYqBfAmYNmq94wQ3OFxBSlOfRaj6wxc=" }, "src/third_party/wuffs/src": { "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git", @@ -1619,8 +1619,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "beee9f5cafde91bbd086077a11db16cb9768e62a", - "hash": "sha256-q1gVbNGls2izSDb3KZmteZQvcc6M0JyPuZFPfG4FIAs=" + "rev": "326f5f8cad3f0e436c8ea8f82a6894936a32e860", + "hash": "sha256-crTEZnN5iWTXOxpAkvIDPQ6hyfF54F1/ImoKrdmO2K4=" } } } From 409317adb30b74fbf552294eae3760f2bbb85283 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 17 Dec 2025 19:08:38 +0100 Subject: [PATCH 149/332] linux/common-config: fix for Linux 5.10.y on aarch64 Until 5.15, HYPERV only supports x86, so forcing module broke configuration of 5.10 on aarch64. Our kernel configuration script sets every module it can to "m" anyway, so it was redundant and breakage-prone to set any value here for pre-6.18. I've confiremd that HYPERV is still set to "m" on 6.12 after this change. Fixes: e9b977bc41dc ("linux/common-config: update for 6.18") --- pkgs/os-specific/linux/kernel/common-config.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 5f285fa3eb5f..c41023c8cd4d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -567,10 +567,7 @@ let (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { # Enable Hyper-V guest stuff - HYPERV = lib.mkMerge [ - (whenOlder "6.18" module) - (whenAtLeast "6.18" yes) - ]; + HYPERV = whenAtLeast "6.18" yes; # Enable Hyper-V Synthetic DRM Driver DRM_HYPERV = whenAtLeast "5.14" module; # And disable the legacy framebuffer driver when we have the new one From 8c9283d617563599a54082940b7735acea2789b0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 17 Dec 2025 19:21:05 +0100 Subject: [PATCH 150/332] linux/common-config: enable FUNCTION_GRAPH_RETVAL Enables recording return values of functions with ftrace. Already enabled by Fedora. --- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 5f285fa3eb5f..d026c6107fe0 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -931,6 +931,7 @@ let BPF_EVENTS = yes; FUNCTION_PROFILER = yes; RING_BUFFER_BENCHMARK = no; + FUNCTION_GRAPH_RETVAL = whenAtLeast "6.5" yes; }; perf = { From c85388ace49852e073a313c7ac3ed616ddacd8df Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 18:42:35 +0000 Subject: [PATCH 151/332] tree-sitter-grammars.tree-sitter-pgn: 1.2.12 -> 1.4.2 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 2fa19af65f72..5a60d0eed048 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -474,9 +474,9 @@ }; pgn = { - version = "1.2.12"; + version = "1.4.2"; url = "github:rolandwalker/tree-sitter-pgn"; - hash = "sha256-VxRXEidQG0Q/BR4ob3Xr/UCuu7NgmaOGAqJdgHzyX1U="; + hash = "sha256-pGUSsmm+YUvfvt5c4tPs6tmEcFh3DZoDtVf+EpFhOo0="; }; php = { From 522e0478a88ffb0bd0772d1773135d66eb09cb77 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 18:42:39 +0000 Subject: [PATCH 152/332] tree-sitter-grammars.tree-sitter-yaml: 0.7.1 -> 0.7.2 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 2fa19af65f72..7052105a661b 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -775,9 +775,9 @@ }; yaml = { - version = "0.7.1"; + version = "0.7.2"; url = "github:tree-sitter-grammars/tree-sitter-yaml"; - hash = "sha256-Z2L/aQWIyZ8cSqbfjm/i10fJP++yZ2tZgho0U3asA0g="; + hash = "sha256-BX6TOfAZLW+0h2TNsgsLC9K2lfirraCWlBN2vCKiXQ4="; }; yang = { From b71944e02d9409e9fd0ef1c4a7e007329a0e180e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 18:43:43 +0000 Subject: [PATCH 153/332] tree-sitter-grammars.tree-sitter-query: 0.5.0 -> 0.8.0 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 2fa19af65f72..5adf5f2b26a4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -528,9 +528,9 @@ }; query = { - version = "0.5.0"; + version = "0.8.0"; url = "github:nvim-treesitter/tree-sitter-query"; - hash = "sha256-2JxX4KntUP/DvoCik0NYzfrU/qzs43uDwy21JkU8Hjc="; + hash = "sha256-0y8TbbZKMstjIVFEtq+9Fz44ueRup0ngNcJPJEQB/NQ="; }; r = { From b9f1e058ae6979fcbd1cdfb80387a35452f430b6 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 16 Dec 2025 06:46:40 +0800 Subject: [PATCH 154/332] fetchurl: builder.sh: convert curlOpts to string if array encountered Co-authored-by: Matt Sturgeon --- pkgs/build-support/fetchurl/builder.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index c7a6620ac145..be41a51795bc 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -1,6 +1,16 @@ source "$NIX_ATTRS_SH_FILE" source $mirrorsFile +# Normalize `curlOpts` as a string. +# If defined as a list (deprecated), it would be a bash array. +if [[ "$(declare -p curlOpts 2&>/dev/null || true)" =~ ^"declare -a" ]]; then + unset _temp + _temp="${curlOpts[*]}" + unset curlOpts + curlOpts=$_temp + unset _temp +fi + curlVersion=$(curl -V | head -1 | cut -d' ' -f2) # Curl flags to handle redirects, not use EPSV, handle cookies for From 04419e1b962008a50c113fc9766c3bea47a9da82 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 17 Dec 2025 21:01:35 +0800 Subject: [PATCH 155/332] fetchurl: builder.sh: simplify curlOpts/curlOptsList appending --- pkgs/build-support/fetchurl/builder.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index be41a51795bc..9add2b27a072 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -41,10 +41,9 @@ if [[ -n "${netrcPhase-}" ]]; then curl+=(--netrc-file "$PWD/netrc") fi -curl+=("${curlOptsList[@]}") - curl+=( - ${curlOpts[*]} + "${curlOptsList[@]}" + $curlOpts $NIX_CURL_FLAGS ) From a7b48d647a1107855b9a3ad41cb5e98856d409eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Wed, 17 Dec 2025 19:16:01 +0000 Subject: [PATCH 156/332] osu-lazer-bin: 2025.1209.0 -> 2025.1218.0 --- pkgs/by-name/os/osu-lazer-bin/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/os/osu-lazer-bin/package.nix b/pkgs/by-name/os/osu-lazer-bin/package.nix index f9728d698c9b..63fe418be4ab 100644 --- a/pkgs/by-name/os/osu-lazer-bin/package.nix +++ b/pkgs/by-name/os/osu-lazer-bin/package.nix @@ -10,23 +10,23 @@ let pname = "osu-lazer-bin"; - version = "2025.1209.0"; + version = "2025.1218.0"; src = { aarch64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Apple.Silicon.zip"; - hash = "sha256-qzmW9STCoIoz2+UGkybvB9AE536r3VghMahPFT020to="; + hash = "sha256-uuzXmpGvFucNwRXTcI2p5pEnDthXUo3ycMOEtm7cAhQ="; stripRoot = false; }; x86_64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Intel.zip"; - hash = "sha256-421KNsV4Nb3JSjJb0OMkdAEsb/YnI/st7Vio29WAtZs="; + hash = "sha256-0+5DilSzSdXSq9XevqH/tXdjVuMOaNk5Ve04o6oXIQo="; stripRoot = false; }; x86_64-linux = fetchurl { url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.AppImage"; - hash = "sha256-42Fx3CxLcW97cxRXXCqPJ8NzRBnpi62IjxGLnSRkO4g="; + hash = "sha256-9TLdClS9+bDt0/cONsQjB5nUmis+rWOo5JAtw4oeGU0="; }; } .${stdenvNoCC.system} or (throw "osu-lazer-bin: ${stdenvNoCC.system} is unsupported."); From d280f93e72723dde3a23270ef344c0c7558296c1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 19:16:28 +0000 Subject: [PATCH 157/332] snowemu: 1.1.0 -> 1.2.0 --- pkgs/by-name/sn/snowemu/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sn/snowemu/package.nix b/pkgs/by-name/sn/snowemu/package.nix index 1659bb517991..91d3ff01103c 100644 --- a/pkgs/by-name/sn/snowemu/package.nix +++ b/pkgs/by-name/sn/snowemu/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "snowemu"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "twvd"; repo = "snow"; tag = "v${finalAttrs.version}"; - hash = "sha256-m3CPKswOB2j2r/BTf9RzCvwPVq3gbKemtk11HKS1nHk="; + hash = "sha256-oBMzkN4cHk0KywIiKLcjE58T/9lOIM6fRbCZOR6zON8="; fetchSubmodules = true; }; - cargoHash = "sha256-+FS5785F8iWPt6Db+IKRbOFAYNEfHC+jvPVdwkLZ5YI="; + cargoHash = "sha256-cuxbjyjdQNkluRfPQtro9OPr4V/trT1VqgbHjfZUScQ="; nativeBuildInputs = [ pkg-config From 6f5b61f8054c49390734b2b8b2c05f1e4a520640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Wed, 17 Dec 2025 19:20:22 +0000 Subject: [PATCH 158/332] osu-lazer: 2025.1209.0 -> 2025.1218.0 --- pkgs/by-name/os/osu-lazer/deps.json | 12 ++++++------ pkgs/by-name/os/osu-lazer/package.nix | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/os/osu-lazer/deps.json b/pkgs/by-name/os/osu-lazer/deps.json index 6c34baef122c..2199038a1f39 100644 --- a/pkgs/by-name/os/osu-lazer/deps.json +++ b/pkgs/by-name/os/osu-lazer/deps.json @@ -596,13 +596,13 @@ }, { "pname": "ppy.LocalisationAnalyser", - "version": "2024.802.0", - "hash": "sha256-vyRWbdPUp5n8hJPJReU9LUy2o/bwwLT1po9f2M16tMA=" + "version": "2025.1208.0", + "hash": "sha256-klogAaNxpEVJKd1NcySgTUwv5WwrvaUXBRypj5wKX5Y=" }, { "pname": "ppy.LocalisationAnalyser.Tools", - "version": "2024.802.0", - "hash": "sha256-bniBSY8rS005OHO/ixn2NFM0/KIMiawHyMSXhlAEqwc=" + "version": "2025.1208.0", + "hash": "sha256-diVAckS1zNyVE1UGkbiu9jH/25j/c+Ad5XC3EjdLDsg=" }, { "pname": "ppy.ManagedBass", @@ -641,8 +641,8 @@ }, { "pname": "ppy.osu.Game.Resources", - "version": "2025.1125.0", - "hash": "sha256-jJHpti142HgEBFhTDl5iThM05mQypVEF0J7JIVskVQ0=" + "version": "2025.1215.0", + "hash": "sha256-u2xGoDYxVxqoRXLqcyN4r97HA1f9vqoVFJMmqMOd5vk=" }, { "pname": "ppy.osuTK.NS20", diff --git a/pkgs/by-name/os/osu-lazer/package.nix b/pkgs/by-name/os/osu-lazer/package.nix index 41f6e053df4d..b42b908bd64e 100644 --- a/pkgs/by-name/os/osu-lazer/package.nix +++ b/pkgs/by-name/os/osu-lazer/package.nix @@ -22,13 +22,13 @@ buildDotnetModule rec { pname = "osu-lazer"; - version = "2025.1209.0"; + version = "2025.1218.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; tag = "${version}-lazer"; - hash = "sha256-uxC+3M2KMnG292Ab1Sa/QnkxQXNogSqE7Tij/moDzkE="; + hash = "sha256-/gVzw1itPiEEoqTQSNCAgYpkN6cNT8PARYj2MKb4wNc="; }; projectFile = "osu.Desktop/osu.Desktop.csproj"; From 9a9bac5333d83721ecf00ff80b430491d1059e43 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 19:33:00 +0000 Subject: [PATCH 159/332] python3Packages.x-transformers: 2.11.23 -> 2.11.24 --- pkgs/development/python-modules/x-transformers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/x-transformers/default.nix b/pkgs/development/python-modules/x-transformers/default.nix index a2be9041b8f2..54e09bdae26f 100644 --- a/pkgs/development/python-modules/x-transformers/default.nix +++ b/pkgs/development/python-modules/x-transformers/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "x-transformers"; - version = "2.11.23"; + version = "2.11.24"; pyproject = true; src = fetchFromGitHub { owner = "lucidrains"; repo = "x-transformers"; tag = version; - hash = "sha256-DkJTP5Y7zObnbJ0PlY/pqw/gHU697ctNgQ99yyTXv+A="; + hash = "sha256-dS5i99WuGP/aDPXiNCDq2TmQ9T8RefX7pG5YINs6jHY="; }; build-system = [ hatchling ]; From de47981af1300d6c58e77c4c2c08a6a04ee9e687 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 19:37:58 +0000 Subject: [PATCH 160/332] libretro.mame2003-plus: 0-unstable-2025-12-10 -> 0-unstable-2025-12-13 --- .../applications/emulators/libretro/cores/mame2003-plus.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix index c256de0cef29..02d25be79d05 100644 --- a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix +++ b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mame2003-plus"; - version = "0-unstable-2025-12-10"; + version = "0-unstable-2025-12-13"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-plus-libretro"; - rev = "26cc26baf1357a581581ea5b3b6978391373d0a8"; - hash = "sha256-J+EOHXdkPDYGgXgGJ4y4I6fRIv8lg4SqOCt14X6foTo="; + rev = "b235c48df0698bca32d941ecc0d046cfe6eb7eef"; + hash = "sha256-/QFg5Ns6csHfGIHMm50x8j0Twq44/VETFavJd5WVKZU="; }; makefile = "Makefile"; From 0d3904782242850e86edc5eae05e0908dde19372 Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Thu, 18 Dec 2025 06:38:07 +1100 Subject: [PATCH 161/332] gemini-cli: 0.20.0 -> 0.21.1 Release notes: https://github.com/google-gemini/gemini-cli/releases/tag/v0.21.1 --- pkgs/by-name/ge/gemini-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/gemini-cli/package.nix b/pkgs/by-name/ge/gemini-cli/package.nix index 68997fe175bf..478e668c85a2 100644 --- a/pkgs/by-name/ge/gemini-cli/package.nix +++ b/pkgs/by-name/ge/gemini-cli/package.nix @@ -13,16 +13,16 @@ buildNpmPackage (finalAttrs: { pname = "gemini-cli"; - version = "0.20.0"; + version = "0.21.1"; src = fetchFromGitHub { owner = "google-gemini"; repo = "gemini-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-6+fT9/npYrngAPeAP7pA6DYNuCVWm1lKpSVP4Ux4ddw="; + hash = "sha256-WhQbEgr1NhReexVbCxOv11mcP+gftl1J7/FJVdiADXA="; }; - npmDepsHash = "sha256-wbr/9IitwQxBVFskCyGZfWy6FmIGZAVYLbF/sMJ2X+s="; + npmDepsHash = "sha256-Q6mtA+Y3k4VoazJ4+uKIFbaC/lUTQFSpXxfXoP7i6Lc="; nativeBuildInputs = [ jq From 3183e7b33fb88514770c624ad54b45e4cbeb14d6 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 17 Dec 2025 21:27:41 +0200 Subject: [PATCH 162/332] yarn-berry-fetcher: vendor in libzip patch This is working around a problem with the version provided in nixpkgs, so we can ship the patch there. Fetching it from the yarn-berry sources causes a libzip rebuild whenever we change yarn-berry-fetcher sources, even if there's no changes in the libzip patch. --- pkgs/by-name/ya/yarn-berry/fetcher/default.nix | 2 +- ...zip-revert-to-old-versionneeded-behavior.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/ya/yarn-berry/fetcher/libzip-revert-to-old-versionneeded-behavior.patch diff --git a/pkgs/by-name/ya/yarn-berry/fetcher/default.nix b/pkgs/by-name/ya/yarn-berry/fetcher/default.nix index 20f249c75ba6..a9e3b920fe04 100644 --- a/pkgs/by-name/ya/yarn-berry/fetcher/default.nix +++ b/pkgs/by-name/ya/yarn-berry/fetcher/default.nix @@ -52,7 +52,7 @@ let }).overrideAttrs (old: { patches = (old.patches or [ ]) ++ [ - (final.yarn-berry-fetcher.src + "/libzip-revert-to-old-versionneeded-behavior.patch") + ./libzip-revert-to-old-versionneeded-behavior.patch ]; }); }; diff --git a/pkgs/by-name/ya/yarn-berry/fetcher/libzip-revert-to-old-versionneeded-behavior.patch b/pkgs/by-name/ya/yarn-berry/fetcher/libzip-revert-to-old-versionneeded-behavior.patch new file mode 100644 index 000000000000..116418b8b306 --- /dev/null +++ b/pkgs/by-name/ya/yarn-berry/fetcher/libzip-revert-to-old-versionneeded-behavior.patch @@ -0,0 +1,15 @@ +diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c +index 7476ac0..b825609 100644 +--- a/lib/zip_dirent.c ++++ b/lib/zip_dirent.c +@@ -1241,7 +1241,9 @@ bool _zip_dirent_apply_attributes(zip_dirent_t *de, zip_file_attributes_t *attri + } + + if (attributes->valid & ZIP_FILE_ATTRIBUTES_VERSION_NEEDED) { +- version_needed = ZIP_MAX(version_needed, attributes->version_needed); ++ if (attributes->version_needed > de->version_needed) { ++ de->version_needed = attributes->version_needed; ++ } + } + + if (de->version_needed != version_needed) { From d97c2580ecfaaa66fa0e890cce566836219d5080 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 19:44:13 +0000 Subject: [PATCH 163/332] zipline: 4.3.2 -> 4.4.0 --- pkgs/by-name/zi/zipline/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zi/zipline/package.nix b/pkgs/by-name/zi/zipline/package.nix index ba65f44c4cc1..f600060bb613 100644 --- a/pkgs/by-name/zi/zipline/package.nix +++ b/pkgs/by-name/zi/zipline/package.nix @@ -32,13 +32,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "zipline"; - version = "4.3.2"; + version = "4.4.0"; src = fetchFromGitHub { owner = "diced"; repo = "zipline"; tag = "v${finalAttrs.version}"; - hash = "sha256-t83LYLjAdXQkQKZlzaBCIs1wKk3v3GVQi8QHUPRHC18="; + hash = "sha256-H3WzCe1AgnYYI5oskWPi4k1NdpyXCFMmeulPJtwvuIo="; leaveDotGit = true; postFetch = '' git -C $out rev-parse --short HEAD > $out/.git_head @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; - hash = "sha256-i5unHz7Hs9zvnjgLwHJaoFdM2z/5ucXZG8eouko1Res="; + hash = "sha256-JphaLunhwPdeKxlHdpMNGAl8um7wsOkNCCWYxQhLuBM="; }; buildInputs = [ From b67e9df1f0c15a54d2de2ddf4f01a812569cc649 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Wed, 17 Dec 2025 19:44:55 +0000 Subject: [PATCH 164/332] bun: 1.3.4 -> 1.3.5 --- pkgs/by-name/bu/bun/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/bu/bun/package.nix b/pkgs/by-name/bu/bun/package.nix index 924e309a48c7..9c4b3b9ff9bc 100644 --- a/pkgs/by-name/bu/bun/package.nix +++ b/pkgs/by-name/bu/bun/package.nix @@ -17,7 +17,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.3.4"; + version = "1.3.5"; pname = "bun"; src = @@ -87,19 +87,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-iAN3TkxsVcilF0ZMUI8Cgh5ttX+Uyhu1zCo59NIyalE="; + hash = "sha256-2xdYikrqiASFaCXUvq0/BeHzcnbKYG8342m09y810/s="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-xG6EH+2FNHUhkVsbOQTW0XXY4v2RXhjgHBETGCGRFaQ="; + hash = "sha256-7QEAD4W9l3hSKK0oRdySoYYLgFSFaCbXMXaQrI+O50s="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64-baseline.zip"; - hash = "sha256-D3lW1Rr+1BTIJaOk+OzJvGE/9k5IkBZ3XoUU21E3s18="; + hash = "sha256-NLmla4UQWNr6G8nWEjPyw4OqmWiJu6MLMYD1zMLP8bI="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-M8aZYEno036LgVlZsUsF5bb0lhITUr8RuufQRxk8KL8="; + hash = "sha256-cFHYapJK7+o+C5YhO1/Y95wHk/nK5lNCM+Yn5cPbRmk="; }; }; updateScript = writeShellScript "update-bun" '' From 61d23dd9f2a249bc2bf400fd25b8a169b5f355e2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 19:50:27 +0000 Subject: [PATCH 165/332] kube-linter: 0.7.6 -> 0.8.0 --- pkgs/by-name/ku/kube-linter/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ku/kube-linter/package.nix b/pkgs/by-name/ku/kube-linter/package.nix index 6a9de33b4c81..43ed7aeff4c4 100644 --- a/pkgs/by-name/ku/kube-linter/package.nix +++ b/pkgs/by-name/ku/kube-linter/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "kube-linter"; - version = "0.7.6"; + version = "0.8.0"; src = fetchFromGitHub { owner = "stackrox"; repo = "kube-linter"; rev = "v${version}"; - sha256 = "sha256-wniDoImqawTdjkd/XnkeiUTMoz5WJNpRs1ZgM1Xy1hw="; + sha256 = "sha256-SYGxwS74+tcgbl2KwNJN2KdM/VSV4uN8aAW29b54i1U="; }; - vendorHash = "sha256-ui6AECWJhYso3KDbX8EonML4wvbDs3cijG2yWb3KoKA="; + vendorHash = "sha256-A8aNyMX9WtDDuqy6qOHTQkLnuckcsHEKZ3mfnC4Rx2s="; excludedPackages = [ "tool-imports" ]; From 6b2dec10726580556d6e546337b571135ff7f2ff Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 17 Dec 2025 19:52:43 +0000 Subject: [PATCH 166/332] harlequin: 2.4.1 -> 2.5.0 Diff: https://github.com/tconbeer/harlequin/compare/v2.4.1...v2.5.0 Changelog: https://github.com/tconbeer/harlequin/releases/tag/v2.5.0 --- pkgs/by-name/ha/harlequin/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ha/harlequin/package.nix b/pkgs/by-name/ha/harlequin/package.nix index 4c85ce0e4a52..2cd1be5b8d43 100644 --- a/pkgs/by-name/ha/harlequin/package.nix +++ b/pkgs/by-name/ha/harlequin/package.nix @@ -12,14 +12,14 @@ }: python3Packages.buildPythonApplication rec { pname = "harlequin"; - version = "2.4.1"; + version = "2.5.0"; pyproject = true; src = fetchFromGitHub { owner = "tconbeer"; repo = "harlequin"; tag = "v${version}"; - hash = "sha256-W/Za/k/XusZmPLiX4ER9XaQWG4jdkrIh7JualHeeqZM="; + hash = "sha256-7CUY7tCYYdNBFg1HX3csNTR46paIaHlJPKtK3xqvkAQ="; }; pythonRelaxDeps = [ From afd2c0235f093727191d9c72de1c9deea719dad7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:03:29 +0000 Subject: [PATCH 167/332] gelly: 0.11.0 -> 0.12.0 --- pkgs/by-name/ge/gelly/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/gelly/package.nix b/pkgs/by-name/ge/gelly/package.nix index 6acb8832f263..d17babc16d63 100644 --- a/pkgs/by-name/ge/gelly/package.nix +++ b/pkgs/by-name/ge/gelly/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gelly"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "Fingel"; repo = "gelly"; tag = "v${finalAttrs.version}"; - hash = "sha256-fZrSfxbWkHX5yUwC4NkDmXcNDTvsdwceEBkmUmxWcoQ="; + hash = "sha256-jcIBYZPEC0Bry1TG1hFsgzFnKDaAxU/j+MLxIBwdLuQ="; }; - cargoHash = "sha256-vnFbRvq+EPIcJ4w+QKpkXrl5BLr/KbELbmpRGQwcaUE="; + cargoHash = "sha256-MPdCS1rsioCKu6dAYtMWbno/DotlsDBlVGYuRyt6/sQ="; nativeBuildInputs = [ pkg-config From 0801a8b9f2ae8ec9ec585a20b5f826eea62f7aba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:09:39 +0000 Subject: [PATCH 168/332] markuplinkchecker: 1.0.0 -> 1.2.0 --- pkgs/by-name/ma/markuplinkchecker/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ma/markuplinkchecker/package.nix b/pkgs/by-name/ma/markuplinkchecker/package.nix index d681db25f820..ad363af36cba 100644 --- a/pkgs/by-name/ma/markuplinkchecker/package.nix +++ b/pkgs/by-name/ma/markuplinkchecker/package.nix @@ -6,7 +6,7 @@ openssl, }: let - version = "1.0.0"; + version = "1.2.0"; in rustPlatform.buildRustPackage { pname = "markuplinkchecker"; @@ -16,10 +16,10 @@ rustPlatform.buildRustPackage { owner = "becheran"; repo = "mlc"; rev = "v${version}"; - hash = "sha256-Bj1Yf+lrKwMvYnE/YVb+KC8tZtRr2OkWoYxQChLINyY="; + hash = "sha256-6v4tRCtoABbb0bwOagEGHk2QoUs3u/AnME5g7vhbkI4="; }; - cargoHash = "sha256-r3LGWJ5RsvWRXNVXWIM83quC3AT8T+WDfSJnD3sVoOM="; + cargoHash = "sha256-W4aOrKnRDAvHC4c+7e/XYSOgB/wFExqQhimaPJNiJk8="; nativeBuildInputs = [ pkg-config ]; From 79940a481b0c2ca7eac51dc08796d8adc0776757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 17 Dec 2025 00:27:05 +0100 Subject: [PATCH 169/332] gitstatus.romkatv_libgit2: format, change pname --- pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix index e1feb240c7b1..095e39d6b413 100644 --- a/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix +++ b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix @@ -1,6 +1,17 @@ { fetchFromGitHub, libgit2, ... }: libgit2.overrideAttrs (oldAttrs: { + pname = "romkatv_libgit2"; + + src = fetchFromGitHub { + owner = "romkatv"; + repo = "libgit2"; + rev = "tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6"; + hash = "sha256-Bm3Gj9+AhNQMvkIqdrTkK5D9vrZ1qq6CS8Wrn9kfKiw="; + }; + + patches = [ ]; + cmakeFlags = oldAttrs.cmakeFlags ++ [ "-DBUILD_CLAR=OFF" "-DBUILD_SHARED_LIBS=OFF" @@ -13,16 +24,7 @@ libgit2.overrideAttrs (oldAttrs: { "-DZERO_NSEC=ON" ]; - src = fetchFromGitHub { - owner = "romkatv"; - repo = "libgit2"; - rev = "tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6"; - hash = "sha256-Bm3Gj9+AhNQMvkIqdrTkK5D9vrZ1qq6CS8Wrn9kfKiw="; - }; - # this is a heavy fork of the original libgit2 # the original checkPhase does not work for this fork doCheck = false; - - patches = [ ]; }) From 7a2eb1cf3b165d8902bf41bccf50dfd9fa1cf26d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 17 Dec 2025 00:27:18 +0100 Subject: [PATCH 170/332] libgit2: fix gitstatus test --- pkgs/by-name/li/libgit2/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libgit2/package.nix b/pkgs/by-name/li/libgit2/package.nix index 46b58d4ed566..20655c7b77e1 100644 --- a/pkgs/by-name/li/libgit2/package.nix +++ b/pkgs/by-name/li/libgit2/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, pkg-config, python3, @@ -93,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests = lib.mapAttrs (_: v: v.override { libgit2 = finalAttrs.finalPackage; }) { inherit libgit2-glib; inherit (python3Packages) pygit2; - inherit gitstatus; + inherit (gitstatus) romkatv_libgit2; }; meta = { From 61146bce418aa98affd1ebd0258ad544fe2ff770 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:36:11 +0000 Subject: [PATCH 171/332] silver-platter: 0.6.1 -> 0.8.1 --- pkgs/by-name/si/silver-platter/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/si/silver-platter/package.nix b/pkgs/by-name/si/silver-platter/package.nix index 1e3379e7665f..5e1cb6a84736 100644 --- a/pkgs/by-name/si/silver-platter/package.nix +++ b/pkgs/by-name/si/silver-platter/package.nix @@ -13,19 +13,19 @@ python3Packages.buildPythonApplication rec { pname = "silver-platter"; - version = "0.6.1"; + version = "0.8.1"; pyproject = true; src = fetchFromGitHub { owner = "jelmer"; repo = "silver-platter"; tag = "v${version}"; - hash = "sha256-b7EYDLoFP77bLk6kodRH4beRLZBnarEZDv3uNg8kFW4="; + hash = "sha256-/GFTM/VF+b0I8cDY4vkHzSxCBbvpMiLBVVEPFHcn1/Q="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-nab0Kkn7JrlnrChnC/WERnhyZEywzZ0LP/bmaAu/G4s="; + hash = "sha256-Y16OnSBC4v21NcCeWAwwGoFYJMQq/se25QqvpMyblmk="; }; dependencies = with python3Packages; [ From f439a3840442ce32221b6ea34101ad7b7d5faedc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:36:51 +0000 Subject: [PATCH 172/332] dpp: 10.1.3 -> 10.1.4 --- pkgs/by-name/dp/dpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dp/dpp/package.nix b/pkgs/by-name/dp/dpp/package.nix index e0619506e39b..ebf95d910c15 100644 --- a/pkgs/by-name/dp/dpp/package.nix +++ b/pkgs/by-name/dp/dpp/package.nix @@ -11,13 +11,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "dpp"; - version = "10.1.3"; + version = "10.1.4"; src = fetchFromGitHub { owner = "brainboxdotcc"; repo = "DPP"; rev = "v${finalAttrs.version}"; - hash = "sha256-G2v0xMYj89AK5PklQl7i0/YuVTtpBYSM3EaMJrmYdME="; + hash = "sha256-+H9mU+3j54iRR0Nhz1WxxIwGs+BRgAFX6tIiy33v/Vo="; }; nativeBuildInputs = [ From 2b78c18bebfe3749f340e41dfcb0753fe22b4f8d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:42:27 +0000 Subject: [PATCH 173/332] cloudfox: 1.15.0 -> 1.17.0 --- pkgs/by-name/cl/cloudfox/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cloudfox/package.nix b/pkgs/by-name/cl/cloudfox/package.nix index bf60a1c86973..755faf896c7f 100644 --- a/pkgs/by-name/cl/cloudfox/package.nix +++ b/pkgs/by-name/cl/cloudfox/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "cloudfox"; - version = "1.15.0"; + version = "1.17.0"; src = fetchFromGitHub { owner = "BishopFox"; repo = "cloudfox"; tag = "v${version}"; - hash = "sha256-YLZSrBAEf0SXECAdnF2CQAlEd15DJ1Iv+x+RebM5tw4="; + hash = "sha256-AdfG0Vb4wUV8iShdaXSTwrKb8pa39ovwmvGTyfz1YDw="; }; - vendorHash = "sha256-MQ1yoJjAWNx95Eafcarp/JNYq06xu9P05sF2QTW03NY="; + vendorHash = "sha256-mAYuquSkfYSUcTBPFJp+zwv5xCT5eqBmR7DDZjXx9YY="; ldflags = [ "-w" From d2a3d878dedddcecf372fcfb9f1783accf0166ac Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 20:54:04 +0000 Subject: [PATCH 174/332] carl: 0.5.0 -> 0.5.1 --- pkgs/by-name/ca/carl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/carl/package.nix b/pkgs/by-name/ca/carl/package.nix index 85da32a210fe..42a8fa5f4cd9 100644 --- a/pkgs/by-name/ca/carl/package.nix +++ b/pkgs/by-name/ca/carl/package.nix @@ -6,18 +6,18 @@ rustPlatform.buildRustPackage rec { pname = "carl"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "b1rger"; repo = "carl"; rev = "v${version}"; - hash = "sha256-4k08iwuZjnsd2EjqnslrJa3ugPOgUvUzbY3/9mxegkQ="; + hash = "sha256-lH4qHS3CjES3uZfRxIHOcnqxEXIxyAnho7xpi5rmLOM="; }; doCheck = false; - cargoHash = "sha256-1tqg/VJfgf7Y/5yM+iKYd7Vn2YCnH7RwmVPb+aO9KxY="; + cargoHash = "sha256-ss/sGT2d4K8K9I5/G3UMRnv50O9JlB0tz9oS7sMylwI="; meta = { description = "cal(1) with more features and written in rust"; From e7a8fdab5cf20150a2681d3644986aaeaef6ae42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 17 Dec 2025 22:06:35 +0100 Subject: [PATCH 175/332] intel-compute-runtime: 25.48.36300.8 -> 25.44.36015.8 Diff: https://github.com/intel/compute-runtime/compare/25.48.36300.8...25.44.36015.8 Changelog: https://github.com/intel/compute-runtime/releases/tag/25.44.36015.8 --- pkgs/by-name/in/intel-compute-runtime/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/intel-compute-runtime/package.nix b/pkgs/by-name/in/intel-compute-runtime/package.nix index 4d522c41d229..eb5ddb7afb83 100644 --- a/pkgs/by-name/in/intel-compute-runtime/package.nix +++ b/pkgs/by-name/in/intel-compute-runtime/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "intel-compute-runtime"; - version = "25.48.36300.8"; + version = "25.44.36015.8"; src = fetchFromGitHub { owner = "intel"; repo = "compute-runtime"; tag = version; - hash = "sha256-ymXvbDX01WnsQ2pxCnQU1dKhK+/Jzz1m3Tgg665mdcM="; + hash = "sha256-+jUKb+VK47+yoZX4LVWxwbYqtrhgSOZA7/2rqmmOgmY="; }; nativeBuildInputs = [ From 230024966f5691b05cd3fd611ec8956095ba4055 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 21:09:28 +0000 Subject: [PATCH 176/332] dgraph: 25.0.0 -> 25.1.0 --- pkgs/by-name/dg/dgraph/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dg/dgraph/package.nix b/pkgs/by-name/dg/dgraph/package.nix index 52c95c22fe2f..5eef78f68ed4 100644 --- a/pkgs/by-name/dg/dgraph/package.nix +++ b/pkgs/by-name/dg/dgraph/package.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "dgraph"; - version = "25.0.0"; + version = "25.1.0"; src = fetchFromGitHub { owner = "dgraph-io"; repo = "dgraph"; rev = "v${version}"; - sha256 = "sha256-8Lh/urzHGIepXQCXawNvJVe8IOzYs4huDOgw2m/oYiM="; + sha256 = "sha256-0i3i0XPOS7v2DsO/tPJQSWJ3Yf8uz8aR1j+Mgm/QJUs="; }; - vendorHash = "sha256-eArYiLfb8rsFGnPFAoRPQzONifNjds3lahIDRwqz/h0="; + vendorHash = "sha256-3OwXBt0EwMk3jVny2Cs1NbGdeUy8MxDntZAn+mceKC8="; doCheck = false; From d20ed331cc46fadbb033d1db29932c8e19d97e4c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 21:20:28 +0000 Subject: [PATCH 177/332] typeshare: 1.13.3 -> 1.13.4 --- pkgs/by-name/ty/typeshare/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/typeshare/package.nix b/pkgs/by-name/ty/typeshare/package.nix index 935f2d1a477f..65ba815b70fe 100644 --- a/pkgs/by-name/ty/typeshare/package.nix +++ b/pkgs/by-name/ty/typeshare/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "typeshare"; - version = "1.13.3"; + version = "1.13.4"; src = fetchFromGitHub { owner = "1password"; repo = "typeshare"; rev = "v${version}"; - hash = "sha256-80wfQGfmzAuxAFS5jRlxLHh39G/5il6EXlrqeoNtkrk="; + hash = "sha256-8Pm+z407FDBLy0Hq2+T1rttFKnRWTNPPYTCn11SHcS8="; }; - cargoHash = "sha256-Hmgg+nLtAmOB0h91wwQc2jZLibpWptPpf8Vizuz0jVE="; + cargoHash = "sha256-t5OJ4chxVhCRczfRPTZe2mkIDevSp7+1aVdplvJFCfg="; nativeBuildInputs = [ installShellFiles ]; From 083eae7b63e1e77f44ec33ac76804552ebeebc28 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 21:32:29 +0000 Subject: [PATCH 178/332] rebels-in-the-sky: 1.3.1 -> 1.4.0 --- pkgs/by-name/re/rebels-in-the-sky/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/rebels-in-the-sky/package.nix b/pkgs/by-name/re/rebels-in-the-sky/package.nix index f115932d5708..0959e3ef32ae 100644 --- a/pkgs/by-name/re/rebels-in-the-sky/package.nix +++ b/pkgs/by-name/re/rebels-in-the-sky/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rebels-in-the-sky"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "ricott1"; repo = "rebels-in-the-sky"; tag = "v${finalAttrs.version}"; - hash = "sha256-gMT62Uy9rFdtt2LnU7A9bPwH6lRrHVhzXQ03qUoS0CM="; + hash = "sha256-uucR8P08g1tIFUcAhB0OAa975vITfcqObx7cPPRuSao="; }; - cargoHash = "sha256-2Pn8QwviSgznchw56ZpU8J0+aGJOsGlr0OG0Uu5kpZs="; + cargoHash = "sha256-iIJBM+XjZhM/zp8PDwfIvffoNfr1ih54/gPsr4LRmxM="; patches = lib.optionals (!withRadio) [ ./disable-radio.patch From 4de09851e65148b6c8727b3487c0b1dc7931fa12 Mon Sep 17 00:00:00 2001 From: thesn10 <38666407+thesn10@users.noreply.github.com> Date: Mon, 15 Dec 2025 17:44:11 +0100 Subject: [PATCH 179/332] atuin-desktop: 0.2.5 -> 0.2.11 --- pkgs/by-name/at/atuin-desktop/package.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/at/atuin-desktop/package.nix b/pkgs/by-name/at/atuin-desktop/package.nix index 601c56d7bbca..7c4bffd238f9 100644 --- a/pkgs/by-name/at/atuin-desktop/package.nix +++ b/pkgs/by-name/at/atuin-desktop/package.nix @@ -19,22 +19,23 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "atuin-desktop"; - version = "0.2.5"; + # TODO When updating the version, check if the version-mismatch workaround in preBuild is still needed + version = "0.2.11"; src = fetchFromGitHub { owner = "atuinsh"; repo = "desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-VDIC1BGgaFTiTnydJdEhVeUgVrH43MzpF4VkfgQ+Nas="; + hash = "sha256-tVIT3GUJ1qcv6HSvO+nqAz+VMfd8g9AjgaqE6+GSa+I="; }; cargoRoot = "./."; - cargoHash = "sha256-gYYmtxMWst0ZB/YzJf/0FGOedoVpMgTq5qq+3m2R7T8="; + cargoHash = "sha256-T3cPvwph71lpqlGcugAO4Ua8Y5TNZSySbQatxcvoT4E="; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; - hash = "sha256-Tdcdghhc4cH+cYIeUy3inChgPfb1i9E7F1mpxxWoW4Q="; + hash = "sha256-XqKGAx2Q9cWO1oG4mP1cKM2Y9Pib5haFYEaq0PAfAdQ="; }; nativeBuildInputs = [ @@ -68,6 +69,9 @@ rustPlatform.buildRustPackage (finalAttrs: { tauriBuildFlags+=( "--config" "$tauriConfPath" + # Skips the version mismatch check (and accepts the consequences) + # ref: https://github.com/atuinsh/desktop/issues/313 + "--ignore-version-mismatches" ) ''; From c1c3c4ba8b2f4ac5a5a92a1e2ff9c7118b179f0e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 17 Dec 2025 22:53:04 +0100 Subject: [PATCH 180/332] grafana: 12.3.0 -> 12.3.1 ChangeLog: https://github.com/grafana/grafana/releases/tag/v12.3.1 --- pkgs/servers/monitoring/grafana/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index d3aa9a725a27..11d0970720d3 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -21,7 +21,7 @@ buildGoModule (finalAttrs: { pname = "grafana"; - version = "12.3.0"; + version = "12.3.1"; subPackages = [ "pkg/cmd/grafana" @@ -33,7 +33,7 @@ buildGoModule (finalAttrs: { owner = "grafana"; repo = "grafana"; rev = "v${finalAttrs.version}"; - hash = "sha256-5DfPxsP8Lo8y8S44S/OkxOxWFL0JfAxPF7ZmT8FRPbw="; + hash = "sha256-OGk7dq5jr3rEGqkWLBHrna02ireXHfYoLWJcWIY6Ccg="; }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 @@ -49,12 +49,12 @@ buildGoModule (finalAttrs: { # Since this is not a dependency attribute the buildPackages has to be specified. offlineCache = buildPackages.yarn-berry_4-fetcher.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; - hash = "sha256-CAEhdKsFMUuIs8DsJ9xSr2FRdBp4fPUWyvjC6FuiyG8="; + hash = "sha256-mdQC0QCqOcP+uQaS1j2QktigEQKUQxLD3wkiMBVVuHE="; }; disallowedRequisites = [ finalAttrs.offlineCache ]; - vendorHash = "sha256-qoku03G6lQlwTzm/UpnrEpPqIxJmPZAy8VJ/KfYXhHM="; + vendorHash = "sha256-xT99rvarFwidwpnxUGchv3Ny0v2hLHAcG8epV01Vc30="; # Grafana seems to just set it to the latest version available # nowadays. From dd7414ba7f44a7caa126badfc5a56191b4ec6c1b Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 17 Dec 2025 21:47:39 +0800 Subject: [PATCH 181/332] tests.fetchurl: add flag-appending tests --- pkgs/build-support/fetchurl/tests.nix | 74 +++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/pkgs/build-support/fetchurl/tests.nix b/pkgs/build-support/fetchurl/tests.nix index b4baeec9a9e7..320b01a311ee 100644 --- a/pkgs/build-support/fetchurl/tests.nix +++ b/pkgs/build-support/fetchurl/tests.nix @@ -1,11 +1,85 @@ { + lib, testers, fetchurl, + writeShellScriptBin, jq, moreutils, + emptyFile, ... }: +let + testFlagAppending = + args: + testers.invalidateFetcherByDrvHash + (fetchurl.override (previousArgs: { + curl = ( + writeShellScriptBin "curl" '' + set -eu -o pipefail + hasFoo= + hasBar= + echo "curl-mock-expecting-flags: get flags: $*" >&2 + for arg; do + case "$arg" in + -V|--version) + ${lib.getExe previousArgs.curl} "$arg" + exit "$?" + ;; + --foo) + echo "curl-mock-expecting-flags: \`--foo' found in the argument list passed to \`curl'." >&2 + hasFoo=1 + ;; + --bar) + echo "curl-mock-expecting-flags: \`--bar' found in the argument list passed to \`curl'." >&2 + hasBar=1 + ;; + esac + done + if [[ -z "$hasFoo" ]]; then + echo "ERROR: curl-mock-expecting-flags: \`--foo' missing in the argument list passed to \`curl'." >&2 + fi + if [[ -z "$hasBar" ]]; then + echo "ERROR: curl-mock-expecting-flags: \`--bar' missing in the argument list passed to \`curl'." >&2 + fi + if [[ -n "$hasFoo" ]] && [[ -n "$hasBar" ]]; then + touch $out + else + exit 1 + fi + '' + ); + })) + ( + { + url = "https://www.example.com/source"; + hash = emptyFile.outputHash; + recursiveHash = true; # aligned with emptyFile + } + // args + ); +in { + flag-appending-curlOpts = testFlagAppending { + name = "test-fetchurl-flag-appending-curlOpts"; + curlOpts = "--foo --bar"; + }; + + flag-appending-curlOptsList = testFlagAppending { + name = "test-fetchurl-flag-appending-curlOptsList"; + curlOptsList = [ + "--foo" + "--bar" + ]; + }; + + flag-appending-netrcPhase-curlOpts = testFlagAppending { + name = "test-fetchurl-flag-appending-netrcPhase-curlOpts"; + netrcPhase = '' + touch netrc + curlOpts="$curlOpts --foo --bar" + ''; + }; + # Tests that we can send custom headers with spaces in them header = let From d0f0e55689b5e14b5a11e5591016ed296a9aadcc Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 17 Dec 2025 21:48:20 +0800 Subject: [PATCH 182/332] tests.fetchurl: add test flag-appending-netrcPhase-curlOptsList --- pkgs/build-support/fetchurl/tests.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/build-support/fetchurl/tests.nix b/pkgs/build-support/fetchurl/tests.nix index 320b01a311ee..c89368a6d209 100644 --- a/pkgs/build-support/fetchurl/tests.nix +++ b/pkgs/build-support/fetchurl/tests.nix @@ -80,6 +80,14 @@ in ''; }; + flag-appending-netrcPhase-curlOptsList = testFlagAppending { + name = "test-fetchurl-flag-appending-netrcPhase-curlOptsList"; + netrcPhase = '' + touch netrc + curlOptsList+=("--foo" "--bar") + ''; + }; + # Tests that we can send custom headers with spaces in them header = let From ee218ba24025850d34f0fc9594a4e58e2fb48b29 Mon Sep 17 00:00:00 2001 From: James Martin Date: Wed, 17 Dec 2025 13:53:10 -0800 Subject: [PATCH 183/332] ruby_3_4: 3.4.7 -> 3.4.8 https://github.com/ruby/ruby/releases/tag/v3_4_8 --- .../development/interpreters/ruby/default.nix | 32 ++++++------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 004c25e79d06..57217b0550ce 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -190,27 +190,13 @@ let # make: *** [uncommon.mk:373: do-install-all] Error 1 enableParallelInstalling = false; - patches = - op useBaseRuby ./do-not-update-gems-baseruby-3.2.patch - ++ [ - # When using a baseruby, ruby always sets "libdir" to the build - # directory, which nix rejects due to a reference in to /build/ in - # the final product. Removing this reference doesn't seem to break - # anything and fixes cross compilation. - ./dont-refer-to-build-dir.patch - ] - ++ ops (lib.versionAtLeast ver.majMin "3.4" && lib.versionOlder ver.majMin "3.5") [ - (fetchpatch { - name = "ruby-3.4-fix-gcc-15-llvm-21-1.patch"; - url = "https://github.com/ruby/ruby/commit/846bb760756a3bf1ab12d56d8909e104f16e6940.patch"; - hash = "sha256-+f0mzHsGAe9FT9NWE345BxzaB6vmWzMTvEfWF84uFOs="; - }) - (fetchpatch { - name = "ruby-3.4-fix-gcc-15-llvm-21-2.patch"; - url = "https://github.com/ruby/ruby/commit/18e176659e8afe402cab7d39972f2d56f2cf378f.patch"; - hash = "sha256-TKPG1hcC1G2WmUkvNV6QSnvUpTEDqrYKrIk/4fAS8QE="; - }) - ]; + patches = op useBaseRuby ./do-not-update-gems-baseruby-3.2.patch ++ [ + # When using a baseruby, ruby always sets "libdir" to the build + # directory, which nix rejects due to a reference in to /build/ in + # the final product. Removing this reference doesn't seem to break + # anything and fixes cross compilation. + ./dont-refer-to-build-dir.patch + ]; cargoRoot = opString yjitSupport "yjit"; @@ -421,8 +407,8 @@ in }; ruby_3_4 = generic { - version = rubyVersion "3" "4" "7" ""; - hash = "sha256-I4FabQlWlveRkJD9w+L5RZssg9VyJLLkRs4fX3Mz7zY="; + version = rubyVersion "3" "4" "8" ""; + hash = "sha256-U8TdrUH7thifH17g21elHVS9H4f4dVs9aGBBVqNbBFs="; cargoHash = "sha256-5Tp8Kth0yO89/LIcU8K01z6DdZRr8MAA0DPKqDEjIt0="; }; From 8b7ff88a0e0397e75493496838706fbca2498dd9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 22:39:13 +0000 Subject: [PATCH 184/332] python3Packages.subliminal: 2.4.0 -> 2.5.0 --- pkgs/development/python-modules/subliminal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix index 269723615c83..2fe29cdc82c3 100644 --- a/pkgs/development/python-modules/subliminal/default.nix +++ b/pkgs/development/python-modules/subliminal/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { pname = "subliminal"; - version = "2.4.0"; + version = "2.5.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -50,7 +50,7 @@ buildPythonPackage rec { owner = "Diaoul"; repo = "subliminal"; tag = version; - hash = "sha256-QRxaLJAtI7Xe+3Llp3fJP12KblDJ8+MGNsmKT4t2O0k="; + hash = "sha256-dA+UoSzMjncF619yfvRnXJFBrVi9FCkuqeN0X7FGiv8="; }; build-system = [ From d925565179c8ca824dd3436f311476341ffc2fcc Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 9 Dec 2025 23:32:05 +0100 Subject: [PATCH 185/332] fetchPnpmDeps,pnpmConfigHook: move to top-level attribute move pnpm.{fetchDeps,configHook} to fetchPnpmDeps and pnpmConfigHook respectively. Also adds aliases to the former package-level attributes. Additionally, pnpmConfigHook does not propagate pnpm anymore, to make changing pnpm versions easier. This brings pnpm in line with the other Node.js/JavaScript tooling in nixpkgs. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- .../javascript.section.md | 103 ++++++++++++------ doc/release-notes/rl-2605.section.md | 2 + .../node/fetch-pnpm-deps}/default.nix | 20 ++-- .../node/fetch-pnpm-deps}/pnpm-config-hook.sh | 7 ++ .../node/fetch-pnpm-deps}/serve.nix | 0 pkgs/development/tools/pnpm/generic.nix | 19 +++- pkgs/top-level/all-packages.nix | 5 + 7 files changed, 107 insertions(+), 49 deletions(-) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/default.nix (90%) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/pnpm-config-hook.sh (91%) rename pkgs/{development/tools/pnpm/fetch-deps => build-support/node/fetch-pnpm-deps}/serve.nix (100%) diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index f85a416fee86..3af4d1d86099 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -327,16 +327,17 @@ See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info. ### pnpm {#javascript-pnpm} -Pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8` and `pnpm_9`, which support different sets of lock file versions. +pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9` and `pnpm_10`, which support different sets of lock file versions. -When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The functions `pnpm_8.fetchDeps` and `pnpm_9.fetchDeps` can create this pnpm store derivation. In conjunction, the setup hooks `pnpm_8.configHook` and `pnpm_9.configHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the above `pnpm_` attributes: +When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above: ```nix { - stdenv, + fetchPnpmDeps, nodejs, - # This is pinned as { pnpm = pnpm_9; } pnpm, + pnpmConfigHook, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -348,11 +349,12 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - nodejs - pnpm.configHook + nodejs # in case scripts are run outside of a pnpm call + pnpmConfigHook + pnpm # At least required by pnpmConfigHook, if not other (custom) phases ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; hash = "..."; @@ -360,33 +362,68 @@ stdenv.mkDerivation (finalAttrs: { }) ``` -NOTE: It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_8` or `pnpm_9`), to increase future reproducibility. It might also be required to use an older version if the package needs support for a certain lock file version. +It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_9` or `pnpm_10`), to increase future reproducibility. It might also be required to use an older version if the package needs support for a certain lock file version. To do so, you can pass the `pnpm` argument to `fetchPnpmDeps` and override the `pnpm` arg in `pnpmConfigHook`. Here are the changes in the example above to use a pinned pnpm version: + + + +```diff + { + fetchPnpmDeps, + nodejs, +- pnpm, ++ pnpm_10, + pnpmConfigHook, + stdenv, + }: ++let ++ # Optionally override pnpm to use a custom nodejs version ++ # Make sure that the same nodejs version is referenced in nativeBuildInputs ++ # pnpm = pnpm_10.override { nodejs = nodejs_20; }; ++in + stdenv.mkDerivation (finalAttrs: { + pname = "foo"; + version = "0-unstable-1980-01-01"; + + src = { + #... + }; + + nativeBuildInputs = [ + nodejs # in case scripts are run outside of a pnpm call + pnpmConfigHook +- pnpm # At least required by pnpmConfigHook, if not other (custom) phases ++ pnpm_10 # At least required by pnpmConfigHook, if not other (custom) phases + ]; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; ++ pnpm = pnpm_10; + fetcherVersion = 3; + hash = "..."; + }; + }) +``` In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e., `inherit (finalAttrs) patches`. -`pnpm.configHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array: +`pnpmConfigHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array: ```nix -{ pnpm }: - -stdenv.mkDerivation (finalAttrs: { - pname = "foo"; - version = "0-unstable-1980-01-01"; - - src = { +{ + # ... + pnpmDeps = fetchPnpmDeps { # ... + inherit (finalAttrs) pnpmInstallFlags; }; pnpmInstallFlags = [ "--shamefully-hoist" ]; - - pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pnpmInstallFlags; }; -}) +} ``` #### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot} -If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchDeps`. -If `sourceRoot` is different between the parent derivation and `fetchDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchDeps`. +If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchPnpmDeps`. +If `sourceRoot` is different between the parent derivation and `fetchPnpmDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchPnpmDeps`. Assuming the following directory structure, we can define `sourceRoot` and `pnpmRoot` as follows: @@ -402,7 +439,7 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... sourceRoot = "${finalAttrs.src.name}/frontend"; }; @@ -414,7 +451,7 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm #### PNPM Workspaces {#javascript-pnpm-workspaces} -If you need to use a PNPM workspace for your project, then set `pnpmWorkspaces = [ "" "" ]`, etc, in your `pnpm.fetchDeps` call, +If you need to use a PNPM workspace for your project, then set `pnpmWorkspaces = [ "" "" ]`, etc, in your `fetchPnpmDeps` call, which will make PNPM only install dependencies for those workspace packages. For example: @@ -423,14 +460,14 @@ For example: { # ... pnpmWorkspaces = [ "@astrojs/language-server" ]; - pnpmDeps = pnpm.fetchDeps { - inherit (finalAttrs) pnpmWorkspaces; + pnpmDeps = fetchPnpmDeps { #... + inherit (finalAttrs) pnpmWorkspaces; }; } ``` -The above would make `pnpm.fetchDeps` call only install dependencies for the `@astrojs/language-server` workspace package. +The above would make `fetchPnpmDeps` call only install dependencies for the `@astrojs/language-server` workspace package. Note that you do not need to set `sourceRoot` to make this work. Usually, in such cases, you'd want to use `pnpm --filter= build` to build your project, as `npmHooks.npmBuildHook` probably won't work. A `buildPhase` based on the following example will probably fit most workspace projects: @@ -457,23 +494,23 @@ set `prePnpmInstall` to the right commands to run. For example: prePnpmInstall = '' pnpm config set dedupe-peer-dependents false ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) prePnpmInstall; # ... }; } ``` -In this example, `prePnpmInstall` will be run by both `pnpm.configHook` and by the `pnpm.fetchDeps` builder. +In this example, `prePnpmInstall` will be run by both `pnpmConfigHook` and by the `fetchPnpmDeps` builder. -#### PNPM `fetcherVersion` {#javascript-pnpm-fetcherVersion} +#### pnpm `fetcherVersion` {#javascript-pnpm-fetcherVersion} -This is the version of the output of `pnpm.fetchDeps`, if you haven't set it already, you can use `1` with your current hash: +This is the version of the output of `fetchPnpmDeps`, if you haven't set it already, you can use `1` with your current hash: ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... fetcherVersion = 1; hash = "..."; # you can use your already set hash here @@ -486,7 +523,7 @@ After upgrading to a newer `fetcherVersion`, you need to regenerate the hash: ```nix { # ... - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { # ... fetcherVersion = 2; hash = "..."; # clear this hash and generate a new one @@ -494,7 +531,7 @@ After upgrading to a newer `fetcherVersion`, you need to regenerate the hash: } ``` -This variable ensures that we can make changes to the output of `pnpm.fetchDeps` without breaking existing hashes. +This variable ensures that we can make changes to the output of `fetchPnpmDeps` without breaking existing hashes. Changes can include workarounds or bug fixes to existing PNPM issues. ##### Version history {#javascript-pnpm-fetcherVersion-versionHistory} diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 40a0566a9f8e..2314f939b856 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -54,6 +54,8 @@ If your SQLite database is corrupted, the migration might fail and require [manual intervention](https://github.com/louislam/uptime-kuma/issues/5281). See the [migration guide](https://github.com/louislam/uptime-kuma/wiki/Migration-From-v1-To-v2) for more information. +- `fetchPnpmDeps` and `pnpmConfigHook` were added as top-level attributes, replacing the now deprecated `pnpm.fetchDeps` and `pnpm.configHook` attributes. + - Added `dell-bios-fan-control` package and service. - We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables. diff --git a/pkgs/development/tools/pnpm/fetch-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix similarity index 90% rename from pkgs/development/tools/pnpm/fetch-deps/default.nix rename to pkgs/build-support/node/fetch-pnpm-deps/default.nix index 4fb7c6d6d736..5bd934bdd6ab 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -10,9 +10,8 @@ yq, zstd, }: - let - pnpm' = pnpm; + pnpmLatest = pnpm; supportedFetcherVersions = [ 1 # First version. Here to preserve backwards compatibility @@ -21,11 +20,11 @@ let ]; in { - fetchDeps = lib.makeOverridable ( + fetchPnpmDeps = lib.makeOverridable ( { hash ? "", pname, - pnpm ? pnpm', + pnpm ? pnpmLatest, pnpmWorkspaces ? [ ], prePnpmInstall ? "", pnpmInstallFlags ? [ ], @@ -50,15 +49,15 @@ in in # pnpmWorkspace was deprecated, so throw if it's used. assert (lib.throwIf (args ? pnpmWorkspace) - "pnpm.fetchDeps: `pnpmWorkspace` is no longer supported, please migrate to `pnpmWorkspaces`." + "fetchPnpmDeps: `pnpmWorkspace` is no longer supported, please migrate to `pnpmWorkspaces`." ) true; assert (lib.throwIf (fetcherVersion == null) - "pnpm.fetchDeps: `fetcherVersion` is not set, see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." + "fetchPnpmDeps: `fetcherVersion` is not set, see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." ) true; assert (lib.throwIf (!(builtins.elem fetcherVersion supportedFetcherVersions)) - "pnpm.fetchDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." + "fetchPnpmDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion." ) true; stdenvNoCC.mkDerivation ( @@ -72,7 +71,7 @@ in cacert jq moreutils - args.pnpm or pnpm' + pnpm # from args yq zstd ]; @@ -176,7 +175,7 @@ in passthru = { inherit fetcherVersion; serve = callPackage ./serve.nix { - pnpm = args.pnpm or pnpm'; + inherit pnpm; # from args pnpmDeps = finalAttrs.finalPackage; }; }; @@ -190,10 +189,9 @@ in ) ); - configHook = makeSetupHook { + pnpmConfigHook = makeSetupHook { name = "pnpm-config-hook"; propagatedBuildInputs = [ - pnpm zstd ]; substitutions = { diff --git a/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh b/pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh similarity index 91% rename from pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh rename to pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh index 2532e5d465c1..66ea5026d72c 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/pnpm-config-hook.sh +++ b/pkgs/build-support/node/fetch-pnpm-deps/pnpm-config-hook.sh @@ -12,6 +12,13 @@ pnpmConfigHook() { exit 1 fi + if ! command -v "pnpm" &> /dev/null; then + echo "Error: 'pnpm' binary not found in PATH. Consider adding 'pkgs.pnpm' to 'nativeBuildInputs'." >&2 + exit 1 + fi + + echo "Found 'pnpm' with version '$(pnpm --version)'" + fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1) echo "Using fetcherVersion: $fetcherVersion" diff --git a/pkgs/development/tools/pnpm/fetch-deps/serve.nix b/pkgs/build-support/node/fetch-pnpm-deps/serve.nix similarity index 100% rename from pkgs/development/tools/pnpm/fetch-deps/serve.nix rename to pkgs/build-support/node/fetch-pnpm-deps/serve.nix diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index 626849d7b680..e200d8debcd4 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -2,7 +2,7 @@ lib, stdenvNoCC, writeScript, - callPackages, + fetchPnpmDeps, fetchurl, installShellFiles, nodejs, @@ -11,6 +11,7 @@ version, hash, buildPackages, + pnpmConfigHook, }: let majorVersion = lib.versions.major version; @@ -71,12 +72,20 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru = let - fetchDepsAttrs = callPackages ./fetch-deps { - pnpm = buildPackages."pnpm_${lib.versions.major version}"; - }; + pnpm' = buildPackages."pnpm_${lib.versions.major version}"; in { - inherit (fetchDepsAttrs) fetchDeps configHook; + fetchDeps = + { ... }@args: + fetchPnpmDeps args + // { + pnpm = pnpm'; + }; + configHook = pnpmConfigHook.overrideAttrs (prevAttrs: { + propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ + pnpm' + ]; + }); inherit majorVersion; tests.version = lib.optionalAttrs withNode ( diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d751f8a13b1..e651b36d1f30 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3606,6 +3606,11 @@ with pkgs; ; pnpm = pnpm_10; + inherit (callPackages ../build-support/node/fetch-pnpm-deps { }) + fetchPnpmDeps + pnpmConfigHook + ; + po4a = perlPackages.Po4a; podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose { }; From 398d961498e0565d28ee397eda34336d7417df77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Wed, 17 Dec 2025 23:55:09 +0100 Subject: [PATCH 186/332] maintainers: drop ebzzry --- maintainers/maintainer-list.nix | 6 ------ pkgs/applications/networking/p2p/deluge/default.nix | 3 --- pkgs/by-name/de/deco/package.nix | 1 - pkgs/by-name/de/devilspie2/package.nix | 1 - pkgs/by-name/em/emem/package.nix | 1 - pkgs/by-name/li/libtorrent-rakshasa/package.nix | 1 - pkgs/by-name/li/linuxConsoleTools/package.nix | 1 - pkgs/by-name/mi/minikube/package.nix | 1 - pkgs/by-name/mo/moltengamepad/package.nix | 1 - pkgs/by-name/pe/pell/package.nix | 1 - pkgs/by-name/pt/pt/package.nix | 1 - pkgs/by-name/qu/qutebrowser/package.nix | 1 - pkgs/by-name/rt/rtorrent/package.nix | 1 - pkgs/by-name/st/stumpish/package.nix | 1 - pkgs/by-name/ti/tinyscheme/package.nix | 1 - pkgs/by-name/tr/translate-shell/package.nix | 1 - pkgs/by-name/tt/tthsum/package.nix | 1 - pkgs/by-name/us/usync/package.nix | 1 - pkgs/kde/gear/calligra/default.nix | 1 - pkgs/tools/backup/ugarit-manifest-maker/default.nix | 1 - pkgs/tools/backup/ugarit/default.nix | 1 - pkgs/tools/cd-dvd/unetbootin/default.nix | 1 - 22 files changed, 29 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c26aac757ae0..a1a201e1f31e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7372,12 +7372,6 @@ name = "Daniel Ebbert"; keys = [ { fingerprint = "E765 FCA3 D9BF 7FDB 856E AD73 47BC 1559 27CB B9C7"; } ]; }; - ebzzry = { - email = "ebzzry@ebzzry.io"; - github = "ebzzry"; - githubId = 7875; - name = "Rommel Martinez"; - }; ecklf = { email = "ecklf@icloud.com"; github = "ecklf"; diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index 0dc03f005bc5..230a00485e44 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -106,9 +106,6 @@ let description = "Torrent client"; homepage = "https://deluge-torrent.org"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ - ebzzry - ]; platforms = lib.platforms.all; }; }; diff --git a/pkgs/by-name/de/deco/package.nix b/pkgs/by-name/de/deco/package.nix index 4c5d044bc734..cfbd4098333b 100644 --- a/pkgs/by-name/de/deco/package.nix +++ b/pkgs/by-name/de/deco/package.nix @@ -36,7 +36,6 @@ stdenv.mkDerivation { homepage = "https://github.com/vedatechnologiesinc/deco"; description = "Simple root image setter"; license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "deco"; }; diff --git a/pkgs/by-name/de/devilspie2/package.nix b/pkgs/by-name/de/devilspie2/package.nix index 6e730ff79211..47716abab4c9 100644 --- a/pkgs/by-name/de/devilspie2/package.nix +++ b/pkgs/by-name/de/devilspie2/package.nix @@ -47,7 +47,6 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.nongnu.org/devilspie2/"; license = lib.licenses.gpl3; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.linux; mainProgram = "devilspie2"; }; diff --git a/pkgs/by-name/em/emem/package.nix b/pkgs/by-name/em/emem/package.nix index f628f209a29d..064ecbbce211 100644 --- a/pkgs/by-name/em/emem/package.nix +++ b/pkgs/by-name/em/emem/package.nix @@ -38,7 +38,6 @@ stdenv.mkDerivation rec { description = "Trivial Markdown to HTML converter"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.epl10; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "emem"; }; diff --git a/pkgs/by-name/li/libtorrent-rakshasa/package.nix b/pkgs/by-name/li/libtorrent-rakshasa/package.nix index c9dfc5b174c6..dddc08fcc361 100644 --- a/pkgs/by-name/li/libtorrent-rakshasa/package.nix +++ b/pkgs/by-name/li/libtorrent-rakshasa/package.nix @@ -47,7 +47,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/rakshasa/libtorrent"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ - ebzzry codyopel thiagokokada ]; diff --git a/pkgs/by-name/li/linuxConsoleTools/package.nix b/pkgs/by-name/li/linuxConsoleTools/package.nix index 65f6b9a63d29..4225105bc049 100644 --- a/pkgs/by-name/li/linuxConsoleTools/package.nix +++ b/pkgs/by-name/li/linuxConsoleTools/package.nix @@ -37,7 +37,6 @@ stdenv.mkDerivation rec { platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ pSub - ebzzry ]; longDescription = '' diff --git a/pkgs/by-name/mi/minikube/package.nix b/pkgs/by-name/mi/minikube/package.nix index 35ba6f42aafb..ba903beadf7b 100644 --- a/pkgs/by-name/mi/minikube/package.nix +++ b/pkgs/by-name/mi/minikube/package.nix @@ -75,7 +75,6 @@ buildGoModule rec { mainProgram = "minikube"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ - ebzzry vdemeester atkinschang Chili-Man diff --git a/pkgs/by-name/mo/moltengamepad/package.nix b/pkgs/by-name/mo/moltengamepad/package.nix index 7180699467eb..591845a5f111 100644 --- a/pkgs/by-name/mo/moltengamepad/package.nix +++ b/pkgs/by-name/mo/moltengamepad/package.nix @@ -38,7 +38,6 @@ stdenv.mkDerivation { description = "Flexible Linux input device translator, geared for gamepads"; mainProgram = "moltengamepad"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/pe/pell/package.nix b/pkgs/by-name/pe/pell/package.nix index 2a6531a90b10..81f1a8685ca1 100644 --- a/pkgs/by-name/pe/pell/package.nix +++ b/pkgs/by-name/pe/pell/package.nix @@ -39,7 +39,6 @@ stdenv.mkDerivation { homepage = "https://github.com/ebzzry/pell"; description = "Simple host availability monitor"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "pell"; }; diff --git a/pkgs/by-name/pt/pt/package.nix b/pkgs/by-name/pt/pt/package.nix index 21fb9ee12ac4..b9e70ca9a935 100644 --- a/pkgs/by-name/pt/pt/package.nix +++ b/pkgs/by-name/pt/pt/package.nix @@ -16,7 +16,6 @@ bundlerApp { homepage = "http://www.github.com/raul/pt"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ - ebzzry manveru nicknovitski ]; diff --git a/pkgs/by-name/qu/qutebrowser/package.nix b/pkgs/by-name/qu/qutebrowser/package.nix index ee074b4be32d..e3fb61f4a77a 100644 --- a/pkgs/by-name/qu/qutebrowser/package.nix +++ b/pkgs/by-name/qu/qutebrowser/package.nix @@ -169,7 +169,6 @@ python3.pkgs.buildPythonApplication { platforms = if enableWideVine then [ "x86_64-linux" ] else qt6Packages.qtwebengine.meta.platforms; maintainers = with lib.maintainers; [ rnhmjoj - ebzzry dotlambda ]; }; diff --git a/pkgs/by-name/rt/rtorrent/package.nix b/pkgs/by-name/rt/rtorrent/package.nix index d74c1298fb9d..cd0579c1bcc4 100644 --- a/pkgs/by-name/rt/rtorrent/package.nix +++ b/pkgs/by-name/rt/rtorrent/package.nix @@ -81,7 +81,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Plus; mainProgram = "rtorrent"; maintainers = with lib.maintainers; [ - ebzzry codyopel thiagokokada ]; diff --git a/pkgs/by-name/st/stumpish/package.nix b/pkgs/by-name/st/stumpish/package.nix index 09d1b906c146..a6ac190c07d1 100644 --- a/pkgs/by-name/st/stumpish/package.nix +++ b/pkgs/by-name/st/stumpish/package.nix @@ -48,7 +48,6 @@ stdenv.mkDerivation { homepage = "https://github.com/stumpwm/stumpwm-contrib"; description = "STUMPwm Interactive SHell"; license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "stumpish"; }; diff --git a/pkgs/by-name/ti/tinyscheme/package.nix b/pkgs/by-name/ti/tinyscheme/package.nix index 56264b3cc651..f8404904fca0 100644 --- a/pkgs/by-name/ti/tinyscheme/package.nix +++ b/pkgs/by-name/ti/tinyscheme/package.nix @@ -78,7 +78,6 @@ stdenv.mkDerivation rec { changelog = "https://tinyscheme.sourceforge.net/CHANGES"; license = lib.licenses.bsdOriginal; mainProgram = "tinyscheme"; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/tr/translate-shell/package.nix b/pkgs/by-name/tr/translate-shell/package.nix index 36bb37c3b6a7..da0d93affa91 100644 --- a/pkgs/by-name/tr/translate-shell/package.nix +++ b/pkgs/by-name/tr/translate-shell/package.nix @@ -46,7 +46,6 @@ stdenv.mkDerivation rec { homepage = "https://www.soimort.org/translate-shell"; description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium"; license = lib.licenses.unlicense; - maintainers = with lib.maintainers; [ ebzzry ]; mainProgram = "trans"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/tt/tthsum/package.nix b/pkgs/by-name/tt/tthsum/package.nix index 4e82a0f777fa..a4c5f47fbc74 100644 --- a/pkgs/by-name/tt/tthsum/package.nix +++ b/pkgs/by-name/tt/tthsum/package.nix @@ -40,7 +40,6 @@ stdenv.mkDerivation rec { ''; homepage = "http://tthsum.devs.nu/"; license = lib.licenses.gpl3Plus; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "tthsum"; }; diff --git a/pkgs/by-name/us/usync/package.nix b/pkgs/by-name/us/usync/package.nix index 977941a39c70..64cddf861a1b 100644 --- a/pkgs/by-name/us/usync/package.nix +++ b/pkgs/by-name/us/usync/package.nix @@ -32,7 +32,6 @@ stdenv.mkDerivation { homepage = "https://github.com/ebzzry/usync"; description = "Simple site-to-site synchronization tool"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; mainProgram = "usync"; }; diff --git a/pkgs/kde/gear/calligra/default.nix b/pkgs/kde/gear/calligra/default.nix index 6cbdeb223aa4..4e816b99551e 100644 --- a/pkgs/kde/gear/calligra/default.nix +++ b/pkgs/kde/gear/calligra/default.nix @@ -62,7 +62,6 @@ mkKdeDerivation { meta = { maintainers = with lib.maintainers; [ - ebzzry zraexy sigmasquadron ]; diff --git a/pkgs/tools/backup/ugarit-manifest-maker/default.nix b/pkgs/tools/backup/ugarit-manifest-maker/default.nix index 9f8b1fc82199..963a400795d4 100644 --- a/pkgs/tools/backup/ugarit-manifest-maker/default.nix +++ b/pkgs/tools/backup/ugarit-manifest-maker/default.nix @@ -34,7 +34,6 @@ eggDerivation rec { description = "Tool for generating import manifests for Ugarit"; mainProgram = "ugarit-manifest-maker"; license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/tools/backup/ugarit/default.nix b/pkgs/tools/backup/ugarit/default.nix index 7ceec6eedea5..02ea3966d1b9 100644 --- a/pkgs/tools/backup/ugarit/default.nix +++ b/pkgs/tools/backup/ugarit/default.nix @@ -43,7 +43,6 @@ eggDerivation rec { homepage = "https://www.kitten-technologies.co.uk/project/ugarit/"; description = "Backup/archival system based around content-addressible storage"; license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.ebzzry ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index cfcda5d5350a..c51e3b8a9df0 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -85,7 +85,6 @@ stdenv.mkDerivation rec { description = "Tool to create bootable live USB drives from ISO images"; homepage = "https://unetbootin.github.io/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ ebzzry ]; platforms = lib.platforms.linux; mainProgram = "unetbootin"; }; From 2ab4139406003e23caddc29998965b3279eb24b3 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Tue, 16 Dec 2025 20:28:44 -0500 Subject: [PATCH 187/332] maintainers: remove cig0 --- maintainers/maintainer-list.nix | 7 ------- pkgs/by-name/no/notesnook/package.nix | 1 - 2 files changed, 8 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 643a2b49faba..de00af8965c9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4843,13 +4843,6 @@ github = "Ciflire"; githubId = 39668077; }; - cig0 = { - name = "Martín Cigorraga"; - email = "cig0.github@gmail.com"; - github = "cig0"; - githubId = 394089; - keys = [ { fingerprint = "1828 B459 DB9A 7EE2 03F4 7E6E AFBE ACC5 5D93 84A0"; } ]; - }; cigrainger = { name = "Christopher Grainger"; email = "chris@amplified.ai"; diff --git a/pkgs/by-name/no/notesnook/package.nix b/pkgs/by-name/no/notesnook/package.nix index 0d4f5d1170ba..582e567759bf 100644 --- a/pkgs/by-name/no/notesnook/package.nix +++ b/pkgs/by-name/no/notesnook/package.nix @@ -50,7 +50,6 @@ let homepage = "https://notesnook.com"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ - cig0 keysmashes ]; platforms = [ From 06989e75850f924c905115e0ccfc09d7f36a943f Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 18 Dec 2025 00:35:15 +0100 Subject: [PATCH 188/332] tests.devShellTools.nixos: Fix test This increases the disk size, which I assume was consumed by the various docker image operations. --- nixos/tests/docker-tools-nix-shell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/docker-tools-nix-shell.nix b/nixos/tests/docker-tools-nix-shell.nix index e64db38e82cc..96b2582938d0 100644 --- a/nixos/tests/docker-tools-nix-shell.nix +++ b/nixos/tests/docker-tools-nix-shell.nix @@ -17,7 +17,7 @@ in { ... }: { virtualisation = { - diskSize = 4000; + diskSize = 8000; docker.enable = true; }; }; From ab204a8ddeb0b3dcbd61a955aa6b0474dde16cc9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 23:44:39 +0000 Subject: [PATCH 189/332] restish: 0.21.1 -> 0.21.2 --- pkgs/by-name/re/restish/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/restish/package.nix b/pkgs/by-name/re/restish/package.nix index 548e2b50eef4..889fc1f69b05 100644 --- a/pkgs/by-name/re/restish/package.nix +++ b/pkgs/by-name/re/restish/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "restish"; - version = "0.21.1"; + version = "0.21.2"; src = fetchFromGitHub { owner = "danielgtaylor"; repo = "restish"; tag = "v${version}"; - hash = "sha256-7x7ejClJezxr+V6xpOMZMd4s+CjOCx1obSSNo97MAbE="; + hash = "sha256-C+fB9UeEq+h6SlBtVPPZWs5fCCsJVe/TJFy4KhhaItU="; }; - vendorHash = "sha256-bO0z+LCiF/Dp0hKNulBmCgk16NzCCoY32P2/Ieq8y+c="; + vendorHash = "sha256-5+N6iL9wD5J/E6H5qn1InQR8bbuAlTOzPQn0sawVbrI="; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ xorg.libX11 From d8b26661ffe1a92737639e89a73fa532bdc34018 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 17 Dec 2025 23:53:35 +0000 Subject: [PATCH 190/332] copyparty: 1.19.21 -> 1.19.23 --- pkgs/by-name/co/copyparty/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/copyparty/package.nix b/pkgs/by-name/co/copyparty/package.nix index e33b778e5c1d..1869a7c9a024 100644 --- a/pkgs/by-name/co/copyparty/package.nix +++ b/pkgs/by-name/co/copyparty/package.nix @@ -71,11 +71,11 @@ in python3Packages.buildPythonApplication rec { pname = "copyparty${nameSuffix}"; - version = "1.19.21"; + version = "1.19.23"; src = fetchurl { url = "https://github.com/9001/copyparty/releases/download/v${version}/copyparty-${version}.tar.gz"; - hash = "sha256-RHI6gj8hjlKq7GB1aVlzp1uGY8kgLID9c/SOUsYazUI="; + hash = "sha256-LQxdEmyi9LeMQK5NA8rBkVJtmOUHL0rOEhYB0q9A488="; }; pyproject = true; From 79269111ec1ca22ea23da70d4b33695ecba9f76a Mon Sep 17 00:00:00 2001 From: Shelvacu Date: Wed, 17 Dec 2025 16:12:41 -0800 Subject: [PATCH 191/332] pkgsStatic.libblake3: disable oneTBB feature oneTBB does not support static builds --- pkgs/by-name/li/libblake3/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix index e9aa97718628..a55c166df6a0 100644 --- a/pkgs/by-name/li/libblake3/package.nix +++ b/pkgs/by-name/li/libblake3/package.nix @@ -6,7 +6,8 @@ fetchpatch, onetbb, - useTBB ? true, + # TBB doesn't support being built static + useTBB ? !stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation (finalAttrs: { From 71dc2e7df310d90a3c738e423fdfc13b710a8d67 Mon Sep 17 00:00:00 2001 From: Shelvacu Date: Wed, 17 Dec 2025 16:17:42 -0800 Subject: [PATCH 192/332] pkgsStatic.onetbb: mark unsupported --- pkgs/by-name/on/onetbb/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/on/onetbb/package.nix b/pkgs/by-name/on/onetbb/package.nix index f820dc7a80ac..927489863a7d 100644 --- a/pkgs/by-name/on/onetbb/package.nix +++ b/pkgs/by-name/on/onetbb/package.nix @@ -100,6 +100,10 @@ stdenv.mkDerivation (finalAttrs: { performance of multi-core processors. ''; platforms = lib.platforms.all; + # oneTBB does not support static builds + # "You are building oneTBB as a static library. This is highly discouraged and such configuration is not supported. Consider building a dynamic library to avoid unforeseen issues." + # https://github.com/uxlfoundation/oneTBB/blob/db7891a246cafbb90719c3dee497d96889ca692b/CMakeLists.txt#L160 + badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ]; maintainers = with lib.maintainers; [ silvanshade thoughtpolice From 7808669cf2381a0d22a70770e0477aae65df8684 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 00:28:43 +0000 Subject: [PATCH 193/332] brev-cli: 0.6.314 -> 0.6.315 --- pkgs/by-name/br/brev-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/br/brev-cli/package.nix b/pkgs/by-name/br/brev-cli/package.nix index 6751eabca27c..36891226c952 100644 --- a/pkgs/by-name/br/brev-cli/package.nix +++ b/pkgs/by-name/br/brev-cli/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "brev-cli"; - version = "0.6.314"; + version = "0.6.315"; src = fetchFromGitHub { owner = "brevdev"; repo = "brev-cli"; rev = "v${version}"; - sha256 = "sha256-/EzRKmpfQndZFL3c82u0w0V8EH/TFptU3zkHPvsIM6s="; + sha256 = "sha256-yh2swlPjBCwLKeND4bfCCNHWJSBQvjhIT16fHWVpDE4="; }; vendorHash = "sha256-CzGuEbq4I1ygYQsoyyXC6gDBMLg21dKQTKkrbwpAR2U="; From 91689ebd09aee78a61bd5696a140c22be642956f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 00:45:47 +0000 Subject: [PATCH 194/332] remnote: 1.22.31 -> 1.22.43 --- pkgs/by-name/re/remnote/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/remnote/package.nix b/pkgs/by-name/re/remnote/package.nix index 42c34372b33d..8422beff58c1 100644 --- a/pkgs/by-name/re/remnote/package.nix +++ b/pkgs/by-name/re/remnote/package.nix @@ -6,10 +6,10 @@ }: let pname = "remnote"; - version = "1.22.31"; + version = "1.22.43"; src = fetchurl { url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage"; - hash = "sha256-P2kjlskK+rrLWHMebt2UcbE0mJDOEa/OnAuRQGODkSA="; + hash = "sha256-pL1gQ2tKLqgb3XzhqkTIYKfh7ESoYKw35OOCwOYpvi4="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; in From a71e32141e5b4360e5e6589cdd4e516b7d7b520a Mon Sep 17 00:00:00 2001 From: Sean Buckley Date: Wed, 17 Dec 2025 20:13:58 -0500 Subject: [PATCH 195/332] brave: 1.85.116 -> 1.85.117 https://community.brave.app/t/release-channel-1-85-117/647084 --- pkgs/by-name/br/brave/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix index 8ce1f451361b..3c87c2efb453 100644 --- a/pkgs/by-name/br/brave/package.nix +++ b/pkgs/by-name/br/brave/package.nix @@ -3,24 +3,24 @@ let pname = "brave"; - version = "1.85.116"; + version = "1.85.117"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-ZqlIWj3bn0cfpDgQE7d1ipRvVIyvH2R54sXei3DhD3k="; + hash = "sha256-cGqxB3dVYraCqf3DoO3Who2RFm+ZnSedUG5jb8D9Mk8="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-mMUtXJO7fAKWl79kLAsrujbwMT3Hc2ys7RV8BU2HSh4="; + hash = "sha256-ov0gwAv9tCX45EqZa3SBXIzgczBD1RwNS+N1L2vE3Uc="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-RJzyxK5PV/wGXKJzG/f6MXzNwIQaIC2gMFDZLxE1QoA="; + hash = "sha256-SFe2qX/BugI9Pumv2me5jfC1FpRUsSbtSm+Jl+gW03U="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-acn5t+hE3ZpgAr9fFV/J3hXzyQcVlyDVRxMU7exvunE="; + hash = "sha256-Z0n+TqcgZXqjS1hBx9uznEC6/LftZfaE7k26RhsWI0I="; }; }; From 412af5f4735a9baf6bc549bc2f9bb0ea712c1c8d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 01:25:05 +0000 Subject: [PATCH 196/332] ispc: 1.28.2 -> 1.29.0 --- pkgs/by-name/is/ispc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/is/ispc/package.nix b/pkgs/by-name/is/ispc/package.nix index d9de7eed40a6..c7312abea807 100644 --- a/pkgs/by-name/is/ispc/package.nix +++ b/pkgs/by-name/is/ispc/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ispc"; - version = "1.28.2"; + version = "1.29.0"; src = fetchFromGitHub { owner = "ispc"; repo = "ispc"; tag = "v${finalAttrs.version}"; - hash = "sha256-dmpOvJ5dVhjGKpJ9xw/lXbvk2FgLv2vjzmUExUfLRmo="; + hash = "sha256-VAg1rCMXGyCs497qB+gCHjcjwvqmFT6QMxdXgOzD1+E="; }; nativeBuildInputs = [ From 381cb055ca9a1a9badf6d5516221c899724ace9a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 01:33:32 +0000 Subject: [PATCH 197/332] ludtwig: 0.10.0 -> 0.11.0 --- pkgs/by-name/lu/ludtwig/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lu/ludtwig/package.nix b/pkgs/by-name/lu/ludtwig/package.nix index 085295467698..c16097ef05b6 100644 --- a/pkgs/by-name/lu/ludtwig/package.nix +++ b/pkgs/by-name/lu/ludtwig/package.nix @@ -6,18 +6,18 @@ rustPlatform.buildRustPackage rec { pname = "ludtwig"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "MalteJanz"; repo = "ludtwig"; rev = "v${version}"; - hash = "sha256-3E1W6AlGQ9AhMzLvTV5KBjlKiWXyi7rFwHOdU3CIp60="; + hash = "sha256-V0T+yinjTVkAXA604bfEGDzpCd0saNt5S71XFaFqdxg="; }; checkType = "debug"; - cargoHash = "sha256-00JHtrDffFl3h3IOH+h491qGOSfXIJH9NBmaqqUtQ6k="; + cargoHash = "sha256-qR7V7fvWsDsLDRwfvM5UV7iKLGxE722eXvYrZTBtGpQ="; meta = { description = "Linter / Formatter for Twig template files which respects HTML and your time"; From 10206b8d5f36bafee1231fc3efd6965b014b029a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 01:39:22 +0000 Subject: [PATCH 198/332] memorado: 0.5 -> 0.6 --- pkgs/by-name/me/memorado/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/me/memorado/package.nix b/pkgs/by-name/me/memorado/package.nix index aeb0ba7d340c..7a7778744d9a 100644 --- a/pkgs/by-name/me/memorado/package.nix +++ b/pkgs/by-name/me/memorado/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "memorado"; - version = "0.5"; + version = "0.6"; src = fetchFromGitHub { owner = "wbernard"; repo = "Memorado"; tag = version; - hash = "sha256-HNZdWRATjSfMk0e99CERPuR891549+wS/WeA7XGFxto="; + hash = "sha256-pHbZ8zBfgAHLmCaMRS4MS/awFat41OG++hSSHz3k2KM="; }; nativeBuildInputs = [ From 83df6a4008a700e84a0d5d60ed1b0dc812d69c02 Mon Sep 17 00:00:00 2001 From: botnk Date: Thu, 18 Dec 2025 01:40:35 +0000 Subject: [PATCH 199/332] zed-editor: 0.217.1 -> 0.217.2 Changelog: https://github.com/zed-industries/zed/releases/tag/v0.217.2 --- pkgs/by-name/ze/zed-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 050abc5a7cf3..70aa7ccfd51f 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -106,7 +106,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.217.1"; + version = "0.217.2"; outputs = [ "out" @@ -119,7 +119,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-4A2uiHeqnvJF1lLzUQsTMZ30v7iWp8MZTla5R1/AVFg="; + hash = "sha256-b0yufup4YdNWjjdIG5u66QiuBhbuQoaTkq7LBYExPvg="; }; postPatch = '' @@ -139,7 +139,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -r $out/git/*/candle-book/ ''; - cargoHash = "sha256-OsIau0R00zHWvaepXDyU3JMrMJUQbHdoYAilG95lvp4="; + cargoHash = "sha256-hEMIYhSSKUeBz+6gT3csh+amyoZ4tattmIOKX3nI8x8="; nativeBuildInputs = [ cmake From f6e16630232fed3b316bc3b8cdfc96b5134412de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 01:41:40 +0000 Subject: [PATCH 200/332] mermerd: 0.12.0 -> 0.13.0 --- pkgs/by-name/me/mermerd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/me/mermerd/package.nix b/pkgs/by-name/me/mermerd/package.nix index 43338f67d5c3..17200bfd5fa5 100644 --- a/pkgs/by-name/me/mermerd/package.nix +++ b/pkgs/by-name/me/mermerd/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "mermerd"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { owner = "KarnerTh"; repo = "mermerd"; tag = "v${version}"; - hash = "sha256-18GM/mb32MPI128ytM/Im+LO+N9cW1HoZ7M4tP2+i0o="; + hash = "sha256-xyqWGK9Ko4kdHMC6pbXXxdzIufsOb7Vq2Nh45f45D9w="; }; - vendorHash = "sha256-r5/mztbAwj25QevcB1iYb6fJzNACPtJEurkbD1Iq7dM="; + vendorHash = "sha256-Uu/L1wL1999hHydUSVvDNaCKy8RlRMKdDEhERgryjBY="; ldflags = [ "-s" From 0207a539a92505c0dfab8867c6381df8ee0dfb4b Mon Sep 17 00:00:00 2001 From: flakeuser <2792697+Jdogzz@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:39:37 -0800 Subject: [PATCH 201/332] unoconv: remove compatibility for very old LO OO --- ...mpatibility-fixes-for-very-old-LO-OO.patch | 48 +++++++++++++++++++ pkgs/by-name/un/unoconv/package.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/by-name/un/unoconv/0001-Remove-compatibility-fixes-for-very-old-LO-OO.patch diff --git a/pkgs/by-name/un/unoconv/0001-Remove-compatibility-fixes-for-very-old-LO-OO.patch b/pkgs/by-name/un/unoconv/0001-Remove-compatibility-fixes-for-very-old-LO-OO.patch new file mode 100644 index 000000000000..25eaf0ab5f93 --- /dev/null +++ b/pkgs/by-name/un/unoconv/0001-Remove-compatibility-fixes-for-very-old-LO-OO.patch @@ -0,0 +1,48 @@ +From 363d17cec4d097a8160926467db33978da4001cf Mon Sep 17 00:00:00 2001 +From: flakeuser <2792697+Jdogzz@users.noreply.github.com> +Date: Wed, 17 Dec 2025 17:44:21 -0800 +Subject: [PATCH] Remove compatibility fixes for very old LO/OO. + +--- + unoconv | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/unoconv b/unoconv +index 6aa1bfa..ae2159f 100755 +--- a/unoconv ++++ b/unoconv +@@ -16,7 +16,6 @@ + + from __future__ import print_function + +-from distutils.version import LooseVersion + import getopt + import glob + import os +@@ -857,10 +856,7 @@ class Convertor: + info(3, "Launching our own listener using %s." % office.binary) + try: + product = self.svcmgr.createInstance("com.sun.star.configuration.ConfigurationProvider").createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", UnoProps(nodepath="/org.openoffice.Setup/Product")) +- if product.ooName not in ('LibreOffice', 'LOdev') or LooseVersion(product.ooSetupVersion) <= LooseVersion('3.3'): +- args = [office.binary, "-headless", "-invisible", "-nocrashreport", "-nodefault", "-nofirststartwizard", "-nologo", "-norestore", "-accept=%s" % op.connection] +- else: +- args = [office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--accept=%s" % op.connection] ++ args = [office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--accept=%s" % op.connection] + if op.userProfile: + args.append("-env:UserInstallation=file://" + realpath(op.userProfile)) + info(2, '%s listener arguments are %s.' % (product.ooName, args)) +@@ -1287,10 +1283,7 @@ def die(ret, msg=None): + if convertor.desktop.getCurrentFrame(): + info(2, 'Trying to stop %s GUI listener.' % product.ooName) + try: +- if product.ooName != "LibreOffice" or product.ooSetupVersion <= 3.3: +- subprocess.Popen([office.binary, "-headless", "-invisible", "-nocrashreport", "-nodefault", "-nofirststartwizard", "-nologo", "-norestore", "-unaccept=%s" % op.connection], env=os.environ) +- else: +- subprocess.Popen([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--unaccept=%s" % op.connection], env=os.environ) ++ subprocess.Popen([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--unaccept=%s" % op.connection], env=os.environ) + ooproc.wait() + info(2, '%s listener successfully disabled.' % product.ooName) + except Exception as e: +-- +2.51.2 + diff --git a/pkgs/by-name/un/unoconv/package.nix b/pkgs/by-name/un/unoconv/package.nix index fe979220cee4..b40f15cdc03e 100644 --- a/pkgs/by-name/un/unoconv/package.nix +++ b/pkgs/by-name/un/unoconv/package.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { sha256 = "1akx64686in8j8arl6vsgp2n3bv770q48pfv283c6fz6wf9p8fvr"; }; + patches = [ ./0001-Remove-compatibility-fixes-for-very-old-LO-OO.patch ]; + nativeBuildInputs = [ asciidoc makeWrapper From e55419e5d3a5d5e0164c0270a9ad367b6a0d162a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 02:26:24 +0000 Subject: [PATCH 202/332] nginx-sso: 0.27.4 -> 0.27.5 --- pkgs/by-name/ng/nginx-sso/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ng/nginx-sso/package.nix b/pkgs/by-name/ng/nginx-sso/package.nix index 63c1c1a3bbf4..4714d6013342 100644 --- a/pkgs/by-name/ng/nginx-sso/package.nix +++ b/pkgs/by-name/ng/nginx-sso/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "nginx-sso"; - version = "0.27.4"; + version = "0.27.5"; src = fetchFromGitHub { owner = "Luzifer"; repo = "nginx-sso"; rev = "v${version}"; - hash = "sha256-fNMCskS8uXAykl2Zu4ZZqtIS2F5w7HV7C8hyPaWnav4="; + hash = "sha256-yiwKnOv/4Zy9bBvQZiIp8cH1XvgV88m9t4ptqQp1LG8="; }; - vendorHash = "sha256-J3CObmSbrAn0D5MOaclRvlnqLqUYfQCkfD6om/tNKac="; + vendorHash = "sha256-KflzlrjOOTDZQq2yP0zQsDgULrbnoeRRxOVHxKINsYw="; postInstall = '' mkdir -p $out/share From 723c331e57dcbc039b07496bc2730a9f27245944 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 02:28:29 +0000 Subject: [PATCH 203/332] chezmoi: 2.67.1 -> 2.68.1 --- pkgs/by-name/ch/chezmoi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ch/chezmoi/package.nix b/pkgs/by-name/ch/chezmoi/package.nix index ff96dc997f5a..910951bb9815 100644 --- a/pkgs/by-name/ch/chezmoi/package.nix +++ b/pkgs/by-name/ch/chezmoi/package.nix @@ -7,16 +7,16 @@ buildGo125Module (finalAttrs: { pname = "chezmoi"; - version = "2.67.1"; + version = "2.68.1"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; tag = "v${finalAttrs.version}"; - hash = "sha256-srrkOgd/3nL4sMe2M9Gs7a3NnjkpJcdzpqO0MrPh0Rc="; + hash = "sha256-VJGT6sQhrLHqTJOcLknHj/Wz04Pj2/CBUqI5R6xPdQ4="; }; - vendorHash = "sha256-N5mPoIWZfGgH1CkDnQgxQ94Zq++l2+uQMST0l/m4Z+g="; + vendorHash = "sha256-yNEx2/Vw5kjC428SObBCQ+OI7XwLUicbCvCpmVkdOtQ="; nativeBuildInputs = [ installShellFiles From b5a1eee4bd38027b08d03127af90e5b0910f6fbe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 02:47:01 +0000 Subject: [PATCH 204/332] reaper-go: 0.2.5 -> 0.2.6 --- pkgs/by-name/re/reaper-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/reaper-go/package.nix b/pkgs/by-name/re/reaper-go/package.nix index 77113341467b..7943f2020afe 100644 --- a/pkgs/by-name/re/reaper-go/package.nix +++ b/pkgs/by-name/re/reaper-go/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "reaper-go"; - version = "0.2.5"; + version = "0.2.6"; src = fetchFromGitHub { owner = "ghostsecurity"; repo = "reaper"; tag = "v${finalAttrs.version}"; - hash = "sha256-3kTGlGvuTSB3KOeQvhF/pNaWVU153qGqqskJd+G6FF4="; + hash = "sha256-ZSHG4pQTo+Z05MvBqFoscMaZuezScTuszOF8hn4UZXs="; }; - vendorHash = "sha256-T9qTfGRLhlYrezraRRztZC2Kw4L6Fap1YQgQdnlxKhE="; + vendorHash = "sha256-Kn/anDDHWfapWB/ZHu4MRmEQ7Nn8hjUMS+LWK9Dx/g4="; ldflags = [ "-s" From 1e23ab7bc3f887942dc82536ee558b29afea5ef4 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 18 Dec 2025 11:28:52 +0800 Subject: [PATCH 205/332] tewi-font: drop Reference: https://github.com/lucy/tewi-font Reference: https://github.com/NixOS/nixpkgs/issues/471645 --- pkgs/by-name/te/tewi-font/package.nix | 67 --------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 67 deletions(-) delete mode 100644 pkgs/by-name/te/tewi-font/package.nix diff --git a/pkgs/by-name/te/tewi-font/package.nix b/pkgs/by-name/te/tewi-font/package.nix deleted file mode 100644 index 62fe79d4b7fe..000000000000 --- a/pkgs/by-name/te/tewi-font/package.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - python3, - bdftopcf, - xorg, - libfaketime, -}: - -stdenv.mkDerivation rec { - pname = "tewi-font"; - version = "2.0.2"; - - src = fetchFromGitHub { - owner = "lucy"; - repo = "tewi-font"; - rev = version; - sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j"; - }; - - nativeBuildInputs = [ - python3 - bdftopcf - xorg.mkfontscale - libfaketime - xorg.fonttosfnt - ]; - - postPatch = '' - # make gzip deterministic - sed 's/gzip -9/gzip -9 -n/g' -i Makefile - - # fix python not found - patchShebangs scripts/merge - ''; - - postBuild = '' - # convert bdf fonts to otb - for i in *.bdf; do - name=$(basename "$i" .bdf) - faketime -f "1970-01-01 00:00:01" \ - fonttosfnt -v -o "$name.otb" "$i" - done - ''; - - installPhase = '' - fontDir="$out/share/fonts/misc" - install -m 644 -D *.otb out/* -t "$fontDir" - mkfontdir "$fontDir" - ''; - - meta = { - description = "Nice bitmap font, readable even at small sizes"; - longDescription = '' - Tewi is a bitmap font, readable even at very small font sizes. This is - particularily useful while programming, to fit a lot of code on your - screen. - ''; - homepage = "https://github.com/lucy/tewi-font"; - license = { - fullName = "GNU General Public License with a font exception"; - url = "https://www.gnu.org/licenses/gpl-faq.html#FontException"; - }; - maintainers = [ lib.maintainers.fro_ozen ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 6a29a1e02b88..3c90c8ed4031 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1585,6 +1585,7 @@ mapAliases { terminus-nerdfont = throw "'terminus-nerdfont' has been renamed to/replaced by 'nerd-fonts.terminess-ttf'"; # Converted to throw 2025-10-27 testVersion = throw "'testVersion' has been renamed to/replaced by 'testers.testVersion'"; # Converted to throw 2025-10-27 tet = throw "'tet' has been removed for lack of maintenance"; # Added 2025-10-12 + tewi-font = throw "'tewi-font' has been removed because it was removed from upstream"; # Added 2025-12-18 texinfo4 = throw "'texinfo4' has been removed in favor of the latest version"; # Added 2025-06-08 textual-paint = throw "'textual-paint' has been removed as it is broken"; # Added 2025-09-10 tezos-rust-libs = throw "ligo has been removed from nixpkgs for lack of maintenance"; # Added 2025-06-03 From 173e1b6a1111d3359ef3feb20d1371d3c80cda5d Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 18 Dec 2025 11:43:57 +0800 Subject: [PATCH 206/332] teapot: update src Reference: https://repology.org/project/teapot/information Reference: https://github.com/NixOS/nixpkgs/issues/471645 --- pkgs/by-name/te/teapot/package.nix | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/pkgs/by-name/te/teapot/package.nix b/pkgs/by-name/te/teapot/package.nix index 7bfa9a9f6f8e..89fdd6b4b214 100644 --- a/pkgs/by-name/te/teapot/package.nix +++ b/pkgs/by-name/te/teapot/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - fetchFromGitHub, + fetchzip, cmake, libtirpc, ncurses, @@ -11,17 +11,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "teapot"; version = "2.3.0"; - src = fetchFromGitHub { - owner = "museoa"; - repo = "teapot"; - tag = finalAttrs.version; - hash = "sha256-38XFjRzOGasr030f+mRYT+ptlabpnVJfa+1s7ZAjS+k="; + src = fetchzip { + url = "https://www.syntax-k.de/projekte/teapot/teapot-${finalAttrs.version}.tar.gz"; + hash = "sha256-wzAwZwOMeTsuR5LhfjspGdejT6X1V8YJ8B7v9pcbxaY="; }; - prePatch = '' - cd src - ''; - patches = [ # include a local file in order to make cc happy ./001-fix-warning.patch @@ -42,10 +36,6 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; NIX_LDFLAGS = [ "-ltirpc" ]; - cmakeConfigureFlags = [ - "-DENABLE_HELP=OFF" - ]; - postPatch = '' substituteInPlace CMakeLists.txt \ --replace-fail "cmake_minimum_required(VERSION 2.6)" "cmake_minimum_required(VERSION 3.10)" @@ -78,8 +68,8 @@ stdenv.mkDerivation (finalAttrs: { maintainers = [ ]; platforms = lib.platforms.unix; mainProgram = "teapot"; - homepage = "https://github.com/museoa/teapot"; - changelog = "https://github.com/museoa/teapot/releases/tag/${finalAttrs.version}"; + homepage = "https://www.syntax-k.de/projekte/teapot/"; + changelog = "https://www.syntax-k.de/projekte/teapot/"; }; }) # TODO: patch/fix FLTK building From 7250039ae03f659068614e699b89a8e9927663c7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 03:51:00 +0000 Subject: [PATCH 207/332] ctlptl: 0.8.43 -> 0.8.44 --- pkgs/by-name/ct/ctlptl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ct/ctlptl/package.nix b/pkgs/by-name/ct/ctlptl/package.nix index 2ef6b0a131c4..968ee864977f 100644 --- a/pkgs/by-name/ct/ctlptl/package.nix +++ b/pkgs/by-name/ct/ctlptl/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "ctlptl"; - version = "0.8.43"; + version = "0.8.44"; src = fetchFromGitHub { owner = "tilt-dev"; repo = "ctlptl"; rev = "v${version}"; - hash = "sha256-NQLVwa/JLawLM5ImcRlG/XBLZBkS0fhy2gmu5v00w1k="; + hash = "sha256-DIVKwfTSA03Yyservf3TK7y9RKi2t6pELyC0cpoUH3I="; }; - vendorHash = "sha256-ENSW2JGcMjg83/vsmIa4C181WOkZQrRpSVZdfWXl4JY="; + vendorHash = "sha256-bZd2DWQ2utKYctx9KzE5BzF5wkj1rGkka6PsYb7G8Oo="; nativeBuildInputs = [ installShellFiles ]; From c02f3125d851c5dd828e2b88a6c4d7112dca9965 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 04:38:01 +0000 Subject: [PATCH 208/332] lua-language-server: 3.16.0 -> 3.16.1 --- pkgs/by-name/lu/lua-language-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/lua-language-server/package.nix b/pkgs/by-name/lu/lua-language-server/package.nix index 5136b352539b..49564b56d767 100644 --- a/pkgs/by-name/lu/lua-language-server/package.nix +++ b/pkgs/by-name/lu/lua-language-server/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lua-language-server"; - version = "3.16.0"; + version = "3.16.1"; src = fetchFromGitHub { owner = "luals"; repo = "lua-language-server"; tag = finalAttrs.version; - hash = "sha256-SMSBUn6PtsdvK4u/UlWr82/YDoGK4MwA+bI9jgisHHA="; + hash = "sha256-HYtnTJYII548+/tp+1UjRgsBaTuDz27AIc2MvBjBh8o="; fetchSubmodules = true; }; From aeb854934c2aaf5b2512d1df5a949683790d077b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 04:45:20 +0000 Subject: [PATCH 209/332] circle-flags: 2.7.0 -> 2.8.0 --- pkgs/by-name/ci/circle-flags/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ci/circle-flags/package.nix b/pkgs/by-name/ci/circle-flags/package.nix index 97411b6e3a01..12f560897a86 100644 --- a/pkgs/by-name/ci/circle-flags/package.nix +++ b/pkgs/by-name/ci/circle-flags/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "circle-flags"; - version = "2.7.0"; + version = "2.8.0"; src = fetchFromGitHub { owner = "HatScripts"; repo = "circle-flags"; rev = "v${finalAttrs.version}"; - hash = "sha256-/+f5MDRW+tRH+jMtl3XuVPBShgy2PlD3NY+74mJa2Qk="; + hash = "sha256-Wa59G8ov/S89BABtpey/ueplztiYIUXrSDg72wG74jQ="; }; installPhase = '' From db882fe0e2649bb7847d2723497dfe0bceb7e9ff Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 18 Dec 2025 12:31:35 +0800 Subject: [PATCH 210/332] wvdial: update src Reference: https://github.com/NixOS/nixpkgs/issues/471645 --- pkgs/by-name/wv/wvdial/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wv/wvdial/package.nix b/pkgs/by-name/wv/wvdial/package.nix index 6ca28d07665d..89324e783570 100644 --- a/pkgs/by-name/wv/wvdial/package.nix +++ b/pkgs/by-name/wv/wvdial/package.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation { owner = "retronetworking"; repo = "wvdial"; rev = "42d084173cc939586c1963b8835cb00ec56b2823"; + # "download .tar.gz" has been disabled + forceFetchGit = true; hash = "sha256-q7pFvpJvv+ZvbN4xxolI9ZRULr+N5sqO9BOXUqSG5v4="; }; From d02d99b0796ad4d567d750f1c4ddb584f6a24966 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 05:13:27 +0000 Subject: [PATCH 211/332] libphonenumber: 9.0.20 -> 9.0.21 --- pkgs/by-name/li/libphonenumber/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libphonenumber/package.nix b/pkgs/by-name/li/libphonenumber/package.nix index a9aa13b05056..47887927a754 100644 --- a/pkgs/by-name/li/libphonenumber/package.nix +++ b/pkgs/by-name/li/libphonenumber/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libphonenumber"; - version = "9.0.20"; + version = "9.0.21"; src = fetchFromGitHub { owner = "google"; repo = "libphonenumber"; tag = "v${finalAttrs.version}"; - hash = "sha256-naIlf09phlgFS4GqNSLLqzQwM3DGp3bBu3cFinrUYFA="; + hash = "sha256-2YiTjudHEKl3JJMF4jV/DpQFZbBEb4z6WZxU+jdGVx0="; }; patches = [ From b6581cc7e458e3d4e2d9a9a9ae997d093df2a52e Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 18 Dec 2025 13:08:14 +0800 Subject: [PATCH 212/332] htop: add withVimKeys Reference: https://github.com/NixOS/nixpkgs/issues/471645 --- pkgs/by-name/ht/htop-vim/package.nix | 91 ---------------------------- pkgs/by-name/ht/htop/package.nix | 25 +++++--- pkgs/top-level/all-packages.nix | 2 + 3 files changed, 20 insertions(+), 98 deletions(-) delete mode 100644 pkgs/by-name/ht/htop-vim/package.nix diff --git a/pkgs/by-name/ht/htop-vim/package.nix b/pkgs/by-name/ht/htop-vim/package.nix deleted file mode 100644 index 551573ef16d1..000000000000 --- a/pkgs/by-name/ht/htop-vim/package.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - lib, - fetchFromGitHub, - fetchpatch2, - stdenv, - autoreconfHook, - pkg-config, - ncurses, - libcap, - libnl, - sensorsSupport ? stdenv.hostPlatform.isLinux, - lm_sensors, - systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs, - systemdLibs, -}: - -assert systemdSupport -> stdenv.hostPlatform.isLinux; - -stdenv.mkDerivation rec { - pname = "htop-vim"; - version = "3.4.0"; - - src = fetchFromGitHub { - owner = "htop-dev"; - repo = "htop-vim"; - rev = version; - hash = "sha256-4M2Kzy/tTpIZzpyubnXWywQh7Np5InT4sYkVG2v6wWs"; - }; - - patches = [ - (fetchpatch2 { - name = "vim-keybindings.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/vim-keybindings.patch?h=htop-vim&id=d10f022b3ca1207200187a55f5b116a5bd8224f7"; - hash = "sha256-fZDTA2dCOmXxUYD6Wm41q7TxL7fgQOj8a/8yJC7Zags="; - }) - ]; - - # upstream removed pkg-config support and uses dlopen now - postPatch = - let - libnlPath = lib.getLib libnl; - in - lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace configure.ac \ - --replace-fail /usr/include/libnl3 ${lib.getDev libnl}/include/libnl3 - substituteInPlace linux/LibNl.c \ - --replace-fail libnl-3.so ${libnlPath}/lib/libnl-3.so \ - --replace-fail libnl-genl-3.so ${libnlPath}/lib/libnl-genl-3.so - ''; - - nativeBuildInputs = [ autoreconfHook ] ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; - - buildInputs = [ - ncurses - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcap - libnl - ] - ++ lib.optional sensorsSupport lm_sensors - ++ lib.optional systemdSupport systemdLibs; - - configureFlags = [ - "--enable-unicode" - "--sysconfdir=/etc" - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--enable-affinity" - "--enable-capabilities" - "--enable-delayacct" - ] - ++ lib.optional sensorsSupport "--enable-sensors"; - - postFixup = - let - optionalPatch = pred: so: lib.optionalString pred "patchelf --add-needed ${so} $out/bin/htop"; - in - lib.optionalString (!stdenv.hostPlatform.isStatic) '' - ${optionalPatch sensorsSupport "${lib.getLib lm_sensors}/lib/libsensors.so"} - ${optionalPatch systemdSupport "${systemdLibs}/lib/libsystemd.so"} - ''; - - meta = { - description = "Interactive process viewer, with vim-style keybindings"; - homepage = "https://aur.archlinux.org/packages/htop-vim"; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ thiagokokada ]; - mainProgram = "htop"; - }; -} diff --git a/pkgs/by-name/ht/htop/package.nix b/pkgs/by-name/ht/htop/package.nix index b6d7221d73cb..61aa17313e6a 100644 --- a/pkgs/by-name/ht/htop/package.nix +++ b/pkgs/by-name/ht/htop/package.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch2, stdenv, autoreconfHook, pkg-config, @@ -11,21 +12,28 @@ lm_sensors, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs, systemdLibs, + withVimKeys ? false, }: assert systemdSupport -> stdenv.hostPlatform.isLinux; -stdenv.mkDerivation rec { - pname = "htop"; +stdenv.mkDerivation (finalAttrs: { + pname = "htop" + lib.optionalString withVimKeys "-vim"; version = "3.4.1"; src = fetchFromGitHub { owner = "htop-dev"; repo = "htop"; - tag = version; + tag = finalAttrs.version; hash = "sha256-fVqQwXbJus2IVE1Bzf3yJJpKK4qcZN/SCTX1XYkiHhU="; }; + patches = lib.optional withVimKeys (fetchpatch2 { + name = "vim-keybindings.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/vim-keybindings.patch?h=htop-vim&id=d10f022b3ca1207200187a55f5b116a5bd8224f7"; + hash = "sha256-fZDTA2dCOmXxUYD6Wm41q7TxL7fgQOj8a/8yJC7Zags="; + }); + # upstream removed pkg-config support and uses dlopen now postPatch = let @@ -72,16 +80,19 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Interactive process viewer"; - homepage = "https://htop.dev"; + description = + "Interactive process viewer" + lib.optionalString withVimKeys ", with vim-style keybindings"; + homepage = + if withVimKeys then "https://aur.archlinux.org/packages/htop-vim" else "https://htop.dev"; license = lib.licenses.gpl2Only; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ rob relrod SuperSandro2000 + thiagokokada ]; - changelog = "https://github.com/htop-dev/htop/blob/${version}/ChangeLog"; + changelog = "https://github.com/htop-dev/htop/blob/${finalAttrs.version}/ChangeLog"; mainProgram = "htop"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 83f5c07ec7d3..9ccc3a6df7a7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1061,6 +1061,8 @@ with pkgs; } ); + htop-vim = htop.override { withVimKeys = true; }; + inherit (callPackages ../tools/networking/iroh/default.nix { }) iroh-relay iroh-dns-server From f575d98bc1b6f5b4b49c35d6e1ce9cdc3d34de7d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 05:27:08 +0000 Subject: [PATCH 213/332] python3Packages.pylacus: 1.20.0 -> 1.21.0 --- pkgs/development/python-modules/pylacus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pylacus/default.nix b/pkgs/development/python-modules/pylacus/default.nix index f4829a1b8642..dc5150d4d3ad 100644 --- a/pkgs/development/python-modules/pylacus/default.nix +++ b/pkgs/development/python-modules/pylacus/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pylacus"; - version = "1.20.0"; + version = "1.21.0"; pyproject = true; src = fetchFromGitHub { owner = "ail-project"; repo = "PyLacus"; tag = "v${version}"; - hash = "sha256-Ody+2zBnApdZqfmS6veWxHgrjVBO3xSulbu5/Uxd2u8="; + hash = "sha256-YTHFA25c9EnXlOKmJd2sdrdYZ+5tAopvpWRfW8IpDpU="; }; build-system = [ poetry-core ]; From 1471af1df3ebded952d12c5073595e3e41f3dc69 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 05:39:53 +0000 Subject: [PATCH 214/332] copybara: 20251208 -> 20251215 --- pkgs/by-name/co/copybara/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/copybara/package.nix b/pkgs/by-name/co/copybara/package.nix index bc11f8f354da..35ea0757bc65 100644 --- a/pkgs/by-name/co/copybara/package.nix +++ b/pkgs/by-name/co/copybara/package.nix @@ -13,11 +13,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "copybara"; - version = "20251208"; + version = "20251215"; src = fetchurl { url = "https://github.com/google/copybara/releases/download/v${finalAttrs.version}/copybara_deploy.jar"; - hash = "sha256-zTQOjF3ATvbG3zIPyML3FZRqqvWj7gMZimRKu7V7ETE="; + hash = "sha256-URmJ7bFyOcvM77dY2L/N7Im0KU8R5ccN9pStiWmPKrM="; }; nativeBuildInputs = [ From e3504872fdc9220e6b5df3e0a60503b894182701 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 18 Dec 2025 13:43:58 +0800 Subject: [PATCH 215/332] rpPPPoE: update src Reference: https://repology.org/project/rp-pppoe/information Reference: https://github.com/NixOS/nixpkgs/issues/471645 --- pkgs/by-name/rp/rpPPPoE/package.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/rp/rpPPPoE/package.nix b/pkgs/by-name/rp/rpPPPoE/package.nix index 926a19acb160..04be5ad93585 100644 --- a/pkgs/by-name/rp/rpPPPoE/package.nix +++ b/pkgs/by-name/rp/rpPPPoE/package.nix @@ -1,19 +1,18 @@ { lib, stdenv, - fetchFromGitHub, + fetchFromGitea, ppp, }: -let -in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "rp-pppoe"; version = "4.0"; - src = fetchFromGitHub { - owner = "dfskoll"; + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "dskoll"; repo = "rp-pppoe"; - rev = version; + tag = finalAttrs.version; hash = "sha256-2y26FVxVn8sU9/E2yJeJmbhAeOB0Go7EUPMU9H58H6U="; }; @@ -45,4 +44,4 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ DictXiong ]; }; -} +}) From 2be1525b287109fdbbd1d9e47b90abf73d8547af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 05:46:15 +0000 Subject: [PATCH 216/332] pre-commit: 4.5.0 -> 4.5.1 --- pkgs/by-name/pr/pre-commit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/pre-commit/package.nix b/pkgs/by-name/pr/pre-commit/package.nix index 7d7c53af116d..f61aebbeff62 100644 --- a/pkgs/by-name/pr/pre-commit/package.nix +++ b/pkgs/by-name/pr/pre-commit/package.nix @@ -26,14 +26,14 @@ let in python3Packages.buildPythonApplication rec { pname = "pre-commit"; - version = "4.5.0"; + version = "4.5.1"; pyproject = true; src = fetchFromGitHub { owner = "pre-commit"; repo = "pre-commit"; tag = "v${version}"; - hash = "sha256-1IVzeZI4ln5eeArzPhcry6vhZVZj2rp+5D0r1c5ZEA8="; + hash = "sha256-3E/haU7TzTr+Qj3KadC7BYwuECZPa2Q+NvG5e4SSKSA="; }; patches = [ From 62316128a6cd046b3add809d82185d9668fe89ab Mon Sep 17 00:00:00 2001 From: sander Date: Thu, 18 Dec 2025 06:40:32 +0100 Subject: [PATCH 217/332] mesa: 25.3.1 -> 25.3.2 --- pkgs/development/libraries/mesa/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 3baf30be2a1a..bd18ff5a79f2 100644 --- a/pkgs/development/libraries/mesa/common.nix +++ b/pkgs/development/libraries/mesa/common.nix @@ -5,14 +5,14 @@ # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa rec { pname = "mesa"; - version = "25.3.1"; + version = "25.3.2"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mesa"; repo = "mesa"; rev = "mesa-${version}"; - hash = "sha256-ESaVKbAieCQcSs4WHyajSpBUWcHrldveXcb9PO63XWc="; + hash = "sha256-wvRKKSDA4QxLB4J7fLLZvEXl3xsPMIF21iHsgl0l5vg="; }; meta = { From ce5dd8496928a8cb85b48a6cf86725d5eab91971 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 05:50:43 +0000 Subject: [PATCH 218/332] kcl: 0.12.1 -> 0.12.3 --- pkgs/by-name/kc/kcl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/kc/kcl/package.nix b/pkgs/by-name/kc/kcl/package.nix index fa457ed5113e..e4bf2b820a13 100644 --- a/pkgs/by-name/kc/kcl/package.nix +++ b/pkgs/by-name/kc/kcl/package.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "kcl"; - version = "0.12.1"; + version = "0.12.3"; src = fetchFromGitHub { owner = "kcl-lang"; repo = "cli"; rev = "v${version}"; - hash = "sha256-dwJkV5/MCUhjralKtnlmqSrb2C0kMZ1eO+6nTnenWZw="; + hash = "sha256-vOdL+It8wY+U0Jt68KPAxMe3th0muaCXlEkuEphCVVY="; }; - vendorHash = "sha256-1O1oTJCdGwA0TgI8dScZq7+yfumbzyi8rD4VJkFgn5E="; + vendorHash = "sha256-NfRVgGtm8w/K0utb3/AlBfT71txpmJlOaFrdqGC8Dkg="; subPackages = [ "cmd/kcl" ]; From b677866c0a048c7a338ebb396f647b3e94a45f4d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 06:14:44 +0000 Subject: [PATCH 219/332] umpire: 2025.09.0 -> 2025.12.0 --- pkgs/by-name/um/umpire/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/um/umpire/package.nix b/pkgs/by-name/um/umpire/package.nix index 172c9bd9cb44..458c7bdaec24 100644 --- a/pkgs/by-name/um/umpire/package.nix +++ b/pkgs/by-name/um/umpire/package.nix @@ -12,13 +12,13 @@ assert cudaSupport -> cudaPackages != null; stdenv.mkDerivation rec { pname = "umpire"; - version = "2025.09.0"; + version = "2025.12.0"; src = fetchFromGitHub { owner = "LLNL"; repo = "umpire"; tag = "v${version}"; - hash = "sha256-1lJty4HdjwExBih7Bl3E34LpmDlDlhb0zl9N7MyFj5w="; + hash = "sha256-9lGI5SKpDIIzZvsG/yKopfXS1PuHOQB9bwSuML2Xh/8="; fetchSubmodules = true; }; From fc87bdc84feac34b2053b3986fa27d6af02595f8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 06:38:18 +0000 Subject: [PATCH 220/332] vivaldi: 7.7.3851.61 -> 7.7.3851.66 --- pkgs/by-name/vi/vivaldi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vi/vivaldi/package.nix b/pkgs/by-name/vi/vivaldi/package.nix index c700ac3088f0..290dbdbdb669 100644 --- a/pkgs/by-name/vi/vivaldi/package.nix +++ b/pkgs/by-name/vi/vivaldi/package.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { pname = "vivaldi"; - version = "7.7.3851.61"; + version = "7.7.3851.66"; suffix = { @@ -79,8 +79,8 @@ stdenv.mkDerivation rec { url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb"; hash = { - aarch64-linux = "sha256-zpo5GJjOsZlsj+UZX3Pj1dmrFL4MVIT+SVFC1hCXR3Y="; - x86_64-linux = "sha256-yCYskWEE6+rsKjWKa97ybmU041fVc88n4mFWAvR+IuY="; + aarch64-linux = "sha256-xXhRTTieuoLXIVYgc0jAiUJrrSWfKmurstQqTDkfyPU="; + x86_64-linux = "sha256-kVD0aVfhqM1ZhFhyVcZ6teF3SM2GleY4BdsRXdxu1r4="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; From 13546ce45fe83f27a048ac8846a280872c34b3f2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 06:41:25 +0000 Subject: [PATCH 221/332] redpanda-client: 25.3.1 -> 25.3.2 --- pkgs/by-name/re/redpanda-client/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/redpanda-client/package.nix b/pkgs/by-name/re/redpanda-client/package.nix index 1fca7e83bbb7..f5db9cf24a42 100644 --- a/pkgs/by-name/re/redpanda-client/package.nix +++ b/pkgs/by-name/re/redpanda-client/package.nix @@ -7,12 +7,12 @@ stdenv, }: let - version = "25.3.1"; + version = "25.3.2"; src = fetchFromGitHub { owner = "redpanda-data"; repo = "redpanda"; rev = "v${version}"; - sha256 = "sha256-/TodUIBsby4ewoyU72/5jHoBDoFHsSHqjJI7vtBlELU="; + sha256 = "sha256-mUIFPTh1VgXOfD6te0uHrhdGs00J0Hu6MXcR3g/6cZ8="; }; in buildGoModule rec { @@ -20,7 +20,7 @@ buildGoModule rec { inherit doCheck src version; modRoot = "./src/go/rpk"; runVend = false; - vendorHash = "sha256-6iyHM7SWqorjjebmZEJKzUU1w0waTywAY//UcfikdAo="; + vendorHash = "sha256-N/UCN0U/vTfYq91m3ehhtRvNxeoaGsLYQtnBUUZsU5U="; ldflags = [ ''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.version=${version}"'' From 7e104b6841cdccff15af7d469ab348459016d655 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 06:47:48 +0000 Subject: [PATCH 222/332] lefthook: 2.0.7 -> 2.0.12 --- pkgs/by-name/le/lefthook/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix index a5493eafe927..351f17e06ea8 100644 --- a/pkgs/by-name/le/lefthook/package.nix +++ b/pkgs/by-name/le/lefthook/package.nix @@ -8,7 +8,7 @@ let pname = "lefthook"; - version = "2.0.7"; + version = "2.0.12"; in buildGoModule { inherit pname version; @@ -17,10 +17,10 @@ buildGoModule { owner = "evilmartians"; repo = "lefthook"; rev = "v${version}"; - hash = "sha256-i+3D5nepZDfFQ1zl1ykefRFA0V5tiUEiqLO9BF+UyFc="; + hash = "sha256-Th3a5zUBrWbWHiKnoEwTA0TyZrhIQNnA/xgUrXandn8="; }; - vendorHash = "sha256-IUq2Qa26p7OP7Y78Cio3EvhMWD2VAN50wlBbk7AxZyo="; + vendorHash = "sha256-4xCee6g7NowAIskatPtJQi6UnlIfQlg43Q26TryhqcE="; nativeBuildInputs = [ installShellFiles ]; From 1976c89b3ac833c2c666b24cf894032c071b6b2e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 06:50:19 +0000 Subject: [PATCH 223/332] pocket-casts: 0.11.0 -> 0.11.1 --- pkgs/by-name/po/pocket-casts/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/pocket-casts/package.nix b/pkgs/by-name/po/pocket-casts/package.nix index 4054780d4718..c82de4cc0b35 100644 --- a/pkgs/by-name/po/pocket-casts/package.nix +++ b/pkgs/by-name/po/pocket-casts/package.nix @@ -12,16 +12,16 @@ let in buildNpmPackage rec { pname = "pocket-casts"; - version = "0.11.0"; + version = "0.11.1"; src = fetchFromGitHub { owner = "felicianotech"; repo = "pocket-casts-desktop-app"; rev = "v${version}"; - hash = "sha256-ZOOJAChKCLfwI8olQ2NSk8OaoEQ9wXNS6jwotc6fdnQ="; + hash = "sha256-UvsEyWYbohwzBPTbWjiQXQzwfEvqTEJAwbS6Oi6wtLg="; }; - npmDepsHash = "sha256-hSSo2Wv5UXoowt+1JuUQPWO4vI/FiICtscIFttOgniA="; + npmDepsHash = "sha256-Yo/vK7wtjSTXKAtm/Xr9HUPRsE4V1c9AfqlD6hnkH/Q="; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; From 824653c51f5458e3d183b8df0a5ebba1d2998099 Mon Sep 17 00:00:00 2001 From: Jonas Franke Date: Tue, 16 Dec 2025 10:13:05 +0100 Subject: [PATCH 224/332] Init valdi at 1.0.5 Pin packge to commit --- pkgs/by-name/va/valdi/package.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pkgs/by-name/va/valdi/package.nix diff --git a/pkgs/by-name/va/valdi/package.nix b/pkgs/by-name/va/valdi/package.nix new file mode 100644 index 000000000000..9a2074b1ab69 --- /dev/null +++ b/pkgs/by-name/va/valdi/package.nix @@ -0,0 +1,29 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: + +buildNpmPackage rec { + pname = "valdi"; + version = "1.0.5"; + + src = fetchFromGitHub { + owner = "Snapchat"; + repo = "Valdi"; + rev = "592fc9d13065022fc7da1f0c07928f1764062074"; + hash = "sha256-B0j4R07M9/nTf0RxnKEfv84B5Xh41cWLz9VgV9O4+VA="; + }; + + sourceRoot = "${src.name}/npm_modules/cli"; + + npmDepsHash = "sha256-LGgyMdhDQ4UwdtENZT/89yiQawn8SxKdth/p7evDAgk="; + + meta = with lib; { + description = "Cross-platform UI framework CLI by Snapchat"; + homepage = "https://github.com/Snapchat/Valdi"; + license = licenses.mit; + maintainers = with maintainers; [ jonasfranke ]; + mainProgram = "valdi"; + }; +} From 0201e6db12731dd58abd9b653b74c8872da8cf14 Mon Sep 17 00:00:00 2001 From: Jonas Franke Date: Thu, 18 Dec 2025 08:21:07 +0100 Subject: [PATCH 225/332] maintainers: add jonasfranke --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 03079082278c..14b65ecbe713 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12637,6 +12637,12 @@ name = "Jonas Wunderlich"; matrix = "@matrix:03j.de"; }; + jonasfranke = { + name = "Jonas Franke"; + email = "info@jonasfranke.xyz"; + github = "JonasFranke"; + githubId = 90050350; + }; jonathanmarler = { email = "johnnymarler@gmail.com"; github = "marler8997"; From 8dfb68a75fdf46aaf342b32a6e4065e2b8716cc6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 07:33:02 +0000 Subject: [PATCH 226/332] squeezelite: 2.0.0.1541 -> 2.0.0.1555 --- pkgs/by-name/sq/squeezelite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/squeezelite/package.nix b/pkgs/by-name/sq/squeezelite/package.nix index 7914973fba8e..9cfb835d4be7 100644 --- a/pkgs/by-name/sq/squeezelite/package.nix +++ b/pkgs/by-name/sq/squeezelite/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation { pname = binName; # versions are specified in `squeezelite.h` # see https://github.com/ralph-irving/squeezelite/issues/29 - version = "2.0.0.1541"; + version = "2.0.0.1555"; src = fetchFromGitHub { owner = "ralph-irving"; repo = "squeezelite"; - rev = "72e1fd8abfa9b2f8e9636f033247526920878718"; - hash = "sha256-1uzkf7vkzfHdsWvWcXnUv279kgtzrHLU0hAPaTKRWI8="; + rev = "1e8fb181366467b6c4046119eedb821e4a5f9adb"; + hash = "sha256-H4IVwe6b0TDxJ+27XXPvUt5iqnc/CGwQ7NLWrIxjsUM="; }; buildInputs = [ From 4a8e9138110ba55698577c41c207088f1ef91bc3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 07:43:06 +0000 Subject: [PATCH 227/332] python3Packages.brax: 0.13.0 -> 0.14.0 --- pkgs/development/python-modules/brax/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/brax/default.nix b/pkgs/development/python-modules/brax/default.nix index 3af04fe0b318..f5089aa16ece 100644 --- a/pkgs/development/python-modules/brax/default.nix +++ b/pkgs/development/python-modules/brax/default.nix @@ -38,14 +38,14 @@ buildPythonPackage rec { pname = "brax"; - version = "0.13.0"; + version = "0.14.0"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "brax"; tag = "v${version}"; - hash = "sha256-mSFbFzSrfAvAE6y7atUeucUkpp/20KP70j5xPm/xvB0="; + hash = "sha256-CkRXEYtlP8IhEZ7lVnpxlwiyLdICAfILwHfRUfuub08="; }; build-system = [ From 3b6d367008b4d65b3ff34550c81b1ae7d99db161 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 08:50:16 +0100 Subject: [PATCH 228/332] python313Packages.iamdata: 0.1.202512171 -> 0.1.202512181 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202512171...v0.1.202512181 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202512181 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 601f6f392aac..7c7684cd07d1 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "iamdata"; - version = "0.1.202512171"; + version = "0.1.202512181"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${version}"; - hash = "sha256-VQ97KOd05h1CYTSi554jVrKPtiDN6IAqnq86qHvULdI="; + hash = "sha256-DcDoFNfPZoZnBilBhfdoV0SnmLDyL0gmF+3joWLoZFI="; }; __darwinAllowLocalNetworking = true; From 1024aec3612fe23f056b9abfab9b81e335b15024 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:05 +0100 Subject: [PATCH 229/332] python312Packages.mypy-boto3-guardduty: 1.42.6 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 49000086bde2..fc978e26e4b3 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -593,8 +593,8 @@ in "sha256-BrtHCaCwsfpaB5GA9kEhCFapQceZsjpyv3HVgpXUOFA="; mypy-boto3-guardduty = - buildMypyBoto3Package "guardduty" "1.42.6" - "sha256-Wt++1dfId2tV74JssQK0iNv8jgyEfc1i0y5rUgtPecM="; + buildMypyBoto3Package "guardduty" "1.42.12" + "sha256-TPr4NaYxmjrUisu3CiZcwtrhC9xjauPpXJd4x8qBuxo="; mypy-boto3-health = buildMypyBoto3Package "health" "1.42.10" From e147ca9a67ef49f53aae6c0b991982206b84881d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:15 +0100 Subject: [PATCH 230/332] python312Packages.mypy-boto3-kafkaconnect: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index fc978e26e4b3..0e9499991cd2 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -713,8 +713,8 @@ in "sha256-N21GfynAZdHOQnQgKcA9mJMWDfbN/pBfx509W4XDGjU="; mypy-boto3-kafkaconnect = - buildMypyBoto3Package "kafkaconnect" "1.42.3" - "sha256-P6wj5rx+bELx4TVmTqj8pOfnT3K9s/8GgAF9bpFPnE4="; + buildMypyBoto3Package "kafkaconnect" "1.42.12" + "sha256-CdqSbNGUfeYz76BipvPsF+8j7hFOHJSSgXgcr2BEDUY="; mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.42.3" From 7116f1aa83b6c157f2dd13def7719cd7e7d51c9e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:27 +0100 Subject: [PATCH 231/332] python312Packages.mypy-boto3-mediaconvert: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 0e9499991cd2..5c93e66abec6 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -861,8 +861,8 @@ in "sha256-NcDxuCqZqbynRmVPzmCNQpGml6tXBaZzTjlqqnTw+RI="; mypy-boto3-mediaconvert = - buildMypyBoto3Package "mediaconvert" "1.42.3" - "sha256-mQMV9CW9e0eKnkIacV/gcdkOfDSrIOCk+MFqXag9pxQ="; + buildMypyBoto3Package "mediaconvert" "1.42.12" + "sha256-aRL46lVNdGu/D0xioGFn/pVUioEiLm8+5XTgUPHqguo="; mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.42.3" From ce3a9a8c996ebac25792fed83e77755476a99b1b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:29 +0100 Subject: [PATCH 232/332] python312Packages.mypy-boto3-mediapackagev2: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 5c93e66abec6..905f2a8ccaf7 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -877,8 +877,8 @@ in "sha256-ZbxRVZaTcS4k2d0+qAT8GOK5tieYduZ4FqXd/k+CElk="; mypy-boto3-mediapackagev2 = - buildMypyBoto3Package "mediapackagev2" "1.42.3" - "sha256-/rmTQqf5hXJM5JZQg5LeJ8OTeqsk0RxUJBzVGkGYjyQ="; + buildMypyBoto3Package "mediapackagev2" "1.42.12" + "sha256-29Et9fpHzmYz9kL9us/x9Tt8Nq7WQC3UWb5jBmPUOUI="; mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.42.3" From d555f05e0ca2d3c4e1509fb0be1a38e8c32e2314 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:39 +0100 Subject: [PATCH 233/332] python312Packages.mypy-boto3-payment-cryptography: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 905f2a8ccaf7..afe7d0703e53 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1001,8 +1001,8 @@ in "sha256-ynBHsnTvNz9G8sM9d88RI31ZMl0UzBgIz3ONEsJ+aHA="; mypy-boto3-payment-cryptography = - buildMypyBoto3Package "payment-cryptography" "1.42.3" - "sha256-5IcLMUEVTNDXyQ2m0rSuE+atxInpG1SZ5LI/YEKuwxs="; + buildMypyBoto3Package "payment-cryptography" "1.42.12" + "sha256-MpksWgEGbXdbgF2r6CKcEZif7zzFNqmLrsbvETJAAXc="; mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.42.3" From 9d47a01ad344e4c08cf32243a8526134402aaf27 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:40 +0100 Subject: [PATCH 234/332] python312Packages.mypy-boto3-payment-cryptography-data: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index afe7d0703e53..565592b5a415 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1005,8 +1005,8 @@ in "sha256-MpksWgEGbXdbgF2r6CKcEZif7zzFNqmLrsbvETJAAXc="; mypy-boto3-payment-cryptography-data = - buildMypyBoto3Package "payment-cryptography-data" "1.42.3" - "sha256-ZuUoqs/aaXeieXwMwMUbQHRwAYkowcFS/KJHMMSLcSY="; + buildMypyBoto3Package "payment-cryptography-data" "1.42.12" + "sha256-6DvE6qkfAHVvo0xDDA+w1bMacVqejk4kN2a0CiTbP3M="; mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.42.3" From 550d8696693c0b71f0334a8c790462c2a9bd6d38 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:02:53 +0100 Subject: [PATCH 235/332] python312Packages.mypy-boto3-sagemaker: 1.42.3 -> 1.42.12 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 565592b5a415..bcf9599d46cd 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1173,8 +1173,8 @@ in "sha256-juVfwdjPDNPaT5tvyXpzDtomugqxeu++AERLkVtFIxw="; mypy-boto3-sagemaker = - buildMypyBoto3Package "sagemaker" "1.42.3" - "sha256-zLVZat92f9tuuikz9rrfAbYFO66ZKkWgJabljitb1Zg="; + buildMypyBoto3Package "sagemaker" "1.42.12" + "sha256-KILYAFD23VrtKZDwO+6Hc0/qclBqBY68BsHKJl8GyOA="; mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.42.3" From 2a678f8e51fe4b1835e78f8eee9bd6eaeb398513 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:03:15 +0100 Subject: [PATCH 236/332] python313Packages.botocore-stubs: 1.42.11 -> 1.42.12 --- pkgs/development/python-modules/botocore-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index 91a0df6969d3..827faeaab47f 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.42.11"; + version = "1.42.12"; pyproject = true; src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-wrrJINjDAuFea+yVk9rq8Ed3cU+DCf4FL9JM8o64WnY="; + hash = "sha256-DqrIhSRBeU8UvbgjsLDcHHIgzwJOUGAx1eDSxIVeJ38="; }; nativeBuildInputs = [ setuptools ]; From fd8651e6616862e9a8308160434c3e08b803ea23 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 09:03:21 +0100 Subject: [PATCH 237/332] python313Packages.boto3-stubs: 1.42.11 -> 1.42.12 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index fc8f98bcc955..10253a297178 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.42.11"; + version = "1.42.12"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-nb7AAYT3Abn7vy81VKuWtc2L0YVL91mdGRfGWdSI+GQ="; + hash = "sha256-GKmpcP2diGdVjwkWCPLZlE1vVRQ9I8sReF8cFD2RqlQ="; }; build-system = [ setuptools ]; From 0bb8bff182e73867a147334fb90cf9ad1b5b0f08 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 08:30:13 +0000 Subject: [PATCH 238/332] uuu: 1.5.239 -> 1.5.243 --- pkgs/by-name/uu/uuu/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/uu/uuu/package.nix b/pkgs/by-name/uu/uuu/package.nix index ab274b08ac93..d83d75ac315f 100644 --- a/pkgs/by-name/uu/uuu/package.nix +++ b/pkgs/by-name/uu/uuu/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uuu"; - version = "1.5.239"; + version = "1.5.243"; src = fetchFromGitHub { owner = "nxp-imx"; repo = "mfgtools"; rev = "uuu_${finalAttrs.version}"; - hash = "sha256-oeT58SO8aDwqiKbi9v7R+sclinTH8+x9XoQSOCnXCt8="; + hash = "sha256-+m3r/QxOnTjemqIaZ/2cxDHtHlw7qxu9PbTsQYyMaEY="; }; passthru.updateScript = nix-update-script { From e0ec52272b52a336f98b1d99fcefe3871bf1b0fc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 08:35:41 +0000 Subject: [PATCH 239/332] python3Packages.pystac: 1.14.1 -> 1.14.2 --- pkgs/development/python-modules/pystac/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pystac/default.nix b/pkgs/development/python-modules/pystac/default.nix index f2e22ee7735b..7018e3f34bfb 100644 --- a/pkgs/development/python-modules/pystac/default.nix +++ b/pkgs/development/python-modules/pystac/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "pystac"; - version = "1.14.1"; + version = "1.14.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "stac-utils"; repo = "pystac"; tag = "v${version}"; - hash = "sha256-k2w/Se/XdPLZQ69TQkIomPsI6uiM+dO2H2HQ3fvPyF0="; + hash = "sha256-lSwapIOoZfI9m7BRVQVD8DS7+N+zieOiuvgwflt/bZw="; }; build-system = [ setuptools ]; From 42bbbc2e5836895cbc3a7f940d0e9c69c0ba3617 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 16 Nov 2025 21:28:07 +0100 Subject: [PATCH 240/332] lobtui: init at 0.3.1 Signed-off-by: Matthias Beyer --- pkgs/by-name/lo/lobtui/package.nix | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/lo/lobtui/package.nix diff --git a/pkgs/by-name/lo/lobtui/package.nix b/pkgs/by-name/lo/lobtui/package.nix new file mode 100644 index 000000000000..67c8d974d7ca --- /dev/null +++ b/pkgs/by-name/lo/lobtui/package.nix @@ -0,0 +1,40 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, +}: + +rustPlatform.buildRustPackage rec { + pname = "lobtui"; + version = "0.3.1"; + + src = fetchFromGitHub { + owner = "pythops"; + repo = "lobtui"; + rev = "v${version}"; + hash = "sha256-Ig/KdCuQZYSiCydouN29IsIRKh8qngtzcOknTozDRRM="; + }; + + cargoHash = "sha256-Cj6hf/dizIv2pKbQvyRqqIz5k3AW3cdfpCaIHvk8G9o="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + meta = { + description = "TUI for lobste.rs website"; + homepage = "https://github.com/pythops/lobtui"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + matthiasbeyer + ]; + mainProgram = "lobtui"; + platforms = lib.platforms.linux; + }; +} From dc22cb118a02a2fa294b0648627da1befe2b21fa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 09:03:22 +0000 Subject: [PATCH 241/332] windsurf: 1.12.43 -> 1.12.47 --- pkgs/by-name/wi/windsurf/info.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/wi/windsurf/info.json b/pkgs/by-name/wi/windsurf/info.json index 18789b43ec93..a7f434521e5d 100644 --- a/pkgs/by-name/wi/windsurf/info.json +++ b/pkgs/by-name/wi/windsurf/info.json @@ -1,20 +1,20 @@ { "aarch64-darwin": { - "version": "1.12.43", + "version": "1.12.47", "vscodeVersion": "1.106.0", - "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/8b6a7c68fb76075b29a085605ef19c1d660a258e/Windsurf-darwin-arm64-1.12.43.zip", - "sha256": "17c080308b63ee72ba70655082f0a9e586755cc6616038b72d2b362450bc7cad" + "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/8951cd3ad688e789573d7f51750d67ae4a0bea7d/Windsurf-darwin-arm64-1.12.47.zip", + "sha256": "92413d066d9e8dda8fc081a9a958508cf427a9457502b837c7516187c45b6523" }, "x86_64-darwin": { - "version": "1.12.43", + "version": "1.12.47", "vscodeVersion": "1.106.0", - "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/8b6a7c68fb76075b29a085605ef19c1d660a258e/Windsurf-darwin-x64-1.12.43.zip", - "sha256": "87d53b2dc977975a7876eaac3fe2306520e40ffb1e022dd11585ffedc68721c8" + "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/8951cd3ad688e789573d7f51750d67ae4a0bea7d/Windsurf-darwin-x64-1.12.47.zip", + "sha256": "35ab590001e5aed09d73056584a1df4f477e47105bb89aad920b1f481338f477" }, "x86_64-linux": { - "version": "1.12.43", + "version": "1.12.47", "vscodeVersion": "1.106.0", - "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/8b6a7c68fb76075b29a085605ef19c1d660a258e/Windsurf-linux-x64-1.12.43.tar.gz", - "sha256": "c7f3c83561e40c63b36eff39bcfe8591250e735da3ecc2b29c277b8e04856825" + "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/8951cd3ad688e789573d7f51750d67ae4a0bea7d/Windsurf-linux-x64-1.12.47.tar.gz", + "sha256": "6237203ae97062d57711f9cf2562b9aea4d268cd930d9d0c7fd0c4d9c9d89cb3" } } From 147b2e7a9b859318076d0d0c00f94da2bde8dfa4 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 26 Oct 2025 08:47:23 +0100 Subject: [PATCH 242/332] dl-librescore: 0.35.32 -> 0.35.34 Signed-off-by: Matthias Beyer --- pkgs/by-name/dl/dl-librescore/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dl/dl-librescore/package.nix b/pkgs/by-name/dl/dl-librescore/package.nix index 1e8eec2e44a2..a4c46207bc54 100644 --- a/pkgs/by-name/dl/dl-librescore/package.nix +++ b/pkgs/by-name/dl/dl-librescore/package.nix @@ -10,16 +10,16 @@ buildNpmPackage rec { pname = "dl-librescore"; - version = "0.35.32"; + version = "0.35.34"; src = fetchFromGitHub { owner = "LibreScore"; repo = "dl-librescore"; rev = "v${version}"; - hash = "sha256-qFAJlcyvH0lShaZKIAJkXqrY0DRaUvr8V9Ipch1A3kw="; + hash = "sha256-IuHX4wFhilSK09WWNopHtkAfd9Mm2oo5M2m4KcRkCBE="; }; - npmDepsHash = "sha256-JLB/+arhAzRj49m4kDCasDXEhVIBygSZ9kHI2npJf3s="; + npmDepsHash = "sha256-DCjN9x6sjw66UIATxhRclJpz6v/1ZVUiGqlbZUDMpBY="; patches = [ # https://github.com/LibreScore/dl-librescore/pull/144 From f654f425d8bd6b22e166889e32d746e69ac27953 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Thu, 18 Dec 2025 10:04:55 +0100 Subject: [PATCH 243/332] ty: 0.0.2 -> 0.0.3 Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.3 Diff: https://github.com/astral-sh/ty/compare/0.0.2...0.0.3 --- pkgs/by-name/ty/ty/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index d8329901eff8..48b7bb54128c 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.2"; + version = "0.0.3"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-4Kv3UUn2QbOOOaQ/uzJB2KOUx++Gb+cKpZg4kGx99Q0="; + hash = "sha256-Vox6ex1kU4h3HWKcF58dzywIjqBHxMzJPYpT/9tuzBE="; }; # For Darwin platforms, remove the integration test for file notifications, From a9bd8c12c8c8962ea89bcc94947eec38dccfd346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 18 Dec 2025 09:05:00 +0000 Subject: [PATCH 244/332] claude-code: 2.0.71 -> 2.0.72 --- pkgs/by-name/cl/claude-code/package-lock.json | 4 ++-- pkgs/by-name/cl/claude-code/package.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index e9f4863a8962..19f1a3c41c4c 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.0.71", + "version": "2.0.72", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@anthropic-ai/claude-code", - "version": "2.0.71", + "version": "2.0.72", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index 36bf5792f78e..c1c109fc8edb 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -11,14 +11,14 @@ }: buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "2.0.71"; + version = "2.0.72"; src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-krbaIy1KfmbwroQRZpGR6bOYNc2l/GZKjhavmiwVCms="; + hash = "sha256-xa9etUBw1UIoHc44ypQ83PQKVNC0KS/DGwnZrvW9ero="; }; - npmDepsHash = "sha256-cio+ZkVIPIkxRXXQzwFYXr08OUEBVJpRjtvmJLcH3Ag="; + npmDepsHash = "sha256-fUxOINLRXoXYyQzxmo2vtolzMr7mBIAct9hwNOAhNdg="; postPatch = '' cp ${./package-lock.json} package-lock.json From 108deebb386eb34c3d399fe21484bcc85d6e9267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 18 Dec 2025 09:05:09 +0000 Subject: [PATCH 245/332] vscode-extensions.anthropic.claude-code: 2.0.72 -> 2.0.73 --- .../vscode/extensions/anthropic.claude-code/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index 22af4b55c4f7..bb8a63e58c36 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; - version = "2.0.72"; - hash = "sha256-nfzcm8lEtZl3vD129rtpV4Oc5vKW7SKyZHfFg1jd8hU="; + version = "2.0.73"; + hash = "sha256-JmhdWX0ukTjb45dydLmKF1UAX1RMc89izgvuMtmdiUI="; }; meta = { From 6e4ea1fdbb2adc2bf86995ce5263797914e53e62 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 10:07:44 +0000 Subject: [PATCH 246/332] spicetify-cli: 2.42.4 -> 2.42.6 --- pkgs/by-name/sp/spicetify-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sp/spicetify-cli/package.nix b/pkgs/by-name/sp/spicetify-cli/package.nix index 5ef4e17376cf..1e3a6e1d7c18 100644 --- a/pkgs/by-name/sp/spicetify-cli/package.nix +++ b/pkgs/by-name/sp/spicetify-cli/package.nix @@ -7,16 +7,16 @@ }: buildGoModule (finalAttrs: { pname = "spicetify-cli"; - version = "2.42.4"; + version = "2.42.6"; src = fetchFromGitHub { owner = "spicetify"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-JOAw2GEHGr7eIIZtoAeKFqde1L7TidbyvRv1kAcUm2w="; + hash = "sha256-IGbe9kD04Dy70sejn84tEz+WB0oFhviZA9WZXlZlxkU="; }; - vendorHash = "sha256-DiVu/ePiZvn9+B/r8LS0qLt8eXKAtg4IXZ1WRzzAvcE="; + vendorHash = "sha256-7Dk4tTyVgnNgDECYj24Uy4xavWkVVxWE8uZlkKsFobI="; postPatch = '' substituteInPlace src/preprocess/preprocess.go \ From f606cd91a01d50e16ef094ef3f265e3cd6ce1414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 16 Dec 2025 01:19:14 +0100 Subject: [PATCH 247/332] n8n: fix hash --- pkgs/by-name/n8/n8n/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index 033f3b070709..a036586494d7 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "n8n-io"; repo = "n8n"; tag = "n8n@${finalAttrs.version}"; - hash = "sha256-B1YL/kGYKHKZ8l50UGDiGwkYedvlYobW9QZzx2FwjDY="; + hash = "sha256-3vXJnLqQz60Sq1A8lLW0x6xAoN3DneFYVsaHAD0nzng="; }; pnpmDeps = pnpm_10.fetchDeps { From 03ced8646b3ea8835af63c846165fd444440b556 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 13:25:17 +0300 Subject: [PATCH 248/332] bcachefs-tools: 1.33.1 -> 1.33.2 Diff: https://github.com/koverstreet/bcachefs-tools/compare/v1.33.1...v1.33.2 --- pkgs/by-name/bc/bcachefs-tools/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 5ee6afb93623..d2c25c3a33ec 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -28,13 +28,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "1.33.1"; + version = "1.33.2"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; tag = "v${finalAttrs.version}"; - hash = "sha256-t5dJSTkv12pfWH7TV/PKpgMdyML+Y7y3P30NmW2H7C8="; + hash = "sha256-L7Ir5oOKMxgHWxdRBhM9VVGWMu/ePmezkUy4pHoMB2M="; }; cargoDeps = rustPlatform.fetchCargoVendor { From 4b664e922f03afc676b86b6090b2aa1b77c6577c Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 13:29:41 +0300 Subject: [PATCH 249/332] kdePackages.kirigami: backport another rendering fix --- pkgs/kde/frameworks/kirigami/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/kde/frameworks/kirigami/default.nix b/pkgs/kde/frameworks/kirigami/default.nix index 39b7f8dca2db..182146da06cf 100644 --- a/pkgs/kde/frameworks/kirigami/default.nix +++ b/pkgs/kde/frameworks/kirigami/default.nix @@ -27,6 +27,10 @@ let url = "https://invent.kde.org/frameworks/kirigami/-/commit/19127672cd812d177192cf84da4107f9abed2934.diff"; hash = "sha256-dh1OwMTksbVTEsEDw4vfBarR3fyBaulQa8SSHsddht0="; }) + (fetchpatch { + url = "https://invent.kde.org/frameworks/kirigami/-/commit/d13c1cb97313947f7f0e43f54585a83286604370.diff"; + hash = "sha256-xAm08K1slaUhHT1aPl8n9Hz0EMlAlVSRYA0iHRhH36c="; + }) ]; extraNativeBuildInputs = [ From 45fa51df740325f9039a4e64998d5ffa43b3ec53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 18 Dec 2025 11:30:45 +0100 Subject: [PATCH 250/332] exim: 4.99 -> 4.99.1 --- pkgs/by-name/ex/exim/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ex/exim/package.nix b/pkgs/by-name/ex/exim/package.nix index 2ee910bcb939..b7774c1925a9 100644 --- a/pkgs/by-name/ex/exim/package.nix +++ b/pkgs/by-name/ex/exim/package.nix @@ -39,11 +39,11 @@ let in stdenv.mkDerivation rec { pname = "exim"; - version = "4.99"; + version = "4.99.1"; src = fetchurl { url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz"; - hash = "sha256-XfOLBC/6mpyNMbILyEgVWAcONhsG9ldghiKmKjJ63Lo="; + hash = "sha256-6ulnvUml+HmTO4xuyIwwR1ocZkYjITXzfwW1XbxONEc="; }; enableParallelBuilding = true; From cdc8020b2b327be5338edef9935b01a21ca76de2 Mon Sep 17 00:00:00 2001 From: liberodark Date: Thu, 18 Dec 2025 11:38:02 +0100 Subject: [PATCH 251/332] rundeck: 5.17.0 -> 5.18.0 --- pkgs/by-name/ru/rundeck/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ru/rundeck/package.nix b/pkgs/by-name/ru/rundeck/package.nix index ff338d4480df..01a0ab82591d 100644 --- a/pkgs/by-name/ru/rundeck/package.nix +++ b/pkgs/by-name/ru/rundeck/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "rundeck"; - version = "5.17.0-20251103"; + version = "5.18.0-20251216"; src = fetchurl { url = "https://packagecloud.io/pagerduty/rundeck/packages/java/org.rundeck/rundeck-${finalAttrs.version}.war/artifacts/rundeck-${finalAttrs.version}.war/download?distro_version_id=167"; - hash = "sha256-Bw/aLsJ65BSr1NDmOWanOm6lsClaYpKdmeGpYiO0KNc="; + hash = "sha256-VCxOD54gMgMSDhEgkDI1FDaK8RDGxKwtUwXrfK4JmpM="; }; nativeBuildInputs = [ makeWrapper ]; From 6a78bb1e05753459384c2cff1a4b1103fb6e20bc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 11:39:49 +0100 Subject: [PATCH 252/332] python313Packages.tencentcloud-sdk-python: 3.1.13 -> 3.1.14 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.13...3.1.14 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.14/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 9a7d00ee58b4..2e70055e79e9 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.1.13"; + version = "3.1.14"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-FGRoef5KloVuBlgBF2t4fyo1+cP5865oOrBZRoy2kQg="; + hash = "sha256-cWboLD9kjy7GZepBrIClnbSPto1lTyt0Rwj2AedoihY="; }; build-system = [ setuptools ]; From a452362c1bf0101e1a515f8182895e1ffa8c0d07 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 12:10:01 +0100 Subject: [PATCH 253/332] python313Packages.fastapi-sso: 0.18.0 -> 0.19.0 Diff: https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0 Changelog: https://github.com/tomasvotava/fastapi-sso/releases/tag/0.19.0 --- pkgs/development/python-modules/fastapi-sso/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-sso/default.nix b/pkgs/development/python-modules/fastapi-sso/default.nix index 7c12309312ce..d0abe2265f7c 100644 --- a/pkgs/development/python-modules/fastapi-sso/default.nix +++ b/pkgs/development/python-modules/fastapi-sso/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "fastapi-sso"; - version = "0.18.0"; + version = "0.19.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "tomasvotava"; repo = "fastapi-sso"; tag = version; - hash = "sha256-591+7Jjg3Pb0qXZsj4tEk8lHqxAzWrs5GO92jFJ4Qmo="; + hash = "sha256-ve1xeJjAfE6b5NBJJZuDUdE58RjDmIq3KI3xC5ScCco="; }; build-system = [ poetry-core ]; From db68acaf47aab6ae29344b50faf9e964ae6bf574 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 12:14:48 +0100 Subject: [PATCH 254/332] python313Packages.publicsuffixlist: 1.0.2.20251209 -> 1.0.2.20251217 Changelog: https://github.com/ko-zu/psl/blob/v1.0.2.20251217-gha/CHANGES.md --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 48391b04b586..77f19c3eefb9 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "publicsuffixlist"; - version = "1.0.2.20251209"; + version = "1.0.2.20251217"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-37hj0A37m8BxNAWWIpRoromnXWJUbqvOOOu9iw01DKk="; + hash = "sha256-9ejbvyQMukwcXUJv79coU2L7YEe8fA393cyBC6S2QCo="; }; postPatch = '' From 7f017d792acbab3e570181c8deba62fe79b37cec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 11:19:06 +0000 Subject: [PATCH 255/332] heh: 0.6.1 -> 0.6.2 --- pkgs/by-name/he/heh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/he/heh/package.nix b/pkgs/by-name/he/heh/package.nix index 65808d53dae3..28584adff38d 100644 --- a/pkgs/by-name/he/heh/package.nix +++ b/pkgs/by-name/he/heh/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "heh"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "ndd7xv"; repo = "heh"; rev = "v${version}"; - hash = "sha256-eqWBTylvXqGhWdSGHdTM1ZURSD5pkUBoBOvBJ5zmJ7w="; + hash = "sha256-Yjq4w0xaFNCKJBxXT9dXaJQQ9YYN/5DZ32DJgsvuIsU="; }; - cargoHash = "sha256-Sk/eL5Pza9L8GLBxqL9SqMT7KDWZenMjV+sGYaWUnzo="; + cargoHash = "sha256-D0rO/W37eEfstSUwCp42DC0bAyTbyXDGIZVdRbhP4gQ="; meta = { description = "Cross-platform terminal UI used for modifying file data in hex or ASCII"; From 96b408c71bf84ab168a98525db0c7ba22a04f211 Mon Sep 17 00:00:00 2001 From: Haonan Chen Date: Sat, 13 Dec 2025 15:54:18 +0800 Subject: [PATCH 256/332] nixos/slurm: fix wrapper and refactor --- .../services/computing/slurm/slurm.nix | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 4d01d4533f67..822e455ea50b 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -336,31 +336,27 @@ in config = let - wrappedSlurm = pkgs.stdenv.mkDerivation { - name = "wrappedSlurm"; + wrappedSlurm = pkgs.runCommand "wrappedSlurm" { } '' + mkdir -p $out/bin + find ${lib.getBin cfg.package}/bin -type f -executable | while read EXE + do + exename="$(basename $EXE)" + wrappername="$out/bin/$exename" + cat > "$wrappername" < "$wrappername" < Date: Thu, 18 Dec 2025 11:22:42 +0000 Subject: [PATCH 257/332] super-productivity: 16.5.5 -> 16.6.1 --- pkgs/by-name/su/super-productivity/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/su/super-productivity/package.nix b/pkgs/by-name/su/super-productivity/package.nix index b4d163e4626f..c0415c7fa169 100644 --- a/pkgs/by-name/su/super-productivity/package.nix +++ b/pkgs/by-name/su/super-productivity/package.nix @@ -16,13 +16,13 @@ let in buildNpmPackage rec { pname = "super-productivity"; - version = "16.5.5"; + version = "16.6.1"; src = fetchFromGitHub { owner = "johannesjo"; repo = "super-productivity"; tag = "v${version}"; - hash = "sha256-0V68wkkuyOFcv4Wl2Kqk4Soa/nOB7CizelYyI0TKU+8="; + hash = "sha256-8FTgwyZOc/klAis+h5GG0lb1Rk/tvZpMeLuqWhAL4gI="; postFetch = '' find $out -name package-lock.json -exec ${lib.getExe npm-lockfile-fix} -r {} \; @@ -65,7 +65,7 @@ buildNpmPackage rec { dontInstall = true; outputHashMode = "recursive"; - hash = "sha256-gsGzwwzt54Ww9CyHaHVAM4v1mHM2vQePw5vM8x1EGao="; + hash = "sha256-BM1l3V1vDIbm0GGc5pc66Nsx3fqhqZLE9xI+LuI5KWA="; } ); From d764d5d4ba0def511db0a3b182d61a7258d18db3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 18 Dec 2025 12:22:44 +0100 Subject: [PATCH 258/332] python313Packages.ttls: 1.9.0 -> 1.10.0 Changelog: https://github.com/jschlyter/ttls/blob/v1.10.0/CHANGES.md --- .../python-modules/ttls/default.nix | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/ttls/default.nix b/pkgs/development/python-modules/ttls/default.nix index 4f6faef5574a..7a1cc3be459f 100644 --- a/pkgs/development/python-modules/ttls/default.nix +++ b/pkgs/development/python-modules/ttls/default.nix @@ -3,30 +3,29 @@ aiohttp, buildPythonPackage, fetchFromGitHub, - poetry-core, - pythonOlder, + hatchling, + uv-dynamic-versioning, }: buildPythonPackage rec { pname = "ttls"; - version = "1.9.0"; + version = "1.10.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "jschlyter"; repo = "ttls"; tag = "v${version}"; - hash = "sha256-itGXZbQZ+HYpiwySLeGN3mPy3fgsxx0A9byOxIVpRBc="; + hash = "sha256-ETqjL7pl/FekzMusBtq8jMr72/j7Dy/zadcObSNaKqU="; }; - build-system = [ poetry-core ]; - - dependencies = [ - aiohttp + build-system = [ + hatchling + uv-dynamic-versioning ]; + dependencies = [ aiohttp ]; + # Module has no tests doCheck = false; @@ -34,10 +33,10 @@ buildPythonPackage rec { meta = { description = "Module to interact with Twinkly LEDs"; - mainProgram = "ttls"; homepage = "https://github.com/jschlyter/ttls"; - changelog = "https://github.com/jschlyter/ttls/blob/v${version}/CHANGES.md"; + changelog = "https://github.com/jschlyter/ttls/blob/${src.tag}/CHANGES.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; + mainProgram = "ttls"; }; } From 65b04e5fb8458d0a8710e5fbb379ac8489f01505 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Tue, 9 Dec 2025 23:54:17 +0100 Subject: [PATCH 259/332] treewide: migrate to fetchPnpmDeps and pnpmConfigHook This moves all packages to the new top-level attributes introduced previously. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- .../audio/youtube-music/default.nix | 11 +++++++---- .../extensions/eamodio.gitlens/default.nix | 6 ++++-- .../extensions/kilocode.kilo-code/default.nix | 6 ++++-- .../rooveterinaryinc.roo-cline/default.nix | 6 ++++-- .../node/fetch-pnpm-deps/default.nix | 2 +- pkgs/build-support/teleport/default.nix | 14 +++++++++++--- pkgs/by-name/ao/aonsoku/package.nix | 9 ++++++--- pkgs/by-name/ap/apache-answer/package.nix | 7 +++++-- pkgs/by-name/ar/artalk/package.nix | 8 ++++++-- .../as/astro-language-server/package.nix | 9 ++++++--- pkgs/by-name/at/atuin-desktop/package.nix | 7 +++++-- pkgs/by-name/au/autobrr/package.nix | 8 ++++++-- pkgs/by-name/au/autoprefixer/package.nix | 8 ++++++-- pkgs/by-name/ba/backrest/package.nix | 8 ++++++-- .../ba/bash-language-server/package.nix | 9 ++++++--- pkgs/by-name/bl/bluesky-pds/package.nix | 8 ++++++-- pkgs/by-name/bu/bumpp/package.nix | 12 ++++++------ pkgs/by-name/ca/cargo-tauri/test-app.nix | 13 ++++++------- pkgs/by-name/cd/cdxgen/package.nix | 9 ++++++--- pkgs/by-name/ch/changelogen/package.nix | 12 ++++++------ pkgs/by-name/cl/clash-verge-rev/unwrapped.nix | 15 +++++++++++---- .../by-name/cl/claude-code-router/package.nix | 16 ++++++++++------ pkgs/by-name/co/coc-cmake/package.nix | 8 ++++++-- pkgs/by-name/co/concurrently/package.nix | 12 ++++++------ .../co/conventional-changelog-cli/package.nix | 7 +++++-- pkgs/by-name/cs/cspell/package.nix | 9 ++++++--- pkgs/by-name/da/daed/package.nix | 14 +++++++++++--- .../de/deadlock-mod-manager/package.nix | 9 ++++++--- pkgs/by-name/de/deltachat-desktop/package.nix | 9 ++++++--- pkgs/by-name/do/dorion/package.nix | 8 ++++++-- pkgs/by-name/e-/e-search/package.nix | 8 ++++++-- .../em/emmet-language-server/package.nix | 9 ++++++--- pkgs/by-name/en/en-croissant/package.nix | 15 +++++++++++---- pkgs/by-name/eq/equibop/package.nix | 9 ++++++--- pkgs/by-name/eq/equicord/package.nix | 8 ++++++-- pkgs/by-name/et/etherpad-lite/package.nix | 13 +++++++------ pkgs/by-name/fe/fedistar/package.nix | 12 ++++++------ pkgs/by-name/fe/feishin/package.nix | 17 ++++++++++------- pkgs/by-name/fi/filebrowser/package.nix | 10 ++++++---- .../fi/firezone-gui-client/package.nix | 8 ++++++-- pkgs/by-name/fi/firezone-server/package.nix | 8 +++++--- pkgs/by-name/fl/flood/package.nix | 15 +++++++++++---- pkgs/by-name/fo/folo/package.nix | 14 +++++++++++--- pkgs/by-name/fr/froide/package.nix | 7 +++++-- pkgs/by-name/ga/gale/package.nix | 9 ++++++--- pkgs/by-name/ga/garage-webui/package.nix | 11 ++++++----- pkgs/by-name/gi/gitbutler/package.nix | 12 +++++++----- pkgs/by-name/gi/gitea/package.nix | 7 +++++-- pkgs/by-name/gi/gitify/package.nix | 9 ++++++--- pkgs/by-name/go/goofcord/package.nix | 10 +++++++--- pkgs/by-name/gu/gui-for-clash/package.nix | 8 ++++++-- pkgs/by-name/gu/gui-for-singbox/package.nix | 8 ++++++-- pkgs/by-name/he/heroic-unwrapped/package.nix | 8 ++++++-- pkgs/by-name/ho/homebox/package.nix | 7 +++++-- .../by-name/ho/homepage-dashboard/package.nix | 8 ++++++-- pkgs/by-name/ho/homer/package.nix | 10 ++++++---- pkgs/by-name/im/immich-cli/package.nix | 9 +++------ pkgs/by-name/im/immich-kiosk/package.nix | 19 +++++++++++++------ pkgs/by-name/im/immich/package.nix | 16 +++++++++------- pkgs/by-name/it/it-tools/package.nix | 14 +++++++++++--- pkgs/by-name/je/jellyseerr/package.nix | 8 ++++++-- pkgs/by-name/ka/karakeep/package.nix | 11 ++++++----- pkgs/by-name/le/legcord/package.nix | 7 +++++-- pkgs/by-name/me/memos/package.nix | 7 +++++-- pkgs/by-name/me/metacubexd/package.nix | 8 ++++++-- pkgs/by-name/mg/mgrep/package.nix | 7 +++++-- pkgs/by-name/mi/misskey/package.nix | 10 ++++++---- .../mo/modrinth-app-unwrapped/package.nix | 9 ++++++--- pkgs/by-name/mo/moonfire-nvr/package.nix | 8 ++++++-- pkgs/by-name/mo/moonlight/package.nix | 8 ++++++-- pkgs/by-name/n8/n8n/package.nix | 9 ++++++--- pkgs/by-name/ni/ni/package.nix | 12 ++++++------ pkgs/by-name/nr/nrm/package.nix | 7 +++++-- pkgs/by-name/oc/ocis/package.nix | 14 +++++++++++--- pkgs/by-name/oc/ocis/web.nix | 14 +++++++++++--- pkgs/by-name/op/opencloud/idp-web.nix | 9 ++++++--- pkgs/by-name/op/opencloud/web.nix | 9 ++++++--- pkgs/by-name/op/openlist/frontend.nix | 9 ++++++--- pkgs/by-name/ov/overlayed/package.nix | 9 ++++++--- pkgs/by-name/pa/paperless-ngx/package.nix | 7 +++++-- pkgs/by-name/pa/parca/package.nix | 8 ++++++-- pkgs/by-name/pg/pgrok/package.nix | 14 +++++++++++--- pkgs/by-name/pi/piped/package.nix | 18 ++++++++++++++---- pkgs/by-name/po/pocket-id/package.nix | 9 ++++++--- pkgs/by-name/po/podman-desktop/package.nix | 8 ++++++-- pkgs/by-name/po/porn-vault/package.nix | 9 ++++++--- pkgs/by-name/pr/prisma/package.nix | 9 ++++++--- pkgs/by-name/qu/quantframe/package.nix | 8 ++++++-- pkgs/by-name/qu/qui/package.nix | 8 ++++++-- pkgs/by-name/re/readest/package.nix | 9 ++++++--- pkgs/by-name/re/renovate/package.nix | 9 ++++++--- pkgs/by-name/rm/rmfakecloud/package.nix | 15 +++++++++++---- pkgs/by-name/rq/rquickshare/package.nix | 8 ++++++-- pkgs/by-name/rs/rsshub/package.nix | 11 ++++++----- .../sa/satisfactorymodmanager/package.nix | 14 +++++++++++--- pkgs/by-name/se/serve/package.nix | 9 ++++++--- pkgs/by-name/sf/sftool-gui/package.nix | 7 +++++-- pkgs/by-name/sh/shadcn/package.nix | 9 ++++++--- pkgs/by-name/sh/sharkey/package.nix | 9 ++++++--- pkgs/by-name/sh/shopify-cli/package.nix | 7 +++++-- pkgs/by-name/si/signal-desktop/package.nix | 14 ++++++++++---- .../si/signal-desktop/signal-sqlcipher.nix | 8 ++++++-- pkgs/by-name/si/siyuan/package.nix | 10 ++++++---- .../sk/sketchybar-app-font/package.nix | 9 ++++++--- pkgs/by-name/sl/slimevr/package.nix | 11 +++++++---- pkgs/by-name/sp/splayer/package.nix | 16 +++++++++++----- pkgs/by-name/st/stylelint-lsp/package.nix | 9 ++++++--- pkgs/by-name/sv/svelte-check/package.nix | 7 +++++-- .../sv/svelte-language-server/package.nix | 7 +++++-- pkgs/by-name/sy/synchrony/package.nix | 9 ++++++--- pkgs/by-name/sy/syncyomi/package.nix | 9 ++++++--- pkgs/by-name/ta/tabby-agent/package.nix | 8 ++++++-- .../tailwindcss-language-server/package.nix | 9 ++++++--- pkgs/by-name/ta/taler-wallet-core/package.nix | 8 ++++++-- pkgs/by-name/ta/taze/package.nix | 11 ++++++----- pkgs/by-name/te/textlint/package.nix | 9 ++++++--- pkgs/by-name/ts/tsx/package.nix | 14 +++++++++++--- pkgs/by-name/ty/typespec/package.nix | 7 +++++-- pkgs/by-name/um/umami/package.nix | 10 ++++++---- pkgs/by-name/ve/vencord/package.nix | 9 ++++++--- pkgs/by-name/ve/vesktop/package.nix | 8 ++++++-- pkgs/by-name/vi/vikunja/package.nix | 10 +++++++--- pkgs/by-name/vo/voicevox/package.nix | 12 ++++++------ pkgs/by-name/vt/vtsls/package.nix | 9 ++++++--- .../vu/vue-language-server/package.nix | 7 +++++-- pkgs/by-name/we/wealthfolio/package.nix | 9 ++++++--- pkgs/by-name/wo/wox/package.nix | 8 ++++++-- pkgs/by-name/wr/wrangler/package.nix | 8 ++++++-- pkgs/by-name/za/zammad/package.nix | 8 ++++++-- pkgs/by-name/za/zashboard/package.nix | 9 ++++++--- pkgs/by-name/ze/zenn-cli/package.nix | 11 +++++++++-- pkgs/by-name/zi/zigbee2mqtt/package.nix | 12 ++++++------ pkgs/by-name/zi/zipline/package.nix | 8 ++++++-- .../django-filingcabinet/default.nix | 7 +++++-- .../python-modules/gradio/default.nix | 15 +++++++++++---- .../python-modules/yt-dlp-ejs/default.nix | 7 +++++-- .../woodpecker/webui.nix | 7 +++++-- pkgs/development/tools/pnpm/generic.nix | 2 +- pkgs/servers/authelia/default.nix | 12 +++++++++++- pkgs/servers/authelia/web.nix | 8 ++++++-- .../custom-sidebar/package.nix | 7 +++++-- pkgs/servers/web-apps/discourse/default.nix | 8 ++++++-- pkgs/servers/web-apps/lemmy/ui.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 7 +------ 144 files changed, 937 insertions(+), 441 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index 4c5af2ba3914..a50a0b6c665b 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -7,11 +7,12 @@ python3, copyDesktopItems, nodejs, - pnpm, + pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, makeDesktopItem, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "youtube-music"; version = "3.11.0"; @@ -28,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { ./fix-mpris-desktop-entry.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-xZQ8rnLGD0ZxxUUPLHmNJ6mA+lnUHCTBvtJTiIPxaZU="; }; @@ -38,7 +40,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper python3 nodejs - pnpm.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; diff --git a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix index 58b4d0d6b75e..32464beea3df 100644 --- a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix +++ b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix @@ -4,6 +4,8 @@ stdenv, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -22,7 +24,7 @@ let hash = "sha256-9XEv50WIG1BJenY9MswES6d72Ead2VqW5dgBr7Eu8ek="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-QHITHoaz/lzZ3Th/YPlQayFMU9rtlnAZWEYkLyBuAkc="; @@ -36,7 +38,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix index 5d5be77b0683..372aefec9046 100644 --- a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix @@ -3,6 +3,8 @@ stdenvNoCC, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -21,7 +23,7 @@ let hash = "sha256-Dy0dd07pWsSbrO6BX7GEYf7CunXD0itaeIFRv9mQJks="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-hxgzmJD+Sl7E+ape1M1/Xl8XLtAhtht3AE45zHFctsQ="; @@ -29,7 +31,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index 411e2563a079..5244d4dd10ce 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -3,6 +3,8 @@ stdenvNoCC, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, vscode-utils, nix-update-script, @@ -21,7 +23,7 @@ let hash = "sha256-YO3TxKcCDoIJeBoMGFFrHUp6lne1e84Tf1I2vHF6w1c="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-k6Bw6MlFDNPNPdaKJ7tW8wje2j9LJvREtlAWyySnOC0="; @@ -29,7 +31,7 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook pnpm ]; diff --git a/pkgs/build-support/node/fetch-pnpm-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix index 5bd934bdd6ab..d3ce1787aac4 100644 --- a/pkgs/build-support/node/fetch-pnpm-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -122,7 +122,7 @@ in --registry="$NIX_NPM_REGISTRY" \ --frozen-lockfile - # Store newer fetcherVersion in case pnpm.configHook also needs it + # Store newer fetcherVersion in case pnpmConfigHook also needs it if [[ ${toString fetcherVersion} -gt 1 ]]; then echo ${toString fetcherVersion} > $out/.fetcher-version fi diff --git a/pkgs/build-support/teleport/default.nix b/pkgs/build-support/teleport/default.nix index a975484b1a73..b2be345ecfc8 100644 --- a/pkgs/build-support/teleport/default.nix +++ b/pkgs/build-support/teleport/default.nix @@ -11,6 +11,8 @@ openssl, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, rustc, stdenv, xdg-utils, @@ -73,8 +75,13 @@ let hash = cargoHash; }; - pnpmDeps = pnpm_10.fetchDeps { - inherit src pname version; + pnpmDeps = fetchPnpmDeps { + inherit + src + pname + version + ; + pnpm = pnpm_10; fetcherVersion = 2; hash = pnpmHash; }; @@ -83,7 +90,8 @@ let binaryen cargo nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 rustc rustc.llvmPackages.lld rustPlatform.cargoSetupHook diff --git a/pkgs/by-name/ao/aonsoku/package.nix b/pkgs/by-name/ao/aonsoku/package.nix index d4ba656cc0ab..c3e14803bb14 100644 --- a/pkgs/by-name/ao/aonsoku/package.nix +++ b/pkgs/by-name/ao/aonsoku/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, wrapGAppsHook3, openssl, @@ -12,7 +14,6 @@ glib-networking, nix-update-script, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "aonsoku"; version = "0.9.1"; @@ -25,8 +26,9 @@ rustPlatform.buildRustPackage (finalAttrs: { }; # lockfileVersion: '6.0' need old pnpm - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-h1rcM+H2c0lk7bpGeQT5ue9bQIggrCFHkj4o7KxnH08="; }; @@ -40,7 +42,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 cargo-tauri.hook pkg-config wrapGAppsHook3 diff --git a/pkgs/by-name/ap/apache-answer/package.nix b/pkgs/by-name/ap/apache-answer/package.nix index 83e41338ce27..e4e19678f1b6 100644 --- a/pkgs/by-name/ap/apache-answer/package.nix +++ b/pkgs/by-name/ap/apache-answer/package.nix @@ -2,6 +2,8 @@ buildGoModule, lib, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, fetchpatch, @@ -25,7 +27,7 @@ buildGoModule rec { sourceRoot = "${src.name}/ui"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit src version pname; sourceRoot = "${src.name}/ui"; fetcherVersion = 1; @@ -33,7 +35,8 @@ buildGoModule rec { }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs ]; diff --git a/pkgs/by-name/ar/artalk/package.nix b/pkgs/by-name/ar/artalk/package.nix index 407c76243483..7421e4dafa43 100644 --- a/pkgs/by-name/ar/artalk/package.nix +++ b/pkgs/by-name/ar/artalk/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, installShellFiles, versionCheckHook, stdenv, @@ -28,11 +30,13 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-QIfadS2gNPtH006O86EndY/Hx2ml2FoKfUXJF5qoluw="; }; diff --git a/pkgs/by-name/as/astro-language-server/package.nix b/pkgs/by-name/as/astro-language-server/package.nix index 3eea4d0d4c76..3799d76dcf01 100644 --- a/pkgs/by-name/as/astro-language-server/package.nix +++ b/pkgs/by-name/as/astro-language-server/package.nix @@ -3,10 +3,11 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "astro-language-server"; version = "2.16.2"; @@ -25,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { pnpm approve-builds @emmetio/css-parser ''; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,13 +34,15 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces prePnpmInstall ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-M2Xef5yTEQCLPzzx7WGQYplTrND+DPMy1hyEuahK+kM="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildInputs = [ nodejs ]; diff --git a/pkgs/by-name/at/atuin-desktop/package.nix b/pkgs/by-name/at/atuin-desktop/package.nix index 601c56d7bbca..1a60e548360b 100644 --- a/pkgs/by-name/at/atuin-desktop/package.nix +++ b/pkgs/by-name/at/atuin-desktop/package.nix @@ -9,6 +9,8 @@ cargo-tauri, nodejs, pkg-config, + fetchPnpmDeps, + pnpmConfigHook, pnpm, alsa-lib, @@ -31,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoRoot = "./."; cargoHash = "sha256-gYYmtxMWst0ZB/YzJf/0FGOedoVpMgTq5qq+3m2R7T8="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-Tdcdghhc4cH+cYIeUy3inChgPfb1i9E7F1mpxxWoW4Q="; @@ -39,7 +41,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook + pnpmConfigHook + pnpm rustPlatform.bindgenHook nodejs diff --git a/pkgs/by-name/au/autobrr/package.nix b/pkgs/by-name/au/autobrr/package.nix index b2561d8a2978..be343f2038bd 100644 --- a/pkgs/by-name/au/autobrr/package.nix +++ b/pkgs/by-name/au/autobrr/package.nix @@ -7,6 +7,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, typescript, versionCheckHook, }: @@ -27,19 +29,21 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 typescript ]; sourceRoot = "${src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (autobrr-web) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-LOY8fLGsX966MyH4w+pa9tm/5HS6LnGwd51cj8TG6Mk="; }; diff --git a/pkgs/by-name/au/autoprefixer/package.nix b/pkgs/by-name/au/autoprefixer/package.nix index 5e5549eeb96b..8958d3d958b7 100644 --- a/pkgs/by-name/au/autoprefixer/package.nix +++ b/pkgs/by-name/au/autoprefixer/package.nix @@ -3,6 +3,8 @@ stdenv, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, callPackage, nix-update-script, @@ -20,11 +22,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-xPG67b54h+KmDrCgMmTVVVnBah9L6rgjh+EWnEzzI0w="; }; diff --git a/pkgs/by-name/ba/backrest/package.nix b/pkgs/by-name/ba/backrest/package.nix index 6f3d0906dc40..f738027fb23f 100644 --- a/pkgs/by-name/ba/backrest/package.nix +++ b/pkgs/by-name/ba/backrest/package.nix @@ -7,6 +7,8 @@ libredirect, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, restic, stdenv, util-linux, @@ -30,11 +32,13 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-vJgsU0OXyAKjUJsPOyIY8o3zfNW1BUZ5IL814wmJr3o="; }; diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index 197db43a194b..b9a85f34bfae 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -3,12 +3,13 @@ stdenvNoCC, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, makeBinaryWrapper, shellcheck, versionCheckHook, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "bash-language-server"; version = "5.6.0"; @@ -21,20 +22,22 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; pnpmWorkspaces = [ "bash-language-server" ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 3; hash = "sha256-6i+1V3ZkjiJ/IXDun3JfwmfDOiemxCmAXMzS/rGT6ZU="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeBinaryWrapper versionCheckHook ]; diff --git a/pkgs/by-name/bl/bluesky-pds/package.nix b/pkgs/by-name/bl/bluesky-pds/package.nix index b2e0e607f392..1e40d137f770 100644 --- a/pkgs/by-name/bl/bluesky-pds/package.nix +++ b/pkgs/by-name/bl/bluesky-pds/package.nix @@ -5,6 +5,8 @@ srcOnly, python3, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nodejs, vips, @@ -38,7 +40,8 @@ stdenv.mkDerivation (finalAttrs: { nodejs pythonEnv pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 removeReferencesTo ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -48,13 +51,14 @@ stdenv.mkDerivation (finalAttrs: { # Required for `sharp` NPM dependency buildInputs = [ vips ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-4qKWkINpUHzatiMa7ZNYp1NauU2641W0jHDjmRL9ipI="; }; diff --git a/pkgs/by-name/bu/bumpp/package.nix b/pkgs/by-name/bu/bumpp/package.nix index b72fe9fdfc5a..c1a9f5cc2b97 100644 --- a/pkgs/by-name/bu/bumpp/package.nix +++ b/pkgs/by-name/bu/bumpp/package.nix @@ -3,14 +3,13 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "bumpp"; version = "10.3.2"; @@ -22,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1hGVLPogdeyWh/B2Yxfo/9YbJpFYl8ATh+QCa2VVyyk="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-y7uHDtoOjsLnNF47r4aWHYXW0ui8shhn1M0cD2FpaCg="; @@ -30,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/ca/cargo-tauri/test-app.nix b/pkgs/by-name/ca/cargo-tauri/test-app.nix index ae91d53e172f..c755d8d40dad 100644 --- a/pkgs/by-name/ca/cargo-tauri/test-app.nix +++ b/pkgs/by-name/ca/cargo-tauri/test-app.nix @@ -8,15 +8,12 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, webkitgtk_4_1, wrapGAppsHook4, }: - -let - pnpm = pnpm_9; -in - stdenv.mkDerivation (finalAttrs: { pname = "test-app"; inherit (cargo-tauri) version src; @@ -28,12 +25,13 @@ stdenv.mkDerivation (finalAttrs: { inherit (cargo-tauri) cargoDeps; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gHniZv847JFrmKnTUZcgyWhFl/ovJ5IfKbbM5I21tZc="; @@ -44,7 +42,8 @@ stdenv.mkDerivation (finalAttrs: { nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 rustPlatform.cargoCheckHook rustPlatform.cargoSetupHook wrapGAppsHook4 diff --git a/pkgs/by-name/cd/cdxgen/package.nix b/pkgs/by-name/cd/cdxgen/package.nix index 1b68370f1a0e..9119e668d10d 100644 --- a/pkgs/by-name/cd/cdxgen/package.nix +++ b/pkgs/by-name/cd/cdxgen/package.nix @@ -6,11 +6,12 @@ node-gyp, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, stdenv, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "cdxgen"; version = "11.10.0"; @@ -26,7 +27,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs node-gyp # required for sqlite3 bindings - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 # required for sqlite3 bindings ] ++ lib.optional stdenv.hostPlatform.isDarwin [ @@ -34,8 +36,9 @@ stdenv.mkDerivation (finalAttrs: { cctools.libtool ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-o5pNgn+ZqaEfsWO97jXkRyPH+0pffR6TBZcF6nApWVg="; }; diff --git a/pkgs/by-name/ch/changelogen/package.nix b/pkgs/by-name/ch/changelogen/package.nix index 7078dbc42df8..df0b68bb0289 100644 --- a/pkgs/by-name/ch/changelogen/package.nix +++ b/pkgs/by-name/ch/changelogen/package.nix @@ -3,13 +3,12 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "changelogen"; version = "0.6.2"; @@ -21,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-N6X9Wffl9WumCXvAt4y+vs3ZJY7NheK+O8BObmuIa/g="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-UKSIfn2iR8Ydk9ViGCgWtspZr1FjTeW49UMwTcL57UA="; @@ -29,7 +28,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix index 0fd7f14fe7c3..843c3f572a24 100644 --- a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix +++ b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix @@ -16,6 +16,8 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, glib, kdePackages, @@ -25,7 +27,6 @@ openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage { inherit version src meta; pname = "${pname}-unwrapped"; @@ -35,8 +36,13 @@ rustPlatform.buildRustPackage { cargoHash = vendor-hash; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = pnpm-hash; }; @@ -94,7 +100,8 @@ rustPlatform.buildRustPackage { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/cl/claude-code-router/package.nix b/pkgs/by-name/cl/claude-code-router/package.nix index 5d4aad31b6f4..eb6ec4a4ac3b 100644 --- a/pkgs/by-name/cl/claude-code-router/package.nix +++ b/pkgs/by-name/cl/claude-code-router/package.nix @@ -6,6 +6,8 @@ makeBinaryWrapper, nodejs_24, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, versionCheckHook, }: let @@ -28,8 +30,9 @@ buildNpmPackage' (finalAttrs: { ''; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys="; }; @@ -37,10 +40,10 @@ buildNpmPackage' (finalAttrs: { nativeBuildInputs = [ esbuild makeBinaryWrapper - pnpm_9.configHook + pnpm_9 ]; - npmConfigHook = pnpm_9.configHook; + npmConfigHook = pnpmConfigHook; buildPhase = '' runHook preBuild @@ -76,17 +79,18 @@ buildNpmPackage' (finalAttrs: { sourceRoot = "${finalAttrs'.src.name}/ui"; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname src sourceRoot; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac="; }; nativeBuildInputs = [ - pnpm_9.configHook + pnpm_9 ]; - npmConfigHook = pnpm_9.configHook; + npmConfigHook = pnpmConfigHook; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/co/coc-cmake/package.nix b/pkgs/by-name/co/coc-cmake/package.nix index 74bbc83fc6f4..ba9d4484ef85 100644 --- a/pkgs/by-name/co/coc-cmake/package.nix +++ b/pkgs/by-name/co/coc-cmake/package.nix @@ -3,6 +3,8 @@ stdenv, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, npmHooks, }: @@ -17,13 +19,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VZRHpy0OTmoQyOEa0vIJl/VkV52r0HEtTzY1fjr6yQ0="; }; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_8; fetcherVersion = 2; hash = "sha256-wQ9dcqY7BVXc7wpsHlYNpc7utL1+MkdTCu77Wh8+QWc="; }; @@ -32,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; buildPhase = '' diff --git a/pkgs/by-name/co/concurrently/package.nix b/pkgs/by-name/co/concurrently/package.nix index cdf9061c726b..52c56d9cfe34 100644 --- a/pkgs/by-name/co/concurrently/package.nix +++ b/pkgs/by-name/co/concurrently/package.nix @@ -6,11 +6,9 @@ makeWrapper, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, }: - -let - pnpm = pnpm_8; -in stdenv.mkDerivation (finalAttrs: { pname = "concurrently"; version = "8.2.2"; @@ -22,13 +20,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VoyVYBOBMguFKnG2VItk1L5BbF72nO7bYJpb7adqICs="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0="; }; @@ -44,7 +43,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm_8 ]; buildPhase = '' diff --git a/pkgs/by-name/co/conventional-changelog-cli/package.nix b/pkgs/by-name/co/conventional-changelog-cli/package.nix index e00c38f09ca1..5028b5fd2620 100644 --- a/pkgs/by-name/co/conventional-changelog-cli/package.nix +++ b/pkgs/by-name/co/conventional-changelog-cli/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, makeBinaryWrapper, versionCheckHook, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Pgx5gM4SdSL6WCkStByA7AP2O96MjAjyeMOI+Lo2mt0="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-ZfG3F0J1hIhZlF2OadhVdbxhQrFcMYDG9gEXR04DgEI="; @@ -28,7 +30,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/cs/cspell/package.nix b/pkgs/by-name/cs/cspell/package.nix index 423724ae2266..667e400d98ea 100644 --- a/pkgs/by-name/cs/cspell/package.nix +++ b/pkgs/by-name/cs/cspell/package.nix @@ -3,11 +3,12 @@ stdenv, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, gitMinimal, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "cspell"; version = "9.4.0"; @@ -21,20 +22,22 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "cspell..." ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-GgcqgnrBoWu0paVSyTPfZIsGaPEH+EADBYoiZzlVrs8="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildInputs = [ diff --git a/pkgs/by-name/da/daed/package.nix b/pkgs/by-name/da/daed/package.nix index a6ebfd9ee257..dc72a39e9e79 100644 --- a/pkgs/by-name/da/daed/package.nix +++ b/pkgs/by-name/da/daed/package.nix @@ -1,5 +1,7 @@ { pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, stdenv, clang, @@ -25,15 +27,21 @@ let web = stdenv.mkDerivation { inherit pname version src; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+yLpSbDzr1OV/bmUUg6drOvK1ok3cBd+RRV7Qrrlp+Q="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/de/deadlock-mod-manager/package.nix b/pkgs/by-name/de/deadlock-mod-manager/package.nix index cd48373f60c2..ba2331e2c38b 100644 --- a/pkgs/by-name/de/deadlock-mod-manager/package.nix +++ b/pkgs/by-name/de/deadlock-mod-manager/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, wrapGAppsHook3, desktop-file-utils, @@ -23,7 +25,6 @@ fontconfig, nix-update-script, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "deadlock-mod-manager"; version = "0.11.1"; @@ -44,7 +45,8 @@ rustPlatform.buildRustPackage (finalAttrs: { rustPlatform.cargoSetupHook cargo-tauri.hook nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 pkg-config wrapGAppsHook3 ]; @@ -68,12 +70,13 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; pnpmRoot = "."; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_9; fetcherVersion = 2; sourceRoot = "source"; hash = "sha256-MCzRZt+l2wHETOxzSatPnz5G48HjjGrOj3BVP+S7/Ss="; diff --git a/pkgs/by-name/de/deltachat-desktop/package.nix b/pkgs/by-name/de/deltachat-desktop/package.nix index 1eac6bdfa0f8..bc205240938c 100644 --- a/pkgs/by-name/de/deltachat-desktop/package.nix +++ b/pkgs/by-name/de/deltachat-desktop/package.nix @@ -10,6 +10,8 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, rustPlatform, stdenv, @@ -34,7 +36,6 @@ let }; }; electron = electron_37; - pnpm = pnpm_9; in stdenv.mkDerivation (finalAttrs: { pname = "deltachat-desktop"; @@ -56,8 +57,9 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-4BAcCzPZbCjUfHTnJ98TzcfI5UnfMmGdbdvCFaQNNsk="; }; @@ -67,7 +69,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 python3 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix index b44ae33946e9..d5e9543f1a2a 100644 --- a/pkgs/by-name/do/dorion/package.nix +++ b/pkgs/by-name/do/dorion/package.nix @@ -15,6 +15,8 @@ pkg-config, yq-go, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, webkitgtk_4_1, cargo-tauri, desktop-file-utils, @@ -52,8 +54,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-9zH0Coiyoz6NK2go2XVL5xYaCrXzrOMKaK+3pDXqrGs="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SO/9GkjNP+7IEeULCyWAp32RYIxyzgmbc8YZiTCTjF8="; }; @@ -72,7 +75,8 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 cargo-tauri.hook nodejs pkg-config diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index 3bebf70e99db..aeddb8a6ffd5 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -10,6 +10,8 @@ makeWrapper, nodejs_20, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, electron, atk, atkmm, @@ -60,8 +62,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-K4GFLUeq/IbJC3FZBgvKnZq7JrXkqe6eVGsUxxlpWF0="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; prePnpmInstall = '' export PATH=$PATH:${gitMinimal}/bin @@ -72,7 +75,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoPatchelfHook gobject-introspection - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper nodejs_20 ]; diff --git a/pkgs/by-name/em/emmet-language-server/package.nix b/pkgs/by-name/em/emmet-language-server/package.nix index a9a9e566d2d4..d45bea520aad 100644 --- a/pkgs/by-name/em/emmet-language-server/package.nix +++ b/pkgs/by-name/em/emmet-language-server/package.nix @@ -3,10 +3,11 @@ stdenvNoCC, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "emmet-language-server"; version = "2.8.0"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-EY/xfrf6sGnZPbkbf9msauOoZ0h0EjLSwQC0aiS/Kco="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-sMOC5MQmJKwXZoUZnOmBy2I83SNMdrPc6WQKmeVGiCc="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/en/en-croissant/package.nix b/pkgs/by-name/en/en-croissant/package.nix index 86772e48dd58..422bd7901bb3 100644 --- a/pkgs/by-name/en/en-croissant/package.nix +++ b/pkgs/by-name/en/en-croissant/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, cargo-tauri_1, pkg-config, @@ -16,7 +18,6 @@ # webkitgtk_4_0, gst_all_1, }: - rustPlatform.buildRustPackage rec { pname = "en-croissant"; version = "0.11.1"; @@ -28,8 +29,13 @@ rustPlatform.buildRustPackage rec { hash = "sha256-EiGML3oFCJR4TZkd+FekUrJwCYe/nGdWD9mAtKKtITQ="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-hvWXSegUWJvwCU5NLb2vqnl+FIWpCLxw96s9NUIgJTI="; }; @@ -41,7 +47,8 @@ rustPlatform.buildRustPackage rec { buildAndTestSubdir = cargoRoot; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs cargo-tauri_1.hook pkg-config diff --git a/pkgs/by-name/eq/equibop/package.nix b/pkgs/by-name/eq/equibop/package.nix index 932a3174d7b5..ebf7288b7524 100644 --- a/pkgs/by-name/eq/equibop/package.nix +++ b/pkgs/by-name/eq/equibop/package.nix @@ -13,6 +13,8 @@ libpulseaudio, autoPatchelfHook, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, withTTS ? true, @@ -29,20 +31,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wvg06YSQOZvP/NHl3WPfnI9F0+KN0cJ2CBwaZD8Xpfk="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-HQxQIMbj2xsxD1jwj/itfAW6KHxX81Eu60ouzxQDu44="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 # XXX: Equibop *does not* ship venmic as a prebuilt node module. The package # seems to build with or without this hook, but I (NotAShelf) don't have the # time to test the consequences of removing this hook. Please open a pull @@ -129,7 +133,6 @@ stdenv.mkDerivation (finalAttrs: { }; passthru = { - inherit (finalAttrs) pnpmDeps; updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/eq/equicord/package.nix b/pkgs/by-name/eq/equicord/package.nix index 061e17889e08..679831f5bf5a 100644 --- a/pkgs/by-name/eq/equicord/package.nix +++ b/pkgs/by-name/eq/equicord/package.nix @@ -4,6 +4,8 @@ lib, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, nix-update-script, discord, @@ -27,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-12P62UAt9eiQoGCXQGYQx0cPmankniltGqPTsys9Ves="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-gl/4+AN3+YOl3uCYholPU8jo0IayazlY987fwhtHCuk="; }; @@ -36,7 +39,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ git nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; env = { diff --git a/pkgs/by-name/et/etherpad-lite/package.nix b/pkgs/by-name/et/etherpad-lite/package.nix index e920c46785e4..49728c31cbe5 100644 --- a/pkgs/by-name/et/etherpad-lite/package.nix +++ b/pkgs/by-name/et/etherpad-lite/package.nix @@ -4,13 +4,12 @@ fetchFromGitHub, nix-update-script, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, makeWrapper, nodejs, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "etherpad-lite"; version = "2.5.1"; @@ -29,14 +28,16 @@ stdenv.mkDerivation (finalAttrs: { ./dont-fail-on-plugins-json.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gajm1yXQPZZ/oB27HwgTEoKLzwMKsHDoo2w+mIOnJrc="; }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper ]; @@ -69,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 ]}" \ + --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 diff --git a/pkgs/by-name/fe/fedistar/package.nix b/pkgs/by-name/fe/fedistar/package.nix index 7b3bb421d74f..d78664d361f1 100644 --- a/pkgs/by-name/fe/fedistar/package.nix +++ b/pkgs/by-name/fe/fedistar/package.nix @@ -5,6 +5,8 @@ nix-update-script, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, rustPlatform, @@ -16,9 +18,6 @@ openssl, }: -let - pnpm = pnpm_10; -in rustPlatform.buildRustPackage (finalAttrs: { pname = "fedistar"; version = "1.11.3"; @@ -35,8 +34,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-ZJgyrFDtzAH3XqDdnJ27Yn+WsTMrZR2+lnkZ6bw6hzg="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI="; }; @@ -44,8 +44,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook - pnpm + pnpmConfigHook + pnpm_10 nodejs pkg-config diff --git a/pkgs/by-name/fe/feishin/package.nix b/pkgs/by-name/fe/feishin/package.nix index e73785edd2d5..d42970f8e6b6 100644 --- a/pkgs/by-name/fe/feishin/package.nix +++ b/pkgs/by-name/fe/feishin/package.nix @@ -5,7 +5,9 @@ fetchFromGitHub, electron_38, dart-sass, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, darwin, copyDesktopItems, makeDesktopItem, @@ -22,17 +24,16 @@ let }; electron = electron_38; - pnpm = pnpm_10; in buildNpmPackage { inherit pname version; inherit src; - npmConfigHook = pnpm.configHook; + npmConfigHook = pnpmConfigHook; npmDeps = null; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version @@ -44,9 +45,11 @@ buildNpmPackage { env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; - nativeBuildInputs = - lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ]; + nativeBuildInputs = [ + pnpm + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ]; postPatch = '' # release/app dependencies are installed on preConfigure diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index 215cb2d4fa85..3c9bf2465022 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -4,14 +4,14 @@ buildGoModule, buildNpmPackage, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, nixosTests, }: let version = "2.44.1"; - pnpm = pnpm_9; - src = fetchFromGitHub { owner = "filebrowser"; repo = "filebrowser"; @@ -25,16 +25,18 @@ let sourceRoot = "${src.name}/frontend"; - npmConfigHook = pnpm.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; npmDeps = pnpmDeps; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-3n44BGJLdQR6uBSF09oyUzJm35/S3/ZEyZh4Wxqlfiw="; }; diff --git a/pkgs/by-name/fi/firezone-gui-client/package.nix b/pkgs/by-name/fi/firezone-gui-client/package.nix index 490621ef96b1..2c9ddac6b374 100644 --- a/pkgs/by-name/fi/firezone-gui-client/package.nix +++ b/pkgs/by-name/fi/firezone-gui-client/package.nix @@ -20,6 +20,8 @@ webkitgtk_4_1, wrapGAppsHook3, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, makeDesktopItem, copyDesktopItems, @@ -37,8 +39,9 @@ let pname = "firezone-gui-client-frontend"; inherit version src; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; + pnpm = pnpm_9; src = "${src}/rust/gui-client"; fetcherVersion = 1; hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4="; @@ -48,7 +51,8 @@ let env.GITHUB_SHA = version; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; diff --git a/pkgs/by-name/fi/firezone-server/package.nix b/pkgs/by-name/fi/firezone-server/package.nix index 706d21b353ab..44e7d26a8c08 100644 --- a/pkgs/by-name/fi/firezone-server/package.nix +++ b/pkgs/by-name/fi/firezone-server/package.nix @@ -5,13 +5,14 @@ beamPackages, gitMinimal, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, tailwindcss_3, esbuild, mixReleaseName ? "domain", # "domain" "web" or "api" }: - beamPackages.mixRelease rec { pname = "firezone-server-${mixReleaseName}"; version = "0-unstable-2025-08-31"; @@ -31,8 +32,9 @@ beamPackages.mixRelease rec { } }/elixir"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; + pnpm = pnpm_9; src = "${src}/apps/web/assets"; fetcherVersion = 1; hash = "sha256-40vtQIBhJNnzdxkAOVAcPN57IuD0IB6LFxGICo68AbQ="; @@ -60,8 +62,8 @@ beamPackages.mixRelease rec { ''; nativeBuildInputs = [ + pnpmConfigHook pnpm_9 - pnpm_9.configHook nodejs ]; diff --git a/pkgs/by-name/fl/flood/package.nix b/pkgs/by-name/fl/flood/package.nix index 143d4ec1d548..09e188b689ea 100644 --- a/pkgs/by-name/fl/flood/package.nix +++ b/pkgs/by-name/fl/flood/package.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nixosTests, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - buildNpmPackage rec { pname = "flood"; version = "4.11.0"; @@ -18,11 +19,17 @@ buildNpmPackage rec { hash = "sha256-RBWDEFhLEZdC7luGFGx3qY0Hk7nM44RZgRyCWXFPh1k="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; npmDeps = pnpmDeps; dontNpmPrune = true; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-MnsUTXcLMT0Q2bQ/rRD4FfJx8XP9TLiv1oTHIgnMZCQ="; }; diff --git a/pkgs/by-name/fo/folo/package.nix b/pkgs/by-name/fo/folo/package.nix index 20a2b970fe2c..d0d2e7bc09d7 100644 --- a/pkgs/by-name/fo/folo/package.nix +++ b/pkgs/by-name/fo/folo/package.nix @@ -7,6 +7,8 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: stdenv.mkDerivation rec { @@ -23,13 +25,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper imagemagick ]; - pnpmDeps = pnpm_10.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-6I10NSmTDd/wmL/HfAgLH+G2MDfuPmrTePNDDy08nRA="; }; diff --git a/pkgs/by-name/fr/froide/package.nix b/pkgs/by-name/fr/froide/package.nix index 33102d00db7e..bd26443f82e9 100644 --- a/pkgs/by-name/fr/froide/package.nix +++ b/pkgs/by-name/fr/froide/package.nix @@ -6,6 +6,8 @@ makeWrapper, gdal, geos, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, postgresql, @@ -62,7 +64,8 @@ python.pkgs.buildPythonApplication rec { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; dependencies = with python.pkgs; [ @@ -116,7 +119,7 @@ python.pkgs.buildPythonApplication rec { websockets ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; fetcherVersion = 1; hash = "sha256-g7YX2fVXGmb3Qq9NNCb294bk4/0khcIZVSskYbE8Mdw="; diff --git a/pkgs/by-name/ga/gale/package.nix b/pkgs/by-name/ga/gale/package.nix index 0672dec667f5..9d9ae80832a5 100644 --- a/pkgs/by-name/ga/gale/package.nix +++ b/pkgs/by-name/ga/gale/package.nix @@ -7,6 +7,8 @@ jq, moreutils, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, cargo-tauri, pkg-config, @@ -17,7 +19,6 @@ openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "gale"; version = "1.10.0"; @@ -31,13 +32,14 @@ rustPlatform.buildRustPackage (finalAttrs: { patches = [ ./fix-frontend-backend-tauri-version-mismatch.patch ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-ILhAhpY9a50a0KKWs5Y+G3jDyWuySHw8QcOJlYePzmc="; }; @@ -54,7 +56,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ jq moreutils - pnpm_10.configHook + pnpmConfigHook + pnpm_10 nodejs cargo-tauri.hook pkg-config diff --git a/pkgs/by-name/ga/garage-webui/package.nix b/pkgs/by-name/ga/garage-webui/package.nix index ab70c5406b93..282ff20a628d 100644 --- a/pkgs/by-name/ga/garage-webui/package.nix +++ b/pkgs/by-name/ga/garage-webui/package.nix @@ -5,11 +5,10 @@ buildGoModule, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: -let - pnpm = pnpm_9; -in buildGoModule (finalAttrs: { pname = "garage-webui"; version = "1.1.0"; @@ -27,11 +26,13 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-8eQhR/fuDFNL8W529Ev7piCaseVaFahgZJQk3AJA3ng="; }; diff --git a/pkgs/by-name/gi/gitbutler/package.nix b/pkgs/by-name/gi/gitbutler/package.nix index 707ab58cc0c3..b6d57500c051 100644 --- a/pkgs/by-name/gi/gitbutler/package.nix +++ b/pkgs/by-name/gi/gitbutler/package.nix @@ -17,7 +17,9 @@ nodejs, openssl, pkg-config, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, rust, rustPlatform, turbo, @@ -27,7 +29,6 @@ }: let - pnpm = pnpm_10; excludeSpec = spec: [ "--exclude" spec @@ -65,7 +66,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-H8YR+euwMGiGckURAWJIE9fOcu/ddJ6ENcnA1gHD9B8="; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-I55RNWP6csT08SBIFEyUp9JTC5EzQXjKIPPSxkSpg7Y="; @@ -80,7 +81,8 @@ rustPlatform.buildRustPackage (finalAttrs: { moreutils nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm turbo wrapGAppsHook4 yq # For `tomlq` @@ -130,7 +132,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26 TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec; - # `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's + # `fetchPnpmDeps` and `pnpmConfigHook` use a specific version of pnpm, not upstream's COREPACK_ENABLE_STRICT = 0; # We depend on nightly features diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index e1252cad2683..516469f7e006 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -11,6 +11,8 @@ gzip, nodejs, openssh, + fetchPnpmDeps, + pnpmConfigHook, pnpm, stdenv, sqliteSupport ? true, @@ -22,7 +24,7 @@ let pname = "gitea-frontend"; inherit (gitea) src version; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-0p7P68BvO3hv0utUbnPpHSpGLlV7F9HHmOITvJAb/ww="; @@ -30,7 +32,8 @@ let nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' diff --git a/pkgs/by-name/gi/gitify/package.nix b/pkgs/by-name/gi/gitify/package.nix index 32d3eb606ddb..148e88c12362 100644 --- a/pkgs/by-name/gi/gitify/package.nix +++ b/pkgs/by-name/gi/gitify/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, electron, makeDesktopItem, @@ -11,7 +13,6 @@ makeWrapper, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "gitify"; version = "6.14.1"; @@ -25,14 +26,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 copyDesktopItems imagemagick makeWrapper ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-LnYwUXwGm/2yx7QrMcPu32oPtRJKnuqysecwwH25QIg="; }; diff --git a/pkgs/by-name/go/goofcord/package.nix b/pkgs/by-name/go/goofcord/package.nix index 7e238de22f17..bef68c681061 100644 --- a/pkgs/by-name/go/goofcord/package.nix +++ b/pkgs/by-name/go/goofcord/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, nix-update-script, electron, @@ -14,7 +16,7 @@ }: let - pnpm' = pnpm_9.override { nodejs = nodejs_22; }; + pnpm = pnpm_9.override { nodejs = nodejs_22; }; in stdenv.mkDerivation (finalAttrs: { pname = "goofcord"; @@ -28,7 +30,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm'.configHook + pnpmConfigHook + pnpm nodejs_22 makeShellWrapper copyDesktopItems @@ -40,8 +43,9 @@ stdenv.mkDerivation (finalAttrs: { (lib.getLib stdenv.cc.cc) ]; - pnpmDeps = pnpm'.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 1; hash = "sha256-8dSyU9arSvISc2kDWbg/CP6L4sZjZi/Zv7TZN4ONOjQ="; }; diff --git a/pkgs/by-name/gu/gui-for-clash/package.nix b/pkgs/by-name/gu/gui-for-clash/package.nix index f63a9d08d083..2c707e31d51b 100644 --- a/pkgs/by-name/gu/gui-for-clash/package.nix +++ b/pkgs/by-name/gu/gui-for-clash/package.nix @@ -8,6 +8,8 @@ nodejs, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, wails, webkitgtk_4_1, makeDesktopItem, @@ -39,16 +41,18 @@ let nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-MvGLIB68itkCGsBIgAI6ak5xa5rFAJfoAwNuISPRw30="; }; diff --git a/pkgs/by-name/gu/gui-for-singbox/package.nix b/pkgs/by-name/gu/gui-for-singbox/package.nix index 3a704590eb7a..ae78f644fe55 100644 --- a/pkgs/by-name/gu/gui-for-singbox/package.nix +++ b/pkgs/by-name/gu/gui-for-singbox/package.nix @@ -8,6 +8,8 @@ nodejs, pkg-config, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, wails, webkitgtk_4_1, makeDesktopItem, @@ -39,16 +41,18 @@ let nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-MA0CNF2MTCGvsxvEpRbTFu5Diap4XkIHKnxeROkgwnU="; }; diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix index 67449b132c17..668b84507ad8 100644 --- a/pkgs/by-name/he/heroic-unwrapped/package.nix +++ b/pkgs/by-name/he/heroic-unwrapped/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, # Pinned, because our FODs are not guaranteed to be stable between major versions. pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, python3, makeWrapper, @@ -34,15 +36,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-x792VA4PZleqUUgarh59JxJVXrvT95/rINYk8t9i3X0="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-F8H0eYltIJ0S8AX+2S3cR+v8dvePw09VWToVOLM8qII="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 makeWrapper ]; diff --git a/pkgs/by-name/ho/homebox/package.nix b/pkgs/by-name/ho/homebox/package.nix index 67a208edbb94..3b18df552287 100644 --- a/pkgs/by-name/ho/homebox/package.nix +++ b/pkgs/by-name/ho/homebox/package.nix @@ -3,6 +3,8 @@ buildGoModule, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, go_1_24, git, @@ -35,9 +37,10 @@ buildGoModule { preBuild = ""; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version; src = "${src}/frontend"; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-gHx4HydL33i1SqzG1PChnlWdlO5NFa5F/R5Yq3mS4ng="; }; @@ -57,8 +60,8 @@ buildGoModule { ''; nativeBuildInputs = [ + pnpmConfigHook pnpm_9 - pnpm_9.configHook nodejs ]; diff --git a/pkgs/by-name/ho/homepage-dashboard/package.nix b/pkgs/by-name/ho/homepage-dashboard/package.nix index 072fff4b2aca..ce404092e933 100644 --- a/pkgs/by-name/ho/homepage-dashboard/package.nix +++ b/pkgs/by-name/ho/homepage-dashboard/package.nix @@ -4,6 +4,8 @@ makeBinaryWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, stdenv, unixtools, @@ -38,12 +40,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-T2bAN8ucCjcWhXScTI8YxtfrwK9NEfHGHIE8xJgD6Bs="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-42dT1za9M4DowBh27UYh2QDyoVoNWA/L/9lyIY5OVwM="; }; @@ -51,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; diff --git a/pkgs/by-name/ho/homer/package.nix b/pkgs/by-name/ho/homer/package.nix index 636942e8ff8c..eb901a28eefd 100644 --- a/pkgs/by-name/ho/homer/package.nix +++ b/pkgs/by-name/ho/homer/package.nix @@ -3,12 +3,13 @@ stdenvNoCC, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, dart-sass, nix-update-script, nixosTests, }: - stdenvNoCC.mkDerivation rec { pname = "homer"; version = "25.11.1"; @@ -19,13 +20,13 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-6shFVaCtPQeZCeeswAQHgcXOwVwABNa3ljsdUG63QGo="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src - ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-TtazfRhcniA1H//C95AMH8/Pw+Rbtinlfg7dDAmSk1w="; }; @@ -33,7 +34,8 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ nodejs dart-sass - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/im/immich-cli/package.nix b/pkgs/by-name/im/immich-cli/package.nix index 07c94be4aa71..1e62e6def5eb 100644 --- a/pkgs/by-name/im/immich-cli/package.nix +++ b/pkgs/by-name/im/immich-cli/package.nix @@ -6,11 +6,8 @@ makeWrapper, stdenv, versionCheckHook, + pnpmConfigHook, }: - -let - inherit (immich) pnpm; -in stdenv.mkDerivation rec { pname = "immich-cli"; version = "2.2.103"; @@ -26,8 +23,8 @@ stdenv.mkDerivation rec { jq makeWrapper nodejs - pnpm - pnpm.configHook + pnpmConfigHook + immich.pnpm ]; buildPhase = '' diff --git a/pkgs/by-name/im/immich-kiosk/package.nix b/pkgs/by-name/im/immich-kiosk/package.nix index cc8c1e1fd08a..607cbcec951b 100644 --- a/pkgs/by-name/im/immich-kiosk/package.nix +++ b/pkgs/by-name/im/immich-kiosk/package.nix @@ -4,8 +4,9 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - buildGoModule rec { pname = "immich-kiosk"; version = "0.28.1"; @@ -23,8 +24,13 @@ buildGoModule rec { ''; vendorHash = "sha256-5y//CdHgQjNJayNI/jzdD5WPa4XlIxMonqkPc/kJp8c="; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; sourceRoot = "${src.name}/frontend"; hash = "sha256-FThVaNUUE3QCbq0iPRCet4SnlHCCQaw3N5PThKSM1ek="; fetcherVersion = 2; @@ -35,13 +41,14 @@ buildGoModule rec { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # Generate templ templates during vendor hash calculation - # Don't run pnpm in this phase - filter out pnpm.configHook + # Don't run pnpm in this phase - filter out pnpmConfigHook overrideModAttrs = oldAttrs: { - nativeBuildInputs = builtins.filter (drv: drv != pnpm_9.configHook) ( + nativeBuildInputs = builtins.filter (drv: drv != pnpmConfigHook) ( oldAttrs.nativeBuildInputs or [ ] ); preBuild = '' diff --git a/pkgs/by-name/im/immich/package.nix b/pkgs/by-name/im/immich/package.nix index d2ee584fba9b..3779de8b8056 100644 --- a/pkgs/by-name/im/immich/package.nix +++ b/pkgs/by-name/im/immich/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm_10, python3, nodejs, @@ -122,9 +124,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-K/E5bQraTlvNx1Cd0bKyY6ZhesafGccqVZ9Mu6Q0pZ0="; }; - pnpmDeps = pnpm.fetchDeps { - pname = "immich"; - inherit (finalAttrs) version src; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 2; hash = "sha256-i0JHKjsQcdDUrDLK0hJGOvVRh/aOyvms/k+6WEPbyh8="; }; @@ -139,8 +141,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs pkg-config - pnpm_10 - pnpm_10.configHook + pnpmConfigHook + pnpm python3 makeWrapper node-gyp # for building node_modules/sharp from source @@ -239,8 +241,8 @@ stdenv.mkDerivation (finalAttrs: { binaryen extism-js nodejs + pnpmConfigHook pnpm - pnpm.configHook ]; buildPhase = '' @@ -268,8 +270,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs + pnpmConfigHook pnpm - pnpm.configHook ]; buildPhase = '' diff --git a/pkgs/by-name/it/it-tools/package.nix b/pkgs/by-name/it/it-tools/package.nix index de26c725090e..17229c9aa69f 100644 --- a/pkgs/by-name/it/it-tools/package.nix +++ b/pkgs/by-name/it/it-tools/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, nodejs, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, }: stdenv.mkDerivation rec { pname = "it-tools"; @@ -18,11 +20,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; - pnpmDeps = pnpm_8.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-m1eXBE5rakcq8NGnPC9clAAvNJQrN5RuSQ94zfgGZxw="; }; diff --git a/pkgs/by-name/je/jellyseerr/package.nix b/pkgs/by-name/je/jellyseerr/package.nix index 400e2e0703ad..130986325b0b 100644 --- a/pkgs/by-name/je/jellyseerr/package.nix +++ b/pkgs/by-name/je/jellyseerr/package.nix @@ -1,6 +1,8 @@ { lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, stdenv, makeWrapper, @@ -27,8 +29,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-a3lhQ33Zb+vSu1sQjuqO3bITiQEIOVyFTecmJAhJROU="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; fetcherVersion = 1; hash = "sha256-3df72m/ARgfelBLE6Bhi8+ThHytowVOBL2Ndk7auDgg="; }; @@ -40,7 +43,8 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.distutils nodejs makeWrapper - pnpm.configHook + pnpmConfigHook + pnpm ]; preBuild = '' diff --git a/pkgs/by-name/ka/karakeep/package.nix b/pkgs/by-name/ka/karakeep/package.nix index b37ee0665520..68efb29bd3d6 100644 --- a/pkgs/by-name/ka/karakeep/package.nix +++ b/pkgs/by-name/ka/karakeep/package.nix @@ -13,10 +13,9 @@ srcOnly, removeReferencesTo, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "karakeep"; version = "0.29.1"; @@ -44,15 +43,17 @@ stdenv.mkDerivation (finalAttrs: { python3 nodejs node-gyp - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ gnutar ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version; + pnpm = pnpm_9; # We need to pass the patched source code, so pnpm sees the patched version src = stdenv.mkDerivation { diff --git a/pkgs/by-name/le/legcord/package.nix b/pkgs/by-name/le/legcord/package.nix index 0a56c3f14dee..2e8e83411832 100644 --- a/pkgs/by-name/le/legcord/package.nix +++ b/pkgs/by-name/le/legcord/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, electron, @@ -25,7 +27,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs # we use a script wrapper here for environment variable expansion at runtime # https://github.com/NixOS/nixpkgs/issues/172583 @@ -42,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.getLib stdenv.cc.cc) ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-D+GPJn3qpIax+YNcLqLX71bobDdfQXyGiJ6b5PiJqC4="; diff --git a/pkgs/by-name/me/memos/package.nix b/pkgs/by-name/me/memos/package.nix index e7bf782eb759..2d71c9363951 100644 --- a/pkgs/by-name/me/memos/package.nix +++ b/pkgs/by-name/me/memos/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, lib, + fetchPnpmDeps, + pnpmConfigHook, pnpm, buf, cacert, @@ -58,7 +60,7 @@ let memos-web = stdenvNoCC.mkDerivation (finalAttrs: { pname = "memos-web"; inherit version src; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; sourceRoot = "${finalAttrs.src.name}/web"; fetcherVersion = 1; @@ -67,7 +69,8 @@ let pnpmRoot = "web"; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; preBuild = '' cp -r {${memos-protobuf-gen},.}/web/src/types/proto diff --git a/pkgs/by-name/me/metacubexd/package.nix b/pkgs/by-name/me/metacubexd/package.nix index 7c04d30ffe5f..920baf9a1429 100644 --- a/pkgs/by-name/me/metacubexd/package.nix +++ b/pkgs/by-name/me/metacubexd/package.nix @@ -4,6 +4,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -18,12 +20,14 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-v+wuYGK0WEgrPNBLuLnoO/uDEk6AqJTlNJZHTpEb4mc="; }; diff --git a/pkgs/by-name/mg/mgrep/package.nix b/pkgs/by-name/mg/mgrep/package.nix index a72cea1eafb1..724013aea761 100644 --- a/pkgs/by-name/mg/mgrep/package.nix +++ b/pkgs/by-name/mg/mgrep/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, npmHooks, nix-update-script, @@ -19,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jGzOwonT4nq0nMUBBp4Y7BvwTerHLzkTMss9glM+uP4="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-oq7jczTfm6CgLAUYftBlAYK6MFELDRfXCFtjsLWV8mU="; @@ -27,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/mi/misskey/package.nix b/pkgs/by-name/mi/misskey/package.nix index 533058bab6c9..c6a90bde5c48 100644 --- a/pkgs/by-name/mi/misskey/package.nix +++ b/pkgs/by-name/mi/misskey/package.nix @@ -6,6 +6,8 @@ gitUpdater, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, makeWrapper, python3, bash, @@ -14,7 +16,6 @@ writeShellScript, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "misskey"; version = "2025.7.0"; @@ -33,20 +34,22 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 makeWrapper python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; # https://nixos.org/manual/nixpkgs/unstable/#javascript-pnpm - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-5yuM56sLDSo4M5PDl3gUZOdSexW1YjfYBR3BJMqNHzU="; }; @@ -121,7 +124,6 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - inherit (finalAttrs) pnpmDeps; tests.misskey = nixosTests.misskey; updateScript = gitUpdater { }; }; diff --git a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix index dc8892497a67..ef37bffd807d 100644 --- a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix +++ b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix @@ -14,6 +14,8 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, replaceVars, runCommand, rustPlatform, @@ -24,7 +26,6 @@ let gradle = gradle_8.override { java = jdk; }; jdk = jdk11; - pnpm = pnpm_9; in rustPlatform.buildRustPackage (finalAttrs: { @@ -72,8 +73,9 @@ rustPlatform.buildRustPackage (finalAttrs: { data = ./deps.json; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-1tDegt8OgG0ZhvNGpkYQR+PuX/xI287OFk4MGAXUKZQ="; }; @@ -85,7 +87,8 @@ rustPlatform.buildRustPackage (finalAttrs: { gradle nodejs pkg-config - pnpm.configHook + pnpmConfigHook + pnpm_9 ] ++ lib.optional stdenv.hostPlatform.isDarwin makeBinaryWrapper; diff --git a/pkgs/by-name/mo/moonfire-nvr/package.nix b/pkgs/by-name/mo/moonfire-nvr/package.nix index ee6f608a6493..add676149742 100644 --- a/pkgs/by-name/mo/moonfire-nvr/package.nix +++ b/pkgs/by-name/mo/moonfire-nvr/package.nix @@ -10,6 +10,8 @@ moonfire-nvr, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: let @@ -27,10 +29,12 @@ let sourceRoot = "${src.name}/ui"; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; sourceRoot = "${finalAttrs.src.name}/ui"; fetcherVersion = 1; hash = "sha256-7fMhUFlV5lz+A9VG8IdWoc49C2CTdLYQlEgBSBqJvtw="; diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 98bb355dd3fa..7efaeffdd986 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -2,6 +2,8 @@ lib, stdenv, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, fetchFromGitHub, nix-update-script, @@ -23,11 +25,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs_22 - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; buildInputs = [ nodejs_22 ]; diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index 033f3b070709..a37d1277db9b 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, node-gyp, cctools, @@ -14,7 +16,6 @@ libpq, makeWrapper, }: - stdenv.mkDerivation (finalAttrs: { pname = "n8n"; version = "1.123.5"; @@ -26,14 +27,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-B1YL/kGYKHKZ8l50UGDiGwkYedvlYobW9QZzx2FwjDY="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-JlW08N9LuwmWqZsXmu4uMAHO0cb8XtOmtER7Bt/Vg8A="; }; nativeBuildInputs = [ - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 # required to build sqlite3 bindings node-gyp # required to build sqlite3 bindings makeWrapper diff --git a/pkgs/by-name/ni/ni/package.nix b/pkgs/by-name/ni/ni/package.nix index 8696bc359a05..c02bbef5f50f 100644 --- a/pkgs/by-name/ni/ni/package.nix +++ b/pkgs/by-name/ni/ni/package.nix @@ -3,14 +3,13 @@ stdenv, fetchFromGitHub, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "ni"; version = "28.0.0"; @@ -22,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ka+p789qFCyFDFiNQYtcwhihCB05Bbw6/6dgBrR00xg="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-0hxjX5bSqeOU9QNqusUd8L/0hoGsq4LQCr+9+5zrsaA="; @@ -30,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/nr/nrm/package.nix b/pkgs/by-name/nr/nrm/package.nix index dda095ebb145..dd379fe186e7 100644 --- a/pkgs/by-name/nr/nrm/package.nix +++ b/pkgs/by-name/nr/nrm/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, makeBinaryWrapper, nix-update-script, @@ -21,11 +23,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-PENYS5xO2LwT3+TGl/wU2r0ALEj/JQfbkpf/0MJs0uw="; diff --git a/pkgs/by-name/oc/ocis/package.nix b/pkgs/by-name/oc/ocis/package.nix index c00d6bb28f4c..2746044094ea 100644 --- a/pkgs/by-name/oc/ocis/package.nix +++ b/pkgs/by-name/oc/ocis/package.nix @@ -6,6 +6,8 @@ callPackage, gnumake, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, ocis, }: @@ -44,11 +46,17 @@ buildGoModule rec { nativeBuildInputs = [ gnumake nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; sourceRoot = "${src.name}/services/idp"; fetcherVersion = 1; hash = "sha256-gNlN+u/bobnTsXrsOmkDcWs67D/trH3inT5AVQs3Brs="; diff --git a/pkgs/by-name/oc/ocis/web.nix b/pkgs/by-name/oc/ocis/web.nix index 73ae19b50409..3d07c279b267 100644 --- a/pkgs/by-name/oc/ocis/web.nix +++ b/pkgs/by-name/oc/ocis/web.nix @@ -3,6 +3,8 @@ stdenvNoCC, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { @@ -18,7 +20,8 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' @@ -34,8 +37,13 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-3Erva6srdkX1YQ727trx34Ufx524nz19MUyaDQToz6M="; }; diff --git a/pkgs/by-name/op/opencloud/idp-web.nix b/pkgs/by-name/op/opencloud/idp-web.nix index bd481954f09d..7ccd783a0563 100644 --- a/pkgs/by-name/op/opencloud/idp-web.nix +++ b/pkgs/by-name/op/opencloud/idp-web.nix @@ -3,9 +3,10 @@ lib, opencloud, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencloud-idp-web"; @@ -13,8 +14,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmRoot = "services/idp"; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}"; fetcherVersion = 1; hash = "sha256-NW7HK2B9h5JprK3JcIGi/OHcyoa5VTs/P0s3BZr+4FU="; @@ -22,7 +24,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/op/opencloud/web.nix b/pkgs/by-name/op/opencloud/web.nix index 56364d920659..8dddf3e58737 100644 --- a/pkgs/by-name/op/opencloud/web.nix +++ b/pkgs/by-name/op/opencloud/web.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencloud-web"; version = "4.3.0"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-oLGmktFeDykpaK8YqMoIl7RrkPvHw2EULkbn1XDS/Yk="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-+oCoK6u46oPVtsvUEksuFFtjogirN370IsM33H5oOA4="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; buildPhase = '' diff --git a/pkgs/by-name/op/openlist/frontend.nix b/pkgs/by-name/op/openlist/frontend.nix index 35f1c20c5d9f..1dc442995efd 100644 --- a/pkgs/by-name/op/openlist/frontend.nix +++ b/pkgs/by-name/op/openlist/frontend.nix @@ -6,8 +6,9 @@ nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "openlist-frontend"; version = "4.1.8"; @@ -27,11 +28,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-bPI8g7wN9k1fBzj+F9wRDw7XPGT6DKDllbyOmUKi7HY="; }; diff --git a/pkgs/by-name/ov/overlayed/package.nix b/pkgs/by-name/ov/overlayed/package.nix index 6aa60f449e22..7749ffcb8158 100644 --- a/pkgs/by-name/ov/overlayed/package.nix +++ b/pkgs/by-name/ov/overlayed/package.nix @@ -9,13 +9,14 @@ nodejs, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, libayatana-appindicator, libsoup_3, openssl, webkitgtk_4_1, }: - rustPlatform.buildRustPackage rec { pname = "overlayed"; version = "0.6.2"; @@ -32,8 +33,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-6wN4nZQWrY0J5E+auj17B3iJ/84hzBXYA/bJsX/N5pk="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+yyxoodcDfqJ2pkosd6sMk77/71RDsGthedo1Oigwto="; }; @@ -44,7 +46,8 @@ rustPlatform.buildRustPackage rec { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 4adac1514c08..07099e82ff24 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -17,6 +17,8 @@ qpdf, tesseract5, unpaper, + fetchPnpmDeps, + pnpmConfigHook, pnpm, poppler-utils, liberation_ttf, @@ -77,7 +79,7 @@ let src = src + "/src-ui"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-pG7olcBq5P52CvZYLqUjb+RwxjbQbSotlS50pvgm7WQ="; @@ -87,7 +89,8 @@ let node-gyp nodejs_20 pkg-config - pnpm.configHook + pnpmConfigHook + pnpm python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/pa/parca/package.nix b/pkgs/by-name/pa/parca/package.nix index ec351d04c20c..7af0dcc3e798 100644 --- a/pkgs/by-name/pa/parca/package.nix +++ b/pkgs/by-name/pa/parca/package.nix @@ -5,6 +5,8 @@ lib, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenv, }: let @@ -22,8 +24,9 @@ let pname = "parca-ui"; src = "${parca-src}/ui"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src version; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-3egNSL62TyuRg6JDMMptjT0vLlwYdDLnJC2rYzaPE1w="; }; @@ -31,7 +34,8 @@ let nativeBuildInputs = [ faketty nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # faketty is required to work around a bug in nx. diff --git a/pkgs/by-name/pg/pgrok/package.nix b/pkgs/by-name/pg/pgrok/package.nix index 6ee47544a65d..d432451da45a 100644 --- a/pkgs/by-name/pg/pgrok/package.nix +++ b/pkgs/by-name/pg/pgrok/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: let @@ -28,11 +30,17 @@ buildGoModule { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - env.pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + env.pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-o6wxO8EGRmhcYggJnfxDkH+nbt+isc8bfHji8Hu9YKg="; }; diff --git a/pkgs/by-name/pi/piped/package.nix b/pkgs/by-name/pi/piped/package.nix index 8bb53c6754c7..8786972253c1 100644 --- a/pkgs/by-name/pi/piped/package.nix +++ b/pkgs/by-name/pi/piped/package.nix @@ -2,10 +2,14 @@ lib, buildNpmPackage, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, unstableGitUpdater, }: - +let + pnpm = pnpm_9; +in buildNpmPackage rec { pname = "piped"; version = "0-unstable-2024-11-04"; @@ -17,7 +21,8 @@ buildNpmPackage rec { hash = "sha256-o3TwE0s5rim+0VKR+oW9Rv3/eQRf2dgRQK4xjZ9pqCE="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; installPhase = '' runHook preInstall @@ -26,8 +31,13 @@ buildNpmPackage rec { ''; npmDeps = pnpmDeps; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-WtZfRZFRV9I1iBlAoV69GGFjdiQhTSBG/iiEadPVcys="; }; diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index 59d1cc2223f8..79db3ac2f2fe 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -5,10 +5,11 @@ stdenvNoCC, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nixosTests, nix-update-script, }: - buildGo125Module (finalAttrs: { pname = "pocket-id"; version = "1.16.0"; @@ -49,10 +50,12 @@ buildGo125Module (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-drXGcUHP7J7keGra7/x1tr9Pfh/wjzmtUE1yAybYXLQ="; }; diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 70e5aa123821..db4f12a9c91f 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -7,6 +7,8 @@ electron_39, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, makeDesktopItem, darwin, nix-update-script, @@ -60,8 +62,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-08boCPsuT09OileZUWhB8awXWHrlJzoER2Bx0WXeOHU="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-nBjAmXzjR0qGCM91UAonQKP0NG7+DXImueSbhbnMK/k="; }; @@ -76,7 +79,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems diff --git a/pkgs/by-name/po/porn-vault/package.nix b/pkgs/by-name/po/porn-vault/package.nix index 501d8fa8311c..a46669ed76ce 100644 --- a/pkgs/by-name/po/porn-vault/package.nix +++ b/pkgs/by-name/po/porn-vault/package.nix @@ -3,6 +3,8 @@ rustPlatform, lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nodejs_22, ffmpeg, @@ -35,7 +37,6 @@ let mainProgram = "izzy"; }; }; - pnpm = pnpm_9; nodejs = nodejs_22; in stdenvNoCC.mkDerivation (finalAttrs: { @@ -49,15 +50,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-wQ3dqLc0l2BmLGDYrbWxX2mPwO/Tqz0fY/fOQTEUv24="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-Xr9tRiP1hW+aFs9FnPvPkeJ0/LtJI57cjWY5bZQaRTQ="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper ]; diff --git a/pkgs/by-name/pr/prisma/package.nix b/pkgs/by-name/pr/prisma/package.nix index 0290165eb27b..366cf7a06e91 100644 --- a/pkgs/by-name/pr/prisma/package.nix +++ b/pkgs/by-name/pr/prisma/package.nix @@ -4,13 +4,14 @@ stdenv, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, prisma-engines, jq, makeWrapper, moreutils, callPackage, }: - stdenv.mkDerivation (finalAttrs: { pname = "prisma"; version = "6.19.0"; @@ -24,14 +25,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 jq makeWrapper moreutils ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-9v30vhclD+sPcui/VG8dwaC8XGU6QFs/Gu8rjjoQy/w="; }; diff --git a/pkgs/by-name/qu/quantframe/package.nix b/pkgs/by-name/qu/quantframe/package.nix index dd896003c073..bd3a1ff595b6 100644 --- a/pkgs/by-name/qu/quantframe/package.nix +++ b/pkgs/by-name/qu/quantframe/package.nix @@ -5,6 +5,8 @@ cargo-tauri, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, pkg-config, glib-networking, openssl, @@ -36,8 +38,9 @@ rustPlatform.buildRustPackage (finalAttrs: { patches = [ ./0001-disable-telemetry.patch ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-ncoxliXnLxWEXL1Z7ixOULI/uYkxmfLiDWu1tDSRsrM="; }; @@ -49,7 +52,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pkg-config wrapGAppsHook3 nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/qu/qui/package.nix b/pkgs/by-name/qu/qui/package.nix index 5da73191efe6..9048776cac10 100644 --- a/pkgs/by-name/qu/qui/package.nix +++ b/pkgs/by-name/qu/qui/package.nix @@ -6,6 +6,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, typescript, versionCheckHook, }: @@ -25,19 +27,21 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 typescript ]; sourceRoot = "${finalAttrs.src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-6brOEC1UAxjIZB4pujhA624jKTTxfZQiiz/PzqooPeA="; }; diff --git a/pkgs/by-name/re/readest/package.nix b/pkgs/by-name/re/readest/package.nix index f2eb973350e9..d9ddf4780089 100644 --- a/pkgs/by-name/re/readest/package.nix +++ b/pkgs/by-name/re/readest/package.nix @@ -1,6 +1,8 @@ { rustPlatform, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, cargo-tauri, nodejs, pkg-config, @@ -17,7 +19,6 @@ jq, gst_all_1, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "readest"; version = "0.9.95"; @@ -37,8 +38,9 @@ rustPlatform.buildRustPackage (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/apps/readest-app"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-hYwkPqePFPEdqZ3w0mNvNEypsVL1PKv29LFk7b11zkg="; }; @@ -64,7 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 pkg-config wrapGAppsHook3 autoPatchelfHook diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix index b71845c0721b..ddeda9d02960 100644 --- a/pkgs/by-name/re/renovate/package.nix +++ b/pkgs/by-name/re/renovate/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, python3, testers, xcbuild, @@ -12,7 +14,6 @@ nix-update-script, yq-go, }: - stdenv.mkDerivation (finalAttrs: { pname = "renovate"; version = "42.57.1"; @@ -32,14 +33,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 python3 yq-go ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-WTShVxWhdAPbITBaSw6BrqSwSJ9pc2imB+ovjhTT6qY="; }; diff --git a/pkgs/by-name/rm/rmfakecloud/package.nix b/pkgs/by-name/rm/rmfakecloud/package.nix index 4e595ee530b6..30f2153b2ed9 100644 --- a/pkgs/by-name/rm/rmfakecloud/package.nix +++ b/pkgs/by-name/rm/rmfakecloud/package.nix @@ -4,10 +4,11 @@ buildGoModule, enableWebui ? true, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nixosTests, }: - buildGoModule rec { pname = "rmfakecloud"; version = "0.0.26"; @@ -24,10 +25,15 @@ buildGoModule rec { # if using webUI build it # use env because of https://github.com/NixOS/nixpkgs/issues/358844 env.pnpmRoot = "ui"; - env.pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + env.pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; sourceRoot = "${src.name}/ui"; pnpmLock = "${src}/ui/pnpm-lock.yaml"; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-uywmHN9HWKi0CaqTg9uEio2XCu6ap9v2xtbodW/6b4Q="; }; @@ -42,7 +48,8 @@ buildGoModule rec { ''; nativeBuildInputs = lib.optionals enableWebui [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; # ... or don't embed it in the server diff --git a/pkgs/by-name/rq/rquickshare/package.nix b/pkgs/by-name/rq/rquickshare/package.nix index 27e1afea57ec..b64182d66359 100644 --- a/pkgs/by-name/rq/rquickshare/package.nix +++ b/pkgs/by-name/rq/rquickshare/package.nix @@ -10,6 +10,8 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, protobuf, rustPlatform, stdenv, @@ -39,13 +41,14 @@ rustPlatform.buildRustPackage rec { ''; pnpmRoot = "app/main"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src patches ; + pnpm = pnpm_9; postPatch = "cd ${pnpmRoot}"; fetcherVersion = 1; hash = "sha256-VbdMaIEL1e+0U+ny4qbk1Mmkuc3cahKakKKYowCBK5Q="; @@ -64,7 +67,8 @@ rustPlatform.buildRustPackage rec { # Setup pnpm nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 protobuf ] diff --git a/pkgs/by-name/rs/rsshub/package.nix b/pkgs/by-name/rs/rsshub/package.nix index 5cb181fe4873..69130eda875c 100644 --- a/pkgs/by-name/rs/rsshub/package.nix +++ b/pkgs/by-name/rs/rsshub/package.nix @@ -4,12 +4,11 @@ makeBinaryWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, replaceVars, stdenv, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "rsshub"; version = "0-unstable-2025-11-28"; @@ -28,8 +27,9 @@ stdenv.mkDerivation (finalAttrs: { ./0002-fix-network-call.patch ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-zTsJZnhX7xUOsKST6S3TQUV8M1Tewcs9fZgrDSf5ba8="; }; @@ -37,7 +37,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sa/satisfactorymodmanager/package.nix b/pkgs/by-name/sa/satisfactorymodmanager/package.nix index dadfa5a94938..d3d5514a0f1c 100644 --- a/pkgs/by-name/sa/satisfactorymodmanager/package.nix +++ b/pkgs/by-name/sa/satisfactorymodmanager/package.nix @@ -5,6 +5,8 @@ fetchFromGitHub, nodejs_20, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, wails, wrapGAppsHook3, glib-networking, @@ -42,7 +44,8 @@ buildGoModule rec { ''; nativeBuildInputs = [ - pnpm_8.configHook + pnpmConfigHook + pnpm_8 wails' wrapGAppsHook3 copyDesktopItems @@ -55,8 +58,13 @@ buildGoModule rec { # we use env because buildGoModule doesn't forward all normal attrs # this is pretty hacky env = { - pnpmDeps = pnpm_8.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_8; sourceRoot = "${src.name}/frontend"; fetcherVersion = 1; hash = "sha256-OP+3zsNlvqLFwvm2cnBd2bj2Kc3EghQZE3hpotoqqrQ="; diff --git a/pkgs/by-name/se/serve/package.nix b/pkgs/by-name/se/serve/package.nix index 342c0f367280..bfbfc44ddb32 100644 --- a/pkgs/by-name/se/serve/package.nix +++ b/pkgs/by-name/se/serve/package.nix @@ -5,8 +5,9 @@ makeWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, }: - buildNpmPackage (finalAttrs: { pname = "serve"; version = "14.2.4"; @@ -19,13 +20,15 @@ buildNpmPackage (finalAttrs: { }; npmDeps = null; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-IJMu0XHwEn2TZP/He79FFGl/PeXOCTD51lIgmImpyKo="; }; - npmConfigHook = pnpm_9.configHook; + nativeBuildInputs = [ pnpm_9 ]; + npmConfigHook = pnpmConfigHook; dontNpmBuild = true; diff --git a/pkgs/by-name/sf/sftool-gui/package.nix b/pkgs/by-name/sf/sftool-gui/package.nix index c8624f85b52e..9ffcca6a8fed 100644 --- a/pkgs/by-name/sf/sftool-gui/package.nix +++ b/pkgs/by-name/sf/sftool-gui/package.nix @@ -7,6 +7,8 @@ nodejs, libgudev, systemdLibs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, openssl, nix-update-script, @@ -29,7 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-XAU3ru+TxUo99OQwcXNLJ8gzBOZUkC8UCAApz7M/QTM="; cargoRoot = "src-tauri"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { fetcherVersion = 2; inherit (finalAttrs) pname version src; hash = "sha256-gamgu9koBf+JLDswi3eGXRZybF8UiYE8CoifpQCgLaI="; @@ -37,7 +39,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ cargo-tauri.hook - pnpm.configHook + pnpmConfigHook + pnpm nodejs pkg-config ] diff --git a/pkgs/by-name/sh/shadcn/package.nix b/pkgs/by-name/sh/shadcn/package.nix index 8b6cf91e5228..915dc71f8e0b 100644 --- a/pkgs/by-name/sh/shadcn/package.nix +++ b/pkgs/by-name/sh/shadcn/package.nix @@ -5,10 +5,11 @@ makeBinaryWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, testers, shadcn, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "shadcn"; version = "2.0.3"; @@ -21,13 +22,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; pnpmWorkspaces = [ "shadcn" ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-/80LJm65ZRqyfhsNqGl83bsI2wjgVkvrA6Ij4v8rtoQ="; }; @@ -35,7 +37,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sh/sharkey/package.nix b/pkgs/by-name/sh/sharkey/package.nix index fad377864486..efd59ed434db 100644 --- a/pkgs/by-name/sh/sharkey/package.nix +++ b/pkgs/by-name/sh/sharkey/package.nix @@ -15,11 +15,12 @@ pixman, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, vips, xcbuild, }: - stdenv.mkDerivation (finalAttrs: { pname = "sharkey"; version = "2025.4.4"; @@ -33,8 +34,9 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-34X8oJGkGXB9y7W4MquUkv8vY5yq2RoGIUCbjYppkIU="; }; @@ -43,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 python3 ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/sh/shopify-cli/package.nix b/pkgs/by-name/sh/shopify-cli/package.nix index dc3ed41f84bd..a707c6a21b5a 100644 --- a/pkgs/by-name/sh/shopify-cli/package.nix +++ b/pkgs/by-name/sh/shopify-cli/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, faketty, nodejs, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wEddzW5/+qdtNTxdUs7YEA5vk6/KjrVOgWvIeo0o2ww="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; hash = "sha256-JhyZpkrp78FECH6UKYYuhWF2w/mYW1BQG5FIsWh5GRE="; @@ -29,7 +31,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ faketty nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 7d6063b28799..cedd3d933f1d 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -3,6 +3,8 @@ lib, nodejs_22, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, electron_39, python3, makeWrapper, @@ -66,8 +68,9 @@ let inherit version; src = src + "/sticker-creator"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src version; + inherit pnpm; fetcherVersion = 1; hash = "sha256-m/JxsKnVhcya7dUz1MBMQKwEdqoV3xQiGOoT4egh3K4="; }; @@ -75,7 +78,8 @@ let strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' @@ -98,7 +102,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeWrapper copyDesktopItems python3 @@ -124,13 +129,14 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "\''${process.versions.electron}" "`jq -r '.devDependencies.electron' < package.json`" ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + inherit pnpm; fetcherVersion = 1; hash = if withAppleEmojis then diff --git a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix index 7e6f7ebd25a3..30baac157cb5 100644 --- a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix +++ b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix @@ -3,6 +3,8 @@ lib, fetchFromGitHub, pnpm, + fetchPnpmDeps, + pnpmConfigHook, nodejs, rustPlatform, cargo, @@ -20,8 +22,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-70kObW6jYzaquMrj20VMTQg/rDWqIu8o2/m7S3mUZB8="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + inherit pnpm; # may be different than top-level pnpm fetcherVersion = 1; hash = "sha256-regaYG+SDvIgdnHQVR1GG1A1FSBXpzFfLuyTEdMt1kQ="; }; @@ -36,7 +39,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm rustPlatform.cargoSetupHook cargo dump_syms diff --git a/pkgs/by-name/si/siyuan/package.nix b/pkgs/by-name/si/siyuan/package.nix index 5624ed00b36c..d13778f968c4 100644 --- a/pkgs/by-name/si/siyuan/package.nix +++ b/pkgs/by-name/si/siyuan/package.nix @@ -7,6 +7,8 @@ pandoc, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, electron, makeWrapper, makeDesktopItem, @@ -16,8 +18,6 @@ }: let - pnpm = pnpm_9; - platformIds = { "x86_64-linux" = "linux"; "aarch64-linux" = "linux-arm64"; @@ -84,12 +84,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 makeWrapper copyDesktopItems ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -97,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot postPatch ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-bteZZ9sgYLLvOPSVbqm9E0Hb5x1UdWMu8DtpQHGjbPU="; }; diff --git a/pkgs/by-name/sk/sketchybar-app-font/package.nix b/pkgs/by-name/sk/sketchybar-app-font/package.nix index e304a4106e22..a3b517410dce 100644 --- a/pkgs/by-name/sk/sketchybar-app-font/package.nix +++ b/pkgs/by-name/sk/sketchybar-app-font/package.nix @@ -2,11 +2,12 @@ fetchFromGitHub, lib, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nodejs, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "sketchybar-app-font"; version = "2.0.49"; @@ -18,15 +19,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-Dsp7cv9+g8PDunDnTGnWF4z88SmlJYErfWWylU9mAag="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-NGAgueJ+cuK/csjdf94KNklu+Xf91BHoWKVgEctX6eA="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/sl/slimevr/package.nix b/pkgs/by-name/sl/slimevr/package.nix index 1c9b6e87f278..a6be9663fc6a 100644 --- a/pkgs/by-name/sl/slimevr/package.nix +++ b/pkgs/by-name/sl/slimevr/package.nix @@ -7,6 +7,8 @@ slimevr-server, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, cargo-tauri, wrapGAppsHook3, @@ -18,7 +20,6 @@ libayatana-appindicator, udevCheckHook, }: - rustPlatform.buildRustPackage rec { pname = "slimevr"; version = "18.1.0"; @@ -36,16 +37,18 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-X5IgWZlkvsstMN3YS4r+NJl6RVfREfZqKUrfsrUPQuU="; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { pname = "${pname}-pnpm-deps"; inherit version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-ExjEAr38GX2iZThVj3C3N/9mPgf0Bs7J5OAwtDdmn6I="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 cargo-tauri.hook pkg-config wrapGAppsHook3 @@ -89,7 +92,7 @@ rustPlatform.buildRustPackage rec { ''; # solarxr needs to be installed after compiling its Typescript files. This isn't - # done the first time, because `pnpm_9.configHook` ignores `package.json` scripts. + # done the first time, because `pnpmConfigHook` ignores `package.json` scripts. preBuild = '' pnpm --filter solarxr-protocol build ''; diff --git a/pkgs/by-name/sp/splayer/package.nix b/pkgs/by-name/sp/splayer/package.nix index 365061b56d0b..6949878a5fee 100644 --- a/pkgs/by-name/sp/splayer/package.nix +++ b/pkgs/by-name/sp/splayer/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, electron, makeWrapper, @@ -22,16 +24,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7guh5KJ9RbYCiifH0ERXbIXxoJDxanUAHAf/zux7yU4="; }; - pnpm = pnpm_10; - - pnpmDeps = finalAttrs.pnpm.fetchDeps { - inherit (finalAttrs) pname version src; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-3t9Qx+1OQwqVvzgYssP8azGG/PNSJkrG614wQh0W4WQ="; }; nativeBuildInputs = [ - finalAttrs.pnpm.configHook + pnpmConfigHook + pnpm_10 nodejs makeWrapper copyDesktopItems diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index b7e4d9dad204..ede68327e562 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -3,10 +3,11 @@ lib, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, stdenvNoCC, nix-update-script, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "stylelint-lsp"; version = "2.0.1"; @@ -23,11 +24,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-PVA6sXbiuxqvi9u3sPoeVIJSSpSbFQHQQnTFO3w31WE="; }; diff --git a/pkgs/by-name/sv/svelte-check/package.nix b/pkgs/by-name/sv/svelte-check/package.nix index 99cbb21e53b0..db3b2bfdb053 100644 --- a/pkgs/by-name/sv/svelte-check/package.nix +++ b/pkgs/by-name/sv/svelte-check/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, makeBinaryWrapper, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "svelte-check..." ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/sv/svelte-language-server/package.nix b/pkgs/by-name/sv/svelte-language-server/package.nix index 523dba7c1e10..c0c89f5b63c8 100644 --- a/pkgs/by-name/sv/svelte-language-server/package.nix +++ b/pkgs/by-name/sv/svelte-language-server/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, makeBinaryWrapper, @@ -20,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "svelte-language-server..." ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -33,7 +35,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/sy/synchrony/package.nix b/pkgs/by-name/sy/synchrony/package.nix index 21ed6c385e09..6ae8a3244c62 100644 --- a/pkgs/by-name/sy/synchrony/package.nix +++ b/pkgs/by-name/sy/synchrony/package.nix @@ -4,11 +4,12 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, fetchurl, runCommand, }: - stdenv.mkDerivation (finalAttrs: { pname = "synchrony"; version = "2.4.5"; @@ -22,11 +23,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-+hS4UK7sncCxv6o5Yl72AeY+LSGLnUTnKosAYB6QsP0="; }; diff --git a/pkgs/by-name/sy/syncyomi/package.nix b/pkgs/by-name/sy/syncyomi/package.nix index 21a7e6bc5211..32ba628f6774 100644 --- a/pkgs/by-name/sy/syncyomi/package.nix +++ b/pkgs/by-name/sy/syncyomi/package.nix @@ -5,9 +5,10 @@ buildGoModule, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, esbuild, }: - buildGoModule rec { pname = "syncyomi"; version = "1.1.2"; @@ -26,20 +27,22 @@ buildGoModule rec { inherit src version; sourceRoot = "${finalAttrs.src.name}/web"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-edcZIqshnvM3jJpZWIR/UncI0VCMLq26h/n3VvV/384="; }; nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; env.ESBUILD_BINARY_PATH = lib.getExe ( diff --git a/pkgs/by-name/ta/tabby-agent/package.nix b/pkgs/by-name/ta/tabby-agent/package.nix index 2aebd67b86a0..fe2fe29fcfe2 100644 --- a/pkgs/by-name/ta/tabby-agent/package.nix +++ b/pkgs/by-name/ta/tabby-agent/package.nix @@ -5,6 +5,8 @@ nix-update-script, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +21,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 wrapGAppsHook3 ]; @@ -46,8 +49,9 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SiJJxRzmKQxqw3UESN7q+3qkU1nK+7z6K5RpIMRRces="; }; diff --git a/pkgs/by-name/ta/tailwindcss-language-server/package.nix b/pkgs/by-name/ta/tailwindcss-language-server/package.nix index e1bfc8baaf33..22201196087c 100644 --- a/pkgs/by-name/ta/tailwindcss-language-server/package.nix +++ b/pkgs/by-name/ta/tailwindcss-language-server/package.nix @@ -4,9 +4,10 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "tailwindcss-language-server"; version = "0.14.28"; @@ -18,19 +19,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jds6Wq4rcR4wXonZ1v9JITiEc4gflT0sTc3KUSBCMFc="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-1F4DeqJWJs3L1hDzNn7PJr9sSBv2TcN8QfV8/pwAKuU="; }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/ta/taler-wallet-core/package.nix b/pkgs/by-name/ta/taler-wallet-core/package.nix index 313bd567b98b..4639706d1da3 100644 --- a/pkgs/by-name/ta/taler-wallet-core/package.nix +++ b/pkgs/by-name/ta/taler-wallet-core/package.nix @@ -9,6 +9,8 @@ removeReferencesTo, nodejs_20, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3, gitMinimal, jq, @@ -48,14 +50,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ customPython nodejs_20 - pnpm_9.configHook + pnpmConfigHook + pnpm_9 gitMinimal jq zip ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-pLe5smsXdzSBgz/OYNO5FVEI2L6y/p+jMxEkzqUaX34="; }; diff --git a/pkgs/by-name/ta/taze/package.nix b/pkgs/by-name/ta/taze/package.nix index 602332bcf7f6..99c765af724a 100644 --- a/pkgs/by-name/ta/taze/package.nix +++ b/pkgs/by-name/ta/taze/package.nix @@ -4,13 +4,12 @@ fetchFromGitHub, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, npmHooks, versionCheckHook, nix-update-script, }: -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "taze"; version = "19.9.2"; @@ -22,15 +21,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-6VH1j2v9gySalq6OXL1WzEApcaoE1VxHdrZtYv2xKZk="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-SV8dHPydTOz/cbOY3p4npp0uMjh3hSXH9ZNk4BtHb4w="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 npmHooks.npmInstallHook ]; diff --git a/pkgs/by-name/te/textlint/package.nix b/pkgs/by-name/te/textlint/package.nix index 904b04dcb604..279c11080103 100644 --- a/pkgs/by-name/te/textlint/package.nix +++ b/pkgs/by-name/te/textlint/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs-slim, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, versionCheckHook, runCommand, textlint, @@ -25,7 +27,6 @@ textlint-rule-unexpanded-acronym, textlint-rule-write-good, }: - stdenv.mkDerivation (finalAttrs: { pname = "textlint"; version = "15.2.1"; @@ -49,13 +50,14 @@ stdenv.mkDerivation (finalAttrs: { ./remove-overrides.patch ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-TyKtH4HjCDTydVd/poG05Yh5nRSfcrSPzFLEE3Oq2uo="; }; @@ -63,7 +65,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs-slim - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildPhase = '' diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index e17dabd445a2..2101461f2154 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs_22, versionCheckHook, }: @@ -17,15 +19,21 @@ stdenv.mkDerivation rec { hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; }; nativeBuildInputs = [ nodejs_22 - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ diff --git a/pkgs/by-name/ty/typespec/package.nix b/pkgs/by-name/ty/typespec/package.nix index 2a06e30892ea..dd33b6964e95 100644 --- a/pkgs/by-name/ty/typespec/package.nix +++ b/pkgs/by-name/ty/typespec/package.nix @@ -5,6 +5,8 @@ makeWrapper, nix-update-script, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, versionCheckHook, }: @@ -26,11 +28,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; pnpmWorkspaces = [ workspace ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version diff --git a/pkgs/by-name/um/umami/package.nix b/pkgs/by-name/um/umami/package.nix index e8c7c978287a..45ce1bcab642 100644 --- a/pkgs/by-name/um/umami/package.nix +++ b/pkgs/by-name/um/umami/package.nix @@ -6,7 +6,9 @@ makeWrapper, nixosTests, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, prisma, prisma-engines, openssl, @@ -18,7 +20,6 @@ }: let sources = lib.importJSON ./sources.json; - pnpm = pnpm_10; geocities = stdenvNoCC.mkDerivation { pname = "umami-geocities"; @@ -77,7 +78,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; src = fetchFromGitHub { @@ -87,7 +89,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-rkOD52suE6bihJqKvMdIvqHRIcWhSxXzUkCfmdNbC40="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 230f911d40f1..3fc05a8b92c4 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -7,6 +7,8 @@ nix-update, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, stdenv, writeShellScript, discord, @@ -15,7 +17,6 @@ discord-development, buildWebExtension ? false, }: - stdenv.mkDerivation (finalAttrs: { pname = "vencord"; version = "1.13.9"; @@ -35,8 +36,9 @@ stdenv.mkDerivation (finalAttrs: { ''; pnpmDeps = - (pnpm_10.fetchDeps { + (fetchPnpmDeps { inherit (finalAttrs) pname src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; }).overrideAttrs @@ -45,7 +47,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ git nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ]; env = { diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix index b31f5a78d051..b72a7346ab3c 100644 --- a/pkgs/by-name/ve/vesktop/package.nix +++ b/pkgs/by-name/ve/vesktop/package.nix @@ -14,6 +14,8 @@ libpulseaudio, autoPatchelfHook, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, withTTS ? true, @@ -33,20 +35,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZFAsyH+5duKerZissOR/lESLetqqEMLk86msLlQO1xU="; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src patches ; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-7fYD4lTSLCMOa+CqGlL45Mjw6qMfIJddPcRF5/dGGrk="; }; nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # vesktop uses venmic, which is a shipped as a prebuilt node module diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index 89200906e53b..cde985c5b1fb 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -3,7 +3,9 @@ fetchFromGitHub, stdenv, nodejs, - pnpm, + pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, buildGoModule, mage, writeShellScriptBin, @@ -28,7 +30,7 @@ let ]; sourceRoot = "${finalAttrs.src.name}/frontend"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -36,13 +38,15 @@ let src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-94ZlywOZYmW/NsvE0dtEA81MeBWGUrJsBXTUauuOmZM="; }; nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; doCheck = true; diff --git a/pkgs/by-name/vo/voicevox/package.nix b/pkgs/by-name/vo/voicevox/package.nix index 5763fc217fd5..f18c692ba22a 100644 --- a/pkgs/by-name/vo/voicevox/package.nix +++ b/pkgs/by-name/vo/voicevox/package.nix @@ -11,16 +11,15 @@ makeWrapper, moreutils, nodejs, - pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, _7zz, electron, voicevox-engine, }: -let - pnpm = pnpm_10; -in stdenv.mkDerivation (finalAttrs: { pname = "voicevox"; version = "0.25.0"; @@ -46,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { jq "del(.packageManager) | .version = \"$version\"" package.json | sponge package.json ''; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version @@ -72,7 +71,8 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper moreutils nodejs - pnpm.configHook + pnpmConfigHook + pnpm ] ++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems diff --git a/pkgs/by-name/vt/vtsls/package.nix b/pkgs/by-name/vt/vtsls/package.nix index 60e3e3a6803f..440b76ccb985 100644 --- a/pkgs/by-name/vt/vtsls/package.nix +++ b/pkgs/by-name/vt/vtsls/package.nix @@ -6,9 +6,10 @@ gitMinimal, gitSetupHook, pnpm_8, + fetchPnpmDeps, + pnpmConfigHook, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "vtsls"; version = "0.2.9"; @@ -26,20 +27,22 @@ stdenv.mkDerivation (finalAttrs: { # patches are applied with git during build gitMinimal gitSetupHook - pnpm_8.configHook + pnpmConfigHook + pnpm_8 ]; buildInputs = [ nodejs_22 ]; pnpmWorkspaces = [ "@vtsls/language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pnpmWorkspaces pname src version ; + pnpm = pnpm_8; fetcherVersion = 1; hash = "sha256-SdqeTYRH60CyU522+nBo0uCDnzxDP48eWBAtGTL/pqg="; }; diff --git a/pkgs/by-name/vu/vue-language-server/package.nix b/pkgs/by-name/vu/vue-language-server/package.nix index 7277fdda6491..314dfbca2e4e 100644 --- a/pkgs/by-name/vu/vue-language-server/package.nix +++ b/pkgs/by-name/vu/vue-language-server/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, nix-update-script, @@ -18,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cizb5nm1udYssh4EcWEWU22sZJP5so+oiYe8yaPqO98="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-urnzAHrhuqw/7UwryNnR/BCMyxbzGXKUx0PQ+oAd27o="; @@ -26,7 +28,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm makeBinaryWrapper ]; diff --git a/pkgs/by-name/we/wealthfolio/package.nix b/pkgs/by-name/we/wealthfolio/package.nix index 9c72251fd98d..2959a2bdeeab 100644 --- a/pkgs/by-name/we/wealthfolio/package.nix +++ b/pkgs/by-name/we/wealthfolio/package.nix @@ -10,12 +10,13 @@ openssl, pkg-config, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, rustPlatform, webkitgtk_4_1, wrapGAppsHook3, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "wealthfolio"; version = "1.2.3"; @@ -27,8 +28,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-bp8BxJp/Ga9Frqyvl76Fh9AfSEKv3W+P1ND9zqeMXhg="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) src pname version; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-imExQiPl6sjYD//p788dGYEn+DRs9H8l9sGmCdl5Cic="; }; @@ -52,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: { moreutils nodejs pkg-config - pnpm_9.configHook + pnpmConfigHook + pnpm_9 rustPlatform.cargoSetupHook wrapGAppsHook3 ]; diff --git a/pkgs/by-name/wo/wox/package.nix b/pkgs/by-name/wo/wox/package.nix index 2c794d504d4c..46e6827680f8 100644 --- a/pkgs/by-name/wo/wox/package.nix +++ b/pkgs/by-name/wo/wox/package.nix @@ -6,6 +6,8 @@ keybinder3, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, python3Packages, writableTmpDirAsHomeHook, buildGoModule, @@ -64,16 +66,18 @@ let nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-OyXYuUCvT9I5xusouoBG9CX4Efl+aTZAYSkOBVDzQVs="; }; diff --git a/pkgs/by-name/wr/wrangler/package.nix b/pkgs/by-name/wr/wrangler/package.nix index 794b0d93fcfc..12f26578b864 100644 --- a/pkgs/by-name/wr/wrangler/package.nix +++ b/pkgs/by-name/wr/wrangler/package.nix @@ -5,6 +5,8 @@ makeWrapper, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, autoPatchelfHook, cacert, llvmPackages, @@ -26,13 +28,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-aDBKdpAoeVmKRvgNfQ9UrwpoeRG+WWHJ9pu1jrnxA0M="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src postPatch ; + pnpm = pnpm_9; fetcherVersion = 2; hash = "sha256-TiaMBbx3diKkyYWD0tbqnLwvvjF4LfL/GhlONJ0iUH4="; }; @@ -59,7 +62,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 jq moreutils ] diff --git a/pkgs/by-name/za/zammad/package.nix b/pkgs/by-name/za/zammad/package.nix index c38c37a4f85b..0e4e73f2d83e 100644 --- a/pkgs/by-name/za/zammad/package.nix +++ b/pkgs/by-name/za/zammad/package.nix @@ -13,6 +13,8 @@ moreutils, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, cacert, valkey, dataDir ? "/var/lib/zammad", @@ -70,7 +72,8 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ valkey postgresql - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs procps cacert @@ -78,8 +81,9 @@ stdenvNoCC.mkDerivation { env.RAILS_ENV = "production"; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-mfdzb/LXQYL8kaQpWi9wD3OOroOOonDlJrhy9Dwl1no"; diff --git a/pkgs/by-name/za/zashboard/package.nix b/pkgs/by-name/za/zashboard/package.nix index ee7901d6c84c..f4021dbc853e 100644 --- a/pkgs/by-name/za/zashboard/package.nix +++ b/pkgs/by-name/za/zashboard/package.nix @@ -3,10 +3,11 @@ stdenv, fetchFromGitHub, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, nodejs, nix-update-script, }: - stdenv.mkDerivation (finalAttrs: { pname = "zashboard"; version = "1.108.0"; @@ -19,12 +20,14 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - pnpm_9.configHook + pnpmConfigHook + pnpm_9 nodejs ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-0qoyN46DDdj9vy7qMRGtNrWKZVsBRv22NQBhB7sz1+U="; }; diff --git a/pkgs/by-name/ze/zenn-cli/package.nix b/pkgs/by-name/ze/zenn-cli/package.nix index d01bf284ec02..f8e8cf443630 100644 --- a/pkgs/by-name/ze/zenn-cli/package.nix +++ b/pkgs/by-name/ze/zenn-cli/package.nix @@ -5,8 +5,13 @@ makeWrapper, nodejs, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, testers, }: +let + pnpm = pnpm_10; +in stdenv.mkDerivation (finalAttrs: { pname = "zenn-cli"; version = "0.2.10"; @@ -20,19 +25,21 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_10.configHook + pnpmConfigHook + pnpm_10 makeWrapper ]; pnpmWorkspaces = [ "zenn-cli..." ]; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; + pnpm = pnpm_10; fetcherVersion = 1; hash = "sha256-WXsS5/J08n/dWV5MbyX4vK7j1mfiUoLdzwmzyqoX3FA="; }; diff --git a/pkgs/by-name/zi/zigbee2mqtt/package.nix b/pkgs/by-name/zi/zigbee2mqtt/package.nix index f3f9618156ff..390da59ecb47 100644 --- a/pkgs/by-name/zi/zigbee2mqtt/package.nix +++ b/pkgs/by-name/zi/zigbee2mqtt/package.nix @@ -5,15 +5,13 @@ nodejs, npmHooks, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, systemdMinimal, nixosTests, nix-update-script, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, }: - -let - pnpm = pnpm_9; -in stdenv.mkDerivation (finalAttrs: { pname = "zigbee2mqtt"; version = "2.7.1"; @@ -25,8 +23,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-aKLgp8/BkxBu2lQwFeG4VhjzN9/X8sYuhILXjUreZBQ="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-XHDSjjYt/wbCdafLQ73dxDD+1ClbFtI7NejS9h5SNmE="; }; @@ -34,7 +33,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs npmHooks.npmInstallHook - pnpm.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = lib.optionals withSystemd [ diff --git a/pkgs/by-name/zi/zipline/package.nix b/pkgs/by-name/zi/zipline/package.nix index ba65f44c4cc1..e2925570451d 100644 --- a/pkgs/by-name/zi/zipline/package.nix +++ b/pkgs/by-name/zi/zipline/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, nodejs_24, makeWrapper, prisma-engines, @@ -46,8 +48,9 @@ stdenv.mkDerivation (finalAttrs: { ''; }; - pnpmDeps = pnpm_10.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_10; fetcherVersion = 2; hash = "sha256-i5unHz7Hs9zvnjgLwHJaoFdM2z/5ucXZG8eouko1Res="; }; @@ -58,7 +61,8 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pnpm_10.configHook + pnpmConfigHook + pnpm_10 nodejs_24 makeWrapper # for sharp build: diff --git a/pkgs/development/python-modules/django-filingcabinet/default.nix b/pkgs/development/python-modules/django-filingcabinet/default.nix index da154d8c7422..ac426b332d98 100644 --- a/pkgs/development/python-modules/django-filingcabinet/default.nix +++ b/pkgs/development/python-modules/django-filingcabinet/default.nix @@ -29,6 +29,8 @@ poppler-utils, pytest-playwright, playwright-driver, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, markdown, @@ -60,7 +62,8 @@ buildPythonPackage rec { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; dependencies = [ @@ -92,7 +95,7 @@ buildPythonPackage rec { #annotate = [ fcdocs-annotate ]; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version src; fetcherVersion = 1; hash = "sha256-kvLV/pCX/wQHG0ttrjSro7/CoQ5K1T0aFChafQOwvNw="; diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index 634bfc6c0021..03872f6ecd5f 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -15,6 +15,8 @@ zip, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, # dependencies setuptools, @@ -72,7 +74,6 @@ vega-datasets, writableTmpDirAsHomeHook, }: - buildPythonPackage rec { pname = "gradio"; version = "5.49.1"; @@ -85,8 +86,13 @@ buildPythonPackage rec { hash = "sha256-tfjyu2yl+2ndPZWrsSrVf8qv2eqpU5ZJHVqM9saJVt4="; }; - pnpmDeps = pnpm_9.fetchDeps { - inherit pname version src; + pnpmDeps = fetchPnpmDeps { + inherit + pname + version + src + ; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-XnCx34nbX+essVfXJlxvYB9/lnolAkF81Jp6dAOqr8E="; }; @@ -106,7 +112,8 @@ buildPythonPackage rec { nativeBuildInputs = [ zip nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; build-system = [ diff --git a/pkgs/development/python-modules/yt-dlp-ejs/default.nix b/pkgs/development/python-modules/yt-dlp-ejs/default.nix index cd4f11303a3d..156b6cd48f8b 100644 --- a/pkgs/development/python-modules/yt-dlp-ejs/default.nix +++ b/pkgs/development/python-modules/yt-dlp-ejs/default.nix @@ -5,6 +5,8 @@ hatch-vcs, hatchling, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, }: @@ -20,7 +22,7 @@ buildPythonPackage rec { hash = "sha256-o6qf4rfj42mCyvCBb+wyJmZKg3Q+ojsqbCcBfIJnTPg="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit pname version @@ -37,7 +39,8 @@ buildPythonPackage rec { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; pythonImportsCheck = [ "yt_dlp_ejs" ]; diff --git a/pkgs/development/tools/continuous-integration/woodpecker/webui.nix b/pkgs/development/tools/continuous-integration/woodpecker/webui.nix index b39f29bfb867..65dd8518fe04 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/webui.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/webui.nix @@ -3,6 +3,8 @@ stdenv, callPackage, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, }: let @@ -14,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${common.src.name}/web"; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; sourceRoot = "${common.src.name}/web"; fetcherVersion = 2; @@ -23,7 +25,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; buildPhase = '' diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index e200d8debcd4..5d7c7be33574 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -3,6 +3,7 @@ stdenvNoCC, writeScript, fetchPnpmDeps, + pnpmConfigHook, fetchurl, installShellFiles, nodejs, @@ -11,7 +12,6 @@ version, hash, buildPackages, - pnpmConfigHook, }: let majorVersion = lib.versions.major version; diff --git a/pkgs/servers/authelia/default.nix b/pkgs/servers/authelia/default.nix index 428fdb199f6c..8674cc2b00da 100644 --- a/pkgs/servers/authelia/default.nix +++ b/pkgs/servers/authelia/default.nix @@ -2,13 +2,23 @@ lib, stdenv, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, fetchFromGitHub, buildGoModule, installShellFiles, callPackage, nixosTests, - authelia-web ? callPackage ./web.nix { inherit nodejs pnpm fetchFromGitHub; }, + authelia-web ? callPackage ./web.nix { + inherit + nodejs + fetchPnpmDeps + pnpmConfigHook + pnpm + fetchFromGitHub + ; + }, }: let diff --git a/pkgs/servers/authelia/web.nix b/pkgs/servers/authelia/web.nix index fcad0e1de466..9ae3faf4c9ba 100644 --- a/pkgs/servers/authelia/web.nix +++ b/pkgs/servers/authelia/web.nix @@ -1,6 +1,8 @@ { stdenv, nodejs, + fetchPnpmDeps, + pnpmConfigHook, pnpm, fetchFromGitHub, }: @@ -21,16 +23,18 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm.configHook + pnpmConfigHook + pnpm ]; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src sourceRoot ; + inherit pnpm; # This may be different than pkgs.pnpm fetcherVersion = 1; hash = pnpmDepsHash; }; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix index 91d365b514d5..874e39ee50a5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix @@ -2,6 +2,8 @@ lib, stdenvNoCC, fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, pnpm, nodejs, }: @@ -17,14 +19,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-aV4dMt79t9ZZm+Z08odSONf/ghow4U+/aryk2+GJZvw="; }; - pnpmDeps = pnpm.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; hash = "sha256-gfjRgq75hKxgfOn0wnWIzcFcdWVe7PZ4z8YHxLTCsjo="; }; nativeBuildInputs = [ - pnpm.configHook + pnpmConfigHook + pnpm nodejs ]; diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index f1663f7831d8..d01fea8b7dde 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -40,6 +40,8 @@ rustc, cargo, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, svgo, nodejs, jq, @@ -299,9 +301,10 @@ let pname = "discourse-assets"; inherit version src; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { pname = "discourse-assets"; inherit version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = "sha256-npRKX5Lr2QrPD8OFBysDl30exP+FTnjMxFeR/Gv0Z0I="; }; @@ -316,7 +319,8 @@ let jq moreutils nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; outputs = [ diff --git a/pkgs/servers/web-apps/lemmy/ui.nix b/pkgs/servers/web-apps/lemmy/ui.nix index 6b4294db9a32..072baf48648e 100644 --- a/pkgs/servers/web-apps/lemmy/ui.nix +++ b/pkgs/servers/web-apps/lemmy/ui.nix @@ -4,6 +4,8 @@ libsass, nodejs, pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, fetchFromGitHub, nixosTests, vips, @@ -28,7 +30,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpmConfigHook + pnpm_9 ]; buildInputs = [ @@ -37,8 +40,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; extraBuildInputs = [ libsass ]; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm_9; fetcherVersion = 1; hash = pinData.uiPNPMDepsHash; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e651b36d1f30..408cf272f429 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1476,7 +1476,6 @@ with pkgs; authelia = callPackage ../servers/authelia { buildGoModule = buildGo124Module; - pnpm = pnpm_10; }; authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { }); @@ -3935,8 +3934,6 @@ with pkgs; pythonPackages = python3Packages; }; - vikunja = callPackage ../by-name/vi/vikunja/package.nix { pnpm = pnpm_9; }; - vimpager = callPackage ../tools/misc/vimpager { }; vimpager-latest = callPackage ../tools/misc/vimpager/latest.nix { }; @@ -12496,9 +12493,7 @@ with pkgs; youtube-dl-light = with python3Packages; toPythonApplication youtube-dl-light; - youtube-music = callPackage ../applications/audio/youtube-music { - pnpm = pnpm_10; - }; + youtube-music = callPackage ../applications/audio/youtube-music { }; yt-dlp-light = yt-dlp.override { atomicparsleySupport = false; From e7dd455b9ded56d7ad97f523a7acfe4c88dbf5da Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 10 Dec 2025 12:25:26 +0100 Subject: [PATCH 260/332] pnpm: add warning for deprecated fetcher and configHook attributes Deprecate package-level pnpm tooling in favor of top-level attributes. This doesn't cause any rebuilds. Signed-off-by: Sefa Eyeoglu --- pkgs/development/tools/pnpm/generic.nix | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index 5d7c7be33574..35bf64af696e 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -76,16 +76,25 @@ stdenvNoCC.mkDerivation (finalAttrs: { in { fetchDeps = - { ... }@args: - fetchPnpmDeps args - // { - pnpm = pnpm'; - }; - configHook = pnpmConfigHook.overrideAttrs (prevAttrs: { - propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ - pnpm' - ]; - }); + lib.warn + "pnpm.fetchDeps: The package attribute is deprecated. Use the top-level fetchPnpmDeps attribute instead" + ( + { ... }@args: + fetchPnpmDeps args + // { + pnpm = pnpm'; + } + ); + configHook = + lib.warn + "pnpm.configHook: The package attribue is deprecated. Use the top-level pnpmConfigHook attribute instead" + ( + pnpmConfigHook.overrideAttrs (prevAttrs: { + propagatedBuildInputs = prevAttrs.propagatedBuildInputs or [ ] ++ [ + pnpm' + ]; + }) + ); inherit majorVersion; tests.version = lib.optionalAttrs withNode ( From 63cdea53595d89771ea544783ef89dbeb414094b Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 15 Dec 2025 14:51:18 +0100 Subject: [PATCH 261/332] fetchPnpmDeps: allow passing existing derivation args Previously, users had to add hacks to add additional nativeBuildInputs entries to the fetcher. This way we allow users to append nativeBuildInputs, impureEnvVars and also merge potential passthru attributes. This might cause rebuilds. Signed-off-by: Sefa Eyeoglu --- pkgs/build-support/node/fetch-pnpm-deps/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/node/fetch-pnpm-deps/default.nix b/pkgs/build-support/node/fetch-pnpm-deps/default.nix index d3ce1787aac4..c55b9091b622 100644 --- a/pkgs/build-support/node/fetch-pnpm-deps/default.nix +++ b/pkgs/build-support/node/fetch-pnpm-deps/default.nix @@ -74,9 +74,11 @@ in pnpm # from args yq zstd - ]; + ] + ++ args.nativeBuildInputs or [ ]; - impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ]; + impureEnvVars = + lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ]; installPhase = '' runHook preInstall @@ -172,7 +174,7 @@ in runHook postFixup ''; - passthru = { + passthru = args.passthru or { } // { inherit fetcherVersion; serve = callPackage ./serve.nix { inherit pnpm; # from args From 89153437081e68e880af10060dce996e570efd76 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:39:54 +0100 Subject: [PATCH 262/332] treewide: override pnpm nodejs versions Some packages in nixpkgs were using different nodejs versions, but were not overriding pnpm to match. Apart from reducing the derivation size, this could prevent future issues due to version mismatches. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/cl/claude-code-router/package.nix | 9 +++++---- pkgs/by-name/e-/e-search/package.nix | 5 +++-- pkgs/by-name/mo/moonlight/package.nix | 9 +++++---- pkgs/by-name/pa/paperless-ngx/package.nix | 7 +++++-- pkgs/by-name/po/porn-vault/package.nix | 5 +++-- pkgs/by-name/sa/satisfactorymodmanager/package.nix | 5 +++-- pkgs/by-name/ta/taler-wallet-core/package.nix | 5 +++-- pkgs/by-name/ts/tsx/package.nix | 7 +++++-- pkgs/by-name/vt/vtsls/package.nix | 7 +++++-- pkgs/by-name/zi/zipline/package.nix | 6 ++++-- 10 files changed, 41 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/cl/claude-code-router/package.nix b/pkgs/by-name/cl/claude-code-router/package.nix index eb6ec4a4ac3b..736842ad94cd 100644 --- a/pkgs/by-name/cl/claude-code-router/package.nix +++ b/pkgs/by-name/cl/claude-code-router/package.nix @@ -12,6 +12,7 @@ }: let buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_24; }; + pnpm' = pnpm_9.override { nodejs = nodejs_24; }; in buildNpmPackage' (finalAttrs: { pname = "claude-code-router"; @@ -32,7 +33,7 @@ buildNpmPackage' (finalAttrs: { npmDeps = null; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys="; }; @@ -40,7 +41,7 @@ buildNpmPackage' (finalAttrs: { nativeBuildInputs = [ esbuild makeBinaryWrapper - pnpm_9 + pnpm' ]; npmConfigHook = pnpmConfigHook; @@ -81,13 +82,13 @@ buildNpmPackage' (finalAttrs: { npmDeps = null; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs') pname src sourceRoot; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac="; }; nativeBuildInputs = [ - pnpm_9 + pnpm' ]; npmConfigHook = pnpmConfigHook; diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index aeddb8a6ffd5..13ce01bbf89e 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -33,6 +33,7 @@ }: let + pnpm' = pnpm_10.override { nodejs = nodejs_20; }; eSearch-OCR-ch = fetchzip { url = "https://github.com/xushengfeng/eSearch-OCR/releases/download/4.0.0/ch.zip"; hash = "sha256-0NCXuy8k9/AdpK4ie49S8032u37gNhX6Jc6bOGufrV4="; @@ -64,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; + pnpm = pnpm'; fetcherVersion = 2; prePnpmInstall = '' export PATH=$PATH:${gitMinimal}/bin @@ -76,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { autoPatchelfHook gobject-introspection pnpmConfigHook - pnpm_10 + pnpm' makeWrapper nodejs_20 ]; diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 7efaeffdd986..c7cfd0907951 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -12,6 +12,9 @@ discord-canary, discord-development, }: +let + pnpm' = pnpm_10.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation (finalAttrs: { pname = "moonlight"; version = "1.3.33"; @@ -26,14 +29,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs_22 pnpmConfigHook - pnpm_10 + pnpm' ]; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; - - buildInputs = [ nodejs_22 ]; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-PRlgwyePFpFdQRcojGDEC4ESZEGTJf1Ad9EFgm8hmKY="; diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 07099e82ff24..e6aaf18bc678 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -19,7 +19,7 @@ unpaper, fetchPnpmDeps, pnpmConfigHook, - pnpm, + pnpm_10, poppler-utils, liberation_ttf, xcbuild, @@ -61,6 +61,8 @@ let }; }; + pnpm' = pnpm_10.override { nodejs = nodejs_20; }; + path = lib.makeBinPath [ ghostscript_headless (imagemagickBig.override { ghostscript = ghostscript_headless; }) @@ -81,6 +83,7 @@ let pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-pG7olcBq5P52CvZYLqUjb+RwxjbQbSotlS50pvgm7WQ="; }; @@ -90,7 +93,7 @@ let nodejs_20 pkg-config pnpmConfigHook - pnpm + pnpm' python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/po/porn-vault/package.nix b/pkgs/by-name/po/porn-vault/package.nix index a46669ed76ce..20e169fb3efb 100644 --- a/pkgs/by-name/po/porn-vault/package.nix +++ b/pkgs/by-name/po/porn-vault/package.nix @@ -38,6 +38,7 @@ let }; }; nodejs = nodejs_22; + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "porn-vault"; @@ -52,7 +53,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-Xr9tRiP1hW+aFs9FnPvPkeJ0/LtJI57cjWY5bZQaRTQ="; }; @@ -60,7 +61,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs pnpmConfigHook - pnpm_9 + pnpm' makeWrapper ]; diff --git a/pkgs/by-name/sa/satisfactorymodmanager/package.nix b/pkgs/by-name/sa/satisfactorymodmanager/package.nix index d3d5514a0f1c..2823dcd9011d 100644 --- a/pkgs/by-name/sa/satisfactorymodmanager/package.nix +++ b/pkgs/by-name/sa/satisfactorymodmanager/package.nix @@ -17,6 +17,7 @@ let # NodeJS 22.18.0 broke our build, not sure why wails' = wails.override { nodejs = nodejs_20; }; + pnpm' = pnpm_8.override { nodejs = nodejs_20; }; in buildGoModule rec { pname = "satisfactorymodmanager"; @@ -45,7 +46,7 @@ buildGoModule rec { nativeBuildInputs = [ pnpmConfigHook - pnpm_8 + pnpm' wails' wrapGAppsHook3 copyDesktopItems @@ -64,7 +65,7 @@ buildGoModule rec { version src ; - pnpm = pnpm_8; + pnpm = pnpm'; sourceRoot = "${src.name}/frontend"; fetcherVersion = 1; hash = "sha256-OP+3zsNlvqLFwvm2cnBd2bj2Kc3EghQZE3hpotoqqrQ="; diff --git a/pkgs/by-name/ta/taler-wallet-core/package.nix b/pkgs/by-name/ta/taler-wallet-core/package.nix index 4639706d1da3..68bcedf8f3c6 100644 --- a/pkgs/by-name/ta/taler-wallet-core/package.nix +++ b/pkgs/by-name/ta/taler-wallet-core/package.nix @@ -18,6 +18,7 @@ }: let nodeSources = srcOnly nodejs_20; + pnpm' = pnpm_9.override { nodejs = nodejs_20; }; esbuild' = esbuild.override { buildGoModule = args: @@ -51,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { customPython nodejs_20 pnpmConfigHook - pnpm_9 + pnpm' gitMinimal jq zip @@ -59,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-pLe5smsXdzSBgz/OYNO5FVEI2L6y/p+jMxEkzqUaX34="; }; diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 2101461f2154..7db0c2905888 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -8,6 +8,9 @@ nodejs_22, versionCheckHook, }: +let + pnpm' = pnpm_9.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation rec { pname = "tsx"; version = "4.19.3"; @@ -25,7 +28,7 @@ stdenv.mkDerivation rec { version src ; - pnpm = pnpm_9; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; }; @@ -33,7 +36,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nodejs_22 pnpmConfigHook - pnpm_9 + pnpm' ]; buildInputs = [ diff --git a/pkgs/by-name/vt/vtsls/package.nix b/pkgs/by-name/vt/vtsls/package.nix index 440b76ccb985..a4739e8b5b43 100644 --- a/pkgs/by-name/vt/vtsls/package.nix +++ b/pkgs/by-name/vt/vtsls/package.nix @@ -10,6 +10,9 @@ pnpmConfigHook, nix-update-script, }: +let + pnpm' = pnpm_8.override { nodejs = nodejs_22; }; +in stdenv.mkDerivation (finalAttrs: { pname = "vtsls"; version = "0.2.9"; @@ -28,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { gitMinimal gitSetupHook pnpmConfigHook - pnpm_8 + pnpm' ]; buildInputs = [ nodejs_22 ]; @@ -42,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { src version ; - pnpm = pnpm_8; + pnpm = pnpm'; fetcherVersion = 1; hash = "sha256-SdqeTYRH60CyU522+nBo0uCDnzxDP48eWBAtGTL/pqg="; }; diff --git a/pkgs/by-name/zi/zipline/package.nix b/pkgs/by-name/zi/zipline/package.nix index e2925570451d..593d2366a58a 100644 --- a/pkgs/by-name/zi/zipline/package.nix +++ b/pkgs/by-name/zi/zipline/package.nix @@ -30,6 +30,8 @@ let PRISMA_INTROSPECTION_ENGINE_BINARY = lib.getExe' prisma-engines "introspection-engine"; PRISMA_FMT_BINARY = lib.getExe' prisma-engines "prisma-fmt"; }; + + pnpm' = pnpm_10.override { nodejs = nodejs_24; }; in stdenv.mkDerivation (finalAttrs: { @@ -50,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_10; + pnpm = pnpm'; fetcherVersion = 2; hash = "sha256-i5unHz7Hs9zvnjgLwHJaoFdM2z/5ucXZG8eouko1Res="; }; @@ -62,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pnpmConfigHook - pnpm_10 + pnpm' nodejs_24 makeWrapper # for sharp build: From 2e7e1615b412918ad76de6a96f9f6143d1507c0d Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:40:46 +0100 Subject: [PATCH 263/332] e-search: add gitMinimal to fetchPnpmDeps using nativeBuildInputs fetchPnpmDeps now allows merging attributes like nativeBuildInputs making workarounds like these obsolete. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/e-/e-search/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/e-/e-search/package.nix b/pkgs/by-name/e-/e-search/package.nix index 13ce01bbf89e..5931508b137f 100644 --- a/pkgs/by-name/e-/e-search/package.nix +++ b/pkgs/by-name/e-/e-search/package.nix @@ -65,11 +65,9 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; + nativeBuildInputs = [ gitMinimal ]; pnpm = pnpm'; fetcherVersion = 2; - prePnpmInstall = '' - export PATH=$PATH:${gitMinimal}/bin - ''; hash = "sha256-wPwsFY7wvbE1LW5PMwMZKejELtqmdsYO2RVrEuOzdcg="; }; From 53b2a63a25d5847f778fa95eeb820f6571e5445d Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 17 Dec 2025 23:42:50 +0100 Subject: [PATCH 264/332] vencord: combine overridden attributes for fetchPnpmDeps `fetchPnpmDeps` accepts all kinds of attributes, so overriding them is almost never necessary. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/ve/vencord/package.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 3fc05a8b92c4..dff8ccb349e8 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -35,14 +35,17 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '"@types/react": "18.3.1"' '"@types/react": "19.0.12"' ''; - pnpmDeps = - (fetchPnpmDeps { - inherit (finalAttrs) pname src; - pnpm = pnpm_10; - fetcherVersion = 2; - hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; - }).overrideAttrs - { inherit (finalAttrs) patches postPatch; }; + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + src + patches + postPatch + ; + pnpm = pnpm_10; + fetcherVersion = 2; + hash = "sha256-M9yZxBtuZg5KwG2Sli+f6Ionwccq7F7tI8/FnP1iObA="; + }; nativeBuildInputs = [ git From 0ed562008c5b4afa4853bfd39c88e0a7bd24fdf9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 11:28:26 +0000 Subject: [PATCH 265/332] grml-zsh-config: 0.19.25 -> 0.19.26 --- pkgs/by-name/gr/grml-zsh-config/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gr/grml-zsh-config/package.nix b/pkgs/by-name/gr/grml-zsh-config/package.nix index a81d37783362..fc2ce3c691d0 100644 --- a/pkgs/by-name/gr/grml-zsh-config/package.nix +++ b/pkgs/by-name/gr/grml-zsh-config/package.nix @@ -7,13 +7,13 @@ }: stdenv.mkDerivation rec { pname = "grml-zsh-config"; - version = "0.19.25"; + version = "0.19.26"; src = fetchFromGitHub { owner = "grml"; repo = "grml-etc-core"; rev = "v${version}"; - sha256 = "sha256-jUdgigqK6j7Tn/Gl737iNSitUyp7uWrXfRyCBxUSD/0="; + sha256 = "sha256-WZ3eyX9ijsU221I4hEhWUtFmtBQ9jm1QvQZh20gcR/s="; }; strictDeps = true; From 7c57886b41e539dbf37e7ee1e315ee133dfac945 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 11:32:11 +0000 Subject: [PATCH 266/332] libva-utils: 2.22.0 -> 2.23.0 --- pkgs/development/libraries/libva/utils.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libva/utils.nix b/pkgs/development/libraries/libva/utils.nix index 945eab0f15b1..f511599899d3 100644 --- a/pkgs/development/libraries/libva/utils.nix +++ b/pkgs/development/libraries/libva/utils.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "libva-utils"; - version = "2.22.0"; + version = "2.23.0"; src = fetchFromGitHub { owner = "intel"; repo = "libva-utils"; rev = version; - sha256 = "sha256-CmhdhNNRO2j8lH7awp9YiKWMvV17GTBsXdrNY06jT2w="; + sha256 = "sha256-losxOPCrLCjtRKJ8RuwkjRllYYtJluKhscNfdxpC/xg="; }; nativeBuildInputs = [ From e588470fa68aafb73f991fbf3ec37f6aa66a0166 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 15:17:45 +0300 Subject: [PATCH 267/332] lasuite-meet{,-frontend}: 0.1.42 -> 1.0.1 --- pkgs/by-name/la/lasuite-meet-frontend/package.nix | 6 +++--- pkgs/by-name/la/lasuite-meet/package.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/la/lasuite-meet-frontend/package.nix b/pkgs/by-name/la/lasuite-meet-frontend/package.nix index e212f8c931ab..18a4de1ae5b4 100644 --- a/pkgs/by-name/la/lasuite-meet-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-meet-frontend/package.nix @@ -7,13 +7,13 @@ buildNpmPackage rec { pname = "lasuite-meet-frontend"; - version = "0.1.42"; + version = "1.0.1"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-STb4JCEoKgzokIA5mWFqJkFH9mtdnIp8NcopLWYSbwQ="; + hash = "sha256-QtaP0b8Aj//tCS6uo4NJcK+IjyrSBTOZ+/ijG3T3ePE="; }; sourceRoot = "source/src/frontend"; @@ -21,7 +21,7 @@ buildNpmPackage rec { npmDeps = fetchNpmDeps { inherit version src; sourceRoot = "source/src/frontend"; - hash = "sha256-SfAcGty6fT56eO7K3ZX87PiLiNlthl9UW3uAJmKM+lU="; + hash = "sha256-aAIsdEmPbRhKFyN3O/zmO5hkhAXWbEMnr6i/r2sLrjU="; }; buildPhase = '' diff --git a/pkgs/by-name/la/lasuite-meet/package.nix b/pkgs/by-name/la/lasuite-meet/package.nix index 020f75f210f0..532cb29e7056 100644 --- a/pkgs/by-name/la/lasuite-meet/package.nix +++ b/pkgs/by-name/la/lasuite-meet/package.nix @@ -13,14 +13,14 @@ in python.pkgs.buildPythonApplication rec { pname = "lasuite-meet"; - version = "0.1.42"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-STb4JCEoKgzokIA5mWFqJkFH9mtdnIp8NcopLWYSbwQ="; + hash = "sha256-QtaP0b8Aj//tCS6uo4NJcK+IjyrSBTOZ+/ijG3T3ePE="; }; sourceRoot = "source/src/backend"; From bce9fc25c53d438f5e88ce2cd896f4d5b0afa8bb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 12:20:25 +0000 Subject: [PATCH 268/332] ghostfolio: 2.222.0 -> 2.223.0 --- pkgs/by-name/gh/ghostfolio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gh/ghostfolio/package.nix b/pkgs/by-name/gh/ghostfolio/package.nix index e06c6b78197a..66f5c73f526b 100644 --- a/pkgs/by-name/gh/ghostfolio/package.nix +++ b/pkgs/by-name/gh/ghostfolio/package.nix @@ -11,13 +11,13 @@ buildNpmPackage rec { pname = "ghostfolio"; - version = "2.222.0"; + version = "2.223.0"; src = fetchFromGitHub { owner = "ghostfolio"; repo = "ghostfolio"; tag = version; - hash = "sha256-pMkmjGRdJjkEDMf9k7QqYIwkUX9LaeovQYG2i+vmOtE="; + hash = "sha256-qgIwAfcDP2TDQvg5Q92RDHm7HSv4KT16hsoaz8ux7fg="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -27,7 +27,7 @@ buildNpmPackage rec { ''; }; - npmDepsHash = "sha256-7Xf3Yn4fC+Jjc/UFu+cg9cVwiYK/VMasZwPOIJu771o="; + npmDepsHash = "sha256-KSKqybqVw2BG/WKuVRyNsneLYyedVeyCvNBLIREx7MQ="; nativeBuildInputs = [ prisma From eda2777394e690acf0b90d7492cd3587eb34ec2c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 12:21:18 +0000 Subject: [PATCH 269/332] python3Packages.teslemetry-stream: 0.7.10 -> 0.8.2 --- pkgs/development/python-modules/teslemetry-stream/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/teslemetry-stream/default.nix b/pkgs/development/python-modules/teslemetry-stream/default.nix index 73468408f8c9..0c8aec16d485 100644 --- a/pkgs/development/python-modules/teslemetry-stream/default.nix +++ b/pkgs/development/python-modules/teslemetry-stream/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "teslemetry-stream"; - version = "0.7.10"; + version = "0.8.2"; pyproject = true; src = fetchFromGitHub { owner = "Teslemetry"; repo = "python-teslemetry-stream"; tag = "v${version}"; - hash = "sha256-2ZKoDb5ZKo27qHTyUmyDa2LlhcyJTkQByrJotY/qw4o="; + hash = "sha256-R3POLWYSinnFbmy80XWreAhTOojd8Kr8UL709rOoOto="; }; build-system = [ setuptools ]; From 1ec28faf1e00ae58876f1a423af3b3a02cf4ffd4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 12:31:33 +0000 Subject: [PATCH 270/332] tree-sitter-grammars.tree-sitter-clojure: 0-unstable-2025-08-26 -> 0.0.13-unstable-2025-08-26 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..8bd8884f7f7f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -42,7 +42,7 @@ }; clojure = { - version = "0-unstable-2025-08-26"; + version = "0.0.13-unstable-2025-08-26"; url = "github:sogaiu/tree-sitter-clojure/e43eff80d17cf34852dcd92ca5e6986d23a7040f"; hash = "sha256-jokekIuuQLx5UtuPs4XAI+euispeFCwSQByVKVelrC4="; }; From 4f4725438d8e4e51283cf329a22b7db23660a152 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 12:51:10 +0000 Subject: [PATCH 271/332] tree-sitter-grammars.tree-sitter-toml: 0-unstable-2022-04-21 -> 0.5.1-unstable-2022-04-21 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..2f0274ef8a8f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -697,7 +697,7 @@ }; toml = { - version = "0-unstable-2022-04-21"; + version = "0.5.1-unstable-2022-04-21"; url = "github:tree-sitter/tree-sitter-toml/342d9be207c2dba869b9967124c679b5e6fd0ebe"; hash = "sha256-V2c7K16g8PikE9eNgrM6iUDiu4kzBvHMFQwfkph+8QI="; }; From 8f66e799dc53b63b6ef5a6a5d6372bab79d17b70 Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Thu, 18 Dec 2025 13:55:23 +0100 Subject: [PATCH 272/332] deploy-rs: 0-unstable-2024-06-05 -> 0-unstable-2025-12-18 https://github.com/serokell/deploy-rs/compare/6bc76b872374845ba9d645a2f012b764fecd765f...d5eff7f948535b9c723d60cd8239f8f11ddc90fa --- pkgs/by-name/de/deploy-rs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/de/deploy-rs/package.nix b/pkgs/by-name/de/deploy-rs/package.nix index ecd717721468..f5e6522fdbe4 100644 --- a/pkgs/by-name/de/deploy-rs/package.nix +++ b/pkgs/by-name/de/deploy-rs/package.nix @@ -6,13 +6,13 @@ rustPlatform.buildRustPackage { pname = "deploy-rs"; - version = "0-unstable-2025-06-05"; + version = "0-unstable-2025-12-18"; src = fetchFromGitHub { owner = "serokell"; repo = "deploy-rs"; - rev = "6bc76b872374845ba9d645a2f012b764fecd765f"; - hash = "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE="; + rev = "d5eff7f948535b9c723d60cd8239f8f11ddc90fa"; + hash = "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik="; }; cargoHash = "sha256-9O93YTEz+e2oxenE0gwxsbz55clbKo9+37yVOqz7ErE="; From 7cfe9b8c8531a6b6d97fbaaed20779d594ab1e76 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Thu, 18 Dec 2025 13:09:17 +0000 Subject: [PATCH 273/332] workflows/lint: fully skip the `commits` job in Merge Queues Follow-up to 7cf59724104ef43e73e96176acbb8a5be79b1921 While the JS script already returned early, we can save a few resources by skipping the job entirely when there's no `pull_request` context. --- .github/workflows/lint.yml | 5 +++++ ci/github-script/lint-commits.js | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c0e82c194eae..3e733c06cf6b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -126,6 +126,11 @@ jobs: fi commits: + # Only check commits if we have access to the pull_request context. + # + # Luckily there's no need to lint commit messages in the Merge Queue, because + # changes to the target branch can't change commit messages on the base branch. + if: ${{ github.event.pull_request.number }} runs-on: ubuntu-slim timeout-minutes: 5 steps: diff --git a/ci/github-script/lint-commits.js b/ci/github-script/lint-commits.js index 1824c538b22f..4905517a142e 100644 --- a/ci/github-script/lint-commits.js +++ b/ci/github-script/lint-commits.js @@ -9,8 +9,7 @@ const { classify } = require('../supportedBranches.js') * }} CheckCommitMessagesProps */ async function checkCommitMessages({ github, context, core }) { - // Do not run on merge groups: it'd be much harder, and there is no need - // (changes to the target branch can't change commit messages on the base branch). + // This check should only be run when we have the pull_request context. const pull_number = context.payload.pull_request?.number if (!pull_number) { core.info('This is not a pull request. Skipping checks.') From be27d4c21fbdb24bfa6f6a4e42d4282f7c6895cf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 13:14:26 +0000 Subject: [PATCH 274/332] intel-gmmlib: 22.8.2 -> 22.9.0 --- pkgs/by-name/in/intel-gmmlib/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/intel-gmmlib/package.nix b/pkgs/by-name/in/intel-gmmlib/package.nix index 4d5b551ed957..bf48641bed44 100644 --- a/pkgs/by-name/in/intel-gmmlib/package.nix +++ b/pkgs/by-name/in/intel-gmmlib/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "intel-gmmlib"; - version = "22.8.2"; + version = "22.9.0"; src = fetchFromGitHub { owner = "intel"; repo = "gmmlib"; tag = "intel-gmmlib-${version}"; - hash = "sha256-dn8I3cuApy+RUWeKDVzU0sr3fUjHoDFHdGasFTAufec="; + hash = "sha256-hgVdUTbPLEKVZpg+73kxpeMQ5gOjBHeRAJgTYds9lYQ="; }; nativeBuildInputs = [ cmake ]; From 429d0370c84eeaabd999717cb82578784e328fc8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 13:14:39 +0000 Subject: [PATCH 275/332] tree-sitter-grammars.tree-sitter-fennel: 0-unstable-2025-09-07 -> 1.1.0-unstable-2025-09-07 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..8343218cb6e7 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -168,7 +168,7 @@ }; fennel = { - version = "0-unstable-2025-09-07"; + version = "1.1.0-unstable-2025-09-07"; url = "github:travonted/tree-sitter-fennel/36eb796a84b4f57bdf159d0a99267260d4960c89"; hash = "sha256-aFcTPgWkd/o1qu8d/hulmVDyFlTHJgb35iea4Jc1510="; }; From af69c0779dbb2c640225390bddf2d8194d5b7d3e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 13:16:15 +0000 Subject: [PATCH 276/332] tree-sitter-grammars.tree-sitter-rst: 0.1.0 -> 0.2.0 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..220f480ae8f3 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -567,9 +567,9 @@ }; rst = { - version = "0.1.0"; + version = "0.2.0"; url = "github:stsewd/tree-sitter-rst"; - hash = "sha256-g3CovnXY15SkxAdVk15M4hAxizqLc551omwKKG+Vozg="; + hash = "sha256-EYUn60fU2hMizL+4PITtzJFJKdBktoPjMsYJ1R70LdM="; }; ruby = { From 414438fa47bee02bf92ce38000fb3a4de5457c76 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 13:30:34 +0000 Subject: [PATCH 277/332] tree-sitter-grammars.tree-sitter-templ: 0-unstable-2025-09-14 -> 1.0.0-unstable-2025-12-03 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..b29fe280574a 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -664,9 +664,9 @@ }; templ = { - version = "0-unstable-2025-09-14"; - url = "github:vrischmann/tree-sitter-templ/27a1fc62c8dd4c49669e03629491f66449c6c435"; - hash = "sha256-2h1NPQtutTmdVKjydq/ZRvBCJ3YEiT+ZVcL72fb2m9M="; + version = "1.0.0-unstable-2025-12-03"; + url = "github:vrischmann/tree-sitter-templ/3057cd485f7f23a8ad24107c6adc604f8c5ce3db"; + hash = "sha256-iv5Egh0CcBEsD86IGESI5Bn0NcGji3wruD8UR1JNlk0="; }; tera = { From 928887dacd6bb0fd51f4733a035cec6d65ecb924 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 13:52:31 +0000 Subject: [PATCH 278/332] kubernetes-controller-tools: 0.19.0 -> 0.20.0 --- pkgs/by-name/ku/kubernetes-controller-tools/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ku/kubernetes-controller-tools/package.nix b/pkgs/by-name/ku/kubernetes-controller-tools/package.nix index 0c6064b4695a..d4c339777d6c 100644 --- a/pkgs/by-name/ku/kubernetes-controller-tools/package.nix +++ b/pkgs/by-name/ku/kubernetes-controller-tools/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "controller-tools"; - version = "0.19.0"; + version = "0.20.0"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "controller-tools"; tag = "v${version}"; - sha256 = "sha256-NPyX89Hr1MAUdMafEEvcf/geQD1PxkDFSRPCFZBh29g="; + sha256 = "sha256-Cjn8o5AhmIE9UFT38cyIUnT/3pG1dJGWivYvVIbUAAk="; }; - vendorHash = "sha256-97FtwBaN8rMTsz9XbTEB1PSC454N2SLSWyOzXSWld9Y="; + vendorHash = "sha256-cFnUfcoLyFHg0JR6ix0AnpSHUGuNNVbKldKelvvMu/4="; ldflags = [ "-s" From 69965e6680a61f45b7fb0319722bc591a7a00621 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Thu, 18 Dec 2025 21:59:27 +0800 Subject: [PATCH 279/332] fluffychat-web: remove reference to rust sysroot Before: /nix/store/wapf19anb56v5g0nmrl5mim0ljv6cq8n-fluffychat-web-2.3.1 1.6 GiB After: /nix/store/wy98llxy71avdb7aars1778z0fjpyg7n-fluffychat-web-2.3.1 42.9 MiB --- pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix b/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix index b063497368e7..9110a7ba26c3 100644 --- a/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix +++ b/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix @@ -15,24 +15,24 @@ binaryen, writableTmpDirAsHomeHook, runCommand, + removeReferencesTo, }: let pubSources = fluffychat-web.pubspecLock.dependencySources; # wasm-pack doesn't take 'RUST_SRC_PATH' into consideration - rustcWithLibSrc = buildPackages.rustc.override { - sysroot = symlinkJoin { - name = "rustc_unwrapped_with_libsrc"; - paths = [ - buildPackages.rustc.unwrapped - ]; - postBuild = '' - mkdir -p $out/lib/rustlib/src/rust - ln -s ${rustPlatform.rustLibSrc} $out/lib/rustlib/src/rust/library - ''; - }; + sysroot = symlinkJoin { + name = "rustc_unwrapped_with_libsrc"; + paths = [ + buildPackages.rustc.unwrapped + ]; + postBuild = '' + mkdir -p $out/lib/rustlib/src/rust + ln -s ${rustPlatform.rustLibSrc} $out/lib/rustlib/src/rust/library + ''; }; + rustcWithLibSrc = buildPackages.rustc.override { inherit sysroot; }; in # https://github.com/krille-chan/fluffychat/blob/main/scripts/prepare-web.sh @@ -80,6 +80,7 @@ stdenv.mkDerivation { wasm-bindgen-cli_0_2_100 binaryen writableTmpDirAsHomeHook + removeReferencesTo ]; buildPhase = '' @@ -103,6 +104,12 @@ stdenv.mkDerivation { runHook postInstall ''; + # fix rustc leaking into closure + # fluffychat-web should not reference build-time dependencies + preFixup = '' + find $out -name "*.wasm" -exec remove-references-to -t ${sysroot} {} + + ''; + env = { # Build a pub cache from fluffychat, as dart-vodozemac should be a subset # This is required because dart-vodozemac, as a pub, doesn't have a pubspec.lock From 51e12792b36147d23e39aaef0be772d805c3c70d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 00:49:08 +0000 Subject: [PATCH 280/332] home-assistant-custom-components.frigate: 5.11.0 -> 5.13.0 https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v5.12.0 https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v5.13.0 --- .../home-assistant/custom-components/frigate/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/frigate/package.nix b/pkgs/servers/home-assistant/custom-components/frigate/package.nix index d303600c28a5..8c1cbc8afd82 100644 --- a/pkgs/servers/home-assistant/custom-components/frigate/package.nix +++ b/pkgs/servers/home-assistant/custom-components/frigate/package.nix @@ -18,13 +18,13 @@ buildHomeAssistantComponent rec { owner = "blakeblackshear"; domain = "frigate"; - version = "5.11.0"; + version = "5.13.0"; src = fetchFromGitHub { owner = "blakeblackshear"; repo = "frigate-hass-integration"; tag = "v${version}"; - hash = "sha256-cXjf5e4gbkvRS43xnpmL1lSaSvhts4eMetEqTP/RCOo="; + hash = "sha256-etYPrWa4xzfFm1QQuxh+rJqeoQ3P/nITM6GxJA/tPAA="; }; dependencies = [ hass-web-proxy-lib ]; From 44d07d2cd83a996ebb3c82f5ba5f18718aa14e00 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:27:15 +0000 Subject: [PATCH 281/332] tree-sitter-grammars.tree-sitter-tiger: 0-unstable-2025-03-13 -> 0.3.0-unstable-2025-03-13 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..ab607a95147c 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -676,7 +676,7 @@ }; tiger = { - version = "0-unstable-2025-03-13"; + version = "0.3.0-unstable-2025-03-13"; url = "github:ambroisie/tree-sitter-tiger/4a77b2d7a004587646bddc4e854779044b6db459"; hash = "sha256-jLdJ3nLShoBxVCcUbnaswYG5d4UU8aaE1xexb2LnmTQ="; }; From b9d5d2c6c76b0f79090bee2778881da7b344daed Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:27:43 +0000 Subject: [PATCH 282/332] tree-sitter-grammars.tree-sitter-nix: 0-unstable-2025-08-11 -> 0.3.0-unstable-2025-12-03 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..04b5a0078c97 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -425,9 +425,9 @@ }; nix = { - version = "0-unstable-2025-08-11"; - url = "github:nix-community/tree-sitter-nix/ff4e2b4c5a3598e8be3edf16bc69f6677af32145"; - hash = "sha256-VPkXKsoKs5ywVIGz+xqvD73nINur2flpEmKUKJRFYy8="; + version = "0.3.0-unstable-2025-12-03"; + url = "github:nix-community/tree-sitter-nix/eabf96807ea4ab6d6c7f09b671a88cd483542840"; + hash = "sha256-cSiBd0XkSR8l1CF2vkThWUtMxqATwuxCNO5oy2kyOZY="; }; norg-meta = { From b92017ff8a706de7aceda26f2e0eebc01765cee6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:41:11 +0000 Subject: [PATCH 283/332] tree-sitter-grammars.tree-sitter-elisp: 1.3.0 -> 1.6.1 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..ecee59788c3b 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -132,9 +132,9 @@ }; elisp = rec { - version = "1.3.0"; + version = "1.6.1"; url = "github:wilfred/tree-sitter-elisp?ref=${version}"; - hash = "sha256-hmPJtB0pEBqc9rbnQ5YZzs9kHCqXWfbjRWN6WoFZ1NQ="; + hash = "sha256-ixZKsQtRk5ykR6miQ5JicI3xn/Bp9t4WGAIoNTC/gbY="; }; elixir = { From 12d5b514f0d452b35cf8bc4ddd920afc64938ad1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:44:16 +0000 Subject: [PATCH 284/332] tree-sitter-grammars.tree-sitter-nu: 0-unstable-2025-09-19 -> 0-unstable-2025-12-13 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..33563c6d4bc5 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -443,9 +443,9 @@ }; nu = { - version = "0-unstable-2025-09-19"; - url = "github:nushell/tree-sitter-nu/0e6c59c46db3c246eaf86ce5b325da1247e971a5"; - hash = "sha256-qGKQTdMrxhsMSSY7ghFkc/32O6Fhps9b9oG1wo0m1NA="; + version = "0-unstable-2025-12-13"; + url = "github:nushell/tree-sitter-nu/4c149627cc592560f77ead1c384e27ec85926407"; + hash = "sha256-h02kb3VxSK/fxQENtj2yaRmAQ5I8rt5s5R8VrWOQWeo="; }; ocaml = { From 9e075fd4fd65106ba85726f73dcc8e376d7f11f3 Mon Sep 17 00:00:00 2001 From: kb Date: Fri, 19 Dec 2025 00:32:32 +1000 Subject: [PATCH 285/332] tree-sitter-grammers: update urls for transferred grammar sources Updates the source URL for grammars that have been transferred to new ownership. Github redirects currently handle this silently but this make it a little more explicit. --- .../tree-sitter/grammars/grammar-sources.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..67c5c2b5b362 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -19,7 +19,7 @@ bitbake = { version = "1.1.0"; - url = "github:amaanq/tree-sitter-bitbake"; + url = "github:tree-sitter-grammars/tree-sitter-bitbake"; hash = "sha256-PSI1XVDGwDk5GjHjvCJfmBDfYM2Gmm1KR4h5KxBR1d0="; }; @@ -61,7 +61,7 @@ commonlisp = { version = "0.4.1"; - url = "github:thehamsta/tree-sitter-commonlisp"; + url = "github:tree-sitter-grammars/tree-sitter-commonlisp"; hash = "sha256-wHVdRiorBgxQ+gG+m/duv9nt5COxz6XK0AcKQ5FX43U="; }; @@ -85,7 +85,7 @@ cuda = { version = "0.21.1"; - url = "github:thehamsta/tree-sitter-cuda"; + url = "github:tree-sitter-grammars/tree-sitter-cuda"; hash = "sha256-sX9AOe8dJJsRbzGq20qakWBnLiwYQ90mQspAuYxQzoQ="; }; @@ -205,13 +205,13 @@ glimmer = { version = "1.4.0"; - url = "github:alexlafroscia/tree-sitter-glimmer?ref=v1.4.0-tree-sitter-glimmer"; + url = "github:ember-tooling/tree-sitter-glimmer?ref=v1.4.0-tree-sitter-glimmer"; hash = "sha256-4kEOvObNnZtt2aaf0Df+R/Wvyk/JlFnsvbasDIJxt4w="; }; glsl = { version = "0.2.0"; - url = "github:thehamsta/tree-sitter-glsl"; + url = "github:tree-sitter-grammars/tree-sitter-glsl"; hash = "sha256-S0Yr/RQE4uLpazphTKLUoHgPEOUbOBDGCkkRXemsHjQ="; }; @@ -260,13 +260,13 @@ hcl = { version = "1.1.0"; - url = "github:MichaHoffmann/tree-sitter-hcl"; + url = "github:tree-sitter-grammars/tree-sitter-hcl"; hash = "sha256-saVKSYUJY7OuIuNm9EpQnhFO/vQGKxCXuv3EKYOJzfs="; }; heex = { version = "0.8.0"; - url = "github:connorlay/tree-sitter-heex"; + url = "github:phoenixframework/tree-sitter-heex"; hash = "sha256-rifYGyIpB14VfcEZrmRwYSz+ZcajQcB4mCjXnXuVFDQ="; }; @@ -284,7 +284,7 @@ http = { version = "3.0.0"; - url = "github:ntbbloodbath/tree-sitter-http?ref=v3.0"; + url = "github:rest-nvim/tree-sitter-http?ref=v3.0"; hash = "sha256-pg7QmnfhuCmyuq6HupCJl4H/rcxDeUn563LoL+Wd2Uw="; }; @@ -399,7 +399,7 @@ markdown = { version = "0.3.2"; - url = "github:MDeiml/tree-sitter-markdown"; + url = "github:tree-sitter-grammars/tree-sitter-markdown"; hash = "sha256-OlVuHz9/5lxsGVT+1WhKx+7XtQiezMW1odiHGinzro8="; location = "tree-sitter-markdown"; }; @@ -407,7 +407,7 @@ markdown-inline = { language = "markdown_inline"; version = "0.3.2"; - url = "github:MDeiml/tree-sitter-markdown"; + url = "github:tree-sitter-grammars/tree-sitter-markdown"; hash = "sha256-OlVuHz9/5lxsGVT+1WhKx+7XtQiezMW1odiHGinzro8="; location = "tree-sitter-markdown-inline"; }; @@ -463,7 +463,7 @@ org-nvim = { version = "0-unstable-2023-06-19"; - url = "github:milisims/tree-sitter-org/64cfbc213f5a83da17632c95382a5a0a2f3357c1"; + url = "github:emiasims/tree-sitter-org/64cfbc213f5a83da17632c95382a5a0a2f3357c1"; hash = "sha256-/03eZBbv23W5s/GbDgPgaJV5TyK+/lrWUVeINRS5wtA="; }; @@ -529,7 +529,7 @@ query = { version = "0.8.0"; - url = "github:nvim-treesitter/tree-sitter-query"; + url = "github:tree-sitter-grammars/tree-sitter-query"; hash = "sha256-0y8TbbZKMstjIVFEtq+9Fz44ueRup0ngNcJPJEQB/NQ="; }; @@ -628,7 +628,7 @@ sparql = { version = "0-unstable-2024-06-26"; - url = "github:bonabeavis/tree-sitter-sparql/d853661ca680d8ff7f8d800182d5782b61d0dd58"; + url = "github:GordianDziwis/tree-sitter-sparql/d853661ca680d8ff7f8d800182d5782b61d0dd58"; hash = "sha256-0BV0y8IyeIPpuxTixlJL1PsDCuhXbGaImu8JU8WFoPU="; }; @@ -716,7 +716,7 @@ turtle = { version = "0-unstable-2024-07-02"; - url = "github:bonabeavis/tree-sitter-turtle/7f789ea7ef765080f71a298fc96b7c957fa24422"; + url = "github:GordianDziwis/tree-sitter-turtle/7f789ea7ef765080f71a298fc96b7c957fa24422"; hash = "sha256-z6f73euFAG9du5owz7V9WLbWK81Jg0DwxN1metKPbTA="; }; From 6b6c8b140268f092e1fbc66fe7b6d122009ac3cb Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 17:46:11 +0300 Subject: [PATCH 286/332] linux/common-config: explicitly select RUST_FW_LOADER_ABSTRACTIONS for now --- pkgs/os-specific/linux/kernel/common-config.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 1687e8ee8226..28e640404ba1 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -561,6 +561,10 @@ let # Enable CEC over DisplayPort DRM_DP_CEC = whenOlder "6.10" yes; DRM_DISPLAY_DP_AUX_CEC = whenAtLeast "6.10" yes; + + # Required for Nova + # FIXME: remove after https://gitlab.freedesktop.org/drm/rust/kernel/-/commit/3d3352e73a55a4ccf110f8b3419bbe2fbfd8a030 lands + RUST_FW_LOADER_ABSTRACTIONS = whenAtLeast "6.12" yes; } // lib.optionalAttrs From 864081696f1e21bf0f86fc9787aab4c1711c3914 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 17:43:54 +0300 Subject: [PATCH 287/332] linux_testing: 6.18-rc7 -> 6.19-rc1 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1fc12f5f0ad8..b657ca25be6f 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,7 +1,7 @@ { "testing": { - "version": "6.18-rc7", - "hash": "sha256:03k1kj4bqg3bn0p4lzkbz0yqj1p50v2yr94lrld8rrkbwdawxx3r", + "version": "6.19-rc1", + "hash": "sha256:1jfcm4m2xbglirn8qdvhb3675fln9cjfva3v9hhs6a4qqqx2396f", "lts": false }, "6.1": { From 402ad0fff048992ac002f3857d9350e1399b781a Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 17:28:09 +0300 Subject: [PATCH 288/332] linux_6_18: 6.18.1 -> 6.18.2 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index b657ca25be6f..d0f7b5adfc17 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -35,8 +35,8 @@ "lts": false }, "6.18": { - "version": "6.18.1", - "hash": "sha256:1m955svk1sfmhpw5wpkhg1dpnxmwsnpdqnivmw8alaniy3rqp9yh", + "version": "6.18.2", + "hash": "sha256:0smrmbnlhfivw2kx689wd52aff80gf0gw9wqz4s2nja9nyx6p32m", "lts": false } } From 52e64396e98aef211f4127416dbdae17a01b3d3f Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 17:28:11 +0300 Subject: [PATCH 289/332] linux_6_17: 6.17.12 -> 6.17.13 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index d0f7b5adfc17..77a2ec567486 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.17": { - "version": "6.17.12", - "hash": "sha256:1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22", + "version": "6.17.13", + "hash": "sha256:1fgdy9j90yfd4c2yqdciasdhda14pbfrpzkgriin2r6i7bf04s0i", "lts": false }, "6.18": { From b01ca3bca3af924e09ad3c59e52df993dd44d1a9 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 18 Dec 2025 17:28:15 +0300 Subject: [PATCH 290/332] linux_6_12: 6.12.62 -> 6.12.63 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 77a2ec567486..6672d00ec7b4 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -25,8 +25,8 @@ "lts": true }, "6.12": { - "version": "6.12.62", - "hash": "sha256:04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk", + "version": "6.12.63", + "hash": "sha256:1cvxvwlmnqw71nf6nizf0hpp710a8dsczz5bjwy3i55qwkzwa0lm", "lts": true }, "6.17": { From 934e0aabcc1c4a3637db98dfe41a00b55c6f2e87 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:48:05 +0000 Subject: [PATCH 291/332] tree-sitter-grammars.tree-sitter-earthfile: 0-unstable-2025-05-13 -> 0.6.0-unstable-2025-10-27 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..36df989c8740 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -120,9 +120,9 @@ }; earthfile = { - version = "0-unstable-2025-05-13"; - url = "github:glehmann/tree-sitter-earthfile/a37c5ee95ce401ca311c0ae1369d9cfb953e151d"; - hash = "sha256-lYoS3RtHPYRrkfgo/qqAnT918FXeXnDUhG4l1TMXjb4="; + version = "0.6.0-unstable-2025-10-27"; + url = "github:glehmann/tree-sitter-earthfile/5baef88717ad0156fd29a8b12d0d8245bb1096a8"; + hash = "sha256-eeXzc+thSPey7r59QkJd5jgchZRhSwT5isSljYLBQ8k="; }; eex = { From b330f72bafdc5734c336ca456ecf9bca1155a98e Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 18 Dec 2025 14:48:04 +0000 Subject: [PATCH 292/332] nixos/vector: Tweak journald/clickhouse test to check the absence of zero results instead Fixes small race-condition between database being ready and Vector being able to log into it and then the result number changing --- nixos/tests/vector/journald-clickhouse.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/vector/journald-clickhouse.nix b/nixos/tests/vector/journald-clickhouse.nix index 2cef987d5676..640fdf947ab3 100644 --- a/nixos/tests/vector/journald-clickhouse.nix +++ b/nixos/tests/vector/journald-clickhouse.nix @@ -199,11 +199,11 @@ in ) clickhouse.fail( - "cat ${selectQuery} | clickhouse-client --user vector --password helloclickhouseworld | grep 2" + "cat ${selectQuery} | clickhouse-client --user vector --password helloclickhouseworld | grep -v 0" ) clickhouse.wait_until_succeeds( - "cat ${selectQuery} | clickhouse-client --user grafana --password helloclickhouseworld2 | grep 2" + "cat ${selectQuery} | clickhouse-client --user grafana --password helloclickhouseworld2 | grep -v 0" ) ''; } From 1d762ee483d5f1871ab61b293b38afc0c5609355 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:53:09 +0000 Subject: [PATCH 293/332] tree-sitter-grammars.tree-sitter-cmake: 0.7.1 -> 0.7.2 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..0b4cd9d02800 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -48,9 +48,9 @@ }; cmake = { - version = "0.7.1"; + version = "0.7.2"; url = "github:uyha/tree-sitter-cmake"; - hash = "sha256-OxViW7H5fNc5BP072ob7GGgx1EYc6TiQEut0wHGrE1c="; + hash = "sha256-mR+gA7eWigC2zO1gMHzOgRagsfK1y/NBsn3mAOqR35A="; }; comment = { From 8581abcc895fef6814ecaa99e5815260445a3f29 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:56:10 +0000 Subject: [PATCH 294/332] tree-sitter-grammars.tree-sitter-janet-simple: 0-unstable-2025-05-19 -> 0.0.7-unstable-2025-05-19 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..52ea15bdecf3 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -295,7 +295,7 @@ }; janet-simple = { - version = "0-unstable-2025-05-19"; + version = "0.0.7-unstable-2025-05-19"; url = "github:sogaiu/tree-sitter-janet-simple/7e28cbf1ca061887ea43591a2898001f4245fddf"; hash = "sha256-qWsUPZfQkuEUiuCSsqs92MIMEvdD+q2bwKir3oE5thc="; }; From c07079038eeb986b5d3f2bfceef51f0c3cab6bc7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 14:57:42 +0000 Subject: [PATCH 295/332] tree-sitter-grammars.tree-sitter-slint: 0-unstable-2025-07-13 -> 0-unstable-2025-12-09 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..3cd3ca841982 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -603,9 +603,9 @@ }; slint = { - version = "0-unstable-2025-07-13"; - url = "github:slint-ui/tree-sitter-slint/96bc969d20ff347030519184ea2467f4046a524d"; - hash = "sha256-yTZxuA3Bco0Cv+kZ1VbfQZbIu12Y5N4b3HIUJ/PBpWA="; + version = "0-unstable-2025-12-09"; + url = "github:slint-ui/tree-sitter-slint/10fb0f188d7950400773c06ba6c31075866e14bf"; + hash = "sha256-60DfIx7aQqe0/ocxbpr00eU3IPs23E8TUILcVGrBYVs="; }; smithy = { From 85bcfe58a90c106fbf165d3f25ef7b5bc8a4f2a6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:01:31 +0000 Subject: [PATCH 296/332] uhhyou-plugins: 0.67.0 -> 0.68.0 --- pkgs/by-name/uh/uhhyou-plugins/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/uh/uhhyou-plugins/package.nix b/pkgs/by-name/uh/uhhyou-plugins/package.nix index b6f8ad14779d..4c6e0eeb43b5 100644 --- a/pkgs/by-name/uh/uhhyou-plugins/package.nix +++ b/pkgs/by-name/uh/uhhyou-plugins/package.nix @@ -24,12 +24,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "uhhyou-plugins"; - version = "0.67.0"; + version = "0.68.0"; src = fetchFromGitHub { owner = "ryukau"; repo = "VSTPlugins"; rev = "UhhyouPlugins${finalAttrs.version}"; - hash = "sha256-8YGfcnWkOQwwq6m3510GPpZu6UbDmVi3K/dOGLrAnhM="; + hash = "sha256-UscyoBj0wPWlRyLI2q7iWHZNqS3+2I8MxWuIR4CfSyQ="; fetchSubmodules = true; }; From ecea6cf49fe450f5cd1ac3ac691f076cbf8124b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:07:11 +0000 Subject: [PATCH 297/332] tree-sitter-grammars.tree-sitter-dot: 0-unstable-2022-08-25 -> 0-unstable-2025-10-21 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..c68352438af4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -114,9 +114,9 @@ }; dot = { - version = "0-unstable-2022-08-25"; - url = "github:rydesun/tree-sitter-dot/9ab85550c896d8b294d9b9ca1e30698736f08cea"; - hash = "sha256-w4DInIT7mkTvQ6Hmi8yaAww6ktyNgRz0tPfBLGnOawQ="; + version = "0-unstable-2025-10-21"; + url = "github:rydesun/tree-sitter-dot/80327abbba6f47530edeb0df9f11bd5d5c93c14d"; + hash = "sha256-sepmaKnpbj/bgMBa06ksQFOMPtcCqGaINiJqFBJN/0Y="; }; earthfile = { From 269c2bdd2c7cc8fc8856495fe6fccaecbd1510d4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:10:25 +0000 Subject: [PATCH 298/332] tree-sitter-grammars.tree-sitter-tsq: 0-unstable-2024-02-24 -> 0.19.0-unstable-2024-02-24 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..278e730401ba 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -703,7 +703,7 @@ }; tsq = { - version = "0-unstable-2024-02-24"; + version = "0.19.0-unstable-2024-02-24"; url = "github:tree-sitter/tree-sitter-tsq/49da6de661be6a07cb51018880ebe680324e7b82"; hash = "sha256-md4xynJx9F/l6N+JZYU8CLXmz50fV13L8xGJVUqk6do="; }; From 8d3d3ea2b8e15f5fb90cf2d776b79ce9b416cd04 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:15:17 +0000 Subject: [PATCH 299/332] tree-sitter-grammars.tree-sitter-fortran: 0.4.0 -> 0.5.1 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..953d94c780bf 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -180,9 +180,9 @@ }; fortran = { - version = "0.4.0"; + version = "0.5.1"; url = "github:stadelmanma/tree-sitter-fortran"; - hash = "sha256-STRbEv7kBtkrokXgaN9g1JNwWmSV+7gkyklhYKJszNY="; + hash = "sha256-6l+cfLVbs8geKIYhnfuZDac8uzmNHOZf2rFANdl4tDs="; }; gdscript = { From ba30f7785a56037eea9cbff690bca6cf9a742009 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:10:27 +0000 Subject: [PATCH 300/332] mint-artwork: 1.9.2 -> 1.9.3 gsettings overrides: Add ctrl-alt-backspace xkb option to Cinnamon's new schema. --- pkgs/by-name/mi/mint-artwork/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mi/mint-artwork/package.nix b/pkgs/by-name/mi/mint-artwork/package.nix index dbe95d3e06ae..45271ebfbdcf 100644 --- a/pkgs/by-name/mi/mint-artwork/package.nix +++ b/pkgs/by-name/mi/mint-artwork/package.nix @@ -8,14 +8,14 @@ stdenv.mkDerivation rec { pname = "mint-artwork"; - version = "1.9.2"; + version = "1.9.3"; src = fetchurl { urls = [ "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz" - "https://web.archive.org/web/20250807131013/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz" + "https://web.archive.org/web/20251218152602/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz" ]; - hash = "sha256-zmVpy7T1AyVE5nwD0aZ//9kIFK2IYjl3rSq+9bcHPDE="; + hash = "sha256-XH3RZq9ls0e9mM7cZhCSkNMUwMJyBeFTdfn006PaqNg="; }; nativeBuildInputs = [ From 4fb2e855536872bb46b5cd16d897c9204e6453e6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:31:19 +0000 Subject: [PATCH 301/332] tree-sitter-grammars.tree-sitter-solidity: 1.2.3 -> 1.2.13 --- .../tools/parsing/tree-sitter/grammars/grammar-sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 5adf5f2b26a4..56023d8384f8 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -621,9 +621,9 @@ }; solidity = { - version = "1.2.3"; + version = "1.2.13"; url = "github:JoranHonig/tree-sitter-solidity"; - hash = "sha256-BN3a/gEZxOgRWm/H3CEFk4eTKhoZrBAFlUnZiLs9RUE="; + hash = "sha256-b+DHy7BkkMg88kLhirtCzjF3dHlCFkXea65aGC18fW0="; }; sparql = { From 9838b5a044789032beadea213639f0893f2e1047 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:40:46 +0000 Subject: [PATCH 302/332] survex: 1.4.18 -> 1.4.19 --- pkgs/by-name/su/survex/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/su/survex/package.nix b/pkgs/by-name/su/survex/package.nix index b084606b1f3f..f4e1fd3f3765 100644 --- a/pkgs/by-name/su/survex/package.nix +++ b/pkgs/by-name/su/survex/package.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation rec { pname = "survex"; - version = "1.4.18"; + version = "1.4.19"; src = fetchurl { url = "https://survex.com/software/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-oKCEd3G67+2tE6+UB5NKbW/xEWMvbmRkb/YzsgM6zmU="; + hash = "sha256-X8FZCZTJ7DkZeYnrzaLCukRhs/kTHwre9F1TTRlK2ro="; }; nativeBuildInputs = [ From fb8291c8cd7c1671f2065f7c63496ddc727956de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:57:51 +0000 Subject: [PATCH 303/332] starboard: 0.15.28 -> 0.15.29 --- pkgs/by-name/st/starboard/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/starboard/package.nix b/pkgs/by-name/st/starboard/package.nix index a506a75e4fdd..7f9530d67641 100644 --- a/pkgs/by-name/st/starboard/package.nix +++ b/pkgs/by-name/st/starboard/package.nix @@ -9,7 +9,7 @@ buildGoModule (finalAttrs: { pname = "starboard"; - version = "0.15.28"; + version = "0.15.29"; __darwinAllowLocalNetworking = true; # for tests @@ -17,7 +17,7 @@ buildGoModule (finalAttrs: { owner = "aquasecurity"; repo = "starboard"; tag = "v${finalAttrs.version}"; - hash = "sha256-tFCYNlY6x0z9xGBj4nzb1Db6Wus8uH9fMHLbtFp1vlQ="; + hash = "sha256-co4+k+91T/M+f4zk4Q26SEoRRTKDsQpYZQY9AWOjv9o="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; From 9f9481506856a9c079592cbce74a7beeee04c164 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 16:01:34 +0000 Subject: [PATCH 304/332] pdk-ciel: 2.3.1 -> 2.4.0 --- pkgs/by-name/pd/pdk-ciel/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pd/pdk-ciel/package.nix b/pkgs/by-name/pd/pdk-ciel/package.nix index 648d3c10b556..cf859edb247a 100644 --- a/pkgs/by-name/pd/pdk-ciel/package.nix +++ b/pkgs/by-name/pd/pdk-ciel/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication rec { pname = "ciel"; - version = "2.3.1"; + version = "2.4.0"; pyproject = true; src = fetchFromGitHub { owner = "fossi-foundation"; repo = "ciel"; tag = version; - hash = "sha256-/B4s0X+/2rTkR81zK5fwFKmMAgfFYH2n/6etH7WYyik="; + hash = "sha256-AWbkHL0zO3tD0mE3dZIcj8mVND7o3imTxOpEfOtlRDI="; }; build-system = [ python3Packages.poetry-core ]; From 09e8eeb37e28d9350dfb6b8bbbe35f4fb1040734 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 16:08:05 +0000 Subject: [PATCH 305/332] unrar: 7.2.2 -> 7.2.3 --- pkgs/by-name/un/unrar/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/un/unrar/package.nix b/pkgs/by-name/un/unrar/package.nix index 0e73007fe75e..ff6860d68a87 100644 --- a/pkgs/by-name/un/unrar/package.nix +++ b/pkgs/by-name/un/unrar/package.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "unrar"; - version = "7.2.2"; + version = "7.2.3"; src = fetchzip { url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz"; stripRoot = false; - hash = "sha256-qRGaj2NL8uKq2O8t99odcfmiu2VamF409p4v5Wh29oM="; + hash = "sha256-AMaJ0PfnqUVPF2rdxWNtBfYu1oVFEqvSdnDaiNtmRAo="; }; sourceRoot = finalAttrs.src.name; From cdfe58996753cb9137d772aedecdae0d2f68e815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 18 Dec 2025 01:02:05 +0100 Subject: [PATCH 306/332] bitwarden-desktop: use the vendored dart from sass-embedded Other dart versions might not work, like when we upgraded dart from 3.9.3 to 3.10.4 and the build might even silently fail. --- pkgs/by-name/bi/bitwarden-desktop/package.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index 1a189b89ec96..4ab1e4d2c004 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -3,7 +3,7 @@ buildNpmPackage, cargo, copyDesktopItems, - dart, + dart-sass, darwin, electron_37, fetchFromGitHub, @@ -130,8 +130,13 @@ buildNpmPackage' rec { exit 1 fi + # force our dart-sass executable substituteInPlace node_modules/sass-embedded/dist/lib/src/compiler-path.js \ - --replace-fail "\''${compiler_module_1.compilerModule}/dart-sass/src/dart" "${lib.getExe' dart "dartaotruntime"}" + --replace-fail "dart-sass/src/sass.snapshot" "dart-sass/src/sass.snapshot.disabled" + + for f in $(find node_modules/ -name sass -type f -executable); do + ln -sf ${lib.getExe dart-sass} $f + done pushd apps/desktop/desktop_native/napi npm run build From ba90da3b3b766cedf752c7d2ff86334ce95a3a87 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 16:19:48 +0000 Subject: [PATCH 307/332] mxt-app: 1.45 -> 1.46 --- pkgs/by-name/mx/mxt-app/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mx/mxt-app/package.nix b/pkgs/by-name/mx/mxt-app/package.nix index bf37a9b87997..5f562549c933 100644 --- a/pkgs/by-name/mx/mxt-app/package.nix +++ b/pkgs/by-name/mx/mxt-app/package.nix @@ -7,14 +7,14 @@ }: stdenv.mkDerivation rec { - version = "1.45"; + version = "1.46"; pname = "mxt-app"; src = fetchFromGitHub { owner = "atmel-maxtouch"; repo = "mxt-app"; rev = "v${version}"; - sha256 = "sha256-kMVNakIzqGvT2+7plNsiqPdQ+0zuS7gh+YywF0hA1H4="; + sha256 = "sha256-SeP48xdZ43dL28tg7mo8SmObUt3R+8oyETst6yKkhnU="; }; nativeBuildInputs = [ autoreconfHook ]; From 6782efdadae973fb74e95c5c649834f140d5f0ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 16:40:35 +0000 Subject: [PATCH 308/332] goeland: 0.20.1 -> 0.21.0 --- pkgs/by-name/go/goeland/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/goeland/package.nix b/pkgs/by-name/go/goeland/package.nix index a10a406755ff..45bfcc8ac0d6 100644 --- a/pkgs/by-name/go/goeland/package.nix +++ b/pkgs/by-name/go/goeland/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "goeland"; - version = "0.20.1"; + version = "0.21.0"; src = fetchFromGitHub { owner = "slurdge"; repo = "goeland"; rev = "v${version}"; - sha256 = "sha256-5MKkjUOAXz6R7PdChuJA4ybc07gHdO9BF68CpI7OExA="; + sha256 = "sha256-Yw9FRI4TdfqCLdZCTA+y1y8TaD0flp1sP1aKYvd8PGM="; }; - vendorHash = "sha256-Jnui1toAV4VvPs6T7UqgAUarFjuik/OnLUrF5VqI+EU="; + vendorHash = "sha256-FfdHOYrpVilter80arOtwn+qJV56gIh6Ml64ekPs+DE="; ldflags = [ "-s" From a576ab313876fb3459cb27ac9066ed042c0e3807 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 18 Dec 2025 16:52:36 +0000 Subject: [PATCH 309/332] python3Packages.gymnasium: 1.2.2 -> 1.2.3 Diff: https://github.com/Farama-Foundation/gymnasium/compare/v1.2.2...v1.2.3 Changelog: https://github.com/Farama-Foundation/Gymnasium/releases/tag/v1.2.3 --- pkgs/development/python-modules/gymnasium/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gymnasium/default.nix b/pkgs/development/python-modules/gymnasium/default.nix index 8f1e182d4347..77e936f2face 100644 --- a/pkgs/development/python-modules/gymnasium/default.nix +++ b/pkgs/development/python-modules/gymnasium/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { pname = "gymnasium"; - version = "1.2.2"; + version = "1.2.3"; pyproject = true; @@ -46,7 +46,7 @@ buildPythonPackage rec { owner = "Farama-Foundation"; repo = "gymnasium"; tag = "v${version}"; - hash = "sha256-GD/ZC6BRcsIiVrvTz3j2hg10tbJMfCou/ydUFbC2fc4="; + hash = "sha256-b712BPs7AS8UE8Zsu9GW/J6Vag9NB/x728MtQ5yrjbY="; }; build-system = [ setuptools ]; From 3aad436a7462a9a0c87b1fc76c4c65ed3977058c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 17:11:44 +0000 Subject: [PATCH 310/332] fastfetchMinimal: 2.56.0 -> 2.56.1 --- pkgs/by-name/fa/fastfetch/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix index f7cce76e7c7c..7a8691096274 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -59,13 +59,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "fastfetch"; - version = "2.56.0"; + version = "2.56.1"; src = fetchFromGitHub { owner = "fastfetch-cli"; repo = "fastfetch"; tag = finalAttrs.version; - hash = "sha256-kOI0PUEKmI5hZowEl/VRinjRMDXOP4K12eoFHuIDqOo="; + hash = "sha256-loTEadHPhE0b7VYCq2Lh+FKKnqzc4kzWFkHLnTjFsBg="; }; outputs = [ From 085f821757573600575d35aad88d76733da71d2f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 17:33:53 +0000 Subject: [PATCH 311/332] python3Packages.submitit: 1.5.3 -> 1.5.4 --- pkgs/development/python-modules/submitit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/submitit/default.nix b/pkgs/development/python-modules/submitit/default.nix index caaac271ac45..6911aad06a99 100644 --- a/pkgs/development/python-modules/submitit/default.nix +++ b/pkgs/development/python-modules/submitit/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "submitit"; - version = "1.5.3"; + version = "1.5.4"; pyproject = true; src = fetchFromGitHub { owner = "facebookincubator"; repo = "submitit"; tag = version; - hash = "sha256-uBlKbg1oKeUPcWzM9WxisGtpBu69eZyTetaANYpTG5E="; + hash = "sha256-Q/2mC7viLYl8fx7dtQueZqT191EbERZPfN0WkTS/U1w="; }; build-system = [ flit-core ]; From f2ed26857a2b749545be67c5bab3c3037eabb3f5 Mon Sep 17 00:00:00 2001 From: jaredmontoya <49511278+jaredmontoya@users.noreply.github.com> Date: Sat, 28 Jun 2025 22:01:44 +0200 Subject: [PATCH 312/332] tree-sitter-grammars.tree-sitter-qmljs: init --- .../tools/parsing/tree-sitter/grammars/default.nix | 2 +- .../tree-sitter/grammars/grammar-sources.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix index c61bb8046e91..82437c2b9504 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix @@ -10,7 +10,7 @@ let /** Set of grammar sources. See ./grammar-sources.nix to define a new grammar. */ - grammar-sources = import ./grammar-sources.nix; + grammar-sources = import ./grammar-sources.nix { inherit lib; }; /** Parse a flakeref style string to { type, owner, repo, ref } diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 2fa19af65f72..42a7e269cbd9 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -1,3 +1,5 @@ +{ lib }: + { bash = { version = "0.23.3"; @@ -527,6 +529,18 @@ hash = "sha256-mJ/bj09mT1WTaiKoXiRXDM7dkenf5hv2ArXieeTVe6I="; }; + qmljs = rec { + version = "0.3.0"; + url = "github:yuja/tree-sitter-qmljs?ref=${version}"; + hash = "sha256-tV4lipey+OAQwygRFp9lQAzgCNiZzSu7p3Mr6CCBH1g="; + meta = { + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + jaredmontoya + ]; + }; + }; + query = { version = "0.5.0"; url = "github:nvim-treesitter/tree-sitter-query"; From 5da52156fb23b49cdee0f3844bfaca015ac3316a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 18:41:32 +0000 Subject: [PATCH 313/332] protoc-gen-go: 1.36.10 -> 1.36.11 --- pkgs/by-name/pr/protoc-gen-go/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/protoc-gen-go/package.nix b/pkgs/by-name/pr/protoc-gen-go/package.nix index 611212a92f91..6688a5456659 100644 --- a/pkgs/by-name/pr/protoc-gen-go/package.nix +++ b/pkgs/by-name/pr/protoc-gen-go/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "protoc-gen-go"; - version = "1.36.10"; + version = "1.36.11"; src = fetchFromGitHub { owner = "protocolbuffers"; repo = "protobuf-go"; rev = "v${version}"; - hash = "sha256-7wAIwUouwmczSeAnA7aMmX8HwXmfnjNErgjjvx+wCZQ="; + hash = "sha256-7+w3f5dDcQCw87A6P+JZXfMejS4QHANaLGK8QbUAaQs="; }; vendorHash = "sha256-EAkrbx9pTBhZ0y0ub14PnMINrk1M6yEgnGapzpgXqBU="; From 391e02a3b3e1d04a78c1aaf7c72f705f58908b0e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 18:44:48 +0000 Subject: [PATCH 314/332] phrase-cli: 2.51.0 -> 2.52.0 --- pkgs/by-name/ph/phrase-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ph/phrase-cli/package.nix b/pkgs/by-name/ph/phrase-cli/package.nix index f132bd96dbf6..bf10486eceda 100644 --- a/pkgs/by-name/ph/phrase-cli/package.nix +++ b/pkgs/by-name/ph/phrase-cli/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "phrase-cli"; - version = "2.51.0"; + version = "2.52.0"; src = fetchFromGitHub { owner = "phrase"; repo = "phrase-cli"; rev = version; - sha256 = "sha256-ktS+20H7n5YYQIkA5R6xo2LJCdHHuZJqnQ0wMchm6rY="; + sha256 = "sha256-y4AsxCtjm3E1nwmSgGelUAa5jajNXfpKLvEjxW7uNrI="; }; - vendorHash = "sha256-6w0+fvoA3LYYNJgY33BHs7QlWGGmcPcjG2MlbXf6J8k="; + vendorHash = "sha256-cdoSsESxH1twepMQHg+pl6az6pipbb1LxkpMyMxSCW4="; ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ]; From 7b847ad74b8c84050856da23c9077b3f203c307c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 19:35:58 +0000 Subject: [PATCH 315/332] esp-generate: 1.0.1 -> 1.1.0 --- pkgs/by-name/es/esp-generate/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/es/esp-generate/package.nix b/pkgs/by-name/es/esp-generate/package.nix index 6a8d52f44bf6..c48ab191c469 100644 --- a/pkgs/by-name/es/esp-generate/package.nix +++ b/pkgs/by-name/es/esp-generate/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "esp-generate"; - version = "1.0.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "esp-rs"; repo = "esp-generate"; rev = "v${version}"; - hash = "sha256-OQUBX0hZNEgMpBttWZDXI/eoOlxVfY57oZqn3YKNZ0o="; + hash = "sha256-cSwTdUP3N19zzf6ecODCCc64jSmGq139UxUyevBQ3No="; }; - cargoHash = "sha256-Sf37qp1TBCabgKIExs9biqvdN+KtIBPGeokLMovjM68="; + cargoHash = "sha256-z9Tq6N1xPon+BPfdPnwg7XP7Pn3rPug9xxqS/MrtBMk="; meta = { description = "Template generation tool to create no_std applications targeting Espressif's chips"; From f74c64bacf35f0be2c781de68afc2c84a8c54ea1 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Thu, 18 Dec 2025 14:38:34 -0500 Subject: [PATCH 316/332] zfs_2_4: init at 2.4.0 Update zfs_unstable as well. Not changing default zfs yet. This is also to make it easier to backport this PR while keeping the 25.11 default unchanged. --- nixos/tests/zfs.nix | 5 ++++ pkgs/os-specific/linux/zfs/2_4.nix | 34 +++++++++++++++++++++++++ pkgs/os-specific/linux/zfs/unstable.nix | 4 +-- pkgs/top-level/all-packages.nix | 4 +++ pkgs/top-level/linux-kernels.nix | 4 +++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/zfs/2_4.nix diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix index 0f0f40e00020..5a7c493e42b1 100644 --- a/nixos/tests/zfs.nix +++ b/nixos/tests/zfs.nix @@ -209,6 +209,11 @@ in kernelPackages = pkgs.linuxPackages; }; + series_2_4 = makeZfsTest { + zfsPackage = pkgs.zfs_2_4; + kernelPackages = pkgs.linuxPackages; + }; + unstable = makeZfsTest { zfsPackage = pkgs.zfs_unstable; kernelPackages = pkgs.linuxPackages; diff --git a/pkgs/os-specific/linux/zfs/2_4.nix b/pkgs/os-specific/linux/zfs/2_4.nix new file mode 100644 index 000000000000..9874986076d7 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/2_4.nix @@ -0,0 +1,34 @@ +{ + callPackage, + lib, + nixosTests, + stdenv, + fetchpatch, + ... +}@args: + +callPackage ./generic.nix args { + # You have to ensure that in `pkgs/top-level/linux-kernels.nix` + # this attribute is the correct one for this package. + kernelModuleAttribute = "zfs_2_4"; + + kernelMinSupportedMajorMinor = "4.18"; + kernelMaxSupportedMajorMinor = "6.18"; + + # this package should point to the latest release. + version = "2.4.0"; + + tests = { + inherit (nixosTests.zfs) series_2_4; + } + // lib.optionalAttrs stdenv.isx86_64 { + inherit (nixosTests.zfs) installer; + }; + + maintainers = with lib.maintainers; [ + adamcstephens + amarshall + ]; + + hash = "sha256-v78Tn1Im9h8Sjd4XACYesPOD+hlUR3Cmg8XjcJXOuwM="; +} diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix index 119c2ca8ed41..5620143d9a67 100644 --- a/pkgs/os-specific/linux/zfs/unstable.nix +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -16,14 +16,14 @@ callPackage ./generic.nix args { # IMPORTANT: Always use a tagged release candidate or commits from the # zfs--staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.4.0-rc5"; + version = "2.4.0"; # rev = ""; tests = { inherit (nixosTests.zfs) unstable; }; - hash = "sha256-HLxqzZjAFnaKqzy1CA3RecTdqpheR2pmFCTqMIcm+wk="; + hash = "sha256-v78Tn1Im9h8Sjd4XACYesPOD+hlUR3Cmg8XjcJXOuwM="; extraLongDescription = '' This is "unstable" ZFS, and will usually be a pre-release version of ZFS. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c54fa90f5003..1287d97a4486 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10123,11 +10123,15 @@ with pkgs; zfs_2_3 = callPackage ../os-specific/linux/zfs/2_3.nix { configFile = "user"; }; + zfs_2_4 = callPackage ../os-specific/linux/zfs/2_4.nix { + configFile = "user"; + }; zfs_unstable = callPackage ../os-specific/linux/zfs/unstable.nix { configFile = "user"; }; }) zfs_2_3 + zfs_2_4 zfs_unstable ; zfs = zfs_2_3; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index d796a2739c91..821abfb26474 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -670,6 +670,10 @@ in configFile = "kernel"; inherit pkgs kernel; }; + zfs_2_4 = callPackage ../os-specific/linux/zfs/2_4.nix { + configFile = "kernel"; + inherit pkgs kernel; + }; zfs_unstable = callPackage ../os-specific/linux/zfs/unstable.nix { configFile = "kernel"; inherit pkgs kernel; From 97b2fc3b500c73edfaf25d4a628d533871ccc10a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 19:52:25 +0000 Subject: [PATCH 317/332] do-agent: 3.18.6 -> 3.18.7 --- pkgs/by-name/do/do-agent/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/do-agent/package.nix b/pkgs/by-name/do/do-agent/package.nix index 9dcb2c3568ed..654b06b152c2 100644 --- a/pkgs/by-name/do/do-agent/package.nix +++ b/pkgs/by-name/do/do-agent/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "do-agent"; - version = "3.18.6"; + version = "3.18.7"; src = fetchFromGitHub { owner = "digitalocean"; repo = "do-agent"; rev = version; - sha256 = "sha256-9JYDxHtrJn20QIcV4OHySzrwx9jRJyqx3WYfxoJX4Hw="; + sha256 = "sha256-0subv3u+iO409GiHA9HaWUAo21F2hgmQnNaOPbPXKiU="; }; ldflags = [ From 2cab18d426af57125c607f7df636915578646502 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 19:56:28 +0000 Subject: [PATCH 318/332] hcloud: 1.57.0 -> 1.58.0 --- pkgs/by-name/hc/hcloud/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hc/hcloud/package.nix b/pkgs/by-name/hc/hcloud/package.nix index eb40f225fa8a..28ca1ffaee19 100644 --- a/pkgs/by-name/hc/hcloud/package.nix +++ b/pkgs/by-name/hc/hcloud/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "hcloud"; - version = "1.57.0"; + version = "1.58.0"; src = fetchFromGitHub { owner = "hetznercloud"; repo = "cli"; tag = "v${version}"; - hash = "sha256-9mXgwBXqSk4WOSOg7JnopPZj1alokwbOUsbCErUHrsU="; + hash = "sha256-jK5672g27qI4qHHhejrBP0W2YTo8vnUwnS9f50Yq4BI="; }; - vendorHash = "sha256-tjSiSIKaMwOHTDo7AxYi1ziE/2nVdy+xm3UwKAhyb0E="; + vendorHash = "sha256-xAXL3ADmH20vH/nnFJdjWlc2WkiC92+SSRP4UKrWoGo="; ldflags = [ "-s" From f9fffa254493a504fdf94c3142018f7ee86a4b0c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 20:17:14 +0000 Subject: [PATCH 319/332] newcomputermodern: 7.0.4 -> 7.1.0 --- pkgs/by-name/ne/newcomputermodern/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/newcomputermodern/package.nix b/pkgs/by-name/ne/newcomputermodern/package.nix index eb7fcb7f0ebb..4be9cd465e3c 100644 --- a/pkgs/by-name/ne/newcomputermodern/package.nix +++ b/pkgs/by-name/ne/newcomputermodern/package.nix @@ -8,12 +8,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "newcomputermodern"; - version = "7.0.4"; + version = "7.1.0"; src = fetchgit { url = "https://git.gnu.org.ua/newcm.git"; rev = finalAttrs.version; - hash = "sha256-KPuU0O5Lbh/guDv+HRgWbp712bdfx8mZaPDolaDFlws="; + hash = "sha256-PoRsPJv9Zq9hwdViHJFGURX0ms2VERoPl9LfQ3kTAMo="; }; nativeBuildInputs = [ fontforge ]; From 62ac81aaf9afc9080b52b3a1f177cfef6e98d8b6 Mon Sep 17 00:00:00 2001 From: "git@71rd.net" Date: Tue, 16 Dec 2025 13:33:23 +0000 Subject: [PATCH 320/332] nixos/home-assistant: do not set server_host by default Allowing `services.home-assistant.config.http.server_host` to be set to `null` and making this default. Setting the value to null leads to it not being set in the by formats.ya This should not change the default behaviour of home-assistant, as by default the process binds to all available addresses. This change avoids creating a warning in home-assistant about the deprecation of the server_host option and expected removal in 2026.06 An open issue for upstream around the removal can be found here: https://github.com/home-assistant/core/issues/157961 --- .../services/home-automation/home-assistant.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix index dc1900f52c1e..315f536a8039 100644 --- a/nixos/modules/services/home-automation/home-assistant.nix +++ b/nixos/modules/services/home-automation/home-assistant.nix @@ -406,14 +406,15 @@ in http = { # https://www.home-assistant.io/integrations/http/ server_host = mkOption { - type = types.either types.str (types.listOf types.str); - default = [ - "0.0.0.0" - "::" + type = types.nullOr (types.either types.str (types.listOf types.str)); + default = null; + example = [ + "::1" + "127.0.0.1" ]; - example = "::1"; description = '' - Only listen to incoming requests on specific IP/host. The default listed assumes support for IPv4 and IPv6. + Only listen to incoming requests on specific IP/host. + The option is unset by default, meaning that Home Assistant listens on all available addresses. ''; }; From 873df75252b0c201af04fa14d3b848370dc8c218 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 20:32:08 +0000 Subject: [PATCH 321/332] vscode-extensions.sourcegraph.amp: 0.0.1765541481 -> 0.0.1766080982 --- .../editors/vscode/extensions/sourcegraph.amp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/sourcegraph.amp/default.nix b/pkgs/applications/editors/vscode/extensions/sourcegraph.amp/default.nix index a1528991e58c..55b5cebadbed 100644 --- a/pkgs/applications/editors/vscode/extensions/sourcegraph.amp/default.nix +++ b/pkgs/applications/editors/vscode/extensions/sourcegraph.amp/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "sourcegraph"; name = "amp"; - version = "0.0.1765541481"; - hash = "sha256-LE4IsnLa5fI5hdhrrMzqhdomvDa6gMpTPtQ+xkGSyWo="; + version = "0.0.1766080982"; + hash = "sha256-bLW3jLXfTZTNJ8FENYSFSYk5lZCqX0F+zm9HyMWn8cg="; }; meta = { From c0e23f3cfed9fe28485494e085d18d46e6db5f41 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 20:34:54 +0000 Subject: [PATCH 322/332] gitea: 1.25.2 -> 1.25.3 --- pkgs/by-name/gi/gitea/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index 516469f7e006..9fd3524c6633 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -48,13 +48,13 @@ let in buildGoModule rec { pname = "gitea"; - version = "1.25.2"; + version = "1.25.3"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; tag = "v${gitea.version}"; - hash = "sha256-8U7zRZoiuB2+LLeOg2QpCuxWRNkndlp/VyH1OvnZujc="; + hash = "sha256-jCh4CuVS/WHpd1+NLfB3Sc2sonVcfedDZAgYTqcXZaU="; }; proxyVendor = true; From b4e683613a320afbfa0fada1dfd35810a2f195e6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 20:39:33 +0000 Subject: [PATCH 323/332] dnscontrol: 4.28.2 -> 4.29.0 --- pkgs/by-name/dn/dnscontrol/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dn/dnscontrol/package.nix b/pkgs/by-name/dn/dnscontrol/package.nix index 4efa5febd8b5..4e30e94286e4 100644 --- a/pkgs/by-name/dn/dnscontrol/package.nix +++ b/pkgs/by-name/dn/dnscontrol/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "dnscontrol"; - version = "4.28.2"; + version = "4.29.0"; src = fetchFromGitHub { owner = "StackExchange"; repo = "dnscontrol"; tag = "v${finalAttrs.version}"; - hash = "sha256-+AEDtGlgHGA59OjylS4BIX0entyOx2/O6sNAeBSebDE="; + hash = "sha256-0MwDp2wu/K402It8nqMV+ihVg2eLAyb33Ceo9XLz4EQ="; }; - vendorHash = "sha256-veD5CrXzoVCAMUtxJjC8tsfk8hFAlxVwEg+ny6kqzk8="; + vendorHash = "sha256-zeai1PySgsAK1zkV0Z4JIDTGU/mfqfOwmVdu34wd9w0="; nativeBuildInputs = [ installShellFiles ]; From b6777dccdf98dbd704ff7cb5bf68f0186ac37148 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 18 Dec 2025 20:41:31 +0000 Subject: [PATCH 324/332] python3Packages.gpytorch: disable tests that hang forever on x86_64-darwin --- pkgs/development/python-modules/gpytorch/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/gpytorch/default.nix b/pkgs/development/python-modules/gpytorch/default.nix index e6ac8ecadd65..0a880c23842a 100644 --- a/pkgs/development/python-modules/gpytorch/default.nix +++ b/pkgs/development/python-modules/gpytorch/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, @@ -60,6 +61,14 @@ buildPythonPackage rec { "test_t_matmul_matrix" ]; + disabledTestPaths = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # Hang forever + "test/examples/test_spectral_mixture_gp_regression.py" + "test/kernels/test_spectral_mixture_kernel.py" + "test/utils/test_nearest_neighbors.py" + "test/variational/test_nearest_neighbor_variational_strategy.py" + ]; + meta = { description = "Highly efficient and modular implementation of Gaussian Processes, with GPU acceleration"; homepage = "https://gpytorch.ai"; From e1498470deb4f7e7426600ac04c5d8b9230ba195 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 20:53:12 +0000 Subject: [PATCH 325/332] home-assistant-custom-lovelace-modules.material-you-utilities: 2.0.27 -> 2.0.28 --- .../material-you-utilities/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix index 97546a17ef2d..569974b444ab 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "material-you-utilities"; - version = "2.0.27"; + version = "2.0.28"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-EUihU3qH4IyUoOZdLTne7/iK5AFwIJNoGu69gig+WHw="; + hash = "sha256-tyB4oHQjhrWt0AXN+5ivzJVO5rUjlxK1T69vKfE+U00="; }; - npmDepsHash = "sha256-qIckMQ2d65vCU9Yx+vFzTTWLJjjtlpQg1h12wiDimqA="; + npmDepsHash = "sha256-e9gsv8ykjNTguuu0PK4JDdcVo3c1Oqe/bR00nVXidus="; postPatch = '' # Remove git dependency from rspack config From e3f8362c007014c4252029d8df4caa83528225e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20James?= Date: Thu, 18 Dec 2025 21:56:43 +0100 Subject: [PATCH 326/332] python3Packages.textual: 6.10.0 -> 6.11.0 --- pkgs/development/python-modules/textual/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix index fbd09c8131c1..7bebcc3b9057 100644 --- a/pkgs/development/python-modules/textual/default.nix +++ b/pkgs/development/python-modules/textual/default.nix @@ -37,14 +37,14 @@ buildPythonPackage rec { pname = "textual"; - version = "6.10.0"; + version = "6.11.0"; pyproject = true; src = fetchFromGitHub { owner = "Textualize"; repo = "textual"; tag = "v${version}"; - hash = "sha256-LtOlo3Pya+JCRxHJwo6NY8dcfhJP2O5MdD2DNEETvHE="; + hash = "sha256-xfGxI8Q9a11mD+1Ha+wnJn0HMxAzzhUIeeu1sk5cW+w="; }; build-system = [ poetry-core ]; From 5695dd8b62e07a6736e7af39e0883aa9287a6c61 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 21:01:15 +0000 Subject: [PATCH 327/332] sysdig-cli-scanner: 1.24.1 -> 1.24.2 --- .../sysdig-cli-scanner.versions.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix b/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix index a5abf227d0ad..d339395ad234 100644 --- a/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix +++ b/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix @@ -1,23 +1,23 @@ { - version = "1.24.1"; + version = "1.24.2"; x86_64-linux = { - url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.1/linux/amd64/sysdig-cli-scanner"; - hash = "sha256-qsorXQKc724GR9owT6JblpsnEdDiPohK4oSPFQRPa+0="; + url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.2/linux/amd64/sysdig-cli-scanner"; + hash = "sha256-HrkgmdIEgq5fBttZCO2Y0LcgitmTylwBjEUCA0MvqDs="; }; aarch64-linux = { - url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.1/linux/arm64/sysdig-cli-scanner"; - hash = "sha256-jeW17GozGAl4T3afST9JXCbFBW9aINhwDHeya+d1dBc="; + url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.2/linux/arm64/sysdig-cli-scanner"; + hash = "sha256-AsyM2scsKtQqFygZbrhXQkz1dE7PX1+nT1+gkmfmZcs="; }; x86_64-darwin = { - url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.1/darwin/amd64/sysdig-cli-scanner"; - hash = "sha256-oSG0wlaI8rHELkM5yLrJ2Qi/eydJSg2sR1YvSmpaTzw="; + url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.2/darwin/amd64/sysdig-cli-scanner"; + hash = "sha256-zCS8X3wLKwowlDhNamXN04hhHy6/SNaq3rFu6oOjbBg="; }; aarch64-darwin = { - url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.1/darwin/arm64/sysdig-cli-scanner"; - hash = "sha256-cm+4HXNd3DDhjMDKcCMmFBU31k+p+wPLUCkPTHTHA2E="; + url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.24.2/darwin/arm64/sysdig-cli-scanner"; + hash = "sha256-+KjOhNRGIXl+B0k8rnQNtbYphKqxvuSHz/R31mOHapY="; }; } From 8229757291611e2f323e4d9bb92ef8186e6e022e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 18 Dec 2025 22:04:40 +0100 Subject: [PATCH 328/332] firefox-unwrapped: 146.0 -> 146.0.1 https://www.firefox.com/en-US/firefox/146.0.1/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2025-98/ Fixes: CVE-2025-14860, CVE-2025-14861 --- .../networking/browsers/firefox/packages/firefox.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix index 70053aff19b0..6e7d8860e2a8 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix @@ -9,10 +9,10 @@ buildMozillaMach rec { pname = "firefox"; - version = "146.0"; + version = "146.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "db6664310cdcdede832b29dea533b345a3ac86f9df7813118d44b1ec2c4a32e4de2b6e98044385ca6f6026eb3a9994c486a1ddb8b6f4ae7589ed46b122c05630"; + sha512 = "ae95b86e483febf8dfec8347748dd9048ed7d7f845250e07aa8048e2b351da61f6f3c5f83bb0d0c72e1a75ec61b60e59bbe69639f0f33532910ff8bf5ca07394"; }; meta = { From 942ae15ba96e39958bfa1e972932f52cee7e4a80 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 18 Dec 2025 22:06:21 +0100 Subject: [PATCH 329/332] firefox-bin-unwrapped: 146.0 -> 146.0.1 https://www.firefox.com/en-US/firefox/146.0.1/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2025-98/ Fixes: CVE-2025-14860, CVE-2025-14861 --- .../browsers/firefox-bin/release_sources.nix | 1238 ++++++++--------- 1 file changed, 619 insertions(+), 619 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 840fbc5d3f85..6156b0d5cd9c 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,1859 +1,1859 @@ { - version = "146.0"; + version = "146.0.1"; sources = [ { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ach/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ach/firefox-146.0.1.tar.xz"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "6ce80d8054a595fbda6defec2fafe3a54a321c4a21241df49ee2ee759f14e153"; + sha256 = "aa1b44f955c0e7affd3c2ee3a59f5809823058940537188c8a16b7491ca6767c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/af/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/af/firefox-146.0.1.tar.xz"; locale = "af"; arch = "linux-x86_64"; - sha256 = "aeee2aa306f950d4896d47609deef14d0e5ed1b7af578e345d1c0330bc6a130a"; + sha256 = "f93362a0c443465aa30582107aec154461d11818b3bfd87651dfe416d8fd6b66"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/an/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/an/firefox-146.0.1.tar.xz"; locale = "an"; arch = "linux-x86_64"; - sha256 = "872e874ebf8cfd31fdb5fddf41517d6e7aa718a4aaeca30357073fc5853ded58"; + sha256 = "1b25bb0ee0e3852787d988aa9188a47ded898187e1ef938d4025f7481a1bda84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ar/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ar/firefox-146.0.1.tar.xz"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "cf78a6c2e0c0c2b02f9fdeeb97ad72ff72025b4ced516e1c7f4393eab0c9a343"; + sha256 = "74eab992b6864115f91ddc5f659de9da75ce445c6a5e4a1fc71f351272c24f8e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ast/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ast/firefox-146.0.1.tar.xz"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "8a3ec685a9eacfe98fa38e8fc925649b7f62b94afd72ee98607689c2e52b176a"; + sha256 = "344bcf596fd22db09b901e35af88aaa75ddec018dcae874c4de73696d602243e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/az/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/az/firefox-146.0.1.tar.xz"; locale = "az"; arch = "linux-x86_64"; - sha256 = "00198d8a6cf2cda090bf473fcea8c13d22fd4d97b2265634fbe2366ab4864f6b"; + sha256 = "7914a0fbd6ddc9588f383fa4240968ce8a07cb3c8f56e06e44be30af948ca751"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/be/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/be/firefox-146.0.1.tar.xz"; locale = "be"; arch = "linux-x86_64"; - sha256 = "45134025870be5b1b91477a8863df242f567ecb72263b6fb5a923db20a93dc7e"; + sha256 = "784d2f63d1236806addd98c4c9093b43df78ad8aa55347ce8a60a32d9de111f7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/bg/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/bg/firefox-146.0.1.tar.xz"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "3361f061baa81e6ee7edc6d6e13cf5b209c3bb42e63955d643bc4833a4521e3e"; + sha256 = "02ab21095a2c5b7c8e38e4b1dce3f6787a94bbf672640c83f89afecd678f2cd5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/bn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/bn/firefox-146.0.1.tar.xz"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "daed55c5bc1e6bcf94f932fd5a06bf0aa192f132c2a286826188d9b33173231b"; + sha256 = "ead2e4b4926fd8c7139cc055f773b61b00d2081ad104d0246ba8299431b62680"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/br/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/br/firefox-146.0.1.tar.xz"; locale = "br"; arch = "linux-x86_64"; - sha256 = "b058ebf8861ad531f8cdb67e7485838e6871fe7c915ed3723a654183857fd7fe"; + sha256 = "b9fe58851a4dadc9167790f2df13b6129a45166ce0c3334e28211d19185f3e20"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/bs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/bs/firefox-146.0.1.tar.xz"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "fecafc11029b9c833d9ab33d3711dbdd7987053fb67fbba84a46d4fac2334296"; + sha256 = "5e57d938e70346728e6ac567ecf717564d1c1cef11776b807f608707727f19c9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ca-valencia/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ca-valencia/firefox-146.0.1.tar.xz"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "1bcff66cbbadb15664cb5724674eb5d1129abee833fbef480c239aa9434bdc20"; + sha256 = "053a9ea5040141d42dd54caf28e049d0aeda5aa1dd47bc196f974b123bc553f0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ca/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ca/firefox-146.0.1.tar.xz"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "1a84e191c69028696ee1294ebe7ec6cdf4cdb12bef1695ae55df11b654e90d95"; + sha256 = "e604aeac2b0598b86550eaa06e2f8e5c7a78be2ffbcd94f6b11fff435d0e8a10"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/cak/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/cak/firefox-146.0.1.tar.xz"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "04a8137a5155de41c32b8c703b53e6da4f54b8a5dd3ad4ffe6b81cba144a142d"; + sha256 = "5dcfef23c1f0ca3f96846c2b3b9e08eea4f4222beda68c902f4126eadaa3ca45"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/cs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/cs/firefox-146.0.1.tar.xz"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "ab7d20ce50ff8a7d77ffc72d3d04c05fcbc7c971e9ecb2b56a8a735c508f060f"; + sha256 = "30d86be0d933c9df7fef2ae42d73621d54974123d2ab9c60656615d14f9fe670"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/cy/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/cy/firefox-146.0.1.tar.xz"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "9dd3df7ac68b3c0051f4e7493ea9b46414dd312969bc4f5fda5e9fb6d56c142e"; + sha256 = "6c98e6016dc3c3e2a0e316ef1d24cf92cceb849032952fd5c5bdae866adcba0e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/da/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/da/firefox-146.0.1.tar.xz"; locale = "da"; arch = "linux-x86_64"; - sha256 = "837b8e5f8c4940f8eec0b702ac3460f6ea465a5bc31664fedee5d29c96e5fa91"; + sha256 = "d468e23f75c2fbe5abe72cabb9b0711ade329f3e685294bb6f345571eca14962"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/de/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/de/firefox-146.0.1.tar.xz"; locale = "de"; arch = "linux-x86_64"; - sha256 = "65abf0182b4bad4f406f836289e8e3bba15df23bebdfca3bb8a8e099dc51fddb"; + sha256 = "e58898e382c679a5d52ae97701a439d9f6b7c46045751c8cdd1ebfe902e5f851"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/dsb/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/dsb/firefox-146.0.1.tar.xz"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "2502c41d1359e84fae78853b9610ce6cc455977ece011695d0b3d945539ffbf4"; + sha256 = "a2843d6662482fa1f754eb18ea5193d2039d8baa775d348d866bb3bb7357c450"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/el/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/el/firefox-146.0.1.tar.xz"; locale = "el"; arch = "linux-x86_64"; - sha256 = "243f9c6e7bd6eb3fccb88dc643ca086775eaaa286974ef2d089997d4cfdcce28"; + sha256 = "5d82d0163ef7738d50f00abff517668047dccd45f97252ae74e8b4c92239db81"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/en-CA/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/en-CA/firefox-146.0.1.tar.xz"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "89c65898949bd5782581337abb28bcefe4375970bc893cde60da1163ca390005"; + sha256 = "e66947c2f8ad5d191874f07d91f6104af9a736681a6abfc6f2c7b7b96c5f4bd3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/en-GB/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/en-GB/firefox-146.0.1.tar.xz"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "0d6de17751dd94efe9e4906af60c8c9fbf8fb6bc244d87b102c44cc26c877073"; + sha256 = "b0581014d5680a76d679c6309b63803147a3febfd763ac378692c7b94b115a3a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/en-US/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/en-US/firefox-146.0.1.tar.xz"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "8d56f479cc398a537a60a3fa20dca92d8a41925113d3a67f534881a4e4d7e344"; + sha256 = "36a4dc0e3be8af2d49d8388021abf790976d2398162b9d13a6d758cc8c37f8dd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/eo/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/eo/firefox-146.0.1.tar.xz"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "b9fba11f6b754127573a208591d80d98626ea9acf148efa29003438c00b6d8e9"; + sha256 = "c3b41febbff08ebb3d9cc88a87a014deee425ddf517e90f44586346110ac1aec"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/es-AR/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/es-AR/firefox-146.0.1.tar.xz"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "a172c07d1010d35c28f8a39e279c72b790a9b44c88f7d3c2658d0584b16230dc"; + sha256 = "1db9c6994659f9ba9393eb1a3e0096fd60d2282c03a4ce670a35da7ee2b27ac1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/es-CL/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/es-CL/firefox-146.0.1.tar.xz"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "2e161670dc623eacc6769ffe371d0a45280b05bdb2410301ce0827bbd1c5064b"; + sha256 = "5e436e5f0defe6ab8b994cdb303f8f9c48203a2167c7c2869260e0a2a6d4fa99"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/es-ES/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/es-ES/firefox-146.0.1.tar.xz"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "57520fd223e547b8ac85b192c42f0c2bb7b2e33afd6664527801ad072470f810"; + sha256 = "9f1ee4bd42e14f50d311026e6fd20190b83aaf6d9593dcd10a5f41f8dd85a999"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/es-MX/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/es-MX/firefox-146.0.1.tar.xz"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "061ec28dad33441b7579a39a9b295f692051e849222264b34d221eccef1a5a43"; + sha256 = "4a8d0cd05cbad1ab09f479e615ed2df3506a283c84c41d4705de4233289d813e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/et/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/et/firefox-146.0.1.tar.xz"; locale = "et"; arch = "linux-x86_64"; - sha256 = "b54aae10c66fcdbfaaf301da5b8c3aaee361f26cae757721583120a34500e4aa"; + sha256 = "8642cf10632a51494be2e0f8f1777ff3eb4f26dc9d9b3210da031d666bbc1188"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/eu/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/eu/firefox-146.0.1.tar.xz"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "b0365f5ab555ec9a02fc2b504d9fec09a0f98cf25c74fee4ff94b533180915af"; + sha256 = "27ea3649aa4f9b3aa8ecf8faaed65d4a374535af94141ee9b5d47cf2ea30fe7b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/fa/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/fa/firefox-146.0.1.tar.xz"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "bb575b3e06bb073e7132e3fb4aeedf1521eabd951111ce136412bf600b0bdb15"; + sha256 = "3711fcffd892629d8194863c040b393b01bac649b5f2a7e31a7a5208787599c2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ff/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ff/firefox-146.0.1.tar.xz"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "3a47808175eda5e515f72bf9f4b71fddcfaa56ad736f2c32c29c7a4c102bfda3"; + sha256 = "5f72a92c38cce79b388a17cd7b3626b8ec2d73dd7a270de8465e09dd3e12d4da"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/fi/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/fi/firefox-146.0.1.tar.xz"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "38a943080ad5e66d2554c869c802ce21fe267c1e5db87e7db2c8261d3c6267ac"; + sha256 = "fd260ee1c12c4d8cc7a4b66e23e82932f4b7bf5352f366bd041c91f61f968329"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/fr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/fr/firefox-146.0.1.tar.xz"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "4fea5c7aad8a34dfc3f9e3f368888795226f3030c7e9b792dd38a8a8059ef70f"; + sha256 = "f2e3908465b1785c24fe2cb98f49e2ce021e02b5b29ef58198c450b8b1d0d22d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/fur/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/fur/firefox-146.0.1.tar.xz"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "a0dc848dbd763bdd9bb83b03a33384cddbf5c5b3c827f7096122537da5c96818"; + sha256 = "9d30fa7a66146d0d9ca0611aa2e3acb3f8e58bd0f69b55e5640b2e8861ca769b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/fy-NL/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/fy-NL/firefox-146.0.1.tar.xz"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "f185cdaa52ec6aba50d08886fcf8fad827dee7bdd2e821c27a816e6b3325ff1a"; + sha256 = "3eb000760d8c7551e84bacefd3f0ca215c9495a3d42153b7a1267783ae45bf13"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ga-IE/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ga-IE/firefox-146.0.1.tar.xz"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "e905ffffe49b28b4ef54b96912a27e1538c403c43c636cd36b71ad4f7cd02be3"; + sha256 = "ac6efa5ab807fda49700215c698132fa28e08ec6d886085fb9d3b356a2717ec3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/gd/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/gd/firefox-146.0.1.tar.xz"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "f1f32c5f5a4488515697328d5fc812b21697fafcd9bac62b12c3cee9fe4c60f9"; + sha256 = "d0e044496f28e8b705187ea75f3470671146452f63cc39aabb64a6884d38f8e6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/gl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/gl/firefox-146.0.1.tar.xz"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "31a704b2f5ca3214c044734442910dd41b523c613bb40e1247c9379d392e1ac6"; + sha256 = "eaf3dc663d0969cb64944323400ca06e5e95891d08cb65b41a316866bd8232aa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/gn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/gn/firefox-146.0.1.tar.xz"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "803a4fe0297f7ca3063e917a0459977241b46520bbb7a1775d9558aff8a75b42"; + sha256 = "c7134ece4ac059688c0a621d189669f5aa9d1bf1c8b1b01157c93b44ada45b8e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/gu-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/gu-IN/firefox-146.0.1.tar.xz"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "7de7cadae73fa6cc3fdef8ca5528631f8552b563d7461e396524753412fd4814"; + sha256 = "ef90aab800c5bb2f0a7455895836df6af6b6061e9da6b8623967982bb32266ba"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/he/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/he/firefox-146.0.1.tar.xz"; locale = "he"; arch = "linux-x86_64"; - sha256 = "d584a94a2d947735d113f283668e0886b03c9f6bcccee5c000158281d44d3745"; + sha256 = "31778413f4109588af107c451e219547a2f927dac0caaf9845b42e4ac2bfd66d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/hi-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/hi-IN/firefox-146.0.1.tar.xz"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "267e67a3c0913b8c8e8f0b20622d54e55f7bea33289850f8b14d8e94ff82cced"; + sha256 = "a5db994060d9a7be246b0d1bacba9ce5ca439f67fc36fa8d1a3b6d406c0399f4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/hr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/hr/firefox-146.0.1.tar.xz"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "9a26014e72c654da71c411e8e785f1b1198d34e6e04acb8e527d340bb325e46c"; + sha256 = "22d9303c2aeb3543ad7e816968444315c609514601e528921ab70d6ca2ea1eba"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/hsb/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/hsb/firefox-146.0.1.tar.xz"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "61c0ca66a7dc646bc5d60925ccf6aaea2c97d079da05631a258b0f5ed48fdbe2"; + sha256 = "27a2f0587c663ebdcb26cd26a6f4d6b76c7b2924066dbf4d022650dec89291b9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/hu/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/hu/firefox-146.0.1.tar.xz"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "a4454d1ee44b543ad9fc72074ab81499e8ae31a62337ebc53b5d743d43def326"; + sha256 = "328b65ba482da1d432119c6560007856b4cfa6d1ec4b59c786fab284418ee8a2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/hy-AM/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/hy-AM/firefox-146.0.1.tar.xz"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "0b37f3cdb38d7aabab3ac6f193d29308f441c6d215fc74268d80d676b1327026"; + sha256 = "231ffb2b8e99d0e2ef2bb021d7ab76837bb37613144eab5b674481e36d3f499d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ia/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ia/firefox-146.0.1.tar.xz"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "778ac42f2ba9087f44641c83ad6391c0b54ee2746fba001b7eabba29aa94f317"; + sha256 = "52aa8140c433dd71ed3f7e216d455af2247e6f180ad2ff17ef81666b195877b5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/id/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/id/firefox-146.0.1.tar.xz"; locale = "id"; arch = "linux-x86_64"; - sha256 = "dd6fa38d876639d86344ddfc44c033a4d88ef157b1b7e210407bc5aa7f0d6317"; + sha256 = "0863efea427433f975cf4e4f61a5cb281bee41494c6a424ab27fffe611d0c6da"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/is/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/is/firefox-146.0.1.tar.xz"; locale = "is"; arch = "linux-x86_64"; - sha256 = "c618237af50f98b032d80563e66ffc1a9369e2c86ebfab3edb9657209ba8a5f7"; + sha256 = "4da38f28474f32fc013f4317e11b3e5dba3247625dd765166ab18e727ea2f090"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/it/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/it/firefox-146.0.1.tar.xz"; locale = "it"; arch = "linux-x86_64"; - sha256 = "73f7938759c7bfbb19fba5dcada759e29a1099931104ee20431c4c1cc574bce1"; + sha256 = "c8a5b20ed1cded7a4f5451e701bffaf12c5a08d9df6d094fb9ba482805ae680f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ja/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ja/firefox-146.0.1.tar.xz"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "eaa79e307e40644da128deb4ee29e6bb6e72e999cc501652da11cf93e8109aef"; + sha256 = "19b94ba90faab640561e2023c74d0fc9f8c7c6f753f2981d6e7b33ba6cf4ea76"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ka/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ka/firefox-146.0.1.tar.xz"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "615511cb799b48ad656f70c00368ee24d7472af700cc4247fedfd66678eb7c3b"; + sha256 = "23180c5fc1dca80f781d5c78763fa1a882fea13191c390e741f23e84266a51cc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/kab/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/kab/firefox-146.0.1.tar.xz"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "ed2a936e8c7fe8b71af1ece3ffd70ebd39a01304db1a2c328bb1e70b1a512bd9"; + sha256 = "6b9e525a4545c56aeba5effdbe2b731f2291333c3a41137561ab83bab530586d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/kk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/kk/firefox-146.0.1.tar.xz"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "4c68ece51d512bc7edd1d448f9b8e0c4467047f4a589a769d61751370cf250d6"; + sha256 = "f5522bc0c3ec49eb582c009647473a84830ff4d5f7cd2644cb163f137fb661ae"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/km/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/km/firefox-146.0.1.tar.xz"; locale = "km"; arch = "linux-x86_64"; - sha256 = "bf6d739777a473ca3c2cb1224e20d3e37635efb178e654220de067c524671d54"; + sha256 = "0beae6fd395ac9ac8918e267b1be8c934494d182a7b21c98d26acddaa965f70b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/kn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/kn/firefox-146.0.1.tar.xz"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "64d9035268155f17d1d39df343568a963286b903676f719dd4e78652762ece65"; + sha256 = "75e91045439a375649e7844c6da8b75db975b6cdd8bddd6b01ae943cea15f73f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ko/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ko/firefox-146.0.1.tar.xz"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "56c02a734f2b66d695b3011131f8ad0e479c133ad154db095b070dd32cb06fcd"; + sha256 = "b62bfcf9d502e11ccce5f27776dcfddf7245cf0f3edea14cbd5d758caaeb9d91"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/lij/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/lij/firefox-146.0.1.tar.xz"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "6fdcbc8f93f761a0ebcb16638af0de59ed678914da566e93700f6b038141ed9a"; + sha256 = "875f5523ee3df7ff56645e151486d0c25751f05e44f7ae2f57147ffa271ac227"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/lt/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/lt/firefox-146.0.1.tar.xz"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "86711674be61f1d61ab9fb5c2b4dbf32308f79d6f666ed345f29b0b551306fc3"; + sha256 = "edc8345ac6f02d71eb31589c1f8321ede6683063dfd9322b9d43f5f77c0fc838"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/lv/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/lv/firefox-146.0.1.tar.xz"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "5242e4667407474e61afe95b887af4d53cb3a2983959d842e577f3db737bcd0f"; + sha256 = "c591bf6ad6282503a4ed7c8b90089ee1c5271cfcf68c168fa4bcbe8b06f620a0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/mk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/mk/firefox-146.0.1.tar.xz"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "c597b8b3d3cf5aa5ce8e2ffeccc8b596dfd7f274823fb936dd49c78a03020896"; + sha256 = "cf3b03faa06f923ee8a861625868e3985b804464244b67e77af58c6d9c76f2c2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/mr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/mr/firefox-146.0.1.tar.xz"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "4b6bd5e7b7416e43a9e7f8ed8f5585dca64cd281a450dc8116f6a1fa2a05bcec"; + sha256 = "63bdc2f1fdcc6408130ad1c1f1cc99c12cb75d5794d274f141ced5b52369b053"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ms/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ms/firefox-146.0.1.tar.xz"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "99325489077386a7b896162e04929052e594f9f9e6cd55b7d71e143b05d4f51b"; + sha256 = "83979ec1645ba39841ce52fa9a7cd7f2ef1a894657ab2e94abef9248323c0f6f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/my/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/my/firefox-146.0.1.tar.xz"; locale = "my"; arch = "linux-x86_64"; - sha256 = "5150ed0d890560e7e8ad395ac6aa446b9fa518b9c85257b12294eea6f67b3bff"; + sha256 = "02abe88b47cf005d42268dbd71ffa02e8992235835203e3ac21b7dfaf8993a49"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/nb-NO/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/nb-NO/firefox-146.0.1.tar.xz"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "d95306f17c95aca752de800618d1574afd465645ecf5333088bbe40a5da8c89d"; + sha256 = "544dc14247dad5c838d74e9626ebdb9f7ff2627cb05d49bd46343cf2248cc062"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ne-NP/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ne-NP/firefox-146.0.1.tar.xz"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "65909b6a66b4717ccfd0b17c7bc71210b327d4368dde03c5ec851526623dc9ce"; + sha256 = "1c0fbe5211bc3fa3c7a9edb5858d76869b305a3526bdca31ddc8f770ce6134b2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/nl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/nl/firefox-146.0.1.tar.xz"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "4b5efb142d5ec61efab9088e015766d3751de9b9699fefd018cc2a06689734f0"; + sha256 = "b05dfed7aa952b4881e217fcd988390758ab504a84eef96590f5785a31d7b87b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/nn-NO/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/nn-NO/firefox-146.0.1.tar.xz"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "fb496ec61484ced6c54713d7cd2de897bb94c386fa973e645b2580a8524cdd8e"; + sha256 = "64fe7f99d8e5b3b8b0c9d681c0aceb1765a716dac689ecbc0c84c17f489753c1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/oc/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/oc/firefox-146.0.1.tar.xz"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "b3cf507b3c1f9a720e7121f44ec17d9a1d6ecc7e4229120980ba887b100d2992"; + sha256 = "1be72ef48947d4ca1018d9f909537c3d2a6e66b8b87a9ea895e8c0690cdbb350"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/pa-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/pa-IN/firefox-146.0.1.tar.xz"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "4bd5da65c941ce4bd38d96c33a0da780a58ecedae50f2ca9161b659360684d81"; + sha256 = "7fa759b9bf513ca6adae141373b806a3ffc3b95c81c6e82d2ff3cfa4fff47632"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/pl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/pl/firefox-146.0.1.tar.xz"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "31a54eb0e170ecdbb70cbe9920dde9a93fc6746a73ee95a20e79add381d34fb7"; + sha256 = "1e65aa50b148a77c230ebcd6aea23dae1178f495fcddc75745ecce1c39bc2579"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/pt-BR/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/pt-BR/firefox-146.0.1.tar.xz"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "92ce273db9d77598582a0f480a9d885cd00f08acd077cb8c9366b46ac15156b8"; + sha256 = "fe7cad5d8519ddca4e1cf7aca30fd57e4b006808c0ebe5404d6cb4d7b660d5f6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/pt-PT/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/pt-PT/firefox-146.0.1.tar.xz"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "d93d193bf0008f4e234b00439c004e9be6cbb6340f6f4328c1ca61ced0577066"; + sha256 = "575c43c867afac4f22d7611a6feaa0d0e35f1f874f4869b8f6562d7e9dfc7e6b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/rm/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/rm/firefox-146.0.1.tar.xz"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "88721d54083810cfa8b515b43a5be0bd33f07466cda53c654066050e00bf8a3e"; + sha256 = "fb2020b6625a47d22e6b6ac473e80fa3b96077b0ce6e3a972810e1d848e98984"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ro/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ro/firefox-146.0.1.tar.xz"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "3f5c532236e9786e40bb6a68e231b9537d7114c279d081f715f128396cb863c0"; + sha256 = "6e2e81fb15ed4fcc6d0febdeb23443ef233c3d22fef11303b24b83db34264406"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ru/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ru/firefox-146.0.1.tar.xz"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "5f1585ebf1cf856dd76d7b3a8437ea01e2cf4cc378fc1046429188a62d2130be"; + sha256 = "08cd1f5b279aaf6314096206a95e2269b989a8892b55d4702d217c2645440fca"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sat/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sat/firefox-146.0.1.tar.xz"; locale = "sat"; arch = "linux-x86_64"; - sha256 = "104563022632e932a2142e0ebf71cb405b9d91d686d62c6517cdf9570741e9be"; + sha256 = "7ff7491540b7132ebcdc997b898372076e639c18f3ffe510fc327e6deaa4932c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sc/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sc/firefox-146.0.1.tar.xz"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "7a895c61d0d2dc620a8aff146bd7cd7649911f83360e8dc5736c8f923c3af6c2"; + sha256 = "138d10a385410e44810a08526d5d9aa07cc06667e85d2d33b3f2c39520ee3de9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sco/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sco/firefox-146.0.1.tar.xz"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "5895e92ef310a3f899de093a7b8c759db5f71a220bdf0481155f0bc29637669b"; + sha256 = "9eb0b79c8fa8a0633f4944f3b0c0fda825c4ecb4b82cf2b57e2ca54c804be84b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/si/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/si/firefox-146.0.1.tar.xz"; locale = "si"; arch = "linux-x86_64"; - sha256 = "b9a2f35c2f536d356e1c37da89d8820a6b9c0f0efd0c3ceda4badb9f86d7f743"; + sha256 = "3bf4cdd4a2665e4b4553e0c280cd934d560c3fb4046061bafaea76c9653198a3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sk/firefox-146.0.1.tar.xz"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "24b436c1e6375f9246968f615d8124d2b0656444f78108c53003a44413bbd3b6"; + sha256 = "e0b0d60194e39ad4e88e881879e25c092d79fafa7b9f71b09ec2588e4f083721"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/skr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/skr/firefox-146.0.1.tar.xz"; locale = "skr"; arch = "linux-x86_64"; - sha256 = "e521b5d622d7dbd256efe3f64a1e3be8490701bf34afbf8b91152348d8e19cae"; + sha256 = "574d47a99d5cc78f5d4ef031e7ce293898365fac68708f072fbe0528ba48b0e7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sl/firefox-146.0.1.tar.xz"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "2206d279b9153b5a4562e4da993965b91c2b4c9141e462a81c7b8cd2a9258328"; + sha256 = "45497cf2b3f27e0becb8f1ac02bf6ed276e81d24a04e1cf7f37d00b122a2b345"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/son/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/son/firefox-146.0.1.tar.xz"; locale = "son"; arch = "linux-x86_64"; - sha256 = "a38d79c06f7ea88f8cf10ef7db350d1f14f1449dfa81da136ff0ac67a3eece85"; + sha256 = "c5e85efc94ef0a11810fc8070da220ec40c6a1d0f295dc7d9658103d96ac7b52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sq/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sq/firefox-146.0.1.tar.xz"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "7c16cb5aacdf322ad3746dfb55e8e3297f04641c8d4c0695a72bf10bdecf0ecb"; + sha256 = "10a48a87ef5821ae8cbb33202a05aa4d38c3bf5029ff02a3e4a4d4205d796881"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sr/firefox-146.0.1.tar.xz"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "ffde3f622ffdbb2fd488d8582d1fe04f5621ec4079ec1f764bbd64981fb539df"; + sha256 = "0a2c1e7f5ca2a4b669f29086ac069413d4f1df561b8f28ef69bb1bc54fadaf26"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/sv-SE/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/sv-SE/firefox-146.0.1.tar.xz"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "87ccecd4d8dc224f3f6c86e03f452c522b837fdba49a6229c27e22c20d304f00"; + sha256 = "35a4a980a71adeed253e825e196841741f7cb0449c9992f761f604c4225cec21"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/szl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/szl/firefox-146.0.1.tar.xz"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "381cb360f2734f03322628a5937491b2dea58cba8d8a9423a1445ca4d316dc17"; + sha256 = "d1aa0bc9f7fe329261cd7b031d40df0a70fc9a091dbe99ddd9d38cb086fb9eb4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ta/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ta/firefox-146.0.1.tar.xz"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "1e58328ca2c81ef3ec5486d00dd27b6126a52f723cee40bb9cdc8e35f921c35a"; + sha256 = "ba12883ab387e2c59cebdd95bd41725a409baa6ce4cbb3b881b8f8570a7f4ff0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/te/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/te/firefox-146.0.1.tar.xz"; locale = "te"; arch = "linux-x86_64"; - sha256 = "9007dd059f0e2624a652f3ffe88b7bc847050ae420c73fc152b4d98f664bf47e"; + sha256 = "31b69f7e01f86263b5efb7beb84595a4fd8217ceadddd974f2462e2b225415ea"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/tg/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/tg/firefox-146.0.1.tar.xz"; locale = "tg"; arch = "linux-x86_64"; - sha256 = "438f9212a6147ccbbc93595d2dadb0583586e3a757aef7d16fbc579731a24432"; + sha256 = "eb44ff9dfbe6f9942c889727c501ebe1fab3d5f67bbb21e68a6a188c13918953"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/th/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/th/firefox-146.0.1.tar.xz"; locale = "th"; arch = "linux-x86_64"; - sha256 = "a360ce6d93e1c4e4242a980ce3b2c0de839f88530466a985a64e1614256c07fe"; + sha256 = "f55afd2098e568e6e50276a8e8adff03190bb7502db41e6371a2efee6927c143"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/tl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/tl/firefox-146.0.1.tar.xz"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "e146bb303062690147c68d1905fbe6d2a454b93abdee16f51b0232fd8201a197"; + sha256 = "9a72ed804cb8bb1acdbf2f8d257d4b5219d8f8b3ad4c25c3c5a0e24e1f634e75"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/tr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/tr/firefox-146.0.1.tar.xz"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "d546e78c4f7e51190dfd3d729dfb8f1d1cc8f2b73947c07a25ac5aa6f6e058cd"; + sha256 = "6b367a3dc0947162b079d3619fa843f4fdbdceb40dccad16f0dab2eec7626add"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/trs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/trs/firefox-146.0.1.tar.xz"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "ae120cfa62a5b86ffe35ce2f51d35550d7c19a5f879cce24af4f0bb92297a1f8"; + sha256 = "ed9a26467ebe25733dbe1ebfb46f122780a008ec3a9a4bbccdd2ae5ea6a73a08"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/uk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/uk/firefox-146.0.1.tar.xz"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "8d58b21aee8e655ff62d38e8bbf804fc5559aa18c32eca799b7bf8ae27a96dfe"; + sha256 = "e99d78478036645ca536449b35e8f3c35f156e1077d39c623ff480f672a00905"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/ur/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/ur/firefox-146.0.1.tar.xz"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "501967de6489018f7fb62525e7929e1096fba16217237008481a0a197545e54d"; + sha256 = "cbb9f7af5b0f22107460ff246a8e159a1b8b9e4747f9b73ca9e67421e88e93be"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/uz/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/uz/firefox-146.0.1.tar.xz"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "f6813a390d79a1acd7407e69d572b21ad05a83b47869f35375daf9916638fb7b"; + sha256 = "56063340ad6a449782bc6101238ac64032fd38aad3a3b3beb5304ab79b8e0b12"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/vi/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/vi/firefox-146.0.1.tar.xz"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "a747257a140a9ef2ff672966faa2133907c99b40a4ff5db1249b4c5a9b4ba3fd"; + sha256 = "0fd3825739f9509737b8c510066ef9d3019eafb7f54e1b0ac128f1e24313de92"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/xh/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/xh/firefox-146.0.1.tar.xz"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "b29aa5bca277cd6b9938d0e62579bfe721e68a43e93e8cd0ea821f2ad2338c5a"; + sha256 = "6e3cbc91a0d2e292e81691421c921e5aa328684596b622733945bec209822544"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/zh-CN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/zh-CN/firefox-146.0.1.tar.xz"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "1c6a3d5a01993e5126eb744adc88df2b8ce4aa05e7ac1a75dcff2e197044ba74"; + sha256 = "ddf0a8fe0d355e0d54cdc6845779481b42d27236caf5e349ab07a84be21c4640"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-x86_64/zh-TW/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-x86_64/zh-TW/firefox-146.0.1.tar.xz"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "286e71882aebd9f1b612c3939395334f4b6394d4c5c97007838363919c8d9312"; + sha256 = "b121a7be850c3ae8dbecae93d11951f68994eb48962c00c480240c52e03fc369"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ach/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ach/firefox-146.0.1.tar.xz"; locale = "ach"; arch = "linux-aarch64"; - sha256 = "4b8e14779da3ec67ccabe285efc4815867068c1e67b1c49f946d0c61ee6a6453"; + sha256 = "4504b40f28ca6a5eadedb0ea237ece9c546977cf3577cfb30f918c1c7db37427"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/af/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/af/firefox-146.0.1.tar.xz"; locale = "af"; arch = "linux-aarch64"; - sha256 = "f01107983653f7d86aab71a16e43264bb08a5697cb1819b2f404d1d3ec2da490"; + sha256 = "7c5599a8a2a93af62510c077d3574d0593129824b70e52564afedbc1be58824e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/an/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/an/firefox-146.0.1.tar.xz"; locale = "an"; arch = "linux-aarch64"; - sha256 = "abc44138e1001d823a464de38de48a7aa8beaeeccf47d7e523ab99dc22a0ef19"; + sha256 = "0fabad00208ff4337635acf08e5124c295eb36272c70007a3546cf80c1f09137"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ar/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ar/firefox-146.0.1.tar.xz"; locale = "ar"; arch = "linux-aarch64"; - sha256 = "90d70d2a1ee7cebca0684432c422c490fed895672a01f957a7637820adf74255"; + sha256 = "56b63bb79866369adfc3764fed031c731145639dfadf56d522c00696ed442902"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ast/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ast/firefox-146.0.1.tar.xz"; locale = "ast"; arch = "linux-aarch64"; - sha256 = "9abb4b3d873c3bca46470d47aef8a2194d827e86e9d74b5fc71bff518dbb95a9"; + sha256 = "f2b9ef2720b8c8ae67e15abe314cfd22ac80bf6530260eb23339c72659b8780f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/az/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/az/firefox-146.0.1.tar.xz"; locale = "az"; arch = "linux-aarch64"; - sha256 = "c79aa2f381311893ab1d5c4af9fc76edfca021676cfb8c704ce30f8945c0caeb"; + sha256 = "fdc3e6060c4b876c6e674e55d3cbb78c9beea17dbc96e7579ab321813dac7c09"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/be/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/be/firefox-146.0.1.tar.xz"; locale = "be"; arch = "linux-aarch64"; - sha256 = "98fc453034cc8db1fd5ffc5c1d8fe5f32168a54db46d85e8bbc6cc4eaeb9d767"; + sha256 = "64b303b7178b438d1ec628ce9cf209ed916dcfc58011fb96b75a041432e6b410"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/bg/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/bg/firefox-146.0.1.tar.xz"; locale = "bg"; arch = "linux-aarch64"; - sha256 = "3460c0f58e57c359dcf1856fcbf4121ca84a338fae47ff74fb76d53f1eb983d6"; + sha256 = "81596451dbb70c9087b386691767ccf9d3f9fc584e630bb0cbe6f4c45dd39a01"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/bn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/bn/firefox-146.0.1.tar.xz"; locale = "bn"; arch = "linux-aarch64"; - sha256 = "483f76920040dd1b09ea6ebfcca15924b4a7c8daa45760395750a05e259347c5"; + sha256 = "58b8edf780b2df47ba993bb4918286dca983bc881c4646fb163ceca60db6b7a5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/br/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/br/firefox-146.0.1.tar.xz"; locale = "br"; arch = "linux-aarch64"; - sha256 = "4a78d8c5ce8d8c73eec87f96e6d7e47f736ce4f82d477f3b9a7228982cd910b0"; + sha256 = "0dda641b56858c45b6c3f1662b650bb63d7b42c4e6cbce57bb0fb24219b76cb4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/bs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/bs/firefox-146.0.1.tar.xz"; locale = "bs"; arch = "linux-aarch64"; - sha256 = "bbf032a1e7622bb308f821a0858d67504f9666e6be1a984961141e740e332d4c"; + sha256 = "72ec28d5b14cc18dff017ec351003e8fad0352ce0784edff3eb54192b3ce0648"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ca-valencia/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ca-valencia/firefox-146.0.1.tar.xz"; locale = "ca-valencia"; arch = "linux-aarch64"; - sha256 = "9463bf23f292c111f8674afea8b28899719f26da371e0a3363f3e5bd58aa0d29"; + sha256 = "5f17cb5d1b929bf922e247cf5c65463c1961564df57b920c4c534a41ccc3028d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ca/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ca/firefox-146.0.1.tar.xz"; locale = "ca"; arch = "linux-aarch64"; - sha256 = "db635281438983de072518c442d025de4a9b70d5f9ceba83ab6ccdd5ae8002d8"; + sha256 = "266c9fdc52f87a62750068b22d09e8b84cade502b1b85987a8a9873996d8df8d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/cak/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/cak/firefox-146.0.1.tar.xz"; locale = "cak"; arch = "linux-aarch64"; - sha256 = "dcb28744ac1a2f69506c9515c9fd32c8d875f7ddf85dd1e50b326783386d1c52"; + sha256 = "281d7cffac3becb038ca1fd888406820166a011243d1702013e2689299a5fb3b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/cs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/cs/firefox-146.0.1.tar.xz"; locale = "cs"; arch = "linux-aarch64"; - sha256 = "bef31d0efddd7da44874a52274a9033467fe590e7ffb0d2d5ebe41a2ac874878"; + sha256 = "1f06505655f829248e38235b4aa6af8d1eec6e31c462f4dcb2c6b0922e5db5d8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/cy/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/cy/firefox-146.0.1.tar.xz"; locale = "cy"; arch = "linux-aarch64"; - sha256 = "86a9a87f69fca104accc39c738a40675e2fcebcf6baa5017997f374404b2418f"; + sha256 = "55f08ac6bba69970fc47511d203a3729e7df4ce5a238497a914920b6d471ccd7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/da/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/da/firefox-146.0.1.tar.xz"; locale = "da"; arch = "linux-aarch64"; - sha256 = "7ba9ff22e512e1cbbf221b4ba42540905a195c02fd2939c697aed3bcb3011fb3"; + sha256 = "9a8c975c144e5a620c6cd6c01e0079c87698fd39ff0009312861005e4b338a5c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/de/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/de/firefox-146.0.1.tar.xz"; locale = "de"; arch = "linux-aarch64"; - sha256 = "93e73b2adc8d62a69a9542d7dcbab75df70b947690eed002a7d41ca0e404d27c"; + sha256 = "22780cf4d05971c622e8fac5a32821441b388846b9dbc6ad6555296e8ab2b22b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/dsb/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/dsb/firefox-146.0.1.tar.xz"; locale = "dsb"; arch = "linux-aarch64"; - sha256 = "7086729a6a63d3d78bb117b58b8bd7c8b8c68eed5308228d54616185f9ca0ebf"; + sha256 = "425cdcf530f8cfe3fac386dba219c95420be1401ed896bee91e585205afcacdd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/el/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/el/firefox-146.0.1.tar.xz"; locale = "el"; arch = "linux-aarch64"; - sha256 = "c1762097262d84aa76d82272babe1cf09f6da14df6ef8e7ae43103faa16b4be3"; + sha256 = "f2ed0e6523fccc4818a4bf6d08c0295745a01088cc16338ac86ad31d79860e81"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/en-CA/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/en-CA/firefox-146.0.1.tar.xz"; locale = "en-CA"; arch = "linux-aarch64"; - sha256 = "1c78369901480c41c2da6060b2a98caf077f24a1ad6529d0b259e63b279cbfa4"; + sha256 = "c262bb5bf9c94cee687f144f65455c3e58a45c7ceb0ff8922c3b7e58c362d5ab"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/en-GB/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/en-GB/firefox-146.0.1.tar.xz"; locale = "en-GB"; arch = "linux-aarch64"; - sha256 = "c979aa6b35b4aa9d9d9a7d62126b3cc27ece1bb9cead4aaa23fe26695ce89518"; + sha256 = "5c935ec4e208dd20a64ab9a64b8b778df37636e6d96874f2f81f43d107ad2da5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/en-US/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/en-US/firefox-146.0.1.tar.xz"; locale = "en-US"; arch = "linux-aarch64"; - sha256 = "1ef8572b58902fd514dba246ab3f630b162acd2afc98b1ff1c245c4653a1477a"; + sha256 = "7670b88a532af6c35693d3304f8f6698607d6fa8be4b50c228391288cb5b3200"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/eo/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/eo/firefox-146.0.1.tar.xz"; locale = "eo"; arch = "linux-aarch64"; - sha256 = "bf6128a5212b8118bfd90d72e4de9af5396a42b6fef7d1e2c1c39ec850297fd7"; + sha256 = "67502fbbce2d81356f447869ebb53d412a7e9e63eb9edc902008e6f308e6c014"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/es-AR/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/es-AR/firefox-146.0.1.tar.xz"; locale = "es-AR"; arch = "linux-aarch64"; - sha256 = "1b8ba63033e9e1d6a3bf21eec4e9616ab26eb758172da67eb6707b83e605aafb"; + sha256 = "739ddf27b4a73762327a2eba49b71cde6345ed3ef4f3782ff4b4a03b140d24cf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/es-CL/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/es-CL/firefox-146.0.1.tar.xz"; locale = "es-CL"; arch = "linux-aarch64"; - sha256 = "ceb72659c8c1ae0d30cb969f2d3336fde51508880b59ab90d9fe0861b79dfd06"; + sha256 = "e3c86f89cfb61e1e6358dc7fdb90c5a4d520e2b8373aa608d89a2ab9ab3c1bc2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/es-ES/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/es-ES/firefox-146.0.1.tar.xz"; locale = "es-ES"; arch = "linux-aarch64"; - sha256 = "5544644e2a30ae29265c41c0fbfce7d25ef6698f2f1b130fd8da701f980d7c2e"; + sha256 = "3e155b48ad6b8908f4656b6a2b2e745a47070c00049e7483ed90f7ecee6f045b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/es-MX/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/es-MX/firefox-146.0.1.tar.xz"; locale = "es-MX"; arch = "linux-aarch64"; - sha256 = "a1643bdc64d150a0d42e4d1d5b299a3efd926cde710a9a1f010e00938a2f743c"; + sha256 = "40bf940db029429327675dc55c8b6a8a60cedd07e589f0e0c15405bd1bf26a88"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/et/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/et/firefox-146.0.1.tar.xz"; locale = "et"; arch = "linux-aarch64"; - sha256 = "8682d88bae9be70a59d4552a681334b2f0d3aab50b9b5d57386d3df29415a482"; + sha256 = "e60bd5bb2b0ed8d0a22a9d1ea3ae65bf5a7300ca13d9e4a15b08db3513f4ac35"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/eu/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/eu/firefox-146.0.1.tar.xz"; locale = "eu"; arch = "linux-aarch64"; - sha256 = "5c7ac6db6afacedfe2f7cac61636de439ebcb1f13fda5d64227f2ab3a35d6807"; + sha256 = "9b452fa875a4627b18c15e4225b53629974e18966ae843241742ab815bd41486"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/fa/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/fa/firefox-146.0.1.tar.xz"; locale = "fa"; arch = "linux-aarch64"; - sha256 = "49f98d438b7b28344dba509fb272a76d1678f42c7a4d2b55e6b36799464d7a9c"; + sha256 = "500a447fd2b099ceacc951252e82aa16311adb537170b68055830fbeecceca5c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ff/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ff/firefox-146.0.1.tar.xz"; locale = "ff"; arch = "linux-aarch64"; - sha256 = "ec7e8030f4cc520fac78cb57a364692546c5b8e80e66d7e86eca418665c8eb88"; + sha256 = "a1b4507f2a0adc73de0a034f8b4de58e989246a8e3a1541abe444099d942a039"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/fi/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/fi/firefox-146.0.1.tar.xz"; locale = "fi"; arch = "linux-aarch64"; - sha256 = "59e4efa053199858c998092e54f52e2d4a97855f25b445ff31e2bdc0bfa444ad"; + sha256 = "a876e38da1717853860ae01560c8e872826794b464642bd0e13693e2409179ac"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/fr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/fr/firefox-146.0.1.tar.xz"; locale = "fr"; arch = "linux-aarch64"; - sha256 = "04016f6eeda310d067725f2a5cda4f451b93251b98b9f5093274c090a0778b6b"; + sha256 = "8c10692330eefad74cea32b3094241e57f311e19c6fb1299873a167c4f733b1e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/fur/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/fur/firefox-146.0.1.tar.xz"; locale = "fur"; arch = "linux-aarch64"; - sha256 = "4b2d404a4e410f913950ed66e5896d275f6431644c08c22729dc724f835a020f"; + sha256 = "5af46e281acd7d75945dfea87158a75e47b431da5b738b49bd20015d5e9d6de0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/fy-NL/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/fy-NL/firefox-146.0.1.tar.xz"; locale = "fy-NL"; arch = "linux-aarch64"; - sha256 = "78d75fea5cadcd48b548b4a017df5c4acfce582c9f0a648aef94ab2008790695"; + sha256 = "d71d9083db9bf184e07b3a907a3d4226180564d5dbd73abef3a8326ec9703651"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ga-IE/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ga-IE/firefox-146.0.1.tar.xz"; locale = "ga-IE"; arch = "linux-aarch64"; - sha256 = "d5e27fc3306a64a676c662619a1415b7c41d701c0a9115bc973400122427a9e2"; + sha256 = "9e2ab0c1c3f0031c4e017f631ed3e09d241e0d3be58927ed5e8b0098ef544a0a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/gd/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/gd/firefox-146.0.1.tar.xz"; locale = "gd"; arch = "linux-aarch64"; - sha256 = "9d24bcc511a1d555219afc585de8aaf100e03cd8a419cfaa693f8ea3deb962df"; + sha256 = "87d62b44fa5062455e5ca9409473566dc98a6ee65627eebc3b94b58133dc9147"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/gl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/gl/firefox-146.0.1.tar.xz"; locale = "gl"; arch = "linux-aarch64"; - sha256 = "01015fb1797f2511530d3a22ec94e46b388a92484c54c9137c86580883dee259"; + sha256 = "348d8baf2397e7ec9d2a4f0624a193d3d20e89394faafab9740010b92807b045"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/gn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/gn/firefox-146.0.1.tar.xz"; locale = "gn"; arch = "linux-aarch64"; - sha256 = "f61452ff439071c4656f27be8f8f7c6a1ea73714b2f1806f6f3c873b356173ce"; + sha256 = "bf0185e7bb9149039e9f00e77d43b9226ed0436a5f9d9c331e2c2214125ff18f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/gu-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/gu-IN/firefox-146.0.1.tar.xz"; locale = "gu-IN"; arch = "linux-aarch64"; - sha256 = "d3078e6ab562813243e846257e3c4723187e04c58702587a55170ee1dc1f1190"; + sha256 = "7c48cd51e6c162fb7409332e2e2866eea18e244515ada327796515a8fa1a4b52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/he/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/he/firefox-146.0.1.tar.xz"; locale = "he"; arch = "linux-aarch64"; - sha256 = "8a43a65edb1d0b806a96bae3e68e59ffef099ec58da3bbe461c041816fd7aa5e"; + sha256 = "518f51718d4eb0d7ad5876f2348882a88943248583d1e1ca115dbdd39f0c68cc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/hi-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/hi-IN/firefox-146.0.1.tar.xz"; locale = "hi-IN"; arch = "linux-aarch64"; - sha256 = "4563a8b38a00572a3445715164d5aa14f2e662ccdca55d02e67a5213c9d5846a"; + sha256 = "6f8845274e5503dd83adb20ff163d85f543cc9f4867366733f0246ce5560cf22"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/hr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/hr/firefox-146.0.1.tar.xz"; locale = "hr"; arch = "linux-aarch64"; - sha256 = "81bc3298ae639fdd86dcb4237e53675a66ec45be0c707bef3b57c9017037e678"; + sha256 = "ab39cb42fe79e6897b61e12db9aec1705def0d1def9cecea7a1fc89080f4357d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/hsb/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/hsb/firefox-146.0.1.tar.xz"; locale = "hsb"; arch = "linux-aarch64"; - sha256 = "81a2530ec61adadb90519a905b6fff7bdf21576938f60a767f899ee4313b8424"; + sha256 = "f860b4436b91968255a6727334906ef781ebdf1f76c37b392518d0f2371e9153"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/hu/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/hu/firefox-146.0.1.tar.xz"; locale = "hu"; arch = "linux-aarch64"; - sha256 = "46ee9bd70f2a587fdef541f46ec5641e4bb141dfec11e22c12d04bca35452895"; + sha256 = "027432053daa90585f1961c4005f7354f320b01e3dfa14c415ea39a3197bf9de"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/hy-AM/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/hy-AM/firefox-146.0.1.tar.xz"; locale = "hy-AM"; arch = "linux-aarch64"; - sha256 = "c342ec513f959923605cbc3d2903b64c1e921ea3f989fb85e328149ed0da2cd3"; + sha256 = "dfa9116903f00e05d582d275d3685f00db79661e0257348a371491b92b3d9e1f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ia/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ia/firefox-146.0.1.tar.xz"; locale = "ia"; arch = "linux-aarch64"; - sha256 = "f21658e5b1d96277e33643fdb63e66567404ecff75ec0b7a68ffef404147f1fe"; + sha256 = "e2806ed180a944237f8a6549629888a59ce0074b391c2f225b94b99cdedbfe9a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/id/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/id/firefox-146.0.1.tar.xz"; locale = "id"; arch = "linux-aarch64"; - sha256 = "e26899f67f9a68c596a90e750f393fcd20b7d05d9d67c632bb90905f9b367fe2"; + sha256 = "c1a1fc6a9d7b84559a2fef565e55c1fa61344ab3985ba18995fe700ee20d22ac"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/is/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/is/firefox-146.0.1.tar.xz"; locale = "is"; arch = "linux-aarch64"; - sha256 = "43e37ce7e4398933fac97e9ca25eff82da560edb41ebf437661386bf084c4f36"; + sha256 = "d7f3dcf82a5d2d689ef64f1d06d7285d365d19329b220a7c717fc90252dd93fb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/it/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/it/firefox-146.0.1.tar.xz"; locale = "it"; arch = "linux-aarch64"; - sha256 = "d8d222bee59a38f6f583dc716646a9b17050be8122cef4bb0b69f89ebba46f2d"; + sha256 = "5cafd08cb3d71fd3f9c3e0cb43e2ffc8a44b4e6aa6117a84d631c3402c1e048e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ja/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ja/firefox-146.0.1.tar.xz"; locale = "ja"; arch = "linux-aarch64"; - sha256 = "75ee3b5cfce6c7793e3e32fe0fc2e1a270f61cc88cd96b0f5bbe46118ec25804"; + sha256 = "79e85398a0f6a59bc93bcd6d6d1e75d048f3922f2193d0d25ab1c708c732cb09"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ka/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ka/firefox-146.0.1.tar.xz"; locale = "ka"; arch = "linux-aarch64"; - sha256 = "f13de4809fa4ea402162165c1a92fa41a1eafa4e78ebb88e10f63184723ad753"; + sha256 = "ca0b0d9989770dcfbaa79bfdf61dc37a092bd328bf4f22413338036de019399f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/kab/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/kab/firefox-146.0.1.tar.xz"; locale = "kab"; arch = "linux-aarch64"; - sha256 = "de766a148cc0e83b0a19feda922dbfd62fcf81b35cfb18813f2f3525cd85db6e"; + sha256 = "f3e7f16f944942cd844d81b9769e71b35d31266e45595711e2289192b78f9d6b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/kk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/kk/firefox-146.0.1.tar.xz"; locale = "kk"; arch = "linux-aarch64"; - sha256 = "d9f0192567c12b6663bc8541e4f76c32004a20a8e5679635f38afdad1944a5fe"; + sha256 = "83376946a7abea8b9e064532290880e62b78234e4591b460b6426ceee26a01ec"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/km/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/km/firefox-146.0.1.tar.xz"; locale = "km"; arch = "linux-aarch64"; - sha256 = "d3257f2706d38d1d44382b9db6610f1208ac770e2c3672fe57108e08df2689f7"; + sha256 = "faf3702baa389fdb790ead8c0e1b6498b3e193590e644249ba5d0af5b4cc007b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/kn/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/kn/firefox-146.0.1.tar.xz"; locale = "kn"; arch = "linux-aarch64"; - sha256 = "470b43ce22f48893bd3b134877fd7c505ea054c514deef7f4046c6c446b004b8"; + sha256 = "9aaf3864b46540ed895493c021054a6375982cd2e0ee29158ec7498b1eaeadf7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ko/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ko/firefox-146.0.1.tar.xz"; locale = "ko"; arch = "linux-aarch64"; - sha256 = "fc47276a348e5a98f957d2033f627acdcf93426014cb64b9b7256d12c0bda2c9"; + sha256 = "59f290bc5f93d8476878d0498ccb6307554499368e5372d53da5f9b63053c748"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/lij/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/lij/firefox-146.0.1.tar.xz"; locale = "lij"; arch = "linux-aarch64"; - sha256 = "fa783d4806aa61a9b9ba3d30f8d8779ada88b41982d034dd3e439ffe0bde2ba8"; + sha256 = "bf60efbbaae1ea96952f023f36547594aa361cc05d15bb371f5f33ad68da3317"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/lt/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/lt/firefox-146.0.1.tar.xz"; locale = "lt"; arch = "linux-aarch64"; - sha256 = "c8725c42697e3c7e38d419ed37c7e3e5f93c53139cf8b0c8422e7577a3266ab9"; + sha256 = "06a815eed547d48ad4cf846ec774213510597467afddd2dbdab5975ca09e2a7a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/lv/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/lv/firefox-146.0.1.tar.xz"; locale = "lv"; arch = "linux-aarch64"; - sha256 = "1bf3ee9800c7274555ea0ed859edc8b3c01457cb9353331a5b19e360141a51d0"; + sha256 = "c34a0555e5abab6bd9aed72f78901f2fa25879377f5fa1b44c02d7f15d4de215"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/mk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/mk/firefox-146.0.1.tar.xz"; locale = "mk"; arch = "linux-aarch64"; - sha256 = "b0dbeafc61e395670f4590a25120983e5cb12e550f7d5cd8bd1c2dab9963e15b"; + sha256 = "512deff9635d84f3b55e542b91ebadf791600d91e5b342431cdf9190445b04e6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/mr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/mr/firefox-146.0.1.tar.xz"; locale = "mr"; arch = "linux-aarch64"; - sha256 = "ed8f23209f7175f20f458c25faee38fcab472aa93a23426c3c34174bd6c53b77"; + sha256 = "e92ca370c1aeeef4b9e8bc3bd8eb40140737c04395237f98f7f58f9a7170e1e4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ms/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ms/firefox-146.0.1.tar.xz"; locale = "ms"; arch = "linux-aarch64"; - sha256 = "b2c766e408e8e630d0af983b07f4314222ff37e2796bd1fcb36132ea269f8fc5"; + sha256 = "94f9e44175bf331a5c1a9a6e9945ca6a49ba249192d2e35c15d4d5f7eb6f1dff"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/my/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/my/firefox-146.0.1.tar.xz"; locale = "my"; arch = "linux-aarch64"; - sha256 = "d8cb43cfd675e9f9e3245ff714d2f1f3125421e520dbc9b57f3ae5bbd518e32f"; + sha256 = "8a4c072db2061ebd84a4b9a50f0c2a2e334abbd9a39105340968d2fd1aa9a56b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/nb-NO/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/nb-NO/firefox-146.0.1.tar.xz"; locale = "nb-NO"; arch = "linux-aarch64"; - sha256 = "6c7ccf921a26b572e8732de0abf67fb3a635b8b7b0bdb1d0b9cdda186e1dcd97"; + sha256 = "5645291937bf6c56c5082fbb93fece0793658f095c5cf1743724fdad87e3622f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ne-NP/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ne-NP/firefox-146.0.1.tar.xz"; locale = "ne-NP"; arch = "linux-aarch64"; - sha256 = "6efae907acaa87c7277954b8d32ff5392bc0e2057d4cd504cb268dca83beda52"; + sha256 = "3e2b5b24061ffc666a8ccf6e12f71a19885e83e39b3a7ac8a2f3a09ee6dac091"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/nl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/nl/firefox-146.0.1.tar.xz"; locale = "nl"; arch = "linux-aarch64"; - sha256 = "0bd76286f621266032b09cf9ce103f4542f7585447df1541baf548a1230aa2b2"; + sha256 = "72f8c51775f51393a541f7b165d820b923340d4af776e3637ca9a27d5c215c50"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/nn-NO/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/nn-NO/firefox-146.0.1.tar.xz"; locale = "nn-NO"; arch = "linux-aarch64"; - sha256 = "e7ac05175515ebb079ee76349f6752036133397c157b24ddd677607b64652dd6"; + sha256 = "7d6de031adca3ac2175f58be9cc6dbd0400393a7ffe68f88efb75f590b6423a0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/oc/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/oc/firefox-146.0.1.tar.xz"; locale = "oc"; arch = "linux-aarch64"; - sha256 = "fe3d4ba1f64b784ba9169f5b99fb7d8282a50096bbb20f97a33c636b505541f4"; + sha256 = "072439064ac59a2856eb5861f2c32d9c87f03c3de2399e646e5652f799052cdf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/pa-IN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/pa-IN/firefox-146.0.1.tar.xz"; locale = "pa-IN"; arch = "linux-aarch64"; - sha256 = "86403d5dbe3e83db4c7cc1e8b6e54f272694afc12429a7a6139a2a2e6364c917"; + sha256 = "a567fb8f41b0945b238497c84498023cbe7d211cec9973afb54ba0ab88cf8a84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/pl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/pl/firefox-146.0.1.tar.xz"; locale = "pl"; arch = "linux-aarch64"; - sha256 = "e4c7c60755a2416e8b0985fc69df516feb6f102c42c171a6a735aac4c8ac8da8"; + sha256 = "f077d0dc7d69d36b4815fd85efe4ff436c082d3148789dc4ee746019b0f6d668"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/pt-BR/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/pt-BR/firefox-146.0.1.tar.xz"; locale = "pt-BR"; arch = "linux-aarch64"; - sha256 = "1de2db93f4b6b98738693a4ec37c15bf205ddaed9f5996eaaede2b6bc904033e"; + sha256 = "07078c7193c6425635eae3cef9d89f11545af1a9f8dc96c44434af7616ac9519"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/pt-PT/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/pt-PT/firefox-146.0.1.tar.xz"; locale = "pt-PT"; arch = "linux-aarch64"; - sha256 = "8f278599c8de459a6c5a618b70b539d05cc109ade319b8e37d935b067eeff2f1"; + sha256 = "ef0292cd69b66266ab5e61ff67f8aa229018c6cae50270ec5c134e732a1f496b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/rm/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/rm/firefox-146.0.1.tar.xz"; locale = "rm"; arch = "linux-aarch64"; - sha256 = "eb7832461f09fdccf460863952bebfba828f87a0257b020ad5528a316d2116ef"; + sha256 = "ee944ffd0d8fe4ac01d26fdec51d5af82784cf7134f08609d159af9b7aa8ee84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ro/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ro/firefox-146.0.1.tar.xz"; locale = "ro"; arch = "linux-aarch64"; - sha256 = "841e4dd98c34efd8d00b5d80925b06f977d52e7aa1d43a4c03d6e8e77dbe1ece"; + sha256 = "2442fbc2b9779d41da9a88e34cdb67019dadd07fbe26d6475f60812de02915c1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ru/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ru/firefox-146.0.1.tar.xz"; locale = "ru"; arch = "linux-aarch64"; - sha256 = "93cffa6ad5bb25c0d5f119b84e3ac365c9ebfcb99b16bc9a5020b4cea05b6e0d"; + sha256 = "7eb4b13239f069155c54ed51668a62f36b9255352e8fed03dfbf1c934f814030"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sat/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sat/firefox-146.0.1.tar.xz"; locale = "sat"; arch = "linux-aarch64"; - sha256 = "938b8d39aa04d12ffc579f162f06f408f270872942ec6d1a3123246ed0486f9d"; + sha256 = "5516f24648325215d42c16108063e660090198238edd2cc7497ec17d676cc293"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sc/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sc/firefox-146.0.1.tar.xz"; locale = "sc"; arch = "linux-aarch64"; - sha256 = "603b4ce9b11b53c2031ef5c3db67ac062be9dd756f8d1aa2a7d036169365392d"; + sha256 = "4edcffccd7faec98e143bc093cda158f7b95f1a28677af45f62f849ce36c616b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sco/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sco/firefox-146.0.1.tar.xz"; locale = "sco"; arch = "linux-aarch64"; - sha256 = "64a140172985836357c53f1f1d6162d36dc71697342aef33ce50afb924a882d8"; + sha256 = "894c9d6a53d51cf71235618a877a2b609c57f7dba0d7773044984f12ea28cf18"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/si/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/si/firefox-146.0.1.tar.xz"; locale = "si"; arch = "linux-aarch64"; - sha256 = "5a3b527c8a3618a1fe988e6a74a9823761c1252b8d81ba9399c9a20562977316"; + sha256 = "41c6263c3882f7204b0579ad2d80a24f35c93eef641e29548a9a0e57a2c33a2f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sk/firefox-146.0.1.tar.xz"; locale = "sk"; arch = "linux-aarch64"; - sha256 = "36cdcdd4df927ae3c390a44c22bb0fa252d687dbad5bbd32c8af8f886e2af4df"; + sha256 = "d6d7cdcca180c5a59f3d443c10b0da66cb45f6df650eb0e5d95f6f5ef3478a8e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/skr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/skr/firefox-146.0.1.tar.xz"; locale = "skr"; arch = "linux-aarch64"; - sha256 = "44e3b8da0285e05f7bc0a6ea5104f5482ab7fd9acb2bc29a5cdee3a42d3b7169"; + sha256 = "0c29f01d54bf1d43ec27dbc899e9519356651f3e21b5dd859aab864eda387d65"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sl/firefox-146.0.1.tar.xz"; locale = "sl"; arch = "linux-aarch64"; - sha256 = "db7d606629709273b24cc5a6b7c01228bc577c34679ed03b217ce2e3b1612321"; + sha256 = "83597d9eb79a3e02ea8fccf340e624021c8163208933cae82c0efea99cb12217"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/son/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/son/firefox-146.0.1.tar.xz"; locale = "son"; arch = "linux-aarch64"; - sha256 = "a13ecc3249305685d6ced48dfd36cc3a4e07f3cf1c9ff31752cd62d9683c4c79"; + sha256 = "6c9bde4848aac7b1b9f72eb616c83b26cd40ad55739475039a217268b54a6801"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sq/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sq/firefox-146.0.1.tar.xz"; locale = "sq"; arch = "linux-aarch64"; - sha256 = "c69025aa366b4203a5e4d33bcd07d175e1ba80a0df5184433fab41450794ed80"; + sha256 = "602e65f4090b2e1c66f580ab0c49b1dfc4a4ec185d671a4751379f5a7ef58670"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sr/firefox-146.0.1.tar.xz"; locale = "sr"; arch = "linux-aarch64"; - sha256 = "517aa37b02745fb9d4c5da619aac64fcd1c16e0c5a81136358c661a6fb0d1677"; + sha256 = "a9bd8c0229bbc3c0585d51f59c30ae475db92624841fa61d23ccd175499dfd3e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/sv-SE/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/sv-SE/firefox-146.0.1.tar.xz"; locale = "sv-SE"; arch = "linux-aarch64"; - sha256 = "56371d1795a87b75664cb6b4803e49ba4e6e35549649cd92028e095439491598"; + sha256 = "970511ea37e70064644c744a41afc0466bed710e581b8e7d5dfdd4b9c98cbd0e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/szl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/szl/firefox-146.0.1.tar.xz"; locale = "szl"; arch = "linux-aarch64"; - sha256 = "4d455a81fb2e9306f48f2d623b62deed09b35e97ce2c47da72d5993a6b268f72"; + sha256 = "e681e36bdb6b97dc846ad942bdeb63d0aaae50c2d6fdcbc52382f9b0301e97cd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ta/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ta/firefox-146.0.1.tar.xz"; locale = "ta"; arch = "linux-aarch64"; - sha256 = "aba5c7c760b084bbcb1c790018eb8d536e080a0457b60805931d4f1df068cbb8"; + sha256 = "cea1a5f15ba8c7f5df2ba59687f65e57455ebef9168589375d70eaac064f8bb1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/te/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/te/firefox-146.0.1.tar.xz"; locale = "te"; arch = "linux-aarch64"; - sha256 = "a2981e58736bf8b739cb13c105aac37313411308e4a612398623ee65f50809c1"; + sha256 = "e349521d9ab07f216a533254206f252b58fd61d22f5b8ac45233e55170c2a1aa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/tg/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/tg/firefox-146.0.1.tar.xz"; locale = "tg"; arch = "linux-aarch64"; - sha256 = "c6cd36bc1b600c92e0093b4597d48402281d25c0df85cc3a0ba5f4ae34d903a4"; + sha256 = "1c20f9411e54a7f74f4927f8268b985a3d926ab620b1f3f857de415891e87564"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/th/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/th/firefox-146.0.1.tar.xz"; locale = "th"; arch = "linux-aarch64"; - sha256 = "0a85f8d87573272042f376a75d8431341afd4daa97a9dde03328f3ed0a8f0ef0"; + sha256 = "eec90f20152aacdd0653906f4f1018cb7999010d777c5a93bc27ff38283e1801"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/tl/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/tl/firefox-146.0.1.tar.xz"; locale = "tl"; arch = "linux-aarch64"; - sha256 = "383239ac49c91dc21cf6f10938a312e2f4d0e1c22805def4746f000e67afe7f3"; + sha256 = "f101575ee7214d4718c9f0fe1da32ce0d190ace106b9bf4b981c6bd634dfe4dc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/tr/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/tr/firefox-146.0.1.tar.xz"; locale = "tr"; arch = "linux-aarch64"; - sha256 = "98b6772a20d342d85b41dce7c9c2810fe44e2e62c6daa3b70b6eafd3c2934701"; + sha256 = "176dd4c38743f9b2cca0b44558040746a85ba5a21997989c89641ea1634cfb0d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/trs/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/trs/firefox-146.0.1.tar.xz"; locale = "trs"; arch = "linux-aarch64"; - sha256 = "ac897ec4564b12f2ccbb7f321e2e7660e8f39acaf5eb9e09fe2a3ff9630c4e44"; + sha256 = "0da48b459f3e5791f139fd5d7c2ef6c980cc27e7f47782752929f2bf76b99cfa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/uk/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/uk/firefox-146.0.1.tar.xz"; locale = "uk"; arch = "linux-aarch64"; - sha256 = "60befba221eaf286d968bb57dc57621e2bd4645f58b9a3b7eb78eb6be75665ba"; + sha256 = "8917deab69f44f53185461493f07585685fa0926e09910b6d792082f89a2f0d5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/ur/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/ur/firefox-146.0.1.tar.xz"; locale = "ur"; arch = "linux-aarch64"; - sha256 = "fd2e356616ea893dd6095c70f898dda41238c35e3b11e42a57f6ddab550f6aa3"; + sha256 = "ee37246c5b422a84272241d8a5d7a92fb28e67ab04791de32bd00b8dd99bc561"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/uz/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/uz/firefox-146.0.1.tar.xz"; locale = "uz"; arch = "linux-aarch64"; - sha256 = "3de4ed2c5439e42f6b36981351b7733427509c6d00957ad1148f0e087b8fbdd1"; + sha256 = "79b6a77230b8334bf8faacfc6daab757b9afce43f40f0d64931fd1219ea576bd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/vi/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/vi/firefox-146.0.1.tar.xz"; locale = "vi"; arch = "linux-aarch64"; - sha256 = "e948e9293cadb76a8360ca4f086237bfc3a717d95122983493114b6b8530cade"; + sha256 = "94bbc73fdfe2f616892959348a5c2ac884b90f1f5d644df9090b093e53065e86"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/xh/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/xh/firefox-146.0.1.tar.xz"; locale = "xh"; arch = "linux-aarch64"; - sha256 = "e6cc6764768b03ba35db0f755a9f15973f48dc335b30284a45eb1d2858b57740"; + sha256 = "5c6ef069b40c7939360b8fbfa66898c5a7ec7e62626636f2beea2900d345d2cc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/zh-CN/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/zh-CN/firefox-146.0.1.tar.xz"; locale = "zh-CN"; arch = "linux-aarch64"; - sha256 = "0b748e10eba3b6ae45307e2e236a38a48409eb6970f624534cd3aebae9fb98ba"; + sha256 = "a922e43f30451de67a19811815479bf9849be505cffcfbc75bc015c381a8f1ce"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/linux-aarch64/zh-TW/firefox-146.0.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/linux-aarch64/zh-TW/firefox-146.0.1.tar.xz"; locale = "zh-TW"; arch = "linux-aarch64"; - sha256 = "2a27ed380d180acf4c96521ecf2eb314219f8b29b2d7c64203b814aca7c9eb52"; + sha256 = "1f7d930ca48c799aeb94a6d93f7a2030943842ae9c8aee28862363add6cf42aa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ach/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ach/Firefox%20146.0.1.dmg"; locale = "ach"; arch = "mac"; - sha256 = "90d76fac15511726aac3ef79093ed384feaec413713eabd8cd189dfd378cb7a2"; + sha256 = "44457c7e0f3cae07f62d621b9e7a3f42802f22edd2328867948ed665912ce224"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/af/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/af/Firefox%20146.0.1.dmg"; locale = "af"; arch = "mac"; - sha256 = "3bbec0d877d641f1ed710221d9147046c5d28ce47c038632a19c4573661a551d"; + sha256 = "708101f7a1e72229413b3f8debdc735fdfdd94227fbf5ddb77cb28354e6a9cc4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/an/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/an/Firefox%20146.0.1.dmg"; locale = "an"; arch = "mac"; - sha256 = "4676a04ba8c9eb273e6962ca98135160bfaa4c9f0347364b9ce72b7625a131be"; + sha256 = "a74e7a98656a9c5a166762c927bb7bc271d9d9bab11dba396d5ea5119a0c62f1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ar/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ar/Firefox%20146.0.1.dmg"; locale = "ar"; arch = "mac"; - sha256 = "fbafa40c041ba5a608d401c2561ac67dea7ce7baf7000b6d8cd7fd2e633a8bb0"; + sha256 = "a481a9dca0d99c894c03e2b714c956e07929efd8037fa843f3f8dd95b29c39a3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ast/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ast/Firefox%20146.0.1.dmg"; locale = "ast"; arch = "mac"; - sha256 = "0fee18bbcec26c1c7c56b9d5f9e458564e0f26124084849cc5c8483ed8dcd949"; + sha256 = "dc2d1f692aff8009c1deb3aa2cda3623c3d3c7a2dbe3d90157e752fafb355d2e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/az/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/az/Firefox%20146.0.1.dmg"; locale = "az"; arch = "mac"; - sha256 = "d32045f473b05ec96292909b1ed0d6aea6582f1c5941155df6f23fab63e2a8c8"; + sha256 = "547f3d9a22bd55aa029a1369ed244a5fc82643d8979e8eb44feef2c3d05d8d15"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/be/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/be/Firefox%20146.0.1.dmg"; locale = "be"; arch = "mac"; - sha256 = "dcb55080814302e9710755c9779f1f6d19f69228f3f9f604bc7e74756e05bb1b"; + sha256 = "b044c4e2aacf9781eda8591448a47f86719fbe15e09d041322682751f8b21594"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/bg/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/bg/Firefox%20146.0.1.dmg"; locale = "bg"; arch = "mac"; - sha256 = "e7d27a71e577ba2f083fc8691a4948abe34174af56b507f38131f278380ebb2a"; + sha256 = "1a1c535597db3eb67221b46240ef59cdeb337eea5f470c7c139431720116a710"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/bn/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/bn/Firefox%20146.0.1.dmg"; locale = "bn"; arch = "mac"; - sha256 = "431c331c8a969144a79b62198aa1f3c00e8660c9d011dae9f210f2279686c1c6"; + sha256 = "4aa58ade4f54cad9bc21387ee0ec697ec0a954f0182c914ddf07e0950a422261"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/br/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/br/Firefox%20146.0.1.dmg"; locale = "br"; arch = "mac"; - sha256 = "7b3dd9acbb44bfe5168bd570d77e65899323e91291631562abf033e8d08af1f4"; + sha256 = "a63e62bb4f3f57df4ac9c49d21794aa7736840200713f5ee1731353b38f62d3c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/bs/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/bs/Firefox%20146.0.1.dmg"; locale = "bs"; arch = "mac"; - sha256 = "6ff6e3dcd86ffe33b50cd482d3f90999ba36d46bee84948f40bce6d7f805512d"; + sha256 = "e483f36de8fd83d10b5a3880138844b22eb4e02741f7e805e64f925de79f09dc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ca-valencia/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ca-valencia/Firefox%20146.0.1.dmg"; locale = "ca-valencia"; arch = "mac"; - sha256 = "abdf1b8b1eca28c18a0927a3a6250967073c14aca798476ed7d2d9e35adcdcb8"; + sha256 = "0d70f39ba95968a804f657f0f220d21da8c524b8ac4d84b042534199110ac46b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ca/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ca/Firefox%20146.0.1.dmg"; locale = "ca"; arch = "mac"; - sha256 = "10957e44f6a61395185e225d6b7d59092d6ab245d49f4e20b2f7940924754968"; + sha256 = "82b1d888a6b11044e2215c1c898d94c659a70894a953d5a800ba6888dab295f0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/cak/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/cak/Firefox%20146.0.1.dmg"; locale = "cak"; arch = "mac"; - sha256 = "4297b9f339042511a15bc170dd2e8a6d9cb92622b71e604680a26b5c58353434"; + sha256 = "24090b7edaa2691ada9376470ebcc28e7a57c88893a50d4ebfdc3409163a484d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/cs/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/cs/Firefox%20146.0.1.dmg"; locale = "cs"; arch = "mac"; - sha256 = "35700c8eda0fdd5d33890b433bdea51c5181fa42f6412b0730b4313019782e21"; + sha256 = "e726bef0c499415da776353deaaca048af7a659cb75982fa5eef71eddeee0468"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/cy/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/cy/Firefox%20146.0.1.dmg"; locale = "cy"; arch = "mac"; - sha256 = "7731f729fe313091cc164a020d78169deb476da126552b66658e7d6b8733ee94"; + sha256 = "620bfe7af5d4ca7ad729cfd7e81c92068a52476dd098c4e925ada0276134cdd6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/da/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/da/Firefox%20146.0.1.dmg"; locale = "da"; arch = "mac"; - sha256 = "decf757fc09040576c74da40ddfafbd9ef7ef8a09c9851c2bb8c63fdeaf18546"; + sha256 = "30d694182cdb414716e3ebf64e4d12f04ef00fa435a8471b82dc307bfb912946"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/de/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/de/Firefox%20146.0.1.dmg"; locale = "de"; arch = "mac"; - sha256 = "5411c700f34a0f12edfb6836670d036bffa0fd19dfb9caa41f29a7bd5ab17699"; + sha256 = "d0236005c4a69c2460f1cfda18fc3b5cda36fa60b932c8f67369bc91201183b0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/dsb/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/dsb/Firefox%20146.0.1.dmg"; locale = "dsb"; arch = "mac"; - sha256 = "79257cd6e06862f3a5d1fe08e7563799214e887069070d437812f8ffc3710de5"; + sha256 = "11abe5694dd58cc8dcfead86e54e58aa6344fa3e451afbeb927da2ab5cc04b88"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/el/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/el/Firefox%20146.0.1.dmg"; locale = "el"; arch = "mac"; - sha256 = "f1d77e7a1287c0da6a11730c02993069a5939f4f24817af11cfaa80f341d7469"; + sha256 = "d877ad2bca9b6d443f7cea216258d8d0b00e26ce567cd7cc2f59b4f3a9ca6ac2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/en-CA/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/en-CA/Firefox%20146.0.1.dmg"; locale = "en-CA"; arch = "mac"; - sha256 = "c6a12bbe161763329fd64097077321db329dbe81095836e0b6ff40051c5dccd3"; + sha256 = "a659fb5959591ad03dda60404d36844a0c5bbae0164139aa89fdedee475e515b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/en-GB/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/en-GB/Firefox%20146.0.1.dmg"; locale = "en-GB"; arch = "mac"; - sha256 = "11d821fe3e4436bbe9b9754cac5093ff0b5fda2cfbd86563d9de88969ef24771"; + sha256 = "53c0c0b8678d83d171cf141a0207f80f53d12c618208fa19ce08df5b71af064d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/en-US/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/en-US/Firefox%20146.0.1.dmg"; locale = "en-US"; arch = "mac"; - sha256 = "4b1645313887972d466cd82166ea571485c2c40a167f84624e3f3ca739993cc9"; + sha256 = "1f153af0954e0e804cedfac185281a762cd6f270238687d8c7060d162435a1ff"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/eo/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/eo/Firefox%20146.0.1.dmg"; locale = "eo"; arch = "mac"; - sha256 = "c3ee1f1e692baf80856a6d646a6ff24b6861377ce0eb549dcdd3810da1c6250e"; + sha256 = "d1ed1de1dbefd184ae41ee5c18242ae6433e4fd19456bd02ccd495728afcc1c2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/es-AR/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/es-AR/Firefox%20146.0.1.dmg"; locale = "es-AR"; arch = "mac"; - sha256 = "cc7ce08d2b6c8758fe973d8805ff7f4d57b7aaaf1c70640357ab97a37f81deef"; + sha256 = "3392ef81ac511ce65944761d99e9e4ac8df59b21a553c3388bace37783f90a87"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/es-CL/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/es-CL/Firefox%20146.0.1.dmg"; locale = "es-CL"; arch = "mac"; - sha256 = "ceac20f4ce8bb2f8bb64f995d694051a26802fee5995c1d9e6c065091247bde1"; + sha256 = "4647b0ed7b3bef5bffe19aebca0fd4bff58a1d27a45aee503dda68bad5b0c313"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/es-ES/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/es-ES/Firefox%20146.0.1.dmg"; locale = "es-ES"; arch = "mac"; - sha256 = "aa576f8a9cab7187fd276a15e803e8483bee569eca7a55113e36555f93688e59"; + sha256 = "d0bee44cdced3c1ef821e573087322e9b8cddb8302f8a4b1604bbb9c1ece9c39"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/es-MX/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/es-MX/Firefox%20146.0.1.dmg"; locale = "es-MX"; arch = "mac"; - sha256 = "a8865bf164d7f37af83a4ebba53689fe2b7d08aad3a10ecc490b81eff87e6e96"; + sha256 = "1f824b00bf2d44a27220ea0b2e9d61da839dc14deb6b293b62a20044df73159a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/et/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/et/Firefox%20146.0.1.dmg"; locale = "et"; arch = "mac"; - sha256 = "c8a749995236c0c5a0b27c200290b5d69aea7728cdea0a7c1258d3998345fa3d"; + sha256 = "32aacfa2b946c4f1fb6d2265bbf7dd0240635b25100f68e5fbb7705a65e55e0c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/eu/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/eu/Firefox%20146.0.1.dmg"; locale = "eu"; arch = "mac"; - sha256 = "d10db090cbf1c378d3482f9b0c3610d68350ce4d9287d9c48656b40cbaf31259"; + sha256 = "48fd2109d973133f83850a3fcbc964ba5cc446011df1664f7ee74515f234fdbc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/fa/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/fa/Firefox%20146.0.1.dmg"; locale = "fa"; arch = "mac"; - sha256 = "72fd9dd497b42846c228b40b7d935596ed5b8fc9dcc8c1a1d1bc84d26362c6c8"; + sha256 = "e498753cb1039b35e3b1544b1824799a61be288694d85160a979209182f09777"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ff/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ff/Firefox%20146.0.1.dmg"; locale = "ff"; arch = "mac"; - sha256 = "5bbc87decfcaff3f1dcb0af2d7383497fef5fb135fa7c73b09bf1933370c5e04"; + sha256 = "96d87d6b2bda07b203cc86452d65034ba5e823659247dd03a84c1ff65d2d8b02"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/fi/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/fi/Firefox%20146.0.1.dmg"; locale = "fi"; arch = "mac"; - sha256 = "60341d7260c7936b08a6564946664dc10876857193432a08b58a8f49a2b54501"; + sha256 = "7b8c8bbaa258a855765d409b670fc33772702041c839caafb539b2ebce6ac4b9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/fr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/fr/Firefox%20146.0.1.dmg"; locale = "fr"; arch = "mac"; - sha256 = "d2689a42c0a4673567f2deb094809a6584478c3f05616db37648892efacc6d7f"; + sha256 = "a16c544276e2909baa1cd9491caa15a9201c5ab06777a7e44b9df5baa33e9a5d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/fur/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/fur/Firefox%20146.0.1.dmg"; locale = "fur"; arch = "mac"; - sha256 = "b009a69a71862b314fdba63a0e1614a9e7800c97934edbb03fce542b295da6d1"; + sha256 = "153cae9b49b0d5f78e31c7f61f43a403b5f108e7752ce02c00bad23d34b3e3bb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/fy-NL/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/fy-NL/Firefox%20146.0.1.dmg"; locale = "fy-NL"; arch = "mac"; - sha256 = "f28c2e9edded11d21631c8ab05da150fcda6c3313deeceb982786aa29b54cd0f"; + sha256 = "48721349dae1d2c25195f57a17bcff9e1b06b55ac3d4b1b52e12214ad03e3769"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ga-IE/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ga-IE/Firefox%20146.0.1.dmg"; locale = "ga-IE"; arch = "mac"; - sha256 = "e34b3945d10d152a1cbd42624bcb329f382b4e47bcf25c757b307571455b16d1"; + sha256 = "6f9f98e26471ff4d611380e950d461a45f356794c7b87c4b90f347e5b88e9524"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/gd/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/gd/Firefox%20146.0.1.dmg"; locale = "gd"; arch = "mac"; - sha256 = "4b64e312166645667c370a748c19a63bdf27bf4aa981102c28ebcf4e7ad26137"; + sha256 = "75c68e1e852ff1f2cd2391de37d3f45f4e0551439b5bc5b8970f35f7c51e46a4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/gl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/gl/Firefox%20146.0.1.dmg"; locale = "gl"; arch = "mac"; - sha256 = "6272494cf7d5f5c8aaabbe54f4d61633f37531a7322726d54bcfcd9a571abbad"; + sha256 = "409a522130e8ba9084a6da941d217f029f421a79e4322894782391d48f996d58"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/gn/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/gn/Firefox%20146.0.1.dmg"; locale = "gn"; arch = "mac"; - sha256 = "628a52456cfb4f4bc56212d2a81004547d46d86f92cfa87986e56c8b34a1bfa3"; + sha256 = "00212bcdfaa0abbb227bf65d7a7f3bd6b18a86ceb3f5a763f8679880a67d6d19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/gu-IN/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/gu-IN/Firefox%20146.0.1.dmg"; locale = "gu-IN"; arch = "mac"; - sha256 = "5949e246812e4e4cc07ba606f6e3815c6d4adc53d6b32779f920362e78637197"; + sha256 = "34f1f2186d5b69cfc1d0d7594d3e386dfa826df82293ee29d479253f9ddb58d3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/he/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/he/Firefox%20146.0.1.dmg"; locale = "he"; arch = "mac"; - sha256 = "030e1311e95c7903417151f137871dc84d05ee9b6a104411686c5b52c3d7a04a"; + sha256 = "a52895c304231a8471a415301b12d73657db19d77195310e552fb5155c4d1b79"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/hi-IN/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/hi-IN/Firefox%20146.0.1.dmg"; locale = "hi-IN"; arch = "mac"; - sha256 = "3259003c3c476d257ec89790c898e66030ef7f26089f0f02a944d659c890c411"; + sha256 = "0b61835eb8f3969b085fbe715900c6b7b268a0cc688cfa8b15e8293ea1beba55"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/hr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/hr/Firefox%20146.0.1.dmg"; locale = "hr"; arch = "mac"; - sha256 = "01a68afb50ad932b548454cda0e1b71bbeab326c6d122d3978a43d7bb3093862"; + sha256 = "9022fecee29b59fd20ec8075124ef5b0f6fc4dbc15c6286a447db906abf79257"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/hsb/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/hsb/Firefox%20146.0.1.dmg"; locale = "hsb"; arch = "mac"; - sha256 = "68a70a56d2ea55b3b961fcee5396dd08ff4ccaf3edac2331cf546a822f4e864d"; + sha256 = "41c6f8edadcea7b1756c7991e1c4aafc01054438463087d20358bf25bbffec83"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/hu/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/hu/Firefox%20146.0.1.dmg"; locale = "hu"; arch = "mac"; - sha256 = "6587c3415b097435ea699e8dc20649a49dcef35fbea2bf56f7456c2e48faa4f4"; + sha256 = "8cbd1882bb328346e86f79b7cc98e05fbc62d5b1cff7b3a767238447fbb485e8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/hy-AM/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/hy-AM/Firefox%20146.0.1.dmg"; locale = "hy-AM"; arch = "mac"; - sha256 = "fa4925dddd9dbf589d674cb970144f484dbb89652ca9272ab52594081dfa2598"; + sha256 = "95d4091393a9ffb724eb2bb85b0e9211ed3039e6dbcfbaed1d392dda4254f89f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ia/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ia/Firefox%20146.0.1.dmg"; locale = "ia"; arch = "mac"; - sha256 = "da4d75b72d2192319019164541ceebfb81b88bd7b95fdb90ec0fda0fc18f499a"; + sha256 = "4f850bb1d272e8c1913ee58e9c7666228b2cf513e9bbee185701fa4570b68cff"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/id/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/id/Firefox%20146.0.1.dmg"; locale = "id"; arch = "mac"; - sha256 = "f509bc63826cb639777fce66d550481109bddf0ab8a73a6dc5c2f95537633122"; + sha256 = "4d73f47fd6eb5f5295937de988d5a13d2483eace7b1f481ea97d3fc7bc877ecf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/is/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/is/Firefox%20146.0.1.dmg"; locale = "is"; arch = "mac"; - sha256 = "c6b87a3a6be0df66f8b45c7024d94c88667f17fc304c17c7e9e703d1d13e19ca"; + sha256 = "62030ea946238cb8bf2983cabdb4ae0c68431ee2b31578fd903ead269e1408e2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/it/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/it/Firefox%20146.0.1.dmg"; locale = "it"; arch = "mac"; - sha256 = "e41a35a713228e9f233a319c2a107c893878a524844ec13fa42b0cdec645fc76"; + sha256 = "403f2744cd40afa1a304b6eeab48324ce399629203e063ca7734e242317f0a48"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ja-JP-mac/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ja-JP-mac/Firefox%20146.0.1.dmg"; locale = "ja-JP-mac"; arch = "mac"; - sha256 = "32d6310477682e3d3f5100d8dee0a46a34ad1951ad067e83cbcc6e1753b29c90"; + sha256 = "fbbb8399e6718da888f9a12ae231f60796dedbfc6e4db581fe48430705611baa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ka/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ka/Firefox%20146.0.1.dmg"; locale = "ka"; arch = "mac"; - sha256 = "53361b8424a19fac774907db1b90df737f62c04f6f69bbad1d52b01d7f7aa284"; + sha256 = "acae59099ee084f69b5c14e03d210d7fdb68b686c86c58294cea0ccca8ec7e65"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/kab/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/kab/Firefox%20146.0.1.dmg"; locale = "kab"; arch = "mac"; - sha256 = "5ecf19dd41dcbc7ae3db6517735beaae0f9a3af6ce7e5949059a8bc23545ae8d"; + sha256 = "01186270177eecb682a64b43e7ba1d6e60085858f62ff2c25aa9938339ec1e49"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/kk/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/kk/Firefox%20146.0.1.dmg"; locale = "kk"; arch = "mac"; - sha256 = "e4c2914990a00b392b5ae0e0d847b0c9611a5fd9c855a98d3640c798357a08d0"; + sha256 = "39cc4666c9c731abab5fb47c31e9ce17cca562752050d041e7b7d95c65507170"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/km/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/km/Firefox%20146.0.1.dmg"; locale = "km"; arch = "mac"; - sha256 = "40c0c4775b4c303d60e900c6ee75bf3a7e5cbe50dcc7a7344dcec59ae15255f0"; + sha256 = "c31fe5d32d8d196bfdce2c210a5520fde8c74bfd6c00d3fe49de8f6ff59338c6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/kn/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/kn/Firefox%20146.0.1.dmg"; locale = "kn"; arch = "mac"; - sha256 = "6886ea40252205728f23311660baaf5ea091f013695c43af3e98a216271a2c9b"; + sha256 = "b540c16db79cdb08e998ea5f8c3fdc6bf687c8c477c9a871bf198ce83869db96"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ko/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ko/Firefox%20146.0.1.dmg"; locale = "ko"; arch = "mac"; - sha256 = "ab343840aed901259589a4d1ed5c835c4b4b9cb39c6a12712e528bcd869941bf"; + sha256 = "a41d2117b2172efc2ea1d0e487333fd38b850fecc1da5e48910812d540662f6d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/lij/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/lij/Firefox%20146.0.1.dmg"; locale = "lij"; arch = "mac"; - sha256 = "676f85af24db63784e368ec3160a05d742ccda0a26d1c859666afab00c7e0dcb"; + sha256 = "422c714ae4da04ebbbe2f7c08b58e3776e3b9de85bb607508d9df786fe3ad4fe"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/lt/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/lt/Firefox%20146.0.1.dmg"; locale = "lt"; arch = "mac"; - sha256 = "aa94198a92cb708c8be2b39912f86802ef426487fb26b80d9ff3ac13e22939f6"; + sha256 = "e521a3f170cf220e2ded1abc137c13ee2823d88d6928a45894fe5ca2bec4850c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/lv/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/lv/Firefox%20146.0.1.dmg"; locale = "lv"; arch = "mac"; - sha256 = "dea01fd093dbbd51a079795d4bda8dae7ddfee1a363f428657765cd57fe705b5"; + sha256 = "7a5cd7a84233c57a57aac4677a72999a8f9993bf2597eefbd0f97dbff14041d6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/mk/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/mk/Firefox%20146.0.1.dmg"; locale = "mk"; arch = "mac"; - sha256 = "a2a673be53d2fa2a38f6d9b12a84ea8c2afcc78f0d5a41b511c3bf03874f0537"; + sha256 = "4fb31d5b299bc0aae3e6c36a47cbebe91b49d04ca5dbbb0ce30c9e6d10404604"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/mr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/mr/Firefox%20146.0.1.dmg"; locale = "mr"; arch = "mac"; - sha256 = "dee01af9aa16f21148a02955ccbba12d5ffdc8356af3ccf4f108ce1bbf0e8801"; + sha256 = "59f72fde931bcb0433cb6745296f5bc6ff3735c2b0e7f3a16b7eb173e9fd77ce"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ms/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ms/Firefox%20146.0.1.dmg"; locale = "ms"; arch = "mac"; - sha256 = "01897186f49375beb7c3b61a79d2f5c56256878d22a377e3dd324164a920e7e8"; + sha256 = "9141fac68f2ab62ecde7f97a5b80f9d64e4a60fd91c634baf30b15df94dd4d52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/my/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/my/Firefox%20146.0.1.dmg"; locale = "my"; arch = "mac"; - sha256 = "81cf8dcea8cda8d019c41e546b79d3222d055f09d7736711f0de9d7caa6560d3"; + sha256 = "876f30e9a355c35dd289e0c9735bd8cba2e2975d02d1d4e4b97bd5e6bf826c96"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/nb-NO/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/nb-NO/Firefox%20146.0.1.dmg"; locale = "nb-NO"; arch = "mac"; - sha256 = "956fcbd0b7de9f9b74b295732178e2f9bbe4fbd93d7606647883279af85d2f3c"; + sha256 = "2cfc26fd238e5203a3f3f64b597c4dffb16a3c3096407d5003d8eef4d50642b7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ne-NP/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ne-NP/Firefox%20146.0.1.dmg"; locale = "ne-NP"; arch = "mac"; - sha256 = "3e2478ccae6b06b57df7d67956949051cc9ec9c81fdec2d97153f8adce0ff897"; + sha256 = "9a766eea1cc87b8f97917b07b0c02d2e3a1a8d7ef0d6d8b80d44947a3e22050f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/nl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/nl/Firefox%20146.0.1.dmg"; locale = "nl"; arch = "mac"; - sha256 = "4fac5d8dbe6cc4288e784d46e20d60813f38ab89a5e313cce5d1c53823986fbd"; + sha256 = "6229c912372f9252a165accf28c5706761b67c9d3676cf959a030b5305c16d79"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/nn-NO/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/nn-NO/Firefox%20146.0.1.dmg"; locale = "nn-NO"; arch = "mac"; - sha256 = "70a0c6434c17eb9b89f444b94ecf64fd2ceca36c4f7f53f0c3a03b424f857871"; + sha256 = "ea1525cb7f17f519f66ad19783ceae147498cf2ed6a2ac78e46d8c4961cb7c96"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/oc/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/oc/Firefox%20146.0.1.dmg"; locale = "oc"; arch = "mac"; - sha256 = "e8b4fbca66ee055fd333d67b49e4b0a580b24862f98111f405e4f29d5cba62e7"; + sha256 = "ccb31d3df38b7ba3a285246a9764da9daf538d47c6974bc1cb1d937a2f989dc2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/pa-IN/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/pa-IN/Firefox%20146.0.1.dmg"; locale = "pa-IN"; arch = "mac"; - sha256 = "96c4952d4bab38baf6cac66bedd0890b8886db2859853abb071fd96e774298a7"; + sha256 = "68e49e5ac31b0a02402fe78127684f9fd07ed8c2031ab4bb9173814dc6d1c1fa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/pl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/pl/Firefox%20146.0.1.dmg"; locale = "pl"; arch = "mac"; - sha256 = "f2fe3479584b32a25eb1198ff3429ffe703df603f6f9a643e2c94f18274c47ff"; + sha256 = "62d1ad4a49d4b104964151d254dc40e9dcde365ab904425ef33e7087ec8383e1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/pt-BR/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/pt-BR/Firefox%20146.0.1.dmg"; locale = "pt-BR"; arch = "mac"; - sha256 = "ce391123e36d73dff3cb241eb42c5847aac0931a81ad3f40448f3fa3ee6e349e"; + sha256 = "fe910f34e4a88e4426d44a32789a10b6666691cd5c11ff31190a131b8dac46f3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/pt-PT/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/pt-PT/Firefox%20146.0.1.dmg"; locale = "pt-PT"; arch = "mac"; - sha256 = "bd4836d802c5cb63bcaaecdd1822d48d06686f4a27fa2bb1e8b1509ffd2d3d08"; + sha256 = "3be053c81e8d14a653dd7cf76acb2068d12e43e3d0abdd5e5a4dc6dd85aaf4af"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/rm/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/rm/Firefox%20146.0.1.dmg"; locale = "rm"; arch = "mac"; - sha256 = "d98e432c1e047276f4cbe6587eed93442e63dccaa70b946a2059eab57ff70a24"; + sha256 = "15641801a3fde4c63104b39557bc67432407d98fc46ef94dd69afc0c7a84ce52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ro/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ro/Firefox%20146.0.1.dmg"; locale = "ro"; arch = "mac"; - sha256 = "36f5f0b881e16a0a10c93cfaca5aa3b01e58d25d34d5cd7e9c691775d138ac6c"; + sha256 = "e4529e6c465f3bc9990fd3e756a1831775c7611a89ddf3926c5c6ffcec375d44"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ru/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ru/Firefox%20146.0.1.dmg"; locale = "ru"; arch = "mac"; - sha256 = "10aec7f06cc13e1131188af48598cf2d90c9d3e52df5c869bc7dbcb7a0785dba"; + sha256 = "277e5d9a3b71ea8b898af41717a42f9e4ba9dc47cf3012ca759b93160694aec9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sat/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sat/Firefox%20146.0.1.dmg"; locale = "sat"; arch = "mac"; - sha256 = "0a95a5705c6a5dd85d496886690287ba1e8a2014bb1ff47ec5360d5e9558e106"; + sha256 = "6224c277c699724df46de02d89b33c6ec786d5bff6d87dd1cbb2ba4e0f810f9e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sc/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sc/Firefox%20146.0.1.dmg"; locale = "sc"; arch = "mac"; - sha256 = "f1801894217cc870e0432e2d3972270d2c790da96dd7fef034b9f81b8eb1a9c8"; + sha256 = "a3b20024eb1a54a7bcefb7947fb187eb04e05e076c7231dd7ff660be35f29f47"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sco/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sco/Firefox%20146.0.1.dmg"; locale = "sco"; arch = "mac"; - sha256 = "efbc9cdb9388db3c90947ee5caccd8445e670716439d393a6152ff932d9dd0ad"; + sha256 = "f57ef3f4336c225cb04f480d1dae33d02c4e06fceb393ef58d2240dc32d12387"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/si/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/si/Firefox%20146.0.1.dmg"; locale = "si"; arch = "mac"; - sha256 = "bf4490b81152abca7fa06d8664f5da13272ff8eff0808121cc2a7e85bfbc6807"; + sha256 = "d85e956d814653df27920332f355431212cf31a0815ebceb11833363ca9d7854"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sk/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sk/Firefox%20146.0.1.dmg"; locale = "sk"; arch = "mac"; - sha256 = "ea37fc5a629de40f46532b8502a9be9ff3718941335307cb4c8d4b0cec8c4649"; + sha256 = "9d4cace7438c1935cae18a79ee0affc28a482a5b8071430bf764edf4e782bf7b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/skr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/skr/Firefox%20146.0.1.dmg"; locale = "skr"; arch = "mac"; - sha256 = "f60f698fcf15452bfa8d0817f34ed58d8a0af8595d0271ba5690ca6506a8587c"; + sha256 = "e008b7067ed0ffffcc64a6fd178703b191e9dc8cac7fbcfc604d27c70e019dbc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sl/Firefox%20146.0.1.dmg"; locale = "sl"; arch = "mac"; - sha256 = "c5ff3b4e8ea5b099f4f37e8b2b7636bee0503f41aa04eba9bd1ec4bfb1310f45"; + sha256 = "0aa60989b3e920d47a64c85da13c58d85ab3f2748371f2023831a92b2ac66b9c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/son/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/son/Firefox%20146.0.1.dmg"; locale = "son"; arch = "mac"; - sha256 = "060bbea8b3ad035405629efdb6d9fee17d4ebcfdc51656138b01f6922699d85c"; + sha256 = "b43d3fd112ab674f3c7b9ede1deccc3d6a731f51684b22d6c91dd88e24662e0b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sq/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sq/Firefox%20146.0.1.dmg"; locale = "sq"; arch = "mac"; - sha256 = "90256a13a6783964c1d03f4e95dfd114b030504236dcab2b8bc5068469464873"; + sha256 = "4b93f0c50b0554be8ba4e32b6159c6d6df7c21befc47cd644ad246139d618ea3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sr/Firefox%20146.0.1.dmg"; locale = "sr"; arch = "mac"; - sha256 = "103ec3423695efefb15922c34a104e1fc2399b9291231afbda81eb79845273fe"; + sha256 = "89be0a10c264e05639ec883e3df85abb6d73507d3cd11cf100db04ecd056dd83"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/sv-SE/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/sv-SE/Firefox%20146.0.1.dmg"; locale = "sv-SE"; arch = "mac"; - sha256 = "65d3c5930a1328854ffeeef6bff58851b9076702cefce50d601c829f32673da4"; + sha256 = "37db0e190d33dbf7c743964ef804a0a70642dc89df5a5de99df3f5a1ae849ef1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/szl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/szl/Firefox%20146.0.1.dmg"; locale = "szl"; arch = "mac"; - sha256 = "69a054c4bfac4aca5ceee1dd134cf77767b76c2546c7f7f31b842d4cd6e0606a"; + sha256 = "c9decd8f4d92cf35498a794a984db89350467e903a76be9334543e4c9bfe2243"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ta/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ta/Firefox%20146.0.1.dmg"; locale = "ta"; arch = "mac"; - sha256 = "090b7cfd5789d027e909bd9946bfbc1ee7c04389c7e9d1342f6c58f5932bcff4"; + sha256 = "59df060d92f2107e7e222b1db41f37f65a4d896572c0c53c0f696eb80e25146b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/te/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/te/Firefox%20146.0.1.dmg"; locale = "te"; arch = "mac"; - sha256 = "d5bab648285b1cbc2b42193b287aa42f8403a693561de6d2aec7cd129849d8fe"; + sha256 = "868f48b7aa169cd5a99c3e69c2b0d04d94972a8ae4d95166b24f70142af5ebb9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/tg/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/tg/Firefox%20146.0.1.dmg"; locale = "tg"; arch = "mac"; - sha256 = "6dd389cd0ec2df22162d24c3dfb908344d123b58256271bc842815688827ad7e"; + sha256 = "dc2fa5c454505977f6cf5dbb87b0ff127e2ef5606719f36cdd4c4526a2e95df8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/th/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/th/Firefox%20146.0.1.dmg"; locale = "th"; arch = "mac"; - sha256 = "bf4f44a3573d0ae2b010791ad8aaab500f9886ac07dd7d70848cd4300fbe91e6"; + sha256 = "bff6d2ef26e19c1691b79caba171ff304d1b8ef1a13df39f1a47b073de5dae8a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/tl/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/tl/Firefox%20146.0.1.dmg"; locale = "tl"; arch = "mac"; - sha256 = "08b52c08333dd3ef7d47d049d60de0761df037ce3bdc481b25fede0bc5a2a558"; + sha256 = "3768ce827a6c9778e05a5bd8fd09c715d265d6917026acc665f1f73d37dc0283"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/tr/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/tr/Firefox%20146.0.1.dmg"; locale = "tr"; arch = "mac"; - sha256 = "4b12ec565a8bfd9b94217f505e47232d3ac6fabf2a87df0c4b8566878719cc6f"; + sha256 = "08834d2c2cd1560e20362f399705ddcac9d235bbb80c3059147dc689a8309fb6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/trs/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/trs/Firefox%20146.0.1.dmg"; locale = "trs"; arch = "mac"; - sha256 = "6bc875f9df6e0bf423a8d5e5e62dbd848dd4991937f55d1c3911d1dda31460e6"; + sha256 = "ea3615d218684ff64d542e805ee0609771d6ed73c806541f0de9713bb80f806e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/uk/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/uk/Firefox%20146.0.1.dmg"; locale = "uk"; arch = "mac"; - sha256 = "df7272f7e9b9e2a02f48c51ba136c7bfbb25efd541c7ab45dc81f4f5ca11bce3"; + sha256 = "e214758b1bbd43003d2a18da714ccf6e035caf9fe803583b4c1298e16fb86b21"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/ur/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/ur/Firefox%20146.0.1.dmg"; locale = "ur"; arch = "mac"; - sha256 = "5c7a25acadc362c87ddbe82b2445a474eb4f25ca5dc5a4f59b3d235b9c1ab8b8"; + sha256 = "7d7e1d9d5dafaa8a60f18f2236c480611a0292f5dddacc310e44dd527f880345"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/uz/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/uz/Firefox%20146.0.1.dmg"; locale = "uz"; arch = "mac"; - sha256 = "42564224bf3873526210e1c4f78e6711c50f61516be546148a9fd4ca114e104f"; + sha256 = "9b9037e3d76ca0e188ae1579638a149c513a3633bb87da491b61cc03c24d292d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/vi/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/vi/Firefox%20146.0.1.dmg"; locale = "vi"; arch = "mac"; - sha256 = "ff5ae085ce628eb1a9a7ce6529d2ab836b316c5b0066d3a0016618e98581823c"; + sha256 = "5486495e350583aaca81941a11a85ce4c6fb76231f5a481ffef17ce705888370"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/xh/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/xh/Firefox%20146.0.1.dmg"; locale = "xh"; arch = "mac"; - sha256 = "357ff8c9017c71574fb8aaaa8966c967876222dfbbcc54daec07836078a636ab"; + sha256 = "fb7adaf45a5f9ebc61b3267331b635cbd9896a28c35d8ee7e3fae015f5810f2f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/zh-CN/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/zh-CN/Firefox%20146.0.1.dmg"; locale = "zh-CN"; arch = "mac"; - sha256 = "e453a4afba5a7264d0e84e8f8c44117cd040a4f9f368d9f9a1f6d3e6147792d1"; + sha256 = "5dbefbaeed643d9662bf8c8f186eeafadd23b69be6e40964eca3823d32b11128"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/146.0/mac/zh-TW/Firefox%20146.0.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/146.0.1/mac/zh-TW/Firefox%20146.0.1.dmg"; locale = "zh-TW"; arch = "mac"; - sha256 = "062e51db97087a1e8ec44fba3625fac85398a854444d2189fee58c85215a93d2"; + sha256 = "06f13625a13f20eca99829a3e9fc00ece730cdfbfb041bf009f3efde6547a8ea"; } ]; } From d610bd9d3e2a0d8c86c83056117cb301792a39a1 Mon Sep 17 00:00:00 2001 From: Miroslav Valov <91765698+mivalov@users.noreply.github.com> Date: Thu, 18 Dec 2025 22:36:26 +0100 Subject: [PATCH 330/332] google-chrome: 143.0.7499.146 -> 143.0.7499.169 --- pkgs/by-name/go/google-chrome/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index 5a11e0c291c7..1b4a83ea5c5c 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -170,11 +170,11 @@ let linux = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "143.0.7499.146"; + version = "143.0.7499.169"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-GhEPDoloqlnEYZ/laVaQdNolxnW9DBVx2Ete9Mj0GDQ="; + hash = "sha256-j9eDgZfP9Ii6B3XhLYF6t6oZq8zWRpl0Tkm4GuCDPKE="; }; # With strictDeps on, some shebangs were not being patched correctly @@ -272,11 +272,11 @@ let darwin = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "143.0.7499.147"; + version = "143.0.7499.170"; src = fetchurl { - url = "http://dl.google.com/release2/chrome/ad7e74qqebdgksg3f2kar635d3fq_143.0.7499.147/GoogleChrome-143.0.7499.147.dmg"; - hash = "sha256-/gwm6RxHsqd6cMiGI8P2ZhqKx+/LTcpXAs4dfNZnBn8="; + url = "http://dl.google.com/release2/chrome/mhjgbmlx5vzoqorxvxcf4zts4y_143.0.7499.170/GoogleChrome-143.0.7499.170.dmg"; + hash = "sha256-WoT/+dTPh3YVcMoKmmuRb0+9E3N91ffPiw0fkMlaR5o="; }; dontPatch = true; From 0886343e77f995e6cd3b698ce105f3de544db0d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 22:36:58 +0000 Subject: [PATCH 331/332] nuclei-templates: 10.3.4 -> 10.3.5 --- pkgs/by-name/nu/nuclei-templates/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix index 85d81b8e8953..b00a9783c555 100644 --- a/pkgs/by-name/nu/nuclei-templates/package.nix +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation rec { pname = "nuclei-templates"; - version = "10.3.4"; + version = "10.3.5"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei-templates"; tag = "v${version}"; - hash = "sha256-8bS7ZqNMXAggL5vq3k/sDlStVOr8hPme2tUFZ882Ge0="; + hash = "sha256-yweoAFS6VFeaX46YcBk6pWeJFHkRovBwVFqApN371HQ="; }; installPhase = '' From cb243cf5dad5d747a941cf7e42e2c1a711d08e42 Mon Sep 17 00:00:00 2001 From: Lord-Valen Date: Mon, 8 Dec 2025 22:21:09 -0500 Subject: [PATCH 332/332] opentracker: 2021-02-23 -> 1.0 --- pkgs/by-name/op/opentracker/package.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/op/opentracker/package.nix b/pkgs/by-name/op/opentracker/package.nix index 06a138381228..651d6d0960cc 100644 --- a/pkgs/by-name/op/opentracker/package.nix +++ b/pkgs/by-name/op/opentracker/package.nix @@ -1,20 +1,19 @@ { lib, stdenv, - fetchgit, + fetchzip, libowfat, zlib, nixosTests, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "opentracker"; - version = "unstable-2021-08-23"; + version = "1.0"; - src = fetchgit { - url = "https://erdgeist.org/gitweb/opentracker"; - rev = "110868ec4ebe60521d5a4ced63feca6a1cf0aa2a"; - sha256 = "sha256-SuElfmk7zONolTiyg0pyvbfvyJRn3r9OrXwpTzLw8LI="; + src = fetchzip { + url = "https://erdgeist.org/arts/software/opentracker/opentracker-${finalAttrs.version}.tar.bz2"; + hash = "sha256-OGDWL+GJ7EG7BM4WnsFpgropbrLdBj5vg425tqW6hnA="; }; buildInputs = [ @@ -46,4 +45,4 @@ stdenv.mkDerivation { mainProgram = "opentracker"; maintainers = with maintainers; [ makefu ]; }; -} +})