flapjack 0.1.0

A utility to verify your music library's integrity
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    fenix = {
      url = "github:figsoda/fenix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    naersk = {
      url = "github:nmattia/naersk";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs = { self, fenix, flake-utils, naersk, nixpkgs }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
        fenixPkgs = fenix.packages.${system};
        naerskBuild = (naersk.lib.${system}.override {
          inherit (fenixPkgs.minimal) cargo rustc;
        }).buildPackage;
      in
      {
        defaultPackage = naerskBuild { src = ./.; };

        devShell = pkgs.mkShell {
          buildInputs = with pkgs; [
            (fenixPkgs.complete.withComponents [
              "cargo"
              "clippy-preview"
              "rust-src"
              "rust-std"
              "rustc"
              "rustfmt-preview"
            ])
            fenixPkgs.rust-analyzer

            cargo-edit
            nixpkgs-fmt
          ];
        };
      });
}