Skip to content
Snippets Groups Projects
flake.nix 985 B
{
  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    naersk.url = "github:nix-community/naersk";
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
  };

  outputs = {
    self,
    flake-utils,
    naersk,
    nixpkgs,
  }:
    flake-utils.lib.eachDefaultSystem (
      system: let
        pkgs = (import nixpkgs) {
          inherit system;
        };

        naersk' = pkgs.callPackage naersk {};
      in {
        defaultPackage = naersk'.buildPackage {
          src = ./.;
          buildInputs = with pkgs; [];
          nativeBuildInputs = with pkgs; [ pkg-config ];
        };

        devShell = pkgs.mkShell {
          buildInputs = with pkgs; [];
          nativeBuildInputs = with pkgs; [
            rustc
            cargo
            rustfmt
            rust-analyzer
            pkg-config
            clippy
            cargo-tarpaulin
          ];
        };

        formatter = nixpkgs.legacyPackages.${system}.alejandra;
      }
    );
}