Jetbrains Tools: Difference between revisions

Add mention of an external repository containing all Jetbrains plugins
Max (talk | contribs)
Remove the awful paragraph about the hack with nix-ld
 
Line 20: Line 20:
== JetBrains Toolbox ==
== JetBrains Toolbox ==


If you (understandably) want to eschew a fully-stateless JetBrains IDE setup, JetBrains Toolbox manages everything under {{ic|~/.local/share/JetBrains/Toolbox}} but currently (Jan. 2024) needs some tweaks to get working.
{{Warning|IDEs downloaded through JetBrains Toolbox must also be launched through it. Using the IDEs directly through nixpkgs is a better option. See [https://github.com/NixOS/nixpkgs/issues/240444 nixpkgs#240444].}}
 
If you want to eschew a fully-stateless JetBrains IDE setup, JetBrains Toolbox manages everything under {{ic|~/.local/share/JetBrains/Toolbox}} but currently (Jan. 2024) needs some tweaks to get working.
<ol>
<ol>
<li>Install {{ic|pkgs.jetbrains-toolbox}} and launch it once</li>
<li>Install {{ic|pkgs.jetbrains-toolbox}} and launch it once</li>
Line 29: Line 31:
</ol>
</ol>
After following these steps, JetBrains Toolbox will store user credentials in an encrypted (with a static key) file at {{ic|~/.local/share/JetBrains/Toolbox/.securestorage}}. If not followed, JetBrains Toolbox is unable to retrieve credentials via {{ic|libsecret}} (due to bwrap sandboxing?) and persistently notifies the user to re-authorize.
After following these steps, JetBrains Toolbox will store user credentials in an encrypted (with a static key) file at {{ic|~/.local/share/JetBrains/Toolbox/.securestorage}}. If not followed, JetBrains Toolbox is unable to retrieve credentials via {{ic|libsecret}} (due to bwrap sandboxing?) and persistently notifies the user to re-authorize.
It may also help to enable {{ic|nix-ld}} or launch through JetBrains Toolbox itself if the downloaded IDEs are unable to launch; see [https://github.com/NixOS/nixpkgs/issues/240444 nixpkgs#240444].
With the following configuration {{ic|rustrover}} was successfully started:
    programs.nix-ld.enable = true;
    programs.nix-ld.libraries = with pkgs; [
      SDL
      SDL2
      SDL2_image
      SDL2_mixer
      SDL2_ttf
      SDL_image
      SDL_mixer
      SDL_ttf
      alsa-lib
      at-spi2-atk
      at-spi2-core
      atk
      bzip2
      cairo
      cups
      curlWithGnuTls
      dbus
      dbus-glib
      desktop-file-utils
      e2fsprogs
      expat
      flac
      fontconfig
      freeglut
      freetype
      fribidi
      fuse
      fuse3
      gdk-pixbuf
      glew110
      glib
      gmp
      gst_all_1.gst-plugins-base
      gst_all_1.gst-plugins-ugly
      gst_all_1.gstreamer
      gtk2
      harfbuzz
      icu
      keyutils.lib
      libGL
      libGLU
      libappindicator-gtk2
      libcaca
      libcanberra
      libcap
      libclang.lib
      libdbusmenu
      libdrm
      libgcrypt
      libgpg-error
      libidn
      libjack2
      libjpeg
      libmikmod
      libogg
      libpng12
      libpulseaudio
      librsvg
      libsamplerate
      libthai
      libtheora
      libtiff
      libudev0-shim
      libusb1
      libuuid
      libvdpau
      libvorbis
      libvpx
      libxcrypt-legacy
      libxkbcommon
      libxml2
      mesa
      nspr
      nss
      openssl
      p11-kit
      pango
      pixman
      python3
      speex
      stdenv.cc.cc
      tbb
      udev
      vulkan-loader
      wayland
      xorg.libICE
      xorg.libSM
      xorg.libX11
      xorg.libXScrnSaver
      xorg.libXcomposite
      xorg.libXcursor
      xorg.libXdamage
      xorg.libXext
      xorg.libXfixes
      xorg.libXft
      xorg.libXi
      xorg.libXinerama
      xorg.libXmu
      xorg.libXrandr
      xorg.libXrender
      xorg.libXt
      xorg.libXtst
      xorg.libXxf86vm
      xorg.libpciaccess
      xorg.libxcb
      xorg.xcbutil
      xorg.xcbutilimage
      xorg.xcbutilkeysyms
      xorg.xcbutilrenderutil
      xorg.xcbutilwm
      xorg.xkeyboardconfig
      xz
      zlib
    ];
It could also be extended to the full list in {{ic|pkgs/build-support/appimage/default.nix}}


[[Category:Applications]]
[[Category:Applications]]