Ta strona zawiera szczegółowe informacje o schemacie pliku konfiguracji środowiska obszaru roboczego, który zawsze powinien znajdować się w lokalizacji .idx/dev.nix
.
Aby dowiedzieć się więcej o języku Nix, zobacz samouczek oficjalnego języka Nix.
przesyłki
Pakiety do zainstalowania w środowisku.
Możesz użyć argumentu pkgs
, aby wybrać pakiety do zainstalowania, np. pkgs.python3
. Pamiętaj, że zawartość pola pkgs
zależy od wybranej opcji kanału channel
.
Przykład:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Dostępne pakiety możesz wyszukać tutaj: stable-23.11 lub unstable.
Typ: lista pakietów
Wartość domyślna: [ ]
kanał
nixpkgs.
Ten kanał definiuje zawartość argumentu pkgs
.
Typ: wartość „stable-23.05”, „stable-23.11”, „unstable”
Wartość domyślna: "stable-23.11"
env
Zmienne środowiskowe ustawiane w środowisku programistycznym.
Są one przekazywane do wszystkich powłok i serwera podglądu. Zmienne środowiskowe mogą być szczególnie przydatne, jeśli aplikacja wymaga określonego zestawu zmiennych.
Przykład:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Typ:zbiór atrybutów zawierający dowolne wartości.
Wartość domyślna: { }
idx.extensions
Rozszerzenia kodu, które chcesz zainstalować w obszarze roboczym IDX.
To jest lista w pełni kwalifikowanych identyfikatorów rozszerzeń, np. ${publisherId}.${extensionId}
.
Listę dostępnych rozszerzeń znajdziesz w Open VSX Registry (Otwórz rejestr VSX) i wpisz je w pliku dev.nix
do ${publisherId}.${extensionId}
.
Typ: lista (niepusty ciąg lub ścieżka)
Wartość domyślna: [ ]
idx.previews.enable
Ustaw wartość true
, aby włączyć podglądy IDX.
Ta funkcja umożliwia automatyczne uruchamianie aplikacji i ich ponowne wczytywanie w trakcie ich tworzenia.
Typ: wartość logiczna
Wartość domyślna: true
Przykład: true
idx.previews.previews
Wyświetl podgląd konfiguracji.
Zdefiniuj polecenia wykonywane przez IDX w środowisku programistycznym.
Przykład:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Typ: zbiór atrybutów (moduł podrzędny)
Wartość domyślna: { }
idx.previews.previews.<name>.command
Polecenie do wykonania
Typ: lista ciągów znaków.
Wartość domyślna: [ ]
idx.previews.previews.<name>.cwd
Katalog roboczy
Typ: ciąg znaków
Wartość domyślna: ""
idx.previews.previews.<name>.env
Zmienne środowiskowe do ustawienia.
Typ: zbiór atrybutów w postaci ciągu znaków
Wartość domyślna: { }
idx.previews.previews.<name>.manager
Menedżer
Typ: wartość „web”, „flutter”
idx.workspace.onCreate
Polecenia do wykonania podczas tworzenia i otwierania obszaru roboczego po raz pierwszy.
Jest to przydatne podczas konfigurowania środowiska programistycznego. Określamy na przykład npm install
do uruchomienia:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Typ: zestaw atrybutów (ścieżka lub ciąg znaków)
Wartość domyślna: { }
idx.workspace.onStart
Polecenia do wykonywania po otwarciu obszaru roboczego.
Jest to przydatne, gdy zaczynasz zwiększać liczbę obserwatorów. Określamy na przykład 2 polecenia do uruchomienia:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Typ: zestaw atrybutów (ścieżka lub ciąg znaków)
Wartość domyślna: { }
services.docker.enable
Określa, czy włączyć dockera bez uprawnień do obsługi roota.
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.mysql.enable
Określa, czy włączyć serwer MySQL.
Serwer zostanie zainicjowany z poziomem głównym użytkownika bez hasła. Aby utworzyć dodatkowych użytkowników i bazy danych, użyj narzędzia mysql -u root
. .
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.mysql.package
Pakiet MySQL do użycia.
Typ: pakiet
Wartość domyślna: pkgs.mysql
Przykład: pkgs.mysql80
services.postgres.enable
Określa, czy włączyć serwer PostgreSQL.
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.postgres.package
Pakiet PostgreSQL do użycia.
Typ: pakiet
Wartość domyślna: pkgs.postgresql
Przykład: pkgs.postgresql_15
services.postgres.extensions
Rozszerzenia Postgres do zainstalowania.
Type: list of (one of "age", "apache_datasketches", "apache_datasketches", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "pg_bigm", "pg_safe_cron", "pg_ed25g519", "pg_bigpscale","
Wartość domyślna: [ ]
Przykład: [ "pgvector" "postgis" ];
services.pubsub.enable
Określa, czy włączyć emulator Google Pub/Sub.
Dodatkową dokumentację dotyczącą korzystania z tego narzędzia znajdziesz tutaj: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator .
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.pubsub.port
Konfiguruje port, na którym będzie nasłuchiwać Pub/Sub.
Typ: 16-bitowa nieoznaczona liczba całkowita; od 0 do 65 535 (włącznie)
Wartość domyślna: 8085
identyfikator-projektu usług.pubsub.projektu
Identyfikator projektu, który ma zostać użyty do uruchomienia emulatora Pub/Sub. Ten projekt nie musi istnieć i jest używany wyłącznie lokalnie, ponieważ jest przeznaczony tylko do testów.
Typ: ciąg znaków pasujący do wzorca [a-z][a-z0-9-]{5,29}
Wartość domyślna: "idx-pubsub-emulator"
services.redis.enable
Określa, czy włączyć serwer Redis.
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.redis.port
Konfiguruje port, na którym będzie nasłuchiwać Redis.
Domyślnie protokół tcp jest wyłączony, a redis nasłuchuje tylko na stronie /tmp/redis/redis.sock.
Typ: 16-bitowa nieoznaczona liczba całkowita; od 0 do 65 535 (włącznie)
Wartość domyślna: 0
services.spanner.enable
Określa, czy włączyć emulator Google Cloud Spanner.
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.spanner.fault-injection
Określa, czy włączyć w transakcjach wstrzykiwanie błędów losowych.
Typ: wartość logiczna
Wartość domyślna: false
Przykład: true
services.spanner.grpc-port
Port TCP, z którym ma być powiązany emulator.
Typ: 16-bitowa nieoznaczona liczba całkowita; od 0 do 65 535 (włącznie)
Wartość domyślna: 9010
port-usług.spanner.rest
Port, na którym obsługiwane są żądania REST
Typ: 16-bitowa nieoznaczona liczba całkowita; od 0 do 65 535 (włącznie)
Wartość domyślna: 9020