← nacyot / artifacts

OMARCHY · 리눅스 데스크톱

Omarchy 화면 매뉴얼: 보이는 것들의 이름과 구조

Omarchy 기본 화면에 올라오는 요소는 생각보다 몇 개 없다. 위에 얇은 바 하나, 키를 누르면 뜨는 런처 하나, 잠깐 나타났다 사라지는 알림과 게이지, 그리고 배경. 이 문서는 그 요소들을 하나씩 소개한다. 요소마다 정식 이름, 그리는 프로그램, 설정 파일 위치, 바꾸는 명령 네 가지를 붙여 두었으니, 읽고 나면 무엇이든 이름으로 부르며 바로 만질 수 있다.

전체 구조는 무대에 비유하면 잡기 쉽다. Hyprland(창을 배치하고 화면을 합성하는 컴포지터)가 무대라면, 그 위에서 프로그램 다섯이 배우처럼 각자 자기 부분을 그린다. Waybar는 상단 바를, Walker는 런처와 모든 메뉴를, Mako는 알림을, SwayOSD는 볼륨과 밝기 게이지를, swaybg는 배경을. 다섯은 각각 독립된 프로그램이라 (ps로 보면 전부 별개 프로세스다) 하나가 죽어도 나머지는 멀쩡하다. 바가 사라져도 창은 돌아가고, 알림이 안 떠도 런처는 뜬다. 그러니 고칠 때는 어느 프로그램의 부분인지부터 짚으면 된다. 그러면 절반은 끝난 셈이다.

기준은 Omarchy 4.0.0.alpha다. 이 버전부터 Hyprland 설정은 hyprland.conf가 아니라 Lua 파일(bindings.lua 등)이다. .conf를 설명하는 웹 자료는 구버전이니 거르면 된다. 출처는 업스트림 소스 ~/.local/share/omarchy/omarchy 명령이다.

컴포지터 하나, 프로그램 다섯, 그리고 omarchy 명령.

Hyprland(컴포지터) 위에서 Waybar(상단 바), Walker(런처와 메뉴), Mako(알림), SwayOSD(OSD), swaybg(배경)가 각자 그린다. 워크스페이스와 스크래치패드, 창은 Hyprland 자체의 개념이고, 잠금은 hyprlock, 유휴 감시는 hypridle, 야간 조명은 hyprsunset이 맡는다. 이 모두를 명령줄에서는 omarchy 명령(스크립트 310개) 하나로 다루며, 설정은 업스트림에서 ~/.config로, 다시 테마로 이어진다.

큰 그림: 화면 지도

먼저 전체 지도다. Hyprland는 판을 깔 뿐 자기 모습은 거의 안 보이고, 눈에 보이는 것은 그 위에서 각 프로그램이 그린 표면들이다. 아래 그림에서 각 표면에 붙은 이름이 이 문서 내내 쓸 정식 명칭이다. 그림의 요소를 클릭하면 아래 상자에 담당 프로그램과 설정 파일, 관련 키가 나온다.

배경: swaybg (그림은 테마가 공급) 상단 바: Waybar 로고, 워크스페이스 시계, 표시등 트레이, 상태, 배터리 알림: Mako 우상단에 떴다 사라짐 창 (Hyprland 타일) 기본은 제목줄 없이 테두리만 스크래치패드: special workspace 워크스페이스 위에 겹쳐 나옴 기본 이름은 scratchpad 하나 Search... 런처이자 모든 메뉴: Walker 앱 실행도, Omarchy 메뉴도, 전부 이 창틀 하나로 나온다 OSD: SwayOSD
그림에서 요소를 클릭하면 이 자리에 상세가 나온다.
기본 화면의 상주 요소와 정식 이름. 배경(swaybg)은 맨 아래, 상단 바(Waybar)는 맨 위, 그 사이에 창(Hyprland)이 놓이고, 런처이자 메뉴(Walker)와 알림(Mako), 게이지(SwayOSD)는 필요할 때만 얹힌다.

처음 며칠 동안 익혀 둘 기본 키는 아래가 전부다. 나머지는 SUPER+K로 단축키 표를 언제든 볼 수 있다.

처음 알아둘 기본 키 (default/hypr/bindings/, config/hypr/bindings.lua)

동작
SUPER+RETURN터미널 열기 (기본 Alacritty)
SUPER+SHIFT+RETURN브라우저 열기 (기본 브라우저)
SUPER+SPACE앱 런처 (Walker)
SUPER+ALT+SPACEOmarchy 메뉴
SUPER+W, SUPER+F, SUPER+T창 닫기, 전체화면, 플로팅 토글
SUPER+S스크래치패드 여닫기
SUPER+CTRL+L, PRINT, SUPER+K잠금, 스크린샷, 단축키 표

화면은 층으로 쌓여 있다

Wayland 데스크톱에서 바나 알림, 배경처럼 "창이 아닌 상주 요소"는 레이어 셸(layer-shell)이라는 규격으로 그려진다. 이 규격은 화면을 네 층(background / bottom / top / overlay)으로 나누고, 일반 창들은 bottom과 top 사이에 놓인다. 그래서 배경은 늘 창 아래, 바는 늘 창 위다. 지금 어떤 요소가 어느 층에 있는지는 hyprctl layers로 그대로 보인다. 직접 확인해 보면 Waybar가 top 층(level 2)에 26px 높이로 올라와 있다. 아래 그림의 각 층에 마우스를 올리면 그 층의 해설이 나온다.

level 0 background: 배경 (swaybg) level 1 bottom: (기본은 비어 있음) 창: 스페이스의 타일과 플로팅 (Hyprland) 스크래치패드: special workspace (떠 있을 때만) level 2 top: 상단 바 (Waybar) level 3 overlay: 알림, OSD, Walker (떠 있을 때만) 잠금화면: hyprlock (잠겼을 때만, 최상위)
층에 마우스를 올리면 이 자리에 그 층의 해설이 나온다.
아래에서 위로 쌓이는 순서. 점선 층은 떠 있는 동안에만 존재한다. 배경이 맨 아래, 상단 바가 창 위, 알림과 게이지, 런처는 뜰 때만 최상단에 얹힌다. hyprlock은 레이어 셸보다 위인 세션 잠금 규격이라 잠기면 전부를 덮는다.

용어 대조표

이 표의 이름만 익혀도 검색하고 질문할 수 있다. 왼쪽이 흔히 부르던 말, 오른쪽이 통하는 이름이다.

부르던 말정식 이름정체
상단 바Waybar화면 맨 위 바 하나. 레이어 이름(namespace)도 waybar, top 층에 있음
검색창, 실행창Walker (런처)앱 실행기이자 이 시스템 모든 메뉴의 화면 담당
알림창알림(notification)그리는 프로그램은 Mako. "마코 알림"이라 하면 정확
우클릭 메뉴 같은 목록Omarchy 메뉴Walker의 dmenu 모드로 그린 목록 메뉴. 바탕화면 우클릭 메뉴는 없다
스페이스워크스페이스(workspace)Hyprland 정식 명칭. 1~10번
서랍, 스크래치패드특수 워크스페이스(special workspace)워크스페이스 위에 겹쳐 나오는 서랍. 기본 이름은 scratchpad 하나
볼륨 게이지OSDSwayOSD가 그리는 볼륨과 밝기 오버레이
바탕화면배경(background)swaybg가 그림. 그림 자체는 현재 테마가 공급
잠금 화면hyprlock부팅 직후 로그인 화면은 SDDM 그리터로 별개 물건
바 왼쪽 로고custom/omarchy 모듈클릭하면 Omarchy 메뉴가 열림

상단 바: Waybar와 모듈

Omarchy의 바는 기본 상태에서 하나다. 화면 위쪽에 높이 26px로 붙는 이 바가 Waybar이고, 실행 중인 Waybar 프로세스도 하나다(설정 파일에서 확인: "layer": "top", "position": "top", "height": 26). "하단 바"나 "독"은 기본 구성에 없다. 바 위의 칸 하나하나는 모듈(module)이라 부른다. 모듈에는 Waybar가 기본으로 제공하는 내장 모듈(clock, battery, network, tray 등)과, 스크립트를 연결해 만드는 custom/이름 모듈 두 종류가 있다.

기본 배치는 아래 그대로다(~/.local/share/omarchy/config/waybar/config.jsoncmodules-left, center, right를 지금 그대로 옮긴 것이다). 왼쪽 첫 칸이 로고, 그 다음이 워크스페이스, 가운데가 시계와 상태 표시등, 오른쪽이 트레이와 하드웨어 상태다.

기본 상단 바의 모듈 순서 (왼쪽에서 오른쪽) — 각 모듈에 마우스를 올리거나 클릭해보라

custom/omarchy hyprland/workspaces clock weather update voxtype screenrecording idle notification-silencing tray bluetooth network pulseaudio cpu battery
↑ 모듈에 마우스를 올려보라. 이름 그대로가 config.jsonc에서 찾을 모듈 키다.

알아두면 좋은 것 몇 가지. 트레이(tray)는 "상주 앱이 아이콘을 걸어두는 자리"의 정식 명칭이다 (시스템 트레이). 기본 설정에서는 오른쪽 group/tray-expander 안에 접혀 있다가 화살표로 펼쳐진다. 가운데 표시등 네 개(voxtype, screenrecording, idle, notification-silencing)는 평소엔 비어 있다가 기능이 켜져 있을 때만 아이콘이 나타나는 표시등이다. 예를 들어 방해금지를 켜면 방해금지 아이콘이, 유휴 잠금을 끄면 idle 아이콘이 빨갛게 나타난다. 대부분의 모듈은 클릭하면 관련 도구가 열린다.

모듈별 하는 일과 클릭 동작 (config.jsonc 기준)

모듈보이는 것클릭하면
custom/omarchyOmarchy 로고Omarchy 메뉴 열기 (우클릭: 터미널)
hyprland/workspaces워크스페이스 번호그 워크스페이스로 이동
clock요일과 시각표시를 날짜로 전환 (우클릭: 시간대 선택)
battery남은 %와 아이콘전원 메뉴 (omarchy-menu power)
networkWi-Fi 신호 세기Wi-Fi 설정 열기
bluetooth블루투스 상태블루투스 설정 열기
pulseaudio볼륨 아이콘오디오 설정 (우클릭: 음소거, 스크롤: 음량)
cpuCPU 아이콘btop 열기 (우클릭: 터미널)

바꾸려면: 모듈 구성은 ~/.config/waybar/config.jsonc, 바의 모양(크기와 간격)은 ~/.config/waybar/style.css다. 색은 이 style.css가 첫 줄에서 @import "../omarchy/current/theme/waybar.css"현재 테마의 색을 끌어오므로, 색만 바꾸려면 바가 아니라 테마를 바꾼다. 고친 뒤에는 omarchy restart waybar. 바를 잠깐 숨기는 키는 SUPER+SHIFT+SPACE다.

런처: Walker

가운데에 뜨는, 입력창 달린 창을 흔히 런처(launcher)라 부른다. Omarchy의 런처는 Walker다. 백그라운드 서비스로 상주하다가(walker --gapplication-service) 키를 누르는 순간 즉시 뜬다. 그런데 이 시스템에서 런처의 일은 앱 실행만이 아니다. 목록형 메뉴 전부를 런처가 그린다. 하는 일이 세 가지라 서로 다른 물건처럼 보이지만 전부 같은 프로그램이다.

앱 실행

SUPER+SPACE로 연다. 그냥 입력하면 설치된 앱과 웹검색을 함께 찾아준다. 입력창 첫 글자로 접두사를 치면 찾는 대상이 바뀐다.

런처 접두사 (~/.config/walker/config.tomlproviders.prefixes)

입력찾는 것
(그냥 입력)앱과 웹검색
/모드(프로바이더) 목록
.파일 찾기
:심볼과 이모지
=계산기
@웹검색
$클립보드 이력

자주 쓰는 모드는 키로 바로 연다. 이모지와 심볼은 SUPER+CTRL+E(walker -m symbols), 클립보드 이력은 SUPER+CTRL+V(walker -m clipboard). -m은 어느 모드로 열지 정하는 옵션이다.

메뉴 화면도 런처가 그린다(dmenu)

다른 프로그램이 "이 목록 중 하나 고르게 해줘"라고 부탁하면 런처가 목록 화면을 대신 그려준다. 이 방식을 관례상 dmenu라고 부른다. Omarchy 메뉴 전체가 바로 이것이다. 실제로 omarchy-menu 스크립트를 열어 보면 모든 화면을 omarchy-launch-walker --dmenu로 그린다. 즉 Omarchy 메뉴는 "메뉴라는 별도 프로그램"이 아니라, 목록 내용은 omarchy-menu가 만들고 화면은 런처가 그리는 역할 분담이다. 그래서 런처와 메뉴의 생김새가 똑같다.

데이터 백엔드: elephant

앱 목록이나 클립보드, 심볼처럼 뒤에서 데이터를 공급하는 백엔드 데몬이 따로 있는데, 그것이 elephant다. Walker가 앞단(화면)이라면 elephant는 뒷단(데이터)이다. 그래서 "복사는 되는데 목록이 안 뜬다" 같은 증상은 대개 elephant 쪽 문제이고, omarchy-restart-walker가 Walker와 elephant를 함께 재시작한다.

메뉴 지도: Omarchy 메뉴 트리

"우클릭 메뉴 같은 것"이라고 생각했던 목록의 이름은 Omarchy 메뉴다. SUPER+ALT+SPACE 또는 상단 바 왼쪽 로고 클릭으로 최상위 메뉴가 열리고, 하위 메뉴로 이어진다. 최상위 항목은 열 개다(omarchy-menushow_main_menu 그대로). Apps, Learn, Trigger, Style, Setup, Install, Remove, Update, About, System. 실물은 아래와 같고, 그 밑의 트리에서 각 가지를 펼쳐볼 수 있다.

Omarchy 메뉴 최상위 화면 스크린샷
Omarchy 메뉴 최상위 화면(SUPER+ALT+SPACE, 빈 워크스페이스에서 캡처). 목록 화면은 런처(Walker)가 그리며, 배색과 배경은 현재 테마를 따른다(캡처 당시 테마는 ethereal).
Omarchy 메뉴 (최상위), SUPER+ALT+SPACE
  • Apps 런처(Walker)로 넘어가 앱 실행
  • Learn Keybindings, Omarchy, Hyprland, Arch, Neovim, Bash 등 문서 열기
  • Trigger 뭔가 실행하기
    • Reminder 알림 예약: Set one / Show all / Clear all
    • Capture Screenshot, Screenrecord, Text Extraction(OCR), Color
    • Transcode, Share(LocalSend), Toggle, Hardware
  • Style 보이는 것 바꾸기
    • Theme 테마 전환 (바로 열기: SUPER+SHIFT+CTRL+SPACE)
    • Background 배경 전환 (SUPER+CTRL+SPACE)
    • Font, Waybar(바 위치), Corners(모서리), Hyprland, Screensaver, About
  • Setup 설정 파일 열어주기
    • Audio, Wifi, Bluetooth TUI 패널 열기
    • Monitors, Keybindings, Input 해당 설정 파일을 에디터로 열어줌
    • Power, Defaults(기본 브라우저/터미널/에디터), DNS, Security, Config
  • Install / Remove 앱과 개발도구, 서비스, 게임을 설치하고 제거
  • Update 시스템 업데이트(omarchy update)와 채널, 설정 관리
  • About 시스템 정보
  • System 전원 메뉴 (SUPER+ESCAPE)
    • Screensaver, Lock, (Suspend와 Hibernate는 가능할 때만), Logout, Restart, Shutdown

자주 쓰는 항목은 최상위를 거치지 않고 바로 여는 키가 있다. omarchy-menu <항목>을 부르는 방식이다.

Omarchy 메뉴 바로 가기 키 (default/hypr/bindings/utilities.lua)

바로 여는 가지
SUPER+ALT+SPACE최상위 전체
SUPER+ESCAPESystem (전원 메뉴)
SUPER+CTRL+CCapture (스크린샷, 녹화, OCR, 색)
SUPER+CTRL+OToggle (표시 요소 켜고 끄기)
SUPER+CTRL+SPACE, SUPER+SHIFT+CTRL+SPACEBackground, Theme
SUPER+KKeybindings (단축키 표)

참고로 앱 안에서 우클릭했을 때 나오는 메뉴는 각 앱(브라우저나 파일 관리자)이 직접 그리는 것이라 Omarchy 소관이 아니다. 그건 그냥 "그 앱의 우클릭 메뉴"다. 바탕화면 자체를 우클릭하는 메뉴는 기본 구성에 없다.

알림(Mako)과 OSD(SwayOSD)

알림. 우상단에 떴다 사라지는 팝업은 Mako가 그린다. 앱이 표준 규격(D-Bus 알림)으로 보낸 알림을 Mako가 받아 그리는 구조라, 알림 모양을 바꾸려면 앱이 아니라 Mako 설정을 고친다 (~/.config/mako/config, 색은 테마가 주입). 알림 센터나 이력 패널 같은 UI는 없고, 지나간 알림은 makoctl 명령으로만 다룬다(SUPER+COMMA 마지막 알림 닫기, SUPER+SHIFT+COMMA 전부 닫기). 방해금지는 omarchy-toggle-notification-silencing이고 상단 바에 표시등이 있다. 스크립트에서 알림을 직접 띄우려면 notify-send를 쓰면 된다.

OSD. 볼륨과 밝기 키를 누를 때 화면에 잠깐 뜨는 게이지가 OSD(On-Screen Display)이고, 그리는 프로그램은 SwayOSD(프로세스 swayosd-server)다. 상주 프로그램 중 유일하게 평소엔 아무것도 안 그리고 키 입력 순간에만 나타난다. 기본 설정에서 볼륨 키는 실제로 SwayOSD의 클라이언트 (omarchy-swayosd-client --output-volume …)를 부르고, 그것이 소리를 바꾸면서 게이지를 그린다. 즉 볼륨 조절과 게이지 표시가 한 몸이다.

워크스페이스와 스크래치패드

Hyprland 정식 명칭은 워크스페이스(workspace)다. 기본은 1~10번을 쓰고, 상단 바 왼쪽 숫자가 그것이다. SUPER+숫자로 이동하고, SUPER+SHIFT+숫자로 지금 창을 그 번호로 보낸다. 번호를 몰라도 SUPER+TAB(다음)과 SUPER+SHIFT+TAB(이전)으로 넘길 수 있다.

스크래치패드의 정식 명칭은 특수 워크스페이스(special workspace)다. 번호 대신 이름을 가지며, 일반 워크스페이스 위에 겹쳐서 나온다. 서랍이라고 생각하면 정확하다. 열면 지금 화면 위로 나오고, 닫아도 안의 창은 사라지지 않고 그대로 남는다. 기본은 이름 붙은 스크래치패드가 scratchpad 하나다. SUPER+S로 여닫고, SUPER+ALT+S로 지금 창을 그 안에 넣는다. 한 모니터에는 특수 워크스페이스가 한 번에 하나만 열린다(다른 것을 열면 먼저 열려 있던 것은 숨는다). 스페이스를 옮기면 열려 있던 스크래치패드는 자동으로 숨는다(hide_special_on_workspace_change).

아래 시연에서 키를 눌러보라. 여닫기와 "워크스페이스를 옮기면 자동으로 숨는" 기본 동작을 그대로 재현했다.

Waybar 워크스페이스 1
창 A
창 B
special:scratchpad
넣어둔 창들이 화면 위로 겹쳐 나온다.
닫아도 사라지지 않고 여기 남는다.
↑ 키를 눌러보라. 스크래치패드를 연 채 워크스페이스를 옮기면 어떻게 되는지도 시험해보라.

창 해부

창을 자동으로 나란히 배치하는 방식 전체를 타일링(tiling), 그 배치 규칙을 레이아웃(layout)이라 부른다. 기본 레이아웃은 dwindle다(looknfeel.lua). 창이 이 규칙을 벗어나 자유롭게 떠 있으면 플로팅(floating)이라 하고, SUPER+T가 토글이다. 창을 두르는 선이 테두리(border), 창과 창 사이 여백이 갭(gap)이다. 기본값은 테두리 2px(활성 창은 색이 있는 그라디언트, 비활성은 회색), 안쪽 갭 5px, 바깥 갭 10px, 모서리 반경 0이다. 기본 상태에는 창 위 제목줄이 없다(제목줄을 붙이는 hyprbars 같은 플러그인이 기본 설정에 없다). 그래서 창은 제목줄 없이 테두리만 두른 모습이다. 배치가 이상하거나 테두리나 갭을 바꾸고 싶으면 ~/.config/hypr/looknfeel.lua를 만진다.

활성 창 테두리(border) 2px, 색 그라디언트 제목줄 없음: 테두리가 유일한 창 장식 비활성 창 회색 테두리 갭(gap) 안쪽 갭 5px, 화면 가장자리 갭 10px, 모서리 반경 0 (looknfeel.lua 기본값)
기본 창의 부위 명칭. 어느 창이 활성인지는 테두리 색으로만 구분한다. 레이아웃 dwindle은 새 창이 생길 때마다 지금 칸을 반으로 쪼개 끼워 넣는 방식이다.

배경(swaybg)과 테마 시스템

바탕의 그림을 그리는 프로그램은 swaybg다. Hyprland가 뜰 때 자동 실행되며 (swaybg -i ~/.config/omarchy/current/background -m fill), 어떤 그림을 그릴지는 그 경로가 가리키는 파일로 정해진다. 그리고 그 그림을 공급하는 것이 테마다. 다음 배경으로 넘기려면 SUPER+CTRL+SPACE(Background), 테마 전체를 바꾸려면 SUPER+SHIFT+CTRL+SPACE(Theme)다.

테마는 배경뿐 아니라 화면 전체의 색을 공급한다. 상단 바 색, 알림 색, 런처 색, 터미널 색이 모두 현재 테마에서 온다. 기본으로 내장 테마가 21종 들어 있다 (~/.local/share/omarchy/themes/에서 확인). catppuccin, ethereal, everforest, gruvbox, kanagawa, nord, rose-pine, tokyo-night, matte-black, vantablack, white 등이다. 목록과 현재 테마, 전환은 명령으로도 된다. omarchy theme list, omarchy theme set <이름>. 테마가 실제로 "색을 공급하는 층"으로 어떻게 끼어드는지는 뒤의 설정 층 장에서 다룬다.

잠금, 유휴, 야간 조명: hyprlock, hypridle, hyprsunset

이름이 hypr로 시작하는 작은 데몬 세 개가 각각 잠금, 유휴 감시, 야간 조명을 맡는다. Hyprland 팀이 만든 별도 도구들이라 이름이 비슷하다.

hyprlock은 잠금화면이다. SUPER+CTRL+L로 직접 잠그며, 이 키는 omarchy-system-lock을 부르고 그 안에서 hyprlock을 띄운다. 입력 없는 시간이 차거나 뚜껑을 닫아 서스펜드에 들어갈 때도 같은 잠금이 걸린다. 주의할 것 하나. SUPER+ESCAPE는 잠금이 아니라 System 메뉴를 여는 키다(그 메뉴 안에 Lock 항목이 있다). 그리고 부팅 직후 아이디와 비밀번호를 입력하는 로그인 화면은 hyprlock이 아니라 SDDM 그리터로, 완전히 별개 물건이다.

hypridle은 유휴(idle) 상태를 감시한다. 기본은 두 단계다. 2.5분 동안 입력이 없으면 스크린세이버를 띄우고, 5분이 되면 잠근다. 화면을 실제로 끄는 것은 잠금 과정 안에서 처리되고, 서스펜드 자체는 시스템 전원 설정에 맡긴다(즉 hypridle에 별도의 화면 끔이나 서스펜드 타이머는 없다). 유휴 잠금이 성가시면 SUPER+CTRL+I로 잠시 끌 수 있고, 이때 상단 바에 idle 표시등이 뜬다.

hyprsunset은 야간 조명(색온도를 낮춰 블루라이트 줄이기)이다. 기본은 꺼진 상태(색 변화 없음)다. SUPER+CTRL+N로 켜고 끄며, 켜면 색온도가 4000K로 내려가 화면이 따뜻한 색이 된다. 시간대에 따라 자동으로 바뀌는 스케줄 기능은 따로 없고, 이 토글만 있다.

바꾸려면: 세 데몬의 설정은 각각 ~/.config/hypr/hyprlock.conf, hypridle.conf, hyprsunset.conf다. 타이머나 잠금 화면 모양을 여기서 고친다.

명령줄 도구: omarchy CLI

Omarchy의 기능은 거의 전부 스크립트로 구현돼 있다. ~/.local/share/omarchy/bin/omarchy-로 시작하는 스크립트가 310개 있고, 메뉴도 키바인딩도 이것들을 부른다. omarchy 명령은 이 스크립트들을 한 이름으로 묶는다. 규칙은 단순하다. 파일 omarchy-theme-setomarchy theme set으로 부른다(대시가 공백이 된다). 전체 목록은 omarchy commands --all로 본다.

명령은 이름 앞부분(그룹)으로 묶인다. 개인화에서 실제로 자주 쓰는 그룹은 theme(테마), restart(화면 요소 재시작), refresh(기본값 복원), toggle(켜고 끄기) 넷이고, 나머지는 필요할 때 omarchy commands --all에서 찾으면 된다.

직접 고칠 때 자주 쓸 명령

명령하는 일
omarchy theme list / set <이름>테마 목록과 전환. 배경만 넘기기는 omarchy theme bg next
omarchy restart waybar|walker|mako|swayosd화면 요소 데몬 재시작. 뭔가 이상할 때 가장 먼저 시도할 것
omarchy refresh <설정경로>그 설정을 기본값으로 되돌림(내 수정은 .bak으로 백업)
omarchy toggle nightlight|idle|…야간 조명이나 유휴 잠금 등 켜고 끄기
omarchy updateOmarchy 소스와 패키지, 마이그레이션 일괄 업데이트
omarchy commands --all, omarchy version전체 명령 목록, 버전 확인

고치는 사람의 지도: 설정은 어느 층에서 오나

고칠 때 가장 중요한 감각은 "이 값이 어느 층에서 왔나"다. 층을 잘못 짚으면 업데이트나 테마 전환 때 내 수정이 사라진다. Omarchy의 설정은 세 층에서 흐른다.

1층 · 업스트림 소스: ~/.local/share/omarchy/ Omarchy 본체(git 저장소). 기본 설정과 명령 310개가 여기 있다. omarchy update가 이 저장소를 당겨 받으므로 직접 수정하면 안 된다(업데이트가 덮는다).
↓ 설치 때 ~/.config로 복사, 실행 중엔 기본값을 require, include, @import로 끌어씀
2층 · 내 설정: ~/.config/ 내 소유. hypr/*.lua(키와 창 규칙, 모니터, 생김새), waybar/, walker/, mako/. 설치할 때 1층에서 복사돼 들어왔지만, 파일에는 꼭 필요한 내용만 있고 실행할 때 1층의 기본값을 먼저 읽어들인 뒤 내 파일로 덮어쓴다. 예를 들어 ~/.config/hypr/hyprland.lua는 Omarchy 기본을 require한 다음 내 bindings.lua를 읽는다. 그래서 여기만 고치면 업데이트 후에도 유지된다.
↓ 색과 배경은 별도의 층에서 주입
3층 · 테마 주입: ~/.config/omarchy/current/theme/ 현재 테마가 앱별 색 파일(waybar.css, mako.ini, walker.css 등)과 배경 그림을 이 고정 경로에 놓아 둔다. 2층의 파일들이 이걸 @import, include로 끌어온다. 테마를 바꾸면 이 폴더가 통째로 교체되므로, 색을 여기서 직접 고치면 다음 전환 때 사라진다.

이 구조 덕분에 규칙은 간단하다. 키와 창, 바 구성은 ~/.config에서, 색은 테마로, 업스트림은 건드리지 않는다. 기본 상태로 되돌리고 싶으면 omarchy refresh가 해당 설정을 1층의 기본값으로 되돌리며 내 것을 .bak으로 남긴다(그래서 설정 폴더에 .bak.숫자 파일이 쌓인다). 업데이트는 omarchy update가 1층을 git으로 가져오고, 이미 깔린 시스템에도 변화가 반영되도록 마이그레이션 스크립트를 순서대로 한 번씩 실행한다.

"이걸 고치고 싶으면" 빠른 표

고치고 싶은 것만질 파일반영
키와 창 규칙~/.config/hypr/bindings.lua저장하면 자동 리로드
모니터, 입력, 테두리, 갭hypr/monitors.lua, input.lua, looknfeel.lua위와 같음
상단 바 모듈~/.config/waybar/config.jsoncomarchy restart waybar
바의 모양~/.config/waybar/style.cssomarchy restart waybar
색 전반테마 전환 (omarchy theme set)즉시
런처 접두사와 동작~/.config/walker/config.tomlomarchy restart walker
알림 모양과 위치~/.config/mako/configomarchy restart mako
잠금, 유휴, 야간 조명hypr/hyprlock.conf, hypridle.conf, hyprsunset.conf대응 omarchy refresh

코딩 에이전트와 함께 고치기

Omarchy 커스터마이징은 코딩 에이전트와 유난히 잘 맞는다. 지금까지 본 대로 이 시스템의 모든 것이 플레인 텍스트 설정 파일과 스크립트 명령이기 때문이다. 에이전트가 설정 파일을 읽고, hyprctlomarchy 명령으로 실제 상태를 확인하고, 고치고, restart로 반영하고, 잘못되면 refresh로 되돌리는 전 과정을 명령줄만으로 해낼 수 있다. 설정을 GUI 창에서 클릭해야 하는 데스크톱에서는 어려운 방식이다.

4.0.0.alpha는 에이전트용 스킬을 기본으로 포함한다 (~/.local/share/omarchy/default/omarchy-skill/SKILL.md). 내용은 바로 앞 장의 규칙 그대로다. 사용자 커스터마이징은 ~/.config의 hypr, waybar, walker, mako 설정과 omarchy 명령으로 하고, 업스트림 소스는 건드리지 않는다. Claude Code라면 ~/.claude/skills/omarchy에 이 폴더를 심볼릭 링크로 연결해 두면 되고, 관련 작업에서 에이전트가 이 스킬을 자동으로 불러 쓴다.

실전에서는 자연어로 시키면 된다. 시키는 말과 에이전트가 하는 일을 나란히 놓으면, 이 문서의 내용이 그대로 다시 쓰이는 것이 보인다.

시키는 말 → 에이전트가 하는 일

시키는 말에이전트가 하는 일
"상단 바에서 블루투스 아이콘 빼줘"~/.config/waybar/config.jsoncmodules-right에서 bluetooth를 지우고 omarchy restart waybar. 바뀐 바를 바로 확인한다
"테마를 nord로 바꾸고 배경도 넘겨줘"omarchy theme list로 이름을 확인, omarchy theme set nord, 이어서 omarchy theme bg next
"비어 있는 키에 옵시디언 실행을 걸어줘"기존 바인딩과 겹치는지부터 확인(SUPER+K 목록). 빈 키를 골라 bindings.luao.bind(...) 한 줄 추가. 저장하면 자동 리로드
"유휴 잠금을 10분으로 늘려줘"~/.config/hypr/hypridle.conf의 타이머 값을 고치고 omarchy restart hypridle
"알림이 안 떠"차례로 진단한다. pgrep mako로 실행 여부 확인, 방해금지 상태 확인, notify-send로 시험 알림을 띄워 보고, 필요하면 omarchy restart mako
"이 테마에서 색만 초록 계열로 바꾼 새 테마 만들어줘"내장 테마 하나를 복제해 앱별 색 파일(waybar.css, mako.ini, walker.css…)을 일괄 수정. 테마가 파일 몇 개짜리 구조라 에이전트에게 잘 맞는 작업이다

요령은 하나다. 이 문서의 어휘로 시키면 된다. "위에 있는 막대"보다 "상단 바", "그 검색창"보다 "런처"라고 부르는 순간 에이전트가 고칠 파일을 정확히 찾는다. 망쳐도 omarchy refresh가 되돌려 준다. 사람이 검색할 때 쓰는 어휘와 에이전트에게 시킬 때 쓰는 어휘가 같다는 것, 그것이 이 어휘집의 쓸모다.

마무리

정리하면 이렇다. 화면은 Hyprland 위에서 Waybar, Walker, Mako, SwayOSD, swaybg 다섯 프로그램이 나눠 그리고, 설정은 업스트림에서 ~/.config로, 색은 테마로 흘러온다. 고치고 싶은 것이 생기면 순서는 늘 같다. 어느 프로그램의 것인지 짚고, 그 배우의 설정 파일을 고치고, 재시작으로 반영한다. 망치면 omarchy refresh가 기본값으로 되돌려 주니 부담 없이 만져도 된다.

더 찾아볼 곳은 셋이다. 단축키는 SUPER+K, 명령은 omarchy commands --all, 그 너머는 Omarchy 메뉴의 Learn이 여는 공식 매뉴얼과 Hyprland 위키다. 이제 화면의 어떤 요소든 이름으로 부를 수 있으니, 검색이든 질문이든 에이전트에게 시키든 바로 시작할 수 있다.

← nacyot / artifacts