{ config, lib, ... }: with lib; let cfg = config.nixfiles.modules.bat; in { options.nixfiles.modules.bat.enable = mkEnableOption "bat, an alternative to cat"; config = mkIf cfg.enable { hm.programs = { bat = { enable = true; config = { style = "plain"; tabs = "4"; theme = "base16"; wrap = "never"; }; }; bash = { shellAliases = { bay = "bat --language=yaml --tabs 2"; baj = "bat --language=json --tabs 2"; }; initExtra = mkAfter '' _complete_alias bay _bat bat _complete_alias baj _bat bat ''; }; }; }; }