nixmms
Ir al canal en Telegram
237
Suscriptores
Sin datos24 horas
Sin datos7 días
Sin datos30 días
Archivo de publicaciones
237
Repost from Розробка третьої хвилі
Зараз знову пробую перенести частину роботи у віртуалку.
Цього разу не Ubuntu, а NixOS.
Багато хто з моєї бульбашки юзає Nix devenv, flakes і т.д. Все заради того, щоб залежності проекту жили в скоупі проекту, а не глобально в системі, і без запуску цілої VM. Але це саме ізоляція залежностей, а не ізоляція процесів - nix-шел бачить твої файли і твою мережу, на відміну від віртуалки.
Я ще надто мало знаю, щоб це гарно пояснити, але на прикладі NixOS спробую описати філософію. Хоча варто розділяти: є окремо NixOS як ОС, і є інструменти Nix, які працюють без цілої ОС - на macOS це nix-darwin і home-manager.
NixOS - це дистрибутив Linux, в якому немає звичного пакетного менеджера. Ні apt, ні dnf. Є Nix: ти не ставиш пакет командою, а описуєш його в конфігурації. Немає і звичного /usr/bin - усе лежить у /nix/store, кожен пакет під своїм хешем.
Зате є конфігурація, файлом. Це дозволяє тримати цілу ОС в описаному і відтворюваному стані. Плюс система лишає попередні генерації, тому завжди можна завантажитись у стан "як було до мого експерименту".
Уявіть, що це як поставити npm пакет, і зміни будуть у
package.json і package-lock.json. Тут те саме роблять flake.nix і flake.lock. А тепер масштабуйте це на цілу ОС.
І воно йде ще далі. Кожен пакет описаний рецептом збірки, тому будь-що можна зібрати з сорсів, а будь-яка зміна вхідних даних дає новий шлях у сторі. За замовчуванням, щоправда, готові бінарники просто тягнуться з кешу - локально збирається лише те, чого в кеші немає.
Гаразд, менше цих деталей.
Я вибрав це, щоб мати можливість декларативно описати, що має мати моя віртуалка, і розгорнути її по цьому файлу будь-де (в межах Linux, звісно). В тебе там всі потрібні інструменти: claude code, codex, pi, herdr, кастомні скрипти, будь-що інше.
А весь цей геморой потрібен, щоб спробувати трохи оркеструвати агентів у більші системи. Якщо матиму вдалий досвід - то напишу і про це потім.237
Repost from N/a
i forgot to setup auto-deletion for older nix generations, and now it filled my / partition to 100%
