From 5d114c958a832e034840f6cb918d0e285ba74e59 Mon Sep 17 00:00:00 2001 From: "M.R. Firmansyah" Date: Tue, 24 Sep 2024 21:01:12 +0700 Subject: [PATCH] Update 'emacs/' --- emacs/.emacs.d/init.el | 69 ++++++++++++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index cda2f05..f012be2 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -3,8 +3,8 @@ ;; Auto-save (setq backup-directory-alist - `((".*" . ,temporary-file-directory))) -(setq auto-save-file-name-transforms + `((".*" . ,temporary-file-directory)) + auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) ;; Mengikuti symlink tanpa prompt @@ -15,8 +15,8 @@ (setq electric-indent-mode nil) ;; Menampilkan buffer scratch kosong saat memulai -(setq inhibit-startup-screen t) -(setq initial-scratch-message nil) +(setq inhibit-startup-screen t + initial-scratch-message nil) ;; Arsip-arsip paket dan prioritasnya (require 'package) @@ -24,16 +24,16 @@ '(("gnu" . "https://elpa.gnu.org/packages/") ("nongnu" . "https://elpa.nongnu.org/nongnu/") ("melpa-stable" . "http://stable.melpa.org/packages/") - ("melpa" . "http://melpa.org/packages/"))) -(setq package-archive-priorities '(("melpa-stable" . 20) ("gnu" . 10) ("melpa" . 0))) + ("melpa" . "http://melpa.org/packages/")) + package-archive-priorities '(("melpa-stable" . 20) ("gnu" . 10) ("melpa" . 0))) (package-initialize) ;; Spell-checker -(setq ispell-program-name "hunspell") -(setq ispell-dictionary "id_ID") +(setq ispell-program-name "hunspell" + ispell-dictionary "id_ID") (add-to-list 'ispell-skip-region-alist '("^#+BEGIN_SRC" . "^#+END_SRC")) -(add-hook 'text-mode-hook 'flyspell-mode) -(add-hook 'prog-mode-hook 'flyspell-prog-mode) +(add-hook 'text-mode-hook 'flyspell-mode + 'prog-mode-hook 'flyspell-prog-mode) ;; Tema (load-theme 'modus-operandi :no-confirm) @@ -41,12 +41,32 @@ (setq-default cursor-type 'bar) ;; Org mode +(global-set-key (kbd "C-c a") #'org-agenda) (global-set-key (kbd "C-c c") #'org-capture) (global-set-key (kbd "C-c l") #'org-store-link) -(setq org-directory "/media/Data/Dokumen/") -(setq org-capture-templates '(("c" "Catatan singkat" entry (file "Catatan.org") "* %?"))) -(setq org-startup-with-inline-images t) -(setq org-id-get-create t) +(setq org-agenda-files '("/media/Data/Dokumen/Agenda/") + org-capture-templates '(("c" "Catatan singkat" entry (file+datetree "Catatan/catatan_singkat.org") "* %?") + ("t" "Tugas" entry (file+datetree "Agenda/tugas.org") "* TODO %?") + ("p" "Proyek" entry (file "Agenda/proyek.org") "* %?")) + org-agenda-custom-commands '(("i" "Ikhtisar hari ini" ((todo "DOING" ((org-agenda-overriding-header "Tugas sedang dikerjakan:"))) + (todo "NEXT" ((org-agenda-overriding-header "Tugas selanjutnya:"))) + (tags "CLOSED>=\"\"" ((org-agenda-overriding-header "Tugas selesai:"))) + (agenda "" ((org-agenda-files '("Agenda/jadwal.org")) + (org-agenda-overriding-header "Jadwal:") + (org-agenda-prefix-format "%?-12t% s") + (org-agenda-skip-function '(org-agenda-skip-entry-if 'deadline)) + (org-agenda-span 1) + (org-deadline-warning-days 0))))) + ("d" "Deadline" ((agenda nil ((org-agenda-entry-types '(:deadline)) + (org-agenda-format-date "") + (org-deadline-warning-days 7) + (org-agenda-skip-function '(org-agenda-skip-entry-if 'notregexp "\\* NEXT")) + (org-agenda-overriding-header "Deadline:")))))) + org-directory "/media/Data/Dokumen/" + org-id-get-create t + org-log-done 'time + org-startup-with-inline-images t + org-stuck-projects '("+PROJECT/-MAYBE-DONE" ("TODO" "NEXT" "DOING") nil "\\")) ;; Paket-paket (use-package company @@ -121,6 +141,19 @@ (use-package consult-projectile :bind ("C-c p" . consult-projectile)) +(use-package dashboard + :ensure t + :config + (dashboard-setup-startup-hook) + (setq dashboard-banner-logo-title "" + dashboard-center-content nil + dashboard-footer-messages nil + dashboard-items '((recents . 5) + (bookmarks . 5) + (projects . 5)) + dashboard-startup-banner nil + initial-buffer-choice (lambda () (get-buffer-create dashboard-buffer-name)))) + (use-package embark :init (setq prefix-help-command #'embark-prefix-help-command) :config @@ -156,9 +189,8 @@ (use-package org-roam :custom (org-roam-directory "~/.emacs.d/org-roam/") - (org-roam-capture-templates '(("c" "Catatan" plain "%?" :target (file+head "${slug}.org" "#+title: ${title}") nil nil))) - :bind (("C-c n c" . org-roam-capture) - ("C-c n f" . org-roam-node-find) + (org-roam-capture-templates '(("c" "Catatan" plain "%?" :target (file+head "${slug}.org" "#+TITLE: ${title}") nil nil))) + :bind (("C-c n f" . org-roam-node-find) ("C-c n i" . org-roam-node-insert) ("C-c n l" . org-roam-buffer-toggle)) :config @@ -189,8 +221,7 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(package-selected-packages - '(company-go company-web company-box company which-key magit consult-projectile projectile embark-consult embark marginalia orderless consult vertico modus-themes org-roam-ui org-roam magit-section emacsql-sqlite use-package))) - + '(dashboard company-go company-web company-box company which-key magit consult-projectile projectile embark-consult embark marginalia orderless consult vertico modus-themes org-roam-ui org-roam magit-section emacsql-sqlite use-package))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful.