difftreelog
chore update flake
in: trunk
16 files changed
Cargo.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" }
cmds/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
cmds/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
cmds/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,
cmds/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
cmds/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
crates/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"
crates/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
crates/fleet-shared/Cargo.tomldiffbeforeafterboth--- a/crates/fleet-shared/Cargo.toml
+++ b/crates/fleet-shared/Cargo.toml
@@ -1,7 +1,8 @@
[package]
name = "fleet-shared"
-edition = "2021"
version.workspace = true
+edition.workspace = true
+rust-version.workspace = true
[dependencies]
base64 = "0.22.1"
crates/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
crates/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
crates/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
flake.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",
flake.nixdiffbeforeafterboth1{2 description = "NixOS configuration management";34 inputs = {5 nixpkgs.url = "github:nixos/nixpkgs/release-24.11";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 };17 outputs =18 inputs:19 inputs.flake-parts.lib.mkFlake20 {21 inherit inputs;22 }23 {24 imports = [ inputs.shelly.flakeModule ];25 flake = rec {26 lib =27 (import ./lib {28 inherit (inputs.nixpkgs) lib;29 })30 // {31 fleetConfiguration = throw "function-based interface is deprecated, use flake-parts syntax instead";32 };33 flakeModules.default = import ./lib/flakePart.nix {34 inherit (inputs) crane;35 };36 flakeModule = flakeModules.default;3738 fleetModules.tf = ./modules/extras/tf.nix;3940 # To be used with https://github.com/NixOS/nix/pull/889241 schemas =42 let43 inherit (inputs.nixpkgs.lib) mapAttrs;44 in45 {46 fleetConfigurations = {47 version = 1;48 doc = ''49 The `fleetConfigurations` flake output defines fleet cluster configurations.50 '';51 inventory = output: {52 children = mapAttrs (configName: cluster: {53 what = "fleet cluster configuration";5455 children = mapAttrs (hostName: host: {56 what = "host [${host.system}]";57 }) cluster.config.hosts;58 # It is possible to implement this inventory right now, but I want to59 # get rid of `fleet.nix` file in the future.60 # children.secrets = { };61 }) output;62 };63 };64 };65 };66 # Supported and tested list of deployment targets.67 systems = [68 "x86_64-linux"69 "aarch64-linux"70 "armv7l-linux"71 "armv6l-linux"72 ];73 perSystem =74 {75 config,76 system,77 pkgs,78 ...79 }:80 let81 inherit (lib.attrsets) mapAttrs';82 inherit (lib.lists) elem;83 # Can also be built for darwin, through it is not usual to deploy nixos systems from macos machines.84 # I have no hardware for such testing, thus only adding machines I actually have and use.85 #86 # It is not possible to deploy any host from armv6/armv7 hardware, and I don't think it even makes sense.87 deployerSystems = [88 "aarch64-linux"89 "x86_64-linux"90 ];91 deployerSystem = elem system deployerSystems;92 lib = pkgs.lib;93 rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;94 craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rust;95 in96 {97 _module.args.pkgs = import inputs.nixpkgs {98 inherit system;99 overlays = [ (inputs.rust-overlay.overlays.default) ];100 };101 # Reference fleet package should be built with nightly rust, specified in rust-toolchain.toml.102 packages = lib.mkIf deployerSystem (103 let104 packages = pkgs.callPackages ./pkgs {105 inherit craneLib;106 };107 in108 packages // { default = packages.fleet; }109 );110 # fleet-install-secrets will not be built normally, because they are not ran directly by user most of the time.111 # checks there build packages for default nixpkgs rustPlatform packages.112 checks =113 let114 nixpkgsCraneLib = inputs.crane.mkLib pkgs;115 packages = pkgs.callPackages ./pkgs {116 craneLib = nixpkgsCraneLib;117 };118 prefixAttrs =119 prefix: attrs:120 mapAttrs' (name: value: {121 name = "${prefix}${name}";122 value = value.overrideAttrs (prev: {123 pname = "${prefix}${prev.pname}";124 });125 }) attrs;126 in127 # fleet-install-secrets is installed to remote systems, thus needs to work128 # with rust in nixpkgs.129 (prefixAttrs "nixpkgs-" {130 inherit (packages) fleet-install-secrets;131 });132 # TODO: It should be possible to move lib.mkIf to default attribute, instead of disabling the whole133 # devShells block, yet nix flake check fails here, due to no default shell found. It is nix or flake-parts bug?134 shelly.shells.default = lib.mkIf deployerSystem {135 factory = craneLib.devShell;136 packages = with pkgs; [137 rust138 alejandra139 cargo-edit140 cargo-udeps141 cargo-fuzz142 cargo-watch143 cargo-outdated144145 pkg-config146 openssl147 bacon148 nil149 rustPlatform.bindgenHook150 nixVersions.nix_2_22151 ];152 environment.PROTOC = "${pkgs.protobuf}/bin/protoc";153 };154 formatter = pkgs.alejandra;155 };156 };157}lib/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;
+ })
];
};
}
rust-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"]