!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

143 Members
31 Servers

Load older messages


SenderMessageTime
6 May 2026
@msgilligan:matrix.orgmsgilliganFarid lives in the same town as me and I met him at Planet Nix last year. He's awesome and has some awesome blogs and posts.08:13:41
@msgilligan:matrix.orgmsgilliganRedacted or Malformed Event08:15:44
@britter:yatrix.orgBenedikt Ritter (britter)All these little tricks that you need to know with nixpks... it's crazy. Like last week I learned about versionCheckHook. So now I need to replace a bunch of passthru.tests.version things 😅08:19:26
@britter:yatrix.orgBenedikt Ritter (britter)I gave packaging a java app using GraalVM via Nix a spin this week and wrote about what I learned here: https://britter.dev/blog/2026/05/06/jfmt-nixvim/09:23:33
@msgilligan:matrix.orgmsgilligan * 13:46:37
@msgilligan:matrix.orgmsgilligan I opened a Bouncy Castle in Nixpkgs discussion on github:bcgit/bc-java 15:35:50
@msgilligan:matrix.orgmsgilligan Personally, I think someone should write a Nix-friendly (and GUIX-friendly) Java build tool that targets simple library builds and focuses on building without any network access. It would be easy to wrap with Nix (or GUIX) but would also work standalone. I imagine it would have an optional fetch-from-Maven component for standalone use. I've also thought it might be cool to do something in Clojure for this purpose, since Clojure is bootstrappable. 15:41:48
@britter:yatrix.orgBenedikt Ritter (britter) It would be nice to have something like this, but I wonder how you would convince library projects to migrate to that? E.g. what would they gain by using that build tool compared to now? 15:44:48
@msgilligan:matrix.orgmsgilliganYeah, I wouldn't expect much uptake outside of the Nix and Guix communities. (At least initially.)15:45:44
@msgilligan:matrix.orgmsgilligan Have you seen Bach? It seems to be in the same ballpark. 15:47:08
@msgilligan:matrix.orgmsgilliganAnd when I say "someone should write" it means it is something I am not personally considering.15:48:19
@jerith:matrix.orgMatt McHenry Hah beat me to it! I was just going to mention two niche Java build tools, Bach and Mill. Not sure if either is a good starting point for this exploration, but worth looking into before starting to roll our own for sure. 15:48:59
@msgilligan:matrix.orgmsgilligan

I looked at Mill and it looks cool (as is Scala) but Scala does not seem to be a good language for a build-tool for bootstrappability:

We do not know about a bootstrap path for Scala. Going down the dependency chain of Scala proved to be futile, as the first published version of Scala depends on proprietary software.

16:13:30
@msgilligan:matrix.orgmsgilliganI think there was one other nice Java build tool that looked promising, but I can't remember it now.16:14:21
@msgilligan:matrix.orgmsgilliganIf the "Bootstrapping JVM languages" page is still accurate, the ideal niche or nix-specific build-tool would be pure Java (or Groovy or Scala based)16:17:43
@pyrox:pyrox.devdish [Fox/It/She] the other issue with mill is that it suffers the same issues wrt other java build tools by needing itself to build itself. the earliest version of mill I can find that doesn't use mill to build is 0.1.3, which still uses sbt to build its jars, and presumably/hopefully we could go from there to bootstrap each successive minor version with the previous(so 0.1.3 -> 0.2.0 -> 0.3.0 etc) 16:17:57
@pyrox:pyrox.devdish [Fox/It/She]
In reply to @msgilligan:matrix.org
If the "Bootstrapping JVM languages" page is still accurate, the ideal niche or nix-specific build-tool would be pure Java (or Groovy or Scala based)
iirc there's an issue with groovy where it uses gradle to build but gradle depends on groovy as its build scripting language so there's a dependency chain you have to break somehow
16:19:39
@pyrox:pyrox.devdish [Fox/It/She]presumably there's early enough versions of groovy for that to not matter but its still something to consider16:19:53
@pyrox:pyrox.devdish [Fox/It/She]sadly this just seems like an issue almost endemic to the JDK languages/tools ecosystem where nothing bootstraps well16:20:18
@pyrox:pyrox.devdish [Fox/It/She] *

sadly this just seems like an issue almost endemic to the JDK languages/tools ecosystem where nothing bootstraps well

I could be wrong on this but things almost seem drawn to bootstrapping nightmares lol

16:21:04
@msgilligan:matrix.orgmsgilliganYes. This is giving me a new appreciation for Ant!16:21:07
@pyrox:pyrox.devdish [Fox/It/She]ant is definitely a good exception to the rule in that regard16:22:10
@msgilligan:matrix.orgmsgilliganWell, there are good reasons for building "x with x" and it doesn't necessarily preclude bootstrappability as the Guix JDK builds show.16:23:31
@pyrox:pyrox.devdish [Fox/It/She]of course, but it does make bootstrapping necessarily harder as it means having to build large version chains.16:25:29
@msgilligan:matrix.orgmsgilliganAgreed.16:25:44
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Oh the woes of a self-hosting compiler16:26:37
* @pyrox:pyrox.devdish [Fox/It/She] coughs in rustc16:27:19
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Self-hosting is very cool and I think good overall for a language if it is reasonable, but it is definitely a tradeoff between bootstrap-ability and compiler design16:28:48
@msgilligan:matrix.orgmsgilligan I really admire the work people are doing on things like Mes (and Guix in general) and I originally intended to learn Guix, but practicality got the better of me and I decided to focus on Nix. I feel I made the right (for me) decision. 16:28:49
@msgilligan:matrix.orgmsgilligan I even bought and worked through The Little Schemer 🤣 16:30:23

Show newer messages


Back to Room ListRoom Version: 6