NixOS — це оригінальний дистрибутив Linux, побудований на власному менеджері пакетів Nix, що вирішує проблеми керування пакетами та конфігурації власним унікальним способом. Під час інсталяції систем, на яких працюють звичайні дистрибутиви Linux, зазвичай виконують такі дії, як інсталяція самого дистрибутива, а потім інсталяція додаткових спеціальних пакетів, зміна файлів конфігурації тощо, що часто є виснажливим, трудомістким і схильним до помилок процесом.
У NixOS розгортання всієї системи повністю автоматизовано та керується декларативним конфігураційним файлом, який фіксує бажані властивості системи, як-от конфігурація мережі, служби для запуску (наприклад, OpenSSH, веб-сервер Apache), робочий стіл (наприклад, Plasma Desktop, GNOME або Xfce) і пакети для кінцевого користувача (наприклад, Emacs або Mozilla Firefox). За допомогою лише однієї інструкції командного рядка можна розгорнути всю конфігурацію системи. Змінивши файл декларативної конфігурації та повторно запустивши ту саму інструкцію командного рядка, можна оновити наявну конфігурацію.
Конфігурація для розгортання веб-серверу nginx з автоматично оновлюваним SSL сертифікатом та сконфігурованим фаєрволом може виглядати так:
{ config, pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 80 443 ];
security.acme.acceptTerms = true;
security.acme.defaults.email = "admin@myhost.org";
services.nginx.enable = true;
services.nginx.virtualHosts."myhost.org" = {
enableACME = true;
forceSSL = true;
root = "/var/www/myhost.org";
};
}
NixOS також має кілька інших приємних властивостей. Оновлення системи завжди застосовується атомарно, тому немає причин хвилюватися, що, наприклад, вимкнення електроенергії призведе до поломки системи. Кожне оновлення NixOS перед тим як потрапити до користувачів проходить через серію
автоматизованих тестів, гарантуючи його
працездатність. Крім того, старіші конфігурації системи зберігаються за замовчуванням, і якщо оновлення або зміна конфігурації все ж таки щось ламає, ви завжди можете повернутися до будь-якої доступної старішої конфігурації, вибравши її в меню завантаження. Також конфігурації можна відтворити в будь-якій системі, просто надавши декларативний файл конфігурації комусь іншому.
Більше про зміну конфігурації читайте в
офіційній документації.
Доступні конфігураційні опції можна знайти тут:
https://search.nixos.org/optionsНове у версії 22.11NixOS вже відомий як
найсвіжіший дистрибутив і є дистрибутивом з
найбільшою кількістю пакетів.
У цьому випуску додано 16678 нових пакетів, оновлено 14680 та видалено 5874 пакети, які були доступні в 22.05.
Репозиторій NixOS (
nixpkgs) також містить багато модулів, які роблять NixOS такою, якою вона є. Цей випуск приніс
91 нових модулів і видалив 20, додавши 1322 конфігураційних опцій та видаливши 487.
Видатні оновлення пакетів- Менеджер пакетів Nix було оновлено з 2.8.1 до 2.11.0
- OpenSSL тепер за замовчуванням OpenSSL 3, оновлений з 1.1.1
- GNOME оновлено з версії 42 до 43
- KDE Plasma було оновлено з версії 5.24 до 5.26
- Cinnamon оновлено з версії 5.2 до 5.4
- Версію PHP за замовчуванням оновленно з версії 8.0 до 8.1
- Тепер за замовчуванням використовується PHP версії 8.1, замість PHP 8.0
- Perl оновлено з версії 5.34.1 до 5.36, а його основний модуль HTTP::Tiny виправлено для перевірки сертифікатів SSL/TLS за замовчуванням
- Тепер за замовчуванням використовується Python версії 3.10, замість Python 3.9
Читайте докладніше в
оголошенні про випуск.
Приклади використання- Автоматизація велосипедних парковок в Нідерландах:
https://av.tib.eu/media/39625- Програмна основа для корисного навантаження штучних супутників:
https://www.youtube.com/watch?v=RL2xuhU9NhkЛокалізаціяДля локалізації достатньо додати такі рядки до конфігураційного файлу та запустити sudo nixos-rebuild switch (можливо знадобиться релогін):
{ config, pkgs, ... }:
{
console.useXkbConfig = true;
i18n.defaultLocale = "uk_UA.UTF-8";
services.xserver.layout = "us,ua";
time.timeZone = "Europe/Kyiv";
}
ЗавантаженняДистрибутив
доступний для архітектур x86_64, i686 та aarch64. Є як мінімальні образи для інсталяції, так і графічні (Plasma Desktop та GNOME), також є можливість встановлення системи на файлову систему ZFS.
Для любителів всього найсвіжішого є можливість використання
нестабільної редакції (rolling, як в Arch) з тими самими гарантіями безпеки оновлень.
Докладніше про встановлення NixOS читайте в
офіційній документації.
Для оновлення існуючої системи читайте
інструкції з оновлення.