{ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.deno2nix.url = "github:lytedev/deno2nix"; outputs = { self, nixpkgs, deno2nix, }: let inherit (self) outputs; supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forEachSupportedSystem = nixpkgs.lib.genAttrs supportedSystems; in { packages = forEachSupportedSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [deno2nix.overlays.default]; }; in { diagrammer = pkgs.deno2nix.mkExecutable { pname = "diagrammer"; version = "1.0.0"; src = ./.; bin = "diagrammer"; entrypoint = "./mod.ts"; lockfile = "./deno.lock"; config = "./deno.json"; allow = { all = true; }; }; default = outputs.packages.${system}.diagrammer; }); devShells = forEachSupportedSystem (system: let pkgs = import nixpkgs {inherit system;}; in { deno-dev = pkgs.mkShell { buildInputs = with pkgs; [ vscode-langservers-extracted deno curl xh sqlite ]; }; default = outputs.devShells.${system}.deno-dev; }); }; }