git.delta.rocks / jrsonnet / refs/commits / d8bac4e1b3aa

difftreelog

feat always build with crane

Yaroslav Bolyukin2024-06-01parent: #966e7f1.patch.diff
in: trunk

3 files changed

modifiedflake.nixdiffbeforeafterboth
before · flake.nix
1{2  description = "NixOS configuration management";34  inputs = {5    nixpkgs.url = "github:nixos/nixpkgs/master";6    nixpkgs-stable-for-tests.url = "github:nixos/nixpkgs/nixos-23.11";7    rust-overlay = {8      url = "github:oxalica/rust-overlay";9      inputs = {10        nixpkgs.follows = "nixpkgs";11        flake-utils.follows = "flake-utils";12      };13    };14    flake-utils.url = "github:numtide/flake-utils";15    crane = {16      url = "github:ipetkov/crane";17      inputs.nixpkgs.follows = "nixpkgs";18    };19  };20  outputs = {21    self,22    rust-overlay,23    flake-utils,24    nixpkgs,25    nixpkgs-stable-for-tests,26    crane,27  }:28    with nixpkgs.lib;29      {30        lib = import ./lib {inherit flake-utils;};31      }32      // flake-utils.lib.eachDefaultSystem (system: let33        pkgs =34          import nixpkgs35          {36            inherit system;37            overlays = [(import rust-overlay)];38          };39        rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;40        craneLib = (crane.mkLib pkgs).overrideToolchain rust;41      in {42        packages = let43          packages = import ./pkgs {44            inherit (pkgs) callPackage;45            inherit craneLib;46          };47        in48          packages // {default = packages.fleet;};4950        checks = let51          packages = import ./pkgs {52            inherit (pkgs) callPackage;53            craneLib = crane.mkLib (import nixpkgs {inherit system;});54          };55          packages-with-nixpkgs-stable = import ./pkgs {56            inherit (pkgs) callPackage;57            craneLib = crane.mkLib (import nixpkgs-stable-for-tests {inherit system;});58          };59          prefixAttrs = prefix: attrs:60            nixpkgs.lib.attrsets.mapAttrs' (name: value: {61              name = "${prefix}${name}";62              value = value.overrideAttrs (prev: {63                pname = "${prefix}${prev.pname}";64              });65            })66            attrs;67        in68          # `fleet` crate wants nightly rust, also little sense of supporting it on stable nixpkgs.69          (prefixAttrs "nixpkgs-" (removeAttrs packages ["fleet"]))70          // (prefixAttrs "nixpkgs-stable-" (removeAttrs packages-with-nixpkgs-stable ["fleet"]));7172        devShells.default = craneLib.devShell {73          nativeBuildInputs = with pkgs; [74            alejandra75            lld76            cargo-edit77            cargo-udeps78            cargo-fuzz79            cargo-watch80            cargo-outdated8182            pkg-config83            openssl84            bacon85          ];86        };87      });88}
after · flake.nix
1{2  description = "NixOS configuration management";34  inputs = {5    nixpkgs.url = "github:nixos/nixpkgs/master";6    nixpkgs-stable-for-tests.url = "github:nixos/nixpkgs/nixos-23.11";7    rust-overlay = {8      url = "github:oxalica/rust-overlay";9      inputs = {10        nixpkgs.follows = "nixpkgs";11        flake-utils.follows = "flake-utils";12      };13    };14    flake-utils.url = "github:numtide/flake-utils";15    crane = {16      url = "github:ipetkov/crane";17      inputs.nixpkgs.follows = "nixpkgs";18    };19  };20  outputs = {21    self,22    rust-overlay,23    flake-utils,24    nixpkgs,25    nixpkgs-stable-for-tests,26    crane,27  }:28    with nixpkgs.lib;29      {30        lib = import ./lib {31          inherit flake-utils;32          fleetPkgsForPkgs = pkgs: import ./pkgs {33            inherit (pkgs) callPackage;34            craneLib = crane.mkLib pkgs;35          };36        };37      }38      // flake-utils.lib.eachDefaultSystem (system: let39        pkgs =40          import nixpkgs41          {42            inherit system;43            overlays = [(import rust-overlay)];44          };45        rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;46        craneLib = (crane.mkLib pkgs).overrideToolchain rust;47      in {48        packages = let49          packages = import ./pkgs {50            inherit (pkgs) callPackage;51            inherit craneLib;52          };53        in54          packages // {default = packages.fleet;};5556        checks = let57          packages = import ./pkgs {58            inherit (pkgs) callPackage;59            craneLib = crane.mkLib (import nixpkgs {inherit system;});60          };61          packages-with-nixpkgs-stable = import ./pkgs {62            inherit (pkgs) callPackage;63            craneLib = crane.mkLib (import nixpkgs-stable-for-tests {inherit system;});64          };65          prefixAttrs = prefix: attrs:66            nixpkgs.lib.attrsets.mapAttrs' (name: value: {67              name = "${prefix}${name}";68              value = value.overrideAttrs (prev: {69                pname = "${prefix}${prev.pname}";70              });71            })72            attrs;73        in74          # `fleet` crate wants nightly rust, also little sense of supporting it on stable nixpkgs.75          (prefixAttrs "nixpkgs-" (removeAttrs packages ["fleet"]))76          // (prefixAttrs "nixpkgs-stable-" (removeAttrs packages-with-nixpkgs-stable ["fleet"]));7778        devShells.default = craneLib.devShell {79          packages = with pkgs; [80            alejandra81            lld82            cargo-edit83            cargo-udeps84            cargo-fuzz85            cargo-watch86            cargo-outdated8788            pkg-config89            openssl90            bacon91          ];92        };93      });94}
modifiedlib/default.nixdiffbeforeafterboth
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -1,4 +1,7 @@
-{flake-utils}: {
+{
+  flake-utils,
+  fleetPkgsForPkgs,
+}: {
   fleetConfiguration = {
     # TODO: Provide by fleet, instead of requesting user to provide it.
     # This is not good that user needs to provide it, as it becomes a flake data, and fleet arbitrarily rewriting it
@@ -25,7 +28,8 @@
         ++ [
           data
           ({...}: {
-            inherit nixosModules hosts overlays;
+            inherit nixosModules hosts;
+            overlays = [(final: prev: (fleetPkgsForPkgs final))] ++ overlays;
           })
         ]
         ++ fleetModules;
modifiednixos/modules/module-list.nixdiffbeforeafterboth
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1,5 +1,4 @@
 [
-  ../fleetPkgs.nix
   ../meta.nix
   ../secrets.nix
   ../rollback.nix