| 9 Nov 2025 |
Robbie Buxton | https://github.com/nixos-cuda/infra | 01:08:31 |
Robbie Buxton | Supported by the great as always work of @[connor (burnt/out) (UTC-8)] @[SomeoneSerge (back on matrix)] and @[Gaétan Lepage] ! | 01:09:03 |
| ghpzin (moved to @ghpzin:envs.net) changed their display name from ghpzin to ghpzin (moved to @ghpzin:envs.net). | 15:03:30 |
| All-Purpose Mat joined the room. | 20:36:16 |
All-Purpose Mat | Hey hey, I was looking into enabling cudaSupport on my system, but it looks like the nix-community cache no longer has CUDA packages. Was this moved somewhere else recently? | 20:39:00 |
Gaétan Lepage | Yes, you can use this now: https://github.com/nixos-cuda/infra?tab=readme-ov-file#binary-cache | 21:07:45 |
All-Purpose Mat | Ah sweet, thank you! | 21:13:41 |
| 10 Nov 2025 |
SomeoneSerge (back on matrix) | Hey-heeeey, I was wondering if there's room to optimize our CUDA Weekly timeslot?
Myself, I've had something come up for Tuesday EEST 5PMs, for example.
Let's try crabfit and see if there's maybe an obvious way to reschedule (if there isn't, we just keep the slot)
https://crab.fit/cuda-weekly-262159 | 10:52:30 |
SomeoneSerge (back on matrix) | Well in your PR you were putting those hooks directly into stdenv IIRC | 10:55:06 |
Gaétan Lepage | latest triton, 3.5.0, was merged!
https://github.com/NixOS/nixpkgs/pull/455822 | 16:09:52 |
connor (burnt/out) (UTC-8) | Nah, they exist outside of stdenv in arrayUtilities. Some people wanted to move them into or use them in stdenv. | 16:27:48 |
connor (burnt/out) (UTC-8) | Wrote a brief summary of the hooks issue in response here https://github.com/NixOS/nixpkgs/pull/459416#issuecomment-3512684277 | 16:28:33 |
| 11 Nov 2025 |
Daniel Fahey | Can I get a nixpkgs-review pr 460701 --extra-nixpkgs-config '{ cudaSupport = true; allowUnfree = true;}' on this https://github.com/NixOS/nixpkgs/pull/460701 from someone with the spare compute (pretty please) | 16:53:19 |
apyh | In reply to @daniel-fahey:matrix.org Can I get a nixpkgs-review pr 460701 --extra-nixpkgs-config '{ cudaSupport = true; allowUnfree = true;}' on this https://github.com/NixOS/nixpkgs/pull/460701 from someone with the spare compute (pretty please) on it | 17:00:45 |
Ari Lotter | sorry for two accounts - pc and phone.
| 17:14:20 |
Ari Lotter | error: undefined variable 'CertainLach'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/development/python-modules/vllm/default.nix:511:7:
510| maintainers = with lib.maintainers; [
511| CertainLach
| 17:14:26 |
Ari Lotter | full log:
<ixpkgs-review -- pr 460701 --extra-nixpkgs-config '{ cudaSupport = true; allowUnfree = true; }'
================================================================================
PR #460701: python3Packages.vllm: enhance CLI UX
================================================================================
Author: daniel-fahey
Branch: daniel-fahey:fix/python3Packages.vllm -> NixOS:master
State: open
Description:
----------------------------------------
Replaces the unofficial and deprecated `pynvml` library with the official `nvidia-ml-py` in vLLM (maintainers: @happysalada, @CertainLach) and Flashinfer (one of its dependencies, maintainer: @breakds).
Using `nvidia-ml-py` with its [patch for Nix](https://github.com/NixOS/nixpkgs/blob/b6a8526db03f735b89dd5ff348f53f752e7ddc8e/pkgs/development/python-modules/nvidia-ml-py/0001-locate-libnvidia-ml.so.1-on-NixOS.patch) means
1. Not needing to set `LD_LIBRARY_PATH=/run/opengl-driver/lib` before using `vllm` commands to avoid runtime errors with CUDA
2. Avoiding the `FutureWarning`
Both can be [a pain point for new users](https://github.com/NixOS/nixpkgs/issues/450190).
At the time of writing:
git ls-remote https://github.com/NixOS/nixpkgs nixos-unstable
b6a8526db03f735b89dd5ff348f53f752e7ddc8e refs/heads/nixos-unstable
Before 1:
```bash
nix-shell --pure \
--arg config '{ allowUnfree = true; cudaSupport = true; }' \
--include nixpkgs=https://github.com/NixOS/nix
... (truncated)
----------------------------------------
Files changed (2 files):
- pkgs/development/python-modules/flashinfer/default.nix
- pkgs/development/python-modules/vllm/default.nix
================================================================================
No GitHub token provided via GITHUB_TOKEN variable.
Falling back to local evaluation.
Tip: Install the `gh` command line tool and run `gh auth login` to authenticate.
$ git -c fetch.prune=false fetch --no-tags --force https://github.com/NixOS/nixpkgs 89259bacf0ad1dd05272a2023ec14d247a0b7f20:refs/nixpkgs-review/0
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 26 (delta 21), reused 13 (delta 9), pack-reused 0 (from 0)
Unpacking objects: 100% (26/26), 3.52 KiB | 45.00 KiB/s, done.
From https://github.com/NixOS/nixpkgs
+ 5738ba8af0aa...89259bacf0ad 89259bacf0ad1dd05272a2023ec14d247a0b7f20 -> refs/nixpkgs-review/0 (forced update)
$ git worktree add /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs 32456a1a360d41b50397ce29b4dd92a261b52ff9
Preparing worktree (detached HEAD 32456a1a360d)
Updating files: 100% (49740/49740), done.
HEAD is now at 32456a1a360d zeno: 2.0.17 -> 2.0.18 (#460698)
Local evaluation for computing rebuilds
$ nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f <nixpkgs> --nix-path nixpkgs=/mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs nixpkgs-overlays=/tmp/tmpwslfu0b_ -qaP --xml --out-path --show-trace --no-allow-import-from-derivation
$ git checkout 89259bacf0ad1dd05272a2023ec14d247a0b7f20
Previous HEAD position was 32456a1a360d zeno: 2.0.17 -> 2.0.18 (#460698)
HEAD is now at 89259bacf0ad Merge 66fa9f1d2aed43cdc2803f17c22eb8323df99c39 into 32456a1a360d41b50397ce29b4dd92a261b52ff9
$ nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f <nixpkgs> --nix-path nixpkgs=/mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs nixpkgs-overlays=/tmp/tmpwslfu0b_ -qaP --xml --out-path --show-trace --no-allow-import-from-derivation --meta
error:
… while querying the derivation named 'python3.12-kserve-0.16.0'
… while evaluating the attribute 'out.outPath'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/lib/customisation.nix:411:13:
410| drv.${outputName}.drvPath;
411| outPath =
| ^
412| assert condition;
… while evaluating the attribute 'out.outPath'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/lib/customisation.nix:411:13:
410| drv.${outputName}.drvPath;
411| outPath =
| ^
412| assert condition;
… while calling the 'getAttr' builtin
at <nix/derivation-internal.nix>:50:17:
49| value = commonAttrs // {
50| outPath = builtins.getAttr outputName strict;
| ^
51| drvPath = strict.drvPath;
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:37:12:
36|
37| strict = derivationStrict drvAttrs;
| ^
38|
… while evaluating derivation 'python3.12-kserve-0.16.0'
whose name attribute is located at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:544:13
… while evaluating attribute 'nativeBuildInputs' of derivation 'python3.12-kserve-0.16.0'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:593:13:
592| depsBuildBuild = elemAt (elemAt dependencies 0) 0;
593| nativeBuildInputs = elemAt (elemAt dependencies 0) 1;
| ^
594| depsBuildTarget = elemAt (elemAt dependencies 0) 2;
… while evaluating the attribute 'out.outPath'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/lib/customisation.nix:411:13:
410| drv.${outputName}.drvPath;
411| outPath =
| ^
412| assert condition;
… in the condition of the assert statement
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/lib/customisation.nix:412:15:
411| outPath =
412| assert condition;
| ^
413| drv.${outputName}.outPath;
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:836:18:
835| };
836| validity = checkMeta.assertValidity { inherit meta attrs; };
| ^
837|
… while calling 'assertValidity'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:739:5:
738| assertValidity =
739| { meta, attrs }:
| ^
740| let
… while evaluating a branch condition
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:744:5:
743| in
744| if validity ? handled then
| ^
745| validity
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:741:18:
740| let
741| validity = checkValidity attrs;
| ^
742| inherit (validity) valid;
… while calling anonymous lambda
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:498:5:
497| in
498| attrs:
| ^
499| # Check meta attribute types first, to make sure it is always called even when there are other issues
… while evaluating a branch condition
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:504:5:
503| in
504| if res != [ ] then
| ^
505| {
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:502:13:
501| let
502| res = checkMeta (attrs.meta or { });
| ^
503| in
… while calling 'checkMeta'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:471:5:
470| checkMeta =
471| meta:
| ^
472| optionals config.checkMeta (concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta));
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:472:5:
471| meta:
472| optionals config.checkMeta (concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta));
| ^
473|
… while calling 'optionals'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/lib/lists.nix:811:21:
810| */
811| optionals = cond: elems: if cond then elems else [ ];
| ^
812|
… while calling the 'concatMap' builtin
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:472:33:
471| meta:
472| optionals config.checkMeta (concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta));
| ^
473|
… while calling anonymous lambda
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:472:44:
471| meta:
472| optionals config.checkMeta (concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta));
| ^
473|
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:472:50:
471| meta:
472| optionals config.checkMeta (concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta));
| ^
473|
… while calling anonymous lambda
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:454:8:
453| in
454| k: v:
| ^
455| if metaTypes ? ${k} then
… while evaluating a branch condition
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:456:7:
455| if metaTypes ? ${k} then
456| if metaTypes'.${k} v then
| ^
457| [ ]
… from call site
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/check-meta.nix:456:10:
455| if metaTypes ? ${k} then
456| if metaTypes'.${k} v then
| ^
457| [ ]
… while calling anonymous lambda
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/meta-types.nix:84:43:
83| # listOf<any> can be optimised to just isList
84| if t == self.any then isList else v: isList v && all verify v;
| ^
85| };
… in the right operand of the AND (&&) operator
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/meta-types.nix:84:55:
83| # listOf<any> can be optimised to just isList
84| if t == self.any then isList else v: isList v && all verify v;
| ^
85| };
… while calling the 'all' builtin
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/stdenv/generic/meta-types.nix:84:58:
83| # listOf<any> can be optimised to just isList
84| if t == self.any then isList else v: isList v && all verify v;
| ^
85| };
… while calling the 'isAttrs' builtin
error: undefined variable 'CertainLach'
at /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs/pkgs/development/python-modules/vllm/default.nix:511:7:
510| maintainers = with lib.maintainers; [
511| CertainLach
| ^
512| daniel-fahey
https://github.com/NixOS/nixpkgs/pull/460701 failed to build: Failed to list packages: nix-env failed with exit code 1
$ git worktree remove -f /mnt/weka/home/ari/.cache/nixpkgs-review/pr-460701/nixpkgs
| 17:14:55 |
Ari Lotter | maybe i'm missing something here 🤔 | 17:17:39 |
Daniel Fahey | Sorry! That was a spurious commit I must have removed seconds after you tried | 19:10:55 |
Daniel Fahey | I didn't realise the maintainer handle in Nixpkgs could differ from the GitHub handle | 19:11:34 |
Daniel Fahey | So attempted to add another commit trying to "fix" CertainLach's handle (it was fine, so I git reset HEAD~1 --hard and force pushed) 🙄 | 19:13:32 |
apyh | hahah will try again | 19:15:30 |
| oak 🏳️🌈♥️ changed their profile picture. | 19:20:08 |
Ari Lotter | ran outta disk space. oops. trying again | 19:41:59 |
Daniel Fahey | It'll build 33 packages, check out the last time Gaetan ran it https://github.com/NixOS/nixpkgs/pull/457870#issuecomment-3482743734
Probably want 100s GB and maybe a lot of swap | 20:18:32 |
Daniel Fahey | * It'll build 33 packages, check out the last time Gaetan ran it https://github.com/NixOS/nixpkgs/pull/457870#issuecomment-3482743734
Probably want 100s GB RAM and maybe a lot of swap too | 20:19:26 |
Ari Lotter |  Download image.png | 20:20:03 |
Ari Lotter | I should be alright ;)
| 20:20:12 |
Daniel Fahey | Oh, forgot, the command you'll want to post to the PR as a comment, use nixpkgs-review pr 460701 --extra-nixpkgs-config '{ cudaSupport = true; allowUnfree = true;}' --post-result thanks again! | 20:24:36 |
Robbie Buxton | In reply to @arilotter:matrix.org image.png On demand too 💰💰💰 | 20:25:46 |