-
-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Nix 2.17 #1296
Support Nix 2.17 #1296
Conversation
@lheckemann You did it correctly. The flushing nuscience is indeed a symptom of this code being spaghetti-ish, making conceptual operations with low-level serialization details too much #1180 and then eventually https://github.com/NixOS/nix/pull/6134/files would solve this problem, separating concerns so the "serialization on the inside, misc IO like flushing on the outside" structure was more clear. |
Successfully deployed my Hydra with Nix 2.17 and this change and so far, everything works fine. One problem though: in my deployment I'm not using
This can also be reproduced with the diff --git a/flake.nix b/flake.nix
index 7e7d50e2..d83a18e0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -14,7 +14,7 @@
pkgsBySystem = forEachSystem (system: import nixpkgs {
inherit system;
- overlays = [ self.overlays.default nix.overlays.default ];
+ overlays = [ nix.overlays.default self.overlays.default ];
});
# NixOS configuration used for VM tests.
@@ -40,6 +40,9 @@
# A Nixpkgs overlay that provides a 'hydra' package.
overlays.default = final: prev: {
+ nix = prev.nix.overrideAttrs ({ configureFlags ? [], ... }: {
+ configureFlags = configureFlags ++ [ "--enable-lto" ];
+ });
# Add LDAP dependencies that aren't currently found within nixpkgs.
perlPackages = prev.perlPackages // { Will also file a bug against Nix @Ericson2314 . |
Co-authored-by: John Ericson <[email protected]>
cc @Ericson2314 who authored the API changes, to make sure I'm not doing something really silly here.
I don't think it's nice to use the
WriteConn
/ReadConn
and theFdSink
s wrapped by them simultaneously, but I'm guessing the flushes are important -- and they can't be performed through theWriteConn
because not allSink
s are flushable.