{ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; perSystem = { pkgs, ... }: let lazuli = pkgs.buildGoModule rec { name = "lazuli"; version = "v0.2.2"; src = pkgs.nix-gitignore.gitignoreSource [ "*.csv" "*.zip" "*.json" ] ./.; vendorHash = "sha256-qbzcYNFBCXq2mcMVs2fVbWqBAkJCdZJ1i93lSrMmIuY="; ldflags = [ "-X" "main.Version=${version}" ]; meta = { mainPackage = "lazuli"; }; }; in { packages = { default = lazuli; lazuli = lazuli; }; devShells.default = pkgs.mkShell { buildInputs = [ pkgs.go pkgs.gofumpt ]; }; }; }; }