diff --git a/.mdl_style.rb b/.mdl_style.rb deleted file mode 100644 index 6a1bb85..0000000 --- a/.mdl_style.rb +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env ruby - -all -rule 'MD007', :indent => 2 -rule 'MD013', :tables => false diff --git a/checks.nix b/checks.nix index 77653e5..6d55445 100644 --- a/checks.nix +++ b/checks.nix @@ -4,65 +4,73 @@ formatter, ... }: -forEachSystem (system: { - pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { - src = ./.; - hooks = { - # nix checks - # Example custom hook for nix formatting - fmt-check = { - enable = true; +forEachSystem ( + system: + let + pkgs = inputs.nixpkgs.legacyPackages.${system}; + in + { + pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + # nix checks + # Example custom hook for nix formatting + fmt-check = { + enable = true; - # The command to execute (mandatory): - entry = "${formatter.${system}}/bin/nixfmt --check"; + # The command to execute (mandatory): + entry = "${formatter.${system}}/bin/nixfmt --check"; - # The pattern of files to run on (default: "" (all)) - # see also https://pre-commit.com/#hooks-files - files = "\\.nix$"; - }; - ## static analysis checks for nix - nil.enable = true; - statix.enable = true; - deadnix = { - enable = true; - settings = { - noUnderscore = true; # ignore variables starting with underscore - # ignore lambda patterns (useful for passing args from ({}@args) - # to other functions) - noLambdaPatternNames = true; + # The pattern of files to run on (default: "" (all)) + # see also https://pre-commit.com/#hooks-files + files = "\\.nix$"; }; + ## static analysis checks for nix + nil.enable = true; + statix.enable = true; + deadnix = { + enable = true; + settings = { + noUnderscore = true; # ignore variables starting with underscore + # ignore lambda patterns (useful for passing args from ({}@args) + # to other functions) + noLambdaPatternNames = true; + }; + }; + + # json hooks + check-json = { + enable = true; + # exclude vscode json files as they allow comments and check-json doesn't + excludes = [ "settings.json$" ]; + }; + + # toml hooks + check-toml.enable = true; + + # markdown hooks + mdl = { + enable = true; + settings.style = + (pkgs.writeText ".mdl_style.rb" '' + #!/usr/bin/env ruby + + all + rule 'MD013', :tables => false + '').outPath; + }; + + # git hooks + check-merge-conflicts.enable = true; + ## prevents committing to main + no-commit-to-branch.enable = true; + + # misc hooks + check-added-large-files.enable = true; + ## prevents two similarly named files for case sensitive systems + check-case-conflicts.enable = true; + detect-private-keys.enable = true; }; - - # json hooks - check-json = { - enable = true; - # exclude vscode json files as they allow comments and check-json doesn't - excludes = [ "settings.json$" ]; - }; - - # toml hooks - check-toml.enable = true; - - # markdown hooks - mdl = { - enable = true; - settings.rules = [ - "all" - "rule 'MD007', :indent => 2" - "rule 'MD013', :tables => false" - ]; - }; - - # git hooks - check-merge-conflicts.enable = true; - ## prevents committing to main - no-commit-to-branch.enable = true; - - # misc hooks - check-added-large-files.enable = true; - ## prevents two similarly named files for case sensitive systems - check-case-conflicts.enable = true; - detect-private-keys.enable = true; }; - }; -}) + } +)