- 🚀 Latest Gleam releases with automatic updates
- 🏗️ Multiple architecture support (x86_64/aarch64 Linux/macOS)
- 📦 Easy integration with Nix flakes and traditional overlays
- 🔄 Binary distributions for faster installation
Add this overlay to your flake inputs:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
gleam-overlay.url = "github:Comamoca/gleam-overlay";
};
outputs =
inputs@{ self, nixpkgs, ... }:
let
systems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
forAllSystems =
f:
builtins.listToAttrs (
map (system: {
name = system;
value = f system;
}) systems
);
in
{
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [
inputs.gleam-overlay.overlays.default
];
};
in
{
default = pkgs.mkShell {
packages = with pkgs; [
pkgs.gleam.bin.latest # Latest version
];
shellHook = '''';
};
}
);
};
}let
gleam-overlay = import (fetchTarball "https://github.com/Comamoca/gleam-overlay/archive/main.tar.gz");
pkgs = import <nixpkgs> { overlays = [ gleam-overlay ]; };
in
{
environment.systemPackages = [
pkgs.gleamPackage.bin.latest
# pkgs.gleamPackage.bin.nightly
];
}# Run the latest version
nix run github:Comamoca/gleam-overlay
nix run github:Comamoca/gleam-overlay#nightly
# Use in a shell
nix shell github:Comamoca/gleam-overlaygleam-overlay provides a cache via cachix. In environments with cachix cli, you can use the cache during builds with the following command:
cachix use gleam-overlayaarch64-darwinaarch64-linuxx86_64-darwinx86_64-linux
| Version | aarch64-darwin | aarch64-linux | x86_64-darwin | x86_64-linux |
|---|---|---|---|---|
1.16.0 |
✅ | ✅ | ✅ | ✅ |
1.16.0-rc4 |
✅ | ✅ | ✅ | ✅ |
1.16.0-rc3 |
✅ | ✅ | ✅ | ✅ |
1.16.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.16.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.15.4 |
✅ | ✅ | ✅ | ✅ |
1.15.3 |
✅ | ✅ | ✅ | ✅ |
1.15.2 |
✅ | ✅ | ✅ | ✅ |
1.15.1 |
✅ | ✅ | ✅ | ✅ |
1.15.0 |
✅ | ✅ | ✅ | ✅ |
1.15.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.15.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.14.0 |
✅ | ✅ | ✅ | ✅ |
1.14.0-rc3 |
✅ | ✅ | ✅ | ✅ |
1.14.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.14.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.13.0 |
✅ | ✅ | ✅ | ✅ |
1.13.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.13.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.12.0 |
✅ | ✅ | ✅ | ✅ |
1.12.0-rc3 |
✅ | ✅ | ✅ | ✅ |
1.12.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.12.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.11.1 |
✅ | ✅ | ✅ | ✅ |
1.11.0 |
✅ | ✅ | ✅ | ✅ |
1.11.0-rc2 |
✅ | ✅ | ✅ | ✅ |
1.11.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.10.0 |
✅ | ✅ | ✅ | ✅ |
1.10.0-rc1 |
✅ | ✅ | ✅ | ✅ |
1.9.1 |
✅ | ✅ | ✅ | ✅ |
nightly |
✅ | ✅ | ✅ | ✅ |
nix develop
# or
direnv allowcd scripts
python fetch_gleam_releases.pyThis will update gleam_hashes.json with the latest Gleam releases and their checksums.
# Build the latest version
nix build
# Build and test
nix flake checkMIT License - see LICENSE for details.
- Gleam - A friendly language for building type-safe, scalable systems
- The Nix community for excellent tooling and patterns