Dotfiles¶
OmarOS ส่วนใหญ่กำหนดค่าผ่านสิ่งที่เรียกว่า dotfiles ที่อยู่ใน ~/.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 |
ควบคุม shell ของ OmarOS: ตำแหน่งแถบ เค้าโครง และวิดเจ็ต บวกเวลาของโปรแกรมพักหน้าจอ การล็อก และสถานะว่าง |
~/.config/foot/foot.ini |
ควบคุมเทอร์มินัลของคุณ (foot คือค่าเริ่มต้น) |
~/.XCompose |
กำหนดอีโมจิเข้าถึงด่วนและการเติมชื่อ/อีเมลอัตโนมัติของคุณ อย่าลืมรัน omaros-restart-xcompose หลังทำการเปลี่ยนแปลง |
ถ้าคุณลงเอยด้วยการเปลี่ยนแปลงมากมายเพื่อปรับแต่งการตั้งค่าของคุณเอง เป็นความคิดที่ดีที่จะสำรอง dotfiles เหล่านี้ทั้งหมด Stow เป็นวิธีที่ดีในการทำอย่างนั้น
การเริ่มแอปของคุณเองพร้อมเซสชัน¶
ถ้าคุณต้องการให้อะไรบางอย่างรันทุกครั้งที่คุณเข้าสู่ระบบ — daemon ซิงค์ แอปแชท สคริปต์ของคุณเอง — ใส่มันไว้ใน ~/.config/hypr/autostart.lua:
นั่นเริ่มคำสั่งนั้นเป็นส่วนหนึ่งของเซสชัน ดังนั้นมันจึงถูกทำความสะอาดอย่างเหมาะสมเมื่อคุณออกจากระบบอีกครั้ง
การรันสคริปต์บนเหตุการณ์ของระบบ¶
OmarOS ยิง hook ในช่วงเวลาสองสามช่วง และคุณแขวนสคริปต์ของคุณเองไว้กับพวกมันได้ พวกมันอยู่ใน ~/.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) |
hook pre-refresh-pacman คือที่ที่ที่เก็บแบบกำหนดเองหรือบรรทัด IgnorePkg ควรอยู่ เนื่องจากมันรันก่อนธุรกรรมแพ็กเกจ hook ที่เกี่ยวกับการอัปเดตทั้งสองรันในฐานะผู้ใช้ของคุณหลังจาก OmarOS ล้างการให้สิทธิ์ sudo ที่แคชไว้แล้ว ดังนั้น hook ที่ใช้ sudo ต้องการการให้สิทธิ์ของตัวเองและอาจขอรหัสผ่านของคุณ
แต่ละไดเรกทอรีเหล่านั้นมีไฟล์ .sample อยู่แล้วซึ่งแสดงรูปร่างของ hook — ตัด .sample ออกจากชื่อเพื่อนำมันไปทำงาน หากต้องการติดตั้งสคริปต์ที่คุณเขียนไว้ที่อื่น ให้ใช้ omaros hook install post-boot ~/my-hook ซึ่งจะคัดลอกมันเข้ามาและทำให้มันรันได้
การเพิ่มรายการเมนูของคุณเอง¶
เมนู OmarOS (Super + Space) ขยายด้วยแถวของคุณเองได้โดยแก้ไข ~/.config/omaros/extensions/omaros-menu.jsonc รายการต่าง ๆ คีย์โดย id แบบมีจุด และ id คือสิ่งที่วางพวกมันในทรี ดังนั้น personal จึงโผล่บนเมนูราก และ personal.notes โผล่อยู่ข้างในมัน:
"personal": {"icon":"","label":"Personal"},
"personal.notes": {"icon":"","label":"Notes","action":"omaros-launch-editor ~/notes"},
ใช้ id ที่มีอยู่ซ้ำแล้วคุณจะแทนที่แถวนั้นแทนที่จะเพิ่มแถวใหม่ ไฟล์นี้มาพร้อมฟิลด์ทั้งหมดที่มีให้ซึ่งบันทึกไว้เป็นความคิดเห็น
การเพิ่ม export ฟังก์ชัน และนามแฝง shell ของคุณเอง¶
OmarOS มาพร้อมนามแฝงที่เหมาะกับสรีระและฟังก์ชันที่มีประโยชน์มากมาย แต่เป็นเรื่องธรรมดามากที่จะอยากเพิ่มของคุณเอง คุณควรเพิ่มทั้งนามแฝง ฟังก์ชัน และ export ใน ~/.bashrc ไฟล์นี้จะไม่ถูกเขียนทับเมื่ออัปเดต ถ้าคุณต้องการเปลี่ยนค่าเริ่มต้นใด ๆ ของ OmarOS คุณยังเพิ่มพวกมันไว้ที่นี่ได้อย่างปลอดภัยเช่นกัน
การเปลี่ยนไฟล์ภายในของ OmarOS¶
ฟังนะ นี่คือคอมพิวเตอร์ของคุณ คุณทำอะไรกับมันก็ได้ตามต้องการ แต่ฉันขอแนะนำว่าอย่าทำการเปลี่ยนแปลงไฟล์ใน /usr/share/omaros โดยตรง พวกมันเป็นของแพ็กเกจ pacman ของ OmarOS ดังนั้นการเปลี่ยนแปลงของคุณก็จะถูกเขียนทับเฉย ๆ เมื่ออัปเดตครั้งต่อไป คุณควรแคเขียนทับค่าเริ่มต้นใด ๆ ที่คุณไม่ชอบในโฟลเดอร์ ~/.config/* แทนจะดีกว่า
คุณเปลี่ยนแทบทุกอย่างได้ด้วยวิธีนั้น เช่น ปุ่มลัดเริ่มต้น แค่แก้ไข ~/.config/hypr/bindings.lua เพื่อ สมมติว่า แทนที่ Obsidian ด้วย Joplin (ติดตั้งด้วย omaros-pkg-add joplin-bin):
o.rebind ลบการผูกที่มีอยู่ก่อนเพิ่มตัวแทนที่ของมัน มันรับอาร์กิวเมนต์เดียวกันกับ o.bind รวมถึงตัวช่วยเปิดและตัวเลือกการผูก ใช้ o.bind เพื่อเพิ่มการผูก หรือ hl.unbind เพื่อลบอันหนึ่งออกโดยไม่แทนที่มัน
ถ้าคุณยืนกรานจะแฮกไฟล์ภายในของ OmarOS ให้สลับไปช่อง dev ผ่าน อัปเดต > Channel > Dev นั่นเชื่อม OmarOS ไปยัง git checkout ของซอร์สโค้ดใน ~/omaros ซึ่งคุณเปลี่ยนได้ตามใจชอบ ไม่มีใครที่นี่จะมาบอกว่าคุณต้องทำอะไร!
การรีเซ็ตการเปลี่ยนแปลงใด ๆ¶
ถ้าคุณลงเอยด้วยการทำการกำหนดค่าพะรุงพะรัง คุณสามารถย้อนพวกมันกลับไปค่าเริ่มต้นได้เสมอผ่าน อัปเดต > Config ในเมนู OmarOS หรือโดยรัน omaros reinstall configs เพื่อรีเซ็ตทุกอย่าง