punkfairie
e4facfab9a
Don't need to check if the module is enabled for settings within that module.... they won't be applied if it's not enabled by default
80 lines
1.4 KiB
Nix
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 = {
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
}
|