1e22ef1518
Nushell 0.98 makes it so external commands returning non-zero is considered an exception[0]. Wrap the direnv invocation in a try-catch, so that even if direnv fails, we get the message from direnv, but not the traceback from nushell. [0]: https://www.nushell.sh/blog/2024-09-17-nushell_0_98_0.html#non-zero-exit-codes-are-now-errors-toc
19 lines
479 B
Nix
19 lines
479 B
Nix
{ pkgs, config, ... }:
|
|
|
|
{
|
|
programs.nushell.enable = true;
|
|
programs.direnv.enable = true;
|
|
|
|
test.stubs.nushell = { };
|
|
|
|
nmt.script = let
|
|
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
|
|
"home-files/Library/Application Support/nushell/config.nu"
|
|
else
|
|
"home-files/.config/nushell/config.nu";
|
|
in ''
|
|
assertFileExists "${configFile}"
|
|
assertFileRegex "${configFile}" \
|
|
'^\s*/nix/store/.*direnv.*/bin/direnv export json$'
|
|
'';
|
|
}
|