{ description = "Alertmanager to dbus notify bridge"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; outputs = { self, nixpkgs }: let allSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = f: nixpkgs.lib.genAttrs allSystems ( system: f { pkgs = import nixpkgs { inherit system; }; } ); in { overlays.default = final: prev: { alerttonotify = self.packages.${prev.system}.default; }; packages = forAllSystems ( { pkgs }: { default = let src = pkgs.lib.sourceFilesBySuffices ./. [ "go.mod" "go.sum" ".go" ]; version = pkgs.lib.strings.removePrefix "v" ( builtins.elemAt (pkgs.lib.strings.split "\"" ( pkgs.lib.lists.findFirst (x: pkgs.lib.strings.hasInfix "Version" x) null ( pkgs.lib.strings.splitString "\n" (builtins.readFile ./main.go) ) )) 2 ); in pkgs.buildGoModule { version = version; pname = "alerttonotify"; src = src; vendorHash = "sha256-1ejnJykXY+j/xddFupLII2SXGsbxBSUaAe20YpcMzgQ="; }; } ); devShells = forAllSystems ( { pkgs }: { default = pkgs.mkShell { packages = with pkgs; [ go golangci-lint ]; }; } ); }; }