Об этом проекте
devenv создает воспроизводимые среды разработки на основе Nix, настраиваемые через devenv.nix и devenv.yaml. Он ориентирован на быструю итерацию: инкрементальное кэширование вычислений Nix, терминальный интерфейс с живым прогрессом сборки и нативная перезагрузка оболочки, которая пересобирает среду в фоновом режиме, пока оболочка остается интерактивной. Встроенный LSP на основе nixd предоставляет автодополнение, всплывающую документацию и переход к определению для devenv.nix.
Среды можно создавать ad hoc из CLI без файлов конфигурации или загружать из других репозиториев с помощью --from, а параметры конфигурации можно переопределять типизированными значениями, например --option services.postgres.enable:bool true.
Покрытие включает более 50 языков с компиляторами, LSP-серверами, форматтерами, линтерами и выбором версий; более 100 000 пакетов из Nixpkgs для Linux, macOS, x64 и ARM64, включая WSL2; и более 40 сервисов, таких как PostgreSQL, Redis, MySQL, MongoDB, Elasticsearch и Caddy.
Нативный менеджер процессов, написанный на Rust, обрабатывает порядок зависимостей, политики перезапуска, проверки готовности (exec, HTTP, systemd notify), активацию сокетов, сторожевые сигналы и отслеживание файлов, а также автоматическое выделение свободных портов. Задачи поддерживают выполнение на основе DAG, кэширование, параллельный запуск и пространства имен, а скрипты выполняются с доступом ко всем пакетам среды.
Возможности упаковки и развертывания включают сборку OCI-контейнеров из среды без Docker, выходные данные для упаковки приложений с помощью языковых инструментов и поддержку polyrepo для ссылок на выходные данные и параметры в разных репозиториях. Композиция обрабатывается через профили, импорты и закрепленные или переопределенные входные данные.
Интеграции охватывают SecretSpec для декларативного управления секретами, git-хуки через git-hooks.nix, тестирование с помощью devenv test, которое автоматически запускает и останавливает процессы, direnv для автоматической активации оболочки, MCP-сервер для интеграции с ИИ-ассистентами и генерацию среды на основе ИИ из описания на естественном языке.
CLI предлагает команды, включая init, generate, shell, update, search, info, up, processes, tasks, test, container, inputs, changelogs, repl, gc, build, eval, direnvrc, version, mcp и lsp, а также опции для параллельности сборки Nix, герметичности, автономного режима, профилей, кэширования вычислений и трассировки вывода.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.