Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the solution
Nix is a package manager which, technically, can handle build in any language.
This
flake.nix
file is basically giving all the steps to build and import mask in their own flakes.People can then, with the
nix
package manager, use mask right from this repository:nix run "github:jacobdeichert/mask" -- --help
You can test it with my PR repository:
nix run "github:bachrc/mask" -- --help
Even if Mask is already available on the nixpkgs repository, but this flake remove any dependency on the nixpkgs repository system (time for the PR to be merged, etc.)
This flake also allows to have a dev environment with every needed dependency :
nix develop "github:jacobdeichert/mask"
The
.envrc
file enables integration withdirenv
, which basically triggers anix develop
when entering the folder (and then sets up the right build inputs versions)I added a
rust-toolchain.toml
file which specifies the rust version needed to build the project. The nix flake is based on it in order to build it.Your project is really great and I'm happy to contribute in any way to it! Please contact me if you need any changes