بسم الله الرحمن الرحيم
أود مشاركة تجربتي مع نظام تشغيل NixOS خلال الأسبوعين الماضيين و أوضح من خلالها الأمور الجيدة و السيئة فيه
بدايةً NixOS هو نظام تشغيل يستخدم نواة لينكس و يستخدم مدير حزم Nix لإدارة جميع اعدادات نظام التشغيل من أبسط الأمور في .config حتى تكوين خدمات مؤتمتة و استخدامها بطريقة قابلة لإعادة الانشاء (reproducible).
يمكن إنشاء نسخة مخصصة و قابلة لإعادة الانشاء من NixOS عبر ملف واحد موجود في
/etc/nixos/configuration.nix
يمكن من خلال هذا الملف تعيين البرامج المثبتة بالنسبة للنظام و المستخدم بالإضافة لتفعيل الخدمات و البرامج و تخصيص اعداداتها حسب ما يطلبه المستخدم و يمكن بعدها استخدام
nixos-rebuild switch
يبدو الأمر جميل، و هو كذلك و أنا معجب بفكرة أن يكون لديك نظام تشغيل مستقر بإمكانك تعديله بشكل كامل عبر تغير ملف واحد بدل التعديل على العديد من الملفات في توزيعات لينكس الأخرى أو حتى BSD
هناك ما يقارب ال120 ألف حزمة و يزيد في nixpkgs منصة حزم نيكس و هذا كم كبير من الحزم!
لذلك أراها جيدة… إلا اذا تكلمنا عن جانب التطوير
معضلة التطوير أو محاولة الانتقال لشيء جديد صعب جدا، NixOS لا يتمتع بشكل افتراضي بFHS و الذي يعود أصله لأيام UNIX من الثمانينات
بمعنى آخر افتراضيا NixOS لايمتلك سوى
/var لتخزين متغيرات بعض البرامج (مثلا برمجيات فلاتباك او سجلات البرامج الدائمة)
/nix والذي يتضمن /nix/store يحتوي على جميع البرامج الذي تم تثبيتها
/etc و الذي يتضمن إعدادات NixOS
فقط ولا يوجد شيء آخر
هذا الاختلاف الجذري يسبب مشاكل لجميع البرامج المبنية ديناميكيا (كما في جميع نظم التشغيل الأخرى تقريبا) و يتطلب منك الأمر اصلاح هذه البرامج إما يدويا أو عبر أدوات مختلفة كnix-ld او steam-run
من الممكن أن تتفادى هذه المشاكل عبر استخدام المكتبة الواسعة من البرمجيات في nixpkgs لكن هذا لن يحل مشكلتك في حال أردت استخدام برنامج مختلف أو كتبت برنامج بنفسك في منصة أخرى
خلاصة الحديث، إذا أردت أن تستخدم NixOS في مجال ثابت كتطبيقات مكتبية،او مشاهدة يوتيوب، او تثبيت بعض الألعاب، او الاعتماد جزئيا أو كليا على flatpak كمنصة لاستخدام البرامج ولا تقوم بتعديل النظام بشكل مستمر فلن تواجه الكثير من المشاكل، أما بالنسبة لمطور أو شخص يستخدم أدوات التطوير بشكل مستمر سيواجه مشاكل بين الحين و الآخر و اﻷفضل الاعتماد على مدير الحزم Nix بشكل ثانوي بتوزيعة لينكس عادية كأرتش و فيدورا و ديبيان و غيرها
و من تجربتي: فأنصح بعدم تثبيتها طالما انه ليس لديك الوقت للتعامل مع لغة برمجة جديدة لإدارة تخصيصاتك للبرامج، وطالما أنه لا يمكن لك الاستغناء عن النظام القديم للتعامل مع الحزم.
و من رأيي الشخصي المتواضع فإن NixOS لها مستقبل جيد، لكن ليس في الوقت الحالي حيث أنه لا يزال يعتبر Nix Niche و لم يتم ترك أمور مثل automake make ninja etc…
التوزيعة تستحق الزيارة، لكن لا ترتكب خطأي و تثبتها مباشرة على حاسوبك و تنصدم ![]()

