How to make doom omit unimportant buffers when using next buffer

When switching buffers with next-buffer and previous-buffer emacs switches to buffers like Messages, copilot events etc.

What I want to happen is that it only switches to buffers that have an actual file behind them.

I know there is doom-buffer-frame-predicate and friends, but I don’t know how to use it. When reading the source I get the feeling what I want should already happen, but it never worked for me.

What does work is bs, it is a built in package that does the buffer switching with a ton of rules I don’t care about. Because it’s defaults work just fine for me. But, I would rather use the doom way instead and also I put

(use-package! bs
  :after doom-ui
  :config
  (map! :leader
        :prefix "b"
        :desc "next buffer"           "n" #'bs-cycle-next
        :desc "previous buffer"        "p" #'bs-cycle-previous))

in my config, and it works after evaluating but it does not when starting emacs. So I guess the bindings are overwritten by doom? (that is why I tried with the :after, but no luck)

System information


Loading data dump...

Note this also happens when I put

(with-current-buffer " *load*"
  (goto-char (point-max)))

at the top of my config.el, so I assume this is not due to some setting in my config.