mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-06 00:51:04 +01:00
oh-my-posh: build-time nushell config generation
This commit is contained in:
parent
287cbbbf80
commit
812a12d014
2 changed files with 14 additions and 23 deletions
|
|
@ -68,27 +68,26 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
|
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 ''
|
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 ''
|
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 {
|
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 = ''
|
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 = {
|
programs = {
|
||||||
|
|
@ -10,25 +10,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_module.args.pkgs = lib.mkForce realPkgs;
|
||||||
|
|
||||||
nmt.script = let
|
nmt.script = let
|
||||||
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
|
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
|
||||||
"home-files/Library/Application Support/nushell/config.nu"
|
"home-files/Library/Application Support/nushell/config.nu"
|
||||||
else
|
else
|
||||||
"home-files/.config/nushell/config.nu";
|
"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 ''
|
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}"
|
assertFileExists "${configFile}"
|
||||||
assertFileRegex \
|
assertFileRegex \
|
||||||
"${configFile}" \
|
"${configFile}" \
|
||||||
'source /.*/\.cache/oh-my-posh/init\.nu'
|
'source /nix/store/[^/]*-oh-my-posh-nushell-config'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue