!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

142 Members
32 Servers

Load older messages


SenderMessageTime
6 May 2026
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️I wish I liked Signal16:50:50
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️It fails pretty much every metric I need for a chat app16:51:04
@msgilligan:matrix.orgmsgilliganI think I have a high-tolerance for pain. Also evidenced by the amount of time I've put into working on bitcoinj in (mostly) Java 8.16:57:30
@msgilligan:matrix.orgmsgilliganAnd, of course learning Nix!16:57:54
@msgilligan:matrix.orgmsgilligan

My Nix-related goals for the next week or so are:

  1. Finish setting up a homelab Mac Mini using nix-darwin, NixOS VMs, etc.
  2. Use it for nixpkgs-review and learn more about doing CI with Nix
  3. Create a first cut at a Bouncy Castle build using a Nix flake
  4. Review a few PRs
  5. Create some update PRs for zulu, graalvm-ce, and maybe jextract
17:01:24
@msgilligan:matrix.orgmsgilliganThe bootstrappability stuff (also masochistic and character-building) is a longer-term (Sisyphean) goal.17:03:01
@msgilligan:matrix.orgmsgilligan I'm also wondering if there are any examples of people using Nix to build and publish JARs to Maven Central. It seems most of the focus is on reading from Maven Central to get things into the Nix store not the other way around. I'm imagining the way to do it might be to install the jreleaser command-line tool via Nix and then have a 1-liner or script that can publish to Maven Central from a Nix derivation. Has anyone done something like this? 17:08:29
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️I doubt it would be easier to publish from Nix, as Maven et al have plugins for gradle that let you publish really easily17:11:28
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️* I doubt it would be easier to publish from Nix, as Maven et al have plugins for gradle (and others) that let you publish really easily17:11:48
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️The biggest issue would be making absolutely sure the Nix artefact doesn't refer to store paths, and properly handling dependencies for non-Nix installations17:12:17
@msgilligan:matrix.orgmsgilligan

Well the Nix artifact would essentially be the output of a Gradle installDist task, with something like this:

distributions {
    main {
        contents {
            project.subprojects.each { sub ->
                into(sub.name) {
                    from sub.jar
                    from sub.sourcesJar
                    from sub.javadocJar
                    from sub.generatePomFileForJarPublication
                    from sub.generateMetadataFileForJarPublication
                }
            }
        }
    }
}
17:15:12
@msgilligan:matrix.orgmsgilliganSo for a normal Java build there should be no paths in any of the JARs.17:16:22
@msgilligan:matrix.orgmsgilligan I've also seen builds use the installToMavenLocal task with the destination directory overriden to produce a set of distribution JARs. 17:17:06
@msgilligan:matrix.orgmsgilliganSomething like this might also be the way to create a FOD with all the input dependencies for a Maven or Gradle package.17:18:24
@msgilligan:matrix.orgmsgilligan

I doubt it would be easier to publish from Nix

I just finished telling you that I'm a Matrix-using, Signal-using, Scheme-experimenting, Java 8 developer, former COBOL programmer, who enjoys writing Nix derivations. Do you think I'm looking for easy? 🤣

I like the idea of being able to have a 1-1 mapping between what is on Maven Central and a Nix derivation and I feel that (might) be worth the extra effort.

17:21:19
@britter:yatrix.orgBenedikt Ritter (britter) Are you doing this all in your spare time? 😅 17:57:39
@britter:yatrix.orgBenedikt Ritter (britter)Sounds sensible, although I'm not a fan of jreleaser due to its dependency footprint.17:58:27
@msgilligan:matrix.orgmsgilliganAt the moment, working on bitcoinj and secp256k1-jdk is my full-time, unpaid project. And part of that is working towards getting those builds to be bootstrappable via Nix. I am a day or two away from a milestone release of secp-jdk (shortname) and will be trying to get a grant to continue work.18:13:56
@msgilligan:matrix.orgmsgilligan

I'm not a fan of jreleaser due to its dependency footprint.

I noticed that, too and share your concern.

18:14:36
@msgilligan:matrix.orgmsgilligan * At the moment, working on bitcoinj and secp256k1-jdk is my full-time, unpaid project. And part of that is working towards getting those builds to be bootstrappable via Nix. I am a day or two away from a milestone release of secp-jdk (shortname) and will be trying to get a grant to continue work. 18:16:14
@msgilligan:matrix.orgmsgilligan But jreleaser is in Nixpkgs: https://search.nixos.org/packages?channel=unstable&query=jreleaser 18:53:26
@pyrox:pyrox.devdish [Fox/It/She]also a second thing I'm looking at for after bootstrapping work is done(so very long-term) is to integrate AQAVit testing into the nixpkgs JDK build process(minus performance testing because build hardware can be very different of course)19:26:23
@pyrox:pyrox.devdish [Fox/It/She]the AQAVit test suite seems to be very weird to run offline though19:26:35
@pyrox:pyrox.devdish [Fox/It/She]* the AQAVit test suite seems to be very difficult to run offline though19:26:50
@pyrox:pyrox.devdish [Fox/It/She] *

the AQAVit test suite seems to be very difficult to run offline though

(and frankly it's not 100% guaranteed that AQAVit would help us, but could help discover any potential Nix-specific bugs in full source JDK build chains)

19:29:22
@pyrox:pyrox.devdish [Fox/It/She]* also a second thing I'm looking at for after bootstrapping work is done(so very long-term) is to integrate AQAVit testing into the nixpkgs JDK build process(minus performance testing because build hardware can be very different of course) to elaborate slightly more, I'd only run this on end-user JDKs that we actually give to users as usable, not any intermediate ones such as jdk9/1019:39:31
@msgilligan:matrix.orgmsgilliganI took a look at that, too. It seemed like a big project, though. 20:27:52
@msgilligan:matrix.orgmsgilliganWhat I think would help with JDK maintenance is to have some modular filesystem schemas and basic utility tests that can run from Nix CI. i.e. a library that can be used test multiple JDKs. It seems like there is currently some duplication of effort for this on the individual JDK packages.20:30:07
8 May 2026
@whispers:catgirl.cloudwhispers [& it/fae] joined the room.19:02:58
@soispha:vhack.euBenedikt joined the room.19:03:32

Show newer messages


Back to Room ListRoom Version: 6