{ description = "Pinchflat fork with JSON REST API for MCP integration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, ... }: let supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; in { overlays = { default = final: prev: { pinchflat = prev.pinchflat.overrideAttrs ( old: { src = prev.fetchFromGitea { domain = "gitea.bueso.eu"; owner = "hermes-agent"; repo = "pinchflat"; rev = "8e0ec4b8b9bdc43060cf2d98e6ebafaf693fc944"; hash = "sha256-BEAvsaMQFFj2YyGeYdYGSavFoWl46TQaLGCb5RlPlQU="; }; # Deps hashes are identical to upstream — mix.lock and yarn.lock # are unchanged in this fork. If they drift, nix build will # print the correct hash to use. mixFodDeps = old.mixFodDeps.overrideAttrs (_: { hash = "sha256-7zLlOzBJcvookYX/4SNC0O1Yr62LIKH9R8rONl3diSs="; }); yarnOfflineCache = old.yarnOfflineCache.overrideAttrs (_: { sha256 = "sha256-xJL+qcohtu+OmZ31E1QU9uqBWAFGejKIO3XRd+R6z/4="; }); } ); }; }; packages = forAllSystems ( system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default ]; }; in { default = pkgs.pinchflat; pinchflat = pkgs.pinchflat; } ); }; }