Я пытаюсь понять, какие опции доступны для меня в моем configuration.nix
для определенных программ, путем поиска в подпапке pkgs
дерева исходных текстов nixpkgs, выбирая определения модулей, чтобы понять доступные варианты. Тем не менее, я столкнулся с трудным случаем для PHP - это особый вывод, составной вывод. Я не могу видеть, какие параметры у меня есть с PHP - что-то, что было бы чрезвычайно полезно для включения специальных модулей, таких как mcrypt, gd и т.д. Любая помощь с этим будет очень благодарна!
Варианты вывода с возможностью добавления Nix
Ответ 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, мне будет легче помочь вам, если вы объясните, что именно вам нужно сделать.