{ description = "CentralCloud OnCall — Grafana OnCall fork (Python/Django + Node.js/pnpm)"; 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; [ # Python engine python312 python312Packages.pip python312Packages.virtualenv uv # Frontend (grafana-plugin) nodejs_20 nodePackages.pnpm # Dev tooling gnumake git jq curl # Local service dependencies (for running without docker) postgresql_16 redis rabbitmq-server ]; shellHook = '' echo "CentralCloud OnCall dev shell" echo " python : $(python --version)" echo " node : $(node --version)" echo " pnpm : $(pnpm --version)" echo "" echo "Engine: cd engine && uv sync && source .venv/bin/activate" echo "Frontend: cd grafana-plugin && pnpm install && pnpm dev" echo "Compose: docker compose up -d (db, redis, rabbitmq)" ''; }; }); }