rose-pine-nix/modules/home-manager/lazygit.nix
Alejandro Angulo 8886a68eda
fix(home-manager/lazygit): support darwin without XDG (#313)
* fix(home-manager/lazygit): support darwin without XDG

Lazygit would fail to load becase the wrong path was being generated to
the configuration file on darwin systems when XDG wasn't enabled.

* Refactored

* fix(home-manager/lazygit): actually use xdg directory when it's enabled

---------

Co-authored-by: seth <getchoo@tuta.io>
2024-08-20 08:17:35 -04:00

34 lines
979 B
Nix

{
config,
lib,
pkgs,
...
}:
let
inherit (lib) ctp;
inherit (config.catppuccin) sources;
cfg = config.programs.lazygit.catppuccin;
enable = cfg.enable && config.programs.lazygit.enable;
# NOTE: On MacOS specifically, k9s expects its configuration to be in
# `~/Library/Application Support` when not using XDG
enableXdgConfig = !pkgs.stdenv.hostPlatform.isDarwin || config.xdg.enable;
configDirectory =
if enableXdgConfig then
config.xdg.configHome
else
"${config.home.homeDirectory}/Library/Application Support";
configFile = "${configDirectory}/lazygit/config.yml";
in
{
options.programs.lazygit.catppuccin = lib.ctp.mkCatppuccinOpt { name = "lazygit"; } // {
accent = ctp.mkAccentOpt "lazygit";
};
config.home.sessionVariables = lib.mkIf enable {
# Ensure that the default config file is still sourced
LG_CONFIG_FILE = "${sources.lazygit}/themes-mergable/${cfg.flavor}/${cfg.accent}.yml,${configFile}";
};
}