پرش به محتویات

دات‌فایل‌ها

OmarOS عمدتاً از طریق به‌اصطلاح دات‌فایل‌هایی که در ~/.config زندگی می‌کنند پیکربندی می‌شود. آن‌ها فایل‌های شما برای تغییرات شما در نظر گرفته می‌شوند. فایل‌هایی که در /usr/share/omaros زندگی می‌کنند متعلق به خود OmarOS هستند، و نباید با آن‌ها ور بروید. اگر نیاز دارید چیزی در /usr/share/omaros تغییر دهید، باید به جای آن مقدار را در ~/.config بازنویسی کنید.

پیکربندی‌های کلیدی را می‌توان مستقیم از منوی OmarOS (Super + Space) ویرایش کرد، مانند تنظیمات > Monitors، تنظیمات > Keybindings، تنظیمات > Input و تنظیمات > Config > [file]. وقتی این‌طور انجام می‌دهید، هر فرایندی که پس از ویرایش پیکربندی نیاز به راه‌اندازی مجدد دارد به‌طور خودکار پس از خروج از ویرایشگر خواهد شد (Neovim به‌طور پیش‌فرض — :wq، به یاد داشته باشید! — اما می‌توانید آن را از طریق تنظیمات > Defaults > Editor تغییر دهید).

در اینجا فهرستی از فایل‌های کلیدی در ~/.config و آنچه کنترل می‌کنند آمده است:

File Purpose
~/.config/hypr/hyprland.lua پیکربندی اصلی Hyprland. پیش‌فرض‌های OmarOS به‌علاوه فایل‌های بازنویسی شما در زیر را بار می‌کند. درباره پیکربندی‌های Hyprland بیشتر بدانید.
~/.config/hypr/bindings.lua میانبرهای خود شما و بازنویسی‌های پیش‌فرض‌ها.
~/.config/hypr/monitors.lua مانیتورها، وضوح و موقعیت شما را کنترل می‌کند.
~/.config/hypr/input.lua چیدمان صفحه‌کلید، ماوس و تنظیمات تاچ‌پد شما را کنترل می‌کند.
~/.config/hypr/looknfeel.lua فاصله‌ها، حاشیه‌ها، پویانمایی‌ها و بقیه ظاهر را کنترل می‌کند.
~/.config/hypr/autostart.lua فرایندهای اضافی شروع‌شده با نشست را کنترل می‌کند.
~/.config/omaros/shell.json شل OmarOS را کنترل می‌کند: موقعیت نوار، چیدمان و ویجت‌ها، به‌علاوه محافظ صفحه، قفل و زمان‌بندی‌های بیکار.
~/.config/foot/foot.ini ترمینال شما را کنترل می‌کند (foot پیش‌فرض است).
~/.XCompose ایموجی دسترسی سریع و تکمیل خودکار نام/ایمیل شما را تعریف می‌کند. مطمئن شوید پس از انجام تغییرات omaros-restart-xcompose را اجرا کنید.

اگر در نهایت تغییرات زیادی برای تنظیم راه‌اندازی خود انجام دهید، ایده خوبی است که از همه این دات‌فایل‌ها پشتیبان بگیرید. Stow راهی عالی برای انجام آن است.

شروع برنامه‌های خود با نشست

اگر می‌خواهید چیزی هر بار که وارد می‌شوید اجرا شود — یک دیمون همگام‌سازی، یک برنامه گپ، اسکریپت خودتان — آن را در ~/.config/hypr/autostart.lua بگذارید:

o.launch_on_start("my-service")

این دستور را به‌عنوان بخشی از نشست شروع می‌کند، پس وقتی دوباره خارج می‌شوید به‌درستی پاک‌سازی می‌شود.

اجرای اسکریپت‌ها روی رویدادهای سیستم

OmarOS در تعداد کمی از لحظات قلاب‌هایی شلیک می‌کند، و می‌توانید اسکریپت‌های خود را به آن‌ها آویزان کنید. آن‌ها در ~/.config/omaros/hooks/<event>.d/ زندگی می‌کنند، یک پوشه به ازای هر رویداد، و هر فایل اجرایی در آنجا وقتی رویداد اتفاق می‌افتد اجرا می‌شود:

Event When it runs
post-boot درست پس از شروع دسکتاپ
post-update نزدیک پایان omaros update، پس از بسته‌ها، مهاجرت‌ها و راه‌اندازی مجدد خدمات، پیش از به‌روزرسانی ابزارهای mise
pre-refresh-pacman پس از همگام‌سازی دوباره پیکربندی بسته توسط omaros refresh pacman، پیش از به‌روزرسانی بسته‌ها؛ یک جابه‌جایی کانال آن را در طول همان گام تازه‌سازی اجرا می‌کند
theme-set پس از تغییر تم (نام تم در $1)
font-set پس از تغییر قلم (نام قلم در $1)
battery-low وقتی باتری کم می‌شود (درصد در $1)

قلاب pre-refresh-pacman جایی است که مخازن سفارشی یا خطوط IgnorePkg تعلق دارند، چون پیش از تراکنش بسته اجرا می‌شود. هر دو قلاب مرتبط با به‌روزرسانی به‌عنوان کاربر شما پس از پاک کردن مجوز sudo کش‌شده خود توسط OmarOS اجرا می‌شوند، پس قلابی که از sudo استفاده می‌کند به مجوز خودش نیاز دارد و ممکن است گذرواژه شما را بپرسد.

هر یک از آن پوشه‌ها از قبل یک فایل .sample دارد که شکل یک قلاب را نشان می‌دهد — .sample را از نام حذف کنید تا آن را به کار بیندازید. برای نصب اسکریپتی که جای دیگری نوشته‌اید، از omaros hook install post-boot ~/my-hook استفاده کنید، که آن را کپی می‌کند و اجرایی می‌کند.

افزودن ورودی‌های منوی خود

منوی OmarOS (Super + Space) را می‌توان با ردیف‌های خود با ویرایش ~/.config/omaros/extensions/omaros-menu.jsonc گسترش داد. ورودی‌ها با یک شناسه نقطه‌دار کلیدگذاری می‌شوند، و شناسه همان چیزی است که آن‌ها را در درخت قرار می‌دهد، پس personal روی منوی ریشه ظاهر می‌شود و personal.notes داخل آن ظاهر می‌شود:

"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"󰎞","label":"Notes","action":"omaros-launch-editor ~/notes"},

از یک شناسه موجود دوباره استفاده کنید و آن ردیف را به جای افزودن یک ردیف جدید بازنویسی می‌کنید. فایل با همه فیلدهای موجود مستندشده به‌صورت نظر ارائه می‌شود.

افزودن خروجی‌ها، توابع و نام‌های مستعار شل خود

OmarOS با کلی نام مستعار ارگونومیک و توابع مفید ارائه می‌شود، اما بسیار رایج است که بخواهید مال خود را اضافه کنید. باید هم نام‌های مستعار، هم توابع و هم خروجی‌ها را در ~/.bashrc اضافه کنید. این فایل در به‌روزرسانی‌ها بازنویسی نمی‌شود. اگر می‌خواهید هر یک از پیش‌فرض‌های OmarOS را تغییر دهید، همچنین می‌توانید آن‌ها را با خیال راحت اینجا اضافه کنید.

تغییر فایل‌های داخلی OmarOS

ببینید، این رایانه شماست. می‌توانید هر چه می‌خواهید با آن انجام دهید، اما توصیه نمی‌کنم مستقیم تغییراتی در فایل‌های /usr/share/omaros انجام دهید. آن‌ها متعلق به بسته pacman OmarOS هستند، پس تغییرات شما به‌سادگی در به‌روزرسانی بعدی بازنویسی می‌شوند. بهتر است فقط هر مقدار پیش‌فرضی را که دوست ندارید در پوشه ~/.config/* بازنویسی کنید.

تقریباً هر چیزی را این‌طور می‌توانید تغییر دهید، مانند میانبرهای پیش‌فرض. فقط ~/.config/hypr/bindings.lua را ویرایش کنید تا، مثلاً، Obsidian را با Joplin جایگزین کنید (با omaros-pkg-add joplin-bin نصب کنید):

o.rebind("SUPER + SHIFT + O", "Joplin", "joplin-desktop")

o.rebind میانبر موجود را پیش از افزودن جایگزین آن حذف می‌کند. همان آرگومان‌های o.bind را می‌گیرد، از جمله یاورهای اجرا و گزینه‌های میانبر. از o.bind برای افزودن یک میانبر استفاده کنید، یا از hl.unbind برای حذف یکی بدون جایگزینی آن.

اگر اصرار دارید روی فایل‌های داخلی OmarOS هک کنید، از طریق به‌روزرسانی > Channel > Dev به کانال dev جابه‌جا شوید. این OmarOS را به یک چک‌اوت git از کد منبع در ~/omaros پیوند می‌دهد، که آزاد هستید تا دلتان می‌خواهد تغییر دهید. هیچ‌کس اینجا نیست که به شما بگوید چه کار کنید!

بازنشانی هر تغییراتی

اگر در نهایت پیکربندی‌ها را به‌هم بریزید، همیشه می‌توانید آن‌ها را از طریق به‌روزرسانی > Config در منوی OmarOS به پیش‌فرض‌ها بازگردانید. یا با اجرای omaros reinstall configs برای بازنشانی همه چیز.