diff options
Diffstat (limited to 'home/direnv')
-rw-r--r-- | home/direnv/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/home/direnv/default.nix b/home/direnv/default.nix new file mode 100644 index 0000000..89d0535 --- /dev/null +++ b/home/direnv/default.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.my.home.direnv; + fishEnabled = config.my.home.fish.enable; +in { + options.my.home.direnv = with lib; { + enable = mkEnableOption "direnv configuration"; + }; + + config = lib.mkIf cfg.enable { + programs.direnv = { + enable = true; + nix-direnv = { + enable = true; + enableFlakes = true; + }; + }; + + programs.fish.interactiveShellInit = lib.mkIf fishEnabled ( + # Using mkAfter to make it more likely to appear after other + # manipulations of the prompt. + lib.mkAfter '' + ${pkgs.direnv}/bin/direnv hook fish | source + ''); + + home.sessionVariables = { DIRENV_DEFAULT_FLAKE = "nixpkgs"; }; + }; +} |