nixos/direnv: add xonsh integration (#383435)

h7x4 ce52fcd4 099bdee3

Changed files
+16
nixos
modules
programs
+16
nixos/modules/programs/direnv.nix
···
enableFishIntegration = enabledOption ''
Fish integration
'';
+
enableXonshIntegration = enabledOption ''
+
Xonsh integration
+
'';
direnvrcExtra = lib.mkOption {
type = lib.types.lines;
···
${lib.getExe cfg.package} hook fish | source
end
'';
+
+
xonsh = lib.mkIf cfg.enableXonshIntegration {
+
extraPackages = ps: [ ps.xonsh.xontribs.xonsh-direnv ];
+
config = ''
+
if ${
+
if cfg.loadInNixShell then
+
"True"
+
else
+
"not any(map(lambda s: s.startswith('/nix/store'), __xonsh__.env.get('PATH')))"
+
}:
+
xontrib load direnv
+
'';
+
};
};
environment = {