mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
oh-my-posh: enable nushell integration
This commit is contained in:
parent
d5a917bab4
commit
015a36e9c7
3 changed files with 51 additions and 0 deletions
|
@ -70,6 +70,14 @@ in {
|
||||||
Whether to enable Fish integration.
|
Whether to enable Fish integration.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableNushellIntegration = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to enable Nushell integration.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -90,5 +98,18 @@ in {
|
||||||
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
|
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
|
||||||
${cfg.package}/bin/oh-my-posh init fish ${configArgument} | source
|
${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-bash = ./bash.nix;
|
||||||
oh-my-posh-zsh = ./zsh.nix;
|
oh-my-posh-zsh = ./zsh.nix;
|
||||||
oh-my-posh-fish = ./fish.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