Prospective Work, Chronologically
Here we outline the work that may be required if we choose to not terminate Nixpkgs CUDA and the Team early. The #Index section sorts these projects into a hierarchy by category.
Upkeep
For Nixpkgs right now, the least important, the least useful, and the hardest, yet also the most easily aligned with the “shared pool” funding model, CUDA-related work is the regular upkeep:
- carrying out timely updates with the necessary debugging and patching,
- reacting to regressions detected by the CI or reported in the forge,
- fixing mass-regressions post-staging,
- adding new software.
This work converts directly into a margin for the commercial users, but does nothing to stop the ongoing harm to Nixpkgs. This work is also the hardest to be carrying out because it is heavily compute-bound. This is the reason we should not concern ourselves with Upkeep until we’ve made substantial progress with the…
Hardware
The most critical, pressing issue for the Nixpkgs CUDA Team is hardware. All of the Upkeep and Refactoring work involves frequent “mass rebuilds”, but also requires low latency due to its interactive nature. The meaning of a “mass rebuild” in case of CUDA maintenance ranges from rebuilding an order of 1000 to 2000 packages which specifically have parts of the CUDA Toolkit as a transitive dependency, to potentially rebootstrapping a big subset (tens of thousands of derivations[83]) of Nixpkgs when the generic setup hooks or the stdenv need modification. About once every 5 to 7 days[81] or once in 2 to 3 weeks[82], respectively, the staging-nixos and staging-next branches are merged into master, at which point all of these 2000 affected packages are built and tested with CUDA support for the first time in the cycle after a low-level dependency like glibc or a compiler was modified, resulting in a spawn of CUDA-specific regressions[85][84]. Addressing these regressions early depends on building staging and staging-next in advance and regularly paying a fraction of the bootstrap cost.
The Team has been maintaining a CI for Nixpkgs’ CUDA since early 2022[86][87][88] and issuing calls for sponsorship[89][90][91][92]. The post-merge CI and the manual pre-merge nixpkgs-review rounds were carried out using a combination of primarily personal and university, but sometimes also employers’ hardware. The Team has been privately trying to begin transitioning from rented to owned and co-located compute, was ready and urgently needed to start acquiring hardware since the beginning of 2025.
Establish Metrics
We possess historical data both for “CNO”1 and for CUDA CI: builders and build times, closure sizes, dependency graphs, build logs, versioning information, commit and merge times.[19][135] This data can be used to infer the statistics we allude to in this text, such as, but not limited to, “time-to-fix” and “time-to-update”, and their reference values.
“cache.nixos.org”
Refactoring: The Big Three
Once the flight of maintainers and the shortage of CPU compute have been addressed, we must resolve the long-standing issues in the packages with some of the worst time-to-fix and time-to-update statistics: cf. PyTorch: git-submodules, and “Tensorflow, JAX, and XLA” in the Index. TBD: onnxruntime section. This work ultimately amounts to adding Dependency Injection support in these projects.
Prospective Work: Index
Upkeep
Cf. Prospective Work, Chronologically: Upkeep.
Infrastructure
Hardware Goals
- Present: 172 rented cores, 1x rented RTX 4000, which allow rebuilding a single-variant (default
cudaCapabilities,x86_64-linux) CUDA jobset (2e3drv.) poststaging-nextin less than24hours.[84] - CPU cores for maintainers’ remote builders and interactive jobs, crucial for refactoring, debugging, reviews, and upkeep.
- 5-10x
x86_64cores: per-capability builds. Reduce the “time until first test results”, skip fatbin-related errors (i.e. reveal “useful” errors earlier), allow for slimmer closures and images. - Ampere cores: SBSA and Jetson builds.
- Samples of consumer-grade GPUs per architecture for observing hardware-specific regressions.
- Samples of Jetson devices per model for observing hardware-specific regressions.
- EC2 GPU instance for cloud-specific regressions.
- DGX in AWS instance for cloud-specific regressions.
- NVIDIA in Azure
Retrospective CI: Builds
Cf. proofs of the concept[93][86]
Retrospective CI: GPU Runtime Tests
Cf. proofs of the concept[94][87][95] and context[96].
Pre-Merge CI
Cf. proofs of the concept[76][77]. One way in which Nixpkgs ensures stability is by testing packages affected by pull requests prior to their merging into base branches (master, release branches). This way the committer may make an informed decision to preemptively fix a regression, delegate the decision to another expert, or deliberately break another person’s code. CUDA-dependent packages are excluded from being tested on the official infrastructure due to licensing and funding issues, and so are excluded from this workflow.
Rolling Release (Stable Channels)
Cf. proofs of the concept[78][79][80] and context[97]. Changes from master and staging do not reach nixpkgs-unstable and the release branches until the HEAD passes a set of channel-blocking tests. Due to licensing and funding issues, CUDA is excluded excluded from this workflow.
ccacheStdenv jobsets
May offer up to an order of magnitude shorter time-to-first-error at the cost of a higher false-positive rate. A binary cache for the ccacheStdenv-overlaid Nixpkgs could also greatly speed up interactive work, including the manual nixpkgs-review runs.
Hydra Maintainability & Bottlenecks
- VM Isolation
- Key Rotation
- snix-narbridge
- Side-step the Nix substitution protocol using a hierarchical snix-store
- Assess Hydra’s frequency limits for YorikSar/hydra-github-app
- Dynamic adjustment of concurrency limits: “multiple small derivations” v. “several big derivations” modes. Ack. Gaetan
- Hydra observability and the closely related Scanning of the Archives (&Outputs).
Wiring Ephemeral Builders to Hydra
Cloud Spot Instances would be needed to dynamically scale the available compute, when jobs are distributed sparsely in time. One particular scenario that matches these expectations is the testing of datacenter-grade hardware, which it may be expensive to rent and cost-inefficient to own.
Integration Testing: CUDA in SLURM
Integration Testing: CUDA in Singularity (Apptainer)
Cf. recurring regressions[98][99][100]
Integration Testing: CUDA in K3S, containerd, &c.
Integration Testing: CUDA in AWS
Integration Testing: CUDA in Azure
Integration Testing: Nixpkgs CUDA on Jetsons
Integration Testing: Nixpkgs CUDA on Non-NixOS
Refactoring
Nixpkgs CUDA in 2026 comes with a record of five years of continuously merging technical debt after a half-decade of dormant existence, ignored by most maintainers and not observed by any automated testing. In the same vein, Nixpkgs Python is, for perfectly justfiable historical reasons, designed to curtail and prevent everything that upstream Python Packaging is designed to do, and that the Python Packaging has finally began to get a grip on in the recent (post 2020) years. Nixpkgs’ stdenv, cc-wrapper, “platforms”, and “splicing” are designed to model the simplistic world of CPU-only hardware. Nixpkgs’ bias for “early binding”, the cause of the “rebuilding the world” problem, emerged in the context where the practical feasibility of “correct” linking could be well put to question. Now that we’ve seen that correctness and determinism are indeed mostly attainable, we might have to reconsider the bulk of our past decisions as we begin to investigate whether efficient correctness and determinism are possible.
Late Binding for python3XPackages
Cf. Fridh’s[104] and adisbladis’[105] works. We expect this to reduce the size and frequency of mass rebuilds by an order of magnitude, eliminate certain conflicts with upstream (venv, poetry, uv when used impurely) packaging tooling, edge cases of PYTHONPATH leakage or downstream scripts picking up the unwrapped python interpreter, sidestep most instances of conflicting major versions of python packages (numpy1-numpy2, pydantic-pydantic2, potentially protobuf, et c.) ending up in the same transitive closure. Certain ad hoc workarounds related to reliance on nix-supported/propagated-build-inputs may be finally reverted.[106]
Migrating python3XPackages to the late binding model is a complex coordination and communication problem, due to inherent difference in the interfaces.[105]
Separate checkPhases
In the same vein as the late binding challenge, it has been a long-standing issue that checkPhases be transparently separated into their own derivations for better memoization.
Torch: git-submodules
Cf. context[107]. There have been several attempts to remove fetchModules = true from Nixpkgs’ PyTorch expressions[38]. These have drowned in the amount of work that is requried not only on the Nixpkgs side, but also upstream (e.g. abuse of add_subdirectory). A similar effort[107] has been carried out by the Guix HPC community, but they may lag behind with updates or lack CUDA support. In practice, there is likely not a single organization in the world that is actually capable of bootstrapping PyTorch from clean slate (certainly not the upstream).
Litmus tests:
- Incremental download: submodules must not be lumped into a single FOD.
- Incremental build: external dependencies (including those pinned as submodules) must be built in separate derivations, with the results “injected” into a smaller PyTorch derivation through using standard CMake tools (
find_package()). - PyTorch must not depend on the exact pinned dependencies.
Tensorflow, JAX, and XLA
Tensorflow, JAX, and OpenXLA are built using Bazel. Bazel is a build tool that implements its own sandboxing, but provides only a very limited support for dependency injection[5]; Bazel enforces only a fairly lax hermiticity policy, allowing to run impure builds and fetch unpinned dependencies[4]; Bazel’s own maintainers might unofficially suggest that Google also deviates from Bazel’s best practices, further aggravating the issue; in the sum this leads to reproducibility issues downstream[35], inflates the price of a full-source bootstrap, increases maintenance costs for all distributions, including Nixpkgs.
Poor inspect-ability, prior to bzlmod, prevents the generation of stable Fixed-Output Derivations[6][7][8]. Similarly to PyTorch[107][38], lack of Dependency Injection support upstream means that we cannot build these projects’ common dependencies (in particular, OpenXLA[39][74][75]) in isolation, solving one problem at a time, but are forced to address e.g. the OpenXLA build failures at least twice, within larger and more complex derivations, spending double build and debug time. As a result, libtensorflow has not been built from source since December of 2024 (written at: Thu Mar 5 04:44:55 AM EET 2026).
Further, buildBazelPackage’s “single ${name}-deps.tar.gz FOD2” approach, also abused by fetchCargoTarball and fetchYarnDeps, is especially prone to hash invalidation. Pinning only a single hash for a large BLOB, it prevents effective caching of intermediate or partial results. While certain packages are allowed to achieve better granularity by committing a static lock file to Nixpkgs (cf. e.g. importCargoLock), this approach does not scale, nor is necessarily feasible with Bazel or bzlmod.
On the more fundamental level these issues may be related to the limited extent of support for “Dynamism”[40] in Nix. There are two main contending implementations of dynamic build graphs: “dynamic derivations”[41], which make the ATerm “drvlang” monadic, and “import from derivation” (IFD), which makes Nixlang evaluation monadic. The “inspectability issues” in Bazel perceived by Nixpkgs maintainers could be explained as a discrepancy between Bazel’s highly granular build graphs and Nixpkgs’ current status quo in keeping dependency graphs static.
Tensorflow: CMake build
In tensorflow/53647#issuecomment-1063560009, Tensorflow maintainers have indicated they might be open to merging support for alternative build systems, in particular CMake. As with PyTorch, it would be of great value to Nixpkgs and to other distributions to implement a CMake (Meson) build for Tensorflow, and to advocate for Upstream to accept it.
“Fixed-Output Derivation”
Scanning The Archives
Cf. cuda-redist-find-features and sidx for POC. While the implementation diverged from the goals very early on, the origin of cuda-redist-find-features was our assessment that cudaPackages’ setup hooks should not distinguish between “cudatoolkit run-files” and the then-novel “binary archives” in the first place. Instead, we should have our own catalogue of known “components”, which we can identify in arbitrary input archives, and which we assign to specific outputs before any Nix evaluation or builds ever take place.
Complete _cuda-cudaPackages separation
The motivation for Scanning The Archives is not just observability, but the logical conclusion of the push for “stable namesets, eradication of throws, prevention of infinite recursion”.[69][70][72][109][110][111][113][71]. This was the reason for the temporary introduction[70] and for subsequent removal[69] removal of the dependency on evalModules.
Extra
The following items have a more subtle impact on Nixpkgs CUDA and their choice may be seen as more arbitrary. We’ll decide where they belong later. For virtually all packages, Nixpkgs conducts builds in a mutable source directory inside the sandbox. When building native code with debug flags this means the binaries retain references to Nixpkgs’ CMake setup-hook accumulates Both issues could be addressed by rewriting the hook such that it would generate Evanix[20][19][18] implements a proof of concept of (non-greedy) optimization-based constrained build scheduler for Nix, also featuring a preliminary statistical analysis of Nixpkgs’ (Hydra’s) build history. Its intended use was as a short-circuit mechanism in CI workflows, complementing tools like nixpkgs-review. However, part of the motivation for focusing on iterative optimization was to also help to make the scheduling process more transparent and optionally interactive. This could be realized in the form of an interactive visualizer of the dependency graph and the build queue for Evanix. Snix is a modular and more general backwards-compatible reimplementation of the Nix model in Rust. One of the features of Snix is the flat chunk store layer separate from the “path store”. The chunk store is based content-defined chunking and facilitates automatic deduplication in a way that may have significant implications due to how Nixpkgs approaches the (early) binding of dependencies: several Nixpkgs revisions may produce multiple different outputs that only actually differ in the hashes recorded in ELF files’ |DT_RUNPATH| entries. With a CDC-based chunk store no content, other than chunks containing the hashes, needs to be physically duplicated. The hope is that tvix-store (snix-store) will offer a long-term solution for Nixpkgs’ S3 costs crisis. Snix uses the FastCDC library. The algorithm is parametric. The “optimal” chunking parameters are domain-specific. We’d like to perform an analysis of the NixOS binary cache to make a justified choice of the parameters so as to maximize the sharing of chunks between paths.Debug flags
/build/source, which show up as missing sources e.g. in GDB sessions. This could be improved by separating the unpack and patch phases where possible, so that the symbols point at the sources’ persistent locations. While a convenience feature on the surface, it is symptomatic that Nixpkgs’ architecture does not allow to easily implement this.CMake devShells
cmakeFlags as an environment variable, mixing flags that configure the toolchain and build inputs with the flags that e.g. specify the output paths. This makes the hook less useful for nix-shells, the ephemeral development shells, for several reasons. For one, cmakeFlags reference output paths that may not yet exist and are read-only outside the sandbox. Another is that with the migration[33] to __structuredAttrs and in particular bash arrays, various integrations such as nix-direnv may break.CMAKE_TOOLCHAIN_FILE separately from the output paths configuration. Coincidentally, this is also the approach taken by various contending tools, e.g. Vcpkg. Switching to toolchain file generation, Nixpkgs and Vcpkg could be consumed through a common interface, removing furthermore unnecessary friction.Data Analysis: Visualizing the Build Schedules
Data Analysis: FastCDC parameters for TVix (Snix)
References
- 1
- nix-community, Log of step 36 of build 2740403 of job nixpkgs:cuda:python3Packages.catboost.x86\_64-linux,https://hydra.nix-community.org/build/2740403/nixlog/36
- 2
- GaetanLepage, python312Packages.tensorflow: use tensorflow-bin by default,https://github.com/NixOS/nixpkgs/pull/345658
- 3
- natsukium, python3Packages.\$\{jax,jaxlib\}: use jaxlib-bin by default,https://github.com/NixOS/nixpkgs/pull/363130
- 4
- SomeoneSerge, python3Packages.jaxlib: fetchAttrs reproducibility,https://github.com/NixOS/nixpkgs/pull/323681
- 5
- SomeoneSerge, buildBazelPackage: make dependency injection possible,https://github.com/NixOS/nixpkgs/issues/289015
- 6
- SomeoneSerge, buildBazelPackage: fetchAttrs: \$\{name\}-deps.tar.gz is platform-dependent,https://github.com/NixOS/nixpkgs/issues/289016
- 7
- uri-canva, buildBazelPackage's fetch derivation is error prone,https://github.com/NixOS/nixpkgs/issues/224446
- 8
- uri-canva, python3Packages.jaxlib-build: overfetch,https://github.com/NixOS/nixpkgs/pull/221390
- 9
- SomeoneSerge, ELSM3, toiminimi (sole proprietorship),https://tmi.someonex.net
- 10
- SomeoneSerge, Curriculum Vitae,https://github.com/SomeoneSerge/cv/releases
- 11
- ConnorBaker, Nixpkgs Commit Access Nomination for SomeoneSerge,https://github.com/NixOS/nixpkgs/issues/50105#issuecomment-1850465803
- 12
- SomeoneSerge, Nixpkgs Commit: ``maintainers: add SomeoneSerge'',https://github.com/NixOS/nixpkgs/pull/151265/commits/607930d95e1b287937c884ff1132089ed9894a59
- 13
- SomeoneSerge, Nixpkgs: libstdc++ issues with CUDA,https://github.com/NixOS/nixpkgs/issues/226165
- 14
- SomeoneSerge, cudaPackages.backendStdenv.cc: gccForLibs,https://github.com/NixOS/nixpkgs/pull/275947
- 15
- Halonen, Niklas and SomeoneSerge, Nix in Helsinki: report on the first meeting,https://fi.nix.ug/meetups/first-meetup
- 16
- Dolstra, Eelco, The purely functional software deployment model, Utrecht University,2006
- 17
- Foundation, NixOS and samuela and SomeoneSerge, NixOS CUDA Team,2022,https://nixos.org/community/teams/cuda
- 18
- SomeoneSerge, Nixpkgs Analytics: Nix Builds with Time Budgets,https://github.com/NixOS/GSoC/blob/main/ideas/2024.md#nixpkgs-analytics-nixpkgs-review-with-a-time-budget
- 19
- Mohd, Sinan and SomeoneSerge, Evanix: Nix Build Scheduling as Mixed-Integer Linear Programming,https://github.com/sinanmohd/evanix
- 20
- Mohd, Sinan, Build Scheduling: Final Report,https://www.sinanmohd.com/blog/gsoc
- 21
- SomeoneSerge, Nixpkgs Issue: Composable phases,https://github.com/NixOS/nixpkgs/issues/296544
- 22
- Wikipedia, Agora,https://en.wikipedia.org/wiki/Agora
- 23
- Wiktionary, Meydan,https://en.wiktionary.org/wiki/meydan#Turkish
- 24
- SomeoneSerge, Nixpkgs PR: GPU access in the sandbox,https://github.com/NixOS/nixpkgs/pull/256230
- 25
- layus, Nix Issue: pre-build-hook receives an invalid (non-existing) drvPath when remotely building with Op::BuildDerivation,https://github.com/NixOS/nix/issues/9272
- 26
- SomeoneSerge, Build against an older libc, keep the newest in the runtime closure,https://github.com/NixOS/nixpkgs/issues/303405
- 27
- SomeoneSerge, NixOS Discourse: A comment on flake inputs and dependency injection,https://discourse.nixos.org/t/im-not-convinced-flake-inputs-should-exist/50636/29?u=sergek
- 28
- Joseph, Adam, Infuse.nix: ``deep'' override\{Attrs\},https://discourse.nixos.org/t/infuse-nix-deep-override-attrs-generalizes-pipe-and-recursiveupdate/51665?u=sergek
- 29
- Bereknyei, Thomas, Units of composition: recipes, overlays, and packages,https://fosdem.org/2024/schedule/event/fosdem-2024-3107-units-of-composition-recipes-overlays-and-packages/
- 30
- Chevalier, Jonas, 1000 instances of Nixpkgs,https://zimbatm.com/notes/1000-instances-of-nixpkgs
- 31
- SomeoneSerge, Nixpkgs PR: nixosTests.slurm: ..?,https://github.com/NixOS/nixpkgs/pull/277349
- 32
- SomeoneSerge, {mpich,openmpi}: optionally link against slurm's libpmi2,https://github.com/NixOS/nixpkgs/pull/283071
- 33
- wolfgangwalther, treewide: support structuredAttrs in setup hooks,https://github.com/NixOS/nixpkgs/pull/318614
- 34
- Tensorflow Issues: A reply to ``Switch build system'',https://github.com/tensorflow/tensorflow/issues/53647#issuecomment-1063560009
- 35
- SomeoneSerge, Nixpkgs PR: python3Packages.jaxlib: fetchAttrs reproducibility,https://github.com/NixOS/nixpkgs/pull/323681
- 36
- Or, Shahar and Ringer, Jonathan, Full Time Nix: jonringer,https://fulltimenix.com/episodes/jonathan-ringer
- 37
- Courtès, Ludovic, What’s in a package,https://hpc.guix.info/blog/2021/09/whats-in-a-package/
- 38
- ConnorBaker, Draft: python3Packages.torch: drop submodules,https://github.com/NixOS/nixpkgs/pull/239291
- 39
- SomeoneSerge, Package request: python3Packages.openxla,https://github.com/NixOS/nixpkgs/issues/224354
- 40
- jade, The postmodern build system,https://jade.fyi/blog/the-postmodern-build-system/
- 41
- Ericson, John, Tracking issue for RFC 92: Dynamic derivations,https://github.com/NixOS/nix/issues/6316
- 42
- jwakely, Reply to ``cc-wrapper: broaden useCcForLibs condition'',https://github.com/NixOS/nixpkgs/pull/341715#issuecomment-2353051852
- 43
- SomeoneSerge, cc-wrapper: do not leak cc.lib,https://github.com/NixOS/nixpkgs/pull/333575
- 44
- adisbladis, Python: Remove test \& runtime dependencies from build time closure tracking issue,https://github.com/NixOS/nixpkgs/issues/272178
- 45
- SomeoneSerge, Reply to ``Python: Remove test \& runtime dependencies'',https://github.com/NixOS/nixpkgs/issues/272178#issuecomment-2569913756
- 46
- adisbladis, pyproject.nix,https://pyproject-nix.github.io/pyproject.nix/
- 47
- ConnorBaker, cuda-redist-find-features,https://github.com/ConnorBaker/cuda-redist-find-features/
- 48
- SomeoneSerge, Proposal to use evalModules to compose CUDA manifests,https://github.com/NixOS/nixpkgs/pull/240498#issuecomment-1627530935
- 49
- SomeoneSerge, Concern over out-of-tree cudaPackages customization when switching to cuda-redist-find-features,https://github.com/NixOS/nixpkgs/pull/240498#issuecomment-1688812206
- 50
- SomeoneSerge, Concern over out-of-tree cudaPackages customization when switching to cuda-redist-find-features (pt.~2),https://github.com/NixOS/nixpkgs/pull/240498#discussion\_r1304393650
- 51
- ConnorBaker, Tracking issue: cudaPackages: support overriding manifests,https://github.com/NixOS/nixpkgs/issues/251288
- 52
- SomeoneSerge, A comment on separating the merging of manifests from cudaPackages construction,https://github.com/NixOS/nixpkgs/pull/275560#issuecomment-1866431713
- 53
- ConnorBaker, NVCC wrappers in ConnorBaker/cuda-packages,https://github.com/NixOS/nixpkgs/pull/369956#issuecomment-2603029033
- 54
- SomeoneSerge, Tracking issue: Respect CMAKE\_CUDA\_ARCHITECTURES,https://github.com/catboost/catboost/issues/2540
- 55
- natsukium, python3Packages.catboost: 1.0.5 -> 1.2.2; build with cmake,https://github.com/NixOS/nixpkgs/pull/235226/
- 56
- natsukium, Comment on catboost hard-coding clang,https://github.com/NixOS/nixpkgs/pull/235226/files#r1349825358
- 57
- RossComputerGuy, catboost: use llvm 14 for cuda,https://github.com/NixOS/nixpkgs/pull/333562
- 58
- SomeoneSerge, On support LLVM in cudaPackages,https://github.com/NixOS/nixpkgs/pull/235226#discussion\_r1242726851
- 59
- Mittman, Kevin, Tracking issue: Binary Archive v4 format and schema,https://github.com/NVIDIA/build-system-archive-import-examples/issues/9
- 60
- SomeoneSerge, Announcement: CUDA Cache for Nix Community,https://discourse.nixos.org/t/cuda-cache-for-nix-community/56038
- 61
- SomeoneSerge, Petition: CUDA EULA patchelf exception,https://github.com/NVIDIA/build-system-archive-import-examples/issues/10
- 62
- tbenst, NVIDA licenses (\#76233),https://github.com/NixOS/nixpkgs/pull/76233
- 63
- rhendic, Ofborg: build unfree packages,https://github.com/NixOS/ofborg/pull/644
- 64
- Community, Nix, CUDA Jobset in Hydra,https://hydra.nix-community.org/jobset/nixpkgs/cuda
- 65
- Community, Nix, Nix Binary Cache,https://nix-community.org/cache/
- 66
- SomeoneSerge, On OfBorg and external reports,https://discourse.nixos.org/t/infrastructure-announcement-the-future-of-ofborg-your-help-needed/56025/22
- 67
- NixOS, nixpkgsFun definition,https://github.com/NixOS/nixpkgs/blob/e01d4e97761d551e30c6707b717cbe9efa13373a/pkgs/top-level/default.nix#L124-L149
- 68
- sielicki, linuxPackages.nvidia\_x11: add efa-nv-peermem,https://github.com/NixOS/nixpkgs/pull/360375
- 69
- SomeoneSerge, \verb|tests.cuda.db| (\#406740),https://github.com/NixOS/nixpkgs/pull/406740
- 70
- SomeoneSerge and ConnorBaker, motivation to (temporarily) introduce `evalModules` in `cudaPackages` (#271217),https://github.com/NixOS/nixpkgs/issues/271217
- 71
- ConnorBaker, CUDA13 PR (\#437723), exceptionally permitted ahead of \verb|cuda.db|,
- 72
- On stable namesets (\#266475),https://github.com/NixOS/nixpkgs/issues/266475
- 73
- ConnorBake`, glibc: NVCC aarch64 intrinsics are unsupported,https://github.com/NixOS/nixpkgs/pull/239291
- 74
- samuela, xla: init at unstable-2025-01-21,https://github.com/NixOS/nixpkgs/pull/483141
- 75
- XLA#1,https://github.com/openxla/xla/issues/1
- 76
- zimbatm/octoflow,https://github.com/zimbatm/octoflow
- 77
- YorikSar/hydra-github-app,https://github.com/YorikSar/hydra-github-app
- 78
- nixpkgs-cuda-ci: rolling releases wip, 2024,https://github.com/SomeoneSerge/nixpkgs-cuda-ci/commit/22416099cde845783df8262cc268583712a8f904
- 79
- nixos-cuda/hydra-jobsets#8,https://github.com/nixos-cuda/hydra-jobsets/pull/8
- 80
- hydra-channel-update-script: init, by `@YorikSar`,https://github.com/nixos-cuda/infra/commit/3ddfb4057b233635176850dafedea46cdca42eee
- 81
- is:pr head:staging-nixos (NixOS/nixpkgs),https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+head%3Astaging-nixos
- 82
- is:pr head:staging-next (NixOS/nixpkgs),https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+head%3Astaging-next+base%3Amaster
- 83
- NixOS Hydra: steps queued and building,https://grafana.nixos.org/explore?schemaVersion=1&panes=%7B%2216u%22:%7B%22datasource%22:%22000000001%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22hydra_steps_queued%20%2B%20hydra_steps_building%22,%22range%22:true,%22instant%22:true,%22datasource%22:%7B%22type%22:%22prometheus%22,%22uid%22:%22000000001%22%7D,%22editorMode%22:%22builder%22,%22legendFormat%22:%22__auto%22%7D%5D,%22range%22:%7B%22from%22:%22now-90d%22,%22to%22:%22now%22%7D,%22compact%22:false%7D%7D&orgId=1
- 84
- NixOS CUDA Hydra: eval 5889,https://hydra.nixos-cuda.org/eval/5889?full=1#tabs-now-fail
- 85
- samuela, Discourse: Development Not Sustainable,https://discourse.nixos.org/t/nixpkgss-current-development-workflow-is-not-sustainable/18741
- 86
- nixpkgs-cuda-ci,https://github.com/SomeoneSerge/nixpkgs-cuda-ci/commits/develop/?before=ebb526d7457536c770c3a01511ac963e07ec40a0+1001
- 87
- nixpkgs-upkeep,https://github.com/samuela/nixpkgs-upkeep/commits/main/?after=eab189e3fbc0735d28175258fbfde7e6438c4c8e+200
- 88
- cuda-nix-testsuite,https://github.com/samuela/cuda-nix-testsuite
- 89
- Nix Developer Dialogues 2023: "AI",https://discourse.nixos.org/t/on-nixpkgs-and-the-ai-follow-up-to-2023-nix-developer-dialogues/37087
- 90
- FullTimeNix ep. 15,https://fulltimenix.com/episodes/someoneserge
- 91
- NixOS/nixos-homepage: add cuda team community page,https://github.com/NixOS/nixos-homepage/commit/316e3702e5739e308928603e1b52ade59087802f
- 92
- CUDA Roadmap June 2023,https://discourse.nixos.org/t/cuda-team-roadmap-and-call-for-sponsors/29495
- 93
- NixOS-CUDA Hydra: Builds,https://hydra.nixos-cuda.org/jobset/nixos-cuda/cuda-packages-unstable
- 94
- NixOS-CUDA Hydra: GPU Checks,https://hydra.nixos-cuda.org/jobset/nixos-cuda/cuda-gpu-checks-unstable
- 95
- GPU access in the sandbox (#256230),https://github.com/NixOS/nixpkgs/pull/256230
- 96
- GPU-enabled tests (#225912),https://github.com/NixOS/nixpkgs/issues/225912
- 97
- Discourse: Development Not Sustainable → Pre-Merge Blockers,https://discourse.nixos.org/t/nixpkgss-current-development-workflow-is-not-sustainable/18741/74
- 98
- singularity `--nv` (#279235),https://github.com/NixOS/nixpkgs/pull/279235
- 99
- apptainer `--nv` (#280076),https://github.com/NixOS/nixpkgs/pull/280076
- 100
- Tracking: singularityTools (#177908),https://github.com/NixOS/nixpkgs/issues/177908
- 101
- `@ereslibre`: Support (NVIDIA) CDI (#284507),https://github.com/NixOS/nixpkgs/pull/284507
- 102
- `@ereslibre`: NVIDIA CDI follow-up PRs,https://github.com/NixOS/nixpkgs/pulls?q=nvidia+cdi+author%3Aereslibre+is%3Apr
- 103
- k3s: GPU Passthrough (#288037),https://github.com/NixOS/nixpkgs/issues/288037
- 104
- `requiredPythonModules` ← `propagatedBuildInputs` by `@Fridh` (#102613),https://github.com/NixOS/nixpkgs/pull/102613
- 105
- `pyproject.nix` by `@adisbladis`: Problems with Nixpkgs,https://pyproject-nix.github.io/pyproject.nix/build.html
- 106
- opencv4: expose `cxxdev`,https://github.com/NixOS/nixpkgs/pull/271078/changes/ada3991349beb5880e3994f25c65a0cf68941b83
- 107
- Guix HPC: What's in a Package,https://hpc.guix.info/blog/2021/09/whats-in-a-package
- 108
- torch1→2 (#222273),https://github.com/NixOS/nixpkgs/pull/222273
- 109
- noexcept (#276800)),https://github.com/NixOS/nixpkgs/pull/276800
- 110
- noexcept (#275939),https://github.com/NixOS/nixpkgs/issues/275939
- 111
- noexcept (#273794),https://github.com/NixOS/nixpkgs/issues/273794
- 112
- version solving regression (#282185),https://github.com/NixOS/nixpkgs/pull/282185
- 113
- noexcept (#276800),https://github.com/NixOS/nixpkgs/pull/276800
- 114
- `nixos-rebuild` driver mismatch (#255070),https://github.com/NixOS/nixpkgs/issues/255070
- 115
- `cuda_compat` and `libnvrm` (#273389),https://github.com/NixOS/nixpkgs/pull/273389
- 116
- `cuda_compat` and `libnvrm` (numtide/nix-gl-host#10),https://github.com/numtide/nix-gl-host/pull/10
- 117
- `autoPatchelf` (#178440),https://github.com/NixOS/nixpkgs/pull/178440
- 118
- libstdc++ mismatch (#218265),https://github.com/NixOS/nixpkgs/pull/218265
- 119
- libstdc++ mismatch (#223664),https://github.com/NixOS/nixpkgs/pull/223664
- 120
- `cuda_compat` eval errors (#406668),https://github.com/NixOS/nixpkgs/pull/406668
- 121
- explicit dynamic dependencies (NVIDIA/build-system-archive-import-examples/issues/5),https://github.com/NVIDIA/build-system-archive-import-examples/issues/5
- 122
- `$ORIGIN` (#225240),https://github.com/NixOS/nixpkgs/issues/225240#issuecomment-1539159050
- 123
- `cc-wrapper` friction (#282220),https://github.com/NixOS/nixpkgs/pull/282220
- 124
- `cc-wrapper` friction (`review-of-333575/50496/6`),https://discourse.nixos.org/t/review-of-333575/50496/6
- 125
- remediation messages (#456908),https://github.com/NixOS/nixpkgs/pull/456908
- 126
- `@emilazy`: `9<=gcc<12` removal warning for CUDA users (#342112),https://github.com/NixOS/nixpkgs/pull/342112
- 127
- `@emilazy`: drop `cuda<=12.5`, a year later (#434827),https://github.com/NixOS/nixpkgs/pull/434827
- 128
- release friction (#437723#issuecomment-3474672706),https://github.com/NixOS/nixpkgs/pull/437723#issuecomment-3474672706
- 129
- release friction (#437723#issuecomment-3471044964),https://github.com/NixOS/nixpkgs/pull/437723#issuecomment-3471044964
- 130
- \verb|getOutput| regression (#323056),https://github.com/NixOS/nixpkgs/pull/323056
- 131
- petition-to-build-and-cache-unfree-packages-on-cache-nixos-org/17440/53 (relitigation),https://discourse.nixos.org/t/petition-to-build-and-cache-unfree-packages-on-cache-nixos-org/17440/53
- 132
- containerd: nixos tests ignored and removed,https://github.com/containerd/containerd/issues/12683
- 133
- patchelf exception (NVIDIA/build-system-archive-import-examples/issues/10),https://github.com/NVIDIA/build-system-archive-import-examples/issues/10
- 134
- Most NixOS' Outreachy 2025 candidates rejected: "embarrassing" due to the fact that the sum that had to be secured was USD `20 000` per participant,
- 135
- NixOS/nix-security-tracker,https://github.com/NixOS/nix-security-tracker
- 136
- KerruKinutum Oy,2025,https://kerrukinutum.com
- 137
- INDUSTRIAL SOCIETY AND ITS FUTURE,https://archive.nytimes.com/www.nytimes.com/library/national/unabom-manifesto-1.html
- 138
- James C Scott, Against the Grain, Yale University Press,2017
- 139
- James C Scott, Seeing like a State, Yale University Press,1998
- 140
- Graeber David, DEBT, Melville House Publishing,2011
- 141
- sean goedecke, Seeing like a software company,https://www.seangoedecke.com/seeing-like-a-software-company
- 142
- LunNova, ROCm 7.1.1: You can (not) build,https://lunnova.dev/articles/rocm-711-you-can-not-build/
- 143
- LUMI’s full system architecture revealed,https://lumi-supercomputer.eu/lumis-full-system-architecture-revealed/
- 144
- The Zyphra AMD Cluster,https://zyphra.webflow.io/post/zaya1#zaya_3
- 145
- Frontier,TOP 500,https://www.top500.org/system/180047/
- 146
- El Capitan,TOP 500,https://www.top500.org/system/180307/
- 147
- nixos/steering-committee, Vote 12: Approve direction of grant program and initiative funding proposal,https://github.com/NixOS/steering-committee/blob/c10d2d1dd398c88386c930ab5f75084162a5e402/vote-logs/0012-grant-program-direction.md
- 148
- nixos/steering-committee, Meeting Minutes,https://github.com/NixOS/steering-committee/blob/main/minutes/2026-03-18.md#new-topics-20-min
- 149
- nixos/steering-committee, Meeting Minutes,https://github.com/NixOS/steering-committee/blob/c10d2d1dd398c88386c930ab5f75084162a5e402/minutes/2026-03-25.md#old-topics-15-min
- 150
- Filipo Valsorda, I’m Now a Full-Time Professional Open Source Maintainer,https://words.filippo.io/full-time-maintainer