Nix package for huffc, the Huff language compiler.
Distributes pre-built binaries for:
x86_64-linuxaarch64-linuxx86_64-darwinaarch64-darwin
nix run github:jezsung/huff-rs.nix -- --version{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
huff-rs.url = "github:jasg/huff-rs.nix";
};
outputs = { nixpkgs, huff-rs, ... }:
let
system = "aarch64-darwin"; # or your target system
pkgs = import nixpkgs {
inherit system;
overlays = [ huff-rs.overlays.default ];
};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [ pkgs.huffc-bin ];
};
};
}Instead of injecting huffc-bin into nixpkgs via an overlay, you can reference the package directly from the flake input:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
huff-rs.url = "github:jezsung/huff-rs.nix";
};
outputs = { nixpkgs, huff-rs, ... }:
let
system = "aarch64-darwin"; # or your target system
pkgs = import nixpkgs { inherit system; };
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
huff-rs.packages.${system}.default
];
};
};
}This skips the overlay entirely. Use this when you just need the binary and don't need pkgs.huffc-bin available throughout your package set.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
huff-rs.url = "github:jezsung/huff-rs.nix";
};
outputs = { nixpkgs, flake-utils, huff-rs, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ huff-rs.overlays.default ];
};
in {
devShells.default = pkgs.mkShell {
packages = [ pkgs.huffc-bin ];
};
}
);
}MIT. huffc itself is licensed under Apache 2.0.