marleyos/modules/home/programs/bat/default.nix

82 lines
1.4 KiB
Nix
Raw Normal View History

2024-11-16 12:21:24 -08:00
{
lib,
config,
namespace,
pkgs,
...
}:
let
inherit (lib) mkIf;
inherit (lib.${namespace}) mkEnableModule enabled;
cfg = config.${namespace}.programs.bat;
inherit (config.${namespace}) theme;
in
{
options = mkEnableModule "programs.bat";
config = mkIf cfg.enable {
programs.bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [
batdiff
batman
];
"${theme.colors.base}" = 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";
};
};
};
}