From b6bccd218ad09e1ed6547868a282335607f93eb4 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 9 Aug 2025 00:35:02 +0200 Subject: [PATCH] templates(flake-parts-minimal): Fix erroneous removal --- .../clan_cli/tests/test_clan_nix_attrset.py | 1 + templates/clan/flake-parts-minimal/.envrc | 2 ++ templates/clan/flake-parts-minimal/.gitignore | 2 ++ templates/clan/flake-parts-minimal/checks.nix | 22 +++++++++++++ templates/clan/flake-parts-minimal/clan.nix | 9 ++++++ .../clan/flake-parts-minimal/devshells.nix | 17 ++++++++++ templates/clan/flake-parts-minimal/flake.nix | 31 +++++++++++++++++++ .../clan/flake-parts-minimal/formatter.nix | 10 ++++++ templates/flake.nix | 4 +++ 9 files changed, 98 insertions(+) create mode 100644 templates/clan/flake-parts-minimal/.envrc create mode 100644 templates/clan/flake-parts-minimal/.gitignore create mode 100644 templates/clan/flake-parts-minimal/checks.nix create mode 100644 templates/clan/flake-parts-minimal/clan.nix create mode 100644 templates/clan/flake-parts-minimal/devshells.nix create mode 100644 templates/clan/flake-parts-minimal/flake.nix create mode 100644 templates/clan/flake-parts-minimal/formatter.nix diff --git a/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py b/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py index b510d2184..1224590b1 100644 --- a/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py +++ b/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py @@ -43,6 +43,7 @@ def test_clan_core_templates( assert list(templates.builtins.get("clan", {}).keys()) == [ "default", "flake-parts", + "flake-parts-minimal", "minimal", ] diff --git a/templates/clan/flake-parts-minimal/.envrc b/templates/clan/flake-parts-minimal/.envrc new file mode 100644 index 000000000..0f94eedeb --- /dev/null +++ b/templates/clan/flake-parts-minimal/.envrc @@ -0,0 +1,2 @@ +# shellcheck shell=bash +use flake diff --git a/templates/clan/flake-parts-minimal/.gitignore b/templates/clan/flake-parts-minimal/.gitignore new file mode 100644 index 000000000..4812d58f9 --- /dev/null +++ b/templates/clan/flake-parts-minimal/.gitignore @@ -0,0 +1,2 @@ +result +.direnv/ diff --git a/templates/clan/flake-parts-minimal/checks.nix b/templates/clan/flake-parts-minimal/checks.nix new file mode 100644 index 000000000..8de32fa02 --- /dev/null +++ b/templates/clan/flake-parts-minimal/checks.nix @@ -0,0 +1,22 @@ +{ self, ... }: +{ + perSystem = + { + self', + lib, + system, + ... + }: + { + checks = + let + nixosMachines = lib.mapAttrs' ( + name: config: lib.nameValuePair "nixos-${name}" config.config.system.build.toplevel + ) ((lib.filterAttrs (_: config: config.pkgs.system == system)) self.nixosConfigurations); + + packages = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") self'.packages; + devShells = lib.mapAttrs' (n: lib.nameValuePair "devShell-${n}") self'.devShells; + in + nixosMachines // packages // devShells; + }; +} diff --git a/templates/clan/flake-parts-minimal/clan.nix b/templates/clan/flake-parts-minimal/clan.nix new file mode 100644 index 000000000..30d158525 --- /dev/null +++ b/templates/clan/flake-parts-minimal/clan.nix @@ -0,0 +1,9 @@ +{ inputs, ... }: +{ + imports = [ + inputs.clan.flakeModules.default + ]; + clan = { + meta.name = "__CHANGE_ME__"; + }; +} diff --git a/templates/clan/flake-parts-minimal/devshells.nix b/templates/clan/flake-parts-minimal/devshells.nix new file mode 100644 index 000000000..43a2d86db --- /dev/null +++ b/templates/clan/flake-parts-minimal/devshells.nix @@ -0,0 +1,17 @@ +_: { + perSystem = + { + pkgs, + inputs', + ... + }: + { + devShells = { + default = pkgs.mkShellNoCC { + packages = [ + inputs'.clan.packages.default + ]; + }; + }; + }; +} diff --git a/templates/clan/flake-parts-minimal/flake.nix b/templates/clan/flake-parts-minimal/flake.nix new file mode 100644 index 000000000..63afbb405 --- /dev/null +++ b/templates/clan/flake-parts-minimal/flake.nix @@ -0,0 +1,31 @@ +{ + + inputs = { + clan.url = "https://git.clan.lol/clan/clan-core/archive/main.tar.gz"; + nixpkgs.follows = "clan/nixpkgs"; + + flake-parts.url = "github:hercules-ci/flake-parts"; + flake-parts.inputs.nixpkgs-lib.follows = "clan/nixpkgs"; + }; + + outputs = + inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } ( + { ... }: + { + systems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + imports = [ + ./checks.nix + ./clan.nix + ./devshells.nix + ./formatter.nix + ]; + } + ); +} diff --git a/templates/clan/flake-parts-minimal/formatter.nix b/templates/clan/flake-parts-minimal/formatter.nix new file mode 100644 index 000000000..ec092fae4 --- /dev/null +++ b/templates/clan/flake-parts-minimal/formatter.nix @@ -0,0 +1,10 @@ +_: { + perSystem = + { + pkgs, + ... + }: + { + formatter = pkgs.nixfmt; + }; +} diff --git a/templates/flake.nix b/templates/flake.nix index f905c53b3..754505f78 100644 --- a/templates/flake.nix +++ b/templates/flake.nix @@ -35,6 +35,10 @@ description = "Flake-parts"; path = ./clan/flake-parts; }; + flake-parts-minimal = { + description = "Minimal flake-parts clan template"; + path = ./clan/flake-parts-minimal; + }; }; }; in