From 3a71b8e5d182acd967a69b86da62158028d6df8a Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Thu, 30 May 2024 01:15:19 -0700 Subject: [PATCH] optionally use nom to build devshell dependencies This is nice when messing around with the nix configuration, since you'll often end up building rocksdb *many* times. We shouldn't need to do anything to get the logs in CI because we're calling `nix-build-and-cache ci` at the beginning --- .envrc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.envrc b/.envrc index 952ec2f8..ede83d9a 100644 --- a/.envrc +++ b/.envrc @@ -2,6 +2,16 @@ dotenv_if_exists -use flake ".#${DIRENV_DEVSHELL:-default}" +system="$(nix eval --impure --raw --expr 'builtins.currentSystem')" +devshell="${DIRENV_DEVSHELL:-default}" + +if command -v nom &> /dev/null && [ -t 0 ]; then + # if nom is available, build the devshell dependencies with it to get nicer + # progress monitoring. Don't do this when stdout is piped, because it shows + # up weird in engage. + nom build ".#devShells.$system.$devshell" +fi + +use flake ".#$devshell" PATH_add bin