3ad22341a2
This enables nushell integration by default for direnv, similar to bash/zsh/fish. The slightly verbose way of setting this is to ensure that peoples' existing nushell configuration isn't overwritten, only appended to, as would be the case if we just used the integration example from the nushell docs: https://www.nushell.sh/cookbook/direnv.html Closes #3520
20 lines
471 B
Nix
20 lines
471 B
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.nushell.enable = true;
|
|
programs.direnv.enable = true;
|
|
|
|
test.stubs.nushell = { };
|
|
|
|
nmt.script = let
|
|
configFile = if pkgs.stdenv.isDarwin then
|
|
"home-files/Library/Application Support/nushell/config.nu"
|
|
else
|
|
"home-files/.config/nushell/config.nu";
|
|
in ''
|
|
assertFileExists "${configFile}"
|
|
assertFileRegex "${configFile}" \
|
|
'let direnv = (/nix/store/.*direnv.*/bin/direnv export json | from json)'
|
|
'';
|
|
}
|