71 lines
1.7 KiB
Nix
71 lines
1.7 KiB
Nix
{
|
|
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";
|
|
};
|
|
};
|
|
});
|
|
}
|