{ inputs = { naersk.url = "github:nix-community/naersk/master"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; nixpkgs-mozilla = { url = "github:mozilla/nixpkgs-mozilla"; flake = false; }; }; outputs = { self, nixpkgs, utils, naersk, nixpkgs-mozilla }: utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ (import nixpkgs-mozilla) ]; }; toolchain = (pkgs.rustChannelOf { rustToolchain = ./rust-toolchain.toml; sha256 = "sha256-yMuSb5eQPO/bHv+Bcf/US8LVMbf/G/0MSfiPwBhiPpk="; }).rust; naersk-lib = pkgs.callPackage naersk { cargo = toolchain; rustc = toolchain; }; in { defaultPackage = naersk-lib.buildPackage ./.; devShell = pkgs.mkShell { nativeBuildInputs = [ toolchain ]; }; } ); }