tvl-depot/tvix/shell.nix
Florian Klink 7df720855d feat(tvix): add go to shell
That's needed to build nar-bridge, as well as things in tvix/*store/
protos.

Change-Id: If5f71b6c528a27689faa3c5ab3489cc528f9e6e5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9759
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2023-10-16 16:12:18 +00:00

36 lines
959 B
Nix

# This file is shell.nix in the tvix josh workspace,
# *and* used to provide the //tvix:shell attribute in a full depot checkout.
# Hence, it may not use depot as a toplevel argument.
{
# This falls back to the tvix josh workspace-provided nixpkgs checkout.
# In the case of depot, it's always set explicitly.
pkgs ? (import ./nixpkgs {
depotOverlays = false;
depot.third_party.sources = import ./sources { };
})
, ...
}:
pkgs.mkShell {
name = "tvix-rust-dev-env";
packages = [
pkgs.buf-language-server
pkgs.cargo
pkgs.cargo-machete
pkgs.clippy
pkgs.evans
pkgs.fuse
pkgs.go
pkgs.pkg-config
pkgs.rust-analyzer
pkgs.rustc
pkgs.rustfmt
pkgs.protobuf
] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
# We need these two dependencies in the ambient environment to be able to
# `cargo build` on MacOS.
pkgs.libiconv
pkgs.buildPackages.darwin.apple_sdk.frameworks.Security
];
}