diff --git a/modules/programs/lazygit.nix b/modules/programs/lazygit.nix index 29c1b6520..0244ae217 100644 --- a/modules/programs/lazygit.nix +++ b/modules/programs/lazygit.nix @@ -85,10 +85,15 @@ in programs = let + lazygitNewDirFilePath = + if config.home.preferXdgDirectories then + "${config.xdg.cacheHome}/lazygit/newdir" + else + "~/.lazygit/newdir"; + bashIntegration = '' - ${cfg.shellWrapperName}() - { - export LAZYGIT_NEW_DIR_FILE=~/.lazygit/newdir + ${cfg.shellWrapperName}() { + export LAZYGIT_NEW_DIR_FILE=${lazygitNewDirFilePath} lazygit "$@" if [ -f $LAZYGIT_NEW_DIR_FILE ]; then cd "$(cat $LAZYGIT_NEW_DIR_FILE)" @@ -98,17 +103,19 @@ in ''; fishIntegration = '' - set -x LAZYGIT_NEW_DIR_FILE ~/.lazygit/newdir - command lazygit $argv - if test -f $LAZYGIT_NEW_DIR_FILE - cd (cat $LAZYGIT_NEW_DIR_FILE) - rm -f $LAZYGIT_NEW_DIR_FILE + function ${cfg.shellWrapperName} + set -x LAZYGIT_NEW_DIR_FILE ${lazygitNewDirFilePath} + command lazygit $argv + if test -f $LAZYGIT_NEW_DIR_FILE + cd (cat $LAZYGIT_NEW_DIR_FILE) + rm -f $LAZYGIT_NEW_DIR_FILE + end end ''; nushellIntegration = '' def --env ${cfg.shellWrapperName} [...args] { - $env.LAZYGIT_NEW_DIR_FILE = "~/.lazygit/newdir" + $env.LAZYGIT_NEW_DIR_FILE = "${lazygitNewDirFilePath}" | path expand lazygit ...$args if ($env.LAZYGIT_NEW_DIR_FILE | path exists) { cd (open $env.LAZYGIT_NEW_DIR_FILE)