Переопределить сборку через configuration.nix - PullRequest
0 голосов
/ 09 июня 2018

Можно ли переопределить скрипт сборки существующего пакета, или в этом случае vscode-with-extensions .Я знаю, как переопределить параметр, который в этом пакете vscodeExtensions.

Этот , кажется, показывает один подход, но я не вижу, где переопределить runCommandв файле.

1 Ответ

0 голосов
/ 10 июня 2018

Функция отмены может изменять только входы функции.Невозможно изменить произвольные подвыражения.

Предполагая, что вы просто хотите добавить расширение в свою конфигурацию, мне кажется, что вам не нужно фактически изменять все выражение, которое вызывает runCommand.

Вот как вы можете переопределить аргумент vscodeExtensions:

let
  overlay = self: super: {
    vscode-with-extensions = super.vscode-with-extensions.override {
      vscodeExtensions =
        super.vscode-utils.extensionsFromVscodeMarketplace [
          {
            name = "vscode-hie-server";
            publisher = "alanz";
            version = "0.0.19";
            sha256 = "0x0cs7c5q90p1ffig2wb5v21z3yj3p2chgpvbnlm4gfsnw7qpfzr";
          }
        ] ++ with super.vscode-extensions; [
          bbenoist.Nix
        ];
    };
  };
in
# NixOS:
# { nixpkgs.overlays = [ overlay ]; }
#
# or nix-build:
(import <nixpkgs> {
  overlays = [ overlay ];
}).vscode-with-extensions

Если вы хотите, чтобы этот фрагмент был конфигурацией NixOS, прокомментируйте часть сборки nix, раскомментируйте часть NixOS, и вы получитемодуль, который вы можете добавить в свой NixOS imports.

Отказ от ответственности: это не совсем мои настройки, я просто проверяю это.По крайней мере, часть Nix, кажется, работает.

...