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

difftreelog

ci add flake outputs formatter, schemas

Yaroslav Bolyukin2024-06-03parent: #7c29776.patch.diff
in: trunk

4 files changed

modifiedflake.nixdiffbeforeafterboth
--- a/flake.nix
+++ b/flake.nix
@@ -36,6 +36,31 @@
               craneLib = crane.mkLib pkgs;
             };
         };
+        # To be used with https://github.com/NixOS/nix/pull/8892
+        schemas = {
+          fleetConfigurations = {
+            version = 1;
+            doc = ''
+              The `fleetConfigurations` flake output defines fleet cluster configurations.
+            '';
+            inventory = output: {
+              children =
+                builtins.mapAttrs (configName: cluster: {
+                  what = "fleet cluster configuration";
+
+                  children =
+                    builtins.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;
+            };
+          };
+        };
       };
       # Supported and tested list of deployment targets.
       systems = ["x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux"];
@@ -108,6 +133,7 @@
           # `fleet` crate wants nightly rust, also little sense of supporting it on stable nixpkgs.
           (prefixAttrs "nixpkgs-" (removeAttrs packages ["fleet"]))
           // (prefixAttrs "nixpkgs-stable-" (removeAttrs packages-with-nixpkgs-stable ["fleet"]));
+        formatter = pkgs.alejandra;
       };
     };
 }
modifiedlib/default.nixdiffbeforeafterboth
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -1,6 +1,4 @@
-{
-  fleetPkgsForPkgs,
-}: {
+{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
modifiedmodules/fleet/assertions.nixdiffbeforeafterboth
--- a/modules/fleet/assertions.nix
+++ b/modules/fleet/assertions.nix
@@ -1,16 +1,16 @@
-{ lib, ... }:
-
-with lib;
-
-{
-
+{lib, ...}:
+with lib; {
   options = {
-
     assertions = mkOption {
       type = types.listOf types.unspecified;
       internal = true;
-      default = [ ];
-      example = [{ assertion = false; message = "you can't enable this for that reason"; }];
+      default = [];
+      example = [
+        {
+          assertion = false;
+          message = "you can't enable this for that reason";
+        }
+      ];
       description = ''
         This option allows modules to express conditions that must
         hold for the evaluation of the system configuration to
@@ -20,15 +20,14 @@
 
     warnings = mkOption {
       internal = true;
-      default = [ ];
+      default = [];
       type = types.listOf types.str;
-      example = [ "The `foo' service is deprecated and will go away soon!" ];
+      example = ["The `foo' service is deprecated and will go away soon!"];
       description = ''
         This option allows modules to show warnings to users during
         the evaluation of the system configuration.
       '';
     };
-
   };
   # impl of assertions is in <fleet/lib/default.nix>
 }
modifiedpkgs/generator-helper.nixdiffbeforeafterboth
before · pkgs/generator-helper.nix
12{craneLib}:3craneLib.buildPackage rec {4  pname = "fleet-generator-helper";56  src = craneLib.cleanCargoSource (craneLib.path ../.);7  strictDeps = true;89  cargoExtraArgs = "--locked -p ${pname}";1011  postInstall = ''12		mv bin/${pname} bin/genhelper13  '';14}