difftreelog
ci use flake-parts
in: master
2 files changed
flake.lockdiffbeforeafterboth6 packageslockfile v7
Might be heavy and slow!
crane
27025abgithub.com/ipetkov/crane↘ 1↖ 1sourcegithub:ipetkov/cranechecksumsha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7+A=depends onused bydefault
da67096github.com/nix-systems/default↘ 0↖ 1sourcegithub:nix-systems/defaultchecksumsha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=used byflake-utils
b1d9ab7github.com/numtide/flake-utils↘ 1↖ 2sourcegithub:numtide/flake-utilschecksumsha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=depends onused bynixpkgs
836306cgithub.com/nixos/nixpkgs↘ 0↖ 3sourcegithub:nixos/nixpkgschecksumsha256-fGYt2XnTYUS4Q0eH8tVu3ki1+m9YTgZ+NjlfkMKzko0=root
workspace↘ 4↖ 0rust-overlay
d690205github.com/oxalica/rust-overlay↘ 2↖ 1sourcegithub:oxalica/rust-overlaychecksumsha256-gEZl8nYidQwqJhOigJ91JDjoBFoPEWVsd82AKnaE7Go=depends onused by
8 packageslockfile v7
Might be heavy and slow!
crane
27025abgithub.com/ipetkov/crane↘ 1↖ 1sourcegithub:ipetkov/cranechecksumsha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7+A=depends onused bydefault
da67096github.com/nix-systems/default↘ 0↖ 1sourcegithub:nix-systems/defaultchecksumsha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=used byflake-parts
2a55567github.com/hercules-ci/flake-parts↘ 1↖ 2sourcegithub:hercules-ci/flake-partschecksumsha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=depends onused byflake-utils
b1d9ab7github.com/numtide/flake-utils↘ 1↖ 1sourcegithub:numtide/flake-utilschecksumsha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=depends onused bynixpkgs
836306cgithub.com/nixos/nixpkgs↘ 0↖ 5sourcegithub:nixos/nixpkgschecksumsha256-fGYt2XnTYUS4Q0eH8tVu3ki1+m9YTgZ+NjlfkMKzko0=root
workspace↘ 5↖ 0rust-overlay
d690205github.com/oxalica/rust-overlay↘ 2↖ 1sourcegithub:oxalica/rust-overlaychecksumsha256-gEZl8nYidQwqJhOigJ91JDjoBFoPEWVsd82AKnaE7Go=depends onused byshelly
4f70221github.com/CertainLach/shelly↘ 2↖ 1sourcegithub:CertainLach/shellychecksumsha256-NU8NBXVPj0KuY4Tl/LtZPrbX3PmmmgPuhk/1pzm9cyk=depends onused by
flake.nixdiffbeforeafterboth--- a/flake.nix
+++ b/flake.nix
@@ -2,28 +2,42 @@
description = "Jrsonnet";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
- flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
- inputs = {
- nixpkgs.follows = "nixpkgs";
- flake-utils.follows = "flake-utils";
- };
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ flake-parts = {
+ url = "github:hercules-ci/flake-parts";
+ inputs.nixpkgs-lib.follows = "nixpkgs";
};
crane = {
url = "github:ipetkov/crane";
inputs.nixpkgs.follows = "nixpkgs";
};
+ shelly = {
+ url = "github:CertainLach/shelly";
+ inputs = {
+ flake-parts.follows = "flake-parts";
+ nixpkgs.follows = "nixpkgs";
+ };
+ };
};
- outputs = {
+ outputs = inputs @ {
nixpkgs,
- flake-utils,
+ flake-parts,
rust-overlay,
crane,
+ shelly,
...
}:
- flake-utils.lib.eachDefaultSystem (
- system: let
+ flake-parts.lib.mkFlake {inherit inputs;} {
+ imports = [shelly.flakeModule];
+ systems = ["x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" "mingw-w64"];
+ perSystem = {
+ config,
+ system,
+ ...
+ }: let
pkgs = import nixpkgs {
inherit system;
overlays = [rust-overlay.overlays.default];
@@ -32,14 +46,18 @@
rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
craneLib = (crane.mkLib pkgs).overrideToolchain rust;
in {
+ legacyPackages = {
+ jsonnetImpls = {
+ go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix {};
+ sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix {};
+ jsonnet = pkgs.callPackage ./nix/jsonnet.nix {};
+ # I didn't managed to build it, and nixpkgs version is marked as broken
+ # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };
+ rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix {};
+ };
+ };
packages = rec {
default = jrsonnet;
- go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix {};
- sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix {};
- jsonnet = pkgs.callPackage ./nix/jsonnet.nix {};
- # I didn't managed to build it, and nixpkgs version is marked as broken
- # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };
- rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix {};
jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {
inherit craneLib;
@@ -61,7 +79,7 @@
};
benchmarks = pkgs.callPackage ./nix/benchmarks.nix {
- inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
+ inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;
jrsonnetVariants = [
{
drv = jrsonnet.override {forBenchmarks = true;};
@@ -70,7 +88,7 @@
];
};
benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {
- inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
+ inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;
quick = true;
jrsonnetVariants = [
{
@@ -80,7 +98,7 @@
];
};
benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {
- inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
+ inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;
jrsonnetVariants = [
{
drv = jrsonnet.override {forBenchmarks = true;};
@@ -97,7 +115,7 @@
];
};
benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {
- inherit go-jsonnet sjsonnet jsonnet rsjsonnet;
+ inherit (config.legacyPackages.jsonnetImpls) go-jsonnet sjsonnet jsonnet rsjsonnet;
quick = true;
jrsonnetVariants = [
{
@@ -115,22 +133,25 @@
];
};
};
- devShells.default = craneLib.devShell {
- packages = with pkgs; [
- alejandra
- cargo-edit
- cargo-asm
- cargo-outdated
- cargo-watch
- cargo-insta
- lld
- hyperfine
- graphviz
- ] ++ lib.optionals (!stdenv.isDarwin) [
- valgrind
- kcachegrind
- ];
+ shelly.shells.default = {
+ factory = craneLib.devShell;
+ packages = with pkgs;
+ [
+ alejandra
+ cargo-edit
+ cargo-asm
+ cargo-outdated
+ cargo-watch
+ cargo-insta
+ lld
+ hyperfine
+ graphviz
+ ]
+ ++ lib.optionals (!stdenv.isDarwin) [
+ valgrind
+ kcachegrind
+ ];
};
- }
- );
+ };
+ };
}