Making Nix solve people’s problems
- we are going to resume the development on nixpkgs-graph-explorer
- @yorickvp is proposing to Abstract away platform-specific sandbox code
Documentation
As usual, @fricklerhandwerk did a lot of work on the documentation side:
- Together with @infinisil and the Nix documentation team posted a call for documentation maintainers
- Started a larger effort to move contents out of Nix Reference Manual which are not reference documentation
-
Remove Package Management chapter · Issue #7769 · NixOS/nix · GitHub
- broke down the tracking issue and opened some pull requests, wrote issues for remaining tasks
-
docs: Building a stdenv package in nix-shell by milahu · Pull Request #216650 · NixOS/nixpkgs · GitHub
- reviewed and merged migrating a set of instructions unrelated to Nix into the Nixpkgs manual
-
docs: fix nix-shell commands by milahu · Pull Request #7849 · NixOS/nix · GitHub
- related, discussed a scary cyclic dependency between Nix and Nixpkgs
-
Remove Package Management chapter · Issue #7769 · NixOS/nix · GitHub
More Details
-
Nix manual:
-
reword documentation on `nix-path` config option by fricklerhandwerk · Pull Request #7772 · NixOS/nix · GitHub
- started clarifying the behavior of various methods of setting/extending
NIX_PATH
as a follow-up to getDefaultNixPath: actually respect `{restrict,pure}-eval` by ncfavier · Pull Request #7689 · NixOS/nix · GitHub by @ncfavier and related to Restore NIX_PATH taking precedence over nix-path by edolstra · Pull Request #7871 · NixOS/nix · GitHub
- started clarifying the behavior of various methods of setting/extending
-
separate man pages for `nix-store` and `nix-env` subcommands by fricklerhandwerk · Pull Request #7518 · NixOS/nix · GitHub
- paired with @balsoft on working out the technical details required for Documentation: process `#include` directives by balsoft · Pull Request #7928 · NixOS/nix · GitHub
- together with @balsoft prepared a proper documentation of all files used by Nix
-
Add CONTRIBUTING.md by bobvanderlinden · Pull Request #7968 · NixOS/nix · GitHub
- reviewed an introductory contribution guide
-
remove indentation in `fetchGit` attribute listing by fricklerhandwerk · Pull Request #7975 · NixOS/nix · GitHub
- fixed a visual bug in the
builtins
listing
- fixed a visual bug in the
-
remove stale pull request template by fricklerhandwerk · Pull Request #7949 · NixOS/nix · GitHub
- removed unused pull request template
- add information on the `build-hook` setting by fricklerhandwerk · Pull Request #7913 · NixOS/nix · GitHub
-
cli-guideline: Add JSON guideline by roberth · Pull Request #7883 · NixOS/nix · GitHub
- paired with @roberth to develop guidelines for structuring JSON output on the Nix CLI
-
doc/hacking.md: Corrections and additions for cross by roberth · Pull Request #7867 · NixOS/nix · GitHub
- reviewed updates to the hacking guide
-
reword documentation on `nix-path` config option by fricklerhandwerk · Pull Request #7772 · NixOS/nix · GitHub
-
Merged small improvements to documentation:
- Fix typos in pill 6: 'Our First Derivation' by jamesreprise · Pull Request #204 · NixOS/nix-pills · GitHub
- Document `hasAllInfo` by aameen-tulip · Pull Request #7854 · NixOS/nix · GitHub
- Quote URLs in nix language tutorial by munyari · Pull Request #462 · NixOS/nix.dev · GitHub
- limit depth of tutorials TOC by fricklerhandwerk · Pull Request #459 · NixOS/nix.dev · GitHub
- Update nix-language.md by drupol · Pull Request #453 · NixOS/nix.dev · GitHub
- fix broken link by fricklerhandwerk · Pull Request #451 · NixOS/nix.dev · GitHub
- removing snabb hydra cache by henrik-ch · Pull Request #450 · NixOS/nix.dev · GitHub
-
Assorted contributions:
-
nixos-render-docs: add manual html renderer, use it for the nixos manual by pennae · Pull Request #217342 · NixOS/nixpkgs · GitHub
- assisted with bringing the NixOS manual closer to “markdown everywhere” by testing and reviewing
-
strings: add escapeQuery for url encoding by patwid · Pull Request #219235 · NixOS/nixpkgs · GitHub
- reviewed a
lib.escapeURL
function for Nixpkgs
- reviewed a
-
configuration.nix: suggest a command line program by fricklerhandwerk · Pull Request #218830 · NixOS/nixpkgs · GitHub
- smaller closure and sample command-line program for NixOS beginners
-
doc: add `result` to .gitignore by ncfavier · Pull Request #217865 · NixOS/nixpkgs · GitHub
- helped with improving robustness of Nixpkgs manual build by running into problems and reporting them
-
init: setup for regular stories by tomberek · Pull Request #1008 · NixOS/nixos-homepage · GitHub
- proof-read a the first episode of Tales from Nixpkgs by @tomberek
- currently available here: Blog → Tales from Nixpkgs | Nix & NixOS (archived)
-
setup-hooks/strip: add stripExclude by timbertson · Pull Request #218783 · NixOS/nixpkgs · GitHub
- reviewed associated documentation
-
nixos-render-docs: add manual html renderer, use it for the nixos manual by pennae · Pull Request #217342 · NixOS/nixpkgs · GitHub
Making Nix work reliably everywhere
- @yorickvp and @fricklerhandwerk resumed work on versioning the Nix language in order to manage syntax change
- @balsoft got his change Follow XDG Base Directory standard merged, and worked on improving Nix documentation infrastructure with some help from @fricklerhandwerk
- @yorickvp worked on various Nix improvements. Here is a list of the merged ones:
- @connorbaker started working on CUDA improvements for nixpkgs, the goal is to make nixpkgs a great platform for any CUDA software
CUDA work
Issues:
- cudaFlags: Incorrect cudaGencode when cudaForwardCompat is true #215436
- docs: Questions about maintaining CUDA-related packaging #217780
- torchvision: Does not use the same compiler as torch when building with CUDA #217913
- nccl: switch to autoAddOpenGLRunpathHook #220340
- scipy: cuda-enabled builds can encounter libstdc++ version errors #220341
- magma: lexicographic sorting of CUDA capabilities is not future-proof #220343
- cudaFlags: should formatCapabilities depend on the order of elements of cudaCapabilities? #220344
- torch: add cudaCapabilities to passthru #220377
PRs:
- cudaPackages_12: 12.0.0 → 12.0.1 #215229
- nccl: 2.12.10-1 → 2.16.5-1 #215549
- cudnn: init 8.0.5, 8.2.4, 8.7.0; update 8.3.2 → 8.3.3, 8.4.0 → 8.4.1 #215578
- cudatoolkit: prune broken symlinks in postFixup #217322
- caffe: use pre-CUDNN 8.x #217330
- xgboost: CMakeLists.txt does not respect CUDA_HOST_COMPILER #217333
- cuda-samples: init 11.8 #217359
- cudnn: init 8.8.0; rewrite to assist maintainability #217363
- cudaFlags: rewrite to capture all architectures and fix NixOS#215436 #217367
- magma: init 2.7.1; migrate to cudaPackages #217410
- nccl: migrate to cudaPackages #217619
- torchvision: fix #217878; migrate to cudaPackages #218035
- opencv: misc CUDA-related updates and fixes; add enableLto #218044
- tiny-cuda-nn: init 1.6 #218166
- magma: fix for cuda_profiler_api.h for CUDA 11.8+ #219200
- magma: fix #220343 and separate CUDA build/run-time dependencies #220366
- torchvision: no need to specify CUDAHOSTCXX #220399
- cudaPackages: fix #220357; use -Xfatbin=-compress-all; prune default cudaCapabilities #220402
- torch: passthru cudaCapabilities only when cudaSupport is true #220609
Making Nix ubiquitous
- @infinisil is proposing to add python bindings to nix
Blog posts and media
-
@yannham published the blog post Taking the pulse of infrastructure management in 2023 (featuring Nix and Nickel)
-
@infinisil published three Nix Hour recordings
Nickel
We are preparing for a 1.0 release in the following weeks.
-
@yannham:
- implemented the last part of RFC005, fixing a number of issues with metadata and merging.
- Fixed the query command in the REPL and an infinite import loop (#1143, #1142)
- Enriched the interface of error reporting for custom contracts (e.g. ability to provide notes, #1152, #1156)
- Added missing documentation for optionals field and symbolic strings (#1169, #1172)
- Switched to arbitrary precision rationals as the underlying implementation of
Number
instead of 64 bits floats (#1182) - Renamed short primitive types like
Num
andStr
to long names (Number
,String
) as well as associated functions (#1164)
-
@vkleen:
- Implemented a new
not_exported
metadata to prevent a record field from being exported. Useful for example to mix contracts and other local definitions in one record, but hide them from the final configuration (Non-exported record fields by vkleen · Pull Request #1132 · tweag/nickel · GitHub). - Extended the stdlib, improved the naming of existing functions (#stdlib)
- Improved the semantics of dictionary contracts (#dictionary)
- Investigated and in the course of fixing a strange interaction between recursive records, polymorphic contracts and the new dictionary contracts (#current). Cleaned and refactored a bit the contract generation code along the way.
- Implemented a new
-
@ebresafegaga:
- Fixed the LSP to correctly handle import with parse errors in them (#1124)
- Hid stdlib internal calls from the stack trace when reporting a function contract error (#1139)
- Improved the reporting of contract error message (#1149, #1185)
- Started to work on an emacs mode
- @dpl0a continued to work on incremental evaluation. He’s very close to getting a incremental evaluation for merging (overriding a value would only recompute fields that directly depend on this value), but he need to fix failing tests. This is stepping stone toward doing the same across separate evaluations.
- A bunch of Tweagers worked a bit on Nixel as well, cleaning the current architecture a bit, and started a more serious challenge: a realistic, customizable Haskell devshell (#53)
- We woud’ like to thank the non-Tweager contributor @asymmetric as well, who helped improving the CI and the flake, fixed typos and error messages.
may your Nix builds be short and fast