ebpf-demo/flake.nix
2023-09-26 12:15:38 +08:00

48 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in {
devShells = let
mkShell = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; };
go = pkgs.go;
cilium-ebpf = let version = "0.11.0"; in pkgs.buildGoModule {
inherit version;
name = "cilium-ebpf";
src = pkgs.fetchFromGitHub {
owner = "cilium";
repo = "ebpf";
rev = "v${version}";
sha256 = "+radPnp1l7OUYCEMvuVQU26V4o57R9cQkiU6khfdHAc=";
};
vendorSha256 = "qt6cXgU7lSw84F4/opvNnrsVU9LvjdT+LvEvaFL9CTQ=";
doCheck = false;
doInstallCheck = false;
};
in {
default = mkShell {
buildInputs = with pkgs; [
bpftool
go
cilium-ebpf
];
};
};
packages = let
file-lock = pkgs.buildGoModule {
name = "file-lock";
version = "0.0.1";
src = ./.;
vendorSha256 = "FhZNRT3zb5FUSgCG8EwVRdwKkBuXlQsbG0RQcg5SFrQ=";
};
in {
inherit file-lock;
default = file-lock;
};
});
}