add pmtiles to deps; fix api key bug in graphhopper routing
5 files changed,  +81, -16
M devenv.lock
+67, -9
  1@@ -313,7 +313,7 @@
  2         "crane": "crane",
  3         "fenix": "fenix",
  4         "flake-utils": "flake-utils_6",
  5-        "nixpkgs": "nixpkgs_5",
  6+        "nixpkgs": "nixpkgs_6",
  7         "systems": "systems_6",
  8         "wild": "wild"
  9       },
 10@@ -332,6 +332,26 @@
 11         "type": "github"
 12       }
 13     },
 14+    "herdr": {
 15+      "inputs": {
 16+        "nixpkgs": "nixpkgs_3",
 17+        "rust-overlay": "rust-overlay"
 18+      },
 19+      "locked": {
 20+        "lastModified": 1785783176,
 21+        "narHash": "sha256-empFQ+hrnCh2JhOzQRWSCLV0YoZC3DXW3bY6k8YuJjk=",
 22+        "owner": "herdrdev",
 23+        "repo": "herdr",
 24+        "rev": "857196dee1ce98df53efdd3f437aa2ac8a75b608",
 25+        "type": "github"
 26+      },
 27+      "original": {
 28+        "owner": "herdrdev",
 29+        "ref": "v0.8.0",
 30+        "repo": "herdr",
 31+        "type": "github"
 32+      }
 33+    },
 34     "nix-bundle": {
 35       "inputs": {
 36         "nixpkgs": [
 37@@ -358,7 +378,7 @@
 38     "nix-utils": {
 39       "inputs": {
 40         "flake-utils": "flake-utils_3",
 41-        "nixpkgs": "nixpkgs_4"
 42+        "nixpkgs": "nixpkgs_5"
 43       },
 44       "locked": {
 45         "lastModified": 1744222205,
 46@@ -424,6 +444,22 @@
 47       }
 48     },
 49     "nixpkgs_3": {
 50+      "locked": {
 51+        "lastModified": 1779357205,
 52+        "narHash": "sha256-cCO8aTqss5x9Ky8GWkpY0Hy5fyTZEbtifSUV8QjSzic=",
 53+        "owner": "NixOS",
 54+        "repo": "nixpkgs",
 55+        "rev": "f83fc3c307e74bc5fd5adb7eb6b8b13ffd2a36e1",
 56+        "type": "github"
 57+      },
 58+      "original": {
 59+        "owner": "NixOS",
 60+        "ref": "nixos-unstable",
 61+        "repo": "nixpkgs",
 62+        "type": "github"
 63+      }
 64+    },
 65+    "nixpkgs_4": {
 66       "inputs": {
 67         "nixpkgs-src": "nixpkgs-src"
 68       },
 69@@ -442,7 +478,7 @@
 70         "type": "github"
 71       }
 72     },
 73-    "nixpkgs_4": {
 74+    "nixpkgs_5": {
 75       "locked": {
 76         "lastModified": 1629252929,
 77         "narHash": "sha256-Aj20gmGBs8TG7pyaQqgbsqAQ6cB+TVuL18Pk3DPBxcQ=",
 78@@ -457,7 +493,7 @@
 79         "type": "github"
 80       }
 81     },
 82-    "nixpkgs_5": {
 83+    "nixpkgs_6": {
 84       "locked": {
 85         "lastModified": 1767799921,
 86         "narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=",
 87@@ -473,7 +509,7 @@
 88         "type": "github"
 89       }
 90     },
 91-    "nixpkgs_6": {
 92+    "nixpkgs_7": {
 93       "locked": {
 94         "lastModified": 1766201043,
 95         "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
 96@@ -489,7 +525,7 @@
 97         "type": "github"
 98       }
 99     },
100-    "nixpkgs_7": {
101+    "nixpkgs_8": {
102       "locked": {
103         "lastModified": 1777268161,
104         "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
105@@ -510,7 +546,8 @@
106         "bug": "bug",
107         "concurrently": "concurrently",
108         "devenv": "devenv",
109-        "nixpkgs": "nixpkgs_3",
110+        "herdr": "herdr",
111+        "nixpkgs": "nixpkgs_4",
112         "selfci": "selfci",
113         "vibe": "vibe"
114       }
115@@ -532,12 +569,33 @@
116         "type": "github"
117       }
118     },
119+    "rust-overlay": {
120+      "inputs": {
121+        "nixpkgs": [
122+          "herdr",
123+          "nixpkgs"
124+        ]
125+      },
126+      "locked": {
127+        "lastModified": 1783577481,
128+        "narHash": "sha256-EWMxOWrJ031f8f/lrcEmhTRs4npw1/5N3Hcjin846c8=",
129+        "owner": "oxalica",
130+        "repo": "rust-overlay",
131+        "rev": "4cdea398dc491b082dccdce0fad1ed0b75fa3394",
132+        "type": "github"
133+      },
134+      "original": {
135+        "owner": "oxalica",
136+        "repo": "rust-overlay",
137+        "type": "github"
138+      }
139+    },
140     "selfci": {
141       "inputs": {
142         "bundlers": "bundlers",
143         "flake-utils": "flake-utils_4",
144         "flakebox": "flakebox",
145-        "nixpkgs": "nixpkgs_6"
146+        "nixpkgs": "nixpkgs_7"
147       },
148       "locked": {
149         "lastModified": 1781636864,
150@@ -679,7 +737,7 @@
151     "vibe": {
152       "inputs": {
153         "flake-utils": "flake-utils_7",
154-        "nixpkgs": "nixpkgs_7"
155+        "nixpkgs": "nixpkgs_8"
156       },
157       "locked": {
158         "lastModified": 1777803757,
M devenv.nix
+5, -0
 1@@ -30,12 +30,16 @@
 2     # geocoder
 3     pkgs.duckdb
 4 
 5+    # tiles
 6+    pkgs.pmtiles
 7+
 8     # custom tools
 9     inputs.concurrently.packages.${pkgs.system}.default
10     inputs.bug.packages.${pkgs.system}.bug
11     inputs.vibe.packages.${pkgs.system}.jail
12     inputs.vibe.packages.${pkgs.system}.vibe
13     inputs.selfci.packages.${pkgs.system}.selfci
14+    inputs.herdr.packages.${pkgs.system}.default
15 
16     #atproto
17     pkgs.atproto-goat
18@@ -83,6 +87,7 @@
19     # Enable ** globbing for recursive directory matching
20     shopt -s globstar 2>/dev/null
21     eval "$(starship init bash)"
22+    eval "$(jw shell init bash)"
23   '';
24 
25   # https://devenv.sh/tasks/
M devenv.yaml
+2, -0
1@@ -10,6 +10,8 @@ inputs:
2     url: git+https://git.kilimanjaro.io/vibe
3   selfci:
4     url: git+https://radicle.dpc.pw/z2tDzYbAXxTQEKTGFVwiJPajkbeDU.git
5+  herdr:
6+    url: github:herdrdev/herdr/v0.8.0
7 
8 # If you're using non-OSS software, you can set allowUnfree to true.
9 # allowUnfree: true
M go.work
+2, -2
 1@@ -1,7 +1,7 @@
 2 go 1.26
 3 
 4 use (
 5-	../waldo
 6-	../ygo
 7+	../../waldo
 8+	../../ygo
 9 	./server
10 )
M server/routing/graphhopper/request.go
+5, -5
 1@@ -144,8 +144,6 @@ func NewRequest(pts []PointLngLat, opts ...Option) (*http.Request, error) {
 2 		if globalToken != "" {
 3 			// use cached value if available from env
 4 			request.token = globalToken
 5-		} else {
 6-			return nil, fmt.Errorf("error constructing route request: token missing")
 7 		}
 8 	}
 9 	ghUrl := graphhopperURL.Load().(string)
10@@ -157,9 +155,11 @@ func NewRequest(pts []PointLngLat, opts ...Option) (*http.Request, error) {
11 	if err != nil {
12 		return nil, fmt.Errorf("error constructing route request: %w", err)
13 	}
14-	q := u.Query()
15-	q.Set("key", request.token)
16-	u.RawQuery = q.Encode()
17+	if request.token != "" {
18+		q := u.Query()
19+		q.Set("key", request.token)
20+		u.RawQuery = q.Encode()
21+	}
22 	request.Points = pts
23 	body, err := json.Marshal(request)
24 	if err != nil {