{ description = "Bob: The HTML and HTML fragment builder"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; outputs = { self, nixpkgs }: let rootPath = ./.; releaseJson = builtins.fromJSON (builtins.readFile "${rootPath}/release.json"); currentVersion = releaseJson.version; systems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system); makePackage = system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; }; in pkgs.bob; in { overlay = final: prev: { bob = final.buildGoModule rec { name = "bob"; src = ././application/source; vendorSha256 = "sha256-qiObIbA75kfkGzZoTtZbkm4zQqXokL+hiWrJdmL8oxU="; # Use "nix to-sri --type sha256" on the actual hash doCheck = true; nativeBuildInputs = [ final.jq ]; ldflags=''-X main.version=${currentVersion} -X main.build=${self.lastModifiedDate}''; }; }; defaultPackage = forAllSystems makePackage; packages = forAllSystems (system: { bob = makePackage system; }); checks = { test = forAllSystems makePackage; }; }; }