Hi all,
I made a roc-overlay inspired by zig-overlay to allow us to easily use the latest nightly roc binaries (or previous nightlies) directly as a one-off command, in an ad-hoc dev shell, in a flake, or as an overlay. I found this useful in this PR and hopefully this can allow repos/projects to test with the most up to date versions of the compiler while waiting for a stable release. Let me know if you like it or find any issues!
Run direct
nix run github:thebrandonlucas/roc-overlay --version
Make temp shell
nix shell github:thebrandonlucas/roc-overlay
roc --version
Run pinned release
nix shell 'github:thebrandonlucas/roc-overlay#nightly-2026-July-14-c9147c2'
In a flake:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
roc-nightly.url = "github:thebrandonlucas/roc-overlay";
roc-nightly.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {nixpkgs, roc-nightly, ...}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
roc-nightly.packages.${system}.nightly
];
};
};
}
As an overlay:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
roc-nightly.url = "github:thebrandonlucas/roc-overlay";
roc-nightly.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {nixpkgs, roc-nightly, ...}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [roc-nightly.overlays.default];
};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
pkgs.rocpkgs.nightly
];
};
};
}
@blu would you like to make a PR to add this to github.com/lukewilliamboswell/roc-awesome
I am happy to do that if its easier.
@Luke Boswell Done! https://github.com/lukewilliamboswell/roc-awesome/pull/26/changes.
Last updated: Jul 23 2026 at 13:15 UTC