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
Rust rewrite #99
base: main
Are you sure you want to change the base?
Rust rewrite #99
Conversation
Should we include the flake changes into this PR as well? |
We should probably do it this way, in order to not break anything (hopefully) while migrating |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Looks good, a few observations:
And then run cargo fmt to fix the formatting
I recommend you use cargo clippy as the "check command" in rust-analyzer to develop rust, it helps to find improvements. |
@alansartorio unspecified tabs please |
This implementation is meant to be a drop-in replacement of the current bash implementation. All Desktop Audio and monitoring are not implemented, as they will probably be temporarily removed in the next release.
It builds without issues with rustc 1.76.0 and cargo 1.76.0, but some dependencies may fail to build on older versions.
Since some distros still distribute older versions of rustc, it is recommended to use rustup in order to get the latest version of rustc and cargo.
To make the installation easier, I would suggest the distribution of static binaries for x64 and aarch64, but we need to see if static linking is possible with the pipewire crate (instead of manually calling pw-cli and pw-dump).
We need to update the
flake.nix
before merging this