From 06bba7ca8f07c12103303c416f1237226583c0a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 19 Dec 2025 22:07:03 +0000 Subject: [PATCH 01/46] jx: 3.16.37 -> 3.16.43 --- pkgs/by-name/jx/jx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/jx/jx/package.nix b/pkgs/by-name/jx/jx/package.nix index 2a02553e5121..309efa0b2069 100644 --- a/pkgs/by-name/jx/jx/package.nix +++ b/pkgs/by-name/jx/jx/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "jx"; - version = "3.16.37"; + version = "3.16.43"; src = fetchFromGitHub { owner = "jenkins-x"; repo = "jx"; rev = "v${version}"; - sha256 = "sha256-mHsQ1zR/f+u3mUp3QFwdoSJ1mLkCxwt12g7rX3siRiM="; + sha256 = "sha256-K5NDyhO41PrawSIhLyfoW33IMFOTAiMOyslHPRb5ttg="; }; vendorHash = "sha256-1ErjD+1MdbKN4EPaQX0jxNzoN9dB8beH1csdx1IPKl8="; From 6572ef0b9988d5c874da6b957b9a901d9b3e4f98 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 21 Dec 2025 20:38:11 +0000 Subject: [PATCH 02/46] python3Packages.numbagg: 0.9.3 -> 0.9.4 --- pkgs/development/python-modules/numbagg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/numbagg/default.nix b/pkgs/development/python-modules/numbagg/default.nix index 8ec945dd890f..38d47436b392 100644 --- a/pkgs/development/python-modules/numbagg/default.nix +++ b/pkgs/development/python-modules/numbagg/default.nix @@ -21,7 +21,7 @@ }: buildPythonPackage rec { - version = "0.9.3"; + version = "0.9.4"; pname = "numbagg"; pyproject = true; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "numbagg"; repo = "numbagg"; tag = "v${version}"; - hash = "sha256-MEgSxxKZaL0sPhERFa8DWF+Vkc/VuHDyyB2yfFv/uYw="; + hash = "sha256-JYgjeExpL+rbiaFPO9IHsm4Qh6GTLdTWB5dO3zIIPbs="; }; build-system = [ From b6262549e53369d5cb6ee618423c59c2d208ad65 Mon Sep 17 00:00:00 2001 From: Dan Lock Date: Mon, 22 Dec 2025 21:14:52 +0000 Subject: [PATCH 03/46] ashell: 0.6.0 -> 0.7.0 --- pkgs/by-name/as/ashell/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/as/ashell/package.nix b/pkgs/by-name/as/ashell/package.nix index 2d543163899b..dabb93ec9b3e 100644 --- a/pkgs/by-name/as/ashell/package.nix +++ b/pkgs/by-name/as/ashell/package.nix @@ -14,16 +14,16 @@ }: rustPlatform.buildRustPackage rec { pname = "ashell"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "MalpenZibo"; repo = "ashell"; tag = version; - hash = "sha256-1PqK+jq0ZioTluwQtEp8rpB/ZNsrvQhLgJiyIM9PQ0k="; + hash = "sha256-nQrBW2pfsExHERGZzJqMG7MskzsJ3zwVyoX6wJZBils="; }; - cargoHash = "sha256-L8RxsDxL8oyR3kz+F/NckGikfNLg+Pa1DI2nFgHL5VM="; + cargoHash = "sha256-F8oh8uQFthx5gex/ovKADO+ukqzIbmlBM5+shej/OTA="; nativeBuildInputs = [ pkg-config From a981af6f1eaabb3e24f162f919bb824d03c4027a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 25 Dec 2025 22:17:23 +0100 Subject: [PATCH 04/46] python313Packages.cyclopts: 4.4.0 -> 4.4.1 Diff: https://github.com/BrianPugh/cyclopts/compare/v4.4.0...v4.4.1 Changelog: https://github.com/BrianPugh/cyclopts/releases/tag/v4.4.1 --- pkgs/development/python-modules/cyclopts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 6bda8b4ce559..1b0473534d2f 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "cyclopts"; - version = "4.4.0"; + version = "4.4.1"; pyproject = true; src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${version}"; - hash = "sha256-D9luX6h1gkfjHk4Y/JakpLBF+KY58qDKDhpWKmiVS2Y="; + hash = "sha256-kp/mnqa2difEA3s1jtXF1fDluQhLCJ4f6rFRruRbE9k="; }; build-system = [ From 312978fdeba1cf4a78a08a7352a36fad5219d8bb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 28 Dec 2025 14:11:25 +0000 Subject: [PATCH 05/46] tombi: 0.7.9 -> 0.7.12 --- pkgs/by-name/to/tombi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix index 864d5d9a6f58..5252a177387c 100644 --- a/pkgs/by-name/to/tombi/package.nix +++ b/pkgs/by-name/to/tombi/package.nix @@ -9,19 +9,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tombi"; - version = "0.7.9"; + version = "0.7.12"; src = fetchFromGitHub { owner = "tombi-toml"; repo = "tombi"; tag = "v${finalAttrs.version}"; - hash = "sha256-JjqImFAffkK84Kq65L+ig7YkLR82P599d4clqR1hSCw="; + hash = "sha256-UeccD8fsph9y054vGDQMwGEeoaHEY0lPL0/X3QIn97g="; }; # Tests relies on the presence of network doCheck = false; cargoBuildFlags = [ "--package tombi-cli" ]; - cargoHash = "sha256-TCUEhUDFI4HccFZCzyjU9KaN05b86XeNSuyD7WZhyLs="; + cargoHash = "sha256-Gp8wU0+jIcFYqtFWVXfLmEx28jLcFwtMsGzDbvo/O8s="; postPatch = '' substituteInPlace Cargo.toml \ From d8a278242b94e0c48ef7ca7167190d624bd694b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 27 Dec 2025 14:45:03 -0800 Subject: [PATCH 06/46] deltachat-desktop: 2.33.0 -> 2.35.0 Diff: https://github.com/deltachat/deltachat-desktop/compare/v2.33.0...v2.35.0 Changelog: https://github.com/deltachat/deltachat-desktop/blob/v2.35.0/CHANGELOG.md --- pkgs/by-name/de/deltachat-desktop/package.nix | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/de/deltachat-desktop/package.nix b/pkgs/by-name/de/deltachat-desktop/package.nix index bc205240938c..6b9219bd4413 100644 --- a/pkgs/by-name/de/deltachat-desktop/package.nix +++ b/pkgs/by-name/de/deltachat-desktop/package.nix @@ -1,9 +1,8 @@ { lib, copyDesktopItems, - electron_37, + electron_39, fetchFromGitHub, - fetchpatch, deltachat-rpc-server, makeDesktopItem, makeWrapper, @@ -22,46 +21,37 @@ let deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec { - version = "2.33.0"; + version = "2.35.0"; src = fetchFromGitHub { owner = "chatmail"; repo = "core"; tag = "v${version}"; - hash = "sha256-4cnYTtm5bQ86BgMOOH5d881ahjuFFOxVuGffRp3Nbw4="; + hash = "sha256-tcH9F+FKXfFozk6PcbEE37HFIojhDR672bfcPXfKnCs="; }; cargoDeps = rustPlatform.fetchCargoVendor { pname = "chatmail-core"; inherit version src; - hash = "sha256-TOGSvvFKsWshfMqGNEOtjhHcpTJ0FAiK6RigmlT4AFA="; + hash = "sha256-p1E7K1EiEftpNSyE41LpMYmkZwjeasZzrXbYxKK/IgI="; }; }; - electron = electron_37; + electron = electron_39; in stdenv.mkDerivation (finalAttrs: { pname = "deltachat-desktop"; - version = "2.33.0"; + version = "2.35.0"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-PA2Faq1AmFxxizN1+NDYRB3uFI2bXdGshtyfHwY2btM="; + hash = "sha256-TAuluFfJnaTdgWHtA+Oif7RYneiE+16onjqjgo4QI/8="; }; - patches = [ - # https://github.com/deltachat/deltachat-desktop/pull/5854 - (fetchpatch { - name = "dont-load-env-file-in-production.patch"; - url = "https://github.com/deltachat/deltachat-desktop/commit/e0eca1672b2f0c951b96c1e921219d2a4a4dbcb0.patch"; - hash = "sha256-/Dc8VjdF10qJOrEa0dJeBib+R+8kb5yD4/iKt9/VnBA="; - }) - ]; - pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; fetcherVersion = 2; - hash = "sha256-4BAcCzPZbCjUfHTnJ98TzcfI5UnfMmGdbdvCFaQNNsk="; + hash = "sha256-9J7UJbIm9V12nWQvelgIhezVMg1yGPFFB3DXlzB/DFc="; }; nativeBuildInputs = [ @@ -144,6 +134,7 @@ stdenv.mkDerivation (finalAttrs: { ]; startupWMClass = "DeltaChat"; mimeTypes = [ + "application/x-webxdc" "x-scheme-handler/openpgp4fpr" "x-scheme-handler/dcaccount" "x-scheme-handler/dclogin" From b131fd1c0b66cd62f955ae5efbbf4a0fd5a8107f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 29 Dec 2025 12:11:44 +0000 Subject: [PATCH 07/46] python3Packages.schedula: 1.5.71 -> 1.5.72 --- pkgs/development/python-modules/schedula/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/schedula/default.nix b/pkgs/development/python-modules/schedula/default.nix index 13e3b496ea64..93b58d9606ea 100644 --- a/pkgs/development/python-modules/schedula/default.nix +++ b/pkgs/development/python-modules/schedula/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "schedula"; - version = "1.5.71"; + version = "1.5.72"; pyproject = true; src = fetchFromGitHub { owner = "vinci1it2000"; repo = "schedula"; tag = "v${version}"; - hash = "sha256-Ru9GCdhfC8WU8YxVlpBqxGvoIPhfpl9Zd7cBrom4CL0="; + hash = "sha256-UfUe9Uv4y61SOEvqW5bbK891F7ysZS+jxtp1zN5JAGM="; }; build-system = [ setuptools ]; From aaa20248a0c9b00b4a826319d6e08c1159e0e7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 06:17:36 -0800 Subject: [PATCH 08/46] python3Packages.atproto: don't test coverage --- pkgs/development/python-modules/atproto/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/python-modules/atproto/default.nix b/pkgs/development/python-modules/atproto/default.nix index 87431ec4f33a..312d4308c7cd 100644 --- a/pkgs/development/python-modules/atproto/default.nix +++ b/pkgs/development/python-modules/atproto/default.nix @@ -22,7 +22,6 @@ # nativeCheckInputs pytestCheckHook, pytest-asyncio, - coverage, }: buildPythonPackage rec { @@ -64,7 +63,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook pytest-asyncio - coverage ]; disabledTestPaths = [ From 58c1eb6eae88d3c523cf880bb6cf27690dd314c7 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Sat, 27 Dec 2025 17:49:02 +0100 Subject: [PATCH 09/46] mpv{,-unwrapped,Scripts}: move to by-name --- ci/OWNERS | 4 +- doc/release-notes/rl-2605.section.md | 2 +- pkgs/applications/video/mpv/wrapper.nix | 163 ------------------ .../mp/mpv-unwrapped/package.nix} | 7 +- pkgs/by-name/mp/mpv/package.nix | 154 +++++++++++++++++ .../video => by-name/mp}/mpv/scripts.nix | 0 .../mp}/mpv/scripts/autosub.nix | 0 .../mp}/mpv/scripts/autosubsync-mpv.nix | 0 .../mp}/mpv/scripts/bdanmaku.nix | 0 .../mp}/mpv/scripts/buildLua.nix | 0 .../mp}/mpv/scripts/builtins.nix | 0 .../mp}/mpv/scripts/chapterskip.nix | 0 .../mp}/mpv/scripts/convert.nix | 0 .../mp}/mpv/scripts/convert.patch | 0 .../mp}/mpv/scripts/cutter.nix | 0 .../mp}/mpv/scripts/dynamic-crop.nix | 0 .../mp}/mpv/scripts/easycrop.nix | 0 .../mp}/mpv/scripts/eisa01.nix | 0 .../mp}/mpv/scripts/evafast.nix | 0 .../mp}/mpv/scripts/inhibit-gnome.nix | 0 .../mp}/mpv/scripts/manga-reader.nix | 0 .../video => by-name/mp}/mpv/scripts/memo.nix | 0 .../mp}/mpv/scripts/modernx-zydezu.nix | 0 .../mp}/mpv/scripts/modernx.nix | 0 .../mp}/mpv/scripts/modernz.nix | 0 .../mp}/mpv/scripts/mpris.nix | 0 .../mp}/mpv/scripts/mpv-cheatsheet.nix | 0 .../mp}/mpv/scripts/mpv-discord.nix | 0 .../mp}/mpv/scripts/mpv-gallery-view.nix | 0 .../mp}/mpv/scripts/mpv-image-viewer.nix | 0 .../mp}/mpv/scripts/mpv-notify-send.nix | 0 .../mp}/mpv/scripts/mpv-osc-modern.nix | 0 .../mp}/mpv/scripts/mpv-osc-tethys.nix | 0 .../mp}/mpv/scripts/mpv-playlistmanager.nix | 0 .../mp}/mpv/scripts/mpv-slicing.nix | 0 .../mp}/mpv/scripts/mpv-subtitle-lines.nix | 0 .../mp}/mpv/scripts/mpv-webm.nix | 0 .../mp}/mpv/scripts/mpvacious.nix | 0 .../mp}/mpv/scripts/occivink.nix | 0 .../mp}/mpv/scripts/quack.nix | 0 .../mp}/mpv/scripts/quality-menu.nix | 0 .../mp}/mpv/scripts/reload.nix | 0 .../mp}/mpv/scripts/simple-mpv-webui.nix | 0 .../mp}/mpv/scripts/skipsilence.nix | 0 .../mp}/mpv/scripts/sponsorblock-minimal.nix | 0 .../mp}/mpv/scripts/sponsorblock.nix | 0 .../mp}/mpv/scripts/thumbfast.nix | 0 .../mp}/mpv/scripts/thumbnail.nix | 0 .../mp}/mpv/scripts/twitch-chat.nix | 0 .../video => by-name/mp}/mpv/scripts/uosc.nix | 0 .../mp}/mpv/scripts/videoclip.nix | 0 .../mp}/mpv/scripts/visualizer.nix | 0 .../mp}/mpv/scripts/vr-reversal.nix | 0 .../mp}/mpv/scripts/webtorrent-mpv-hook.nix | 0 .../mp}/mpv/scripts/youtube-chat.nix | 0 .../mp}/mpv/scripts/youtube-upnext.nix | 0 pkgs/top-level/all-packages.nix | 9 +- 57 files changed, 161 insertions(+), 178 deletions(-) delete mode 100644 pkgs/applications/video/mpv/wrapper.nix rename pkgs/{applications/video/mpv/default.nix => by-name/mp/mpv-unwrapped/package.nix} (96%) create mode 100644 pkgs/by-name/mp/mpv/package.nix rename pkgs/{applications/video => by-name/mp}/mpv/scripts.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/autosub.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/autosubsync-mpv.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/bdanmaku.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/buildLua.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/builtins.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/chapterskip.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/convert.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/convert.patch (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/cutter.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/dynamic-crop.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/easycrop.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/eisa01.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/evafast.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/inhibit-gnome.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/manga-reader.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/memo.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/modernx-zydezu.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/modernx.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/modernz.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpris.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-cheatsheet.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-discord.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-gallery-view.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-image-viewer.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-notify-send.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-osc-modern.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-osc-tethys.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-playlistmanager.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-slicing.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-subtitle-lines.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpv-webm.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/mpvacious.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/occivink.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/quack.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/quality-menu.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/reload.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/simple-mpv-webui.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/skipsilence.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/sponsorblock-minimal.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/sponsorblock.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/thumbfast.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/thumbnail.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/twitch-chat.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/uosc.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/videoclip.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/visualizer.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/vr-reversal.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/webtorrent-mpv-hook.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/youtube-chat.nix (100%) rename pkgs/{applications/video => by-name/mp}/mpv/scripts/youtube-upnext.nix (100%) diff --git a/ci/OWNERS b/ci/OWNERS index 85a03002e851..4f5f9eaa8ba2 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -373,8 +373,8 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /pkgs/development/lua-modules @NixOS/lua # mpvScripts -/pkgs/applications/video/mpv/scripts @uninsane -/pkgs/applications/video/mpv/scripts.nix @uninsane +/pkgs/by-name/mp/mpv/scripts @uninsane +/pkgs/by-name/mp/mpv/scripts.nix @uninsane # Neovim /pkgs/applications/editors/neovim @NixOS/neovim diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index b29ecaa1c829..7765ef095702 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -93,7 +93,7 @@ ### Deprecations {#sec-nixpkgs-release-26.05-lib-deprecations} -- Create the first release note entry in this section! +- `mpv-unwrapped.scripts` and `mpv-unwrapped.wrapper` have been removed. Please use `mpvScripts` and `mpv.override` accordingly. ### Additions and Improvements {#sec-nixpkgs-release-26.05-lib-additions-improvements} diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix deleted file mode 100644 index 8fc65ae11bea..000000000000 --- a/pkgs/applications/video/mpv/wrapper.nix +++ /dev/null @@ -1,163 +0,0 @@ -# Arguments that this derivation gets when it is created with `callPackage` -{ - stdenv, - buildEnv, - lib, - makeBinaryWrapper, - mpvScripts, - symlinkJoin, - writeTextDir, - yt-dlp, -# the unwrapped mpv derivation -}: - -let - # arguments to the function (exposed as `mpv-unwrapped.wrapper` in top-level) - wrapper = - { - mpv, - extraMakeWrapperArgs ? [ ], - youtubeSupport ? true, - # a set of derivations (probably from `mpvScripts`) where each is expected - # to have a `scriptName` passthru attribute that points to the name of the - # script that would reside in the script's derivation's - # `$out/share/mpv/scripts/`. - # - # A script can optionally also provide `passthru.extraWrapperArgs` - # attribute. - scripts ? [ ], - extraUmpvWrapperArgs ? [ ], - }: - let - binPath = lib.makeBinPath ( - [ - mpv.luaEnv - ] - ++ lib.optionals mpv.vapoursynthSupport [ - mpv.vapoursynth.python3 - ] - ); - - # With some tools, we want to prioritize tools that are in PATH. For example, users may want - # to quickly expose a newer version of yt-dlp through the nix shell because it needs to be - # kept up-to-date for it to work. - fallbackBinPath = lib.makeBinPath (lib.optionals youtubeSupport [ yt-dlp ]); - - # All arguments besides the input and output binaries (${mpv}/bin/mpv and - # $out/bin/mpv). These are used by the darwin specific makeWrapper call - # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. - mostMakeWrapperArgs = lib.strings.escapeShellArgs ( - [ - "--inherit-argv0" - # These are always needed (TODO: Explain why) - "--prefix" - "LUA_CPATH" - ";" - "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so" - "--prefix" - "LUA_PATH" - ";" - "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua" - ] - ++ lib.optionals mpv.vapoursynthSupport [ - "--prefix" - "PYTHONPATH" - ":" - "${mpv.vapoursynth}/${mpv.vapoursynth.python3.sitePackages}" - ] - ++ lib.optionals (binPath != "") [ - "--prefix" - "PATH" - ":" - binPath - ] - ++ lib.optionals (fallbackBinPath != "") [ - "--suffix" - "PATH" - ":" - fallbackBinPath - ] - ++ (lib.lists.flatten ( - map - # For every script in the `scripts` argument, add the necessary flags to the wrapper - ( - script: - let - mkScriptArgs = script: scriptName: [ - "--add-flags" - "--script=${script}/share/mpv/scripts/${scriptName}" - ]; - in - # Here we rely on the existence of the `scriptName` passthru - # attribute of the script derivation from the `scripts` - (mkScriptArgs script script.scriptName) - # scripts might need others to be explicitly loaded - ++ (map (extraScriptName: mkScriptArgs script extraScriptName) (script.extraScriptsToLoad or [ ])) - # scripts can also set the `extraWrapperArgs` passthru - ++ (script.extraWrapperArgs or [ ]) - ) - scripts - )) - ++ extraMakeWrapperArgs - ); - umpvWrapperArgs = lib.strings.escapeShellArgs ( - [ - "--inherit-argv0" - "--set" - "MPV" - "${placeholder "out"}/bin/mpv" - ] - ++ extraUmpvWrapperArgs - ); - in - symlinkJoin { - name = "mpv-with-scripts-${mpv.version}"; - - # TODO: don't link all mpv outputs and convert package to mpv-unwrapped? - paths = [ mpv.all ]; - - nativeBuildInputs = [ makeBinaryWrapper ]; - - passthru.unwrapped = mpv; - - passthru.tests.mpv-scripts-should-not-collide = buildEnv { - name = "mpv-scripts-env"; - paths = lib.pipe mpvScripts [ - # filters "override" "overrideDerivation" "recurseForDerivations" - (lib.filterAttrs (key: script: lib.isDerivation script)) - # replaces unfree and meta.broken scripts with decent placeholders - (lib.mapAttrsToList ( - key: script: - if (builtins.tryEval script.outPath).success then - script - else - writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" - )) - ]; - }; - - postBuild = '' - # wrapProgram can't operate on symlinks - rm "$out/bin/mpv" - makeWrapper "${mpv}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} - rm "$out/bin/umpv" - makeWrapper "${mpv}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # wrapProgram can't operate on symlinks - rm "$out/Applications/mpv.app/Contents/MacOS/mpv" - makeWrapper "${mpv}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} - ''; - - meta = { - inherit (mpv.meta) - homepage - description - longDescription - maintainers - ; - mainProgram = "mpv"; - }; - }; -in -lib.makeOverridable wrapper diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/by-name/mp/mpv-unwrapped/package.nix similarity index 96% rename from pkgs/applications/video/mpv/default.nix rename to pkgs/by-name/mp/mpv-unwrapped/package.nix index 0a1694877590..52a21ac4a12e 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/by-name/mp/mpv-unwrapped/package.nix @@ -5,11 +5,9 @@ alsa-lib, bash, buildPackages, - callPackage, config, docutils, fetchFromGitHub, - fetchpatch, ffmpeg, freefont_ttf, freetype, @@ -301,8 +299,9 @@ stdenv.mkDerivation (finalAttrs: { vapoursynth ; - wrapper = callPackage ./wrapper.nix { }; - scripts = callPackage ./scripts.nix { }; + # Should be removed in the future. These can't be added to `pkgs/top-level/aliases.nix`. + scripts = throw "'mpv-unwrapped.scripts' has been removed. Please use 'mpvScripts' instead."; # Added 2025-12-29 + wrapper = throw "'mpv-unwrapped.wrapper' has been removed. Please use 'mpv.override' instead."; # Added 2025-12-29 tests = { inherit (nixosTests) mpv; diff --git a/pkgs/by-name/mp/mpv/package.nix b/pkgs/by-name/mp/mpv/package.nix new file mode 100644 index 000000000000..fcd9accab107 --- /dev/null +++ b/pkgs/by-name/mp/mpv/package.nix @@ -0,0 +1,154 @@ +{ + stdenv, + buildEnv, + lib, + makeBinaryWrapper, + mpvScripts, + mpv-unwrapped, + symlinkJoin, + writeTextDir, + yt-dlp, + extraMakeWrapperArgs ? [ ], + youtubeSupport ? true, + # a set of derivations (probably from `mpvScripts`) where each is expected + # to have a `scriptName` passthru attribute that points to the name of the + # script that would reside in the script's derivation's + # `$out/share/mpv/scripts/`. + # + # A script can optionally also provide `passthru.extraWrapperArgs` + # attribute. + scripts ? [ ], + extraUmpvWrapperArgs ? [ ], +}: + +let + binPath = lib.makeBinPath ( + [ + mpv-unwrapped.luaEnv + ] + ++ lib.optionals mpv-unwrapped.vapoursynthSupport [ + mpv-unwrapped.vapoursynth.python3 + ] + ); + + # With some tools, we want to prioritize tools that are in PATH. For example, users may want + # to quickly expose a newer version of yt-dlp through the nix shell because it needs to be + # kept up-to-date for it to work. + fallbackBinPath = lib.makeBinPath (lib.optionals youtubeSupport [ yt-dlp ]); + + # All arguments besides the input and output binaries (${mpv-unwrapped}/bin/mpv and + # $out/bin/mpv). These are used by the darwin specific makeWrapper call + # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. + mostMakeWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + # These are always needed (TODO: Explain why) + "--prefix" + "LUA_CPATH" + ";" + "${mpv-unwrapped.luaEnv}/lib/lua/${mpv-unwrapped.lua.luaversion}/?.so" + "--prefix" + "LUA_PATH" + ";" + "${mpv-unwrapped.luaEnv}/share/lua/${mpv-unwrapped.lua.luaversion}/?.lua" + ] + ++ lib.optionals mpv-unwrapped.vapoursynthSupport [ + "--prefix" + "PYTHONPATH" + ":" + "${mpv-unwrapped.vapoursynth}/${mpv-unwrapped.vapoursynth.python3.sitePackages}" + ] + ++ lib.optionals (binPath != "") [ + "--prefix" + "PATH" + ":" + binPath + ] + ++ lib.optionals (fallbackBinPath != "") [ + "--suffix" + "PATH" + ":" + fallbackBinPath + ] + ++ (lib.lists.flatten ( + map + # For every script in the `scripts` argument, add the necessary flags to the wrapper + ( + script: + let + mkScriptArgs = script: scriptName: [ + "--add-flags" + "--script=${script}/share/mpv/scripts/${scriptName}" + ]; + in + # Here we rely on the existence of the `scriptName` passthru + # attribute of the script derivation from the `scripts` + (mkScriptArgs script script.scriptName) + # scripts might need others to be explicitly loaded + ++ (map (extraScriptName: mkScriptArgs script extraScriptName) (script.extraScriptsToLoad or [ ])) + # scripts can also set the `extraWrapperArgs` passthru + ++ (script.extraWrapperArgs or [ ]) + ) + scripts + )) + ++ extraMakeWrapperArgs + ); + umpvWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + "--set" + "MPV" + "${placeholder "out"}/bin/mpv" + ] + ++ extraUmpvWrapperArgs + ); +in +symlinkJoin { + name = "mpv-with-scripts-${mpv-unwrapped.version}"; + + # TODO: don't link all mpv outputs + paths = [ mpv-unwrapped.all ]; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + passthru.unwrapped = mpv-unwrapped; + + passthru.tests.mpv-scripts-should-not-collide = buildEnv { + name = "mpv-scripts-env"; + paths = lib.pipe mpvScripts [ + # filters "override" "overrideDerivation" "recurseForDerivations" + (lib.filterAttrs (key: script: lib.isDerivation script)) + # replaces unfree and meta.broken scripts with decent placeholders + (lib.mapAttrsToList ( + key: script: + if (builtins.tryEval script.outPath).success then + script + else + writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" + )) + ]; + }; + + postBuild = '' + # wrapProgram can't operate on symlinks + rm "$out/bin/mpv" + makeWrapper "${mpv-unwrapped}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} + rm "$out/bin/umpv" + makeWrapper "${mpv-unwrapped}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # wrapProgram can't operate on symlinks + rm "$out/Applications/mpv.app/Contents/MacOS/mpv" + makeWrapper "${mpv-unwrapped}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} + ''; + + meta = { + inherit (mpv-unwrapped.meta) + homepage + description + longDescription + maintainers + ; + mainProgram = "mpv"; + }; +} diff --git a/pkgs/applications/video/mpv/scripts.nix b/pkgs/by-name/mp/mpv/scripts.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts.nix rename to pkgs/by-name/mp/mpv/scripts.nix diff --git a/pkgs/applications/video/mpv/scripts/autosub.nix b/pkgs/by-name/mp/mpv/scripts/autosub.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/autosub.nix rename to pkgs/by-name/mp/mpv/scripts/autosub.nix diff --git a/pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix b/pkgs/by-name/mp/mpv/scripts/autosubsync-mpv.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix rename to pkgs/by-name/mp/mpv/scripts/autosubsync-mpv.nix diff --git a/pkgs/applications/video/mpv/scripts/bdanmaku.nix b/pkgs/by-name/mp/mpv/scripts/bdanmaku.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/bdanmaku.nix rename to pkgs/by-name/mp/mpv/scripts/bdanmaku.nix diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/by-name/mp/mpv/scripts/buildLua.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/buildLua.nix rename to pkgs/by-name/mp/mpv/scripts/buildLua.nix diff --git a/pkgs/applications/video/mpv/scripts/builtins.nix b/pkgs/by-name/mp/mpv/scripts/builtins.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/builtins.nix rename to pkgs/by-name/mp/mpv/scripts/builtins.nix diff --git a/pkgs/applications/video/mpv/scripts/chapterskip.nix b/pkgs/by-name/mp/mpv/scripts/chapterskip.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/chapterskip.nix rename to pkgs/by-name/mp/mpv/scripts/chapterskip.nix diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/by-name/mp/mpv/scripts/convert.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/convert.nix rename to pkgs/by-name/mp/mpv/scripts/convert.nix diff --git a/pkgs/applications/video/mpv/scripts/convert.patch b/pkgs/by-name/mp/mpv/scripts/convert.patch similarity index 100% rename from pkgs/applications/video/mpv/scripts/convert.patch rename to pkgs/by-name/mp/mpv/scripts/convert.patch diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/by-name/mp/mpv/scripts/cutter.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/cutter.nix rename to pkgs/by-name/mp/mpv/scripts/cutter.nix diff --git a/pkgs/applications/video/mpv/scripts/dynamic-crop.nix b/pkgs/by-name/mp/mpv/scripts/dynamic-crop.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/dynamic-crop.nix rename to pkgs/by-name/mp/mpv/scripts/dynamic-crop.nix diff --git a/pkgs/applications/video/mpv/scripts/easycrop.nix b/pkgs/by-name/mp/mpv/scripts/easycrop.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/easycrop.nix rename to pkgs/by-name/mp/mpv/scripts/easycrop.nix diff --git a/pkgs/applications/video/mpv/scripts/eisa01.nix b/pkgs/by-name/mp/mpv/scripts/eisa01.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/eisa01.nix rename to pkgs/by-name/mp/mpv/scripts/eisa01.nix diff --git a/pkgs/applications/video/mpv/scripts/evafast.nix b/pkgs/by-name/mp/mpv/scripts/evafast.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/evafast.nix rename to pkgs/by-name/mp/mpv/scripts/evafast.nix diff --git a/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix b/pkgs/by-name/mp/mpv/scripts/inhibit-gnome.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/inhibit-gnome.nix rename to pkgs/by-name/mp/mpv/scripts/inhibit-gnome.nix diff --git a/pkgs/applications/video/mpv/scripts/manga-reader.nix b/pkgs/by-name/mp/mpv/scripts/manga-reader.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/manga-reader.nix rename to pkgs/by-name/mp/mpv/scripts/manga-reader.nix diff --git a/pkgs/applications/video/mpv/scripts/memo.nix b/pkgs/by-name/mp/mpv/scripts/memo.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/memo.nix rename to pkgs/by-name/mp/mpv/scripts/memo.nix diff --git a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix b/pkgs/by-name/mp/mpv/scripts/modernx-zydezu.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernx-zydezu.nix rename to pkgs/by-name/mp/mpv/scripts/modernx-zydezu.nix diff --git a/pkgs/applications/video/mpv/scripts/modernx.nix b/pkgs/by-name/mp/mpv/scripts/modernx.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernx.nix rename to pkgs/by-name/mp/mpv/scripts/modernx.nix diff --git a/pkgs/applications/video/mpv/scripts/modernz.nix b/pkgs/by-name/mp/mpv/scripts/modernz.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernz.nix rename to pkgs/by-name/mp/mpv/scripts/modernz.nix diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/by-name/mp/mpv/scripts/mpris.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpris.nix rename to pkgs/by-name/mp/mpv/scripts/mpris.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix b/pkgs/by-name/mp/mpv/scripts/mpv-cheatsheet.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-cheatsheet.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-discord.nix b/pkgs/by-name/mp/mpv/scripts/mpv-discord.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-discord.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-discord.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-gallery-view.nix b/pkgs/by-name/mp/mpv/scripts/mpv-gallery-view.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-gallery-view.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-gallery-view.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-image-viewer.nix b/pkgs/by-name/mp/mpv/scripts/mpv-image-viewer.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-image-viewer.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-image-viewer.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix b/pkgs/by-name/mp/mpv/scripts/mpv-notify-send.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-notify-send.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-notify-send.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix b/pkgs/by-name/mp/mpv/scripts/mpv-osc-modern.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-osc-modern.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix b/pkgs/by-name/mp/mpv/scripts/mpv-osc-tethys.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-osc-tethys.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/pkgs/by-name/mp/mpv/scripts/mpv-playlistmanager.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-playlistmanager.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/by-name/mp/mpv/scripts/mpv-slicing.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-slicing.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-slicing.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-subtitle-lines.nix b/pkgs/by-name/mp/mpv/scripts/mpv-subtitle-lines.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-subtitle-lines.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-subtitle-lines.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/by-name/mp/mpv/scripts/mpv-webm.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-webm.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-webm.nix diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/by-name/mp/mpv/scripts/mpvacious.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpvacious.nix rename to pkgs/by-name/mp/mpv/scripts/mpvacious.nix diff --git a/pkgs/applications/video/mpv/scripts/occivink.nix b/pkgs/by-name/mp/mpv/scripts/occivink.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/occivink.nix rename to pkgs/by-name/mp/mpv/scripts/occivink.nix diff --git a/pkgs/applications/video/mpv/scripts/quack.nix b/pkgs/by-name/mp/mpv/scripts/quack.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/quack.nix rename to pkgs/by-name/mp/mpv/scripts/quack.nix diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/by-name/mp/mpv/scripts/quality-menu.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/quality-menu.nix rename to pkgs/by-name/mp/mpv/scripts/quality-menu.nix diff --git a/pkgs/applications/video/mpv/scripts/reload.nix b/pkgs/by-name/mp/mpv/scripts/reload.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/reload.nix rename to pkgs/by-name/mp/mpv/scripts/reload.nix diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/by-name/mp/mpv/scripts/simple-mpv-webui.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix rename to pkgs/by-name/mp/mpv/scripts/simple-mpv-webui.nix diff --git a/pkgs/applications/video/mpv/scripts/skipsilence.nix b/pkgs/by-name/mp/mpv/scripts/skipsilence.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/skipsilence.nix rename to pkgs/by-name/mp/mpv/scripts/skipsilence.nix diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix b/pkgs/by-name/mp/mpv/scripts/sponsorblock-minimal.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix rename to pkgs/by-name/mp/mpv/scripts/sponsorblock-minimal.nix diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/by-name/mp/mpv/scripts/sponsorblock.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/sponsorblock.nix rename to pkgs/by-name/mp/mpv/scripts/sponsorblock.nix diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/by-name/mp/mpv/scripts/thumbfast.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/thumbfast.nix rename to pkgs/by-name/mp/mpv/scripts/thumbfast.nix diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/by-name/mp/mpv/scripts/thumbnail.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/thumbnail.nix rename to pkgs/by-name/mp/mpv/scripts/thumbnail.nix diff --git a/pkgs/applications/video/mpv/scripts/twitch-chat.nix b/pkgs/by-name/mp/mpv/scripts/twitch-chat.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/twitch-chat.nix rename to pkgs/by-name/mp/mpv/scripts/twitch-chat.nix diff --git a/pkgs/applications/video/mpv/scripts/uosc.nix b/pkgs/by-name/mp/mpv/scripts/uosc.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/uosc.nix rename to pkgs/by-name/mp/mpv/scripts/uosc.nix diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/by-name/mp/mpv/scripts/videoclip.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/videoclip.nix rename to pkgs/by-name/mp/mpv/scripts/videoclip.nix diff --git a/pkgs/applications/video/mpv/scripts/visualizer.nix b/pkgs/by-name/mp/mpv/scripts/visualizer.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/visualizer.nix rename to pkgs/by-name/mp/mpv/scripts/visualizer.nix diff --git a/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/pkgs/by-name/mp/mpv/scripts/vr-reversal.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/vr-reversal.nix rename to pkgs/by-name/mp/mpv/scripts/vr-reversal.nix diff --git a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix b/pkgs/by-name/mp/mpv/scripts/webtorrent-mpv-hook.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix rename to pkgs/by-name/mp/mpv/scripts/webtorrent-mpv-hook.nix diff --git a/pkgs/applications/video/mpv/scripts/youtube-chat.nix b/pkgs/by-name/mp/mpv/scripts/youtube-chat.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/youtube-chat.nix rename to pkgs/by-name/mp/mpv/scripts/youtube-chat.nix diff --git a/pkgs/applications/video/mpv/scripts/youtube-upnext.nix b/pkgs/by-name/mp/mpv/scripts/youtube-upnext.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/youtube-upnext.nix rename to pkgs/by-name/mp/mpv/scripts/youtube-upnext.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d30a39f917b6..a0d909d5c8c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11426,14 +11426,7 @@ with pkgs; // (config.mplayer or { }) ); - mpv-unwrapped = callPackage ../applications/video/mpv { - stdenv = if stdenv.hostPlatform.isDarwin then swiftPackages.stdenv else stdenv; - }; - - # Wrap avoiding rebuild - mpv = mpv-unwrapped.wrapper { mpv = mpv-unwrapped; }; - - mpvScripts = mpv-unwrapped.scripts; + mpvScripts = callPackage ../by-name/mp/mpv/scripts.nix { }; mu-repo = python3Packages.callPackage ../applications/misc/mu-repo { }; From 95d5b2dfa310d248a1161066ad0ca85aa00a4e11 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Sun, 28 Dec 2025 22:45:53 +0100 Subject: [PATCH 10/46] svp: use correct mpv wrapper --- pkgs/by-name/sv/svp/mpv.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sv/svp/mpv.nix b/pkgs/by-name/sv/svp/mpv.nix index 8c4e7839c1ca..daf2f61b637c 100644 --- a/pkgs/by-name/sv/svp/mpv.nix +++ b/pkgs/by-name/sv/svp/mpv.nix @@ -1,11 +1,12 @@ { lib, + mpv, mpv-unwrapped, ocl-icd, }: -mpv-unwrapped.wrapper { - mpv = mpv-unwrapped.override { vapoursynthSupport = true; }; +mpv.override { + mpv-unwrapped = mpv-unwrapped.override { vapoursynthSupport = true; }; extraMakeWrapperArgs = [ # Add paths to required libraries "--prefix" From bda69480ac846aab33d04b7bee6dc970424bd22e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 00:58:23 +0000 Subject: [PATCH 11/46] python3Packages.bump-my-version: 1.2.5 -> 1.2.6 --- pkgs/development/python-modules/bump-my-version/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bump-my-version/default.nix b/pkgs/development/python-modules/bump-my-version/default.nix index e08b27a1a23c..31d3a2c878e0 100644 --- a/pkgs/development/python-modules/bump-my-version/default.nix +++ b/pkgs/development/python-modules/bump-my-version/default.nix @@ -31,14 +31,14 @@ buildPythonPackage rec { pname = "bump-my-version"; - version = "1.2.5"; + version = "1.2.6"; pyproject = true; src = fetchFromGitHub { owner = "callowayproject"; repo = "bump-my-version"; tag = version; - hash = "sha256-XSURPCU/sXbUOR+FYhrlo1G5W3o06Q+RcRa/lbEUBow="; + hash = "sha256-/YaaVWddBAQlDvHqsDfYd5Dv+2VLkFrtuTfCGih4XBo="; }; build-system = [ From 76c4c042d68caa3a9345d7e39de72b690cd3020c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 05:40:15 +0000 Subject: [PATCH 12/46] python3Packages.itables: 2.5.2 -> 2.6.2 --- pkgs/development/python-modules/itables/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/itables/default.nix b/pkgs/development/python-modules/itables/default.nix index b87be0bbb575..88914dd71cb0 100644 --- a/pkgs/development/python-modules/itables/default.nix +++ b/pkgs/development/python-modules/itables/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "itables"; - version = "2.5.2"; + version = "2.6.2"; # itables has 4 different node packages, each with their own # package-lock.json, and partially depending on each other. @@ -30,7 +30,7 @@ buildPythonPackage rec { # the source tarball from pypi, which includes the javascript bundle already. src = fetchPypi { inherit pname version; - hash = "sha256-7DS7rPv0MFVw6nWzaXDeRC+SQSbzcBwyOlpGAY3oTIo="; + hash = "sha256-P3PzBBB022Q3+9L3Loq18kyWhXB2JcCF/3FwHUPkxi8="; }; pyproject = true; From 5f298aa2c481d0ee3f3f4688f085168926606c21 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 17:39:58 +0000 Subject: [PATCH 13/46] netron: 8.7.8 -> 8.8.0 --- pkgs/by-name/ne/netron/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netron/package.nix b/pkgs/by-name/ne/netron/package.nix index ab91cb264f7c..98d22a6294e0 100644 --- a/pkgs/by-name/ne/netron/package.nix +++ b/pkgs/by-name/ne/netron/package.nix @@ -16,16 +16,16 @@ let in buildNpmPackage (finalAttrs: { pname = "netron"; - version = "8.7.8"; + version = "8.8.0"; src = fetchFromGitHub { owner = "lutzroeder"; repo = "netron"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q5Pj086Sd4YfO0+6EepZ2dwN/Ao56lAu792pB9SQqVQ="; + hash = "sha256-sArT0xYJPY48TEIZTIUXR2v6Kf1cGaZT/GpQmTQOXRo="; }; - npmDepsHash = "sha256-tbgEpg3+BXYRhlLdOqSqDW9i7wfV0cm7d3QHxAUHVUc="; + npmDepsHash = "sha256-x5ExZ4YaO9BUZ570NYJE0tS4QDc22DqW2pFYvABmPnM="; nativeBuildInputs = [ jq ]; From 3e731334e49a8376b58edef56a8e806d741418e8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 18:54:30 +0000 Subject: [PATCH 14/46] star-history: 1.0.31 -> 1.0.32 --- pkgs/by-name/st/star-history/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/star-history/package.nix b/pkgs/by-name/st/star-history/package.nix index 2a2124379c37..08171a2fe258 100644 --- a/pkgs/by-name/st/star-history/package.nix +++ b/pkgs/by-name/st/star-history/package.nix @@ -8,14 +8,14 @@ rustPlatform.buildRustPackage rec { pname = "star-history"; - version = "1.0.31"; + version = "1.0.32"; src = fetchCrate { inherit pname version; - hash = "sha256-AxaJK39QkhTTATKh+lYzS3zxAlIElJUyOaUCi2pjXhQ="; + hash = "sha256-JilIVnxSXEK525TK+mHal+37G7PYcaQogVC2ozYeLY4="; }; - cargoHash = "sha256-sXqUbG6GlesC6NtM+xwzopuyswIezr8CLzidCx6fMQk="; + cargoHash = "sha256-9qKdn3q4d4N36+jng4ZKfazcxR9iMOh1PeUNYfZz8pg="; nativeBuildInputs = [ pkg-config ]; From 085ce9e763f84d87e6c59bf7c2423b4eab97c5ea Mon Sep 17 00:00:00 2001 From: Gus <58223632+thegu5@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:30:24 -0500 Subject: [PATCH 15/46] matrix-continuwuity: 0.5.0 -> 0.5.1 --- pkgs/by-name/ma/matrix-continuwuity/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ma/matrix-continuwuity/package.nix b/pkgs/by-name/ma/matrix-continuwuity/package.nix index b22e8f393da6..6cfd44a79041 100644 --- a/pkgs/by-name/ma/matrix-continuwuity/package.nix +++ b/pkgs/by-name/ma/matrix-continuwuity/package.nix @@ -77,17 +77,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-continuwuity"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitea { domain = "forgejo.ellis.link"; owner = "continuwuation"; repo = "continuwuity"; tag = "v${finalAttrs.version}"; - hash = "sha256-k+B7OjOoVd/vcy/jKBEXAXOolnWt4RoPhJucMwYxyEk="; + hash = "sha256-g2KidOlYvJgGsiX2qq9pmJjLmzVgbJHv8VaulYIiKKo="; }; - cargoHash = "sha256-xqP2wOaGJEcn/ZF8u1Ol6j7zyr/3dLHKU6eYQfIBr7o="; + cargoHash = "sha256-nOawYriRWw6O890J6V/InKlijCO6CqwvIuOOTjorJns="; nativeBuildInputs = [ pkg-config From 5f6dfadb4cf403e6a1c2513bc847b2a8eb410ad6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 30 Dec 2025 21:56:49 +0100 Subject: [PATCH 16/46] python313Packages.busylight-for-humans: 0.45.2 -> 0.45.3 Diff: https://github.com/JnyJny/busylight/compare/v0.45.2...v0.45.3 Changelog: https://github.com/JnyJny/busylight/releases/tag/v0.45.3 --- .../python-modules/busylight-for-humans/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/busylight-for-humans/default.nix b/pkgs/development/python-modules/busylight-for-humans/default.nix index 6b9742daf472..904978dc90f8 100644 --- a/pkgs/development/python-modules/busylight-for-humans/default.nix +++ b/pkgs/development/python-modules/busylight-for-humans/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "busylight-for-humans"; - version = "0.45.2"; + version = "0.45.3"; pyproject = true; src = fetchFromGitHub { owner = "JnyJny"; repo = "busylight"; tag = "v${version}"; - hash = "sha256-G+l+jkHZzz3tX1CcC7Cq1iCFZPbeQ6CI4xCMkTWA5EE="; + hash = "sha256-EP+2jWOrXQE8sZQYclMMbpfr+FmPHIbZ35NNbfCTnUk="; }; build-system = [ hatchling ]; From c58fb597d6aa2b55068f6b52187622ffdbc12241 Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Tue, 30 Dec 2025 15:56:53 -0500 Subject: [PATCH 17/46] python3Packages.asyncmy: fix src hash sha256-HQZmt22yPYaWfJzL20+jBc855HR4dVW983Z0LrN1Xa0= -> sha256-pWAUvHWtmpPlKh6YGJqhubQzIUSB0LeVanqfziOMWIM= --- pkgs/development/python-modules/asyncmy/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/asyncmy/default.nix b/pkgs/development/python-modules/asyncmy/default.nix index 756fda8c3d67..0f7f07627ccb 100644 --- a/pkgs/development/python-modules/asyncmy/default.nix +++ b/pkgs/development/python-modules/asyncmy/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "long2ice"; repo = "asyncmy"; tag = "v${version}"; - hash = "sha256-HQZmt22yPYaWfJzL20+jBc855HR4dVW983Z0LrN1Xa0="; + hash = "sha256-pWAUvHWtmpPlKh6YGJqhubQzIUSB0LeVanqfziOMWIM="; }; nativeBuildInputs = [ From 59ecead6b4111c3747a80c164a31fbc5b6befbd9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 30 Dec 2025 21:57:55 +0100 Subject: [PATCH 18/46] python313Packages.checkdmarc: 5.13.0 -> 5.13.1 Diff: https://github.com/domainaware/checkdmarc/compare/5.13.0...5.13.1 Changelog: https://github.com/domainaware/checkdmarc/blob/5.13.1/CHANGELOG.md --- pkgs/development/python-modules/checkdmarc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/checkdmarc/default.nix b/pkgs/development/python-modules/checkdmarc/default.nix index 4b6b961f2a8a..4a9516747755 100644 --- a/pkgs/development/python-modules/checkdmarc/default.nix +++ b/pkgs/development/python-modules/checkdmarc/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "checkdmarc"; - version = "5.13.0"; + version = "5.13.1"; pyproject = true; src = fetchFromGitHub { owner = "domainaware"; repo = "checkdmarc"; tag = version; - hash = "sha256-lhAi5iSzXFMeue7UK/mRz9/+N2++LY2JFVR00K/OhNo="; + hash = "sha256-/y5fFRqnlxrPrg5WAUfTQnuyShiqnqXrAZfShQnGvgc="; }; pythonRelaxDeps = [ From e5705a82785458535315030d556cc71443d66d6f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 30 Dec 2025 22:12:55 +0100 Subject: [PATCH 19/46] python313Packages.cxxheaderparser: 1.6.0 -> 1.6.2 Changelog: https://github.com/robotpy/cxxheaderparser/releases/tag/1.6.2 --- .../cxxheaderparser/default.nix | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/cxxheaderparser/default.nix b/pkgs/development/python-modules/cxxheaderparser/default.nix index c4c39941a610..08ca4d5c238a 100644 --- a/pkgs/development/python-modules/cxxheaderparser/default.nix +++ b/pkgs/development/python-modules/cxxheaderparser/default.nix @@ -1,22 +1,23 @@ { + lib, buildPythonPackage, fetchFromGitHub, - lib, + hatch-vcs, + hatchling, pcpp, pytestCheckHook, - setuptools, }: buildPythonPackage rec { pname = "cxxheaderparser"; - version = "1.6.0"; + version = "1.6.2"; pyproject = true; src = fetchFromGitHub { owner = "robotpy"; repo = "cxxheaderparser"; - rev = version; - hash = "sha256-3nQCUb2sgF91ilREHj/fb8IoMTHjPoOFWGzkbssGqFY="; + tag = version; + hash = "sha256-AvSwt8ED+w1WlLwa8DPP9+zG8g5c8p51mvQx8ZfDMqk="; }; postPatch = '' @@ -24,15 +25,21 @@ buildPythonPackage rec { echo "__version__ = '${version}'" > cxxheaderparser/version.py ''; - build-system = [ setuptools ]; + build-system = [ + hatch-vcs + hatchling + ]; checkInputs = [ pcpp ]; + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "cxxheaderparser" ]; meta = { - description = "Modern pure python C++ header parser"; + description = "Modern pure Python C++ header parser"; homepage = "https://github.com/robotpy/cxxheaderparser"; + changelog = "https://github.com/robotpy/cxxheaderparser/releases/tag/${src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ nim65s ]; platforms = lib.platforms.unix; From fad573b09f04ea5365c7903009a8b2d7ed7bec0e Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Tue, 30 Dec 2025 17:04:30 -0500 Subject: [PATCH 20/46] python3Packages.bayespy: fix src hash sha256-X7CwJBrKHlU1jqMkt/7XEzaiwul1Yzkb/V64lXG4Aqo= -> sha256-kx87XY4GCL1PQIeZyovEbrPyCC/EVA6Hdvt+3P/D6VI= --- pkgs/development/python-modules/bayespy/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/bayespy/default.nix b/pkgs/development/python-modules/bayespy/default.nix index b827aabed55f..9046ff2bf25a 100644 --- a/pkgs/development/python-modules/bayespy/default.nix +++ b/pkgs/development/python-modules/bayespy/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "bayespy"; repo = "bayespy"; tag = version; - hash = "sha256-X7CwJBrKHlU1jqMkt/7XEzaiwul1Yzkb/V64lXG4Aqo="; + hash = "sha256-kx87XY4GCL1PQIeZyovEbrPyCC/EVA6Hdvt+3P/D6VI="; }; postPatch = '' From 49467cd1c012060ab1ed238d1e5d03446f752a72 Mon Sep 17 00:00:00 2001 From: qubitnano <146656568+qubitnano@users.noreply.github.com> Date: Tue, 30 Dec 2025 18:42:58 -0500 Subject: [PATCH 21/46] lrzsz: fix build with gcc15 --- pkgs/by-name/lr/lrzsz/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/lr/lrzsz/package.nix b/pkgs/by-name/lr/lrzsz/package.nix index fe1350ad1a5e..4b65642e2534 100644 --- a/pkgs/by-name/lr/lrzsz/package.nix +++ b/pkgs/by-name/lr/lrzsz/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--program-transform-name=s/^l//" ]; - env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"; + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types -std=gnu17"; meta = { homepage = "https://ohse.de/uwe/software/lrzsz.html"; From b917cb93ab63ff57231d397fa958d0ad6a611049 Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Tue, 30 Dec 2025 19:06:40 -0500 Subject: [PATCH 22/46] agorakit: fix composerVendor hash sha256-cg9OIBvWX69yU6U6Ag/T3jScG2OUdpTqc+KwP6VyUHo= -> sha256-3Kxuvmb3eZN3ChW59b5rITgCe4NqPHIBHau1PBmxPis= --- pkgs/by-name/ag/agorakit/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ag/agorakit/package.nix b/pkgs/by-name/ag/agorakit/package.nix index c5f8c722327d..6cb3ee05791b 100644 --- a/pkgs/by-name/ag/agorakit/package.nix +++ b/pkgs/by-name/ag/agorakit/package.nix @@ -27,7 +27,7 @@ php82.buildComposerProject2 (finalAttrs: { runHook postInstall ''; - vendorHash = "sha256-cg9OIBvWX69yU6U6Ag/T3jScG2OUdpTqc+KwP6VyUHo="; + vendorHash = "sha256-3Kxuvmb3eZN3ChW59b5rITgCe4NqPHIBHau1PBmxPis="; composerStrictValidation = false; passthru.updateScript = nix-update-script { }; From d60fb9a25e2291b329e359eb491ea291a23bbdec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 00:27:13 +0000 Subject: [PATCH 23/46] mcpp: 2.7.2.2 -> 2.7.2.3 --- pkgs/by-name/mc/mcpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mc/mcpp/package.nix b/pkgs/by-name/mc/mcpp/package.nix index 5141f375d4e7..a7f1028cd5af 100644 --- a/pkgs/by-name/mc/mcpp/package.nix +++ b/pkgs/by-name/mc/mcpp/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mcpp"; - version = "2.7.2.2"; + version = "2.7.2.3"; src = fetchFromGitHub { owner = "museoa"; repo = "mcpp"; rev = finalAttrs.version; - hash = "sha256-wz225bhBF0lFerOAhl8Rwmw8ItHd9BXQceweD9BqvEQ="; + hash = "sha256-g+dqyC9Aik9vxqmixRKzV5GCLiw2tk8mJDHJ/HyiHKw="; }; env = lib.optionalAttrs stdenv.cc.isGNU { From b356ff9c4062fefedd3713710ac7326e33345f5e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 00:31:06 +0000 Subject: [PATCH 24/46] cifs-utils: 7.4 -> 7.5 --- pkgs/by-name/ci/cifs-utils/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ci/cifs-utils/package.nix b/pkgs/by-name/ci/cifs-utils/package.nix index 27fa81073e87..f6f1434e7f7f 100644 --- a/pkgs/by-name/ci/cifs-utils/package.nix +++ b/pkgs/by-name/ci/cifs-utils/package.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "cifs-utils"; - version = "7.4"; + version = "7.5"; src = fetchurl { url = "https://download.samba.org/pub/linux-cifs/cifs-utils/${pname}-${version}.tar.bz2"; - sha256 = "sha256-UzU9BcMLT8nawAao8MUFTN2KGDTBdjE8keRpQCXEuJE="; + sha256 = "sha256-f6zoXj0tXrXnrb0YGt7mdZCX8TWxDW+zC+jgcK9+cFQ="; }; nativeBuildInputs = [ From 3c1651866b37dd04d543604ae7dcd0913268a416 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Tue, 30 Dec 2025 19:42:09 -0500 Subject: [PATCH 25/46] prismlauncher: add qtimageformats This was previously missing and caused issues with rendering some formats --- pkgs/by-name/pr/prismlauncher/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/pr/prismlauncher/package.nix b/pkgs/by-name/pr/prismlauncher/package.nix index 3cf8eab66143..d75ffdca3114 100644 --- a/pkgs/by-name/pr/prismlauncher/package.nix +++ b/pkgs/by-name/pr/prismlauncher/package.nix @@ -64,6 +64,7 @@ symlinkJoin { buildInputs = [ kdePackages.qtbase + kdePackages.qtimageformats kdePackages.qtsvg ] ++ lib.optional ( From 17096bf8057d326bb30d98ff1ec173f6d86b1a2a Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 31 Dec 2025 02:07:40 +0100 Subject: [PATCH 26/46] wpa_supplicant_gui: fix after hardening changes --- pkgs/os-specific/linux/wpa_supplicant/gui.nix | 2 +- .../wpa_supplicant/unprivileged-daemon.patch | 62 +++++++++++++++++-- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix index 57fe44ff5e12..68a8331b5bab 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -10,7 +10,7 @@ mkDerivation { pname = "wpa_gui"; - inherit (wpa_supplicant) version src; + inherit (wpa_supplicant) version src patches; buildInputs = [ qtbase ]; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch b/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch index 93dceff753cd..e7105017b7c8 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch +++ b/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch @@ -1,6 +1,6 @@ -commit 24e932357ee3041763135b931206dfc0bbe0441e +commit 4608dab78e6ac78be7ab625fb066861549daa37f Author: rnhmjoj -Date: Wed Jul 23 10:18:55 2025 +0200 +Date: Wed Dec 31 01:43:26 2025 +0100 Fixes for running wpa_supplicant unprivileged @@ -19,7 +19,7 @@ Date: Wed Jul 23 10:18:55 2025 +0200 of tmp. Motivation: this allows to unshare /tmp diff --git a/src/common/wpa_ctrl.c b/src/common/wpa_ctrl.c -index 7e197f0..6bfb091 100644 +index 7e197f094..6bfb09111 100644 --- a/src/common/wpa_ctrl.c +++ b/src/common/wpa_ctrl.c @@ -15,6 +15,8 @@ @@ -46,6 +46,8 @@ index 7e197f0..6bfb091 100644 #ifdef ANDROID /* Set group even if we do not have privileges to change owner */ lchown(ctrl->local.sun_path, -1, AID_WIFI); +diff --git a/wpa_supplicant/dbus/dbus-wpa_supplicant.conf b/wpa_supplicant/dbus/dbus-wpa_supplicant.conf +index e81b495f4..1ee5bc19a 100644 --- a/wpa_supplicant/dbus/dbus-wpa_supplicant.conf +++ b/wpa_supplicant/dbus/dbus-wpa_supplicant.conf @@ -2,9 +2,15 @@ @@ -67,7 +69,7 @@ index 7e197f0..6bfb091 100644 diff --git a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in -index d97ff39..367a7c6 100644 +index d97ff3921..367a7c670 100644 --- a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in +++ b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in @@ -1,5 +1,5 @@ @@ -78,7 +80,7 @@ index d97ff39..367a7c6 100644 +User=wpa_supplicant SystemdService=wpa_supplicant.service diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c -index af00e79..840b307 100644 +index 03180a316..f5e22dee1 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -44,10 +44,10 @@ static int wpa_cli_attached = 0; @@ -94,3 +96,53 @@ index af00e79..840b307 100644 static char *ctrl_ifname = NULL; static const char *global = NULL; static const char *pid_file = NULL; +diff --git a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +index 0c125d90f..924b43313 100644 +--- a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp ++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +@@ -137,7 +137,8 @@ WpaGui::WpaGui(QApplication *_app, QWidget *parent, const char *, + ctrl_conn = NULL; + monitor_conn = NULL; + msgNotifier = NULL; +- ctrl_iface_dir = strdup("/var/run/wpa_supplicant"); ++ ctrl_iface_dir = strdup("/run/wpa_supplicant/control"); ++ client_socket_dir = strdup("/run/wpa_supplicant/client"); + signalMeterInterval = 0; + + parse_argv(); +@@ -321,7 +322,7 @@ int WpaGui::openCtrlConnection(const char *ifname) + free(ctrl_iface); + ctrl_iface = NULL; + +- ctrl = wpa_ctrl_open(NULL); ++ ctrl = wpa_ctrl_open2(NULL, client_socket_dir); + if (ctrl) { + len = sizeof(buf) - 1; + ret = wpa_ctrl_request(ctrl, "INTERFACES", 10, buf, +@@ -385,12 +386,12 @@ int WpaGui::openCtrlConnection(const char *ifname) + } + + debug("Trying to connect to '%s'", cfile); +- ctrl_conn = wpa_ctrl_open(cfile); ++ ctrl_conn = wpa_ctrl_open2(cfile, client_socket_dir); + if (ctrl_conn == NULL) { + free(cfile); + return -1; + } +- monitor_conn = wpa_ctrl_open(cfile); ++ monitor_conn = wpa_ctrl_open2(cfile, client_socket_dir); + free(cfile); + if (monitor_conn == NULL) { + wpa_ctrl_close(ctrl_conn); +diff --git a/wpa_supplicant/wpa_gui-qt4/wpagui.h b/wpa_supplicant/wpa_gui-qt4/wpagui.h +index 898722bd9..228a39cef 100644 +--- a/wpa_supplicant/wpa_gui-qt4/wpagui.h ++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.h +@@ -131,6 +131,7 @@ private: + int pingsToStatusUpdate; + WpaMsgList msgs; + char *ctrl_iface_dir; ++ char *client_socket_dir; + struct wpa_ctrl *monitor_conn; + UserDataRequest *udr; + QAction *disconnectAction; From 8c8d3b0049228bd35fd9a0b8f643e70e29be5d9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 01:17:55 +0000 Subject: [PATCH 27/46] evtx: 0.9.0 -> 0.10.0 --- pkgs/by-name/ev/evtx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ev/evtx/package.nix b/pkgs/by-name/ev/evtx/package.nix index bf6e6ec9f987..321386f96930 100644 --- a/pkgs/by-name/ev/evtx/package.nix +++ b/pkgs/by-name/ev/evtx/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "evtx"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "omerbenamram"; repo = "evtx"; tag = "v${version}"; - hash = "sha256-fgOuhNE77zVjL16oiUifnKZ+X4CQnZuD8tY+h0JTOYU="; + hash = "sha256-v57lo1ggElGJD618ojuADspmhlZAMgmzD5DxEdtp2Ak="; }; - cargoHash = "sha256-E9BoqpnKhVNwOiEvZROF3xj9Ge8r2CNaBiwHdkdV5aw="; + cargoHash = "sha256-qjlN10YS79S0JV2MPFB9SxPDUQnoVdqVf8kYpLt4w9g="; postPatch = '' # CLI tests will fail in the sandbox From 1b4e7823b37559ba8448f04c61894219e45ad516 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 02:03:10 +0000 Subject: [PATCH 28/46] python3Packages.tencentcloud-sdk-python: 3.1.22 -> 3.1.23 --- .../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 8eab37f2a674..e214dcfadc69 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.22"; + version = "3.1.23"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-+hrBKYO1y0gCJw9odWbUNA7t4DXuSj4Lwr189vO82fM="; + hash = "sha256-TAhWPyUZu8PKO5tirjQ00djspW177jX1TrqTvS+7YIA="; }; build-system = [ setuptools ]; From c6276bde9eb4366ddbdab298478b1516b06ca008 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 02:40:06 +0000 Subject: [PATCH 29/46] serie: 0.5.6 -> 0.5.7 --- pkgs/by-name/se/serie/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/serie/package.nix b/pkgs/by-name/se/serie/package.nix index 58419f8d8ff0..a46da3cc41e7 100644 --- a/pkgs/by-name/se/serie/package.nix +++ b/pkgs/by-name/se/serie/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "serie"; - version = "0.5.6"; + version = "0.5.7"; src = fetchFromGitHub { owner = "lusingander"; repo = "serie"; rev = "v${version}"; - hash = "sha256-i9muqWkvJOBuUmOJ2ib8S6WOKUwqmiciZFc+rv0GBpI="; + hash = "sha256-JWpqF19rZIw4GyKAzoGYsuCEDJOLDRiHRFJBsguISZ0="; }; - cargoHash = "sha256-8ZTk6Kixiv4MCpvAdYfwiJzJIMqX5MVu9pNaPjMahUs="; + cargoHash = "sha256-0pJDz6R/3EJl7K+cuy9ftngvOig/DO52cyUgkdnWa10="; nativeCheckInputs = [ gitMinimal ]; From 72d701131bb027454ffe933963df0e5caab76b64 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 03:35:59 +0000 Subject: [PATCH 30/46] icestudio: 0.12-unstable-2025-12-06 -> 0.12-unstable-2025-12-27 --- pkgs/by-name/ic/icestudio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ic/icestudio/package.nix b/pkgs/by-name/ic/icestudio/package.nix index 7f0c08d971a9..5394a078f55b 100644 --- a/pkgs/by-name/ic/icestudio/package.nix +++ b/pkgs/by-name/ic/icestudio/package.nix @@ -13,13 +13,13 @@ let # Use unstable because it has improvements for finding python - version = "0.12-unstable-2025-12-06"; + version = "0.12-unstable-2025-12-27"; src = fetchFromGitHub { owner = "FPGAwars"; repo = "icestudio"; - rev = "dcabb1fa0003763a00f81c7a566672bcfc095cc6"; - hash = "sha256-SBsQTQiZICgmVW0YaptNHzClqed4kIE66F737IntGag="; + rev = "fbc1e0378be4911289e3ba32db4b303e40acf954"; + hash = "sha256-ddMo+XdDbikWO3m+VsaYgQC8dtR7j4FjiDtDisptN78="; }; collection = fetchurl { From bca53603655a549d4a3f4bf84f35851a8cfc881a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 04:06:42 +0000 Subject: [PATCH 31/46] libretro.mame2003-plus: 0-unstable-2025-12-18 -> 0-unstable-2025-12-30 --- .../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 34fc2a9407d0..f76067422cda 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-18"; + version = "0-unstable-2025-12-30"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-plus-libretro"; - rev = "bcf5a632307ecad1a3e6b2c0377a3c8f22b461c7"; - hash = "sha256-+l5Zgn69qEnYm5m9SEQQbqqq4wNN6eRWA4M4RNuye3U="; + rev = "f6c6d9d3e436e355430f70cd4c85349259abcddb"; + hash = "sha256-skAK95mdoQc4mr5E4KXmQdhr1NMppch20Aa1yZuJGis="; }; makefile = "Makefile"; From 53cc814f274f449224b94537f8ac97db7436e822 Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Tue, 30 Dec 2025 21:36:46 -0800 Subject: [PATCH 32/46] ncps: prevent hang if checkPhase failed --- pkgs/by-name/nc/ncps/package.nix | 161 ++++++++++++++++++------------- 1 file changed, 95 insertions(+), 66 deletions(-) diff --git a/pkgs/by-name/nc/ncps/package.nix b/pkgs/by-name/nc/ncps/package.nix index 32f0c134cfb0..bcb76f454105 100644 --- a/pkgs/by-name/nc/ncps/package.nix +++ b/pkgs/by-name/nc/ncps/package.nix @@ -10,6 +10,94 @@ }: let + + # Start MinIO before running tests to enable S3 integration tests + minioPreCheck = '' + echo "🚀 Starting MinIO for S3 integration tests..." + + # Create temporary directories for MinIO data and config + export MINIO_DATA_DIR=$(mktemp -d) + export HOME=$(mktemp -d) + + # Configure MinIO credentials (must be set before starting MinIO) + export MINIO_ROOT_USER=admin + export MINIO_ROOT_PASSWORD=password + export MINIO_REGION=us-east-1 + + # Generate random free ports using python + # We bind to port 0, get the assigned port, and close the socket immediately. + # In a Nix sandbox, the race condition risk (port being stolen between check and use) is negligible. + export MINIO_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') + export CONSOLE_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') + + # Export S3 test environment variables + export NCPS_TEST_S3_BUCKET="test-bucket" + export NCPS_TEST_S3_ENDPOINT="http://127.0.0.1:$MINIO_PORT" + export NCPS_TEST_S3_REGION="us-east-1" + export NCPS_TEST_S3_ACCESS_KEY_ID="test-access-key" + export NCPS_TEST_S3_SECRET_ACCESS_KEY="test-secret-key" + + # Start MinIO server in background + minio server "$MINIO_DATA_DIR" \ + --address "127.0.0.1:$MINIO_PORT" \ + --console-address "127.0.0.1:$CONSOLE_PORT" & + export MINIO_PID=$! + + # Wait for MinIO to be ready + echo "⏳ Waiting for MinIO to be ready..." + for i in {1..30}; do + if curl -sf "$NCPS_TEST_S3_ENDPOINT/minio/health/live"; then + echo "✅ MinIO is ready" + break + fi + if [ $i -eq 30 ]; then + echo "❌ MinIO failed to start" + kill $MINIO_PID 2>/dev/null || true + exit 1 + fi + sleep 1 + done + + # Setup admin alias + mc alias set local "$NCPS_TEST_S3_ENDPOINT" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" + + # Create test bucket + mc mb "local/$NCPS_TEST_S3_BUCKET" || true + + # Create service account for tests + mc admin user svcacct add \ + --access-key "$NCPS_TEST_S3_ACCESS_KEY_ID" \ + --secret-key "$NCPS_TEST_S3_SECRET_ACCESS_KEY" \ + local admin || true + + echo "✅ MinIO configured for S3 integration tests" + ''; + + # Stop MinIO after tests complete + minioPostCheck = '' + echo "🛑 Stopping MinIO..." + if [ -n "$MINIO_PID" ]; then + kill $MINIO_PID 2>/dev/null || true + # Wait for MinIO to fully shut down + for i in {1..30}; do + if ! kill -0 $MINIO_PID 2>/dev/null; then + break + fi + sleep 0.5 + done + + # If it's still alive, force kill it + if kill -0 $MINIO_PID 2>/dev/null; then + echo "MinIO did not shut down gracefully, force killing..." + kill -9 $MINIO_PID 2>/dev/null || true + sleep 1 # Give a moment for the OS to clean up after SIGKILL + fi + fi + sleep 1 + rm -rf "$MINIO_DATA_DIR" 2>/dev/null || true + echo "✅ MinIO stopped and cleaned up" + ''; + finalAttrs = { pname = "ncps"; version = "0.5.1"; @@ -38,74 +126,15 @@ let python3 # used for generating the ports ]; - # Start MinIO before running tests to enable S3 integration tests + # pre and post checks preCheck = '' - echo "🚀 Starting MinIO for S3 integration tests..." + # Set up cleanup trap to ensure background processes are killed even if tests fail + cleanup() { + ${minioPostCheck} + } + trap cleanup EXIT - # Create temporary directories for MinIO data and config - export MINIO_DATA_DIR=$(mktemp -d) - export HOME=$(mktemp -d) - - # Configure MinIO credentials (must be set before starting MinIO) - export MINIO_ROOT_USER=admin - export MINIO_ROOT_PASSWORD=password - export MINIO_REGION=us-east-1 - - # Generate random free ports using python - # We bind to port 0, get the assigned port, and close the socket immediately. - # In a Nix sandbox, the race condition risk (port being stolen between check and use) is negligible. - export MINIO_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') - export CONSOLE_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') - - # Export S3 test environment variables - export NCPS_TEST_S3_BUCKET="test-bucket" - export NCPS_TEST_S3_ENDPOINT="http://127.0.0.1:$MINIO_PORT" - export NCPS_TEST_S3_REGION="us-east-1" - export NCPS_TEST_S3_ACCESS_KEY_ID="test-access-key" - export NCPS_TEST_S3_SECRET_ACCESS_KEY="test-secret-key" - - # Start MinIO server in background - minio server "$MINIO_DATA_DIR" \ - --address "127.0.0.1:$MINIO_PORT" \ - --console-address "127.0.0.1:$CONSOLE_PORT" & - export MINIO_PID=$! - - # Wait for MinIO to be ready - echo "⏳ Waiting for MinIO to be ready..." - for i in {1..30}; do - if curl -sf "$NCPS_TEST_S3_ENDPOINT/minio/health/live"; then - echo "✅ MinIO is ready" - break - fi - if [ $i -eq 30 ]; then - echo "❌ MinIO failed to start" - kill $MINIO_PID 2>/dev/null || true - exit 1 - fi - sleep 1 - done - - # Setup admin alias - mc alias set local "$NCPS_TEST_S3_ENDPOINT" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" - - # Create test bucket - mc mb "local/$NCPS_TEST_S3_BUCKET" || true - - # Create service account for tests - mc admin user svcacct add \ - --access-key "$NCPS_TEST_S3_ACCESS_KEY_ID" \ - --secret-key "$NCPS_TEST_S3_SECRET_ACCESS_KEY" \ - local admin || true - - echo "✅ MinIO configured for S3 integration tests" - ''; - - # Stop MinIO after tests complete - postCheck = '' - echo "🛑 Stopping MinIO..." - kill $MINIO_PID 2>/dev/null || true - rm -rf "$MINIO_DATA_DIR" - echo "✅ MinIO stopped and cleaned up" + ${minioPreCheck} ''; postInstall = '' From 2173e50ba6fb0411e44eebee076c93d9c0408462 Mon Sep 17 00:00:00 2001 From: chordtoll Date: Tue, 30 Dec 2025 21:18:26 -0800 Subject: [PATCH 33/46] ocamlPackages.pyml: fix hash mismatch error --- pkgs/development/ocaml-modules/pyml/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix index 8f5553ffa59e..4067588ab713 100644 --- a/pkgs/development/ocaml-modules/pyml/default.nix +++ b/pkgs/development/ocaml-modules/pyml/default.nix @@ -15,7 +15,7 @@ buildDunePackage rec { owner = "ocamllibs"; repo = "pyml"; tag = version; - hash = "sha256-WPtmj9EEs7P72OXWJg1syIrbLuh7u4V4W4nyozXmSa0="; + hash = "sha256-0Yy5T/S3Npwt0XJmEsdXGg5AXYi9vV9UG9nMSzz/CEc="; }; buildInputs = [ From 7d506f43c4d4427232d5d9fe27126fc031fb0640 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 06:08:29 +0000 Subject: [PATCH 34/46] xremap: 0.14.7 -> 0.14.8 --- pkgs/by-name/xr/xremap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/xr/xremap/package.nix b/pkgs/by-name/xr/xremap/package.nix index ae4a9918a1f5..9a61af5eee0b 100644 --- a/pkgs/by-name/xr/xremap/package.nix +++ b/pkgs/by-name/xr/xremap/package.nix @@ -43,13 +43,13 @@ assert ( ); rustPlatform.buildRustPackage (finalAttrs: { pname = "xremap${variant.suffix or ""}"; - version = "0.14.7"; + version = "0.14.8"; src = fetchFromGitHub { owner = "xremap"; repo = "xremap"; tag = "v${finalAttrs.version}"; - hash = "sha256-nnq9UlIhrcG7cLuOE0UV8Qnl9coXCSIcJX2SC4TSmfE="; + hash = "sha256-FPZ4iQA/vVZGzbO8i8lTK8i9A3zs9BLqMvTMeAVv9rQ="; }; nativeBuildInputs = [ pkg-config ]; @@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildNoDefaultFeatures = true; buildFeatures = variant.features; - cargoHash = "sha256-3uXhzIivcn5VSh9DEZtUoA7PRg1xC0OKtc7q1DWX+18="; + cargoHash = "sha256-FMd3z+49qvheFrlL81+diVJVKDjVy4am85IHR1IgA1U="; passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants; From 335f983ba77ffff4db0755e60a655d0f5a6ab3e1 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 31 Dec 2025 08:08:34 +0000 Subject: [PATCH 35/46] =?UTF-8?q?temporal:=201.29.1=20=E2=86=92=201.29.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: CVE-2025-14987 CVE-2025-14986 Changes: https://github.com/temporalio/temporal/compare/v1.29.1...v1.29.2 --- pkgs/by-name/te/temporal/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/temporal/package.nix b/pkgs/by-name/te/temporal/package.nix index 85ca39845bb7..f2cc1a5cc3ec 100644 --- a/pkgs/by-name/te/temporal/package.nix +++ b/pkgs/by-name/te/temporal/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "temporal"; - version = "1.29.1"; + version = "1.29.2"; src = fetchFromGitHub { owner = "temporalio"; repo = "temporal"; rev = "v${version}"; - hash = "sha256-rUm1zHxM0KYPgKpK7w0XLU7aF3H6sECgSe/UtbNdgJM="; + hash = "sha256-WiiezZ/2FgRte4BStIGHQhb5bHtfldi3TaIRG0xFtW0="; }; vendorHash = "sha256-HW2j8swbaWwU1i3udqlT8VyFreML6ZH14zWxF8L5NTQ="; From 6f40da31ae2747c4c41c80a90bc47e6a1c0ab075 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 22 Dec 2025 17:32:35 +0000 Subject: [PATCH 36/46] cntr: 1.6.1 -> 2.0.0 --- nixos/tests/cntr.nix | 36 +++++++++++++++++--------------- pkgs/by-name/cn/cntr/package.nix | 6 +++--- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix index 87abf97ed776..f4e2d41f6c43 100644 --- a/nixos/tests/cntr.nix +++ b/nixos/tests/cntr.nix @@ -31,15 +31,14 @@ let start_all() ${backend}.wait_for_unit("${backend}-nginx.service") ${backend}.wait_for_open_port(8181) - # For some reason, the cntr command hangs when run without the &. - # As such, we have to do some messy things to ensure we check the exitcode and output in a race-condition-safe manner - ${backend}.execute( - "(cntr attach -t ${backend} nginx sh -- -c 'curl localhost | grep Hello' > /tmp/result; echo $? > /tmp/exitcode; touch /tmp/done) &" - ) - - ${backend}.wait_for_file("/tmp/done") - assert "0" == ${backend}.succeed("cat /tmp/exitcode").strip(), "non-zero exit code" - assert "Hello" in ${backend}.succeed("cat /tmp/result"), "no greeting in output" + # Test attach: uses host tools in container's network namespace + # Curl localhost to verify we're in the container's network + result = ${backend}.succeed("cntr attach -t ${backend} nginx curl -s localhost") + assert "Hello" in result, f"no greeting in output: {result}" + # Test exec: runs in container's native filesystem + # Use nginx's own binary to verify exec works + result = ${backend}.succeed("cntr exec -t ${backend} nginx -- nginx -v") + assert "nginx" in result, f"expected nginx version: {result}" ''; }; @@ -60,20 +59,23 @@ let privateNetwork = true; hostAddress = "172.16.0.1"; localAddress = "172.16.0.2"; - config = { }; + config = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.iputils ]; + }; }; }; testScript = '' machine.start() machine.wait_for_unit("container@test.service") - # I haven't observed the same hanging behaviour in this version as in the OCI version which necessetates this messy invocation, but it's probably better to be safe than sorry and use it here as well - machine.execute( - "(cntr attach test sh -- -c 'ping -c5 172.16.0.1'; echo $? > /tmp/exitcode; touch /tmp/done) &" - ) - - machine.wait_for_file("/tmp/done") - assert "0" == machine.succeed("cat /tmp/exitcode").strip(), "non-zero exit code" + # Test attach: container fs is mounted at /var/lib/cntr/ + # Writing to /var/lib/cntr/tmp/foo creates /tmp/foo in the container + machine.succeed("cntr attach test touch /var/lib/cntr/tmp/cntr-attach-test") + # Verify both that exec works and that the file from attach exists in container's /tmp + machine.succeed("cntr exec test -- test -f /tmp/cntr-attach-test") + machine.succeed("cntr exec test -- /run/current-system/sw/bin/ping -c1 172.16.0.1") ''; }; in diff --git a/pkgs/by-name/cn/cntr/package.nix b/pkgs/by-name/cn/cntr/package.nix index a42527120587..041b0dd2098b 100644 --- a/pkgs/by-name/cn/cntr/package.nix +++ b/pkgs/by-name/cn/cntr/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "cntr"; - version = "1.6.1"; + version = "2.0.0"; src = fetchFromGitHub { owner = "Mic92"; repo = "cntr"; rev = version; - sha256 = "sha256-2tqPxbi8sKoEPq0/zQFsOrStEmQGlU8s81ohTfKeOmE="; + sha256 = "sha256-4HBOUx9086nn3hRBLA4zuH0Dq+qDZHgo3DivmiEMh3w="; }; - cargoHash = "sha256-gWQ8seCuUSHuZUoNH9pnBTlzF9S0tHVLStnAiymLLbs="; + cargoHash = "sha256-FBlKxQcQRkz5dYInot2WtZfUSAaX+7qlin+cLf3h8f4="; passthru.tests = nixosTests.cntr; From b9421b72b076a20bddcd4cf6259c41b7465aa78e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 31 Dec 2025 10:03:53 +0100 Subject: [PATCH 37/46] python313Packages.iamdata: 0.1.202512301 -> 0.1.202512311 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202512301...v0.1.202512311 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202512311 --- 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 e79db32270e4..150b42736e9d 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.202512301"; + version = "0.1.202512311"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${version}"; - hash = "sha256-IafnDDsOVzsQsBJb5QhUuwfbVixnoBWGHTAmETslefQ="; + hash = "sha256-T5cgAVV5X67aT8i7pumXl30I4Eb0flp6g+UvVtAbkUY="; }; __darwinAllowLocalNetworking = true; From dc878b3ffb516511386901b0ca465c9ef3a8eb72 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 31 Dec 2025 10:43:03 +0100 Subject: [PATCH 38/46] solana-cli: fix eval on Darwin --- pkgs/by-name/so/solana-cli/package.nix | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/so/solana-cli/package.nix b/pkgs/by-name/so/solana-cli/package.nix index d7dbfcb0c77e..654a6c95b2e5 100644 --- a/pkgs/by-name/so/solana-cli/package.nix +++ b/pkgs/by-name/so/solana-cli/package.nix @@ -59,6 +59,18 @@ rustPlatform.buildRustPackage rec { env = { RUSTFLAGS = "-Amismatched_lifetime_syntaxes -Adead_code -Aunused_parens"; LIBCLANG_PATH = "${libclang.lib}/lib"; + + # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would + # try to build RocksDB from source. + ROCKSDB_LIB_DIR = "${rocksdb}/lib"; + + # Require this on darwin otherwise the compiler starts rambling about missing + # cmath functions + CPPFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1"; + LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-L${lib.getLib stdenv.cc.libcxx}/lib"; + + # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. + OPENSSL_NO_VENDOR = 1; }; # Even tho the tests work, a shit ton of them try to connect to a local RPC @@ -99,20 +111,6 @@ rustPlatform.buildRustPackage rec { find . -name libsolana_program.rlib -exec cp {} $out/bin/deps \; ''; - env = { - # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would - # try to build RocksDB from source. - ROCKSDB_LIB_DIR = "${rocksdb}/lib"; - - # Require this on darwin otherwise the compiler starts rambling about missing - # cmath functions - CPPFLAGS = lib.optionals stdenv.hostPlatform.isDarwin "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1"; - LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin "-L${lib.getLib stdenv.cc.libcxx}/lib"; - - # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. - OPENSSL_NO_VENDOR = 1; - }; - meta = { description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces"; homepage = "https://solana.com"; From 231357acc7f1193f1794db07b3b48fde329ae4bf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 31 Dec 2025 10:55:48 +0100 Subject: [PATCH 39/46] python312Packages.mypy-boto3-connect: 1.42.18 -> 1.42.19 --- 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 24ec1069e042..69f32ade78e9 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -338,8 +338,8 @@ in "sha256-zMNP1LXKSynkfJSLn19sz5UoT8LiswD5qSZCn1y5GsA="; mypy-boto3-connect = - buildMypyBoto3Package "connect" "1.42.18" - "sha256-/BfqYdUJygoVgTkDK20q72ihFPNmvrqIymzjj+48pns="; + buildMypyBoto3Package "connect" "1.42.19" + "sha256-PDva4umoq8e5JTRSaLs+VPr5fJFUdhy+QQKajM9G4MA="; mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.42.3" From 3fff33777a9aa613e586b2f1b4b5a35ecb88c7b1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 31 Dec 2025 10:56:45 +0100 Subject: [PATCH 40/46] python312Packages.mypy-boto3-kafkaconnect: 1.42.12 -> 1.42.19 --- 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 69f32ade78e9..0510d26cf9bc 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.12" - "sha256-CdqSbNGUfeYz76BipvPsF+8j7hFOHJSSgXgcr2BEDUY="; + buildMypyBoto3Package "kafkaconnect" "1.42.19" + "sha256-82y1eElG60knpJhQYQiVa+qv2xi1z+CHjHE8IfGSpkE="; mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.42.3" From 75a34d057c8ac4eede4ed2e537b9b479985729a6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 31 Dec 2025 10:58:33 +0100 Subject: [PATCH 41/46] python313Packages.botocore-stubs: 1.42.18 -> 1.42.19 --- 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 35997f98974e..c3aec271cc92 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.18"; + version = "1.42.19"; pyproject = true; src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-FfL3cVoh1ELB763GCHbSl3Diu4RBxhw7hquQEi+/1LU="; + hash = "sha256-L8rica8qJM1GFmJGWJsix2tJujBlazsMUEuSpJ/aHKI="; }; nativeBuildInputs = [ setuptools ]; From 2ac6f70cdf29b39532ab7fa58c16b6d133d448cc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 31 Dec 2025 10:58:46 +0100 Subject: [PATCH 42/46] python313Packages.boto3-stubs: 1.42.18 -> 1.42.19 --- 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 25ff99755a88..8ac137b6acef 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.18"; + version = "1.42.19"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-iFJwsP9w9LDUS7zDp5m4AlUhQbJVErb5arnZUwWsf6M="; + hash = "sha256-nCLpxZHcOdfxLncUjn5SJo0R9F7DVs3EIEukEuXJAqE="; }; build-system = [ setuptools ]; From 1e8425f9905222ee2f7c876c4c98f1ba1ec7198d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 10:19:21 +0000 Subject: [PATCH 43/46] incus-ui-canonical: 0.18.4 -> 0.19.0 --- pkgs/by-name/in/incus-ui-canonical/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix index 80d225041472..45d18b3dff1d 100644 --- a/pkgs/by-name/in/incus-ui-canonical/package.nix +++ b/pkgs/by-name/in/incus-ui-canonical/package.nix @@ -20,19 +20,19 @@ let in stdenv.mkDerivation rec { pname = "incus-ui-canonical"; - version = "0.18.4"; + version = "0.19.0"; src = fetchFromGitHub { owner = "zabbly"; repo = "incus-ui-canonical"; # only use tags prefixed by incus- they are the tested fork versions tag = "incus-${version}"; - hash = "sha256-IzXmW5MZZgHXnTGs85TQYvLETsamBxuBAgBUST4Q5m0="; + hash = "sha256-d9L/6GtSBqa/H+KgK0iheNvS2BFazNWKGA94Lv99kr8="; }; offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-eiK6dyvRbttxC7rESgpYRsYkkrzLZq4RWOiUf7fsAk8="; + hash = "sha256-08G3jYj7N9h6aBnqwGQQtpYOP/wP/k2VRY7dgmpxXZw="; }; patchPhase = '' From 6b77894026bee757695159982a53ad608058395f Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 31 Dec 2025 12:20:03 +0200 Subject: [PATCH 44/46] python3Packages.itables: use optional-dependencies upstream dropped its unconditional dependencies on ipython, numpy and pandas. See https://github.com/mwouts/itables/issues/457 --- .../python-modules/itables/default.nix | 54 ++++++++++++++++--- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/itables/default.nix b/pkgs/development/python-modules/itables/default.nix index 88914dd71cb0..c13f8bf76de9 100644 --- a/pkgs/development/python-modules/itables/default.nix +++ b/pkgs/development/python-modules/itables/default.nix @@ -14,10 +14,19 @@ # nativeBuildInputs nodejs, - # dependencies + # optional-dependencies ipython, numpy, pandas, + polars, + narwhals, + matplotlib, + anywidget, + traitlets, + streamlit, + marimo, + pyarrow, + typing-extensions, }: buildPythonPackage rec { @@ -47,11 +56,44 @@ buildPythonPackage rec { nodejs ]; - dependencies = [ - ipython - numpy - pandas - ]; + # shiny and modin omitted due to missing deps + optional-dependencies = { + all = [ + pandas + polars + narwhals + matplotlib + ipython + anywidget + traitlets + dash + streamlit + marimo + pyarrow + ]; + pandas = [ pandas ]; + polars = [ polars ]; + narwhals = [ narwhals ]; + style = [ + pandas + matplotlib + ]; + notebook = [ ipython ]; + widget = [ + anywidget + traitlets + ]; + dash = [ + dash + typing-extensions + ]; + streamlit = [ streamlit ]; + marimo = [ marimo ]; + other_dataframes = [ + narwhals + pyarrow + ]; + }; # no tests in pypi tarball doCheck = false; From 51a620d09ea38edb3f096f51ffb0759e55485ad7 Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Mon, 24 Nov 2025 19:40:33 +0100 Subject: [PATCH 45/46] theclicker: init at 0.2.3 --- pkgs/by-name/th/theclicker/package.nix | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 pkgs/by-name/th/theclicker/package.nix diff --git a/pkgs/by-name/th/theclicker/package.nix b/pkgs/by-name/th/theclicker/package.nix new file mode 100644 index 000000000000..a8ab42853fc2 --- /dev/null +++ b/pkgs/by-name/th/theclicker/package.nix @@ -0,0 +1,32 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "theclicker"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "konkitoman"; + repo = "autoclicker"; + tag = finalAttrs.version; + hash = "sha256-Q5Uwl2SWdat/cHRPf4GVQihn1NwlFKbkpWRFnScnvw0="; + }; + + cargoHash = "sha256-JL/X2s/SnmK88btz/MmB6t8nKqUXks07+tWXc4trfLM="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + homepage = "https://github.com/konkitoman/autoclicker"; + description = "A simple autoclicker cli that works on (x11/wayland)"; + maintainers = [ lib.maintainers.SchweGELBin ]; + mainProgram = "theclicker"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +}) From 23c39a65ac99d58451ea8b157607dc464cd18bdf Mon Sep 17 00:00:00 2001 From: Ingolf Wagner Date: Sat, 20 Dec 2025 02:12:31 +0100 Subject: [PATCH 46/46] nixos/tests/vaultwarden: enable TLS It seems the new version of bitwarden-cli does not allow non-tls servers anymore. ``` subtest: log in with the cli client: must succeed: bw --nointeraction --raw login meow@example.com also_super_secret_ZJWpBKZi668QGt client # Unable to fetch ServerConfig from http://server:8080/api InsecureUrlNotAllowedError: Insecure URL not allowed. All URLs must use HTTPS. ``` --- nixos/tests/vaultwarden.nix | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/nixos/tests/vaultwarden.nix b/nixos/tests/vaultwarden.nix index 0c56a47ef41d..18115d8a2259 100644 --- a/nixos/tests/vaultwarden.nix +++ b/nixos/tests/vaultwarden.nix @@ -8,6 +8,7 @@ # The same tests should work without modification on the official bitwarden server, if we ever package that. let + certs = import ./common/acme/server/snakeoil-certs.nix; makeVaultwardenTest = name: { @@ -53,7 +54,7 @@ let driver = Firefox(options=options) driver.implicitly_wait(20) - driver.get('http://localhost:8080/#/signup') + driver.get('https://localhost/#/signup') wait = WebDriverWait(driver, 10) @@ -149,6 +150,7 @@ let .${backend} { + networking.hosts."::1" = [ certs.domain ]; services.vaultwarden = { enable = true; dbBackend = backend; @@ -157,8 +159,23 @@ let rocketPort = 8080; }; }; + services.nginx = { + enable = true; + virtualHosts."${certs.domain}" = { + sslCertificate = certs.${certs.domain}.cert; + sslCertificateKey = certs.${certs.domain}.key; + enableACME = false; + forceSSL = true; + locations."/" = { + proxyPass = "http://[::1]:8080"; + }; + }; + }; - networking.firewall.allowedTCPPorts = [ 8080 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; environment.systemPackages = [ pkgs.firefox-unwrapped @@ -170,9 +187,16 @@ let } // lib.optionalAttrs withClient { client = - { pkgs, ... }: { + nodes, + pkgs, + config, + ... + }: + { + networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ certs.domain ]; environment.systemPackages = [ pkgs.bitwarden-cli ]; + security.pki.certificateFiles = [ certs.ca.cert ]; }; }; @@ -185,10 +209,10 @@ let start_all() server.wait_for_unit("vaultwarden.service") - server.wait_for_open_port(8080) + server.wait_for_open_port(443) with subtest("configure the cli"): - client.succeed("bw --nointeraction config server http://server:8080") + client.succeed("bw --nointeraction config server https://${certs.domain}") with subtest("can't login to nonexistent account"): client.fail( @@ -225,7 +249,7 @@ builtins.mapAttrs (k: v: makeVaultwardenTest k v) { testScript = '' start_all() server.wait_for_unit("vaultwarden.service") - server.wait_for_open_port(8080) + server.wait_for_open_port(443) with subtest("Set up vaultwarden"): server.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner")