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
|
# nix-gleam, kept here
`default.nix` is the builder of **nix-gleam**, by Arnar Gauti Ingason,
copied unchanged from
- https://github.com/arnarg/nix-gleam
- `builder/default.nix` at commit `1f38154` (2026-10-06)
under the MIT licence, which is in `LICENSE` beside it.
It is kept here rather than taken as a flake input so that the build does
not depend on a third repository being reachable, and so that what builds
this package is in the package.
## Why it is used
There is no Gleam builder in nixpkgs, and a sandboxed build cannot fetch
from Hex. The usual answer, one fixed output derivation that runs
`gleam deps download` and is pinned by a hash of everything it fetched, has
two faults: the hash has to be updated by hand whenever a dependency
changes, and gleam writes `packages.toml` in a different order on each run,
so the same dependencies do not always give the same hash.
nix-gleam fetches each Hex package on its own with `fetchHex`, using the
checksum gleam has already written for it into `manifest.toml`, and writes
`packages.toml` itself. So there is no hash to maintain, and nothing a run
of gleam could make come out differently.
## Updating it
Copy `builder/default.nix` from a newer commit over `default.nix`, update
the commit above, and build.
|