;; Keep emacs folder tidy. (use-package no-littering) ;; Disables the doom splash screen (setq inhibit-startup-message t) (set-fringe-mode 10) ;; scroll 1 line at a time (setq scroll-step 1) ;; Set visible bell (setq visible-bell t) (dolist (mode '(org-mode-hook shell-mode-hook)) (add-hook mode (lambda () (display-line-numbers-mode 0)))) ;; Configure Modus theme (use-package modus-themes :init (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(accented bg-only no-extend) modus-themes-org-blocks 'greyscale modus-themes-paren-match 'intense modus-themes-mixed-fonts t) ;; Load the theme files before enabling a theme (modus-themes-load-themes) :config (modus-themes-load-vivendi) ;; OR (modus-themes-load-vivendi) :bind ("" . modus-themes-toggle)) ;; Set fonts (set-face-attribute 'default nil :font "Fira Code" :height 125 :weight 'medium) (set-face-attribute 'variable-pitch nil :font "Fira Sans" :height 1.0 :weight 'regular) (set-face-attribute 'fixed-pitch nil :font "Fira Code" :height 1.0 :weight 'medium) ;; Set agenda files (setq org-agenda-files '("~/org/planner.org")) (defun rymacs/org-mode-setup () (org-indent-mode) (variable-pitch-mode 1) (visual-line-mode 1)) (defun rymacs/org-mode-visual-fill () (setq visual-fill-column-width 100 visual-fill-column-center-text t) (visual-fill-column-mode 1)) (use-package visual-fill-column :hook (org-mode . rymacs/org-mode-visual-fill)) ;; Change dashes to dots (defun rymacs/org-font-setup () (font-lock-add-keywords 'org-mode '(("^ *\\([-]\\) " (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) ;; Set faces for heading levels (dolist (face '((org-level-1 . 1.2) (org-level-2 . 1.1) (org-level-3 . 1.05) (org-level-4 . 1.0) (org-level-5 . 1.1) (org-level-6 . 1.1) (org-level-7 . 1.1) (org-level-8 . 1.1))) (set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face))) ;; Ensure that anything that should be fixed-pitch in Org files appears that way (set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch) (set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch)) (set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch)) (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch)) (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch)) (set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch)) (set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)) ;; Change ellipsis to triangles (use-package org :hook (org-mode . rymacs/org-mode-setup) :config (setq org-ellipsis " ▾") (rymacs/org-font-setup)) ;; Change default pretty bullets to circles (use-package org-bullets :after org :hook (org-mode . org-bullets-mode) :custom (org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●"))) (defun rymacs/org-mode-visual-fill () (setq visual-fill-column-width 100 visual-fill-column-center-text t) (visual-fill-column-mode 1)) (use-package visual-fill-column :hook (org-mode . rymacs/org-mode-visual-fill)) ;; Load languages for babel code blocks. (with-eval-after-load 'org (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (python .t))) (push '("conf-unix" . conf-unix) org-src-lang-modes)) ;; Make shortcuts to easily create babel source code blocks. (with-eval-after-load 'org (require 'org-tempo) (add-to-list 'org-structure-template-alist '("sh" . "src shell")) (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) (add-to-list 'org-structure-template-alist '("py" . "src python"))) ;; ;; Define a function that automatically executes rymacs/org-babel-tangle-config (a wrapper around org-babel-tangle) when saving this file. ;; (defun rymacs/org-babel-tangle-config () ;; (when (string-equal (file-name-directory (buffer-file-name)) ;; (expand-file-name "~/.dotfiles/.config/doom")) ;; (let ((org-confirm-babel-evaluate nil)) ;; (org-babel-tangle)))) ;; (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'rymacs/org-babel-tangle-config))) (defun connect-borg () (interactive) (dired "/ssh:root@207.66.177.26#46668:/")) (setq backup-directory-alist `(("." . ,(concat user-emacs-directory "backups")))) (customize-set-variable 'tramp-backup-directory-alist backup-directory-alist) (setq tramp-auto-save-directory "~/.dotfiles/.config/emacs/backups/remote")