1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-09 03:56:04 +01:00
This commit is contained in:
Ilise Leary 2025-11-06 21:09:15 +00:00 committed by GitHub
commit c1bef83902
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -787,34 +787,50 @@ in
(mkIf (lib.length cfg.plugins > 0) { (mkIf (lib.length cfg.plugins > 0) {
xdg.configFile = lib.mkMerge ( xdg.configFile = lib.mkMerge (
map (plugin: { map (plugin: {
"fish/conf.d/plugin-${plugin.name}.fish".source = fishIndent "${plugin.name}.fish" '' "fish/conf.d/plugin-${plugin.name}.fish" = {
# Plugin ${plugin.name} onChange = ''
set -l plugin_dir ${plugin.src} ${lib.getExe cfg.package} -c '
set -l plugin_dir ${plugin.src}
# https://github.com/fish-shell/fish-shell/issues/9456
set -l dest_dir $__fish_config_dir/themes
# Set paths to import plugin components if test -d $plugin_dir/themes
if test -d $plugin_dir/functions mkdir -p $dest_dir
set fish_function_path $fish_function_path[1] $plugin_dir/functions $fish_function_path[2..-1] for f in $plugin_dir/themes/*.theme
end ln -sf $f $dest_dir/(basename $f)
end
end
'
'';
source = fishIndent "${plugin.name}.fish" ''
# Plugin ${plugin.name}
set -l plugin_dir ${plugin.src}
if test -d $plugin_dir/completions # Set paths to import plugin components
set fish_complete_path $fish_complete_path[1] $plugin_dir/completions $fish_complete_path[2..-1] if test -d $plugin_dir/functions
end set fish_function_path $fish_function_path[1] $plugin_dir/functions $fish_function_path[2..-1]
# Source initialization code if it exists.
if test -d $plugin_dir/conf.d
for f in $plugin_dir/conf.d/*.fish
source $f
end end
end
if test -f $plugin_dir/key_bindings.fish if test -d $plugin_dir/completions
source $plugin_dir/key_bindings.fish set fish_complete_path $fish_complete_path[1] $plugin_dir/completions $fish_complete_path[2..-1]
end end
if test -f $plugin_dir/init.fish # Source initialization code if it exists.
source $plugin_dir/init.fish if test -d $plugin_dir/conf.d
end for f in $plugin_dir/conf.d/*.fish
''; source $f
end
end
if test -f $plugin_dir/key_bindings.fish
source $plugin_dir/key_bindings.fish
end
if test -f $plugin_dir/init.fish
source $plugin_dir/init.fish
end
'';
};
}) cfg.plugins }) cfg.plugins
); );
}) })