Запуск jetbrains-toolbox в NixOS
Я хочу установить jetbrains-toolbox в NixOS. Полезно отслеживать бета-каналы и каналы консервного завода. Я обнаружил, что его спрашивали здесь раньше, но я не сталкивался с этой проблемой, поэтому решил спросить еще раз. Итак, используя NixOS руководство, после загрузки и распаковки с помощью этого я побежал это
$ 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
?
2 ответа
Я смог создать набор инструментов для реактивных мозгов, используя
appimageTools.wrapType2
. Я считаю, что это создает несколько традиционную среду, в которой все правильно расположено в / usr / bin и так далее. Это также гарантирует правильную работу установленных ide.
Также обратите внимание, что последняя версия 1.18.7455 не работает. Но работает с 1.16.6319.
Вот выражение nix. Постройте это с
nix-build -A jetbrains-toolbox <filename>.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;
};
};
}
Вот небольшая суть, как использовать в конфигурации.nix. Возможно, это не самая идиоматическая версия... но я тоже новичок в Nixos:)
Наконец, можно запустить текущую версию Toolbox, и я только что сделал PR для nixpgs, поэтому вы можете увидеть, как это работает для меня, здесь https://github.com/NixOS/nixpkgs/pull/174272 .