Files
quixos/quixos-instance/packages/todo-runtime/flake.nix
T
2026-07-18 10:33:55 -07:00

60 lines
2.7 KiB
Nix

{
description = "Quixos todo runtime package";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
camino-package-runtime = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git?ref=refs/heads/exported&rev=765c321f8a8710f351e63d3910ab46a2d5935393";
inputs.quixos-protocol.follows = "quixos-protocol";
inputs.quixosNixHelpers.follows = "quixosNixHelpers";
};
quixos-protocol.url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git?ref=refs/heads/exported&rev=e6b34535afa6e94a118e1f9d082054855e7df632";
quixosNixHelpers = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/heads/exported&rev=1f0c39b01501d646fe97dfc6e5777ccab0bde2f1";
flake = false;
};
task-schema = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git?rev=fc518cbe75bb1960ee9d76dd2825d8e0f1cca9e4&dir=quixos-instance/schemas/quixos.todo.Task";
flake = false;
};
schemas-root = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git?rev=fc518cbe75bb1960ee9d76dd2825d8e0f1cca9e4&dir=quixos-instance/schemas";
flake = false;
};
};
outputs = inputs@{ nixpkgs, flake-utils, quixosNixHelpers, ... }:
let
quixosHelpers = import "${quixosNixHelpers}/quixos-package-helpers.nix";
in
quixosHelpers.mkCaminoTsYarnNixifyFlake {
inherit inputs nixpkgs flake-utils;
packageRoot = ./.;
promptName = "todo-runtime";
nativeBuildInputs = { inputs, system, ... }: [
inputs.camino-package-runtime.packages.${system}.default
];
buildEnv = { inputs, pkgs, system, ... }: {
QUIXOS_TODO_TASK_SCHEMA = "${inputs.task-schema}/schema.camino.proto";
CAMINO_PROTO_PATH = "${pkgs.protobuf}/include:${inputs.quixos-protocol.packages.${system}.default}/proto:${inputs.schemas-root}";
};
bundle = {
entry = "dist/gen/quixos.todo.Task.server.js";
};
installServer = {
libexecName = "todo-runtime";
descriptorPath = "descriptor.quixos-package.txtpb";
};
devShellPackages = { inputs, pkgs, system }: [
pkgs.protobuf
inputs.camino-package-runtime.packages.${system}.default
];
devShellHook = { inputs, pkgs, system, ... }: ''
export QUIXOS_TODO_TASK_SCHEMA="${inputs.task-schema}/schema.camino.proto"
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:${inputs.quixos-protocol.packages.${system}.default}/proto:${inputs.schemas-root}:${inputs.task-schema}''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
'';
};
}