rose-pine-nix/modules/home-manager/btop.nix
seth 60a1d9ba22
refactor: use alternatives to with and rec (#38)
* fix(home-manager): dont declare xdg.configFile when btop isn't enabled

* refactor: use alternatives to `with` and `rec`

---------

Co-authored-by: Sam Nystrom <sam@samnystrom.dev>
2023-07-13 12:17:51 -04:00

37 lines
865 B
Nix

{ config
, pkgs
, lib
, ...
}:
let
inherit (lib) mkIf;
cfg = config.programs.btop.catppuccin;
enable = cfg.enable && config.programs.btop.enable;
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 = mkIf enable (lib.mkForce true);
programs.btop.settings.color_theme =
mkIf enable "${config.xdg.configHome + "/btop/${themePath}"}";
}
// (lib.mkIf enable {
xdg.configFile."btop${themePath}".source = theme;
});
}