82 lines
1.4 KiB
Nix
82 lines
1.4 KiB
Nix
|
{
|
||
|
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";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|