foundry-rs / foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
https://getfoundry.sh
Apache License 2.0
8.33k stars 1.76k forks source link

Feature: nix flakes #315

Closed sambacha closed 1 year ago

sambacha commented 2 years ago

Nix flakes should be the way environments and releases are managed.

No submodules though. Personally I am using dapp2nix https://github.com/icetan/dapp2nix

💊 + ❄️ + 🦀 = 🧙‍♂️

brockelmore commented 2 years ago

I have a strong preference against having this be the primary way releases and environments are managed. Having used dapptools for 2 years prior to foundry, I really was not a fan of nix.

That said, if someone wants to actively manage releases for nix users I would be okay with it but definitely don't want to point new users to it. Others may outright shut down the idea fwiw, as my feelings toward nix were common

wilsoncusack commented 2 years ago

Second what @brockelmore said! My first attraction to Foundry was that it doesn't use Nix :)

sambacha commented 2 years ago

I have a strong preference against having this be the primary way releases and environments are managed. Having used dapptools for 2 years prior to foundry, I really was not a fan of nix.

That said, if someone wants to actively manage releases for nix users I would be okay with it but definitely don't want to point new users to it. Others may outright shut down the idea fwiw, as my feelings toward nix were common

I honestly find this very surprising.

I don't have a problem doing that, but as it stands there is not release or git tag system which releases can be based off of.

sambacha commented 2 years ago

Second what @brockelmore said! My first attraction to Foundry was that it doesn't use Nix :)

Who hurt you?

brockelmore commented 2 years ago

I honestly find this very surprising.

I don't have a problem doing that, but as it stands there is not release or git tag system which releases can be based off of.

heh I think if we ran a poll in the foundry tg my thoughts would be common. Regardless, you're right on the release side of things. I think we are approaching a point where binary and git releases make sense @gakonst

odyslam commented 2 years ago

Thanks to rust, brew and apt binaries are relatively easy. We had a GHA workflow and pipeline that we never released. Perhaps it's time to revive that

gakonst commented 2 years ago

Yeah I think not distributing with Nix was an explicit goal, this will get much easier once we set up our release flows once the project is a bit more stable.

Can always have your own Nix flakes in another repo @sambacha and we can maybe link to it from the README?

sambacha commented 2 years ago

Yeah I think not distributing with Nix was an explicit goal, this will get much easier once we set up our release flows once the project is a bit more stable.

Can always have your own Nix flakes in another repo @sambacha and we can maybe link to it from the README?

yes - however there needs to be a versioning policy, at least something like v0.1.0-nightly-59589

cargo-edit can handle the versioning for Cargo.toml

sambacha commented 1 year ago

We have https://github.com/shazow/foundry.nix as a work around, if you want to close this issue

lucas-manuel commented 1 year ago

Close-able? @mds1

mds1 commented 1 year ago

Closing since there is a workaround