Ta strona zawiera szczegółowe informacje o schemacie środowiska roboczego
. Ten plik zawsze powinien znajdować się w lokalizacji .idx/dev.nix
.
Aby dowiedzieć się więcej o języku Nix, zapoznaj się z oficjalnym językiem Nix .
przesyłki
Pakiety do zainstalowania w środowisku.
Aby wybrać pakiety do zainstalowania, możesz użyć argumentu pkgs
. Na przykład:
pkgs.python3
Pamiętaj, że zawartość pola pkgs
zależy od wybranego
Opcja kanału channel
.
Przykład:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Dostępne pakiety możesz wyszukać tutaj: stable-23.11 lub niestabilny.
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. Środowisko może być szczególnie przydatny, jeśli aplikacja wymaga określonego zestawu zmiennych.
Przykład:
{pkgs, ...}: {
env = {
HELLO = "world";
PATH = ["/home/user/somepath"]; # use this to update the PATH env var
};
}
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 na
Otwórz rejestr VSX i wpisz go w pliku dev.nix
.
autor: ${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 i odświeżanie aplikacji podczas ich opracowywania.
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. Na przykład
określają 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. Na przykład określamy tutaj Dwa 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 zostaje zainicjowany z poziomem głównym użytkownika bez hasła. Aby utworzyć dodatkowe
użytkowników i tworzenie baz danych używają interfejsu 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.
Typ: lista (jeden z wartości „wiek”, „apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "kropki", "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_podobieństwo", "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")
Wartość domyślna: [ ]
Przykład: [ "pgvector" "postgis" ];
.
services.pubsub.enable
Określa, czy włączyć emulator Google Pub/Sub.
Więcej dokumentacji na temat korzystania z emulatora 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 (oba włącznie)
Wartość domyślna: 8085
services.pubsub.project-id
Identyfikator projektu, który ma zostać użyty do uruchomienia emulatora Pub/Sub. Ten projekt jest przeznaczony tylko do testów. nie musi istnieć i jest używany wyłącznie lokalnie.
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 (oba 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 (oba włącznie)
Wartość domyślna: 9010
services.spanner.rest-port
Port, na którym obsługiwane są żądania REST
Typ: 16-bitowa nieoznaczona liczba całkowita; od 0 do 65 535 (oba włącznie)
Wartość domyślna: 9020