{ description = "CentralCloud ntfy server fork — push notification backend for oncall alerts"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; flake-utils.url = "github:numtide/flake-utils"; }; nixConfig = { extra-substituters = [ "https://cache.centralcloud.com/default" ]; extra-trusted-public-keys = [ "default:ywfU21WX06iOn2Ec2lae1jYh4w8LO4IQkmp06vJzsk8=" ]; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs {inherit system;}; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ go_1_24 gotools # goimports, godoc, etc. golangci-lint goreleaser # Frontend (web UI) nodejs_20 nodePackages.npm # Dev tooling gnumake git curl jq ]; shellHook = '' export GOPATH="$HOME/go" export PATH="$GOPATH/bin:$PATH" echo "CentralCloud ntfy server dev shell" echo " go : $(go version)" echo " node : $(node --version)" echo "" echo "Run: go run main.go serve" echo "Build: make build" echo "Test: go test ./..." ''; }; packages.default = pkgs.buildGoModule { pname = "ntfy"; version = "2.22.0"; src = ./.; vendorHash = null; doCheck = false; meta = { description = "Send push notifications to your phone or desktop via PUT/POST"; homepage = "https://ntfy.sh"; license = pkgs.lib.licenses.asl20; mainProgram = "ntfy"; }; }; }); }