diagramming/flake.nix
2024-06-07 14:58:13 -05:00

61 lines
1.3 KiB
Nix

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