oh-my-posh: enable nushell integration
This commit is contained in:
parent
d5a917bab4
commit
015a36e9c7
|
@ -70,6 +70,14 @@ in {
|
|||
Whether to enable Fish integration.
|
||||
'';
|
||||
};
|
||||
|
||||
enableNushellIntegration = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable Nushell integration.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -90,5 +98,18 @@ in {
|
|||
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
|
||||
${cfg.package}/bin/oh-my-posh init fish ${configArgument} | source
|
||||
'';
|
||||
|
||||
programs.nushell = mkIf cfg.enableNushellIntegration {
|
||||
extraEnv = ''
|
||||
let oh_my_posh_cache = "${config.xdg.cacheHome}/oh-my-posh"
|
||||
if not ($oh_my_posh_cache | path exists) {
|
||||
mkdir $oh_my_posh_cache
|
||||
}
|
||||
${cfg.package}/bin/oh-my-posh init nu ${configArgument} --print | save --force ${config.xdg.cacheHome}/oh-my-posh/init.nu
|
||||
'';
|
||||
extraConfig = ''
|
||||
source ${config.xdg.cacheHome}/oh-my-posh/init.nu
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,4 +2,5 @@
|
|||
oh-my-posh-bash = ./bash.nix;
|
||||
oh-my-posh-zsh = ./zsh.nix;
|
||||
oh-my-posh-fish = ./fish.nix;
|
||||
oh-my-posh-nushell = ./nushell.nix;
|
||||
}
|
||||
|
|
29
tests/modules/programs/oh-my-posh/nushell.nix
Normal file
29
tests/modules/programs/oh-my-posh/nushell.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
nushell.enable = true;
|
||||
|
||||
oh-my-posh = {
|
||||
enable = true;
|
||||
useTheme = "jandedobbeleer";
|
||||
};
|
||||
};
|
||||
|
||||
test.stubs = {
|
||||
oh-my-posh = { };
|
||||
nushell = { };
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/nushell/env.nu
|
||||
assertFileRegex \
|
||||
home-files/.config/nushell/env.nu \
|
||||
'/bin/oh-my-posh init nu --config .*--print \| save --force /.*/home-files/\.cache/oh-my-posh/init\.nu'
|
||||
|
||||
assertFileExists home-files/.config/nushell/config.nu
|
||||
assertFileRegex \
|
||||
home-files/.config/nushell/config.nu \
|
||||
'source /.*/\.cache/oh-my-posh/init\.nu'
|
||||
'';
|
||||
}
|
Loading…
Reference in a new issue