Because we were using `DESTDIR` instead of `PREFIX` for some reason, no
one noticed that this didn't work.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
This way we get an actually unique version for every version that can be
traced back to the source.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
A useful addition to make sure is available, since we also make clangd
available through clang-tools. bear can generate the
`compile_commands.json` for clangd. For example with `make clean && bear
-- make -j$(nproc)`.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Would still be better to have commit rev included if
applicable/available but still better than before.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
- rm unused function argument
- `LIBCLANG_PATH` is superfluous here, this is already handled by
`rustPlatform.bindgenHook` for us.
- rustc is not directly needed in the `$PATH` for the build but it's
good to have in the dev shell.
this enables faster incremental rebuilds in nix. it also allows us to
add clippy and cargo test checks more easily. aside from that, i have
tried to carry over things that i think are sensible from the previous
`mkDerivation` call.
the `checkPhase` may as well rather be done in a `installCheckPhase` and
we can set `enableParallelBuilding` to speed up the compilation of
`libbcachefs.a`.
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