Most of the changes are heavily inspired by the structure of Niri's
flake.nix.
- add overlay
- add formatter for nix
- remove flake-parts
- use rust-overlay only for the dev shell. end users can set `inputs.rust-overlay.follows = ""` to skip downloading it.
- add rust-analyzer and rust-src extensions in the dev shell
- filter the source in order to reduce rebuilds
- support all Linux systems that the nixpkgs flake exposes
- override VERGEN_GIT_DESCRIBE to include the git rev as well
- remove `clangStdenv` from the dev shell. I'm not sure what purpose it served. If the intention was faster linking with lld, then it's not needed anymore, now that lld has become the default linker in rust 1.90.0.
* Refactor flake for overridability, conditional service install, version formatting
* Disable default cargo features for the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Replace deprecated `--replace` with `--replace-fail` in the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Remove `unstable` from flake package version
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Refactor flake to enable dependency overridability
* Pass lib explicitly in flake package
* Fix incorrect package path in flake package dependency
* Replace makeWrapper with makeBinaryWrapper
* Enhance build by separating substitution, service install, and wrapping
* Remove redundant arguments from package call
---------
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>