| 14 Dec 2025 |
Emma [it/its] | ah | 19:29:55 |
Emma [it/its] | i ended up doing nix build ../..#modules.nbitcoin.passthru.fetch-deps | 19:30:16 |
Emma [it/its] | 7G of memory usage with no IO atm | 19:30:30 |
Emma [it/its] | 12G... seems to get stuck somewhere and i wish i could -v:diag it | 19:32:47 |
Corngood | $ echo $dotnetProjectFiles
/nix/store/85fkamr6na3xjznqa70hasdzrlxqgbrr-NBitcoin.CppBridge.csproj
This shouldn't be a store path.
| 19:34:35 |
Emma [it/its] | how did you get there? cause that seems fairly normal to me? | 19:35:08 |
Corngood | diff --git a/modules/nbitcoin/default.nix b/modules/nbitcoin/default.nix
index 2342c8e..bb38b51 100644
--- a/modules/nbitcoin/default.nix
+++ b/modules/nbitcoin/default.nix
@@ -32,7 +32,7 @@ buildDotnetModule rec {
fileset = sourceFiles;
};
sourceRoot = "${src.name}/modules/nbitcoin";
- projectFile = ./NBitcoin.CppBridge.csproj;
+ projectFile = "NBitcoin.CppBridge.csproj";
nugetDeps = ./deps.json;
| 19:35:19 |
Jan Kvapil | Uf, that's fragile. | 19:35:35 |
Emma [it/its] | (though ive also never had the fetch-deps script work without having to explicitly pass the path to the output deps file, because it tries writing into the store by default...) | 19:36:03 |
Jan Kvapil | Yeah, about that:
Finished dotnetConfigureHook
/nix/store/qmvcsvn9dw5v7cln85ay8pydir38ab43-fetch-deps.sh: line 10: /nix/store/dxv3prj2zy34n0inhhznihnhww2gfnfd-source/modules/nbitcoin/deps.json: Read-only file system
How does one do that?
| 19:36:41 |
Emma [it/its] | you just pass the relative path as an argument | 19:36:54 |
Emma [it/its] | ./result ./deps.json or whatever | 19:37:02 |
Corngood | I don't understand what dotnet restore is trying to do though. If it's unable to restore on a read-only tree, why is it blowing up the system?
(though ive also never had the fetch-deps script work without having to explicitly pass the path to the output deps file, because it tries writing into the store by default...)
Yeah, I had to do that too
| 19:37:03 |
Emma [it/its] |  Download clipboard.png | 19:37:23 |
Emma [it/its] | interesting predicament i find myself in lol | 19:37:28 |
Jan Kvapil | The docs are a bit dated in that regard: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/dotnet.section.md#generating-and-updating-nuget-dependencies-generating-and-updating-nuget-dependencies They mention $ nuget-to-json out > deps.json to call explicitly. | 19:37:44 |
Corngood | for whatever reason you can kill it with SIGINT but not ctrl-c in the terminal... | 19:37:51 |
Jan Kvapil | kill -9 $(pgrep dotnet) once you check there's only a single dotnet running :D | 19:38:17 |
Corngood | The docs don't really talk about flakes. You don't need to pass the path if you do an impure eval. | 19:38:52 |
Jan Kvapil | Hmm | 19:39:26 |
Jan Kvapil | Could this be caught by type-check in buildDotnetModule? | 19:39:48 |
Emma [it/its] | dotnet restore /nix/store/85fkamr6na3xjznqa70hasdzrlxqgbrr-NBitcoin.CppBridge.csproj -p:ContinuousIntegrationBuild=
true -p:Deterministic=true -p:NuGetAudit=false --runtime linux-x64 -p:SelfContained=true | 19:39:56 |
Emma [it/its] | oh no i can just kill it in btop lol | 19:40:47 |
Emma [it/its] | this didnt work for me | 19:40:52 |
Emma [it/its] | interestingly, i tried running that command by itself and well... it didnt work :D | 19:41:36 |
Emma [it/its] | oh interesting, it specifically doesnt work if you try to restore the store path? | 19:42:05 |
Corngood | Yeah, I was able to run fetch-deps properly after changing it... Very strange | 19:42:29 |
Jan Kvapil | Thanks a lot. Let's not disclose the amount of time I was banging my head on this. | 19:43:18 |
Emma [it/its] | oh, i screwd myself over big time | 19:43:25 |
Corngood | Possibly. I'm not sure if it's 100% always a bad idea though. Like maybe you could do an out-of-tree build by setting the bin/obj dirs? | 19:43:38 |