{ inputs = { #naersk.url = "github:nix-community/naersk/master"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; crate2nix = { url = "github:kolloch/crate2nix"; flake = false; }; }; outputs = { self, nixpkgs, utils, crate2nix }: utils.lib.eachDefaultSystem (system: let crateName = "nancy"; pkgs = import nixpkgs { inherit system; }; inherit (import "${crate2nix}/tools.nix" { inherit pkgs; }) generatedCargoNix; #naersk-lib = pkgs.callPackage naersk { }; project = import (generatedCargoNix { name = crateName; src = ./.; }) { inherit pkgs; defaultCrateOverrides = pkgs.defaultCrateOverrides // { # Crate dependency overrides go here }; }; in { packages.${crateName} = project.rootCrate.build; defaultPackage = self.packages.${system}.${crateName}; #defaultPackage = naersk-lib.buildPackage ./.; devShell = with pkgs; mkShell { inputsFrom = builtins.attrValues self.packages.${system}; buildInputs = [ cargo clippy rust-analyzer clippy rustfmt # linting sqlite openssl pkgconfig # for openssl-sys dep that gets pulled in ]; }; }); }