mirror of
https://github.com/mitchellh/zig-overlay.git
synced 2025-02-05 08:52:48 +02:00
Nix flake for the Zig compiler.
.github/workflows | ||
.gitignore | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
README.md | ||
sources.json | ||
update |
Nix Flake for Zig
This repository is a Nix flake packaging the Zig compiler. The flake mirrors the binaries built officially by Zig and does not build them from source.
Provided packages:
- Nightly versions updated daily (
.master.<date>
), starting from version0.8.0-dev.1140+9270aae07
dated 2021-02-13, and latest master (.master.latest
) for the sake of convenience. - Release versions.
Usage
Flake Support
In your flake.nix
file:
{
inputs.zig.url = "github:mitchellh/zig-overlay";
outputs = { self, zig, ... }: {
...
};
}
In a shell:
# run the latest version (0.7.1)
$ nix run 'github:mitchellh/zig-overlay'
# open a shell with master version dated 2021-02-13 (oldest version available)
$ nix shell 'github:mitchellh/zig-overlay#master."2021-02-13"'
# open a shell with latest master version
$ nix shell 'github:mitchellh/zig-overlay#master.latest'
No Flake Support
Import in your project as you would normally (pkgs.fetchFromGitHub
or
builtins.fetchgit
). The default.nix
exposes a pkgs
argument for possible
pinning of the nixpkgs repository, and a system
argument which defaults to
builtins.currentSystem
.
# It is a good idea to use an exact commit in place of 'main' here.
let zigf = fetchTarball "https://github.com/mitchellh/zig-overlay/archive/main.tar.gz" in
# If you're using home-manager
home.packages = [ zigf.master.latest ]; # or any available version
# If you're using NixOS
users.user.<username>.packages = [ zigf.master.latest ]; # or any available version
# ...the rest of your configuration
Thanks
This repository is originally hosted by the username arqv
. This user
and repository disappeared at some point and I had a local checkout so
I've forked it, modified it, and reuploaded it here.