rose-pine-nix/modules/home-manager/k9s.nix

39 lines
920 B
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
let
2024-10-20 10:37:57 -07:00
inherit (config.rose-pine) sources;
2024-10-20 10:37:57 -07:00
cfg = config.programs.k9s.rose-pine;
enable = cfg.enable && config.programs.k9s.enable;
# NOTE: On MacOS specifically, k9s expects its configuration to be in
2024-10-20 10:37:57 -07:00
# `~/Library/Application Support` when not using XDG.
enableXdgConfig = !pkgs.stdenv.hostPlatform.isDarwin || config.xdg.enable;
2024-10-20 10:37:57 -07:00
themeFile = "rose-pine.yaml";
themePath = "k9s/skins/${themeFile}";
2024-10-20 10:37:57 -07:00
theme = sources.k9s + "/skin.yml";
in
{
options.programs.k9s.rose-pine = lib.rp.mkRosePineOpt { name = "k9s"; };
2024-08-23 03:53:42 -07:00
config = lib.mkIf enable (
lib.mkMerge [
(lib.mkIf (!enableXdgConfig) {
home.file."Library/Application Support/${themePath}".source = theme;
})
2024-10-20 10:37:57 -07:00
(lib.mkIf enableXdgConfig {
xdg.configFile.${themePath}.source = theme;
})
{
programs.k9s.settings.k9s.ui.skin = "rose-pine";
}
2024-08-23 03:53:42 -07:00
]
);
}