difftreelog
feat always build with crane
in: trunk
3 files changed
flake.nixdiffbeforeafterboth1{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}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}lib/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;
nixos/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