Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nix-community/zon2nix
Convert the dependencies in `build.zig.zon` to a Nix expression [maintainer=@figsoda]
https://github.com/nix-community/zon2nix
build nix vendor zig zon
Last synced: 3 months ago
JSON representation
Convert the dependencies in `build.zig.zon` to a Nix expression [maintainer=@figsoda]
- Host: GitHub
- URL: https://github.com/nix-community/zon2nix
- Owner: nix-community
- License: mpl-2.0
- Created: 2023-08-08T19:18:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-14T12:36:23.000Z (8 months ago)
- Last Synced: 2024-04-15T11:59:48.195Z (7 months ago)
- Topics: build, nix, vendor, zig, zon
- Language: Zig
- Homepage: https://discourse.nixos.org/t/31468
- Size: 30.3 KB
- Stars: 59
- Watchers: 3
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - zon2nix🗒️Convert the dependencies in `build.zig.zon` to a Nix expression
- awesome-nix - zon2nix - Convert the dependencies in `build.zig.zon` to a Nix expression. (Programming Languages / Zig)
README
# zon2nix
Convert the dependencies in `build.zig.zon` to a Nix expression
## Usage
```bash
zon2nix > deps.nix
zon2nix zls > deps.nix
zon2nix zls/build.zig.zon > deps.nix
```To use the generated file, add this to your Nix expression:
```nix
postPatch = ''
ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
'';
```## Example
This `build.zig.zon` from [zls](https://github.com/zigtools/zls)
```zig
.{
.name = "zls",
.version = "0.11.0",.dependencies = .{
.known_folders = .{
.url = "https://github.com/ziglibs/known-folders/archive/fa75e1bc672952efa0cf06160bbd942b47f6d59b.tar.gz",
.hash = "122048992ca58a78318b6eba4f65c692564be5af3b30fbef50cd4abeda981b2e7fa5",
},
.diffz = .{
.url = "https://github.com/ziglibs/diffz/archive/90353d401c59e2ca5ed0abe5444c29ad3d7489aa.tar.gz",
.hash = "122089a8247a693cad53beb161bde6c30f71376cd4298798d45b32740c3581405864",
},
.binned_allocator = .{
.url = "https://gist.github.com/antlilja/8372900fcc09e38d7b0b6bbaddad3904/archive/6c3321e0969ff2463f8335da5601986cf2108690.tar.gz",
.hash = "1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5",
},
},
}
```produces the following nix expression
```nix
# generated by zon2nix (https://github.com/nix-community/zon2nix){ linkFarm, fetchzip }:
linkFarm "zig-packages" [
{
name = "1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5";
path = fetchzip {
url = "https://gist.github.com/antlilja/8372900fcc09e38d7b0b6bbaddad3904/archive/6c3321e0969ff2463f8335da5601986cf2108690.tar.gz";
hash = "sha256-m/kr4kmkG2rLkAj5YwvM0HmXTd+chAiQHzYK6ozpWlw=";
};
}
{
name = "122048992ca58a78318b6eba4f65c692564be5af3b30fbef50cd4abeda981b2e7fa5";
path = fetchzip {
url = "https://github.com/ziglibs/known-folders/archive/fa75e1bc672952efa0cf06160bbd942b47f6d59b.tar.gz";
hash = "sha256-U/h4bVarq8CFKbFyNXKl3vBRPubYooLxA1xUz3qMGPE=";
};
}
{
name = "122089a8247a693cad53beb161bde6c30f71376cd4298798d45b32740c3581405864";
path = fetchzip {
url = "https://github.com/ziglibs/diffz/archive/90353d401c59e2ca5ed0abe5444c29ad3d7489aa.tar.gz";
hash = "sha256-3CdYo6WevT0alRwKmbABahjhFKz7V9rdkDUZ43VtDeU=";
};
}
]
```