mirror of
https://github.com/nix-community/home-manager.git
synced 2025-03-31 04:04:32 +00:00
oh-my-posh: build-time nushell config generation
This commit is contained in:
parent
eed2111581
commit
467dbe9e2a
2 changed files with 14 additions and 23 deletions
|
@ -68,27 +68,26 @@ in {
|
|||
};
|
||||
|
||||
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
|
||||
eval "$(${cfg.package}/bin/oh-my-posh init bash ${configArgument})"
|
||||
eval "$(${lib.getExe cfg.package} init bash ${configArgument})"
|
||||
'';
|
||||
|
||||
programs.zsh.initContent = mkIf cfg.enableZshIntegration ''
|
||||
eval "$(${cfg.package}/bin/oh-my-posh init zsh ${configArgument})"
|
||||
eval "$(${lib.getExe cfg.package} init zsh ${configArgument})"
|
||||
'';
|
||||
|
||||
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
|
||||
${cfg.package}/bin/oh-my-posh init fish ${configArgument} | source
|
||||
${lib.getExe cfg.package} 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
|
||||
source ${
|
||||
pkgs.runCommand "oh-my-posh-nushell-config" { } ''
|
||||
${
|
||||
lib.getExe cfg.package
|
||||
} init nu ${configArgument} --print >> "$out"
|
||||
''
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ lib, pkgs, realPkgs, config, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
|
@ -10,25 +10,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
_module.args.pkgs = lib.mkForce realPkgs;
|
||||
|
||||
nmt.script = let
|
||||
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
|
||||
"home-files/Library/Application Support/nushell/config.nu"
|
||||
else
|
||||
"home-files/.config/nushell/config.nu";
|
||||
|
||||
envFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
|
||||
"home-files/Library/Application Support/nushell/env.nu"
|
||||
else
|
||||
"home-files/.config/nushell/env.nu";
|
||||
in ''
|
||||
assertFileExists "${envFile}"
|
||||
assertFileRegex \
|
||||
"${envFile}" \
|
||||
'/bin/oh-my-posh init nu --config .*--print \| save --force /.*/home-files/\.cache/oh-my-posh/init\.nu'
|
||||
|
||||
assertFileExists "${configFile}"
|
||||
assertFileRegex \
|
||||
"${configFile}" \
|
||||
'source /.*/\.cache/oh-my-posh/init\.nu'
|
||||
'source /nix/store/[^/]*-oh-my-posh-nushell-config'
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue