aboutsummaryrefslogtreecommitdiff
path: root/home-manager/modules/programs/direnv.nix
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2020-09-21 14:12:32 +0200
committerKatharina Fey <kookie@spacekookie.de>2020-09-21 14:12:32 +0200
commitf80843dd45d7acd563d0a5b014cec3a2ea686fc2 (patch)
tree87189d873d6f932d85f9c1a480462b37d96cd6a5 /home-manager/modules/programs/direnv.nix
parente0800985dab8f8ebb4cebdfd7e361fd1fafdb2a7 (diff)
parent9b1b55ba0264a55add4b7b4e022bdc2832b531f6 (diff)
Merge commit '9b1b55ba0264a55add4b7b4e022bdc2832b531f6'
Diffstat (limited to 'home-manager/modules/programs/direnv.nix')
-rw-r--r--home-manager/modules/programs/direnv.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/home-manager/modules/programs/direnv.nix b/home-manager/modules/programs/direnv.nix
index beb40a96261..1d1374b8e26 100644
--- a/home-manager/modules/programs/direnv.nix
+++ b/home-manager/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,12 +83,15 @@ 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
- # manipulations of the prompt.
+ # Using mkAfter to make it more likely to appear after other
+ # manipulations of the prompt.
mkAfter ''
eval "$(${pkgs.direnv}/bin/direnv hook bash)"
'');