Nix flake for the Zig compiler.
Find a file
2022-08-22 17:38:53 -07:00
.github/workflows Initial commit based on original arqv repository 2022-08-22 15:56:44 -07:00
.gitignore rewrite update script from scratch to use curl/jq 2022-08-22 17:38:53 -07:00
default.nix rewrite update script from scratch to use curl/jq 2022-08-22 17:38:53 -07:00
flake.lock Initial commit based on original arqv repository 2022-08-22 15:56:44 -07:00
flake.nix Initial commit based on original arqv repository 2022-08-22 15:56:44 -07:00
README.md fix readme 2022-08-22 15:58:13 -07:00
sources.json rewrite update script from scratch to use curl/jq 2022-08-22 17:38:53 -07:00
update rewrite update script from scratch to use curl/jq 2022-08-22 17:38:53 -07:00

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 version 0.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
$ 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

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.