git.delta.rocks / fleet / refs/commits / 28094c98518f

difftreelog

ci switch to nixos-26.05

zuuqnlrvYaroslav Bolyukin2026-06-18parent: #48d120a.patch.diff

2 files changed

modifiedflake.lockdiffbeforeafterboth
--- a/flake.lock
+++ b/flake.lock
@@ -2,10 +2,10 @@
   "nodes": {
     "crane": {
       "locked": {
-        "lastModified": 1780532242,
+        "lastModified": 1781825982,
         "owner": "ipetkov",
         "repo": "crane",
-        "rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
+        "rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7",
         "type": "github"
       },
       "original": {
@@ -126,15 +126,15 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1781402740,
+        "lastModified": 1781820577,
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "49145c5aba740948d6da1265f584826bd27619ad",
+        "rev": "adf9aaad17ce9361ef72b69a9bf53026b334b5fc",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
-        "ref": "release-25.11",
+        "ref": "release-26.05",
         "repo": "nixpkgs",
         "type": "github"
       }
@@ -190,10 +190,10 @@
         ]
       },
       "locked": {
-        "lastModified": 1781320681,
+        "lastModified": 1781752752,
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "5b929d8c854149d926d05ea0cd6469bf4e54db27",
+        "rev": "c06d86dabe5b92982b9d67acccb9990d58da3a0e",
         "type": "github"
       },
       "original": {
modifiedflake.nixdiffbeforeafterboth
after · flake.nix
1{2  description = "NixOS cluster configuration management";34  inputs = {5    nixpkgs.url = "github:nixos/nixpkgs/release-26.05";6    rust-overlay = {7      url = "github:oxalica/rust-overlay";8      inputs.nixpkgs.follows = "nixpkgs";9    };10    flake-parts = {11      url = "github:hercules-ci/flake-parts";12      inputs.nixpkgs-lib.follows = "nixpkgs";13    };14    crane.url = "github:ipetkov/crane";15    shelly.url = "github:CertainLach/shelly";16    fleet-tf = {17      url = "github:CertainLach/fleet-tf";18      inputs.nixpkgs.follows = "nixpkgs";19      inputs.shelly.follows = "shelly";20      inputs.flake-parts.follows = "flake-parts";21    };22    treefmt-nix = {23      url = "github:numtide/treefmt-nix";24      inputs.nixpkgs.follows = "nixpkgs";25    };26    # DeterminateSystem's nix fork is controversial, but I don't mind it,27    # and it has lazy-trees support which is useful for fleet.28    nix = {29      url = "github:deltarocks/nix/fleet";30      inputs.nixpkgs.follows = "nixpkgs";31      inputs.flake-parts.follows = "flake-parts";32    };33  };34  outputs =35    inputs:36    inputs.flake-parts.lib.mkFlake37      {38        inherit inputs;39      }40      {41        imports = [ inputs.shelly.flakeModule ];42        flake = rec {43          lib =44            (import ./lib {45              inherit (inputs.nixpkgs) lib;46            })47            // {48              fleetConfiguration = throw "function-based interface is deprecated, use flake-parts syntax instead";49            };50          flakeModules.default = import ./lib/flakePart.nix {51            inherit (inputs) crane;52          };53          flakeModule = flakeModules.default;5455          flakeModules.fleet-tf = ./modules/extras/tf.nix;5657          # Used to test nix-eval bindings58          testData = {59            testObj = {60              v = "Hello";61            };62            testString = "hello";63            testPrimop = op: "PREFIX_" + (op "body" "_SUFFIX");64          };6566          # To be used with https://github.com/NixOS/nix/pull/889267          # schemas =68          #   let69          #     inherit (inputs.nixpkgs.lib) mapAttrs;70          #   in71          #   {72          #     fleetConfigurations = {73          #       version = 1;74          #       doc = ''75          #         The `fleetConfigurations` flake output defines fleet cluster configurations.76          #       '';77          #       inventory = output: {78          #         children = mapAttrs (configName: cluster: {79          #           what = "fleet cluster configuration";80          #81          #           children = mapAttrs (hostName: host: {82          #             what = "host [${host.system}]";83          #           }) cluster.config.hosts;84          #           # It is possible to implement this inventory right now, but I want to85          #           # get rid of `fleet.nix` file in the future.86          #           # children.secrets = { };87          #         }) output;88          #       };89          #     };90          #   };91        };92        # Supported and tested list of deployment targets.93        systems = [94          "x86_64-linux"95          "aarch64-linux"96          "armv7l-linux"97          "armv6l-linux"98        ];99        perSystem =100          {101            config,102            system,103            pkgs,104            self,105            inputs',106            ...107          }:108          let109            inherit (lib.attrsets) mapAttrs';110            inherit (lib.lists) elem;111            # Can also be built for darwin, through it is not usual to deploy nixos systems from macos machines.112            # I have no hardware for such testing, thus only adding machines I actually have and use.113            #114            # It is not possible to deploy any host from armv6/armv7 hardware, and I don't think it even makes sense.115            deployerSystems = [116              "aarch64-linux"117              "x86_64-linux"118            ];119            deployerSystem = elem system deployerSystems;120            lib = pkgs.lib;121            rust = (pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml).override {122              enableLibsecret = false;123            };124            craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rust;125            treefmt = (inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix).config.build;126          in127          {128            _module.args.pkgs = import inputs.nixpkgs {129              inherit system;130              overlays = [131                inputs.rust-overlay.overlays.default132              ];133            };134            # Reference fleet package should be built with nightly rust, specified in rust-toolchain.toml.135            packages = lib.mkIf deployerSystem (136              let137                packages = pkgs.callPackages ./pkgs {138                  inherit craneLib inputs;139                };140              in141              packages // { default = packages.fleet; }142            );143            # fleet-install-secrets will not be built normally, because they are not ran directly by user most of the time.144            # checks there build packages for default nixpkgs rustPlatform packages.145            checks =146              let147                nixpkgsCraneLib = inputs.crane.mkLib pkgs;148                packages = pkgs.callPackages ./pkgs {149                  craneLib = nixpkgsCraneLib;150                  inherit inputs;151                };152                prefixAttrs =153                  prefix: attrs:154                  mapAttrs' (name: value: {155                    name = "${prefix}${name}";156                    value = value.overrideAttrs (prev: {157                      pname = "${prefix}${prev.pname}";158                    });159                  }) attrs;160              in161              # fleet-install-secrets is installed to remote systems, thus needs to work162              # with rust in nixpkgs.163              (prefixAttrs "nixpkgs-" {164                inherit (packages) fleet-install-secrets;165              })166              // {167                formatting = treefmt.check self;168              };169            # TODO: It should be possible to move lib.mkIf to default attribute, instead of disabling the whole170            # devShells block, yet nix flake check fails here, due to no default shell found. It is nix or flake-parts bug?171            shelly.shells.default = lib.mkIf deployerSystem {172              factory = craneLib.devShell;173              packages = with pkgs; [174                rust175176                pkg-config177                openssl178                rustPlatform.bindgenHook179                inputs'.nix.packages.nix-expr-c180                inputs'.nix.packages.nix-flake-c181                inputs'.nix.packages.nix-fetchers-c182                inputs'.nix.packages.nix-store-c183                inputs'.nix.packages.nix184185                (rage.overrideAttrs { cargoFeatures = [ "plugin" ]; })186              ];187              environment.PROTOC = "${pkgs.protobuf}/bin/protoc";188            };189            formatter = treefmt.wrapper;190          };191      };192}