Nix flake to build latest versions of various dev tools

add gleam via gleam-nix

Changed files
+286 -1
+279 -1
flake.lock
··· 1 1 { 2 2 "nodes": { 3 - "flake-utils": { 3 + "blueprint": { 4 4 "inputs": { 5 + "nixpkgs": [ 6 + "gleam-nix", 7 + "nixpkgs" 8 + ], 5 9 "systems": "systems" 6 10 }, 7 11 "locked": { 12 + "lastModified": 1741365449, 13 + "narHash": "sha256-4bmMbrmc6p6QxmF0Frc6SoZUfaodWcxjqEgw5mGmTAQ=", 14 + "owner": "numtide", 15 + "repo": "blueprint", 16 + "rev": "09a2c2c7bb08e5baeb88319e042ccfe6acaa9664", 17 + "type": "github" 18 + }, 19 + "original": { 20 + "owner": "numtide", 21 + "repo": "blueprint", 22 + "type": "github" 23 + } 24 + }, 25 + "crate2nix": { 26 + "inputs": { 27 + "cachix": [ 28 + "gleam-nix" 29 + ], 30 + "crate2nix_stable": [ 31 + "gleam-nix" 32 + ], 33 + "devshell": [ 34 + "gleam-nix", 35 + "devshell" 36 + ], 37 + "flake-compat": "flake-compat", 38 + "flake-parts": "flake-parts", 39 + "nix-test-runner": [ 40 + "gleam-nix" 41 + ], 42 + "nixpkgs": [ 43 + "gleam-nix", 44 + "nixpkgs" 45 + ], 46 + "pre-commit-hooks": [ 47 + "gleam-nix", 48 + "pre-commit-hooks" 49 + ] 50 + }, 51 + "locked": { 52 + "lastModified": 1739473963, 53 + "narHash": "sha256-ItAhpjNUzEWd/cgZVyW/jvoGbCec4TK29e1Mnmn1oJE=", 54 + "owner": "nix-community", 55 + "repo": "crate2nix", 56 + "rev": "be31feae9a82c225c0fd1bdf978565dc452a483a", 57 + "type": "github" 58 + }, 59 + "original": { 60 + "owner": "nix-community", 61 + "repo": "crate2nix", 62 + "type": "github" 63 + } 64 + }, 65 + "devshell": { 66 + "inputs": { 67 + "nixpkgs": [ 68 + "gleam-nix", 69 + "nixpkgs" 70 + ] 71 + }, 72 + "locked": { 73 + "lastModified": 1741473158, 74 + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", 75 + "owner": "numtide", 76 + "repo": "devshell", 77 + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", 78 + "type": "github" 79 + }, 80 + "original": { 81 + "owner": "numtide", 82 + "repo": "devshell", 83 + "type": "github" 84 + } 85 + }, 86 + "fenix": { 87 + "inputs": { 88 + "nixpkgs": [ 89 + "gleam-nix", 90 + "nixpkgs" 91 + ], 92 + "rust-analyzer-src": "rust-analyzer-src" 93 + }, 94 + "locked": { 95 + "lastModified": 1741588215, 96 + "narHash": "sha256-XTZ051fwGcDPtCUSb7gJv5BsUPYcvjH9mFjVZboMIKQ=", 97 + "owner": "nix-community", 98 + "repo": "fenix", 99 + "rev": "49b0989891f48cbfe6fc288ea76c3efa84000ed5", 100 + "type": "github" 101 + }, 102 + "original": { 103 + "owner": "nix-community", 104 + "repo": "fenix", 105 + "type": "github" 106 + } 107 + }, 108 + "flake-compat": { 109 + "locked": { 110 + "lastModified": 1696426674, 111 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 112 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 113 + "revCount": 57, 114 + "type": "tarball", 115 + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" 116 + }, 117 + "original": { 118 + "type": "tarball", 119 + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" 120 + } 121 + }, 122 + "flake-parts": { 123 + "inputs": { 124 + "nixpkgs-lib": [ 125 + "gleam-nix", 126 + "crate2nix", 127 + "nixpkgs" 128 + ] 129 + }, 130 + "locked": { 131 + "lastModified": 1712014858, 132 + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", 133 + "owner": "hercules-ci", 134 + "repo": "flake-parts", 135 + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", 136 + "type": "github" 137 + }, 138 + "original": { 139 + "owner": "hercules-ci", 140 + "repo": "flake-parts", 141 + "type": "github" 142 + } 143 + }, 144 + "flake-utils": { 145 + "inputs": { 146 + "systems": "systems_2" 147 + }, 148 + "locked": { 8 149 "lastModified": 1731533236, 9 150 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 10 151 "owner": "numtide", ··· 18 159 "type": "github" 19 160 } 20 161 }, 162 + "gleam": { 163 + "flake": false, 164 + "locked": { 165 + "lastModified": 1754414820, 166 + "narHash": "sha256-Qjl+I09tnBbGc771SVJVb6fzAZ2tVOnBNhGfrIUh824=", 167 + "owner": "gleam-lang", 168 + "repo": "gleam", 169 + "rev": "0fd345668f14b82381b4cf650d302c3401b705c4", 170 + "type": "github" 171 + }, 172 + "original": { 173 + "owner": "gleam-lang", 174 + "repo": "gleam", 175 + "type": "github" 176 + } 177 + }, 178 + "gleam-nix": { 179 + "inputs": { 180 + "blueprint": "blueprint", 181 + "crate2nix": "crate2nix", 182 + "devshell": "devshell", 183 + "fenix": "fenix", 184 + "gleam": "gleam", 185 + "nixpkgs": [ 186 + "nixpkgs" 187 + ], 188 + "pre-commit-hooks": "pre-commit-hooks", 189 + "rust-manifest": "rust-manifest", 190 + "treefmt-nix": "treefmt-nix" 191 + }, 192 + "locked": { 193 + "lastModified": 1754285939, 194 + "narHash": "sha256-IEnf8plholMpqJMAh2dMDLct2KT5guBECmdC0HW5JjE=", 195 + "owner": "vic", 196 + "repo": "gleam-nix", 197 + "rev": "2c7c4d7b6365cf2862091dd8ae5fc8cee8f36bb0", 198 + "type": "github" 199 + }, 200 + "original": { 201 + "owner": "vic", 202 + "repo": "gleam-nix", 203 + "type": "github" 204 + } 205 + }, 21 206 "helix": { 22 207 "inputs": { 23 208 "nixpkgs": [ ··· 94 279 "type": "indirect" 95 280 } 96 281 }, 282 + "pre-commit-hooks": { 283 + "inputs": { 284 + "flake-compat": [ 285 + "gleam-nix" 286 + ], 287 + "gitignore": [ 288 + "gleam-nix" 289 + ], 290 + "nixpkgs": [ 291 + "gleam-nix", 292 + "nixpkgs" 293 + ] 294 + }, 295 + "locked": { 296 + "lastModified": 1742649964, 297 + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", 298 + "owner": "cachix", 299 + "repo": "pre-commit-hooks.nix", 300 + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", 301 + "type": "github" 302 + }, 303 + "original": { 304 + "owner": "cachix", 305 + "repo": "pre-commit-hooks.nix", 306 + "type": "github" 307 + } 308 + }, 97 309 "root": { 98 310 "inputs": { 311 + "gleam-nix": "gleam-nix", 99 312 "helix": "helix", 100 313 "janet": "janet", 101 314 "jj": "jj", 102 315 "nixpkgs": "nixpkgs" 103 316 } 104 317 }, 318 + "rust-analyzer-src": { 319 + "flake": false, 320 + "locked": { 321 + "lastModified": 1741517882, 322 + "narHash": "sha256-MmYdZyVwKa3YHzqoHdHw9/jZXkDE/5M3M+7363t4Pkc=", 323 + "owner": "rust-lang", 324 + "repo": "rust-analyzer", 325 + "rev": "5e7dd31c80d5821113ed9c9aa1616a73a63b49a1", 326 + "type": "github" 327 + }, 328 + "original": { 329 + "owner": "rust-lang", 330 + "ref": "nightly", 331 + "repo": "rust-analyzer", 332 + "type": "github" 333 + } 334 + }, 335 + "rust-manifest": { 336 + "flake": false, 337 + "locked": { 338 + "narHash": "sha256-irgHsBXecwlFSdmP9MfGP06Cbpca2QALJdbN4cymcko=", 339 + "type": "file", 340 + "url": "https://static.rust-lang.org/dist/channel-rust-1.85.0.toml" 341 + }, 342 + "original": { 343 + "type": "file", 344 + "url": "https://static.rust-lang.org/dist/channel-rust-1.85.0.toml" 345 + } 346 + }, 105 347 "rust-overlay": { 106 348 "inputs": { 107 349 "nixpkgs": [ ··· 135 377 "original": { 136 378 "owner": "nix-systems", 137 379 "repo": "default", 380 + "type": "github" 381 + } 382 + }, 383 + "systems_2": { 384 + "locked": { 385 + "lastModified": 1681028828, 386 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 387 + "owner": "nix-systems", 388 + "repo": "default", 389 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 390 + "type": "github" 391 + }, 392 + "original": { 393 + "owner": "nix-systems", 394 + "repo": "default", 395 + "type": "github" 396 + } 397 + }, 398 + "treefmt-nix": { 399 + "inputs": { 400 + "nixpkgs": [ 401 + "gleam-nix", 402 + "nixpkgs" 403 + ] 404 + }, 405 + "locked": { 406 + "lastModified": 1739829690, 407 + "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", 408 + "owner": "numtide", 409 + "repo": "treefmt-nix", 410 + "rev": "3d0579f5cc93436052d94b73925b48973a104204", 411 + "type": "github" 412 + }, 413 + "original": { 414 + "owner": "numtide", 415 + "repo": "treefmt-nix", 138 416 "type": "github" 139 417 } 140 418 }
+7
flake.nix
··· 7 7 helix.url = "github:helix-editor/helix"; 8 8 helix.inputs.nixpkgs.follows = "nixpkgs"; 9 9 helix.inputs.rust-overlay.follows = "jj/rust-overlay"; 10 + 11 + gleam-nix.url = "github:vic/gleam-nix"; 12 + gleam-nix.inputs.nixpkgs.follows = "nixpkgs"; 13 + gleam-nix.inputs.gleam.url = "github:gleam-lang/gleam/v1.12.0"; 10 14 janet.url = "github:janet-lang/janet/v1.39.1"; 11 15 janet.flake = false; 12 16 }; ··· 26 30 packages = forAllSystems (system: { 27 31 jj = inputs.jj.packages.${system}.default; 28 32 helix = inputs.helix.packages.${system}.default; 33 + 34 + gleam = inputs.gleam-nix.packages.${system}.default; 29 35 janet = nixpkgs.legacyPackages.${system}.janet.overrideAttrs { 30 36 src = inputs.janet; 31 37 version = inputs.janet.shortRev; 32 38 }; 39 + 33 40 default = nixpkgs.legacyPackages.${system}.buildEnv { 34 41 name = "src-apps"; 35 42 paths = attrValues (removeAttrs inputs.self.packages.${system} [ "default" ]);