Fork me on GitHub

I use use-package and :demand t for every single package, and then use CRIU to reduce the startup time to almost nothing with all the elisp eagerly loaded

blak3mill3r00:04:07 for the curious I absolutely LOVE this setup

👍 3

I start emacs quite frequently (because I like having a separate instance of emacs for each project) so I care about startup time a lot, and having all the elisp eagerly loaded is a nice little performance boost

❤️ 3

I have a chromebook with "Linux Development Environment" setup and emacs and clojure CLI installed and both work independently. But when I try to start a repl with inf-clojure I get

Couldn't find 'java'. Please set JAVA_HOME.
Process inf-clojure exited abnormally with code 1
even though JAVA_HOME is in fact set. (Using sdkmon directory) echo $JAVA_HOME works correcly in the emacs shell and eshell, however the java command only works in shell and not eshell. Any tips to figure this out?


I have these in my init.el - fixed the issue for me, for both ansi-term and eshell


Also, I have (setenv "JAVA_HOME" "/home/me/.sdkman/candidates/java/current/bin/java") in my init.el


no idea. inf-clojure works best with socket repls though so it might be easier to just clj -M:socket where socket has a socket repl option and then inf-clojure-connect to that port. that's what i've been doing. I don't actually know the specifics of what needs to be set to start up java


probably (add-to-list 'exec-path "/home/me/.sdkman/candidates/java/current/bin")


i have "/Users/dan/.sdkman/candidates/java/current/bin/" on my exec-path. i didn't do anything special to get it there though besides using

(use-package exec-path-from-shell
    :demand t


Thanks @dpsutton and @lukaszkorecki it's working now. I believe I needed to both add the java dir to the exec path, use the exec-path-from-shell-initialize, and (setenv "PATH" (concat (getenv "PATH")... but it's working now


are you sure you need it with (setenv "PATH" ...)?


i would expect the other two to fix it all up. my experience is only using exec-path-from-shell-initialize


Yeah, can confirm I need that line