Conversation
|
This is awesome! 😄 There's also
I'm keen to start with |
|
|
|
It's probably a good idea to use flakes instead of plain Nix channels. |
alistair-singh
left a comment
There was a problem hiding this comment.
Looks good! Will test this out on my mac.
Got it working on my mac with the latest changes |
doubledup
left a comment
There was a problem hiding this comment.
LGTM. Save for the pkill issue blocking pure shells on MacOS, so we can't be sure that this is reproducible yet (unless you've run it with a pure shell on Linux already?). But at least we have a single place for all external dependencies now 🙌
|
A pure shell is hanging for me: I reach |
Ah yeah, so that's actually an incompatibility Geth/Lodestar has with MacOS, where it binds ::1 to localhost in /etc/hosts. I had exactly the same issue on MacOS Comment out that line, create a new terminal shell, and things should be fine |
|
Hmm, that line's already commented out for me (has been for at least a week), and I've even restarted since. |
|
Looks like nix-shell is intended for making packages rather than consuming them. |
|
I have seen this issue on Ubuntu 22.04 I have tried the following packages in the nix config to remedy this with no luck.
Has anyone seen this on Ubuntu? |
|
@alistair-singh Haven't tried Linux, I'll give that a look. Does the file |
Yeah so it does exist and the build works from outside a nix shell. Its almost like nix is ignoring it because it's not explicitly listed in the config. I think the root cause is that librocksdb is c package wrapped in a rust crate and it is not picking up nix's linker flags. Looking at |
Had to run `forge init . --force` because contracts/ isn't empty. The branch property was added to the submodule lib/forge-std, despite forge having just set up core/packages/contracts/lib/forge-std. Discarded the template github workflow & contracts.
We're using flake.nix instead now.
This is already set up with Nix, except `forge test` which we can run ourselves.
For local, non-benchmark builds, use debug instead of release to compile faster.
Binaries aren't portable, but build a bit faster.
|
@vgeddes @yrong @claravanstaden This is ready for general testing. Follow the main README and let me know if you run into any problems. I've got an ongoing issue with |
|
@doubledup Awesome! Thanks for the work and will also test on my mac setup. |
vgeddes
left a comment
There was a problem hiding this comment.
Works for me on my M1 Macbook. 👍
alistair-singh
left a comment
There was a problem hiding this comment.
Works on Ubuntu 22.04! LGTM!
|
Found the problem with my envs: needed to clear |
The idea is that we can have a reproducible dev environment across Linux and Mac machines. Seems to be working on my MacOs machine so far.
Steps:
nix-shellin the root of our monorepoThen our developer environment should mostly be ready
TODO
rustupnix package. see https://nixos.wiki/wiki/Rust.