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

34 lines
816 B
Nix

{ config
, pkgs
, lib
, ...
}:
let
cfg = config.programs.btop.catppuccin;
themePath = "/themes/catppuccin_${cfg.flavour}.theme";
theme =
pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "btop";
rev = "7109eac2884e9ca1dae431c0d7b8bc2a7ce54e54";
sha256 = "sha256-QoPPx4AzxJMYo/prqmWD/CM7e5vn/ueyx+XQ5+YfHF8=";
}
+ themePath;
in
{
options.programs.btop.catppuccin =
lib.ctp.mkCatppuccinOpt "btop" config;
# xdg is required for this to work
config =
{
xdg.enable = with lib; mkIf cfg.enable (mkForce true);
programs.btop.settings.color_theme = with lib;
mkIf cfg.enable "${config.xdg.configHome + "/btop/${themePath}"}";
}
// (lib.mkIf cfg.enable {
xdg.configFile."btop${themePath}".source = theme;
});
}