summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/check/editorconfig.nix38
-rw-r--r--nix/check/nixfmt.nix43
-rw-r--r--nix/overlay/check.nix27
3 files changed, 87 insertions, 21 deletions
diff --git a/nix/check/editorconfig.nix b/nix/check/editorconfig.nix
new file mode 100644
index 0000000..526ed5b
--- /dev/null
+++ b/nix/check/editorconfig.nix
@@ -0,0 +1,38 @@
+#──────────────────────────────────────────────────────────────────────────────┐
+# SPDX-FileCopyrightText: 2025 toastal <https://toast.al/contact/> │
+# SPDX-License-Identifier: LGPL-2.1-or-later │
+#──────────────────────────────────────────────────────────────────────────────┘
+{
+ lib,
+ runDashCommand,
+ editorconfig-checker,
+ nixtamal,
+}:
+
+runDashCommand
+ {
+ name = "check-EditorConfig";
+ runtimeInputs = [
+ editorconfig-checker
+ ];
+ env.src =
+ let
+ fs = lib.fileset;
+ in
+ (fs.toSource {
+ root = ../..;
+ fileset = fs.unions [
+ (fs.fileFilter (file: file.name == ".editorconfig") ../..)
+ (fs.fromSource nixtamal.src)
+ ../../nix
+ ];
+ });
+ }
+ /* sh */ ''
+ if [ -z "$src" ]; then
+ echo "Missing \$src" >&2
+ exit 1
+ fi
+ cd "$src"
+ editorconfig-checker | tee "$out"
+ ''
diff --git a/nix/check/nixfmt.nix b/nix/check/nixfmt.nix
new file mode 100644
index 0000000..4d22883
--- /dev/null
+++ b/nix/check/nixfmt.nix
@@ -0,0 +1,43 @@
+#──────────────────────────────────────────────────────────────────────────────┐
+# SPDX-FileCopyrightText: 2025 toastal <https://toast.al/contact/> │
+# SPDX-License-Identifier: LGPL-2.1-or-later │
+#──────────────────────────────────────────────────────────────────────────────┘
+{
+ lib,
+ runDashCommand,
+ parallel,
+ nixfmt,
+ keepLogOrder ? true,
+}:
+
+runDashCommand
+ {
+ name = "check-nixfmt";
+ runtimeInputs = [
+ parallel
+ nixfmt
+ ];
+ env.src =
+ let
+ fs = lib.fileset;
+ in
+ fs.toSource {
+ root = ../..;
+ fileset =
+ fs.intersection (fs.fileFilter (file: file.hasExt "nix") ../..)
+
+ (fs.difference (fs.fromSource (lib.cleanSource ../..)) ../tamal);
+ };
+ }
+ /* sh */ ''
+ if [ -z "$src" ]; then
+ echo "Missing \$src" >&2
+ exit 1
+ fi
+ find "$src" -type f \
+ | parallel --will-cite \
+ ${lib.optionalString keepLogOrder "--keep-order"} \
+ --jobs "''${NIX_BUILD_CORES:-1}" \
+ nixfmt --check {} \
+ | tee "$out"
+ ''
diff --git a/nix/overlay/check.nix b/nix/overlay/check.nix
index 8a6ec2b..98f60c0 100644
--- a/nix/overlay/check.nix
+++ b/nix/overlay/check.nix
@@ -5,27 +5,12 @@
final: prev: {
nixtamal = prev.nixtamal.overrideScope (
final': prev': {
- check = (prev'.check or { }) // {
- EditorConfig =
- final.runCommand "check-EditorConfig"
- {
- src =
- let
- fs = final.lib.fileset;
- in
- (fs.toSource {
- root = ../..;
- fileset = fs.unions [
- (fs.fileFilter (file: file.name == ".editorconfig") ../..)
- (fs.fromSource prev'.nixtamal.src)
- ../../nix
- ];
- });
- }
- ''
- cd $src
- ${final.lib.getExe final.editorconfig-checker} | tee $out
- '';
+ check = {
+ format = {
+ EditorConfig = final'.callPackage ../check/editorconfig.nix { };
+
+ nixfmt = final'.callPackage ../check/nixfmt.nix { };
+ };
};
}
);