60a1d9ba22
* 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>
37 lines
865 B
Nix
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;
|
|
});
|
|
}
|