Files
MusicFS/musicfs/flake.nix
T
Alexander 7ad554f8d5 Add CLI implementation and MVP performance review
- Implement functional CLI with clap argument parsing
- Add directory scanning and metadata extraction at startup
- Fix filesystem.rs to store tokio Handle for async/sync bridge
- Fix flake.nix with LD_LIBRARY_PATH for libfuse3
- Add MVP performance review with real-world benchmark results

Benchmarks show:
- Mount time: 8ms (target <500ms)
- Throughput: 2-3 GB/s (target >500 MB/s)
- Identifies critical gap: incomplete file caching (only ~2MB per file)
- Identifies missing CDC chunking per architecture spec
2026-05-12 19:28:13 +02:00

47 lines
1.2 KiB
Nix

{
description = "MusicFS - FUSE filesystem for music libraries";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, rust-overlay, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs { inherit system overlays; };
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" "rust-analyzer" "clippy" "rustfmt" ];
};
in
{
devShells.default = pkgs.mkShell rec {
buildInputs = with pkgs; [
rustToolchain
pkg-config
fuse3
sqlite
openssl
clang
lld
cargo-watch
cargo-nextest
cargo-criterion
protobuf
grpcurl
];
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
RUST_BACKTRACE = "1";
RUST_LOG = "debug";
};
}
);
}