Size: a a a

2021 February 05

AC

Amber Claes in NixOS
Бляха, видимо прийдётся на рач вернуться, а никсос только на серваке будет
источник
2021 February 06

Б

Борис in NixOS
господа, всем привет.
сегодня суббота, а значит пора оверрайдить.

есть деривиация(deno), инфа о зависимостях лежит в отдельном файле рядом и импортится:
  deps = import ./deps.nix { };
 arch = rust.toRustTarget stdenv.hostPlatform;
 rustyV8Lib = with deps.rustyV8Lib; fetchurl {
   url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch}.a";
   sha256 = sha256s."${stdenv.hostPlatform.system}";
   meta = { inherit version; };
 };

могу ли я переопределить deps в таком случае?
источник

LW

LOL WTF in NixOS
Amber Claes
Бляха, видимо прийдётся на рач вернуться, а никсос только на серваке будет
У тебя типичная проблема с дровами с которой встретишься на любом линухе, в т.ч. и на арче рано или поздно. Слышал много проблем с встроенной вегой.
источник

Б

Борис in NixOS
вот эта деривиация вызывает infinite recursion encountered

{ stdenv, fetchzip, ... }:

stdenv.mkDerivation rec {
   name = "deno-binary-custom";
   version = "v1.7.2";
   target = "x86_64-unknown-linux-gnu";

   src = fetchzip {
       url = "https://github.com/denoland/deno/releases/download/${version}/deno-${target}.zip";
       sha256 = "sha256-67rc9EkC18M+ERQGYpxibipOMn2YK3CdofSm3OujU8Y=";
   };

   meta = with stdenv.lib; {
       homepage = "https://deno.land";
       description = "A secure runtime for JavaScript and TypeScript";
       license = licenses.mit;
       maintainers = [ maintainers.magnetophon ];
       platforms = platforms.linux;
   };
}


далее я импортирую её в home-manager в imports
источник

Б

Борис in NixOS
чзх ))
источник

Б

Борис in NixOS
Борис
вот эта деривиация вызывает infinite recursion encountered

{ stdenv, fetchzip, ... }:

stdenv.mkDerivation rec {
   name = "deno-binary-custom";
   version = "v1.7.2";
   target = "x86_64-unknown-linux-gnu";

   src = fetchzip {
       url = "https://github.com/denoland/deno/releases/download/${version}/deno-${target}.zip";
       sha256 = "sha256-67rc9EkC18M+ERQGYpxibipOMn2YK3CdofSm3OujU8Y=";
   };

   meta = with stdenv.lib; {
       homepage = "https://deno.land";
       description = "A secure runtime for JavaScript and TypeScript";
       license = licenses.mit;
       maintainers = [ maintainers.magnetophon ];
       platforms = platforms.linux;
   };
}


далее я импортирую её в home-manager в imports
   302|         value = builtins.addErrorContext (context name)
  303|           (args.${name} or config._module.args.${name});
     |                            ^
  304|       }) requiredArgs);
источник

АБ

Александр Бантьев... in NixOS
Три точки лишние
источник

Б

Борис in NixOS
Кек
источник

Б

Борис in NixOS
Александр Бантьев
Три точки лишние
так, действительно оибка с рекурсией полечилась.
но в таком случае как мне указать только те аргументы, что мне нужны?
потому что вот { stdenv, fetchzip } это приводит к ошибке что передан неожиданный аргумент
{ stdenv, fetchzip }@args - тоже самое
источник

АБ

Александр Бантьев... in NixOS
Борис
так, действительно оибка с рекурсией полечилась.
но в таком случае как мне указать только те аргументы, что мне нужны?
потому что вот { stdenv, fetchzip } это приводит к ошибке что передан неожиданный аргумент
{ stdenv, fetchzip }@args - тоже самое
а как ты вызываешь эту функцию?
источник

АБ

Александр Бантьев... in NixOS
А, увидел
источник

АБ

Александр Бантьев... in NixOS
ну ты ССЗБ
источник

Б

Борис in NixOS
не сомневаюсь
источник

АБ

Александр Бантьев... in NixOS
Используй pkgs.callPackage
источник

Б

Борис in NixOS
а как им не быть?
источник

АБ

Александр Бантьев... in NixOS
nixpkgs.overlays = [ (final: prev: { deno = final.callPackage ./deno.nix { }; }) ];
источник

АБ

Александр Бантьев... in NixOS
Примерно так
источник

Б

Борис in NixOS
понял
источник

АБ

Александр Бантьев... in NixOS
Может отличаться в зависимости от того, что конкретно ты хочешь сделать
источник

Б

Борис in NixOS
спасибо тебе, мудрейший
источник