I went the same way but with only using Lisp dialects like Elisp and Clojure and Nix. Although I would ditch Nix too if another Lisp could supplant it too.
I see good use cases for both projects, but I found the Nix ecosystem to be friendlier with non-free software and a thrill to work with on MacOS.
The robust and immutable functional paradigm, especially with Determinate Flakes, overlaps enough with mindset of the language that brought me to Lisp in the first place (Clojure).
I'm curious about your Clojure setup. Same as GO, I think Clojure has very strong backwards compatibility.
If trying to avoid the cloud, like OP, which hosting option is suitable for Clojure, what do you use? I believe Clojure (JVM) has higher RAM requirements?
And GO has pocketbase.io which looks quite interesting. Do know whether something similar exists for Clojure, or maybe it's straightforward enough to compose your own by using various Clojure libs?
Howdy, great question. My setup for Clojure is mainly defined declaratively. For personal development:
babashka
clojure
clojure-lsp
clj-kondo
cljfmt
jdk25
For web development, I use re-frame (which uses reagent, which uses react) and have a push to app workflow paired seamlessly with it via Tauri. You can inspect an example template of that here: https://github.com/ArikRahman/Clojkstra
I use nushell for the terminal, but it's too nu for LLMs expecting a normal shell. I use blesh to rice my bash shell and it's even better than my Nu experience sometimes.
I think going back to the fundamentals and revisiting what works is a luxury developers have in the post AI era. Lisp is decades olds, but Paul Graham called it the Maxwell Equations of PLs for a very good reason. Uncle Bob holds it in high regard as well, and the future of the industry could be very fruitful applying their wisdom.