انتقل إلى المحتوى
aiarabicdev

ابحث

ابحث في كل الأدوات...

بيئات التطوير
مجانيMIT for Nixpkgs, LGPL-2.1 for the Nix package managerNixقابل للاستضافة الذاتية

NixOS

الجهاز كله في ملف إعداد واحد، مع قائمة إقلاع مليئة بخيارات التراجع

NixOS توزيعة Linux يُعلَن فيها النظام بأكمله، من الـ bootloader إلى الخدمات إلى الحزم المثبتة، في ملف واحد ويُبنى منه. كل إعادة بناء generation جديد يمكنك الإقلاع إليه، فالإعداد المعطوب يعني إعادة إقلاع لا إعادة تثبيت. والكلفة لغة وظيفية عليك تعلّمها وتخطيط لنظام الملفات لا تتوقعه معظم البرامج المبنية مسبقًا.

يناسبك إن كنت

  • تريد جهازًا يمكن إعادة بنائه من ملف نصي بدل تذكّره
  • تعبث بالنظام بما يكفي لتجعل التراجع المضمون يستحق منحنى تعلّم حقيقيًا
  • تمارس infrastructure as code مسبقًا ونظام التشغيل هو آخر طبقة غير مُعلَنة

انتبه إلى

  • الملف التنفيذي المنزَّل لن يعمل غالبًا، فأدوات المورّدين والـ SDKs تصبح مهام تحزيم صغيرة بدل تثبيت
  • flakes هي ما يستخدمه تقريبًا كل درس وما زالت موسومة بالتجريبية، دون موعد معلن لتثبيتها
  • الـ store يحتفظ بكل generation لم تحذفه، فاستهلاك القرص يُقايَض مباشرة بمدى التراجع الممكن
  • انهارت هيئتان تطوعيتان خلال عام، فريق الإشراف في 2025 وفريق Nixpkgs الأساسي في 2026، وكلاهما أرجع ذلك إلى الحوكمة
  • ما زال wiki غير رسمي وقديم يظهر في نتائج البحث، فتأكد أنك تقرأ الموجود على wiki.nixos.org

التثبيت

Try the package manager first, on any Linux or macOS

curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --daemon

الـ generations هي الميزة، والتحزيم هو الوسيلة

تصف الجهاز الذي تريده ثم تُحقّقه. لا شيء يُعدَّل في مكانه: كل إعادة بناء تنتج generation جديدًا، وتبقى السابقة في قائمة الإقلاع، والترقية المقطوعة تتركك على أحد الجانبين لا في المنتصف. هذه الخاصية هي سبب تحمّل الناس لبقية الأمور، ومن الصعب فعلًا الحصول عليها بأي طريقة أخرى.

تعمل الفكرة نفسها على مستوى أدنى دون اعتماد التوزيعة أصلًا. تمنح الـ shells الخاصة بكل مشروع المستودع سلسلة أدوات مثبّتة الإصدار على أي جهاز Linux أو macOS، وهذه الميزة التي يلتقيها معظم الناس أولًا. تجربتها هناك هي الطريقة العاقلة لمعرفة ما إذا كان هذا النموذج يناسبك.

ضريبتان تدفعهما كل أسبوع

الأولى هي الملفات التنفيذية. لا يوجد مسار مكتبات عادي ولا loader قياسي في المكان الذي تتوقعه البرامج المترجمة، فالملف التنفيذي الذي تنزّله سيرفض العمل غالبًا. الحلول معروفة ومتعددة، لكن كل SDK من مورّد وكل أداة مغلقة المصدر وكل مدير إصدارات للغة يتحول إلى مهمة تحزيم صغيرة لا إلى تثبيت.

الثانية هي اللغة. وظيفية وذات تقييم كسول، أي أن الخطأ يظهر غالبًا بعيدًا جدًا عن السطر الذي سببه، وقراءة هذه الـ traces مهارة تكتسبها لا شيء تعرفه مسبقًا. ويجدر بالذكر أن flakes، الآلية التي يستخدمها تقريبًا كل درس وقالب حالي، ما زالت رسميًا تجريبية بعد سنوات من ظهورها، دون موعد معلن لتغيير ذلك.

استمر الكود في الصدور بينما تفككت المؤسسات

هذا هو الجزء الذي لن تخبرك به صفحة المشروع. تنحّى المؤسس في 2024 بعد رسالة مفتوحة، واستقال معظم فريق الإشراف في سبتمبر 2025 مشيرين إلى تدخل من لجنة التوجيه، وفي أغسطس 2026 حُلّ فريق Nixpkgs الأساسي للأسباب المعلنة نفسها. ويوجد الآن fork لمدير الحزم خارج سيطرة المؤسسة صراحةً.

في المقابل، صدرت الإصدارات في مواعيدها طوال الوقت واستمرت مجموعة الحزم في النمو، فهذا ليس مشروعًا في ورطة تقنية. إنه مشروع انهارت هياكله التطوعية مرتين في عام واحد بسبب الشكوى نفسها، وهذا اعتبار حقيقي إن كنت تطلب من مؤسسة أن تعتمده معيارًا.

آخر تحقق: .md