diff options
Diffstat (limited to 'utils.nix')
| -rw-r--r-- | utils.nix | 35 |
1 files changed, 19 insertions, 16 deletions
@@ -20,23 +20,26 @@ touch $out ''; }); - formatNix = baseTask.overrideAttrs (baseAttrs: { - name = "${baseAttrs.name}-nixfmt"; - buildInputs = baseAttrs.buildInputs ++ [ pkgs.nixfmt ]; - buildPhase = '' - format() { - nix_file="$1" - diff <(nixfmt < "$nix_file") "$nix_file" || { - echo "The $nix_file is unformatted. To fix it, run:" - echo " nixfmt $nix_file" - exit 1 + formatNix = ignoredFindPattern: + baseTask.overrideAttrs (baseAttrs: rec { + name = "${baseAttrs.name}-nixfmt"; + buildInputs = baseAttrs.buildInputs ++ [ pkgs.nixfmt ]; + ignoredPattern = + if ignoredFindPattern == null then "" else ignoredFindPattern; + buildPhase = '' + format() { + nix_file="$1" + diff <(nixfmt < "$nix_file") "$nix_file" || { + echo "The $nix_file is unformatted. To fix it, run:" + echo " nixfmt $nix_file" + exit 1 + } } - } - export -f format - find . -type f -name '*.nix' -print0 | xargs -0 -I{} bash -c "format {}" \; - touch $out - ''; - }); + export -f format + find . -type f \( -name '*.nix' -and -regextype egrep ! -regex '${ignoredPattern}' \) -print0 | xargs -0 -I{} bash -c "format {}" \; + touch $out + ''; + }); fixme = ignoredFiles: baseTask.overrideAttrs (baseAttrs: rec { name = "${baseAttrs.name}-fixme"; |
