diagramming/flake.nix

61 lines
1.3 KiB
Nix
Raw Normal View History

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