{ description = "Relay prometheus alerts to ntfy.sh"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; }; outputs = { nixpkgs, flake-utils, self, ... }: { nixosModules.default = ({ pkgs, ... }: { imports = [ ./module.nix ]; # defined overlays injected by the nixflake nixpkgs.overlays = [ (_self: _super: { alertmanager-ntfy = self.packages.${pkgs.system}.alertmanager-ntfy; }) ]; }); } // flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in rec { packages = flake-utils.lib.flattenTree rec { default = alertmanager-ntfy; alertmanager-ntfy = pkgs.buildGoModule rec { pname = "alertmanager-ntfy"; version = "1.0.0"; src = ./.; vendorHash = "sha256-Ezt1HDxGQ7DePF90HgHKkH7v365ICFdnfcWJipLhCwQ="; meta = with pkgs.lib; { description = "Relay prometheus alerts to ntfy"; homepage = "https://github.com/pinpox/alertmanager-ntfy"; license = licenses.gpl3; maintainers = with maintainers; [ pinpox ]; }; }; mock-hook = pkgs.writeScriptBin "mock-hook" '' #!${pkgs.stdenv.shell} ${pkgs.curl}/bin/curl -X POST -d @mock.json http://$HTTP_ADDRESS:$HTTP_PORT ''; }; apps = rec { mock-hook = flake-utils.lib.mkApp { drv = packages.mock-hook; }; alertmanager-ntfy = flake-utils.lib.mkApp { drv = packages.alertmanager-ntfy; }; defulat = alertmanager-ntfy; }; }); }