difftreelog
ci use flake-parts
in: master
2 files changed
flake.lockdiffbeforeafterboth20 "type": "github"20 "type": "github"21 }21 }22 },22 },23 "flake-parts": {24 "inputs": {25 "nixpkgs-lib": [26 "nixpkgs"27 ]28 },29 "locked": {30 "lastModified": 1717285511,31 "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",32 "owner": "hercules-ci",33 "repo": "flake-parts",34 "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",35 "type": "github"36 },37 "original": {38 "owner": "hercules-ci",39 "repo": "flake-parts",40 "type": "github"41 }42 },23 "flake-utils": {43 "flake-utils": {24 "inputs": {44 "inputs": {25 "systems": "systems"45 "systems": "systems"56 "root": {76 "root": {57 "inputs": {77 "inputs": {58 "crane": "crane",78 "crane": "crane",59 "flake-utils": "flake-utils",79 "flake-parts": "flake-parts",60 "nixpkgs": "nixpkgs",80 "nixpkgs": "nixpkgs",61 "rust-overlay": "rust-overlay"81 "rust-overlay": "rust-overlay",82 "shelly": "shelly"62 }83 }63 },84 },64 "rust-overlay": {85 "rust-overlay": {65 "inputs": {86 "inputs": {66 "flake-utils": [87 "flake-utils": "flake-utils",67 "flake-utils"68 ],69 "nixpkgs": [88 "nixpkgs": [70 "nixpkgs"89 "nixpkgs"71 ]90 ]84 "type": "github"103 "type": "github"85 }104 }86 },105 },106 "shelly": {107 "inputs": {108 "flake-parts": [109 "flake-parts"110 ],111 "nixpkgs": [112 "nixpkgs"113 ]114 },115 "locked": {116 "lastModified": 1718420551,117 "narHash": "sha256-NU8NBXVPj0KuY4Tl/LtZPrbX3PmmmgPuhk/1pzm9cyk=",118 "owner": "CertainLach",119 "repo": "shelly",120 "rev": "4f70221f3f9ad9058f590eefb25251b6760aaa47",121 "type": "github"122 },123 "original": {124 "owner": "CertainLach",125 "repo": "shelly",126 "type": "github"127 }128 },87 "systems": {129 "systems": {88 "locked": {130 "locked": {89 "lastModified": 1681028828,131 "lastModified": 1681028828,flake.nixdiffbeforeafterboth2 description = "Jrsonnet";2 description = "Jrsonnet";3 inputs = {3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs";4 nixpkgs.url = "github:nixos/nixpkgs";5 rust-overlay = {5 flake-utils.url = "github:numtide/flake-utils";6 url = "github:oxalica/rust-overlay";7 inputs.nixpkgs.follows = "nixpkgs";8 };6 rust-overlay = {9 flake-parts = {7 url = "github:oxalica/rust-overlay";10 url = "github:hercules-ci/flake-parts";8 inputs = {11 inputs.nixpkgs-lib.follows = "nixpkgs";9 nixpkgs.follows = "nixpkgs";10 flake-utils.follows = "flake-utils";11 };12 };12 };13 crane = {13 crane = {14 url = "github:ipetkov/crane";14 url = "github:ipetkov/crane";15 inputs.nixpkgs.follows = "nixpkgs";15 inputs.nixpkgs.follows = "nixpkgs";16 };16 };17 shelly = {18 url = "github:CertainLach/shelly";19 inputs = {20 flake-parts.follows = "flake-parts";21 nixpkgs.follows = "nixpkgs";22 };23 };17 };24 };18 outputs = {25 outputs = inputs @ {19 nixpkgs,26 nixpkgs,20 flake-utils,27 flake-parts,21 rust-overlay,28 rust-overlay,22 crane,29 crane,30 shelly,23 ...31 ...24 }:32 }:25 flake-utils.lib.eachDefaultSystem (33 flake-parts.lib.mkFlake {inherit inputs;} {34 imports = [shelly.flakeModule];35 systems = ["x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" "mingw-w64"];36 perSystem = {37 config,26 system: let38 system,39 ...40 }: let27 pkgs = import nixpkgs {41 pkgs = import nixpkgs {28 inherit system;42 inherit system;29 overlays = [rust-overlay.overlays.default];43 overlays = [rust-overlay.overlays.default];32 rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;46 rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;33 craneLib = (crane.mkLib pkgs).overrideToolchain rust;47 craneLib = (crane.mkLib pkgs).overrideToolchain rust;34 in {48 in {49 legacyPackages = {50 jsonnetImpls = {51 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix {};52 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix {};53 jsonnet = pkgs.callPackage ./nix/jsonnet.nix {};54 # I didn't managed to build it, and nixpkgs version is marked as broken55 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };56 rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix {};57 };58 };35 packages = rec {59 packages = rec {36 default = jrsonnet;60 default = jrsonnet;37 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix {};38 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix {};39 jsonnet = pkgs.callPackage ./nix/jsonnet.nix {};40 # I didn't managed to build it, and nixpkgs version is marked as broken41 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };42 rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix {};436144 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {62 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {45 inherit craneLib;63 inherit craneLib;61 };79 };628063 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {81 benchmarks = pkgs.callPackage ./nix/benchmarks.nix {64 inherit go-jsonnet sjsonnet jsonnet rsjsonnet;82 inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;65 jrsonnetVariants = [83 jrsonnetVariants = [66 {84 {67 drv = jrsonnet.override {forBenchmarks = true;};85 drv = jrsonnet.override {forBenchmarks = true;};70 ];88 ];71 };89 };72 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {90 benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {73 inherit go-jsonnet sjsonnet jsonnet rsjsonnet;91 inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;74 quick = true;92 quick = true;75 jrsonnetVariants = [93 jrsonnetVariants = [76 {94 {80 ];98 ];81 };99 };82 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {100 benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {83 inherit go-jsonnet sjsonnet jsonnet rsjsonnet;101 inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;84 jrsonnetVariants = [102 jrsonnetVariants = [85 {103 {86 drv = jrsonnet.override {forBenchmarks = true;};104 drv = jrsonnet.override {forBenchmarks = true;};97 ];115 ];98 };116 };99 benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {117 benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {100 inherit go-jsonnet sjsonnet jsonnet rsjsonnet;118 inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;101 quick = true;119 quick = true;102 jrsonnetVariants = [120 jrsonnetVariants = [103 {121 {115 ];133 ];116 };134 };117 };135 };118 devShells.default = craneLib.devShell {136 shelly.shells.default = {137 factory = craneLib.devShell;119 packages = with pkgs; [138 packages = with pkgs;139 [120 alejandra140 alejandra130 valgrind151 valgrind131 kcachegrind152 kcachegrind132 ];153 ];133 };154 };134 }155 };135 );156 };136}157}137158