Commit graph

50 commits

Author SHA1 Message Date
e08558456a (zilch vfs): support symlinks
Change-Id: I6a6a69647b11d85f5440262c8e5e27cc220aefb8
2025-11-14 13:01:04 +00:00
db3b2316f0 (zilch magic): configurable CA build job count
Change-Id: I6a6a6964f157a33b35dae7245c344be7907c5221
2025-11-14 13:01:04 +00:00
9cd5bfb8dd (zilch nixpkgs): fix reproducibility of environment-for-derivation
Change-Id: I6a6a6964095f727498ed30d06a7236c9b241fdd0
2025-11-14 13:01:04 +00:00
0c0c4b5d22 (zilch magic): support devirtualising zexpr without losing zexpr-ness
Change-Id: I6a6a6964787b3a1fcd3223df258e34a8daba5dc8
2025-11-14 13:01:04 +00:00
4008106946 (zilch nixpkgs): remove other load-bearing derivation attrs on drv-to-env
Change-Id: I6a6a6964cda47ecb852e71490412e6236398fe60
2025-11-14 13:01:04 +00:00
83c6d94de3 (zilch magic): re-raise the first CA error
Change-Id: I6a6a6964a748b10ec12aa5cbc1cd736bffe077ff
2025-11-14 13:01:04 +00:00
f3618358aa (zilch magic): fix ca build error conditions more 2025-11-14 13:01:04 +00:00
55dd6a8483 (zilch magic): handle errors properly in CA builds
This properly stops the rest of the builders, instead of causing a
deadlock.
2025-11-14 13:01:04 +00:00
84748541c7 (zilch magic): purposely dangle self-references in IA->CA handling
This is to workaround an issue I don't know how to fix right now.
In effect: Some of the Nix code contains the placeholder for $out,
which then gets translated to $out for that store path. Converting that
fails, for obvious reasons. However, rewriting those to self-references
is more complicated than I want to get into right now, and as the
behavior of self-references is vaguely broken (and this only affects
one test and a comment), I'm going to take the easy way out and make
it generate a dangling reference.
2025-11-14 13:01:04 +00:00
8e2f0f3014 (zilch magic): refuse to handle self-references 2025-11-14 13:01:04 +00:00
9b03914ec1 (zilch magic): Replace daemon-handled CA derivations with Zilch
Lix is deprecating CA derivations, and it's not too difficult to have
this be handled entirely by Zilch. This also improves stability and
future handling of the feature, as Zilch does not depend on how the
daemon handles CA derivations. Though right now, the behavior of
CA derivations is identical to that of the experimental feature, at
this time.

Building CA derivations requires a small scheduler to bypass the Nix
behavior. Each CA derivation is recorded, and then all derivations that
have no CA dependencies get built. These are used to resolve the
realisations for the derivations that depend upon them, and the the
cycle continues.
2025-11-14 13:01:04 +00:00
83a4a0569d (zilch magic): add helper to turn a CA drv into a non-CA equivalent
This reuses the exact NAR, so it cannot depend on the exact path of
$out. That is, however, good enough for the usecases Zilch has.
2025-11-14 13:01:04 +00:00
8859253253 (zilch magic): fix non-CA store path building 2025-11-14 13:01:04 +00:00
7e8e504f89 (zilch magic): whitespace fixes 2025-11-14 13:01:04 +00:00
ec41674598 (zilch magic): add helper to turn a store path into its FOD equivalent 2025-11-14 13:01:04 +00:00
9d72e8a246 (zilch nix path): support content-addressed paths with references 2025-11-14 13:01:04 +00:00
f8dd673609 (zilch nix daemon): add more daemon calls 2025-11-14 13:01:04 +00:00
355af66489 (zilch nix drv): finally fix overlapping environment variables
Having an `out` environment variable now correctly gets it ignored
entirely, rather than behave unexpectedly.
2025-11-14 13:01:04 +00:00
3f2e90543e (zilch nix drv): fix failed derivation output logging 2025-11-14 13:01:04 +00:00
5b4bb8cd8a (zilch nix drv): fix serialized derivation format caching
This was broken at some point, and I'm not sure if this is a load-bearing
bug. Let's find out.
2025-11-14 13:01:04 +00:00
fc2d2551fe (zilch vfs): add vfs-to-string 2025-11-14 13:01:04 +00:00
8080da3ba0 (zilch vfs): add parent directories when using vfs-append-file 2025-11-14 13:01:04 +00:00
8eb1934d03 (zilch vfs): add vfs-append-file 2025-11-14 13:01:04 +00:00
80883d3206 (zilch core nixpkgs): add "eval raw in nixpkgs" function
This allows evaluating code that isn't as obviously "one derivation";
e.g. `pkgs.mkShell'.
2025-11-14 13:01:04 +00:00
5176533e0a (zilch core nix daemon): fix error handling 2025-11-14 13:01:04 +00:00
994d50c732 (zilch vfs): fix importing executable files 2025-11-14 13:01:04 +00:00
6ed7b2f2d6 (zilch core nix drv): build fixes 2025-04-14 12:17:00 +00:00
e65143d89e (zilch magic): add nix-build build step 2025-03-20 17:46:22 +00:00
6b7556be90 (zilch core magic): up the receive timeout
It turns out this was woefully low for large compiles.
2025-03-02 14:19:08 +00:00
063550ca00 (zilch core vfs): fix vfs-subdir 2025-03-02 14:11:05 +00:00
cab43001e6 (zilch core statusbar): small cleanups 2025-03-02 14:11:05 +00:00
ac7dec3064 (zilch core file): don't bother substituting files 2025-03-02 14:11:05 +00:00
16b2064fc6 (zilch core nixpkgs): allow evaluating arbitrary Nix code 2025-03-02 14:11:05 +00:00
47add39192 (zilch core vfs): add vfs-subset function 2025-02-13 18:28:34 +00:00
e42315e67a (zilch lang rust): remove lack-of-vfs workarounds 2024-11-27 17:32:13 +00:00
59dc27b94c (zilch vfs): actually commit the file
oops.
2024-11-27 16:38:40 +00:00
2a27c9c48b (zilch magic): make store-path-open more magic
This resolves store paths that aren't obvious; and adds
store-path-realised for external use of the mechanisms.
2024-11-27 16:33:31 +00:00
a008d0c0c2 (zilch lang go vfs): move to (zilch vfs)
It really wasn't that go-specific anymore.
2024-11-27 15:43:29 +00:00
5380ac9307 (zilch lang rust): initial commit 2024-11-25 22:06:44 +00:00
d52a1e7796 (zilch semver): add semver library
This is necessary for Cargo resolving.
2024-11-21 17:08:50 +00:00
0c575ca0e4 (zilch nix daemon): use record instead of list for activity information 2024-10-09 20:57:10 +00:00
84207df87d aux/socket: patch scheduling bug in socket egg
It's possible for the thread to be interrupted between configuring the
timeout and the file descriptor wait. This causes a low-probability 60
second wait until the timeout expires.

Now that this is fixed, we can set a normal timeout on the socket once
again, so do that.

Link: https://github.com/ursetto/socket-egg/pull/7
2024-10-09 20:36:44 +00:00
fa3103ac82 (zilch nixpkgs): print stderr through (current-error-port)
This fixes the nix-instantiate warning/etc leaking through the CLI.
2024-10-04 16:39:23 +00:00
e86317583d (zilch statusbar): misc fixes 2024-10-04 16:05:46 +00:00
c251273ee7 (zilch nix daemon): track daemon version 2024-10-04 16:04:58 +00:00
f8977f9f8b (zilch nix daemon): remove unused procedure 2024-10-04 16:04:41 +00:00
2ed428e37d (zilch nix daemon): make options runtime-configurable 2024-10-04 15:17:26 +00:00
589a0bf5cc (zilch nix daemon): lower job count
The default build-user count is 32, setting this number to any higher
causes weird slowdown behavior.
2024-10-04 15:08:26 +00:00
c0f0024ac9 Remove extraneous case-lambda comments + other misc docs fixes 2024-10-04 15:08:26 +00:00
55a1efa08f Initial commit 2024-10-04 15:08:26 +00:00