집행 기능을 코드처럼: Doom Emacs로 내 뇌를 스크립트하기

발행: (2026년 2월 8일 오후 08:57 GMT+9)
13 분 소요
원문: Dev.to

I’m happy to translate the text for you, but I’ll need the actual content you’d like translated. Could you please paste the article (or the portion you want translated) here? Once I have the text, I’ll provide the Korean translation while keeping the source link and formatting exactly as you requested.

내 인생 처음 21년 동안…

내가 스스로와 싸우는 듯한 느낌이었어요— 어디에나 반쯤 포기된 프로젝트들이 넘쳐났고, 끊임없이 “나는 더 많이 할 수 있고, 해야 한다.” 라고 생각했죠.
마치 내가 깨진 소프트웨어를 탑재한 채로 출항한 것처럼, 다른 사람들은 간단한 일조차도 쉽게 해내는 것처럼 보였습니다.

사실은? 나는 깨진 소프트웨어를 실행하고 있던 것이 아니라, 완전히 다른 운영체제를 쓰고 있었던 겁니다.
최근에 그 운영체제에 대한 문서를 찾았어요: ADHD.

이 환경의 사양을 이해하고 나니, Notion 같은 표준 도구나 휴대폰 할 일 목록이 통하지 않을 거라는 걸 깨달았습니다. 그 도구들은 내가 가지고 있지 않은 정상적인 환경을 전제로 하고 있거든요.

나는 이미 Doom Emacs를 사용하고 있었는데, 기술에 관심이 많고 만지는 걸 좋아하는 사람이라서였죠. 그래서 특정 도구에 맞추어 나 자신을 바꾸려 하기보다, 엘리프(Elisp)를 배우고 도구를 내게 맞게 재구성하기로 했습니다.

아래는 내가 실행 기능 장애에 맞서기 위해 설정을 무기로 만든 방법입니다.

Source:

Phase 0 – 인프라스트럭처

Lisp 코드를 한 줄도 건드리기 전에, 먼저 해결해야 할 문제가 있었습니다: 디바이스 간 노트 동기화.

제 머리는 L1 캐시가 매우 작습니다. 부엌에서 아이디어가 떠올랐지만 할 일 목록이 다른 방에 있는 데스크톱에 있다면, “지연”(그리고 정신적 장벽)이 너무 커서 작업이 사라집니다. 데스크톱에 도착할 때쯤이면 컨텍스트가 사라져 버립니다.

과거에 몇 가지 해결책을 시도해 보았습니다:

  • 휴대폰 기반 노트 앱 – 디바이스마다 노트가 분산되어 이상적이지 않음.
  • 개인 Discord 서버 – 금방 유지보수가 어려워지고 검색이 불가능해짐.

제가 필요했던 것은 모든 곳에서 사용할 수 있는 단일 진실의 원천이었으며, 마찰이 전혀 없어야 했습니다.

디바이스

  1. 데스크톱
  2. 노트북
  3. 폰 (Orgzly 앱을 이용한 Org 모드)

…그리고 지금 이 글을 읽고 있는 비밀 네 번째 디바이스: 제 VPS (향후 홈랩).

해결책: Syncthing

저는 Syncthing을 선택했습니다. VPS를 갖기 전에는 디바이스 간에 직접 Syncthing을 사용하려고 했지만, 그 경우 두 장치가 동시에 켜져 있어야 했습니다—노트북과 데스크톱은 거의 동시에 켜져 있지 않으니까요. VPS가 “클라우드” 허브 역할을 하므로, 데스크톱이 꺼져 있어도 노트북이 VPS에서 노트를 동기화할 수 있습니다.

Source:

Phase 1 – “에너지” 인덱스

표준 생산성 조언은 작업을 마감일이나 중요도별로 정렬하라고 합니다. 이는 신경전형적인 두뇌에선 잘 작동합니다. 하지만 저에게는 “중요한” 작업 20개 목록이 잡음의 벽처럼 보이고 즉시 분석 마비를 일으킵니다.

제가 겪는 병목 현상은 시간 이 아니라 배터리입니다.

  • 어떤 날은 110 %로 달립니다.
  • 어떤 날은 10 %로 달립니다.

에너지가 낮은 날에 큰 에너지 소모 작업을 보면 그 작업 자체를 건너뛰게 되고, 종종 전체 목록을 포기하게 됩니다.

해결책

모든 작업에 ENERGY 속성을 포함하도록 워크플로를 수정했습니다. “언제 마감인가?” 대신 “이 작업에 얼마나 많은 에너지가 들까?” 라고 묻습니다.

세 가지 에너지 레벨을 정의했습니다:

레벨설명
High복잡한 작업, 보통 깊은 집중이 필요함
Medium일반적인 업무, 예: 이메일 답장
Low간단한 작업, 예: 파일 정리나 약속 잡기

Emacs 설정

;; Map priorities
(setq org-priority-highest   ?A
      org-priority-lowest    ?C
      org-priority-default   ?B)

;; Colour‑code priorities
(setq org-priority-faces
      '((?A :foreground "#ff6c6b" :weight bold)
        (?B :foreground "#98be65")
        (?C :foreground "#51afef")))

;; Define energy levels (global property)
(setq org-global-properties
      '(("ENERGY_ALL" . "Low Medium High")))

;; Colour‑code TODO states
(setq org-todo-keyword-faces
      '(("TODO" :foreground "#51afef" :weight bold)
        ("DONE" :foreground "#98be65" :weight bold)
        ("WAIT" :foreground "#da8548")))

Agenda 개요

진짜 마법은 agenda 개요(SPC o A x)에서 일어납니다. 에너지 비용에 따라 작업을 정렬하는 커스텀 명령을 만들었습니다.

앱을 열고 agenda를 볼 때 저는 내부 배터리를 확인합니다:

  • 피곤할 때? → “빠른 승리”(Low energy)
  • 집중이 필요할 때? → “깊은 작업”(High energy)

이렇게 하면 부정적인 악순환을 방지할 수 있습니다. 힘든 날에도 보통 “Low Energy” 항목을 몇 개 처리하고 계속 전진할 수 있습니다.

(setq org-agenda-custom-commands
      '(("x" "Overview"
         ((tags-todo "PRIORITY=\"A\"+ENERGY=\"Low\""
                     ((org-agenda-overriding-header
                       "Quick Wins (High Impact, Low Energy)")))
          (tags-todo "PRIORITY=\"A\"+ENERGY=\"High\""
                     ((org-agenda-overriding-header
                       "Deep Work (Focus Required)")))
          (tags-todo "PRIORITY=\"A\"+ENERGY=\"Medium\""
                     ((org-agenda-overriding-header
                       "High Priority (Medium Energy)")))))))

Phase 2 – 입력 지연 감소

아이디어(그 맥락)를 잊어버리는 것은 지속적인 고민이다. 파일 탐색기를 열고, 올바른 파일로 이동한 뒤, 모든 것을 타이핑하는 것은 너무 많은 마찰을 만든다. 나는 즉석에서 아이디어, 작업, 할 일을 캡처할 방법이 필요했다.

Strategy 1 – org-capture

무엇을 하든, 나는 emacsclient를 실행하는 커스텀 키바인드(KDE Plasma에서는 Ctrl+Alt+e)를 누른 뒤 Emacs 안에서 SPC X를 누를 수 있다. 그러면 내가 캡처하고 싶은 생각의 유형을 묻는 커스텀 캡처 창이 나타난다.

예시: 할 일(t)을 선택한다. 그러면 다섯 가지 중요한 정보를 입력하라는 프롬프트가 나타난다:

  1. 우선순위
  2. 작업 이름
  3. 태그 (자유 형식)
  4. 마감일
  5. 에너지 수준

이는 캡처 시점에 우선순위와 에너지 수준을 지정하도록 강제하여, 워크플로우를 간결하고 저지연으로 유지한다.

(원문의 나머지 부분은 추가 전략과 정교화가 이어지며, 정신은 변함없이 유지됩니다.)

실행 기능을 코드로 – Doom Emacs + ADHD


2단계 – 캡처 템플릿

작업 흐름을 끊지 않고 빠르게 할 일을 추가할 방법이 필요했습니다. 아래 org-capture 템플릿을 사용하면 작업, 아이디어, 프로젝트를 적절한 파일에 바로 넣을 수 있으며, 우선순위, 에너지 수준, 마감일 등 메타데이터도 자동으로 채워집니다.

(setq org-capture-templates
      '(("t" "Todo" entry (file+headline "~/org/inbox.org" "Tasks")
         "* TODO [#%^{Priority|A|B|C}] %^{Task Name} %^g\nDEADLINE: %^t\n:PROPERTIES:\n:ENERGY: %^{Energy?|Low|Medium|High}\n:END:\n")

        ("i" "Idea/Note" entry (file+headline "~/org/inbox.org" "Notes")
         "* %?\n%U\n")

        ("p" "Project Task" entry (file+headline "~/org/projects.org" "Projects")
         "* TODO [#%^{Priority|A|B|C}] %^{Task Name} [/]\nDEADLINE: %^t\n:PROPERTIES:\n:ENERGY: %^{Energy?|Low|Medium|High}\n:END:\n")))

전체 화면 모드 진입전체 화면 모드 종료


3단계 – 시각적 조정

디지털 감각 과부하가 쉽게 발생하므로 UI를 최소화합니다. Catppuccin (mocha) 테마를 사용하는데, 대비가 낮고 눈에 편안하기 때문입니다. 가장 큰 시각적 개선은 폰트입니다:

  • Monospace (Fira Code) – 코드 블록용.
  • Variable‑pitch (Fira Sans) – 일반 텍스트용으로, “인간 언어”와 “컴퓨터 언어”를 구분하고 인지 부하를 줄여줍니다.
;; Fonts
(setq doom-font (font-spec :family "Fira Code" :size 16 :weight 'semi-light)
      doom-variable-pitch-font (font-spec :family "Fira Sans" :size 17))

;; UI
(setq doom-theme 'catppuccin)
(setq display-line-numbers-type t)   ;; 라인 번호가 필요 없으면 nil으로 설정

전체 화면 모드 진입전체 화면 모드 종료

또한 Zen mode를 사용해 텍스트를 중앙에 배치하고 모델라인을 숨겨야 할 때(예: 이 블로그 글을 작성할 때) 깊은 집중을 할 수 있습니다.

Conclusion – “Works on My Machine!”

이러한 조정이 ADHD를 “치료”하는 것은 아니며, 여전히 일정표를 무시하거나 에너지가 낮은 작업을 수행하지 못하는 날이 있을 것입니다. 하지만 모든 것이 Syncthing을 통해 동기화되는 평문 파일에 저장되기 때문에 시스템은 탄력적이며 판단하지 않습니다. 잠시 쉬었다가 돌아오면 모든 데이터가 그대로 기다리고 있습니다.

뇌의 운영 체제와 싸우는 대신 소프트웨어 패치를 작성하기 시작했습니다. 21년 만에 드디어 루트 접근 권한을 가진 느낌입니다.

제 설정을 자유롭게 가져가세요! 제 Doom Emacs dotfiles는 Nix 설정 저장소에 있습니다.

읽어 주셔서 감사합니다! org-roam을 비슷한 스타일로 사용하는 방법에 대한 후속 글을 계획 중이니 기대해 주세요.

궁금한 점이나 도움이 필요하면 홈페이지에서 제 Discord 링크를 찾을 수 있습니다. 언제든지 도와드릴게요! ;3

Read the original article on my blog here.

0 조회
Back to Blog

관련 글

더 보기 »

sunpeak은 MCP 앱에 전념한다

개요: MCP Apps는 이제 ChatGPT, Claude, Goose 및 VS Code에서 실행됩니다. Claude는 1월 26일에 MCP App 지원을 발표했으며, ChatGPT는 2월 4일에 이를 따랐습니다. 2월 현재…