Подтвердить что ты не робот

Варианты вывода с возможностью добавления Nix

Я пытаюсь понять, какие опции доступны для меня в моем configuration.nix для определенных программ, путем поиска в подпапке pkgs дерева исходных текстов nixpkgs, выбирая определения модулей, чтобы понять доступные варианты. Тем не менее, я столкнулся с трудным случаем для PHP - это особый вывод, составной вывод. Я не могу видеть, какие параметры у меня есть с PHP - что-то, что было бы чрезвычайно полезно для включения специальных модулей, таких как mcrypt, gd и т.д. Любая помощь с этим будет очень благодарна!

4b9b3361

Ответ 1

Мне потребовалось некоторое время, чтобы понять это, но правильный способ использования composeDerivation для установки функций сборки пакета php следующий:

  # config.nix
  {
   packageOverrides = pkgs: rec {
      php = pkgs.php.merge {
        cfg = {
          imapSupport = false;
          intlSupport = false;
          fpmSupport = false;
        };
      };
   };
  }

Это переопределяет значения по умолчанию в cfg, указанные в php/default.nix(imapSupport, intlSupport и fpmSupport отключены). Вы можете поместить этот файл в ~/.nixpkgs/config.nix для активной общесистемной или использовать его в другом файле nix, чтобы настроить глобальные nixpkgs:

pkgs = import <nixpkgs> { config = (import ./config.nix);  };

Ответ 2

Попробуйте отслеживать взаимодействия файлов с configuration.nix, а также сначала попытайтесь понять все эти флаги, PHP файл - это "механизм запуска", который, как мне кажется, не имеет возможные параметры конфигурации он просто используется в качестве переключателя запуска некоторого типа и чтения строк 234-236 (PHP), он говорит, что ему нужна конфигурация

также http://nixos.org/nixos/manual/sec-configuration-syntax.html#sec-nix-syntax-summary показывает очень четко свои возможности. Я снова говорю, что не вхожу в этот движок, но я думаю, что все, что нужно для настройки, выполняется с помощью команд администратора NixOS, мне будет легче помочь вам, если вы объясните, что именно вам нужно сделать.