dev.nix 참조

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

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

packages

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

pkgs 인수를 사용하여 설치할 패키지를 선택할 수 있습니다(예: pkgs.python3). pkgs의 콘텐츠는 선택한 channel 채널 옵션에 따라 다릅니다.

예:

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

stable-23.11 또는 unstable에서 사용 가능한 패키지를 검색할 수 있습니다.

Type(유형): 패키지 목록

기본값: [ ]

채널

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

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

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

기본값: "stable-23.11"

env

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

이는 모든 셸과 미리보기 서버에 전파됩니다. 환경 변수는 애플리케이션에 특정 변수 세트가 필요한 경우에 특히 유용할 수 있습니다.

예:

{pkgs, ...}: {
  env = {
    HELLO = "world";
  };
}

유형: 모든 항목의 속성 집합입니다.

기본값: { }

idx.extensions

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

정규화된 확장 프로그램 ID의 목록입니다(예: ${publisherId}.${extensionId}).

VSX 레지스트리 열기에서 사용 가능한 확장 프로그램 목록을 찾아 ${publisherId}.${extensionId}dev.nix 파일에 입력할 수 있습니다.

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

기본값: [ ]

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>.command

실행할 명령어

유형: 문자열 목록

기본값: [ ]

idx.previews.previews.<name>.cwd

작업 디렉터리

유형: 문자열

기본값: ""

idx.previews.previews.<name>.env

설정할 환경 변수입니다.

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

기본값: { }

idx.previews.previews.<name>.manager

관리자

유형: '웹', 'flutter' 중 하나

idx.workspace.onCreate

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

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

{pkgs, ...}: {
  idx.workspace.onCreate = {
    npm-install = "npm install";
  };
}

유형: (경로 또는 문자열)의 속성 집합입니다.

기본값: { }

idx.workspace.onStart

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

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

{pkgs, ...}: {
  idx.workspace.onStart = {
    npm-watch-fe = "npm run watch:frontend";
    npm-watch-be = "npm run watch:backend";
  };
}

유형: (경로 또는 문자열)의 속성 집합입니다.

기본값: { }

services.docker.enable

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

유형: 불리언

기본값: false

예: true

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.package

사용할 PostgreSQL 패키지입니다.

유형: 패키지

기본값: pkgs.postgresql

예: pkgs.postgresql_15

services.postgres.extensions

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

기본값: [ ]

예: [ "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