!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

126 Members
27 Servers

Load older messages


SenderMessageTime
18 Jul 2025
@samasaur:matrix.orgsamasaurand also i learned last week that the way you set up LSPs has changed in 0.11 out from under me and I still haven't gotten around to swapping over01:09:31
@samasaur:matrix.orgsamasaurhmm maybe i should try nixvim01:09:45
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️My Nixvim-based config for reference: https://github.com/Infinidoge/universe/blob/master/users/modules/global/neovim.nix01:10:06
19 Jul 2025
@vog:matrix.orgvog joined the room.20:04:37
@vog:matrix.orgvog I'd like to run keycloak with PostgreSQL connected via unix sockets. For that purpose, I'd like to add junixsocket to Nix, as I assume this is useful for other Java packages as well: https://github.com/kohlschutter/junixsocket 20:07:13
@vog:matrix.orgvogHowever, I'm a bit confused on how Java packages are meant to be added to Nixpkgs:20:08:51
@vog:matrix.orgvog
  1. Looking at libraries like jogl, but also keycloak plugins, it seems to including binary releases is preferred over building Java libraries from source?
20:08:53
@vog:matrix.orgvog *
  1. Looking at libraries like jogl, but also keycloak plugins, it seems to me that including binary releases is preferred over building Java libraries from source?
20:09:19
@msgilligan:matrix.orgmsgilliganWhy not just use JEP 380: https://openjdk.org/jeps/380 (it's in JDK 16 and later)20:09:22
@msgilligan:matrix.orgmsgilligan* Why not just use JEP 380? https://openjdk.org/jeps/380 (it's in JDK 16 and later)20:09:54
@emilazy:matrix.orgemily building Java libraries from source is hard (because binary .jars are what people push to Maven or whatever) 20:09:54
@vog:matrix.orgvogIs that supported by postgresql_jdbc, and if so, which JDBC URL should I form?20:10:07
@emilazy:matrix.orgemilyit's not really that useful when a "source build" has all its dependencies precompiled20:10:12
@emilazy:matrix.orgemilyfrom-scratch source builds for entire Java dep trees would be cool and there is stuff in Gradle that could make that work, but it's not where the ecosystem is by default20:10:30
@vog:matrix.orgvogOk, no problem for me, actually this simplifies my packaging work. ;-)20:11:21
@msgilligan:matrix.orgmsgilligan I would like to see bootstrappable Java libraries/jars someday, but emily is right, it's not currently practical. 20:11:58
@msgilligan:matrix.orgmsgilliganI don't know, but I took a quick look at the Keycloak website and it is recommending (requiring?) JDK 21, so you shouldn't have to use a 3rd-party (possibly native) library for the raw socket access. I don't know whether the JDBCs drivers are using JEP 380 yet.20:14:11
@msgilligan:matrix.orgmsgilligan* I don't know, but I took a quick look at the Keycloak website and it is recommending (requiring?) JDK 21, so you shouldn't have to use a 3rd-party (possibly native) library for the raw socket access. I don't know whether the JDBC drivers are using JEP 380 yet.20:15:14
@vog:matrix.orgvogWell, the PostgreSQL JDBC driver explicitly recommends using junixsocket: https://jdbc.postgresql.org/documentation/use/#unix-sockets20:15:41
@vog:matrix.orgvog(and doesn't mention JEP 380 at all)20:15:56
@vog:matrix.orgvogThis article explains everything quite in detail: https://www.morling.dev/blog/talking-to-postgres-through-java-16-unix-domain-socket-channels/20:22:16
@msgilligan:matrix.orgmsgilliganI'm currently reading it...20:22:37
@vog:matrix.orgvog

Summary:

  • With postgresql_jdbc we are out of luck with JEP 380, we do need junixsocket
20:22:44
@vog:matrix.orgvog
  • The Vert.x Postgres Client does support JEP 380, and might even be accessible by keycloak given that keycloak uses Quarkus. But I have no idea how to configure this.
20:23:45
@vog:matrix.orgvog(at least that's my understand of this issue. Feel free to correct me.)20:25:02
@msgilligan:matrix.orgmsgilliganAre you going to use the Keycloak module: https://nixos.org/manual/nixos/stable/index.html#module-services-keycloak ?20:27:24
@vog:matrix.orgvog No, because I need it to run in a bwrap sandbox, in which running systemd is a pain. So I essentially just use pkgs.keycloak.override { ... my config, my plugins ... } and this serves my needs pretty well. 20:33:03
@vog:matrix.orgvog(except for the missing unix socket support)20:33:20
@emilazy:matrix.orgemilysystemd can all the bwrap sandboxing stuff itself20:33:26
@emilazy:matrix.orgemilymany service modules in NixOS already apply a bunch of such hardening20:33:33

Show newer messages


Back to Room ListRoom Version: 6