Веб-приложение на Nix: эксперимент «почему бы и нет»

Nix — это пакетный менеджер и система воспроизводимых сборок. Но конфигурация пакетов пишется на функциональном языке Nix, который встроен в сам менеджер. Поскольку Nix — полноценный язык, его можно выполнять без сборки через интерпретатор. Автор блога Replit решил проверить, насколько далеко можно зайти: написать веб-приложение на Nix.
Прямой запуск веб-сервера, который выполняет Nix-код «из коробки», невозможен — Nix не умеет слушать порт и обрабатывать HTTP-запросы. Решение: вызывать nix eval из обычного веб-сервера. Так и делают в туториале: создают Repl на Replit с языком Nix (beta), настраивают replit.nix и поднимают минимальный «Hello, World!» через связку сервер → nix eval.
Для тех, кто учит Nix или хочет потестировать его в неожиданном контексте — любопытный эксперимент. Полный разбор и код — в материале.