-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathformatter.nix
More file actions
43 lines (37 loc) · 911 Bytes
/
formatter.nix
File metadata and controls
43 lines (37 loc) · 911 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
lib,
writeShellScriptBin,
deno,
findutils,
go,
go-tools,
gomod2nix,
llvmPackages,
nixfmt-tree,
taplo,
}:
writeShellScriptBin "formatter" ''
set -eoux pipefail
shopt -s globstar
root="$PWD"
while [[ ! -f "$root/.git/index" ]]; do
if [[ "$root" == "/" ]]; then
exit 1
fi
root="$(dirname "$root")"
done
pushd "$root" > /dev/null
${lib.getExe deno} fmt readme.md grafana/dashboard.json
${lib.getExe nixfmt-tree} .
${lib.getExe taplo} format **/*.toml
${lib.getExe go} fix ./...
${lib.getExe go} fmt ./...
${lib.getExe go} generate ./...
${lib.getExe go} mod tidy
${lib.getExe go} test -race ./...
${lib.getExe go} vet ./...
${lib.getExe' go-tools "staticcheck"} ./...
${lib.getExe' gomod2nix "gomod2nix"}
${lib.getExe findutils} . -regex '.*\.\(c\|h\)' -exec ${lib.getExe' llvmPackages.clang-tools "clang-format"} -i {} \;
popd
''