Skip to content

Commit

Permalink
mise: enable nushell integration (#6363)
Browse files Browse the repository at this point in the history
  • Loading branch information
ljyoth authored Feb 18, 2025
1 parent 6c93eea commit 69dfc31
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
14 changes: 14 additions & 0 deletions modules/programs/mise.nix
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ in {
"enableBashIntegration"
"enableZshIntegration"
"enableFishIntegration"
"enableNushellIntegration"
"settings"
];

Expand All @@ -39,6 +40,9 @@ in {
enableZshIntegration =
lib.hm.shell.mkZshIntegrationOption { inherit config; };

enableNushellIntegration =
lib.hm.shell.mkNushellIntegrationOption { inherit config; };

globalConfig = mkOption {
type = tomlFormat.type;
default = { };
Expand Down Expand Up @@ -103,6 +107,16 @@ in {
fish.interactiveShellInit = mkIf cfg.enableFishIntegration ''
${getExe cfg.package} activate fish | source
'';

nushell = mkIf cfg.enableNushellIntegration {
extraEnv = ''
let mise_path = $nu.default-config-dir | path join mise.nu
^mise activate nu | save $mise_path --force
'';
extraConfig = ''
use ($nu.default-config-dir | path join mise.nu)
'';
};
};
};
}
1 change: 1 addition & 0 deletions tests/modules/programs/mise/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
mise-bash-integration = ./bash-integration.nix;
mise-zsh-integration = ./zsh-integration.nix;
mise-fish-integration = ./fish-integration.nix;
mise-nushell-integration = ./nushell-integration.nix;
}
21 changes: 21 additions & 0 deletions tests/modules/programs/mise/nushell-integration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{ config, ... }: {
programs = {
mise = {
package = config.lib.test.mkStubPackage { name = "mise"; };
enable = true;
enableNushellIntegration = true;
};

nushell.enable = true;
};

nmt.script = ''
assertFileContains home-files/.config/nushell/env.nu \
'
let mise_path = $nu.default-config-dir | path join mise.nu
^mise activate nu | save $mise_path --force
'
assertFileContains home-files/.config/nushell/config.nu \
'use ($nu.default-config-dir | path join mise.nu)'
'';
}

0 comments on commit 69dfc31

Please sign in to comment.