mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 06:28:11 +09:00
flake: add coding-agent validation workflow
This commit is contained in:
+50
-9
@@ -25,23 +25,63 @@ let
|
||||
else
|
||||
{ };
|
||||
configurations = dotfilesLib.hosts.mkConfigurations hostSpecs;
|
||||
|
||||
validationMetadata = {
|
||||
schemaVersion = 1;
|
||||
|
||||
hosts = lib.mapAttrs (
|
||||
name: spec:
|
||||
let
|
||||
isDarwin = lib.hasSuffix "-darwin" spec.system;
|
||||
in
|
||||
{
|
||||
inherit (spec) system user;
|
||||
kind = if isDarwin then "darwin" else "nixos";
|
||||
homeManager = spec.homeManager or true;
|
||||
selectedUnits = dotfilesLib.hosts.selectedUnits spec;
|
||||
buildAttr =
|
||||
if isDarwin then
|
||||
"darwinConfigurations.${name}.system"
|
||||
else
|
||||
"nixosConfigurations.${name}.config.system.build.toplevel";
|
||||
}
|
||||
) hostSpecs;
|
||||
|
||||
units = lib.mapAttrs (
|
||||
_id: unit: {
|
||||
inherit (unit) id relativePath;
|
||||
directory = "modules/${lib.concatStringsSep "/" unit.relativePath}";
|
||||
includes = unit.meta.includes;
|
||||
fragments = builtins.attrNames (lib.filterAttrs (_: value: value != null) unit.fragments);
|
||||
}
|
||||
) dotfilesLib.registry.units;
|
||||
};
|
||||
in
|
||||
{
|
||||
flake = {
|
||||
inherit (configurations) darwinConfigurations nixosConfigurations;
|
||||
lib = dotfilesLib;
|
||||
lib = dotfilesLib // { inherit validationMetadata; };
|
||||
};
|
||||
|
||||
perSystem =
|
||||
{ pkgs, system, ... }:
|
||||
let
|
||||
nixosChecks =
|
||||
lib.mapAttrs' (name: nixos: lib.nameValuePair "nixos-${name}" nixos.config.system.build.toplevel)
|
||||
(
|
||||
lib.filterAttrs (
|
||||
_: nixos: nixos.pkgs.stdenv.hostPlatform.system == system
|
||||
) configurations.nixosConfigurations
|
||||
);
|
||||
nixosChecks = lib.mapAttrs' (
|
||||
name: nixos:
|
||||
lib.nameValuePair "nixos-${name}" nixos.config.system.build.toplevel
|
||||
) (
|
||||
lib.filterAttrs (
|
||||
name: _: hostSpecs.${name}.system == system
|
||||
) configurations.nixosConfigurations
|
||||
);
|
||||
darwinChecks = lib.mapAttrs' (
|
||||
name: darwin:
|
||||
lib.nameValuePair "darwin-${name}" darwin.system
|
||||
) (
|
||||
lib.filterAttrs (
|
||||
name: _: hostSpecs.${name}.system == system
|
||||
) configurations.darwinConfigurations
|
||||
);
|
||||
in
|
||||
{
|
||||
checks = {
|
||||
@@ -49,6 +89,7 @@ in
|
||||
inherit inputs lib pkgs;
|
||||
};
|
||||
}
|
||||
// nixosChecks;
|
||||
// nixosChecks
|
||||
// darwinChecks;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user