1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

mise: statically generate nushell config

This commit is contained in:
Joaquín Triñanes 2025-05-05 19:12:56 +02:00 committed by Austin Horstman
parent 3f47f72c97
commit b47ea12ff4
2 changed files with 15 additions and 13 deletions

View file

@ -129,12 +129,12 @@ in
''; '';
nushell = mkIf (cfg.enableNushellIntegration && cfg.package != null) { nushell = mkIf (cfg.enableNushellIntegration && cfg.package != null) {
extraEnv = ''
let mise_path = $nu.default-config-dir | path join mise.nu
^mise activate nu | save $mise_path --force
'';
extraConfig = '' extraConfig = ''
use ($nu.default-config-dir | path join mise.nu) use ${
pkgs.runCommand "mise-nushell-config.nu" { } ''
${lib.getExe cfg.package} activate nu > $out
''
}
''; '';
}; };
}; };

View file

@ -2,7 +2,14 @@
{ {
programs = { programs = {
mise = { mise = {
package = config.lib.test.mkStubPackage { name = "mise"; }; package = config.lib.test.mkStubPackage {
name = "mise";
buildScript = ''
mkdir -p $out/bin
touch $out/bin/mise
chmod +x $out/bin/mise
'';
};
enable = true; enable = true;
enableNushellIntegration = true; enableNushellIntegration = true;
}; };
@ -11,12 +18,7 @@
}; };
nmt.script = '' nmt.script = ''
assertFileContains home-files/.config/nushell/env.nu \ assertFileRegex home-files/.config/nushell/config.nu \
' 'use \/nix\/store\/.*-mise-nushell-config.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)'
''; '';
} }