diff --git a/modules/home/base.nix b/modules/home/base.nix index e136c42..0a43565 100644 --- a/modules/home/base.nix +++ b/modules/home/base.nix @@ -8,6 +8,7 @@ ./devtools/ai-tools.nix ./devtools/languages.nix ./devtools/default.nix + ./devtools/direnv.nix ./devtools/try.nix ./secrets.nix ]; @@ -34,6 +35,8 @@ path = "~/src/tries"; }; + rsydn.direnv.enable = lib.mkDefault true; + rsydn.devTools = { enable = lib.mkDefault true; packages = with pkgs; [ diff --git a/modules/home/devtools/direnv.nix b/modules/home/devtools/direnv.nix new file mode 100644 index 0000000..5d27664 --- /dev/null +++ b/modules/home/devtools/direnv.nix @@ -0,0 +1,27 @@ +{ config, lib, ... }: +let + inherit (lib) mkOption types mkIf; + cfg = config.rsydn.direnv; +in { + options.rsydn.direnv = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable direnv with nix-direnv for automatic devshell activation."; + }; + silent = mkOption { + type = types.bool; + default = true; + description = "Suppress direnv loading messages."; + }; + }; + + config = mkIf cfg.enable { + programs.direnv = { + enable = true; + enableNushellIntegration = true; + nix-direnv.enable = true; + silent = cfg.silent; + }; + }; +}