2024-06-06 12:23:34 -05:00
|
|
|
{
|
2024-06-07 12:49:25 -05:00
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2024-06-07 14:58:13 -05:00
|
|
|
inputs.deno2nix.url = "github:lytedev/deno2nix";
|
2024-06-06 12:23:34 -05:00
|
|
|
|
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
2024-06-07 14:58:13 -05:00
|
|
|
deno2nix,
|
2024-06-06 12:23:34 -05:00
|
|
|
}: let
|
|
|
|
inherit (self) outputs;
|
|
|
|
supportedSystems = [
|
|
|
|
"x86_64-linux"
|
2024-06-07 12:49:25 -05:00
|
|
|
"aarch64-linux"
|
2024-06-06 12:23:34 -05:00
|
|
|
|
|
|
|
"x86_64-darwin"
|
2024-06-07 12:49:25 -05:00
|
|
|
"aarch64-darwin"
|
2024-06-06 12:23:34 -05:00
|
|
|
];
|
2024-06-07 12:49:25 -05:00
|
|
|
forEachSupportedSystem = nixpkgs.lib.genAttrs supportedSystems;
|
2024-06-06 12:23:34 -05:00
|
|
|
in {
|
2024-06-07 14:58:13 -05:00
|
|
|
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;
|
|
|
|
});
|
|
|
|
|
2024-06-07 12:49:25 -05:00
|
|
|
devShells = forEachSupportedSystem (system: let
|
|
|
|
pkgs = import nixpkgs {inherit system;};
|
|
|
|
in {
|
|
|
|
deno-dev = pkgs.mkShell {
|
|
|
|
buildInputs = with pkgs; [
|
|
|
|
vscode-langservers-extracted
|
|
|
|
deno
|
|
|
|
curl
|
|
|
|
xh
|
|
|
|
sqlite
|
|
|
|
];
|
2024-06-06 12:23:34 -05:00
|
|
|
};
|
|
|
|
|
2024-06-07 12:49:25 -05:00
|
|
|
default = outputs.devShells.${system}.deno-dev;
|
|
|
|
});
|
2024-06-06 12:23:34 -05:00
|
|
|
};
|
|
|
|
}
|