100 روز کد: مرگ تابستان در جزیره NixOS

 عکس پروفایل نویسنده @> قابل خواندن 42 = 6 =” “>

نوازنده ای ، در حال یادگیری هاسکل در NixOS

ما صد روز در قسمت Lambda Quadrant از کهکشان هستیم و بر روی فضای عمیق Moonad ، خودم و خدمه من ، پارتی و عشق بازی من ، پسر بچه و یک گربه. ما خواص و روابط موجودات انتزاعی Haskell را مطالعه می کنیم ، با لذت بردن از مراقبه پر جنب و جوش برنامه نویسی عملکردی. این کار عمیقی است و ما به زمان و نوبت نیاز داریم. ما همچنین فصل دوم Star Trek Discovery را تماشا می کنیم و از دیدن ستاره های درخشان جهان آن لذت می بریم.

> من خودم را درگیر این چالش می کنم ، گزارش آن را در زمان واقعی ، مستند کردن کل تجربه ، به یادگیری من کمک می کند ، حافظه من را عمیق تر و عمیق تر می کند ، من گزارش های روزانه ، پست های وبلاگ ، مانند یک ژورنال عمومی ، یک منبع خلاق ، مانند یک ابزار آموزشی می نویسم.

آخرین باری که من در مورد اپراتور پوشیده Haskell از برنامه عملکرد ، فضای سفید بدنام نوشتم. در تمام آن مدت ما به جستجو از طریق سیستم NixOS ، یکی از توزیع های پیشرفته کاربر لینوکس ادامه می دادیم و فکر می کردیم یک تجربه کاملاً همه جانبه از یادگیری نحوه بیان معانی با یک کد کاملاً کاربردی را جستجو می کنیم. آیا این یک رویا است ، نوعی unimatrix ، رابطه ای در زمان و مکان ، شکاف زمانی که هر چیزی ممکن است ، جایی که هیچ دروازه و قفلی وجود ندارد ، اما بزرگراه های آزاد و آزاد وجود دارد ، ساخته شده توسط تفکر عملکردی؟

من احساس هیجان و الهام کردم که باید صد روز آگاهانه را صرف کاوش در NixOS کنم ، و در مورد کل اکوسیستم کیهانی شگفت انگیز آن بنویسم – ابزارهای بهم پیوسته ، نحوه تعامل با آن ، نحوه مدیریت بسته nix با استفاده از زبان بیان Nix ، واحدهای بسته جهان NixOS را می سازد.

اگرچه یک زبان کاملاً تایپی نیست ، اما به نظر من یک زبان کاملاً واضح به عنوان یک نامزد بسیار جالب برای صد روز کد است. و سپس یک Dhall فوق العاده جالب وجود دارد ، یک زبان پیکربندی قابل برنامه ریزی ، که می تواند عبارات nix را با انواع مختلف برچسب گذاری کند.

موارد بسیار بیشتری وجود دارد ، من تأمل می کنم که چگونه هرگز احساس نکردم که اینقدر با سیستم درگیر شوم. حتی پس از چند سال استفاده از Archlinux ، ضرورتاً در امتداد محور خود چرخیدن ، من اغلب به راحتی از سر راحتی به سرزمین اوبونتو برمی گشتم ، اما چیز دیگری در کمین آن بود ، من نیز آن را احساس کردم.

رد مسئولیت ، باید بنویسم که چگونه نیمی از سال گذشته NixOS را کمی ناامید و خسته کردم ، زیرا نتوانستم تنظیم ابزارهای برنامه نویسی صوتی را مانند انواع از ترکیب کننده صدا به نام SuperCollider و Tidal cycles ، کتابخانه برنامه نویسی الگوریتمی بسیار خوبی ، DSL پیاده سازی شده در Haskell ، یک زبان خاص دامنه برای دستکاری صدا.

سپس کتابخانه Haskell دیگری با نام Euterpea وجود داشت که به نوعی نمی توان از آن استناد کرد. الهه ترجیح داد صدایی را بر زبان نیاورد. آن وقت من چه کار کردم؟ به طور طبیعی و آرام آرام با گذشت زمان متوجه شدم که مدتی است که تاریخ انتشار Ubuntu LTS 20.04 ، نسخه طولانی مدت منتشر را چشم پوشی کرده ام. هنوز هم در nix-shell که ghci را فرا می خواند ، فرا گرفته است و یاد می گیرد از طریق سیستم من با مصرف قرص های nix مبارزه کنم.

من پارتیشن بندی فایل پیکربندی خود را یاد گرفتم که در آن سیستم NixOS خود را تعریف می کنم ، آن را با emacs -nw configuration.nix باز می کنم ، آخرین ماموریت استخراج منطق پیکربندی به چندین ماژول و پیوند دادن آنها در تنظیمات configuration.nix ، به عنوان مثال یکی از آنها xserver.nix بود که حاوی تعاریفی در مورد تجربه بصری من ، قلم ها ، مدیر پنجره ، محیط دسک تاپ کار من بود.

اما اول اینکه از خودم جلوتر نروم چگونه NixOS من را پیدا کرد و چقدر هیجان زده شدم وقتی از مدیر بسته عملکردی مطلع شدم ، بالاخره قادر به به طور اعلامی سیستم لینوکس خود را کشف کنید ، احساس قدرت می کنم ، مانند اینکه ابزارهای جدیدی به من تحویل داده شده است. این بار می توانم به اصل آن پی ببرم ، برنامه ریزی شده آن شفاف است ،
برای جهان باز ، منحصر به فرد ، همیشه قابل استفاده ، در دسترس است.

آیا در این چالش کد هدفی وجود دارد؟ آیا مأموریت 100 روزه در فضای NixOS کافی نیست؟

  • زبان بیان Nix را مطالعه کنید
  • تنظیمات صوتی را پیکربندی کنید؟
  • یادگیری مدیریت بسته nixpkgs
  • ساخت Haskell با Nix
  • ایجاد یک وبلاگ با Haskell و Nix
  • حداقل یک سهم در مخزن nixpkgs داشته باشید
  • همه موارد را مستند کنید < / li>
  • بیشتر فکر کنید و با ویرایش یاد بگیرید
  • چه بیشتر؟ زبان Dhall را بررسی کنید
  • هیچ عجله ای ندارید ، بدون هیچ زحمتی کاوش کنید
  • نوشتن لیست های طولانی را متوقف کنید؟

بعد از بازگشت من از دنیای غرب بود ، لحظه ای شدید که من هنگام کشف NixOS به یاد می آورم ، درست وقتی آن را دیدم ، وقتی شروع به < br> با دیدن آن که بر روی صورت من آشکار می شود ، به مفهوم و تسکین آن پی می برم.

اولین باری که در مورد NixOS می شنوم ، مدتی قبل از اینکه با خدمه خود به فضا اعزام شوم ، در بالکن طبقه 12 قرار دارم و مادرم در حال مرور دریا و باغ ها است ، ما احتمالاً قهوه می نوشند ، من فکر می کنم او دوست دارد که آنها را اغلب و کوتاه بخورد.

من در حال خواندن چاپ مقاله پایان نامه دکترا مدیر بسته عملکردی Nix تا قسمت های ماتی هستم ، اما آنها نیز عالی هستند ، و سعی در پیگیری آنها بسیار جذاب است. هنگام خواندن درباره NixOS احساس الهام می کنم. این مرا به یاد لحظات خوشی می اندازد که دوازده ساله بودم و هنوز بدون کامپیوتر ، با دیدن مجله رایانه “Bug” ماهانه جلوی پنگوئن لینوکس Tux را می گرفتم.

این داستانهای جالب و جالب صفحه ویراستار Emacs ، ریچارد استالمن ، Gnome ، KDE و مصاحبه با یک نگهدارنده Slackware را دوباره می خوانم. من از بچگی مجلات رایانه ای را دوست داشتم و از آنجا که دسترسی به رایانه نداشتم برای من معنی زیادی داشتند. بوی آنها را نیز حس می کردم ، آه ، بوی تازه افتتاح یک مجله کامپیوتر جدید را به خاطر می آورم ، که در پلاستیک پیچیده شده بود ، رایحه غنی مصنوعی بود.

همچنین در https: // dev منتشر شده است .to / dooygoy / death-of-summer-in-the-island-of-nixos-season-1-episode-1-51jd