| 6 May 2026 |
dish [Fox/It/She] | and use the right client | 16:39:30 |
Infinidoge 🏳️⚧️ | Other clients can still use them it just gets a bit jank, I hear | 16:40:14 |
dish [Fox/It/She] | some clients(like element) don't allow you to add them though, afaik | 16:40:44 |
Infinidoge 🏳️⚧️ | Yeah, adding them requires a specific client or iirc an integration website | 16:41:11 |
Infinidoge 🏳️⚧️ | The only reasons why I still have Matrix are Nix and my university's LUG, if it weren't for that I could abandon this quality-forsaken ecosystem lol | 16:41:36 |
dish [Fox/It/She] | yeah I'm only here for Nix too | 16:42:22 |
msgilligan | Matrix builds character! | 16:46:10 |
msgilligan | BTW, when I was in college I sometimes worked for my dad, programming in COBOL. Very character-building! | 16:47:17 |
Infinidoge 🏳️⚧️ | In reply to @msgilligan:matrix.org Matrix builds character! No no, Matrix builds bad software Dealing with bad software for the purposes of being in a community builds character | 16:48:36 |
msgilligan | Though I prefer bad UX to corporate enshittification. And Signal has bad UX for groups. | 16:50:18 |
Infinidoge 🏳️⚧️ | I wish I liked Signal | 16:50:50 |
Infinidoge 🏳️⚧️ | It fails pretty much every metric I need for a chat app | 16:51:04 |
msgilligan | I 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 | And, of course learning Nix! | 16:57:54 |
msgilligan | My Nix-related goals for the next week or so are:
- Finish setting up a homelab Mac Mini using nix-darwin, NixOS VMs, etc.
- Use it for nixpkgs-review and learn more about doing CI with Nix
- Create a first cut at a Bouncy Castle build using a Nix flake
- Review a few PRs
- Create some update PRs for zulu, graalvm-ce, and maybe jextract
| 17:01:24 |
msgilligan | The bootstrappability stuff (also masochistic and character-building) is a longer-term (Sisyphean) goal. | 17:03:01 |
msgilligan | 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 🏳️⚧️ | I doubt it would be easier to publish from Nix, as Maven et al have plugins for gradle that let you publish really easily | 17:11:28 |
Infinidoge 🏳️⚧️ | * 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 easily | 17:11:48 |
Infinidoge 🏳️⚧️ | The biggest issue would be making absolutely sure the Nix artefact doesn't refer to store paths, and properly handling dependencies for non-Nix installations | 17:12:17 |
msgilligan | 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 | So for a normal Java build there should be no paths in any of the JARs. | 17:16:22 |
msgilligan | 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 | Something 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 |
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 |
Benedikt Ritter (britter) | Are you doing this all in your spare time? 😅 | 17:57:39 |
Benedikt Ritter (britter) | Sounds sensible, although I'm not a fan of jreleaser due to its dependency footprint. | 17:58:27 |
msgilligan | 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:13:56 |
msgilligan |
I'm not a fan of jreleaser due to its dependency footprint.
I noticed that, too and share your concern.
| 18:14:36 |
msgilligan | * 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 |