54 lines
1.0 KiB
Nix
54 lines
1.0 KiB
Nix
{
|
|
description = "Pure Nix library for IPv4 operations";
|
|
|
|
inputs = {
|
|
nixpkgs-lib.url = "github:nix-community/nixpkgs.lib";
|
|
};
|
|
|
|
outputs =
|
|
{ self, nixpkgs-lib }:
|
|
let
|
|
# Import our library with nixpkgs.lib
|
|
ipLib = import ./lib { lib = nixpkgs-lib.lib; };
|
|
|
|
# Systems for checks and packages
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
forAllSystems = f: nixpkgs-lib.lib.genAttrs systems f;
|
|
|
|
in
|
|
{
|
|
# Primary library output
|
|
lib = ipLib;
|
|
|
|
overlays = {
|
|
default = final: prev: {
|
|
lib = prev.lib.extend self.overlays.lib;
|
|
};
|
|
|
|
lib = final: prev: {
|
|
iputils = ipLib;
|
|
};
|
|
};
|
|
|
|
# Tests
|
|
checks = forAllSystems (
|
|
system:
|
|
let
|
|
lib = nixpkgs-lib.lib;
|
|
runTests = import ./tests {
|
|
inherit lib system;
|
|
ipLib = ipLib;
|
|
};
|
|
in
|
|
{
|
|
tests = runTests;
|
|
}
|
|
);
|
|
};
|
|
}
|