reveal

Jeremy 2024-09-30T18:04:16.900939Z

Hi, Is it possible to run reveal on wayland (hyprland)?

Gonzalo Rafael Acosta 2024-10-05T02:09:02.745129Z

let
  nixpkgs = import (builtins.fetchTarball
    "") {
      overlays = [ ];
      config = { };
    };

in with nixpkgs;

stdenv.mkDerivation {
  name = "portal-dev-env";
  buildInputs = [ ];

  nativeBuildInputs = [ glib libGL xorg.libXtst clojure jdk21 ];

  LD_LIBRARY_PATH = "${glib}/lib:${xorg.libXtst}/lib:${libGL}/lib";

  # Post Shell Hook
  shellHook = ''
    alias repl="clj -J-Dvlaaad.reveal.prefs='{:font-family \"Intel One Mono\" :font-size 20}' -M:reveal"

    repl
  '';
}
This is how i make it work with nix. The issue is the LD_LIBRARY_PATH env var

Jeremy 2024-10-05T17:21:27.419879Z

Awesome, this worked. Thanks @gacosta.r89

Jeremy 2024-09-30T18:04:46.090909Z

I've tried, but get this error:

cat /tmp/clojure-15642263819499943586.edn 
       
{:clojure.main/message
 "Execution error (UnsatisfiedLinkError) at java.lang.ClassLoader/loadLibrary (ClassLoader.java:2458).\nno glassgtk3 in java.library.path: /nix/store/x9fw7rbdb34gq0f8q750kw344lbv9nk1-libX11-1.8.9/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib\n",
 :clojure.main/triage
 {:clojure.error/class java.lang.UnsatisfiedLinkError,
  :clojure.error/line 2458,
  :clojure.error/cause
  "no glassgtk3 in java.library.path: /nix/store/x9fw7rbdb34gq0f8q750kw344lbv9nk1-libX11-1.8.9/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib",
  :clojure.error/symbol java.lang.ClassLoader/loadLibrary,
  :clojure.error/source "ClassLoader.java",
  :clojure.error/phase :execution},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message "Syntax error macroexpanding at (cljfx/api.clj:72:1).",
    :data
    {:clojure.error/phase :execution,
     :clojure.error/line 72,
     :clojure.error/column 1,
     :clojure.error/source "cljfx/api.clj"},
    :at [clojure.lang.Compiler load "Compiler.java" 7665]}
   {:type java.lang.RuntimeException,
    :message
    "java.lang.UnsatisfiedLinkError: no glassgtk3 in java.library.path: /nix/store/x9fw7rbdb34gq0f8q750kw344lbv9nk1-libX11-1.8.9/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib",
    :at
    [com.sun.javafx.tk.quantum.QuantumToolkit
     startup
     "QuantumToolkit.java"
     301]}
   {:type java.lang.UnsatisfiedLinkError,
    :message
    "no glassgtk3 in java.library.path: /nix/store/x9fw7rbdb34gq0f8q750kw344lbv9nk1-libX11-1.8.9/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib",
    :at [java.lang.ClassLoader loadLibrary "ClassLoader.java" 2458]}],
  :trace
  [[java.lang.ClassLoader loadLibrary "ClassLoader.java" 2458]
   [java.lang.Runtime loadLibrary0 "Runtime.java" 916]
   [java.lang.System loadLibrary "System.java" 2059]
   [com.sun.glass.utils.NativeLibLoader
    loadLibraryInternal
    "NativeLibLoader.java"
    166]
   [com.sun.glass.utils.NativeLibLoader
    loadLibrary
    "NativeLibLoader.java"
    54]
   [com.sun.glass.ui.gtk.GtkApplication
    lambda$new$6
    "GtkApplication.java"
    195]
   [java.security.AccessController
    doPrivileged
    "AccessController.java"
    319]
   [com.sun.glass.ui.gtk.GtkApplication
    <init>
    "GtkApplication.java"
    179]
   [com.sun.glass.ui.gtk.GtkPlatformFactory
    createApplication
    "GtkPlatformFactory.java"
    41]
   [com.sun.glass.ui.Application run "Application.java" 146]
   [com.sun.javafx.tk.quantum.QuantumToolkit
    startup
    "QuantumToolkit.java"
    291]
   [com.sun.javafx.application.PlatformImpl
    startup
    "PlatformImpl.java"
    293]
   [javafx.application.Platform startup "Platform.java" 113]
   [cljfx.jdk.platform$initialize invokeStatic "platform.clj" 12]
   [cljfx.jdk.platform$initialize invoke "platform.clj" 6]
   [cljfx.platform$initialize invokeStatic "platform.clj" 30]
   [cljfx.platform$initialize invoke "platform.clj" 29]
   [cljfx.api$eval4383 invokeStatic "api.clj" 85]
   [cljfx.api$eval4383 invoke "api.clj" 72]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6162]
   [clojure.core$load invokeStatic "core.clj" 6161]
   [clojure.core$load doInvoke "core.clj" 6145]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5934]
   [clojure.core$load_one invoke "core.clj" 5929]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5976]
   [clojure.core$load_lib invokeStatic "core.clj" 5975]
   [clojure.core$load_lib doInvoke "core.clj" 5954]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6017]
   [clojure.core$load_libs doInvoke "core.clj" 6001]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6039]
   [clojure.core$require doInvoke "core.clj" 6039]
   [clojure.lang.RestFn invoke "RestFn.java" 3659]
   [vlaaad.reveal.action_popup$eval3328$loading__6789__auto____3329
    invoke
    "action_popup.clj"
    1]
   [vlaaad.reveal.action_popup$eval3328
    invokeStatic
    "action_popup.clj"
    1]
   [vlaaad.reveal.action_popup$eval3328 invoke "action_popup.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler eval "Compiler.java" 7183]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6162]
   [clojure.core$load invokeStatic "core.clj" 6161]
   [clojure.core$load doInvoke "core.clj" 6145]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5934]
   [clojure.core$load_one invoke "core.clj" 5929]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5976]
   [clojure.core$load_lib invokeStatic "core.clj" 5975]
   [clojure.core$load_lib doInvoke "core.clj" 5954]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6017]
   [clojure.core$load_libs doInvoke "core.clj" 6001]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6039]
   [clojure.core$require doInvoke "core.clj" 6039]
   [clojure.lang.RestFn invoke "RestFn.java" 805]
   [vlaaad.reveal$eval228$loading__6789__auto____229
    invoke
    "reveal.clj"
    1]
   [vlaaad.reveal$eval228 invokeStatic "reveal.clj" 1]
   [vlaaad.reveal$eval228 invoke "reveal.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler eval "Compiler.java" 7183]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6162]
   [clojure.core$load invokeStatic "core.clj" 6161]
   [clojure.core$load doInvoke "core.clj" 6145]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5934]
   [clojure.core$load_one invoke "core.clj" 5929]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5976]
   [clojure.core$load_lib invokeStatic "core.clj" 5975]
   [clojure.core$load_lib doInvoke "core.clj" 5954]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6017]
   [clojure.core$load_libs doInvoke "core.clj" 6001]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6039]
   [clojure.core$require doInvoke "core.clj" 6039]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.run.exec$requiring_resolve_SINGLEQUOTE_
    invokeStatic
    "exec.clj"
    36]
   [clojure.run.exec$requiring_resolve_SINGLEQUOTE_
    invoke
    "exec.clj"
    29]
   [clojure.run.exec$exec$fn__165 invoke "exec.clj" 83]
   [clojure.run.exec$exec invokeStatic "exec.clj" 82]
   [clojure.run.exec$exec invoke "exec.clj" 78]
   [clojure.run.exec$_main$fn__220 invoke "exec.clj" 228]
   [clojure.run.exec$_main invokeStatic "exec.clj" 224]
   [clojure.run.exec$_main doInvoke "exec.clj" 192]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.main$main_opt invokeStatic "main.clj" 514]
   [clojure.main$main_opt invoke "main.clj" 510]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause
  "no glassgtk3 in java.library.path: /nix/store/x9fw7rbdb34gq0f8q750kw344lbv9nk1-libX11-1.8.9/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib",
  :phase :execution}}

sheluchin 2024-09-30T18:42:05.340039Z

I've had no issue running Reveal on SwayWM which uses Wayland.

Jeremy 2024-09-30T18:43:14.001509Z

Did u have to install some missing libs?

sheluchin 2024-09-30T18:46:43.621479Z

Sorry, I don't have a clear recollection of the details because it has been so long since I did it, but it's definitely possible.