burn icon indicating copy to clipboard operation
burn copied to clipboard

feat: add nix flake for local dev

Open Kodylow opened this issue 1 year ago • 3 comments

Pull Request Template

Checklist

  • [x] Confirmed that run-checks all script has been executed.
  • [ ] Made sure the book is up to date with changes in this PR. (Local Developer Environment changes, does not apply)

Changes

Feature: adds nix flake for reproducible, deterministic builds and developer environments. Feature: uses crane for incremental cargo dependency builds Feature: adds flakebox developer pipeline with typos, semgrep, and git hooks (commented out rustfmting, linting and githooks for now because those should be in a separate PR) Feature: adds justfile for just command running Fix: adds shebangs to shell scripts

Testing

All developer environment changes. run-checks works in and out of nix developer shell

Kodylow avatar Nov 23 '23 01:11 Kodylow

I am hesitant to accept this PR because it contains so much generated code and I am not sure who would maintain all this. I am not even sure there are enough users for this.

Is there any way to maintain the port outside the code base?

@nathanielsimard @syl20bnr @Luni-4 , please make a call on this.

antimora avatar Nov 30 '23 20:11 antimora

I do not know nix at all, but I agree about the great amount of generated code and the relative difficulty to maintain it.

@Kodylow Would it be possible to convert all of these scripts into a xtask file and then produce all the necessary artifacts from there? In this way everything is concentrated in a single point and, if the code is well documented, other developer can help in maintaining it

Luni-4 avatar Nov 30 '23 20:11 Luni-4

Yup I can simplify it down to just the nix flake and remove the flakebox stuff that affects the git actions and workflow.

Nix just lets you do the deterministic, reproducible builds so it'll download and build with the correct versioning for everything by just running nix develop

Kodylow avatar Nov 30 '23 23:11 Kodylow

Closing for now. The comments/feedback can be address in another PR.

antimora avatar Jan 23 '24 16:01 antimora