From 60a9edcaf0b7fe4236fe5febc1dff00ce90addda Mon Sep 17 00:00:00 2001 From: Anish Pallati Date: Thu, 5 Feb 2026 04:27:15 -0500 Subject: [PATCH 01/36] m-cli: 2.0.5 -> 2.0.7 --- pkgs/by-name/m-/m-cli/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/m-/m-cli/package.nix b/pkgs/by-name/m-/m-cli/package.nix index 92f1e4802347..a50fc8c9938f 100644 --- a/pkgs/by-name/m-/m-cli/package.nix +++ b/pkgs/by-name/m-/m-cli/package.nix @@ -2,17 +2,18 @@ lib, stdenv, fetchFromGitHub, + nix-update-script, }: stdenv.mkDerivation rec { pname = "m-cli"; - version = "2.0.5"; + version = "2.0.7"; src = fetchFromGitHub { owner = "rgcr"; repo = "m-cli"; - rev = "v${version}"; - sha256 = "sha256-41o7RoRlHwAmzSREDhQpq2Lchkz8QPxJRqN42ShUJb8="; + tag = "v${version}"; + sha256 = "sha256-a/X7HaShb8mXJIYtTDxEPN4DcskUDourRFgHnOXksYM="; }; dontBuild = true; @@ -37,6 +38,8 @@ stdenv.mkDerivation rec { install -Dt "$out/share/zsh/site-functions/" -m444 completions/zsh/_m ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Swiss Army Knife for macOS"; inherit (src.meta) homepage; @@ -44,7 +47,7 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; platforms = lib.platforms.darwin; - maintainers = [ ]; + maintainers = with lib.maintainers; [ anish ]; mainProgram = "m"; }; } From d7978171bafda407dc1cd8604e96667a45786fff Mon Sep 17 00:00:00 2001 From: salivala Date: Thu, 5 Feb 2026 09:50:41 -0500 Subject: [PATCH 02/36] maintainers: add argos_nothing --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 58100f94b444..62a518bfab0c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2157,6 +2157,12 @@ githubId = 58516559; name = "Alexander Rezvov"; }; + argos_nothing = { + email = "argosnothing@gmail.com"; + github = "argosnothing"; + githubId = 225423001; + name = "Argos Nothing"; + }; argrat = { email = "n.bertazzo@protonmail.com"; github = "brtz-cs"; From 24d56afa7b281db85f94dba3451040cb377a6ae5 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Wed, 24 Dec 2025 13:07:22 +0100 Subject: [PATCH 03/36] kitsas: 5.9 -> 5.11.1 --- .../ki/kitsas/fix-qt610-euro-arg.patch | 23 ------------------- pkgs/by-name/ki/kitsas/package.nix | 9 ++------ 2 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 pkgs/by-name/ki/kitsas/fix-qt610-euro-arg.patch diff --git a/pkgs/by-name/ki/kitsas/fix-qt610-euro-arg.patch b/pkgs/by-name/ki/kitsas/fix-qt610-euro-arg.patch deleted file mode 100644 index e271649ae8f2..000000000000 --- a/pkgs/by-name/ki/kitsas/fix-qt610-euro-arg.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/kitsas/kirjaus/kirjauswg.cpp b/kitsas/kirjaus/kirjauswg.cpp ---- a/kitsas/kirjaus/kirjauswg.cpp -+++ b/kitsas/kirjaus/kirjauswg.cpp -@@ -499,7 +499,7 @@ void KirjausWg::paivita(bool muokattu, int virheet, const Euro &debet, const Eu - } else if( virheet & Tosite::EITASMAAPVM) { - ui->varoTeksti->setText( tr("Debet ja kredit eivät täsmää jokaisella päivämäärällä.")); - } else if( debet ) { -- ui->varoTeksti->setText( tr("Summa %L1 €").arg(debet,0,'f',2) ); -+ ui->varoTeksti->setText( tr("Summa %L1 €").arg(debet.toDouble(),0,'f',2) ); - } - - -diff --git a/kitsas/selaus/tositeselausmodel.cpp b/kitsas/selaus/tositeselausmodel.cpp ---- a/kitsas/selaus/tositeselausmodel.cpp -+++ b/kitsas/selaus/tositeselausmodel.cpp -@@ -18,6 +18,7 @@ - #include - - #include -+#include - #include - - #include "db/yhteysmodel.h" diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index 5dbe1106eee9..caae2094cce0 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -10,20 +10,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "kitsas"; - version = "5.9"; + version = "5.11.1"; src = fetchFromGitHub { owner = "artoh"; repo = "kitupiikki"; rev = "v${finalAttrs.version}"; - hash = "sha256-4FCfpUFfi+N207SEAKz8nLpVS8MxfmDwM6r6i5pyqEM="; + hash = "sha256-ZU6b7Yl/dE0vk8UfyEVXtpt4ANnuKInvJ/RZYbIZj+Y="; }; - patches = [ - # Fix Qt 6.10 compatibility: QString::arg() no longer accepts Euro type directly - ./fix-qt610-euro-arg.patch - ]; - nativeBuildInputs = [ pkg-config qt6.qmake From c79dc4af55933a16a637b3c2342ae5fdfb529e04 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:40:42 +0100 Subject: [PATCH 04/36] kitsas: reorder meta attributes --- pkgs/by-name/ki/kitsas/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index caae2094cce0..5c78377fdd3a 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -57,11 +57,11 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - homepage = "https://github.com/artoh/kitupiikki"; description = "Accounting tool suitable for Finnish associations and small business"; + homepage = "https://github.com/artoh/kitupiikki"; + license = lib.licenses.gpl3Plus; mainProgram = "kitsas"; maintainers = [ ]; - license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; }; }) From b3d3c272a119499c389138416c80ad325eac5b26 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:41:24 +0100 Subject: [PATCH 05/36] kitsas: add changelog meta attribute --- pkgs/by-name/ki/kitsas/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index 5c78377fdd3a..be9988d60a45 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -57,6 +57,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { + changelog = "https://github.com/artoh/kitupiikki/releases/tag/v.${finalAttrs.version}"; description = "Accounting tool suitable for Finnish associations and small business"; homepage = "https://github.com/artoh/kitupiikki"; license = lib.licenses.gpl3Plus; From 1477fb725343db5d67316abfda90eae9218b3ad5 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:42:38 +0100 Subject: [PATCH 06/36] kitsas: reorder inputs --- pkgs/by-name/ki/kitsas/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index be9988d60a45..8642e41db09c 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -2,10 +2,10 @@ lib, stdenv, fetchFromGitHub, - qt6, - poppler, libzip, pkg-config, + poppler, + qt6, }: stdenv.mkDerivation (finalAttrs: { From 31a42f9c03985b025bbae91a6663d5ac548020ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Nov 2025 08:38:34 +0000 Subject: [PATCH 07/36] leptonica: 1.85.0 -> 1.87.0 --- pkgs/by-name/le/leptonica/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/le/leptonica/package.nix b/pkgs/by-name/le/leptonica/package.nix index 90dd922ca451..6eeb122be309 100644 --- a/pkgs/by-name/le/leptonica/package.nix +++ b/pkgs/by-name/le/leptonica/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "leptonica"; - version = "1.85.0"; + version = "1.87.0"; src = fetchFromGitHub { owner = "DanBloomBerg"; repo = "leptonica"; rev = finalAttrs.version; - hash = "sha256-meiSi0qL4i/KCMe5wsRK1/mbuRLHUb55DDOnxkrXZSs="; + hash = "sha256-d67gxWmWN3WfSPuHrjpC+emLyQswJbKV7gzm7D4bpI0="; }; nativeBuildInputs = [ From b89f55cb83a64cf6fc6761a6257db1c7215b9962 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 7 Feb 2026 18:42:46 +0000 Subject: [PATCH 08/36] llama-cpp: 7898 -> 7966 --- pkgs/by-name/ll/llama-cpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index dc23887a4f60..7c71b17427fd 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -78,7 +78,7 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "7898"; + version = "7966"; outputs = [ "out" @@ -89,7 +89,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-ST7hhE5lWOm46WS+k9lkHJqVQpz8squwHZWE2/XG6MY="; + hash = "sha256-ivGqCSBVDmDTal4MecJCWoghqEua3WgT4XmUzm7QGIc="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT From 7aeade0968490d3ed9df50f66f8255c75eba2cce Mon Sep 17 00:00:00 2001 From: Laurent Le Houerou Date: Wed, 11 Feb 2026 21:55:04 +0400 Subject: [PATCH 09/36] maintainers: add llehouerou --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8c4f2c636e3e..8babcfdc3393 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15210,6 +15210,12 @@ githubId = 78693624; name = "llakala"; }; + llehouerou = { + email = "laurent@lehouerou.net"; + github = "llehouerou"; + githubId = 3669155; + name = "Laurent Le Houerou"; + }; lluchs = { email = "lukas.werling@gmail.com"; github = "lluchs"; From b5997374e0790804bdb3950235324366b8bfe24e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Feb 2026 03:13:58 +0000 Subject: [PATCH 10/36] opentelemetry-cpp: 1.24.0 -> 1.25.0 --- pkgs/by-name/op/opentelemetry-cpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/op/opentelemetry-cpp/package.nix b/pkgs/by-name/op/opentelemetry-cpp/package.nix index 79679cb86cb9..c27869edc59d 100644 --- a/pkgs/by-name/op/opentelemetry-cpp/package.nix +++ b/pkgs/by-name/op/opentelemetry-cpp/package.nix @@ -27,13 +27,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "opentelemetry-cpp"; - version = "1.24.0"; + version = "1.25.0"; src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-cpp"; rev = "v${finalAttrs.version}"; - hash = "sha256-rVR8JWNoT5mxIgzynY8VzlZ4QxhWIEFBqogi+WFDcF0="; + hash = "sha256-/iuAv8UcRYkuQjV6Hgs1HHqW0SSVH+By5narF+vy7JU="; }; patches = [ From 598b47b3701a77483fdbd261f1a491379aa314af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Feb 2026 20:34:42 +0000 Subject: [PATCH 11/36] s7: 11.7-unstable-2026-02-05 -> 11.7-unstable-2026-02-12 --- pkgs/by-name/s7/s7/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index fc93ba4eaf1d..55f18669f618 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -26,14 +26,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.7-unstable-2026-02-05"; + version = "11.7-unstable-2026-02-12"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "19e0128d82ac4d11d1ff0352d8c2dfd87e91effd"; - hash = "sha256-CRp/Q9OngkGytuNGqgx2T/ASUSAbil+O9UZa0S+NwDA="; + rev = "7ce9e00589f550f9abc30c84e163c34ed1f511fe"; + hash = "sha256-gcOFlW5usE7oBqFAmOCEVoXTQNCbMQ0jPR3roN5ZcPk="; }; buildInputs = From 43262f1244738533ed02c0b5fca491bfd6254e10 Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Tue, 10 Feb 2026 06:08:03 -0800 Subject: [PATCH 12/36] rocmPackages.rocm-runtime: backport CWSR/stack kernel discovery patch Backport two patches from rocm-systems for gfx1151 (Strix Halo): hsakmt: bump vgpr count for gfx1151 We apply only the change that adds a GFX_VERSION_GFX1151 define but not the default vgpr change which causes crashes on old kernels. The vgpr change was later partially reverted upstream. hsakmt: Expose and use CWSR and Control stack sizes Fixes potential mismatches between stack sizes configured in the amdgpu kernel module and userspace by relying on kernel value when available. Falls back to hardcoded size based on ISA if kernel is too old. For gfx1151, also prints a warning that KFD ABI 1.20+ is recommended. This allows new kernels to work with this runtime detection mechanism. Only gfx1151 warns loudly because only it has had the size updated in kernel. Hoping to resolve MES hang errors on gfx1151. --- .../rocm-modules/rocm-runtime/default.nix | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/development/rocm-modules/rocm-runtime/default.nix b/pkgs/development/rocm-modules/rocm-runtime/default.nix index 5e82f2550cb7..ed10cc0f993d 100644 --- a/pkgs/development/rocm-modules/rocm-runtime/default.nix +++ b/pkgs/development/rocm-modules/rocm-runtime/default.nix @@ -67,6 +67,30 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/ROCm/ROCR-Runtime/commit/41bfc66aef437a5b349f71105fa4b907cc7e17d5.patch"; hash = "sha256-A7VhPR3eSsmjq2cTBSjBIz9i//WiNjoXm0EsRKtF+ns="; }) + (fetchpatch { + # [PATCH] hsakmt: bump vgpr count for gfx1151 (#1807) (#1986) + # We apply only the change that adds a GFX_VERSION_GFX1151 define but + # *not* the default vgpr change which causes crashes on old kernels + # This was later partially reverted in # [PATCH] Revert "hsakmt: bump vgpr count for gfx1151 (#1807) (#1986)" + name = "rocr-runtime-gfx1151-vgpr.patch"; + url = "https://github.com/ROCm/rocm-systems/commit/09ba45b3f43ec333a84a0ca178fcd1e3ea9400a9.patch"; + relative = "projects/rocr-runtime"; + includes = [ "libhsakmt/src/libhsakmt.h" ]; + hash = "sha256-/V5i+sr88n7fK4yNjR/FpY0ZpiEG5xAD6Oq+9ZOikd4="; + }) + (fetchpatch { + # [PATCH] hsakmt: Expose and use CWSR and Control stack sizes (#2200) + # Fixes potential mismatches between stack sizes configured in amdgpu kernel module + # and userspace by relying on kernel value when available + # Falls back to hardcoded size based on ISA if kernel is too old. For gfx1151, also prints: + # WARNING: KFD ABI 1.20+ is recommended … This may result in faults, crashes and other application instability + # This allows new kernels to work with this runtime detection mechanism + # Only gfx1151 warns loudly because only it has had the size updated in kernel… + name = "rocr-runtime-kernel-stack-size.patch"; + url = "https://github.com/ROCm/rocm-systems/commit/7037a71f311c021974fafd13727dfefd8a1cc79d.patch"; + relative = "projects/rocr-runtime"; + hash = "sha256-EbDxuEvNu0fyQJZmqq0fbcCdNtaEWUbmyPLvcfqDPjc="; + }) # This causes a circular dependency, aqlprofile relies on hsa-runtime64 # which is part of rocm-runtime # Worked around by having rocprofiler load aqlprofile directly From 2d0b5779ae015c18292784e85703f18aade397f5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Feb 2026 02:56:59 +0000 Subject: [PATCH 13/36] basedpyright: 1.37.4 -> 1.38.0 --- pkgs/by-name/ba/basedpyright/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index bc40f324d8f5..5411379edf1c 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -18,13 +18,13 @@ buildNpmPackage rec { pname = "basedpyright"; - version = "1.37.4"; + version = "1.38.0"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; tag = "v${version}"; - hash = "sha256-BTqsymgthJH1gIakSrDBx3Hxthm48kLPc85IjreX1vA="; + hash = "sha256-bLlo4+GbsrrTeZIVI9awPQE5XQdXQI4MShclR1M46VI="; }; npmDepsHash = "sha256-aZ9kfkW+S6Hjt59Z4Fc5joghs7OQ32354IYevFuKNeo="; From 8bdef3ae032ed12b5bbec548e3a65cf020adf457 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 15 Dec 2025 09:09:25 -0500 Subject: [PATCH 14/36] beamPackages.buildMix: update to use fixed point --- pkgs/development/beam-modules/build-mix.nix | 228 ++++++++---------- pkgs/development/beam-modules/default.nix | 8 + .../beam-modules/hooks/default.nix | 8 + .../beam-modules/hooks/mix-configure-hook.sh | 34 +++ .../beam-modules/mix-configure-hook.sh | 18 -- 5 files changed, 149 insertions(+), 147 deletions(-) create mode 100644 pkgs/development/beam-modules/hooks/default.nix create mode 100755 pkgs/development/beam-modules/hooks/mix-configure-hook.sh delete mode 100755 pkgs/development/beam-modules/mix-configure-hook.sh diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index d9ff7d120588..d867648abdfb 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -1,64 +1,46 @@ { - stdenv, - writeText, elixir, erlang, hex, lib, + mixConfigureHook, + stdenv, + writeText, }: -{ - name, - version, - src, - buildInputs ? [ ], - nativeBuildInputs ? [ ], - erlangCompilerOptions ? [ ], - # Deterministic Erlang builds remove full system paths from debug information - # among other things to keep builds more reproducible. See their docs for more: - # https://www.erlang.org/doc/man/compile - erlangDeterministicBuilds ? true, - beamDeps ? [ ], - propagatedBuildInputs ? [ ], - postPatch ? "", - compilePorts ? false, - meta ? { }, - enableDebugInfo ? false, - mixEnv ? "prod", - mixTarget ? "host", - removeConfig ? true, - # A config directory that is considered for all the dependencies of an app, typically in $src/config/ - # This was initially added, as some of Mobilizon's dependencies need to access the config at build time. - appConfigPath ? null, - ... -}@attrs: - -assert appConfigPath != null -> removeConfig; - -let - shell = - drv: - stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; - }; - - pkg = - self: - stdenv.mkDerivation ( - attrs - // { - name = "${name}-${version}"; - inherit version src; +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; + excludeDrvArgNames = [ + "mixEnv" + ]; + extendDrvArgs = + finalAttrs: + { + nativeBuildInputs ? [ ], + propagatedBuildInputs ? [ ], + passthru ? { }, + mixEnv ? "prod", + mixTarget ? "host", + enableDebugInfo ? false, + # A handful of libraries require compile time configuration + appConfigPath ? null, + erlangCompilerOptions ? [ ], + # Deterministic Erlang builds remove full system paths from debug information + # among other things to keep builds more reproducible. See their docs for more: + # https://www.erlang.org/doc/man/compile + erlangDeterministicBuilds ? true, + beamDeps ? [ ], + ... + }@args: + { + name = "erlang-${erlang.version}-${args.name}-${finalAttrs.version}"; + env = { MIX_ENV = mixEnv; MIX_TARGET = mixTarget; MIX_BUILD_PREFIX = (if mixTarget == "host" then "" else "${mixTarget}_") + "${mixEnv}"; MIX_DEBUG = if enableDebugInfo then 1 else 0; HEX_OFFLINE = 1; - - __darwinAllowLocalNetworking = true; - ERL_COMPILER_OPTIONS = let options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ]; @@ -67,93 +49,81 @@ let LANG = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "C"; LC_CTYPE = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "UTF-8"; + __darwinAllowLocalNetworking = true; + }; - # add to ERL_LIBS so other modules can find at runtime. - # http://erlang.org/doc/man/code.html#code-path - # Mix also searches the code path when compiling with the --no-deps-check flag - setupHook = attrs.setupHook or writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib" + # add to ERL_LIBS so other modules can find at runtime. + # http://erlang.org/doc/man/code.html#code-path + # Mix also searches the code path when compiling with the --no-deps-check flag + # This is used by package builders such as mixRelease + setupHook = writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib" + ''; + + nativeBuildInputs = nativeBuildInputs ++ [ + elixir + hex + mixConfigureHook + ]; + propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; + + # We don't want to include whatever config a dependency brings; per + # https://hexdocs.pm/elixir/main/Config.html, config is application specific. + patchPhase = + args.patchPhase or ( + '' + runHook prePatch + + rm -rf config + '' + + lib.optionalString (!isNull appConfigPath) '' + cp -r ${appConfigPath} config + '' + + '' + runHook postPatch + '' + ); + + buildPhase = + args.buildPhase or '' + runHook preBuild + + export HEX_HOME="$TEMPDIR/hex" + export MIX_HOME="$TEMPDIR/mix" + mix compile --no-deps-check + + runHook postBuild ''; - buildInputs = buildInputs ++ [ ]; - nativeBuildInputs = nativeBuildInputs ++ [ - elixir - hex - ]; - propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; + installPhase = + args.installPhase or '' + runHook preInstall - configurePhase = - attrs.configurePhase or '' - runHook preConfigure + # This uses the install path convention established by nixpkgs maintainers + # for all beam packages. Changing this will break compatibility with other + # builder functions like buildRebar3 and buildErlangMk. + mkdir -p "$out/lib/erlang/lib/${finalAttrs.name}-${finalAttrs.version}-${args.version}" - ${./mix-configure-hook.sh} - ${lib.optionalString (removeConfig && isNull appConfigPath) - # By default, we don't want to include whatever config a dependency brings; per - # https://hexdocs.pm/elixir/main/Config.html, config is application specific. - '' - rm -rf config - mkdir config - '' - } - ${lib.optionalString (!isNull appConfigPath) - # Some more tightly-coupled dependencies do depend on the config of the application - # they're being built for. - '' - rm -rf config - cp -r ${appConfigPath} config - '' - } + # Some packages like db_connection will use _build/shared instead of + # honoring the $MIX_ENV variable. + for reldir in _build/{$MIX_BUILD_PREFIX,shared}/lib/${finalAttrs.name}-${finalAttrs.version}/{src,ebin,priv,include} ; do + if test -d $reldir ; then + # Some builds produce symlinks (eg: phoenix priv dircetory). They must + # be followed with -H flag. + cp -Hrt "$out/lib/erlang/lib/${finalAttrs.name}-${finalAttrs.version}" "$reldir" + fi + done - runHook postConfigure - ''; + runHook postInstall + ''; - buildPhase = - attrs.buildPhase or '' - runHook preBuild - export HEX_HOME="$TEMPDIR/hex" - export MIX_HOME="$TEMPDIR/mix" - mix compile --no-deps-check - runHook postBuild - ''; + # stripping does not have any effect on beam files + # it is however needed for dependencies with NIFs like bcrypt for example + dontStrip = args.dontStrip or false; - installPhase = - attrs.installPhase or '' - runHook preInstall - - # This uses the install path convention established by nixpkgs maintainers - # for all beam packages. Changing this will break compatibility with other - # builder functions like buildRebar3 and buildErlangMk. - mkdir -p "$out/lib/erlang/lib/${name}-${version}" - - # Some packages like db_connection will use _build/shared instead of - # honoring the $MIX_ENV variable. - for reldir in _build/{$MIX_BUILD_PREFIX,shared}/lib/${name}/{src,ebin,priv,include} ; do - if test -d $reldir ; then - # Some builds produce symlinks (eg: phoenix priv dircetory). They must - # be followed with -H flag. - cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir" - fi - done - - # Copy the source so it can be used by dependent packages. For example, - # phoenix applications need the source of phoenix and phoenix_html to - # build javascript and css assets. - mkdir -p $out/src - cp -r "$src/." "$out/src" - - runHook postInstall - ''; - - # stripping does not have any effect on beam files - # it is however needed for dependencies with NIFs like bcrypt for example - dontStrip = false; - - passthru = { - packageName = name; - env = shell self; - inherit beamDeps; - }; + passthru = { + inherit beamDeps; } - ); -in -lib.fix pkg + // passthru; + }; +} diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 0bcee85e7fcc..4102f0a60031 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -11,6 +11,9 @@ let callPackageWithScope = scope: drv: args: lib.callPackageWith scope drv args; + callPackagesWithScope = + scope: drv: args: + lib.callPackagesWith scope drv args; mkScope = scope: pkgs // scope; packages = @@ -18,6 +21,7 @@ let let defaultScope = mkScope self; callPackage = drv: args: callPackageWithScope defaultScope drv args; + callPackages = drv: args: callPackagesWithScope defaultScope drv args; in rec { inherit callPackage erlang; @@ -95,6 +99,10 @@ let # without helper functions buildRebar3 and buildMix. hex = callPackage ./hex { }; webdriver = callPackage ./webdriver { }; + + inherit (callPackages ./hooks { }) + mixConfigureHook + ; }; in makeExtensible packages diff --git a/pkgs/development/beam-modules/hooks/default.nix b/pkgs/development/beam-modules/hooks/default.nix new file mode 100644 index 000000000000..9bf74f5dbbb3 --- /dev/null +++ b/pkgs/development/beam-modules/hooks/default.nix @@ -0,0 +1,8 @@ +{ + makeSetupHook, +}: +{ + mixConfigureHook = makeSetupHook { + name = "mix-configure-hook.sh"; + } ./mix-configure-hook.sh; +} diff --git a/pkgs/development/beam-modules/hooks/mix-configure-hook.sh b/pkgs/development/beam-modules/hooks/mix-configure-hook.sh new file mode 100755 index 000000000000..56851bc9fb9d --- /dev/null +++ b/pkgs/development/beam-modules/hooks/mix-configure-hook.sh @@ -0,0 +1,34 @@ +# shellcheck shell=bash +mixConfigureHook() { + echo "Executing mixConfigureHook" + + runHook preConfigure + + # Copy the source so it can be used by mix projects + # do this before building to avoid build artifacts but after patching + # to include any modifications + mkdir -p "$out/src" + cp -r "." "$out/src" + + # Symlink all dependencies found in ERL_LIBS since Elixir does not honor ERL_LIBS + mkdir -p _build/"$MIX_BUILD_PREFIX"/lib + while read -r -d ':' lib; do + for dir in "$lib"/*; do + # Strip version number for directory name if it exists, so naming of + # all libs matches what mix's expectation. + dest=$(basename "$dir" | cut -d '-' -f1) + build_dir="_build/$MIX_BUILD_PREFIX/lib/$dest" + ((MIX_DEBUG == 1)) && echo "Linking $dir to $build_dir" + # Symlink libs to _build so that mix can find them when compiling. + # This is what allows mix to compile the package without searching + # for dependencies over the network. + ln -s "$dir" "$build_dir" + done + done <<<"$ERL_LIBS:" + + runHook postConfigure +} + +if [ -z "${dontCargoConfigure-}" ] && [ -z "${configurePhase-}" ]; then + configurePhase=mixConfigureHook +fi diff --git a/pkgs/development/beam-modules/mix-configure-hook.sh b/pkgs/development/beam-modules/mix-configure-hook.sh deleted file mode 100755 index 8c0ee23d5a1c..000000000000 --- a/pkgs/development/beam-modules/mix-configure-hook.sh +++ /dev/null @@ -1,18 +0,0 @@ -# shellcheck shell=bash -# this hook will symlink all dependencies found in ERL_LIBS -# since Elixir 1.12.2 elixir does not look into ERL_LIBS for -# elixir depencencies anymore, so those have to be symlinked to the _build directory -mkdir -p _build/"$MIX_BUILD_PREFIX"/lib -while read -r -d ':' lib; do - for dir in "$lib"/*; do - # Strip version number for directory name if it exists, so naming of - # all libs matches what mix's expectation. - dest=$(basename "$dir" | cut -d '-' -f1) - build_dir="_build/$MIX_BUILD_PREFIX/lib/$dest" - ((MIX_DEBUG == 1)) && echo "Linking $dir to $build_dir" - # Symlink libs to _build so that mix can find them when compiling. - # This is what allows mix to compile the package without searching - # for dependencies over the network. - ln -s "$dir" "$build_dir" - done -done <<< "$ERL_LIBS:" From 7c1b60ffe8ce0aa5ffa73aa8c8edcfe01d04724e Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 13 Feb 2026 11:13:06 +0000 Subject: [PATCH 15/36] nono: init at 0.4.1 --- pkgs/by-name/no/nono/package.nix | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/by-name/no/nono/package.nix diff --git a/pkgs/by-name/no/nono/package.nix b/pkgs/by-name/no/nono/package.nix new file mode 100644 index 000000000000..eb95be89a79b --- /dev/null +++ b/pkgs/by-name/no/nono/package.nix @@ -0,0 +1,44 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + + pkg-config, + + dbus, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "nono"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "always-further"; + repo = "nono"; + tag = "v${finalAttrs.version}"; + hash = "sha256-siZK9ELU5RsX2Dc1T8LpOFNVR0Qo3xJ2LfIrqb6abSk="; + }; + + cargoHash = "sha256-3xuZMXX9YTHY4HsFuOdzbykqOVH/PWuFyLhPbl7baqY="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + dbus + ]; + + meta = { + description = "Secure, kernel-enforced sandbox for AI agents, MCP and LLM workloads"; + homepage = "https://github.com/always-further/nono"; + changelog = "https://github.com/always-further/nono/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + jk + ]; + mainProgram = "nono"; + # https://github.com/always-further/nono#platform-support + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}) From 57201334cbd89e3b064c94f32e27935679c0143e Mon Sep 17 00:00:00 2001 From: salivala Date: Thu, 5 Feb 2026 18:40:52 -0500 Subject: [PATCH 16/36] noogle-search: init at 0.2.0 hash correction Update pkgs/by-name/no/noogle-search/package.nix Co-authored-by: Hythera <87016780+Hythera@users.noreply.github.com> Update pkgs/by-name/no/noogle-search/package.nix Co-authored-by: Hythera <87016780+Hythera@users.noreply.github.com> added update-script tweak to passthru position --- pkgs/by-name/no/noogle-search/package.nix | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/no/noogle-search/package.nix diff --git a/pkgs/by-name/no/noogle-search/package.nix b/pkgs/by-name/no/noogle-search/package.nix new file mode 100644 index 000000000000..05191a1ed5ef --- /dev/null +++ b/pkgs/by-name/no/noogle-search/package.nix @@ -0,0 +1,55 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + makeWrapper, + bat, + fzf, + xdg-utils, + nix-update-script, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "noogle-search"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "argosnothing"; + repo = "noogle-search"; + tag = "v${finalAttrs.version}"; + hash = "sha256-js3jBZsyukleQW2BwggfYUvKCdS8pBTjD6ysWyMUtpI="; + }; + + cargoHash = "sha256-axqFE5ZEiVP8PzFTtW5mbyyYcR4q9g3LX/0i6y+cgy8="; + + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + postInstall = '' + wrapProgram $out/bin/noogle-search \ + --prefix PATH : ${ + lib.makeBinPath [ + bat + fzf + xdg-utils + ] + } + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Search Noogle functions with fzf"; + homepage = "https://github.com/argosnothing/noogle-search"; + license = lib.licenses.gpl3Plus; + mainProgram = "noogle-search"; + maintainers = with lib.maintainers; [ argos_nothing ]; + }; +}) From d1972278b5292faefe31e2f81ef57cd06598b387 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 29 Dec 2025 13:21:40 -0500 Subject: [PATCH 17/36] beamPackages.buildMix: move phases to hooks --- pkgs/development/beam-modules/build-mix.nix | 106 ++++++------------ pkgs/development/beam-modules/default.nix | 6 +- .../hooks/beam-copy-source-hook.sh | 16 +++ .../hooks/beam-module-install-hook.sh | 25 +++++ .../beam-modules/hooks/default.nix | 24 +++- .../hooks/mix-app-config-patch-hook.sh | 19 ++++ .../beam-modules/hooks/mix-build-dir-hook.sh | 26 +++++ .../beam-modules/hooks/mix-compile-hook.sh | 20 ++++ .../beam-modules/hooks/mix-configure-hook.sh | 34 ------ .../beam-modules/mix-configure-hook.sh | 5 + pkgs/development/beam-modules/mix-release.nix | 2 - pkgs/servers/mobilizon/default.nix | 1 + 12 files changed, 169 insertions(+), 115 deletions(-) create mode 100755 pkgs/development/beam-modules/hooks/beam-copy-source-hook.sh create mode 100644 pkgs/development/beam-modules/hooks/beam-module-install-hook.sh create mode 100644 pkgs/development/beam-modules/hooks/mix-app-config-patch-hook.sh create mode 100755 pkgs/development/beam-modules/hooks/mix-build-dir-hook.sh create mode 100755 pkgs/development/beam-modules/hooks/mix-compile-hook.sh delete mode 100755 pkgs/development/beam-modules/hooks/mix-configure-hook.sh create mode 100755 pkgs/development/beam-modules/mix-configure-hook.sh diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index d867648abdfb..52c0ce1ad1f8 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -2,8 +2,13 @@ elixir, erlang, hex, + beamCopySourceHook, + beamModuleInstallHook, + mixBuildDirHook, + mixCompileHook, + mixAppConfigPatchHook, + lib, - mixConfigureHook, stdenv, writeText, }: @@ -16,42 +21,46 @@ lib.extendMkDerivation { extendDrvArgs = finalAttrs: { - nativeBuildInputs ? [ ], - propagatedBuildInputs ? [ ], - passthru ? { }, + beamDeps ? [ ], mixEnv ? "prod", mixTarget ? "host", - enableDebugInfo ? false, - # A handful of libraries require compile time configuration + + # Allow passing compile time config instead of an empty config appConfigPath ? null, + + enableDebugInfo ? false, erlangCompilerOptions ? [ ], # Deterministic Erlang builds remove full system paths from debug information # among other things to keep builds more reproducible. See their docs for more: # https://www.erlang.org/doc/man/compile erlangDeterministicBuilds ? true, - beamDeps ? [ ], ... }@args: { - name = "erlang-${erlang.version}-${args.name}-${finalAttrs.version}"; + name = "erlang${erlang.version}-${args.name}-${finalAttrs.version}"; env = { - MIX_ENV = mixEnv; - MIX_TARGET = mixTarget; - MIX_BUILD_PREFIX = (if mixTarget == "host" then "" else "${mixTarget}_") + "${mixEnv}"; - MIX_DEBUG = if enableDebugInfo then 1 else 0; - HEX_OFFLINE = 1; ERL_COMPILER_OPTIONS = let options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ]; in "[${lib.concatStringsSep "," options}]"; + MIX_ENV = mixEnv; + MIX_TARGET = mixTarget; + MIX_BUILD_PREFIX = (if mixTarget == "host" then "" else "${mixTarget}_") + "${mixEnv}"; + MIX_DEBUG = if enableDebugInfo then 1 else 0; + HEX_OFFLINE = 1; + LANG = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "C"; LC_CTYPE = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "UTF-8"; - __darwinAllowLocalNetworking = true; + + # some hooks need name-version, but we've overridden name above for the nix package + beamModuleName = args.name; }; + __darwinAllowLocalNetworking = true; + # add to ERL_LIBS so other modules can find at runtime. # http://erlang.org/doc/man/code.html#code-path # Mix also searches the code path when compiling with the --no-deps-check flag @@ -60,70 +69,21 @@ lib.extendMkDerivation { addToSearchPath ERL_LIBS "$1/lib/erlang/lib" ''; - nativeBuildInputs = nativeBuildInputs ++ [ + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ elixir hex - mixConfigureHook + + beamCopySourceHook + beamModuleInstallHook + mixBuildDirHook + mixCompileHook + mixAppConfigPatchHook ]; - propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; - # We don't want to include whatever config a dependency brings; per - # https://hexdocs.pm/elixir/main/Config.html, config is application specific. - patchPhase = - args.patchPhase or ( - '' - runHook prePatch + propagatedBuildInputs = (args.propagatedBuildInputs or [ ]) ++ beamDeps; - rm -rf config - '' - + lib.optionalString (!isNull appConfigPath) '' - cp -r ${appConfigPath} config - '' - + '' - runHook postPatch - '' - ); - - buildPhase = - args.buildPhase or '' - runHook preBuild - - export HEX_HOME="$TEMPDIR/hex" - export MIX_HOME="$TEMPDIR/mix" - mix compile --no-deps-check - - runHook postBuild - ''; - - installPhase = - args.installPhase or '' - runHook preInstall - - # This uses the install path convention established by nixpkgs maintainers - # for all beam packages. Changing this will break compatibility with other - # builder functions like buildRebar3 and buildErlangMk. - mkdir -p "$out/lib/erlang/lib/${finalAttrs.name}-${finalAttrs.version}-${args.version}" - - # Some packages like db_connection will use _build/shared instead of - # honoring the $MIX_ENV variable. - for reldir in _build/{$MIX_BUILD_PREFIX,shared}/lib/${finalAttrs.name}-${finalAttrs.version}/{src,ebin,priv,include} ; do - if test -d $reldir ; then - # Some builds produce symlinks (eg: phoenix priv dircetory). They must - # be followed with -H flag. - cp -Hrt "$out/lib/erlang/lib/${finalAttrs.name}-${finalAttrs.version}" "$reldir" - fi - done - - runHook postInstall - ''; - - # stripping does not have any effect on beam files - # it is however needed for dependencies with NIFs like bcrypt for example - dontStrip = args.dontStrip or false; - - passthru = { + passthru = (args.passthru or { }) // { inherit beamDeps; - } - // passthru; + }; }; } diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 4102f0a60031..0fec22df3458 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -101,7 +101,11 @@ let webdriver = callPackage ./webdriver { }; inherit (callPackages ./hooks { }) - mixConfigureHook + beamCopySourceHook + beamModuleInstallHook + mixBuildDirHook + mixCompileHook + mixAppConfigPatchHook ; }; in diff --git a/pkgs/development/beam-modules/hooks/beam-copy-source-hook.sh b/pkgs/development/beam-modules/hooks/beam-copy-source-hook.sh new file mode 100755 index 000000000000..a4ffa9fd1413 --- /dev/null +++ b/pkgs/development/beam-modules/hooks/beam-copy-source-hook.sh @@ -0,0 +1,16 @@ +# shellcheck shell=bash +# +# Copy the source so it can be used by mix projects to assemble `deps` +# do this before building to avoid build artifacts but after patching +# to include any user modifications to the source + +beamCopySourceHook() { + echo "Executing beamCopySourceHook" + + mkdir -p "$out/src" + cp -r "." "$out/src" + + echo "Finished beamCopySourceHook" +} + +postPatchHooks+=(beamCopySourceHook) diff --git a/pkgs/development/beam-modules/hooks/beam-module-install-hook.sh b/pkgs/development/beam-modules/hooks/beam-module-install-hook.sh new file mode 100644 index 000000000000..6591f4bb70f7 --- /dev/null +++ b/pkgs/development/beam-modules/hooks/beam-module-install-hook.sh @@ -0,0 +1,25 @@ +# shellcheck shell=bash +# +# This uses the install path convention established by nixpkgs maintainers +# for all beam packages. Changing this will break compatibility with other +# builder functions like buildRebar3 and buildErlangMk. + +beamModuleInstallHook() { + echo "Executing beamModuleInstallHook" + + mkdir -p "$out/lib/erlang/lib/${beamModuleName}-${version}" + + for reldir in _build/{$MIX_BUILD_PREFIX,shared}/lib/${beamModuleName}/{src,ebin,priv,include}; do + if test -d "$reldir"; then + # Some builds produce symlinks (eg: phoenix priv directory). They must + # be followed with -H flag. + cp -vHrt "$out/lib/erlang/lib/${beamModuleName}-${version}" "$reldir" + fi + done + + echo "Finished beamModuleInstallHook" +} + +if [ -z "${dontBeamModuleInstall-}" ] && [ -z "${installPhase-}" ]; then + installPhase=beamModuleInstallHook +fi diff --git a/pkgs/development/beam-modules/hooks/default.nix b/pkgs/development/beam-modules/hooks/default.nix index 9bf74f5dbbb3..000363c9d150 100644 --- a/pkgs/development/beam-modules/hooks/default.nix +++ b/pkgs/development/beam-modules/hooks/default.nix @@ -1,8 +1,22 @@ +{ makeSetupHook }: { - makeSetupHook, -}: -{ - mixConfigureHook = makeSetupHook { + beamCopySourceHook = makeSetupHook { + name = "beam-copy-source-hook.sh"; + } ./beam-copy-source-hook.sh; + + beamModuleInstallHook = makeSetupHook { + name = "beam-module-install-hook.sh"; + } ./beam-module-install-hook.sh; + + mixBuildDirHook = makeSetupHook { name = "mix-configure-hook.sh"; - } ./mix-configure-hook.sh; + } ./mix-build-dir-hook.sh; + + mixCompileHook = makeSetupHook { + name = "mix-compile-hook.sh"; + } ./mix-compile-hook.sh; + + mixAppConfigPatchHook = makeSetupHook { + name = "mix-config-patch-hook.sh"; + } ./mix-app-config-patch-hook.sh; } diff --git a/pkgs/development/beam-modules/hooks/mix-app-config-patch-hook.sh b/pkgs/development/beam-modules/hooks/mix-app-config-patch-hook.sh new file mode 100644 index 000000000000..e2153db58b4c --- /dev/null +++ b/pkgs/development/beam-modules/hooks/mix-app-config-patch-hook.sh @@ -0,0 +1,19 @@ +# shellcheck shell=bash +# +# We don't want to include whatever config a dependency brings; per +# https://hexdocs.pm/elixir/main/Config.html, config is application specific. + +mixAppConfigPatchHook() { + echo "Executing mixAppConfigPatchHook" + + rm -rvf config + + # But we still need a way to provide config for deps that need compile time config + if [ ! -z "${appConfigPath}" ]; then + ln -sf "${appConfigPath}" config + fi + + echo "Finished mixAppConfigPatchHook" +} + +prePatchHooks+=(mixAppConfigPatchHook) diff --git a/pkgs/development/beam-modules/hooks/mix-build-dir-hook.sh b/pkgs/development/beam-modules/hooks/mix-build-dir-hook.sh new file mode 100755 index 000000000000..c353aaeabc4d --- /dev/null +++ b/pkgs/development/beam-modules/hooks/mix-build-dir-hook.sh @@ -0,0 +1,26 @@ +# shellcheck shell=bash +# +# Symlink all dependencies found in ERL_LIBS since Elixir does not honor ERL_LIBS + +mixBuildDirHook() { + echo "Executing mixBuildDirHook" + + mkdir -p _build/"$MIX_BUILD_PREFIX"/lib + while read -r -d ':' lib; do + for dir in "$lib"/*; do + # Strip version number for directory name if it exists, so naming of + # all libs matches what mix's expectation. + dest=$(basename "$dir" | cut -d '-' -f1) + build_dir="_build/$MIX_BUILD_PREFIX/lib/$dest" + + # Symlink libs to _build so that mix can find them when compiling. + # This is what allows mix to compile the package without searching + # for dependencies over the network. + ln -sv "$dir" "$build_dir" + done + done <<<"$ERL_LIBS:" + + echo "Finished mixBuildDirHook" +} + +preConfigureHooks+=(mixBuildDirHook) diff --git a/pkgs/development/beam-modules/hooks/mix-compile-hook.sh b/pkgs/development/beam-modules/hooks/mix-compile-hook.sh new file mode 100755 index 000000000000..19b27c8a94f8 --- /dev/null +++ b/pkgs/development/beam-modules/hooks/mix-compile-hook.sh @@ -0,0 +1,20 @@ +# shellcheck shell=bash + +mixCompileHook() { + echo "Executing mixCompileHook" + + runHook preBuild + + local flagsArray=() + concatTo flagsArray mixCompileFlags + + mix compile --no-deps-check "${flagsArray[@]}" + + runHook postBuild + + echo "Finished mixCompileHook" +} + +if [ -z "${dontMixCompile-}" ] && [ -z "${buildPhase-}" ]; then + buildPhase=mixCompileHook +fi diff --git a/pkgs/development/beam-modules/hooks/mix-configure-hook.sh b/pkgs/development/beam-modules/hooks/mix-configure-hook.sh deleted file mode 100755 index 56851bc9fb9d..000000000000 --- a/pkgs/development/beam-modules/hooks/mix-configure-hook.sh +++ /dev/null @@ -1,34 +0,0 @@ -# shellcheck shell=bash -mixConfigureHook() { - echo "Executing mixConfigureHook" - - runHook preConfigure - - # Copy the source so it can be used by mix projects - # do this before building to avoid build artifacts but after patching - # to include any modifications - mkdir -p "$out/src" - cp -r "." "$out/src" - - # Symlink all dependencies found in ERL_LIBS since Elixir does not honor ERL_LIBS - mkdir -p _build/"$MIX_BUILD_PREFIX"/lib - while read -r -d ':' lib; do - for dir in "$lib"/*; do - # Strip version number for directory name if it exists, so naming of - # all libs matches what mix's expectation. - dest=$(basename "$dir" | cut -d '-' -f1) - build_dir="_build/$MIX_BUILD_PREFIX/lib/$dest" - ((MIX_DEBUG == 1)) && echo "Linking $dir to $build_dir" - # Symlink libs to _build so that mix can find them when compiling. - # This is what allows mix to compile the package without searching - # for dependencies over the network. - ln -s "$dir" "$build_dir" - done - done <<<"$ERL_LIBS:" - - runHook postConfigure -} - -if [ -z "${dontCargoConfigure-}" ] && [ -z "${configurePhase-}" ]; then - configurePhase=mixConfigureHook -fi diff --git a/pkgs/development/beam-modules/mix-configure-hook.sh b/pkgs/development/beam-modules/mix-configure-hook.sh new file mode 100755 index 000000000000..80a395b8a6a0 --- /dev/null +++ b/pkgs/development/beam-modules/mix-configure-hook.sh @@ -0,0 +1,5 @@ +# Added 2026-02-12 for external users +echo "mix-configure-hook.sh has been removed and is now a setup hook. + Add 'beamPackages.mixBuildDirHook' to 'nativeBuildInputs' instead. +" >&2 +exit 1 diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 27a318085710..7204c03bf567 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -171,8 +171,6 @@ stdenv.mkDerivation ( attrs.configurePhase or '' runHook preConfigure - ${./mix-configure-hook.sh} - # This is needed for projects that have a specific compile step # the dependency needs to be compiled in order for the task # to be available. diff --git a/pkgs/servers/mobilizon/default.nix b/pkgs/servers/mobilizon/default.nix index c6fe27b0bbfc..3785f84246df 100644 --- a/pkgs/servers/mobilizon/default.nix +++ b/pkgs/servers/mobilizon/default.nix @@ -146,6 +146,7 @@ mixRelease rec { ${lib.getExe nixfmt} pkgs/servers/mobilizon/mix.nix ''; elixirPackage = beamPackages.elixir; + inherit mixNixDeps; }; meta = { From 6a187b67638f85cec51ee0a2024e367ae3c27ef2 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Wed, 11 Feb 2026 20:13:10 -0500 Subject: [PATCH 18/36] beamPackages.mixRelease: fix mixNixDeps building --- pkgs/development/beam-modules/mix-release.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 7204c03bf567..bbbca0625b44 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -16,6 +16,7 @@ gnused, gnugrep, gawk, + mixBuildDirHook, }@inputs: { @@ -108,6 +109,7 @@ stdenv.mkDerivation ( elixir hex git + mixBuildDirHook ] ++ # Mix deps @@ -184,13 +186,12 @@ stdenv.mkDerivation ( ${lib.optionalString (mixNixDeps != { }) '' mkdir -p deps - ${lib.concatMapStringsSep "\n" (dep: '' - dep_name=$(basename ${dep} | cut -d '-' -f2) - dep_path="deps/$dep_name" + ${lib.concatMapAttrsStringSep "\n" (name: dep: '' + dep_path="deps/${name}" if [ -d "${dep}/src" ]; then - ln -s ${dep}/src $dep_path + ln -sv ${dep}/src $dep_path fi - '') (builtins.attrValues mixNixDeps)} + '') mixNixDeps} ''} # Symlink deps to build root. Similar to above, but allows for mixFodDeps From 9cbc309fb9fdc60e3773c0417c43600a363ec05e Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 13 Feb 2026 08:35:34 -0500 Subject: [PATCH 19/36] mobilizon: fix fast_html dependency building --- pkgs/servers/mobilizon/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/mobilizon/default.nix b/pkgs/servers/mobilizon/default.nix index 3785f84246df..ecc7b6bcd336 100644 --- a/pkgs/servers/mobilizon/default.nix +++ b/pkgs/servers/mobilizon/default.nix @@ -40,6 +40,7 @@ mixRelease rec { // { fast_html = prev.fast_html.override { nativeBuildInputs = [ cmake ]; + dontUseCmakeConfigure = true; }; ex_cldr = prev.ex_cldr.overrideAttrs (old: { # We have to use the GitHub sources, as it otherwise tries to download From e984577c53a2d6eabcdf02136589349bf5715bd2 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 13 Feb 2026 23:19:52 +0800 Subject: [PATCH 20/36] cinnamon-session: 6.6.2 -> 6.6.3 https://github.com/linuxmint/cinnamon-session/compare/6.6.2...6.6.3 --- pkgs/by-name/ci/cinnamon-session/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ci/cinnamon-session/package.nix b/pkgs/by-name/ci/cinnamon-session/package.nix index 29b422d6480c..d64794db4bd6 100644 --- a/pkgs/by-name/ci/cinnamon-session/package.nix +++ b/pkgs/by-name/ci/cinnamon-session/package.nix @@ -39,13 +39,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "cinnamon-session"; - version = "6.6.2"; + version = "6.6.3"; src = fetchFromGitHub { owner = "linuxmint"; repo = "cinnamon-session"; tag = finalAttrs.version; - hash = "sha256-5Cbx0SNBcTovRvxwPSqR4SM/FBLXrfkS5RZGXeU1ULY="; + hash = "sha256-fmeLywpM4QhgyiX68E+4vosUK2WKGVJ1Cx8pYdOnb+k="; }; buildInputs = [ From 43a71f8f3e979ec610450eaf70d3954e629aa8f3 Mon Sep 17 00:00:00 2001 From: Laurent Le Houerou Date: Fri, 13 Feb 2026 20:27:48 +0400 Subject: [PATCH 21/36] waves: init at 0.1.41 --- pkgs/by-name/wa/waves/package.nix | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pkgs/by-name/wa/waves/package.nix diff --git a/pkgs/by-name/wa/waves/package.nix b/pkgs/by-name/wa/waves/package.nix new file mode 100644 index 000000000000..1e68e1a5d34a --- /dev/null +++ b/pkgs/by-name/wa/waves/package.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + alsa-lib, + pkg-config, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "waves"; + version = "0.1.41"; + + src = fetchFromGitHub { + owner = "llehouerou"; + repo = "waves"; + tag = "v${finalAttrs.version}"; + hash = "sha256-F3ZJSaL8e8TO2J0k3p33zrqMwurw6xIA+AuloNp3Zw0="; + }; + + vendorHash = "sha256-jUwA7KOHceuwSUMDzex8MHCBYvMPRkfkyk5THvXsF+M="; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ]; + + ldflags = [ + "-s" + "-w" + "-X main.version=${finalAttrs.version}" + ]; + + doCheck = !stdenv.hostPlatform.isDarwin; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Keyboard-driven terminal music player with Soulseek integration, Last.fm scrobbling, and radio mode"; + homepage = "https://github.com/llehouerou/waves"; + changelog = "https://github.com/llehouerou/waves/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ llehouerou ]; + mainProgram = "waves"; + }; +}) From cbc83c13fb07b05854a9ff54d4ea3f3c58eb11cb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Feb 2026 17:01:55 +0000 Subject: [PATCH 22/36] brave: 1.86.148 -> 1.87.186 --- 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 c13c17f3dce9..20f4ac6c7ec0 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.86.148"; + version = "1.87.186"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-86VeBM2kKbuQ+/FAq24X4DdkAUOFzlGg52cAosMExzo="; + hash = "sha256-MyTYIna4cT9cH/meKyCg97v8g6bYpGK7x8q/ibHNDOE="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-VLJLU9hgKX7MwhxdFLyaPTmOb6+AEsJze40EePVd+Ug="; + hash = "sha256-d07fttXvvrDPdVCEOAZpwkLrya4elfN/jBFNf+YFtkA="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-fYHd1TMN8kWzhchcCLxgU1M3frxCkvE7uITIdiopSU4="; + hash = "sha256-MI3MesRZv3hpXvyayj3dFtC70Z9tneeaeQbv4BneSO8="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-a37FTE/qi37d+pGrtkZWVqKaMXzLyIO/ppV4k9hz0uE="; + hash = "sha256-c03bQ3gZzkA+QfDcGBmljUoaWfxz+0c4lm8ifqhPtxg="; }; }; From d9f15300dbab52826a304830cc23682536fabc26 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 13 Feb 2026 11:02:38 -0600 Subject: [PATCH 23/36] fastfetch: 2.58.0 -> 2.59.0 Changelog: https://github.com/fastfetch-cli/fastfetch/releases/tag/2.59.0 Signed-off-by: Austin Horstman --- 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 4aa7b79b04e7..ba39767cdc91 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -61,13 +61,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "fastfetch"; - version = "2.58.0"; + version = "2.59.0"; src = fetchFromGitHub { owner = "fastfetch-cli"; repo = "fastfetch"; tag = finalAttrs.version; - hash = "sha256-kWMR2qtwgzpYZmbqkpNkII6MuMFb13jkBtI/1pdgSgE="; + hash = "sha256-XnVSVf9dFWJLmMDsXNclWCnMTwigVORXYhcpxTgEWuY="; }; outputs = [ From b0d5bf8e98044d544d45fbefcc6f46fafc93a3d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Feb 2026 18:43:21 +0000 Subject: [PATCH 24/36] plasma-panel-colorizer: 6.7.0 -> 6.8.0 --- pkgs/by-name/pl/plasma-panel-colorizer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix index 12f629a82d42..0dbcddae5c6d 100644 --- a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix +++ b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-colorizer"; - version = "6.7.0"; + version = "6.8.0"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-colorizer"; tag = "v${finalAttrs.version}"; - hash = "sha256-YAWSVH5cpllNz50pYbq3ceGaLOYOkwMsE5s/MfzP18A="; + hash = "sha256-HsivJaF+5s+OFoCwerQCAYIgKtdCIIXI1EgAwJjwAPk="; }; nativeBuildInputs = [ From 4ceb6a69b89d471a3dbab41ed67f24bda98458ac Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 13 Feb 2026 20:13:29 +0000 Subject: [PATCH 25/36] python3Packages.pylance: 2.0.0 -> 2.0.1 Diff: https://github.com/lancedb/lance/compare/v2.0.0...v2.0.1 Changelog: https://github.com/lancedb/lance/releases/tag/v2.0.1 --- pkgs/development/python-modules/pylance/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pylance/default.nix b/pkgs/development/python-modules/pylance/default.nix index 94a0efcc46ff..a7a5bb873c82 100644 --- a/pkgs/development/python-modules/pylance/default.nix +++ b/pkgs/development/python-modules/pylance/default.nix @@ -34,14 +34,14 @@ buildPythonPackage (finalAttrs: { pname = "pylance"; - version = "2.0.0"; + version = "2.0.1"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance"; tag = "v${finalAttrs.version}"; - hash = "sha256-VxhRdyPhVVRRiYu2h7ospxLSpXCz0a6LgjJCGcqJVcU="; + hash = "sha256-KuUXo7GyC78U5RG6orW0X7a/B/0e9TbLpbTc7KXpxF8="; }; sourceRoot = "${finalAttrs.src.name}/python"; @@ -53,7 +53,7 @@ buildPythonPackage (finalAttrs: { src sourceRoot ; - hash = "sha256-toIyApf/v0h45rZjfJRAStU9TZGmB+cCChObzjVr1Hs="; + hash = "sha256-dq5HK0yS/nnI7cqpsS51KnQus8KJ2mHsxmlgi8601gk="; }; nativeBuildInputs = [ From 52b19a0ca5411e8ee23bcc9802a6c1fb464825f0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Feb 2026 22:40:17 +0000 Subject: [PATCH 26/36] python3Packages.lazy-imports: 1.1.0 -> 1.2.0 --- pkgs/development/python-modules/lazy-imports/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/lazy-imports/default.nix b/pkgs/development/python-modules/lazy-imports/default.nix index c5407bd3792f..d839ac69defa 100644 --- a/pkgs/development/python-modules/lazy-imports/default.nix +++ b/pkgs/development/python-modules/lazy-imports/default.nix @@ -11,13 +11,13 @@ }: let pname = "lazy-imports"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "bachorp"; repo = "lazy-imports"; tag = version; - hash = "sha256-KtKqR/e0ldpsrz3dyY1ehF4cM5k7jDziiB+8uV0HEwc="; + hash = "sha256-3TKhPMtViebdFTR3timf0ulXMdKrpQZ22gj891xQHVI="; }; in buildPythonPackage { From 21131714b142e86b5fab72d4cd061d29fd3489b2 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:42:56 +0100 Subject: [PATCH 27/36] kitsas: use tag instead of rev --- pkgs/by-name/ki/kitsas/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ki/kitsas/package.nix b/pkgs/by-name/ki/kitsas/package.nix index 8642e41db09c..bd7436c32c5c 100644 --- a/pkgs/by-name/ki/kitsas/package.nix +++ b/pkgs/by-name/ki/kitsas/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "artoh"; repo = "kitupiikki"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-ZU6b7Yl/dE0vk8UfyEVXtpt4ANnuKInvJ/RZYbIZj+Y="; }; @@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - changelog = "https://github.com/artoh/kitupiikki/releases/tag/v.${finalAttrs.version}"; + changelog = "https://github.com/artoh/kitupiikki/releases/tag/v${finalAttrs.version}"; description = "Accounting tool suitable for Finnish associations and small business"; homepage = "https://github.com/artoh/kitupiikki"; license = lib.licenses.gpl3Plus; From 5658b7acec061b8d08bcc8f55d7d107fab41334c Mon Sep 17 00:00:00 2001 From: Ulysses Zhan Date: Sun, 1 Feb 2026 00:46:35 -0800 Subject: [PATCH 28/36] everest: fix version name --- pkgs/by-name/ev/everest/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ev/everest/package.nix b/pkgs/by-name/ev/everest/package.nix index d1e0d55e5def..dc288f7f9da1 100644 --- a/pkgs/by-name/ev/everest/package.nix +++ b/pkgs/by-name/ev/everest/package.nix @@ -12,6 +12,7 @@ let pname = "everest"; version = "6170"; + rev = "62ef4d0c36f433fa3a26502eabe6cda5ff205fbc"; phome = "$out/lib/Celeste"; in buildDotnetModule { @@ -20,7 +21,7 @@ buildDotnetModule { src = fetchFromGitHub { owner = "EverestAPI"; repo = "Everest"; - rev = "62ef4d0c36f433fa3a26502eabe6cda5ff205fbc"; + inherit rev; fetchSubmodules = true; # TODO: use leaveDotGit = true and modify external/MonoMod in postFetch to please SourceLink # Microsoft.SourceLink.Common.targets(53,5): warning : Source control information is not available - the generated source link is empty. @@ -71,8 +72,7 @@ buildDotnetModule { preBuild = '' # See .azure-pipelines/prebuild.ps1 - sed -i 's|0\.0\.0-dev|1.${version}.0-nixos-'$(git rev-parse --short=5 HEAD)'|' Celeste.Mod.mm/Mod/Everest/Everest.cs - cat Celeste.Mod.mm/Mod/Everest/Everest.cs + sed -i 's|0\.0\.0-dev|1.${version}.0-nixos-${lib.substring 0 5 rev}|' Celeste.Mod.mm/Mod/Everest/Everest.cs cat <<-EOF > Celeste.Mod.mm/Mod/Helpers/EverestVersion.cs namespace Celeste.Mod.Helpers { internal static class EverestBuild${version} { From 3256a3b05a4c306e02458ef686b2578937e6c097 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 14 Feb 2026 00:55:47 +0000 Subject: [PATCH 29/36] biome: 2.3.14 -> 2.3.15 --- 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 c279551ba223..3e64fb4d2b14 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -11,16 +11,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "2.3.14"; + version = "2.3.15"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "@biomejs/biome@${finalAttrs.version}"; - hash = "sha256-MNxIdarZMEZx4pWd+pB/7i+Pd3k8yekgW73ZrolYCGc="; + hash = "sha256-HRiQohI6bnV+U9c+XILOWmjGb1tQDJd3CBFNGzJuJ/4="; }; - cargoHash = "sha256-i8GMK4xwFreHtVvnuZdeGAAyQTMwb5y9LU5/2usWc18="; + cargoHash = "sha256-l1eew5KmT0tpVSLmWquodoYlMavQYbyxmZxl6IRnC48="; nativeBuildInputs = [ pkg-config ]; From 89c2d38e208013ef91bf0fac2ff99ec232310ba0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 14 Feb 2026 01:18:58 +0000 Subject: [PATCH 30/36] gdu: 5.32.0 -> 5.33.0 --- pkgs/by-name/gd/gdu/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gd/gdu/package.nix b/pkgs/by-name/gd/gdu/package.nix index 60dbc9e93d1c..3be16791b295 100644 --- a/pkgs/by-name/gd/gdu/package.nix +++ b/pkgs/by-name/gd/gdu/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "gdu"; - version = "5.32.0"; + version = "5.33.0"; src = fetchFromGitHub { owner = "dundee"; repo = "gdu"; tag = "v${finalAttrs.version}"; - hash = "sha256-E//6rO3LsGLLNrPFVi/R3njkhOI1GnM9mGI/AIcVG/Q="; + hash = "sha256-DotSJ7fz70lQH21evxA4Sy4Al7xcWpKtQJM7/Fp0fvY="; }; - vendorHash = "sha256-xtw7CKpXEvjpfDQ9x0coLmfTQPy+NiWfrKL8l5vFS9o="; + vendorHash = "sha256-cusc2ckY3RJTFYY4swuHhJvl9L5uuWKOWokrk2ylSFo="; nativeBuildInputs = [ installShellFiles From 854a79256ef4ffa76038915cfc09c80b3e41f2e5 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 13 Feb 2026 21:54:46 -0500 Subject: [PATCH 31/36] incus-ui-canonical: 0.19.3 -> 0.19.4 --- pkgs/by-name/in/incus-ui-canonical/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix index 9875055e5835..56cffab8eb33 100644 --- a/pkgs/by-name/in/incus-ui-canonical/package.nix +++ b/pkgs/by-name/in/incus-ui-canonical/package.nix @@ -20,14 +20,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "incus-ui-canonical"; - version = "0.19.3"; + version = "0.19.4"; src = fetchFromGitHub { owner = "zabbly"; repo = "incus-ui-canonical"; # only use tags prefixed by incus- they are the tested fork versions tag = "incus-${finalAttrs.version}"; - hash = "sha256-wibBuvGABMGTjuYFYjV9mbNVNXm78LX9VAgM2H8b7e4="; + hash = "sha256-B/05tQbiqpi5gzoHjFVTS7CHwuO2xSHHSu76/fNjRug="; }; offlineCache = fetchYarnDeps { From 60a4150b5625f76bd96205e1e0d5eca3e748bd69 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 14 Feb 2026 03:38:25 +0000 Subject: [PATCH 32/36] python3Packages.elevenlabs: 2.33.1 -> 2.35.0 --- pkgs/development/python-modules/elevenlabs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/elevenlabs/default.nix b/pkgs/development/python-modules/elevenlabs/default.nix index 8773d4aae2ce..9e17cd8fe451 100644 --- a/pkgs/development/python-modules/elevenlabs/default.nix +++ b/pkgs/development/python-modules/elevenlabs/default.nix @@ -14,14 +14,14 @@ buildPythonPackage (finalAttrs: { pname = "elevenlabs"; - version = "2.33.1"; + version = "2.35.0"; pyproject = true; src = fetchFromGitHub { owner = "elevenlabs"; repo = "elevenlabs-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-fOVoKiAQfZ3+59onGzkTmXAhgJnoDQJvMBrwIIgZwhY="; + hash = "sha256-8O/gpG0XAJeD6g52mdO7T43NBHfpctuHm8mu4CVvZ78="; }; build-system = [ poetry-core ]; From 6a7b03c64dc43a747664b1a899ccc2549c69c025 Mon Sep 17 00:00:00 2001 From: Sophie Date: Thu, 12 Feb 2026 23:31:42 -0600 Subject: [PATCH 33/36] maintainers: add rosebeats --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7c1f5d41eaf5..ba3843a2d6b6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -22960,6 +22960,12 @@ matrix = "@emma:rory.gay"; # preferred name = "Rory&"; }; + rosebeats = { + name = "Sophie Doiron"; + email = "sophie.d21401@gmail.com"; + github = "rosebeats"; + githubId = 39890784; + }; rosehobgoblin = { name = "J. L. Bowden"; github = "rosehobgoblin"; From 4093ecd6c2aec2aa460917609ff392b8a008da03 Mon Sep 17 00:00:00 2001 From: Sophie Date: Thu, 12 Feb 2026 23:11:43 -0600 Subject: [PATCH 34/36] cups-brother-mfcl2710dw: init at 4.0.0-1 Added printer driver for Brother MFC-L2710DW --- .../cu/cups-brother-mfcl2710dw/package.nix | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 pkgs/by-name/cu/cups-brother-mfcl2710dw/package.nix diff --git a/pkgs/by-name/cu/cups-brother-mfcl2710dw/package.nix b/pkgs/by-name/cu/cups-brother-mfcl2710dw/package.nix new file mode 100644 index 000000000000..306882f64dfe --- /dev/null +++ b/pkgs/by-name/cu/cups-brother-mfcl2710dw/package.nix @@ -0,0 +1,100 @@ +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + perl, + gnused, + ghostscript, + file, + coreutils, + gnugrep, + which, +}: +let + arches = [ + "x86_64" + "i686" + ]; + runtimeDeps = [ + ghostscript + file + gnused + gnugrep + coreutils + which + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "cups-brother-mfcl2710dw"; + version = "4.0.0-1"; + + nativeBuildInputs = [ + dpkg + makeWrapper + autoPatchelfHook + ]; + buildInputs = [ perl ]; + + dontUnpack = true; + + src = fetchurl { + url = "https://download.brother.com/welcome/dlf103526/mfcl2710dwpdrv-${finalAttrs.version}.i386.deb"; + hash = "sha256-OOTvbCuyxw4k01CTMuBqG2boMN13q5xC7LacaweGmyw="; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out + dpkg-deb -x $src $out + + # delete unnecessary files for the current architecture + '' + + lib.concatMapStrings (arch: '' + echo Deleting files for ${arch} + rm -r "$out/opt/brother/Printers/MFCL2710DW/lpd/${arch}" + '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + + '' + + # bundled scripts don't understand the arch subdirectories for some reason + ln -s \ + "$out/opt/brother/Printers/MFCL2710DW/lpd/${stdenv.hostPlatform.linuxArch}/"* \ + "$out/opt/brother/Printers/MFCL2710DW/lpd/" + + # Fix global references and replace auto discovery mechanism with hardcoded values + substituteInPlace $out/opt/brother/Printers/MFCL2710DW/lpd/lpdfilter \ + --replace-fail /opt "$out/opt" \ + --replace-fail "my \$BR_PRT_PATH =" "my \$BR_PRT_PATH = \"$out/opt/brother/Printers/MFCL2710DW\"; #" \ + --replace-fail "PRINTER =~" "PRINTER = \"MFCL2710DW\"; #" + + # Make sure all executables have the necessary runtime dependencies available + find "$out" -executable -and -type f | while read file; do + wrapProgram "$file" --prefix PATH : "${lib.makeBinPath runtimeDeps}" + done + + # Symlink filter and ppd into a location where CUPS will discover it + mkdir -p $out/lib/cups/filter $out/share/cups/model + + ln -s \ + $out/opt/brother/Printers/MFCL2710DW/lpd/lpdfilter \ + $out/lib/cups/filter/brother_lpdwrapper_MFCL2710DW + + ln -s \ + $out/opt/brother/Printers/MFCL2710DW/cupswrapper/brother-MFCL2710DW-cups-en.ppd \ + $out/share/cups/model/ + + runHook postInstall + ''; + + meta = { + homepage = "http://www.brother.com/"; + description = "Brother MFC-L2710DW printer driver"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = lib.licenses.unfree; + platforms = map (arch: "${arch}-linux") arches; + maintainers = with lib.maintainers; [ rosebeats ]; + }; +}) From 651d452b52466131c0b6aec16bd5f749a19af8b6 Mon Sep 17 00:00:00 2001 From: Alexandre Esteves Date: Sat, 14 Feb 2026 05:02:27 +0000 Subject: [PATCH 35/36] maintainers: update alexfmpe --- maintainers/maintainer-list.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 567757b1365e..982ff788af9e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1228,7 +1228,7 @@ name = "Alex Chapman"; }; alexfmpe = { - email = "alexandre.fmp.esteves@gmail.com"; + email = "alexfmpe@proton.me"; github = "alexfmpe"; githubId = 2335822; name = "Alexandre Esteves"; From 89991bdff78129ae46582a732931519f61e4d531 Mon Sep 17 00:00:00 2001 From: Alexandre Esteves Date: Sat, 14 Feb 2026 05:19:14 +0000 Subject: [PATCH 36/36] ocamlPackages.*: remove myself from maintainers --- pkgs/development/ocaml-modules/bigstring/default.nix | 2 +- pkgs/development/ocaml-modules/conduit/default.nix | 1 - pkgs/development/ocaml-modules/dum/default.nix | 2 +- pkgs/development/ocaml-modules/genspio/default.nix | 2 +- pkgs/development/ocaml-modules/hidapi/default.nix | 2 +- pkgs/development/ocaml-modules/ipaddr/default.nix | 1 - pkgs/development/ocaml-modules/macaddr/default.nix | 2 +- pkgs/development/ocaml-modules/sosa/default.nix | 2 +- 8 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/ocaml-modules/bigstring/default.nix b/pkgs/development/ocaml-modules/bigstring/default.nix index f7e3ee06b9ef..1c19f98ae683 100644 --- a/pkgs/development/ocaml-modules/bigstring/default.nix +++ b/pkgs/development/ocaml-modules/bigstring/default.nix @@ -31,6 +31,6 @@ buildDunePackage (finalAttrs: { homepage = "https://github.com/c-cube/ocaml-bigstring"; description = "Bigstring built on top of bigarrays, and convenient functions"; license = lib.licenses.bsd2; - maintainers = [ lib.maintainers.alexfmpe ]; + maintainers = [ ]; }; }) diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix index 2aa8f7aeaaaf..4bae84fa6668 100644 --- a/pkgs/development/ocaml-modules/conduit/default.nix +++ b/pkgs/development/ocaml-modules/conduit/default.nix @@ -34,7 +34,6 @@ buildDunePackage (finalAttrs: { description = "Network connection establishment library"; license = lib.licenses.isc; maintainers = with lib.maintainers; [ - alexfmpe vbgl ]; homepage = "https://github.com/mirage/ocaml-conduit"; diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix index b4b9f738e483..78cae6f37866 100644 --- a/pkgs/development/ocaml-modules/dum/default.nix +++ b/pkgs/development/ocaml-modules/dum/default.nix @@ -33,6 +33,6 @@ buildDunePackage (finalAttrs: { objects or exceptions in depth and without risk. ''; license = lib.licenses.lgpl21Plus; - maintainers = with lib.maintainers; [ alexfmpe ]; + maintainers = [ ]; }; }) diff --git a/pkgs/development/ocaml-modules/genspio/default.nix b/pkgs/development/ocaml-modules/genspio/default.nix index 2ea294727dde..22b93c11ed49 100644 --- a/pkgs/development/ocaml-modules/genspio/default.nix +++ b/pkgs/development/ocaml-modules/genspio/default.nix @@ -33,6 +33,6 @@ buildDunePackage rec { homepage = "https://smondet.gitlab.io/genspio-doc/"; description = "Typed EDSL to generate POSIX Shell scripts"; license = lib.licenses.asl20; - maintainers = [ lib.maintainers.alexfmpe ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/ocaml-modules/hidapi/default.nix b/pkgs/development/ocaml-modules/hidapi/default.nix index d3d666ef081a..38e6d503b866 100644 --- a/pkgs/development/ocaml-modules/hidapi/default.nix +++ b/pkgs/development/ocaml-modules/hidapi/default.nix @@ -36,7 +36,7 @@ buildDunePackage rec { description = "Bindings to Signal11's hidapi library"; homepage = "https://github.com/vbmithr/ocaml-hidapi"; license = lib.licenses.isc; - maintainers = [ lib.maintainers.alexfmpe ]; + maintainers = [ ]; mainProgram = "ocaml-hid-enumerate"; }; } diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix index ec752d475ee0..63c49af9eecf 100644 --- a/pkgs/development/ocaml-modules/ipaddr/default.nix +++ b/pkgs/development/ocaml-modules/ipaddr/default.nix @@ -31,7 +31,6 @@ buildDunePackage { meta = macaddr.meta // { description = "Library for manipulation of IP (and MAC) address representations"; maintainers = with lib.maintainers; [ - alexfmpe ericbmerritt ]; }; diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix index 4d2db1e47944..ba567c2c90d0 100644 --- a/pkgs/development/ocaml-modules/macaddr/default.nix +++ b/pkgs/development/ocaml-modules/macaddr/default.nix @@ -28,6 +28,6 @@ buildDunePackage rec { homepage = "https://github.com/mirage/ocaml-ipaddr"; description = "Library for manipulation of MAC address representations"; license = lib.licenses.isc; - maintainers = [ lib.maintainers.alexfmpe ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix index 9f4453d12e57..9eb2da21118b 100644 --- a/pkgs/development/ocaml-modules/sosa/default.nix +++ b/pkgs/development/ocaml-modules/sosa/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { homepage = "http://www.hammerlab.org/docs/sosa/master/index.html"; description = "Sane OCaml String API"; license = lib.licenses.isc; - maintainers = [ lib.maintainers.alexfmpe ]; + maintainers = [ ]; broken = !(lib.versionOlder ocaml.version "4.02"); }; }