ntfy-server/flake.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
1.7 KiB
Nix
Raw Normal View History

{
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";
};
};
});
}