কনটেন্টে যান

ডটফাইল

OmarOS প্রাথমিকভাবে ~/.config-এ থাকা তথাকথিত ডটফাইলের মাধ্যমে কনফিগার করা হয়। সেগুলো আপনার বদলের জন্য আপনার ফাইল বলে গণ্য করা হয়। /usr/share/omaros-তে থাকা ফাইলগুলো OmarOS-এর নিজের, এবং আপনার সেগুলোতে হাত দেওয়া উচিত নয়। আপনার যদি /usr/share/omaros-তে কিছু বদলানোর প্রয়োজন হয়, তাহলে এর পরিবর্তে আপনার ~/.config-এ মানটি উপর দিয়ে লেখা উচিত।

প্রধান কনফিগগুলো OmarOS মেনু (Super + Space) থেকে সরাসরি সম্পাদনা করা যায়, যেমন সেটআপ > মনিটর, সেটআপ > কিবাইন্ডিং, সেটআপ > ইনপুট এবং সেটআপ > 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 লাইন থাকা উচিত, যেহেতু এটি প্যাকেজ লেনদেনের আগে চলে। দুটি আপডেট-সংক্রান্ত হুকই, OmarOS তার ক্যাশ করা sudo অনুমোদন মুছে ফেলার পর, আপনার ব্যবহারকারী হিসেবে চলে, ফলে 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-তে থাকা ফাইলগুলোতে সরাসরি বদল না করার পরামর্শ দেব। সেগুলো OmarOS pacman প্যাকেজের, ফলে পরের আপডেটে আপনার বদলগুলো শুধু উপর দিয়ে লেখা হয়ে যাবে। এর পরিবর্তে আপনার পছন্দ নয় এমন যেকোনো ডিফল্ট মান ~/.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-কে ~/omaros-তে থাকা সোর্স কোডের একটি git চেকআউটের সঙ্গে যুক্ত করে, যা আপনি আপনার মন মতো বদলাতে স্বাধীন। এখানে আপনাকে কী করতে হবে তা বলার কেউ নেই!

যেকোনো বদল রিসেট করা

আপনি যদি কনফিগারেশনগুলো এলোমেলো করে ফেলেন, তাহলে OmarOS মেনুতে আপডেট > Config-এর মাধ্যমে আপনি সবসময় সেগুলোকে ডিফল্টে ফিরিয়ে নিতে পারেন। অথবা সবকিছু রিসেট করতে omaros reinstall configs চালিয়ে।