diff --git a/modules/programs/direnv.nix b/modules/programs/direnv.nix index e16543093..4707c6ce5 100644 --- a/modules/programs/direnv.nix +++ b/modules/programs/direnv.nix @@ -14,6 +14,14 @@ in options.programs.direnv = { enable = mkEnableOption "direnv, the environment switcher"; + stdlib = mkOption { + type = types.lines; + default = ""; + description = '' + Custom stdlib written to ~/.config/direnv/direnvrc. + ''; + }; + enableBashIntegration = mkOption { default = true; type = types.bool; @@ -42,6 +50,10 @@ in config = mkIf cfg.enable { home.packages = [ pkgs.direnv ]; + xdg.configFile."direnv/direnvrc" = mkIf (cfg.stdlib != "") { + text = cfg.stdlib; + }; + programs.bash.initExtra = mkIf cfg.enableBashIntegration ( # Using mkAfter to make it more likely to appear after other