diff --git a/modules/programs/bat.nix b/modules/programs/bat.nix index df2e49685..3488e4980 100644 --- a/modules/programs/bat.nix +++ b/modules/programs/bat.nix @@ -6,6 +6,8 @@ let cfg = config.programs.bat; + package = pkgs.bat; + toConfigFile = generators.toKeyValue { mkKeyValue = k: v: "--${k}=${lib.escapeShellArg v}"; listsAsDuplicateKeys = true; @@ -61,12 +63,17 @@ in { }; config = mkIf cfg.enable { - home.packages = [ pkgs.bat ] ++ cfg.extraPackages; + home.packages = [ package ] ++ cfg.extraPackages; xdg.configFile = mkMerge ([{ "bat/config" = mkIf (cfg.config != { }) { text = toConfigFile cfg.config; }; }] ++ flip mapAttrsToList cfg.themes (name: body: { "bat/themes/${name}.tmTheme" = { text = body; }; })); + + home.activation.batCache = hm.dag.entryAfter [ "linkGeneration" ] '' + $VERBOSE_ECHO "Rebuilding bat theme cache" + $DRY_RUN_CMD ${lib.getExe package} cache --build + ''; }; }