Skip to content

Commit 68114d2

Browse files
committed
add mise integration
1 parent 5aa81e7 commit 68114d2

2 files changed

Lines changed: 36 additions & 4 deletions

File tree

wrapperModules/d/direnv/check.nix

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,30 @@ runTests "direnv-test" [
9696
(notIsFile "${getDotdir wrapper}/lib/nix-direnv.sh")
9797
]
9898
))
99+
(runTest "if mise is enabled then lib/mise.sh should exists" (
100+
let
101+
wrapper = self.wrappers.direnv.wrap {
102+
inherit pkgs;
103+
mise.enable = true;
104+
};
105+
in
106+
[
107+
(isDirectory (getDotdir wrapper))
108+
(isFile "${getDotdir wrapper}/lib/mise.sh")
109+
]
110+
))
111+
(runTest "if mise is disabled then lib/mise.sh should not exist" (
112+
let
113+
wrapper = self.wrappers.direnv.wrap {
114+
inherit pkgs;
115+
mise.enable = false;
116+
};
117+
in
118+
[
119+
(isDirectory (getDotdir wrapper))
120+
(notIsFile "${getDotdir wrapper}/lib/mise.sh")
121+
]
122+
))
99123
(runTest "if a lib-script is set then it should be generated" (
100124
let
101125
libScriptFile = "${getDotdir wrapper}/lib/foo.sh";

wrapperModules/d/direnv/module.nix

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
...
77
}:
88
let
9-
cfg = config;
10-
119
tomlFmt = pkgs.formats.toml { };
1210
direnvToml = tomlFmt.generate "direnv.toml" config.extraConfig;
1311
direnvDotdir = "${config.wrapper.${config.outputName}}/${config.configDirname}";
@@ -30,6 +28,10 @@ in
3028
enable = lib.mkEnableOption "nix-direnv integration";
3129
package = lib.mkPackageOption pkgs "nix-direnv" { };
3230
};
31+
mise = {
32+
enable = lib.mkEnableOption "mise integration";
33+
package = lib.mkPackageOption pkgs "mise" { };
34+
};
3335
lib = lib.mkOption {
3436
type = with lib.types; attrsOf lines;
3537
description = ''
@@ -62,8 +64,14 @@ in
6264
# DIRENV_CONFIG = "${placeholder "out"}/${config.configDirname}";
6365
};
6466
passthru.DIRENV_CONFIG = direnvDotdir;
65-
lib."nix-direnv.sh" =
66-
lib.mkIf (config.nix-direnv.enable) "source ${cfg.nix-direnv.package}/share/nix-direnv/direnvrc";
67+
lib = {
68+
"nix-direnv.sh" = lib.mkIf config.nix-direnv.enable ''
69+
source ${config.nix-direnv.package}/share/nix-direnv/direnvRc
70+
'';
71+
"mise.sh" = lib.mkIf config.mise.enable ''
72+
eval "$(${lib.getExe config.mise.package} direnv activate)"
73+
'';
74+
};
6775
extraConfig = {
6876
global = lib.mkIf (config.silent) {
6977
log_format = "-";

0 commit comments

Comments
 (0)