На этой странице содержится подробная информация о схеме файла конфигурации вашей рабочей среды, который всегда должен находиться по адресу .idx/dev.nix
.
Чтобы узнать о языке Nix, см. официальное руководство по языку Nix .
пакеты
Пакеты для установки в среду.
Вы можете использовать аргумент pkgs
для выбора пакетов для установки, например pkgs.python3
. Обратите внимание, что содержимое pkgs
зависит от выбранного параметра channel
.
Пример:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Вы можете поискать доступные пакеты здесь: стабильный-23.11 или нестабильный .
Тип: список посылки
По умолчанию: [ ]
канал
канал nixpkgs, который нужно использовать.
Этот канал определяет содержимое аргумента pkgs
.
Тип: один из «стабильный-23.05», «стабильный-23.11», «нестабильный».
По умолчанию: "stable-23.11"
окружение
Переменные среды, которые устанавливаются внутри среды разработчика.
Они распространяются на все ваши оболочки и сервер предварительного просмотра. Переменные среды могут быть особенно полезны, если вашему приложению требуется определенный набор переменных.
Пример:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Тип: набор атрибутов чего угодно
По умолчанию: { }
idx.extensions
Расширения кода, которые вы хотите установить в своем рабочем пространстве IDX.
Это список полных идентификаторов расширений, например ${publisherId}.${extensionId}
.
Вы можете найти список доступных расширений в реестре Open VSX и ввести их в свой файл dev.nix
с помощью ${publisherId}.${extensionId}
.
Тип: список (непустая строка или путь)
По умолчанию: [ ]
idx.previews.enable
Установите для этого параметра значение true
, чтобы включить предварительный просмотр IDX.
Эта функция позволяет автоматически запускать и перезагружать приложения по мере их разработки.
Тип: логический
По умолчанию: true
Пример: true
idx.previews.previews
Предварительный просмотр конфигураций.
Определите команды, которые IDX выполняет в вашей среде разработки.
Пример:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Тип: набор атрибутов (подмодуль)
По умолчанию: { }
idx.previews.previews.<имя>.команда
Команда для выполнения
Тип: список строк
По умолчанию: [ ]
idx.previews.previews.<имя>.cwd
Рабочий каталог
Тип: строка
По умолчанию: ""
idx.previews.previews.<имя>.env
Переменные среды, которые необходимо установить.
Тип: набор атрибутов строки.
По умолчанию: { }
idx.previews.previews.<имя>.manager
Менеджер
Тип: один из «паутины», «трепетания».
idx.workspace.onCreate
Команды, выполняемые при первом создании и открытии рабочей области.
Это может быть полезно для настройки среды разработки. Например, здесь мы указываем npm install
для запуска:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Тип: набор атрибутов (путь или строка).
По умолчанию: { }
idx.workspace.onStart
Команды, выполняемые при каждом открытии рабочей области.
Это может быть полезно для начала сборки наблюдателей. Например, здесь мы указываем две команды для запуска:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Тип: набор атрибутов (путь или строка).
По умолчанию: { }
Services.docker.enable
Включить ли докер без Root.
Тип: логический
По умолчанию: false
Пример: true
Services.mysql.enable
Включить ли сервер MySQL.
Сервер инициализируется пользователем root без пароля. Поэтому для создания дополнительных пользователей и баз данных используйте mysql -u root
. .
Тип: логический
По умолчанию: false
Пример: true
Services.mysql.package
Пакет MySQL для использования.
Тип: пакет
По умолчанию: pkgs.mysql
Пример: pkgs.mysql80
Services.postgres.enable
Включить ли сервер PostgreSQL.
Тип: логический
По умолчанию: false
Пример: true
Services.postgres.package
Пакет PostgreSQL, который нужно использовать.
Тип: пакет
По умолчанию: pkgs.postgresql
Пример: pkgs.postgresql_15
Services.postgres.extensions
Расширения Postgres для установки.
Тип: список (один из «возраст», «apache_datasketches», «cstore_fdw», «hypopg», «jsonb_deep_sum», «периоды», «pg_auto_failover», «pg_bigm», «pg_cron», «pg_ed25519», «pg_embedding» , "pg_hint_plan", "pg_hll", "pg_ivm", "pg_net", "pg_partman", "pg_rational", "pg_relusage", "pg_repack", "pg_safeupdate", "pg_similarity", "pg_topn", "pg_uuidv7", " pgaudit", "pgjwt", "pgroonga", "pgrouting", "pgsql-http", "pgtap", "pgvector", "plpgsql_check", "plr", "plv8", "postgis", "promscale_extension", " Repmgr", "rum", "smlar", "tds_fdw", "temporal_tables", "timescaledb", "timescaledb-apache", "timescaledb_toolkit", "tsearch_extras", "tsja", "wal2json")
По умолчанию: [ ]
Пример: [ "pgvector" "postgis" ];
Services.pubsub.enable
Включить ли эмулятор Google Pub/Sub.
Дополнительную документацию по использованию эмулятора можно найти здесь: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator.
Тип: логический
По умолчанию: false
Пример: true
Services.pubsub.port
Настраивает порт, который Pub/Sub будет прослушивать.
Тип: 16-битное целое число без знака; от 0 до 65535 (оба включительно)
По умолчанию: 8085
Services.pubsub.project-id
Идентификатор проекта, который будет использоваться для запуска эмулятора Pub/Sub. Этот проект предназначен только для тестирования, он не обязательно должен существовать и используется только локально.
Тип: строка, соответствующая шаблону [az][a-z0-9-]{5,29}
По умолчанию: "idx-pubsub-emulator"
Services.redis.enable
Включить ли сервер Redis.
Тип: логический
По умолчанию: false
Пример: true
Services.redis.port
Настраивает порт, который Redis будет прослушивать.
По умолчанию TCP отключен, и Redis прослушивает только /tmp/redis/redis.sock.
Тип: 16-битное целое число без знака; от 0 до 65535 (оба включительно)
По умолчанию: 0
Services.spanner.enable
Включить ли эмулятор Google Cloud Spanner.
Тип: логический
По умолчанию: false
Пример: true
Services.spanner.fault-инъекция
Включить ли случайное внесение ошибок в транзакции.
Тип: логический
По умолчанию: false
Пример: true
Services.spanner.grpc-порт
TCP-порт, к которому должен быть привязан эмулятор.
Тип: 16-битное целое число без знака; от 0 до 65535 (оба включительно)
По умолчанию: 9010
Services.spanner.rest-port
Порт, на котором обслуживаются запросы REST.
Тип: 16-битное целое число без знака; от 0 до 65535 (оба включительно)
По умолчанию: 9020