1{2 description = "Jrsonnet";3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs";5 flake-utils.url = "github:numtide/flake-utils";6 rust-overlay.url = "github:oxalica/rust-overlay";7 };8 outputs = { nixpkgs, flake-utils, rust-overlay, ... }:9 flake-utils.lib.eachDefaultSystem (system:10 let11 pkgs = import nixpkgs {12 inherit system;13 overlays = [ rust-overlay.overlays.default ];14 };15 rust = ((pkgs.rustChannelOf { date = "2022-11-10"; channel = "nightly"; }).default.override {16 extensions = [ "rust-src" "miri" ];17 });18 in19 rec {20 packages = rec {21 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };22 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };23 jsonnet = pkgs.callPackage ./nix/jsonnet.nix { };24 25 26 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {27 rustPlatform = pkgs.makeRustPlatform {28 rustc = rust;29 cargo = rust;30 };31 };3233 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {34 inherit go-jsonnet sjsonnet jsonnet jrsonnet;35 };36 };37 devShell = pkgs.mkShell {38 nativeBuildInputs = with pkgs;[39 rust40 cargo-edit41 lld42 hyperfine43 valgrind44 ];45 };46 }47 );48}