Lesson 23 / الدرس 23

Project: set up and document an environment / مشروع: جهّز بيئة عمل ووثّقها

The last lesson introduces nothing. Build the working environment you will actually use, then write the document that would let someone else — or you, on a new machine — rebuild it from nothing.

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

Everything in this course was a piece of one thing: knowing where you are, moving files about, controlling what runs and where it comes from. This project puts the pieces together into a setup you keep, and a document that proves you understood it — because a setup nobody can reproduce is a setup you will lose with the machine.

What to build

  1. A directory structure for your own work, made with mkdir -p, that you can defend — say why it is shaped that way. Lessons 4 and 6.
  2. A startup file with your exported variables, at least four aliases and one function, each earning its place. Lessons 16 and 18.
  3. A PATH you understand — write out what is on it, in order, and what each directory provides. Lesson 17.
  4. The tools you need, installed with your package manager and listed with their versions. Lesson 20.
  5. An SSH key pair, with the private one at permission 600 and a note on where the public one has been sent. Lessons 10 and 21.
  6. One pipeline of your own that answers a question you actually have about your machine. Lessons 9, 13 and 14.
## Aliases

    alias ll='ls -lah'

Why: I check permissions constantly, and -a shows the dotfiles that
matter on a server. Verified with: type ll
The shape of one entry in the document. Every item gets the same three parts: what it is, why it is there, and how you checked it works. Run the demonstration for the full outline to write against.

The section that makes it worth writing

End with the rebuild instructions: the ordered list of commands that would take a brand new machine to the state yours is in. This is the part that turns notes into something useful, and it is also the honest test of the rest — if you cannot write the steps, you do not yet know what you changed.

You are finished when...How to check
All six parts are thereCount them, plus the rebuild list
Every item says why, not only whatNo entry is a bare command with no reason
Everything was verified, not assumedEach has a command you ran to confirm it
The rebuild list is genuinely orderedA reader could follow it top to bottom
Nothing private is in itSearch for "key", "token", "password"

The fourth row is the one to take seriously. Read your rebuild list as though you had never seen this machine — anything you would have to guess at is a step you have not written yet.

Try it live / جرّب بنفسك

Preview / المعاينة

Check yourself / اختبر نفسك

1. Why does the document end with rebuild instructions?

2. Where do secrets most easily end up without anyone deciding to put them there?

3. What makes an entry in the document worth having?

Your task / مهمتك

Build the environment and write the document. All six parts, each saying what it is, why it is there and how you verified it, then the ordered list of commands that would rebuild the whole thing on a new machine. Redact anything private before you hand it in.

ابنِ البيئة واكتب المستند. الأجزاء الستة كلها، كل واحد يقول ما هو ولماذا هو هناك وكيف تحققت منه، ثم القائمة المرتبة من الأوامر التي تعيد بناء كل شيء على جهاز جديد. واحذف كل ما هو خاص قبل التسليم.

  • All six parts, each with what, why and how you verified it الأجزاء الستة، لكل واحد ما ولماذا وكيف تحققت
  • A rebuild list a stranger could follow top to bottom قائمة إعادة بناء يستطيع غريب اتباعها من أولها لآخرها
  • Every claim backed by a command you actually ran كل ادعاء مسنود بأمر نفّذته فعلًا
  • Nothing private left in — search for key, token, password لم يبق شيء خاص — ابحث عن key وtoken وpassword
How do you want to submit? / كيف تريد التسليم؟