From 765ba2aae7058c4fd1c2c7baa364e3cefa12e847 Mon Sep 17 00:00:00 2001 From: Sridhar Ratnakumar Date: Wed, 4 Mar 2026 15:34:21 -0500 Subject: [PATCH] home-manager/direnv: Workaround a lazygit bug https://github.com/jesseduffield/lazygit/issues/5279 --- modules/home/cli/direnv.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/home/cli/direnv.nix b/modules/home/cli/direnv.nix index 8108648..18f66eb 100644 --- a/modules/home/cli/direnv.nix +++ b/modules/home/cli/direnv.nix @@ -13,4 +13,23 @@ hide_env_diff = true; }; }; + + # Avoid "warning: unhandled Platform key FamilyDisplayName" which crashes lazygit + # See: https://github.com/jesseduffield/lazygit/issues/5279 + # We use a file in lib/ that sorts alphabetically after hm-nix-direnv.sh + # so that we can wrap its functions. + xdg.configFile."direnv/lib/zz-macos-fix.sh".text = '' + if [[ "$OSTYPE" == "darwin"* ]]; then + # Wrap use_flake + if declare -f use_flake >/dev/null; then + eval "$(declare -f use_flake | sed 's/^use_flake/original_use_flake/')" + use_flake() { original_use_flake "$@"; unset DEVELOPER_DIR; } + fi + # Wrap use_nix + if declare -f use_nix >/dev/null; then + eval "$(declare -f use_nix | sed 's/^use_nix/original_use_nix/')" + use_nix() { original_use_nix "$@"; unset DEVELOPER_DIR; } + fi + fi + ''; }