Обновить
8K+
2
Виктор@AlexandrBelkov

Пользователь

10
Рейтинг
3
Подписчики
Хабр КарьераХабр Карьера
Отправить сообщение

Простая декларативная установка NixOS, часть 3 — создание flake.nix, две конфигурации и истинная воспроизводимость

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели10K

Эта статья является прямым продолжением этой статьи, где мы подробно разбирали, что такое флейки и как работает установка пакетов в Nix.

Что мы будем делать сегодня?

Сегодня мы приступим к практике, напишем свой собственный flake.nix, а также рассмотрим несколько интересных функций механики флейков.

Какой практический результат у нас будет в конце?

1. Две конфигурации под два разных хоста(условно server_host и home_host) с разной разметкой дисков и разными настройками.

2. Доступ к двум каналам для скачивания пакетов: стабильному и нестабильному.

3. Полностью воспроизводимая конфигурация(вплоть до версий всех наших пакетов)

В конце концов у нас будет полностью воспроизводимая и рабочая конфигурация операционной системы. Это значит, что мы в следующий раз, зайдя с другого ПК, сможем выгрузить нашу конфигурацию из гитхаба, сделать nixos-install и просто ждать, пока наша система не установится.

Читать далее

Простая декларативная установка NixOS, часть 2.5 (теория) — Флейки и nixpkgs

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели7.3K

Эта статья является прямым продолжением этой статьи, посвящённой декларативной разметке диска через disko.

Что мы будем делать сегодня?

Мы с вами разберёмся, что такое флейки, что они из себя представляют, а вместе с этим разберёмся с тем, как Nix устанавливает и хранит пакеты.

Это ЧИСТО ТЕОРЕТИЧЕСКАЯ статья, а не практическая. Иными словами - мы не будем сегодня писать никаких конфигураций или команд. Наша задача на данный момент - разобраться, что такое флейки и какую проблему они решают, прежде чем перейти к непосредственной работе с ними.

Что мы узнаем?

1. Что такое флейки, зачем они нужны и чем отличаются от стандартного nix-channels

2. Как работает установка и хранение пакетов в NixOs

Читать далее

Простая декларативная установка NixOs, часть 1 — Настройка конфигурации

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели8.6K

Эта статья является прямым продолжением этой статьи, посвящённой декларативной разметке диска через disko.

Что мы будем делать сегодня?

Мы с вами составим минимально-рабочий конфиг для нашей системы. Под "минимально-рабочим" я имею в виду: без графического окружения(XFCE, GNOME и прочее), углублённых настроек(установка zsh, например). Мы настроим: загрузчик, сеть, пользователя, звук, локализацию, подключим наш файл disko-config.nix.

Читать далее

Декларативная разметка дисков в NixOS с помощью Disko: от конфига до готовой ФС

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7K

Каждый, кто хоть раз устанавливал Linux вручную, знает этот ритуал: загрузиться с Live‑образа, запустить fdisk или parted, создать таблицу разделов, отформатировать их в btrfs/ext4, создать субтома, а затем вручную примонтировать всё это в /mnt.

Конечно, такой подход можно использовать и при установке NixOs. Но вопрос — зачем?

Это не только полностью противоречит самой сути NixOS — системы, где всё должно быть описано декларативно в коде, но и существенно влияет вообще на удобство использования этой системы в будущем. Стоит вам захотеть развернуть точно такую же конфигурацию на другом сервере или ноутбуке, и весь ручной процесс разметки приходится повторять заново, вспоминая точные флаги монтирования вместо того, чтобы написать всего лишь одну команду.

В этой статье мы этим вопросом и займёмся, а поможет нам в этом известная утилита disko. Мы напишем чистый декларативный конфигурационный файл в ДВУХ вариантах:

Читать далее

Информация

В рейтинге
700-й
Зарегистрирован
Активность

Специализация

DevOps-инженер, NixOs
Git
Docker
Linux
Bash