with this, the gh actions ci will fail if submitted code does not adhere
to rustfmt rules.
additionally, running `nix fmt` will also format rust code.
because we want rules only supported by nightly rustfmt, and nixpkgs
doesn't have a nightly toolchain, we need to pull in another flake
input: fenix.
currently still bare but can be extended with a number of different
formatters (rustfmt, clang-format, ...). For full list see
https://flake.parts/options/treefmt-nix
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
it also provides a way for abstracting `system` and provides optional
modules, like treefmt-nix.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
it shouldn't really be our job to define an overlay. it doesn't do
anything for us, afaict, and is trivial to implement for downstream
users of the flake if they so desire.
also the overlay doesn't even overlay anything, there is no package
called `bcachefs` in nixpkgs.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Add a fuseSupport argument and bcachefs-fuse as flake output with fuse enabled.
Signed-off-by: Finn Behrens <me@kloenk.de>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Adds overlay flake output to expose the bcachefs package
and add and run a nix formatter.
Co-authored-by: Leona Maroni <dev@leona.is>
Signed-off-by: Leona Maroni <dev@leona.is>
Signed-off-by: Finn Behrens <me@kloenk.de>
update makefile to output shared library and rust build
fix default.nix to properly get the binary name for `ln`ing - move binary to main.rs
add rustfmt and gitignore files
move build.rs file into bch_bindgen for reuse between projects
add outputs to nix flake and checks
add mount.toml to makefile