Presuming you've already installed olivetti and exotica-theme, I would write a function that does steps 1, 2, and 3, and then call it towards the end of your initialization file.
(defun my/initial-layout ()
"Create my initial screen layout."
(interactive)
;; 1. to have exotica theme mode enabled, along with
(load-theme 'exotica t)
;; 2. having org-mode launch in scratch buffer from the beginning, and
(switch-to-buffer "*scratch*")
(org-mode)
;; (org-indent-mode)
;; 3. to have olivetti mode enabled too.
(olivetti-mode)
;; (delete-other-windows)
)
(my/initial-layout)
Since it's an (interactive)
function, you can M-x my/initial-layout at any time to return your screen to this state. You may have noticed that I added (org-indent-mode)
and (delete-other-windows)
and commented them out. It's beyond what you asked for, but I think you'll like these too. org-indent-mode
makes org documents look better, and the delete-other-windows
is to make sure that you're looking at the scratch buffer and nothing else.
PS: You seem new to Elisp. I recommend using M-x ielm to start an Elisp REPL while experimenting with this language. Also use C-h f and C-h v to ask Emacs for documenation on various functions and variables. emacsdocs.org is also a good place to find documentation.