-
Notifications
You must be signed in to change notification settings - Fork 45
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
Add a clean nix/nixos development enviroment #163
base: master
Are you sure you want to change the base?
Conversation
fb7c730
to
ba36a01
Compare
make flake check action check all systems added assignment to assign myself to flake update prs. fix actions to use determinsys switch nix formatting check to flake check fix formatting for nix
I think you got things backwards with the Cargo.lock. You want to check your Cargo.lock into version control for binaries, not libraries. |
No I think it's okay to have it in version control even if it's a binary & libraries see more at https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control |
Indeed, maybe to rephrase: it is more important, if anything, to check in the Cargo.lock for binaries, than for libraries. I was pointing it out because you stated in the PR description the opposite. Also, and you're free to disagree on this of course, but I would have thought the Cargo.lock would be important for a nix setup (flake or not) given the mission statement of nix/nixpkgs/nixos being to guarantee reproducibility. For this reason, I kind of thought you would want the dependency versions pinned if it makes sense to do so (which it does since this repo outputs a binary). I'm definitely not a nix expert though so please feel free to share your thoughts on this. |
I will rephase as it's my fault originally as I was rushing this pr before I go to asleep.
Yes, but when you use release tags the versions are pinned by github. |
Is this completed? |
Almost, Just need to fix the github action caches then it's ready to merge. |
@Sweattypalms Okay i've done all of my changes, Ready to merge if you wanted to. |
Check description.
Description
Adds a nix/nixos development with automation though github actions with
Motivation and Context
This change is required because there is currently no default dev enviroment for nix/nixos It solves having an environment to use when developing ferrum.
There was previously a pr for adding a flake here, but a follow-up is needed because was a couple problems,
cargo build --release
and then use the bin produced.so this is a followup from #125
How has this been tested?
Local using direnv and
nix develop
as well asnix flake check
plus I have also built in a flake check for each pr that is created.Screenshots (if appropriate):
Types of changes
Checklist: