【问题标题】:Running jetbrains-toolbox in NixOS在 NixOS 中运行 jetbrains-toolbox
【发布时间】:2021-02-14 14:59:46
【问题描述】:

我想在 NixOS 中安装 jetbrains-toolbox。跟踪 beta 和 cannery 渠道很有用。我发现它在here 之前问过,但我没有遇到这个问题,所以我决定再问一次。所以通过使用NixOS guide,在使用this下载和解压后,我运行了这个

$ patchelf \
  --set-interpreter /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/ld-linux-x86-64.so.2 \
  --set-rpath /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib:/nix/store/9sfmwj09ij65qnc8dgv8h56gf12b60nn-zlib-1.2.11/lib:/nix/store/dadpj611mynymmljn7s8d97kfsy89dmc-fuse-2.9.9/lib \
  jetbrains-toolbox                                                                                                                                             

$ ./jetbrains-toolbox
/run/user/1000/.mount_jetbraWshcwf/AppRun: line 14: ./glibcversion: No such file or directory
/run/user/1000/.mount_jetbraWshcwf/AppRun: line 14: [: : integer expression expected
/run/user/1000/.mount_jetbraWshcwf/AppRun: line 35: /run/user/1000/.mount_jetbraWshcwf/jetbrains-toolbox: No such file or directory
 

我搜索了很多以找出如何安装glibcversion 却没有成功!知道如何解决这个问题吗?

创建一个也很容易!创建一个名为glibcversion.c的文件

#include <stdio.h>
#include <stdlib.h>
#include <gnu/libc-version.h>

int main(int argc, char *argv[]) {
  printf("glibc version: %s\n", gnu_get_libc_version());
}

构建它

gcc glibcversion.c -o glibcversion

但是我怎样才能将它提供给jetbrains-toolbox

【问题讨论】:

    标签: linux nixos jetbrains-toolbox


    【解决方案1】:

    我能够使用 appimageTools.wrapType2 构建 jetbrains-toolbox。我相信这会创建一个有点传统的环境,其中所有内容都正确位于 /usr/bin 等等。这也可以确保安装的 ide 正常工作。

    另请注意,最新版本 1.18.7455 不起作用。但它适用于 1.16.6319。

    这是一个 nix 表达式。用nix-build -A jetbrains-toolbox &lt;filename&gt;.nix构建它

    with import <nixpkgs> {};
    let
      name = "jetbrains-toolbox";
      version = "1.16.6319";
        #version = "1.18.7455";
      sha256 = "4e6f333839af8330a09d9d6fdcd6a635c9ca1f0ae239d8f268249dbd095ca880";
    in rec {
      jetbrains-toolbox-src = stdenv.mkDerivation {
        name = "jetbrains-toolbox-src";
    
        src = fetchurl {
            url = "https://download.jetbrains.com/toolbox/${name}-${version}.tar.gz";
            inherit sha256;
        };
    
        installPhase = ''
            #mkdir -p $out/bin
            cp jetbrains-toolbox $out
        '';
      };
    
      jetbrains-toolbox = appimageTools.wrapType2 {
        inherit name;
    
        src = jetbrains-toolbox-src;
    
        extraPkgs = pkgs: with pkgs; [
          libcef
        ];
    
        meta = with stdenv.lib; {
          description = "A toolbox to manage JetBrains products";
          longDescription = ''
          The JetBrains Toolbox lets you install and manage JetBrains Products in muiltiple versions.
          '';
          homepage = "https://www.jetbrains.com/toolbox/";
          platforms = platforms.all;
        };
      };
    }
    

    Here a little gist how to use in a configuration.nix。可能不是最惯用的版本......但我也是 Nixos 的新手 :)

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 2018-06-19
      相关资源
      最近更新 更多