tvl-depot/users/picnoir/tvix-daemon/default.nix
Picnoir 29b5ffbda0 feat(users/picnoir/tvix-daemon): introduce tvix-daemon
This daemon is a re-implementation of the Nix daemon except it uses
tvix-store as a remote store.

For now, it's very barebones, this is just a quick and dirty setup to
get started with the project. We bind to the unix socket provided by
systemd, wait for cpp Nix to send the magic hello bytes, respond with
the magic hello bytes and call it a day.

Storing this under my username for now, the project is mostly
irrelevant as it is. We'll move it to Tvix if it gets complete and
relevant at some point.

Change-Id: Ifc5dce2df37413504f9de1942c5b7d425eddf759
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11198
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-03-19 16:51:43 +00:00

26 lines
641 B
Nix

{ depot, lib, pkgs, ... }:
let
crate2nix = pkgs.callPackage ./Cargo.nix {
defaultCrateOverrides = {
tvix-castore = prev: {
PROTO_ROOT = depot.tvix.castore.protos.protos;
nativeBuildInputs = protobufDep prev;
};
tvix-store = prev: {
PROTO_ROOT = depot.tvix.store.protos.protos;
nativeBuildInputs = protobufDep prev;
};
};
};
protobufDep = prev: (prev.nativeBuildInputs or [ ]) ++ [ pkgs.buildPackages.protobuf ];
in
{
shell = (import ./shell.nix { inherit pkgs; });
tvix-daemon = crate2nix.rootCrate.build;
meta.ci.targets = [
"tvix-daemon"
"shell"
];
}