From 03fa4b823c4ccbd99f79462ef2a2b33bf7cfe269 Mon Sep 17 00:00:00 2001 From: Ananth Venkatesh Date: Sat, 8 Feb 2025 20:42:52 -0500 Subject: [PATCH] feat(nix): integrate all checks into `nix flake check` --- .pre-commit-config.yaml | 2 +- assets/3d/macg/macgregor-house-small.mtl | 43 +++++++------ assets/3d/macg/macgregor.obj.txt | 17 +++-- elm.json | 80 ++++++++++++------------ flake.lock | 12 ++-- flake.nix | 30 +++++++-- review/elm.json | 76 +++++++++++----------- watch.sh | 2 + 8 files changed, 142 insertions(+), 120 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0b5ed9b..8194def 120000 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1 +1 @@ -/nix/store/gnnangzf73g2b665rmhwblqydx18hjlm-pre-commit-config.json \ No newline at end of file +/nix/store/i4wcn83p1273vgv0nggpdbjqppq33aj7-pre-commit-config.json \ No newline at end of file diff --git a/assets/3d/macg/macgregor-house-small.mtl b/assets/3d/macg/macgregor-house-small.mtl index 3af486a..2a459c3 100644 --- a/assets/3d/macg/macgregor-house-small.mtl +++ b/assets/3d/macg/macgregor-house-small.mtl @@ -1,23 +1,22 @@ # File generated by ImageToStl.com - Free Image and 3D model conversion tools - -newmtl mat0 -Ns 0 -Ka 1.0 1.0 1.0 -Kd 1 1 1 -Ks 0.5 0.5 0.5 -Ke 0.0 0.0 0.0 -Ni 1.0 -d 1 -illum 2 -map_Kd image0.jpg - -newmtl mat1 -Ns 250 -Ka 1.0 1.0 1.0 -Kd 0.85 0.85 0.85 -Ks 0 0 0 -Ke 0.0 0.0 0.0 -Ni 1.0 -d 1 -illum 1 - + +newmtl mat0 +Ns 0 +Ka 1.0 1.0 1.0 +Kd 1 1 1 +Ks 0.5 0.5 0.5 +Ke 0.0 0.0 0.0 +Ni 1.0 +d 1 +illum 2 +map_Kd image0.jpg + +newmtl mat1 +Ns 250 +Ka 1.0 1.0 1.0 +Kd 0.85 0.85 0.85 +Ks 0 0 0 +Ke 0.0 0.0 0.0 +Ni 1.0 +d 1 +illum 1 diff --git a/assets/3d/macg/macgregor.obj.txt b/assets/3d/macg/macgregor.obj.txt index 3bcc644..02978c6 100644 --- a/assets/3d/macg/macgregor.obj.txt +++ b/assets/3d/macg/macgregor.obj.txt @@ -1,8 +1,8 @@ # File generated by ImageToStl.com - Free Image and 3D model conversion tools - + mtllib macgregor-house-small.mtl - -o obj1 + +o obj1 v 6.99733782 0.7718941 -1.403813 v 7.00312424 0.90331137 -1.51566327 v 6.94897127 0.78414452 -1.4061693 @@ -12391,7 +12391,7 @@ v -1.92772186 0.24301776 2.20139146 v -1.83480656 0.25754747 2.74132562 v -1.81908894 0.30697498 2.90867138 v -1.72756016 0.3016282 2.98445988 -v -1.80337191 0.35331592 3.07601786 +v -1.80337191 0.35331592 3.07601786 vn 0.15697 0.74455 0.64885 vn 0.43948 0.58938 0.67786 vn 0.55223 0.52498 0.64764 @@ -24756,7 +24756,7 @@ vn -0.01498 0.99934 0.03295 vn -0.03492 0.98954 -0.13997 vn 0.1267 0.96206 -0.24162 vn 0.07713 0.97309 -0.21715 -vn 0.16107 0.93316 -0.32135 +vn 0.16107 0.93316 -0.32135 vt 0.9659 0.17324 vt 0.96741 0.17525 vt 0.96534 0.17394 @@ -37145,8 +37145,8 @@ vt 0.56577 0.49388 vt 0.56453 0.48416 vt 0.56379 0.48117 vt 0.56497 0.47937 -vt 0.56304 0.47817 -usemtl mat0 +vt 0.56304 0.47817 +usemtl mat0 f 1/1/1 2/2/2 3/3/3 f 3/3/3 2/2/2 4/4/4 f 2/2/2 5/5/5 4/4/4 @@ -57384,5 +57384,4 @@ f 11642/11642/11624 11650/11650/11632 12387/12387/12363 f 12387/12387/12363 12389/12389/12365 12388/12388/12364 f 11650/11650/11632 12389/12389/12365 12387/12387/12363 f 12388/12388/12364 12389/12389/12365 12104/12104/12086 -# Vertices: 12389, normals: 12365, texture coordinates: 12389, faces: 20237 - +# Vertices: 12389, normals: 12365, texture coordinates: 12389, faces: 20237 diff --git a/elm.json b/elm.json index 364d9f1..3b4f581 100644 --- a/elm.json +++ b/elm.json @@ -1,44 +1,44 @@ { - "type": "application", - "source-directories": [ - "src" - ], - "elm-version": "0.19.1", - "dependencies": { - "direct": { - "andrewMacmurray/elm-simple-animation": "2.3.2", - "avh4/elm-color": "1.0.0", - "elm/browser": "1.0.2", - "elm/core": "1.0.5", - "elm/html": "1.0.0", - "elm/http": "2.0.0", - "elm/time": "1.0.0", - "elm-explorations/webgl": "1.1.3", - "ianmackenzie/elm-3d-camera": "3.1.0", - "ianmackenzie/elm-3d-scene": "1.0.2", - "ianmackenzie/elm-geometry": "3.11.0", - "ianmackenzie/elm-triangular-mesh": "1.1.0", - "ianmackenzie/elm-units": "2.10.0", - "mdgriffith/elm-ui": "1.1.8", - "w0rm/elm-obj-file": "1.2.1" - }, - "indirect": { - "elm/bytes": "1.0.8", - "elm/file": "1.0.5", - "elm/json": "1.1.3", - "elm/random": "1.0.0", - "elm/url": "1.0.0", - "elm/virtual-dom": "1.0.3", - "elm-explorations/linear-algebra": "1.0.3", - "ianmackenzie/elm-1d-parameter": "1.0.1", - "ianmackenzie/elm-float-extra": "1.1.0", - "ianmackenzie/elm-geometry-linear-algebra-interop": "2.0.2", - "ianmackenzie/elm-interval": "3.1.0", - "ianmackenzie/elm-units-interval": "3.2.0" - } + "dependencies": { + "direct": { + "andrewMacmurray/elm-simple-animation": "2.3.2", + "avh4/elm-color": "1.0.0", + "elm-explorations/webgl": "1.1.3", + "elm/browser": "1.0.2", + "elm/core": "1.0.5", + "elm/html": "1.0.0", + "elm/http": "2.0.0", + "elm/time": "1.0.0", + "ianmackenzie/elm-3d-camera": "3.1.0", + "ianmackenzie/elm-3d-scene": "1.0.2", + "ianmackenzie/elm-geometry": "3.11.0", + "ianmackenzie/elm-triangular-mesh": "1.1.0", + "ianmackenzie/elm-units": "2.10.0", + "mdgriffith/elm-ui": "1.1.8", + "w0rm/elm-obj-file": "1.2.1" }, - "test-dependencies": { - "direct": {}, - "indirect": {} + "indirect": { + "elm-explorations/linear-algebra": "1.0.3", + "elm/bytes": "1.0.8", + "elm/file": "1.0.5", + "elm/json": "1.1.3", + "elm/random": "1.0.0", + "elm/url": "1.0.0", + "elm/virtual-dom": "1.0.3", + "ianmackenzie/elm-1d-parameter": "1.0.1", + "ianmackenzie/elm-float-extra": "1.1.0", + "ianmackenzie/elm-geometry-linear-algebra-interop": "2.0.2", + "ianmackenzie/elm-interval": "3.1.0", + "ianmackenzie/elm-units-interval": "3.2.0" } + }, + "elm-version": "0.19.1", + "source-directories": [ + "src" + ], + "test-dependencies": { + "direct": {}, + "indirect": {} + }, + "type": "application" } diff --git a/flake.lock b/flake.lock index 58b8568..944fd2e 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1737854574, - "narHash": "sha256-GIh8IAIjJ3BkqSKifdXcnrkJgY4diipcMZ1itmwiFyw=", + "lastModified": 1738459463, + "narHash": "sha256-QBYK7boMjAAXFySEK9jEpQAhhe5vXkC9UI2fvQipadk=", "owner": "jeslie0", "repo": "mkElmDerivation", - "rev": "88b3923af364826b39428aff3431857a2b9d8699", + "rev": "e86ad254296f6861dedfc3cc303dd3b530535fd6", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d327044..98f5e48 100644 --- a/flake.nix +++ b/flake.nix @@ -32,8 +32,6 @@ buildInputs = self.checks.${system}.pre-commit-check.enabledPackages ++ [ elmPackages.elm - elmPackages.elm-test - elmPackages.elm-format elmPackages.elm-review entr ]; @@ -61,8 +59,32 @@ hooks = { nixfmt-rfc-style.enable = true; elm-format.enable = true; - # elm-review.enable = true; - # elm-test.enable = true; + check-yaml.enable = true; + yamlfmt.enable = true; + yamllint.enable = true; + check-json.enable = true; + pretty-format-json.enable = true; + deadnix.enable = true; + flake-checker.enable = true; + nil.enable = true; + statix.enable = true; + markdownlint.enable = true; + mdsh.enable = true; + typos.enable = true; + check-merge-conflicts.enable = true; + commitizen.enable = true; + forbid-new-submodules.enable = true; + check-case-conflicts.enable = true; + check-executables-have-shebangs.enable = true; + check-shebang-scripts-are-executable.enable = true; + check-symlinks.enable = true; + check-vcs-permalinks.enable = true; + end-of-file-fixer.enable = true; + mixed-line-endings.enable = true; + tagref.enable = true; + trim-trailing-whitespace.enable = true; + trufflehog.enable = true; + detect-private-keys.enable = true; }; }; }; diff --git a/review/elm.json b/review/elm.json index d8a16f7..e2a55ea 100644 --- a/review/elm.json +++ b/review/elm.json @@ -1,41 +1,41 @@ { - "type": "application", - "source-directories": [ - "src" - ], - "elm-version": "0.19.1", - "dependencies": { - "direct": { - "elm/core": "1.0.5", - "elm/json": "1.1.3", - "elm/project-metadata-utils": "1.0.2", - "jfmengels/elm-review": "2.14.1", - "jfmengels/elm-review-code-style": "1.2.0", - "jfmengels/elm-review-common": "1.3.3", - "jfmengels/elm-review-debug": "1.0.8", - "jfmengels/elm-review-documentation": "2.0.4", - "jfmengels/elm-review-simplify": "2.1.6", - "jfmengels/elm-review-unused": "1.2.3", - "stil4m/elm-syntax": "7.3.8" - }, - "indirect": { - "elm/bytes": "1.0.8", - "elm/html": "1.0.0", - "elm/parser": "1.1.0", - "elm/random": "1.0.0", - "elm/regex": "1.0.0", - "elm/time": "1.0.0", - "elm/virtual-dom": "1.0.3", - "elm-explorations/test": "2.2.0", - "pzp1997/assoc-list": "1.0.0", - "rtfeldman/elm-hex": "1.0.0", - "stil4m/structured-writer": "1.0.3" - } + "dependencies": { + "direct": { + "elm/core": "1.0.5", + "elm/json": "1.1.3", + "elm/project-metadata-utils": "1.0.2", + "jfmengels/elm-review": "2.14.1", + "jfmengels/elm-review-code-style": "1.2.0", + "jfmengels/elm-review-common": "1.3.3", + "jfmengels/elm-review-debug": "1.0.8", + "jfmengels/elm-review-documentation": "2.0.4", + "jfmengels/elm-review-simplify": "2.1.6", + "jfmengels/elm-review-unused": "1.2.3", + "stil4m/elm-syntax": "7.3.8" }, - "test-dependencies": { - "direct": { - "elm-explorations/test": "2.2.0" - }, - "indirect": {} + "indirect": { + "elm-explorations/test": "2.2.0", + "elm/bytes": "1.0.8", + "elm/html": "1.0.0", + "elm/parser": "1.1.0", + "elm/random": "1.0.0", + "elm/regex": "1.0.0", + "elm/time": "1.0.0", + "elm/virtual-dom": "1.0.3", + "pzp1997/assoc-list": "1.0.0", + "rtfeldman/elm-hex": "1.0.0", + "stil4m/structured-writer": "1.0.3" } -} \ No newline at end of file + }, + "elm-version": "0.19.1", + "source-directories": [ + "src" + ], + "test-dependencies": { + "direct": { + "elm-explorations/test": "2.2.0" + }, + "indirect": {} + }, + "type": "application" +} diff --git a/watch.sh b/watch.sh index 012d98b..be5379a 100755 --- a/watch.sh +++ b/watch.sh @@ -1 +1,3 @@ +#!usr/bin/env -S nix develop --command bash + find src/ | entr -r elm make src/Main.elm --output compiled/Main.js