clan-cli: Make clan flakes create discover templates from inputs. Add clan flakes list command

This commit is contained in:
Qubasa
2025-01-30 16:24:50 +07:00
parent c212538ac7
commit 7545a9a883
9 changed files with 438 additions and 74 deletions

39
templates/default.nix Normal file
View File

@@ -0,0 +1,39 @@
{ ... }:
{
disko = {
single-disk = {
description = "A simple ext4 disk with a single partition";
path = ./disk/single-disk;
};
};
machine = {
flash-installer = {
description = "Initialize a new flash-installer machine";
path = ./clan/machineTemplates/machines/flash-installer;
};
new-machine = {
description = "Initialize a new machine";
path = ./clan/machineTemplates/machines/new-machine;
};
};
clan = {
default = {
description = "Initialize a new clan flake";
path = ./clan/new-clan;
};
minimal = {
description = "for clans managed via (G)UI";
path = ./clan/minimal;
};
flake-parts = {
description = "Flake-parts";
path = ./clan/flake-parts;
};
minimal-flake-parts = {
description = "Minimal flake-parts clan template";
path = ./clan/minimal-flake-parts;
};
};
}

View File

@@ -1,9 +1,9 @@
{ self, inputs, ... }:
{
flake = (import ./flake.nix).outputs { } // {
checks.x86_64-linux.template-minimal =
flake = {
checks.x86_64-linux.new-template-minimal =
let
path = self.templates.minimal.path;
path = self.clan.templates.clan.minimal.path;
initialized = inputs.nixpkgs.legacyPackages.x86_64-linux.runCommand "minimal-clan-flake" { } ''
mkdir $out
cp -r ${path}/* $out
@@ -30,7 +30,7 @@
in
{
type = "derivation";
name = "minimal-clan-flake-check";
name = "new-minimal-clan-flake-check";
inherit (evaled.nixosConfigurations.testmachine.config.system.build.toplevel) drvPath outPath;
};
};