dev.nix 참조

이 페이지에는 작업공간 환경의 스키마에 대한 세부정보가 포함되어 있습니다. 구성 파일이어야 합니다. 이 파일은 항상 .idx/dev.nix에 있어야 합니다.

Nix 언어에 대한 자세한 내용은 공식 Nix 언어 튜토리얼을 참고하세요.

packages

환경에 설치할 패키지입니다.

pkgs 인수를 사용하여 설치할 패키지를 선택할 수 있습니다. 예를 들면 다음과 같습니다. pkgs.python3 pkgs의 콘텐츠는 선택한 channel 채널 옵션

예:

{pkgs, ...}: {
  channel = "stable-23.11";
  packages = [pkgs.vim];
}

여기에서 사용 가능한 패키지를 검색할 수 있습니다. stable-23.11 또는 불안정합니다.

Type(유형): 패키지 목록

기본값: [ ]

채널

nixpkgs 채널을 선택하는 것이 좋습니다.

이 채널은 pkgs 인수의 콘텐츠를 정의합니다.

유형: 'stable-23.05', 'stable-23.11', 'stable-24.05', 'unstable' 중 하나

기본값: "stable-23.11"

env

개발자 환경 내에서 설정된 환경 변수입니다.

이는 모든 셸과 미리보기 서버에 전파됩니다. 환경 변수는 애플리케이션에 특정 유형의 사용할 수 있습니다.

각 변수의 값은 문자열이거나 문자열 목록입니다. 이 뒤에 콜론(:)이 붙어 있습니다.

PATH는 목록이어야 합니다. 항상 확장되고 완전히 대체되지 않기 때문입니다.

예:

{pkgs, ...}: {
  env = {
    HELLO = "world";
    # append an entry to PATH
    PATH = ["/some/path/bin"];
  };
}

유형: ((문자열 목록) 또는 임의의 속성 집합

기본값: { }

idx.extensions

IDX 작업공간에 설치할 코드 확장 프로그램

정규화된 확장 ID의 목록입니다. 예를 들면 다음과 같습니다. ${publisherId}.${extensionId}

사용 가능한 확장 프로그램 목록은 VSX 레지스트리를 열고 dev.nix 파일에 입력합니다. 아티스트: ${publisherId}.${extensionId}

유형: 비어 있지 않은 문자열 또는 경로 목록

기본값: [ ]

idx.previews.enable

IDX 미리보기를 사용 설정하려면 true로 설정합니다.

이 기능을 사용하면 사용자가 있는 동안 자동으로 앱을 실행하고 다시 로드할 수 있습니다. 개발 중입니다.

유형: 불리언

기본값: true

예: true

idx.previews.previews

미리보기 구성

개발자 환경에서 IDX가 실행하는 명령어를 정의합니다.

예:

{pkgs, ...}: {
  idx.previews = {
    enable = true;
    previews = {
      web = {
        command = ["yes"];
        cwd = "subfolder";
        manager = "web";
        env = {
          HELLO = "world";
        };
      };
    };
  };
}

Type: (하위 모듈) 속성 집합

기본값: { }

idx.previews.previews.<name>.activity

Android 출시 활동

유형: 문자열

기본값: ""

idx.previews.previews.<name>.command

실행할 명령어

유형: 문자열 목록

기본값: [ ]

idx.previews.previews.<name>.cwd

작업 디렉터리

유형: 문자열

기본값: ""

idx.previews.previews.<name>.env

설정할 환경 변수입니다.

유형: 문자열의 속성 집합입니다.

기본값: { }

idx.previews.previews.<name>.manager

관리자

유형: 'web', 'flutter', 'android', 'gradle' 중 하나

idx.workspace.onCreate

작업공간이 생성되고 처음 열릴 때 실행할 명령어입니다.

이는 개발 환경을 설정하는 데 유용할 수 있습니다. 예를 들어 여기서는 실행할 npm install를 지정합니다.

{pkgs, ...}: {
  idx.workspace.onCreate = {
    npm-install = "npm install";
    # files to open when the workspace is first opened.
    default.openFiles = [ "src/index.ts" ];
  };
}

유형: (경로 또는 문자열 또는 ({ openFiles = [ string ];}))의 속성 집합

기본값: { }

idx.workspace.onStart

작업공간이 열릴 때마다 실행할 명령어입니다.

이는 빌드 감시자를 시작하는 데 유용할 수 있습니다. 예를 들어 여기서는 실행할 명령어 2개:

{pkgs, ...}: {
  idx.workspace.onStart = {
    npm-watch-fe = "npm run watch:frontend";
    npm-watch-be = "npm run watch:backend";
    # files to open when the workspace is (re)opened.
    default.openFiles = [ "src/index.ts" ];
  };
}

유형: (경로 또는 문자열 또는 ({ openFiles = [ string ];}))의 속성 집합

기본값: { }

services.docker.enable

Rootless docker를 사용 설정할지 여부입니다.

유형: 불리언

기본값: false

예: true

services.mongodb.enable

MongoDB 서버를 사용 설정할지 여부입니다.

유형: 불리언

기본값: false

예: true

services.mongodb.package

MongoDB 패키지를 빌드합니다.

유형: 패키지

기본값: <derivation mongodb-6.0.11>

services.mongodb.port

Mongod가 수신 대기할 포트를 구성합니다.

기본적으로 TCP는 사용 중지되어 있으며 Mongod는 /tmp/mongodb/mongodb.sock에서만 수신 대기합니다. 연결하려면 연결 문자열 사용 'mongodb://%2Ftmp%2Fmongodb%2Fmongodb.sock'

유형: 부호 없는 16비트 정수입니다. 0 이상 65535 이하 (둘 다 포함)

기본값: 0

services.mysql.enable

MySQL 서버를 사용 설정할지 여부입니다.

서버가 비밀번호가 없는 사용자 루트로 초기화됩니다. 따라서 추가 광고 소재를 mysql -u root를 사용하여 데이터베이스를 만들 수 있습니다. .

유형: 불리언

기본값: false

예: true

services.mysql.package

사용할 MySQL 패키지입니다.

유형: 패키지

기본값: pkgs.mysql

예: pkgs.mysql80

services.postgres.enable

PostgreSQL 서버를 사용 설정할지 여부입니다.

유형: 불리언

기본값: false

예: true

services.postgres.enableTcp

Postgres가 TCP에서 리슨하도록 사용 설정할지 선택합니다.

유형: 불리언

기본값: true

예: true

services.postgres.package

사용할 PostgreSQL 패키지입니다.

유형: 패키지

기본값: pkgs.postgresql

예: pkgs.postgresql_15

services.postgres.extensions

Postgres 확장 프로그램을 설치합니다.

Type: 'age', 'apache_datasketches', 'cstore_fdw', 'hypopg' 중 하나인 목록 'jsonb_deep_sum', 'periods', 'pg_auto_failover', 'pg_bigm', 'pg_cron', 'pg_ed25519', 'pg_Embed', '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', 'pgroute', '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 에뮬레이터를 실행하는 데 사용할 프로젝트 ID입니다. 이 프로젝트는 테스트 전용이므로 존재하지 않아도 되며 로컬에서만 사용됩니다.

Type: [a-z][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-injection

트랜잭션에 임의의 결함 주입을 사용 설정할지 여부입니다.

유형: 불리언

기본값: false

예: true

services.spanner.grpc-port

에뮬레이터를 결합해야 하는 TCP 포트입니다.

유형: 부호 없는 16비트 정수입니다. 0 이상 65535 이하 (둘 다 포함)

기본값: 9010

services.spanner.rest-port

REST 요청이 제공되는 포트입니다.

유형: 부호 없는 16비트 정수입니다. 0 이상 65535 이하 (둘 다 포함)

기본값: 9020