dotfiles/modules/home/cli.nix
eriedaberrie 4e2ac9a70b Initial commit
Note: not the actual initial commit.

I swear I will stop repeatedly force pushing to this single commit eventually
ok.
2025-02-19 21:38:01 +00:00

59 lines
1.3 KiB
Nix

{ pkgs, config, lib, pins, ... }:
let
cfg = config.my.cli;
in {
options.my.cli = {
bat.enable = lib.mkEnableOption null;
btop.enable = lib.mkEnableOption null;
eza.enable = lib.mkEnableOption null // {
default = true;
};
ranger.enable = lib.mkEnableOption null;
};
config = lib.mkMerge [
(lib.mkIf cfg.bat.enable {
programs.bat = {
enable = true;
config = {
map-syntax = [ "flake.lock:JSON" ];
theme = "catppuccinMocha";
};
themes = {
catppuccinMocha = {
src = pins.catppuccin-bat;
file = "Catppuccin-mocha.tmTheme";
};
};
};
})
(lib.mkIf cfg.btop.enable {
programs.btop = {
enable = true;
settings = {
vim_keys = true;
color_theme = "catppuccin_mocha";
};
};
xdg.configFile."btop/themes/catppuccin_mocha.theme".source =
"${pins.catppuccin-btop}/themes/catppuccin_mocha.theme";
})
(lib.mkIf cfg.eza.enable {
programs.eza = {
enable = true;
};
})
(lib.mkIf cfg.ranger.enable {
home.packages = [ pkgs.ranger ];
xdg.configFile."ranger/rc.conf".text = ''
set preview_images true
set preview_images_method kitty
'';
})
];
}