Package program, init flake and devshell#74
Conversation
|
Let me know if they commit messages fit and also should I update the readme to add development environment setup instructions with Nix and the installation of the program? |
|
Thanks a lot for packaging this for Nix. You can go ahead with updating the README with the instructions for nix. Please squash your commits after that :) |
12d7c4a to
f9aca2d
Compare
|
Done :) |
Greptile SummaryThis PR adds comprehensive Nix infrastructure including flake support, development shell, and package derivation, enabling both NixOS users and contributors to easily install and develop the project. Key Changes:
Documentation Updates:
The Nix implementation is well-structured and follows Nix best practices. The devshell provides a complete development environment with all necessary tools and automatically installs the pre-push hook, improving contributor onboarding.
|
| Filename | Overview |
|---|---|
| flake.nix | Added Nix flake with support for Linux and Darwin (macOS) systems, includes both release and debug build variants |
| package.nix | Standard Rust package derivation using rustPlatform with proper metadata and license information |
| shell.nix | Development shell with Rust toolchain, Nix formatters, and automatic pre-push hook installation |
| README.md | Added comprehensive NixOS installation instructions, removed Homebrew section and outdated -e flag documentation |
Last reviewed commit: 4a608dd
1d7be1e to
941c83c
Compare
|
Sorry for the messy log, should be good to go now. |
- Initialize development shell - Add package derivation - Add flake entrypoint - Add non-flake entrypoint - Document Nix installation and development setup in README
JayanAXHF
left a comment
There was a problem hiding this comment.
Checks out, we can always improve later. Thanks!
I don't know how familiar you are with Nix but a Nix devshell fits perfectly here, I also added a shell hook to install the pre-push hook you provide.
If this gets merged then anyone interested in contributing the project would be able to get a development environment by executing
direnv allowand also get the program in their system by using the provided flake/non-flake entry point.Let me know if you need me to explain anything...