On this page:
3.1 Persistent Sessions
3.2 Multiple Concurrent Anonymous Sessions

3 Customization🔗

As each Mindstream session uses a specific major mode, it inherits all of the customizations you already have (and any that you decide to add) for that mode. There is typically nothing special you need to do beyond this for Mindstream to work seamlessly with all of your workflows when using these modes.

For instance, one common use of Mindstream is as a scratch buffer with Racket Mode. Racket Mode users sometimes like to have a dedicated REPL to view the output of code they write in a particular buffer, instead of reusing a REPL shared across all buffers. If you’re a Racket Mode user, whatever customization you’ve chosen here would apply to Mindstream session buffers just as they would any buffer, and your Racket Mode sessions may or may not have a dedicated REPL depending on how you’ve customized this for Racket Mode generally.

But if you happen to want to use a different customization for Mindstream session buffers in a certain major mode than you prefer generally for that major mode, advising the mindstream-new function could be one way to achieve that. For instance, for the customization we have been talking about:

(advice-add 'mindstream-new
            :after
            (lambda (&rest _args)
              (setq-local racket-repl-buffer-name "*scratch - Racket REPL*")))

3.1 Persistent Sessions🔗

If you would like anonymous sessions to persist across Emacs restarts, set mindstream-persist to t. By default, they are archived on startup instead. For example, you could put this in the :custom section of your use-package declaration:

:custom
...
(mindstream-persist t)

3.2 Multiple Concurrent Anonymous Sessions🔗

By default, starting a new anonymous session for a template (via mindstream-new) archives any existing anonymous session for that template (leaving sessions for other templates alone). If you would like to support more than one active anonymous session at a time per template instead, set mindstream-unique to nil. For example, you could put this in the :custom section of your use-package declaration:

:custom
...
(mindstream-unique nil)