git.delta.rocks / jrsonnet / refs/commits / 35053409e3f1

difftreelog

chore update flake

Lach2025-03-23parent: #cd1bdf7.patch.diff
in: trunk

16 files changed

modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,6 +2,8 @@
 members = ["crates/*", "cmds/*"]
 resolver = "2"
 package.version = "0.1.0"
+package.edition = "2021"
+package.rust-version = "1.82.0"
 
 [workspace.dependencies]
 nixlike = { path = "./crates/nixlike" }
modifiedcmds/fleet/Cargo.tomldiffbeforeafterboth
--- a/cmds/fleet/Cargo.toml
+++ b/cmds/fleet/Cargo.toml
@@ -3,7 +3,8 @@
 description = "NixOS configuration management"
 version = "0.2.0"
 authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
-edition = "2021"
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 nixlike.workspace = true
modifiedcmds/generator-helper/Cargo.tomldiffbeforeafterboth
--- a/cmds/generator-helper/Cargo.toml
+++ b/cmds/generator-helper/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "fleet-generator-helper"
-edition = "2021"
 version.workspace = true
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 age.workspace = true
modifiedcmds/generator-helper/src/main.rsdiffbeforeafterboth
--- a/cmds/generator-helper/src/main.rs
+++ b/cmds/generator-helper/src/main.rs
@@ -234,8 +234,8 @@
 			let recipients = load_identities()?;
 			write_private(&recipients, &output, stdin(), encoding)?;
 		}
-		Opts::Generate(gen) => {
-			match gen {
+		Opts::Generate(generate) => {
+			match generate {
 				Generate::Ed25519 {
 					public,
 					private,
modifiedcmds/install-secrets/Cargo.tomldiffbeforeafterboth
--- a/cmds/install-secrets/Cargo.toml
+++ b/cmds/install-secrets/Cargo.toml
@@ -1,8 +1,8 @@
 [package]
 name = "fleet-install-secrets"
 version = "0.1.0"
-edition = "2021"
-rust-version = "1.77.2"
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 clap.workspace = true
modifiedcmds/terraform-provider-fleet/Cargo.tomldiffbeforeafterboth
--- a/cmds/terraform-provider-fleet/Cargo.toml
+++ b/cmds/terraform-provider-fleet/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "terraform-provider-fleet"
-edition = "2021"
 version.workspace = true
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 anyhow.workspace = true
modifiedcrates/better-command/Cargo.tomldiffbeforeafterboth
--- a/crates/better-command/Cargo.toml
+++ b/crates/better-command/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "better-command"
 version = "0.1.0"
-edition = "2021"
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 regex = "1.10"
modifiedcrates/fleet-base/Cargo.tomldiffbeforeafterboth
--- a/crates/fleet-base/Cargo.toml
+++ b/crates/fleet-base/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "fleet-base"
-edition = "2021"
 version.workspace = true
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 age.workspace = true
modifiedcrates/fleet-shared/Cargo.tomldiffbeforeafterboth
1[package]1[package]
2name = "fleet-shared"2name = "fleet-shared"
3version.workspace = true
3edition = "2021"4edition.workspace = true
4version.workspace = true5rust-version.workspace = true
56
6[dependencies]7[dependencies]
7base64 = "0.22.1"8base64 = "0.22.1"
modifiedcrates/nix-eval/Cargo.tomldiffbeforeafterboth
--- a/crates/nix-eval/Cargo.toml
+++ b/crates/nix-eval/Cargo.toml
@@ -1,8 +1,9 @@
 [package]
 name = "nix-eval"
-edition = "2021"
 version.workspace = true
 build = "build.rs"
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 anyhow.workspace = true
modifiedcrates/nix-native-eval/Cargo.tomldiffbeforeafterboth
--- a/crates/nix-native-eval/Cargo.toml
+++ b/crates/nix-native-eval/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "nix-native-eval"
-edition = "2021"
 version.workspace = true
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 anyhow.workspace = true
modifiedcrates/nixlike/Cargo.tomldiffbeforeafterboth
--- a/crates/nixlike/Cargo.toml
+++ b/crates/nixlike/Cargo.toml
@@ -1,7 +1,8 @@
 [package]
 name = "nixlike"
 version = "0.1.0"
-edition = "2021"
+edition.workspace = true
+rust-version.workspace = true
 
 [dependencies]
 thiserror.workspace = true
modifiedflake.lockdiffbeforeafterboth
--- a/flake.lock
+++ b/flake.lock
@@ -2,11 +2,11 @@
   "nodes": {
     "crane": {
       "locked": {
-        "lastModified": 1731098351,
-        "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
+        "lastModified": 1739936662,
+        "narHash": "sha256-x4syUjNUuRblR07nDPeLDP7DpphaBVbUaSoeZkFbGSk=",
         "owner": "ipetkov",
         "repo": "crane",
-        "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
+        "rev": "19de14aaeb869287647d9461cbd389187d8ecdb7",
         "type": "github"
       },
       "original": {
@@ -22,11 +22,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730504689,
-        "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
+        "lastModified": 1738453229,
+        "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "506278e768c2a08bec68eb62932193e341f55c90",
+        "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
         "type": "github"
       },
       "original": {
@@ -37,16 +37,16 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1731873344,
-        "narHash": "sha256-bKfFggwcvvh9gmOsaMCXKVAGBfXCZZ6QrxLq9Nb1/vw=",
+        "lastModified": 1740339700,
+        "narHash": "sha256-cbrw7EgQhcdFnu6iS3vane53bEagZQy/xyIkDWpCgVE=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "39e98fadd66c2564ac85b1f65bab89e044302c62",
+        "rev": "04ef94c4c1582fd485bbfdb8c4a8ba250e359195",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
-        "ref": "master",
+        "ref": "release-24.11",
         "repo": "nixpkgs",
         "type": "github"
       }
@@ -56,7 +56,8 @@
         "crane": "crane",
         "flake-parts": "flake-parts",
         "nixpkgs": "nixpkgs",
-        "rust-overlay": "rust-overlay"
+        "rust-overlay": "rust-overlay",
+        "shelly": "shelly"
       }
     },
     "rust-overlay": {
@@ -66,11 +67,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1731820690,
-        "narHash": "sha256-/hHFMTD+FGURXZ4JtfXoIgpy87zL505pVi6AL76Wc+U=",
+        "lastModified": 1740277845,
+        "narHash": "sha256-NNU0CdiaSbAeZ8tpDG4aFi9qtcdlItRvk8Xns9oBrVU=",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "bbab2ab9e1932133b1996baa1dc00fefe924ca81",
+        "rev": "f933070c29f9c1c5457447a51903f27f76ebb519",
         "type": "github"
       },
       "original": {
@@ -78,6 +79,21 @@
         "repo": "rust-overlay",
         "type": "github"
       }
+    },
+    "shelly": {
+      "locked": {
+        "lastModified": 1737089050,
+        "narHash": "sha256-SQ22z9L7fSC8FWNIlImpKeBGBUPoWpsTy9uc75o7uK0=",
+        "owner": "CertainLach",
+        "repo": "shelly",
+        "rev": "b5fa6bb56dcd1541ec399ceab1e95a74872ecd34",
+        "type": "github"
+      },
+      "original": {
+        "owner": "CertainLach",
+        "repo": "shelly",
+        "type": "github"
+      }
     }
   },
   "root": "root",
modifiedflake.nixdiffbeforeafterboth
--- a/flake.nix
+++ b/flake.nix
@@ -2,7 +2,7 @@
   description = "NixOS configuration management";
 
   inputs = {
-    nixpkgs.url = "github:nixos/nixpkgs/master";
+    nixpkgs.url = "github:nixos/nixpkgs/release-24.11";
     rust-overlay = {
       url = "github:oxalica/rust-overlay";
       inputs.nixpkgs.follows = "nixpkgs";
@@ -12,126 +12,146 @@
       inputs.nixpkgs-lib.follows = "nixpkgs";
     };
     crane.url = "github:ipetkov/crane";
+    shelly.url = "github:CertainLach/shelly";
   };
-  outputs = inputs:
-    inputs.flake-parts.lib.mkFlake {
-      inherit inputs;
-    } {
-      flake = rec {
-        lib =
-          (import ./lib {
-            inherit (inputs.nixpkgs) lib;
-          })
-          // {
-            fleetConfiguration = throw "function-based interface is deprecated, use flake-parts syntax instead";
+  outputs =
+    inputs:
+    inputs.flake-parts.lib.mkFlake
+      {
+        inherit inputs;
+      }
+      {
+        imports = [ inputs.shelly.flakeModule ];
+        flake = rec {
+          lib =
+            (import ./lib {
+              inherit (inputs.nixpkgs) lib;
+            })
+            // {
+              fleetConfiguration = throw "function-based interface is deprecated, use flake-parts syntax instead";
+            };
+          flakeModules.default = import ./lib/flakePart.nix {
+            inherit (inputs) crane;
           };
-        flakeModules.default = import ./lib/flakePart.nix {
-          inherit (inputs) crane;
-        };
-        flakeModule = flakeModules.default;
+          flakeModule = flakeModules.default;
 
-        fleetModules.tf = ./modules/extras/tf.nix;
+          fleetModules.tf = ./modules/extras/tf.nix;
 
-        # To be used with https://github.com/NixOS/nix/pull/8892
-        schemas = let
-          inherit (inputs.nixpkgs.lib) mapAttrs;
-        in {
-          fleetConfigurations = {
-            version = 1;
-            doc = ''
-              The `fleetConfigurations` flake output defines fleet cluster configurations.
-            '';
-            inventory = output: {
-              children =
-                mapAttrs (configName: cluster: {
-                  what = "fleet cluster configuration";
+          # To be used with https://github.com/NixOS/nix/pull/8892
+          schemas =
+            let
+              inherit (inputs.nixpkgs.lib) mapAttrs;
+            in
+            {
+              fleetConfigurations = {
+                version = 1;
+                doc = ''
+                  The `fleetConfigurations` flake output defines fleet cluster configurations.
+                '';
+                inventory = output: {
+                  children = mapAttrs (configName: cluster: {
+                    what = "fleet cluster configuration";
 
-                  children =
-                    mapAttrs (hostName: host: {
+                    children = mapAttrs (hostName: host: {
                       what = "host [${host.system}]";
-                    })
-                    cluster.config.hosts;
-                  # It is possible to implement this inventory right now, but I want to
-                  # get rid of `fleet.nix` file in the future.
-                  # children.secrets = { };
-                })
-                output;
+                    }) cluster.config.hosts;
+                    # It is possible to implement this inventory right now, but I want to
+                    # get rid of `fleet.nix` file in the future.
+                    # children.secrets = { };
+                  }) output;
+                };
+              };
             };
-          };
         };
-      };
-      # Supported and tested list of deployment targets.
-      systems = ["x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux"];
-      perSystem = {
-        config,
-        system,
-        pkgs,
-        ...
-      }: let
-        inherit (lib.attrsets) mapAttrs';
-        inherit (lib.lists) elem;
-        # Can also be built for darwin, through it is not usual to deploy nixos systems from macos machines.
-        # I have no hardware for such testing, thus only adding machines I actually have and use.
-        #
-        # It is not possible to deploy any host from armv6/armv7 hardware, and I don't think it even makes sense.
-        deployerSystems = ["aarch64-linux" "x86_64-linux"];
-        deployerSystem = elem system deployerSystems;
-        lib = pkgs.lib;
-        rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
-        craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rust;
-      in {
-        _module.args.pkgs = import inputs.nixpkgs {
-          inherit system;
-          overlays = [(inputs.rust-overlay.overlays.default)];
-        };
-        # Reference fleet package should be built with nightly rust, specified in rust-toolchain.toml.
-        packages = lib.mkIf deployerSystem (let
-          packages = pkgs.callPackages ./pkgs {
-            inherit craneLib;
-          };
-        in
-          packages // {default = packages.fleet;});
-        # fleet-install-secrets will not be built normally, because they are not ran directly by user most of the time.
-        # checks there build packages for default nixpkgs rustPlatform packages.
-        checks = let
-          packages = pkgs.callPackages ./pkgs {
-            inherit craneLib;
-          };
-          prefixAttrs = prefix: attrs:
-            mapAttrs' (name: value: {
-              name = "${prefix}${name}";
-              value = value.overrideAttrs (prev: {
-                pname = "${prefix}${prev.pname}";
+        # Supported and tested list of deployment targets.
+        systems = [
+          "x86_64-linux"
+          "aarch64-linux"
+          "armv7l-linux"
+          "armv6l-linux"
+        ];
+        perSystem =
+          {
+            config,
+            system,
+            pkgs,
+            ...
+          }:
+          let
+            inherit (lib.attrsets) mapAttrs';
+            inherit (lib.lists) elem;
+            # Can also be built for darwin, through it is not usual to deploy nixos systems from macos machines.
+            # I have no hardware for such testing, thus only adding machines I actually have and use.
+            #
+            # It is not possible to deploy any host from armv6/armv7 hardware, and I don't think it even makes sense.
+            deployerSystems = [
+              "aarch64-linux"
+              "x86_64-linux"
+            ];
+            deployerSystem = elem system deployerSystems;
+            lib = pkgs.lib;
+            rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
+            craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rust;
+          in
+          {
+            _module.args.pkgs = import inputs.nixpkgs {
+              inherit system;
+              overlays = [ (inputs.rust-overlay.overlays.default) ];
+            };
+            # Reference fleet package should be built with nightly rust, specified in rust-toolchain.toml.
+            packages = lib.mkIf deployerSystem (
+              let
+                packages = pkgs.callPackages ./pkgs {
+                  inherit craneLib;
+                };
+              in
+              packages // { default = packages.fleet; }
+            );
+            # fleet-install-secrets will not be built normally, because they are not ran directly by user most of the time.
+            # checks there build packages for default nixpkgs rustPlatform packages.
+            checks =
+              let
+                nixpkgsCraneLib = inputs.crane.mkLib pkgs;
+                packages = pkgs.callPackages ./pkgs {
+                  craneLib = nixpkgsCraneLib;
+                };
+                prefixAttrs =
+                  prefix: attrs:
+                  mapAttrs' (name: value: {
+                    name = "${prefix}${name}";
+                    value = value.overrideAttrs (prev: {
+                      pname = "${prefix}${prev.pname}";
+                    });
+                  }) attrs;
+              in
+              # fleet-install-secrets is installed to remote systems, thus needs to work
+              # with rust in nixpkgs.
+              (prefixAttrs "nixpkgs-" {
+                inherit (packages) fleet-install-secrets;
               });
-            })
-            attrs;
-        in
-          # `fleet` crate wants nightly rust, also little sense of supporting it on stable nixpkgs.
-          (prefixAttrs "nixpkgs-" (removeAttrs packages ["fleet"]));
-        # TODO: It should be possible to move lib.mkIf to default attribute, instead of disabling the whole
-        # devShells block, yet nix flake check fails here, due to no default shell found. It is nix or flake-parts bug?
-        devShells = lib.mkIf deployerSystem {
-          default = craneLib.devShell {
-            packages = with pkgs; [
-              rust
-              alejandra
-              cargo-edit
-              cargo-udeps
-              cargo-fuzz
-              cargo-watch
-              cargo-outdated
+            # TODO: It should be possible to move lib.mkIf to default attribute, instead of disabling the whole
+            # devShells block, yet nix flake check fails here, due to no default shell found. It is nix or flake-parts bug?
+            shelly.shells.default = lib.mkIf deployerSystem {
+              factory = craneLib.devShell;
+              packages = with pkgs; [
+                rust
+                alejandra
+                cargo-edit
+                cargo-udeps
+                cargo-fuzz
+                cargo-watch
+                cargo-outdated
 
-              pkg-config
-              openssl
-              bacon
-              nil
-              rustPlatform.bindgenHook
-              nixVersions.nix_2_22
-            ];
-            env.PROTOC = "${pkgs.protobuf}/bin/protoc";
+                pkg-config
+                openssl
+                bacon
+                nil
+                rustPlatform.bindgenHook
+                nixVersions.nix_2_22
+              ];
+              environment.PROTOC = "${pkgs.protobuf}/bin/protoc";
+            };
+            formatter = pkgs.alejandra;
           };
-        };
-        formatter = pkgs.alejandra;
       };
-    };
 }
modifiedlib/flakePart.nixdiffbeforeafterboth
--- a/lib/flakePart.nix
+++ b/lib/flakePart.nix
@@ -65,11 +65,12 @@
                       else data;
                     nixpkgs.buildUsing = mkOptionDefault bootstrapNixpkgs;
                     nixpkgs.overlays = [
-                      (final: prev:
-                        import ../pkgs {
+                      (final: prev: {
+                        inherit (import ../pkgs {
                           inherit (prev) callPackage;
                           craneLib = crane.mkLib prev;
-                        })
+                        }) fleet-install-secrets;
+                      })
                     ];
                   };
                 }
modifiedrust-toolchain.tomldiffbeforeafterboth
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
 [toolchain]
-channel = "nightly-2024-11-12"
+channel = "1.85.0"
 components = ["rustfmt", "clippy", "rust-analyzer", "rust-src"]