From 267f6ada1ecc1a3534023d6414a7407008140e96 Mon Sep 17 00:00:00 2001 From: jaredmontoya <49511278+jaredmontoya@users.noreply.github.com> Date: Fri, 21 Mar 2025 20:16:45 +0100 Subject: [PATCH] zoxide: build-time nushell config generation --- modules/programs/zoxide.nix | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/modules/programs/zoxide.nix b/modules/programs/zoxide.nix index 66c911b0..29c8a121 100644 --- a/modules/programs/zoxide.nix +++ b/modules/programs/zoxide.nix @@ -38,29 +38,25 @@ in { programs.bash.initExtra = lib.mkIf cfg.enableBashIntegration (lib.mkOrder 2000 '' - eval "$(${cfg.package}/bin/zoxide init bash ${cfgOptions})" + eval "$(${lib.getExe cfg.package} init bash ${cfgOptions})" ''); programs.zsh.initContent = lib.mkIf cfg.enableZshIntegration (lib.mkOrder 2000 '' - eval "$(${cfg.package}/bin/zoxide init zsh ${cfgOptions})" + eval "$(${lib.getExe cfg.package} init zsh ${cfgOptions})" ''); programs.fish.interactiveShellInit = lib.mkIf cfg.enableFishIntegration '' - ${cfg.package}/bin/zoxide init fish ${cfgOptions} | source + ${lib.getExe cfg.package} init fish ${cfgOptions} | source ''; programs.nushell = lib.mkIf cfg.enableNushellIntegration { - extraEnv = '' - let zoxide_cache = "${config.xdg.cacheHome}/zoxide" - if not ($zoxide_cache | path exists) { - mkdir $zoxide_cache - } - ${cfg.package}/bin/zoxide init nushell ${cfgOptions} | - save --force ${config.xdg.cacheHome}/zoxide/init.nu - ''; extraConfig = '' - source ${config.xdg.cacheHome}/zoxide/init.nu + source ${ + pkgs.runCommand "zoxide-nushell-config" { } '' + ${lib.getExe cfg.package} init nushell ${cfgOptions} >> "$out" + '' + } ''; }; };