flurie
April 16, 2025, 9:27pm
3
Is there a place where we can track the efforts detsys is putting into upstreaming any new features they add to their fork?
14 Likes
Here are some relevant PRs for this set of changes:
NixOS:master
← DeterminateSystems:json-log-path
opened 02:52PM - 11 Apr 25 UTC
<!--
IMPORTANT
Nix is a non-trivial project, so for your contribution to b… e successful,
it really is important to follow the contributing guidelines:
https://github.com/NixOS/nix/blob/master/CONTRIBUTING.md
Even if you've contributed to open source before, take a moment to read it,
so you understand the process and the expectations.
- what information to include in commit messages
- proper attribution
- volunteering contributions effectively
- how to get help and our review process.
-->
## Motivation
The `json-log-path` setting specifies a path (which can be a regular file or Unix domain socket) that receives a copy of all Nix log messages (in the same format used by `--log-format internal-json` but without the `@nix ` prefixes). Internally this is implemented using the new `TeeLogger` class that dispatches log messages to multiple underlying loggers (i.e. the JSON logger and the regular progress bar).
The main use case is to provide an easy way in CI to process all Nix log messages centrally to extract hash mismatches, build/substitution results, etc.
## Context
---
Add :+1: to [pull requests you find important](https://github.com/NixOS/nix/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc).
The Nix maintainer team uses a [GitHub project board](https://github.com/orgs/NixOS/projects/19) to [schedule and track reviews](https://github.com/NixOS/nix/tree/master/maintainers#project-board-protocol).
Move alias support from NixArgs to MultiCommand by edolstra · Pull Request #12997 · NixOS/nix · GitHub (important for upstreaming the nix profile add
change)
Git fetcher: Improve error message for untracked files by edolstra · Pull Request #12870 · NixOS/nix · GitHub
JSONLogger: Acquire a lock to prevent log messages from clobbering each other by edolstra · Pull Request #12647 · NixOS/nix · GitHub
JSONLogger: Log to a file descriptor instead of another Logger by edolstra · Pull Request #12483 · NixOS/nix · GitHub
More to come soon.
8 Likes
Yep! Here we go again, watching valuable new functionality emerge into the world
3 Likes
The JSON tooling seems helpful, thanks for the patches. On a related note, is there anyone who’s testing the lazy trees patches with parallel eval at the same time, or do they start running into merge conflicts? Have some stress tests I’d like to throw at both at $WORK.
2 Likes
flurie
April 17, 2025, 9:02pm
7
Great, thank you! It would be great to see these links in the release notes when applicable.
1 Like
winter
April 19, 2025, 5:34pm
8
With JSON logging, however, Nix produces this instead:
{
"v": "1",
"c": "HashMismatchResponseEventV1",
"drv": "/nix/store/2ybj73ri0dc9j28yzqlp7r1l2lpxnsxj-my-package.drv",
"bad": [
"sha256-tmNn6/9jn/ansLI0QTfy6/fItRmBCOhb5AUOXbIWi24="
],
"good": "sha256-GzabkpW8L2UH4rzBkFdv61RoJl8DQlICqZvY9Ql1MAU="
}
Isn’t this what the Determinate daemon produces, and not Nix? Might be a good idea to replace it for accuracy.
4 Likes