Воспроизводимое изолированное окружение с Nix и DevContainers

Как фулстек разработчику, мне доводилось работать с проектами на совершенно разных технологиях. Как правило, нужно было поправить небольшой баг или сделать небольшую фичу. Для задач такого разряда стек технологий обычно не имеет значения: отладка примерно одинаковая что на JavaScript, что на Haskell, Go или Python.
Написать немного кода мне, в общем-то, никогда не было сложно на любом языке, с которым я работал.
Но вот что всегда было настоящей проблемой — это запустить и протестировать проект. На это запросто уходили дни: найти нужные версии компиляторов/интерпретаторов, дебаггера, пакетного менеджера и всякого сопутствующего тулинга.
Я устал от этого, и придумал, как больше никогда в жизни не устанавливать тулинг вручную.

