marleyos/modules/home/programs/bat/default.nix
2024-11-16 23:57:21 -08:00

80 lines
1.4 KiB
Nix

{
lib,
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
inherit (lib.marleyos) enabled;
cfg = config.marleyos.programs.bat;
inherit (config.marleyos.theme) colors;
in
{
options.marleyos.programs.bat.enable = mkEnableOption "bat";
config = mkIf cfg.enable {
programs.bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [
batdiff
batman
];
rose-pine = mkIf colors.isRosePine enabled;
config = {
style = "auto";
};
};
home.sessionVariables = lib.mkIf config.programs.git.delta.enable {
BATDIFF_USE_DELTA = "true";
};
programs.fish = lib.mkIf config.programs.fish.enable {
functions = {
cat = {
wraps = "bat";
body = # fish
"bat $argv";
};
cath = {
wraps = "bat";
body = # fish
"bat --plain --language=help $argv";
};
};
};
home.shellAbbrs = {
B = {
position = "anywhere";
setCursor = true;
expansion = # fish
"% | bat";
};
"-h" = {
position = "anywhere";
expansion = # fish
"-h | cath";
};
"--help" = {
position = "anywhere";
expansion = # fish
"--help | cath";
};
help = {
position = "anywhere";
expansion = # fish
"help | cath";
};
};
};
}