Перевод цикла Скотта Влащина о том, как типы помогают проектировать программы. Первая глава, она же введение, посвящена тому, как делать дизайн прозрачнее и при этом улучшить корректность.
программист
Nix в пилюлях

Завершён перевод книги Люка Бруно «Nix в пилюлях».
Для удобства читателей, собрал ссылки на все двадцать глав в одной публикации — здесь.
20. Nix в пилюлях: Основные зависимости и хуки

Финальная глава! Люка Бруно рассказывает о секретном оружии Nix — хуках. Их используют, когда больше ничего не помогает, в частности, для кросс-компиляции.
19. Nix в пилюлях: Основы stdenv

Эта глава посвящена деривации stdenv
, благодаря которой собирается большинство пакетов из репозитория nixpkgs
. Она поддерживает инструментарий GCC, GNU make, autotools и другие распространённые системы сборки.
18. Nix в пилюлях: Пути хранения Nix

Для того, чтобы различать пакеты разных версий, Nix хранит их в каталогах с именами, которые содержат хеш. В главе 18 мы разберёмся, как вычисляется этот хеш для файлов, каталогов и tar-архивов.
17. Nix в пилюлях: Переопределение пакетов nixpkgs

Знакомимся с интересным трюком, который позволяет функциональному языку Nix делать то, то, что в императивных пакетных менеджерах делается с пол-пинка.
У них там, правда, dependency hell, а в Nix всё чинно и благородно.
16. Nix в пилюлях: Параметры nixpkgs

Вы начинаете сборку вашего пакета не на пустом месте. Репозиторий nixpkgs
, куда входит ваш пакет, при запуске скрипта сборки передаёт ему параметры. В этой главе мы поговорим о двух основных параметрах: system
и config
.
15. Nix в пилюлях: Поисковые пути Nix

В Nix для поиска дериваций используется переменная окружения NIX_PATH
. Она похожа на PATH
, но есть и важные отличия. Разбираемся с тем, как устроен репозиторий nixpkgs
.
14. Nix в пилюлях: Паттерн проектирования override (переопределение)

Продолжаем изучать паттерны проектирования, используемые при создании пакетов в Nix. В этой пилюле разберёмся с паттерном override
(переопределение).
13. Nix в пилюлях: Паттерн проектирования callPackage

Разбираемся, как работает второй из базовых паттернов Nix — callPackage
. Автоматизируем передачу параметров, сокращаем код репозитория.
12. Nix в пилюлях: Репозитории пакетов и паттерн Входные параметры

Разбираемся в тонкостях разработки пакетов. Изучаем паттерны, которые применяются при создании пакетов и репозиториев в Nix.
История о том, как мы собирали разработчиков Nix в России и… собрали

Несколько месяцев назад я писал, как мы ввязались в авантюру — решили собрать в России программистов со всего мира. Не всех, конечно, а тех, кто занимается пакетным менеджером Nix и операционной системой NixOS.
Разработчики Nix когда-то решили, что делать большой проект без личного общения им не нравится, поэтому раз или два в год они собираются где-то на земном шаре и пишут код вместе. Такие встречи называются спринты. Февральский спринт прошёл в Таиланде, а летом мы провели его в Казани.
Под катом — история о том, что у нас получилось, а что — нет.
11. Nix в пилюлях: Сборщик мусора

Исследуем пакетный менеджер Nix и операционную систему NixOS.
В этой статье разбираемся со сборщиком мусора.
Вычислительные выражения в F#

Цикл из одиннадцати статей Скотта Влащина, посвящённый вычислительным выражениям (computation expressions) в F#.
Вычислительные выражения: Оставшиеся стандартные методы

Скотт Влащин завершает рассказ о вычислительных выражениях в F#.
Сегодня поговорим про методы класса-построителя, с которыми мы ещё не сталкивались.
Вычислительные выражения: Добавляем ленивость

Скотт Влащин продолжает рассказ о вычислительных выражениях в F#.
Сегодня мы узнаем, как создавать ленивые вычислительные выражения.
10. Nix в пилюлях: Разработка с помощью nix-shell

Исследуем пакетный менеджер Nix и операционную систему NixOS.
В этой статье разбираемся с тем, как работает утилита nix-shell
.
Вычислительные выражения: Перегрузка

Скотт Влащин продолжает рассказ о вычислительных выражениях в F#.
Отклонимся от основной темы и поговорим, как в вычислительных выражениях можно использовать перегрузку функций.
9. Nix в пилюлях: Автоматические зависимости времени выполнения

Исследуем пакетный менеджер Nix и операционную систему NixOS.
Ранее мы разработали универсальный скрипт сборки для проектов autotools.
Сегодня мы обратимся к программе GNU hello, чтобы исследовать зависимости времени сборки и времени выполнения.
8. Nix в пилюлях: Универсальные скрипты сборки

Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.
Люка Бруно продолжает свой захватывающий рассказ.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность