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

37 lines
918 B
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
2024-10-20 10:37:57 -07:00
}: let
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
]
);
}