diff options
author | Damien Cassou <damien@cassou.me> | 2020-06-01 09:56:48 +0200 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2020-06-06 22:17:43 +0200 |
commit | b33802ca7f0675fa8f64dd0f322ab7a57e45ba6a (patch) | |
tree | a439a2a18ea2e1989b93638874e003ee9722cec5 /modules/programs/direnv.nix | |
parent | 575cd4b8bac4775c724b95224cd5e23d8a2064ef (diff) |
direnv: add support for nix-direnv
PR #1297
Diffstat (limited to '')
-rw-r--r-- | modules/programs/direnv.nix | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/programs/direnv.nix b/modules/programs/direnv.nix index de57727fd46..1d1374b8e26 100644 --- a/modules/programs/direnv.nix +++ b/modules/programs/direnv.nix @@ -70,6 +70,11 @@ in { Whether to enable Fish integration. ''; }; + + enableNixDirenvIntegration = mkEnableOption '' + <link + xlink:href="https://github.com/nix-community/nix-direnv">nix-direnv</link>, + a fast, persistent use_nix implementation for direnv''; }; config = mkIf cfg.enable { @@ -78,8 +83,11 @@ in { xdg.configFile."direnv/config.toml" = mkIf (cfg.config != { }) { source = configFile cfg.config; }; - xdg.configFile."direnv/direnvrc" = - mkIf (cfg.stdlib != "") { text = cfg.stdlib; }; + xdg.configFile."direnv/direnvrc" = let + text = concatStringsSep "\n" (optional (cfg.stdlib != "") cfg.stdlib + ++ optional cfg.enableNixDirenvIntegration + "source ${pkgs.nix-direnv}/share/nix-direnv/direnvrc"); + in mkIf (text != "") { inherit text; }; programs.bash.initExtra = mkIf cfg.enableBashIntegration ( # Using mkAfter to make it more likely to appear after other |