I was surprised that this code in dev/user.clj doesn't run at start up:
(ns user) ; user ns is loaded by REPL startup
(println "Evaluating dev/user.clj")
(when-not (resolve 'xxx)
(def xxx 1)
(println "defing xxx"))
This worked for me:
(defonce yyy (let [tmp 1] (println (str "deffing yyy as " tmp))
tmp))
Something like this was also suggested to me in the clojurians
[https://clojurians.slack.com/archives/C053AK3F9/p1683882344251029][Slack] :
(ns user)
(when-not (resolve 'xxx)
(intern 'user 'xxx 42)
(prn "!!!"))