;; Disable UI elements (setq inhibit-splash-screen t) (menu-bar-mode -1) (toggle-scroll-bar -1) (tool-bar-mode -1) (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) (package-refresh-contents) (when (not (package-installed-p 'use-package)) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) ;; Add personal elisp lib dir (add-to-list 'load-path "~/.emacs.d/lisp/") ;; Auto refresh buffers if the file has been changed on disk (global-auto-revert-mode t) ;; Theme (add-to-list 'custom-theme-load-path "~/.emacs.d/themes") (use-package gruvbox-theme) (load-theme 'gruvbox t) ;; Set the font size (set-face-attribute 'default nil :height 140) ;; Nov.el (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) ;; Org Mode configs (require 'org) (define-key global-map "\C-cl" 'org-store-link) (define-key global-map "\C-ca" 'org-agenda) (setq org-hide-emphasis-markers t) (setq org-log-done t) (setq org-agenda-files (list "~/Journal")) (setq org-todo-keywords '((sequence "TODO" "NEXT" "STARTED" "|" "DONE"))) (font-lock-add-keywords 'org-mode '(("^ *\\([-]\\) " (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) (setq-default fill-column 80) (add-hook 'org-mode-hook 'visual-line-mode) (add-hook 'org-mode-hook (lambda () (set-fill-column 95))) (add-hook 'org-mode-hook 'visual-fill-column-mode) (add-hook 'org-mode-hook (lambda () (org-indent-mode t)) t) (use-package org-bullets :config (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))) (let* ((variable-tuple (cond ((x-list-fonts "Source Sans Pro") '(:font "Source Sans Pro")) ((x-list-fonts "Lucida Grande") '(:font "Lucida Grande")) ((x-list-fonts "Verdana") '(:font "Verdana")) ((x-family-fonts "Sans Serif") '(:family "Sans Serif")) (nil (warn "Cannot find a Sans Serif Font. Install Source Sans Pro.")))) (base-font-color (face-foreground 'default nil 'default)) (headline `(:inherit default))) (custom-theme-set-faces 'user '(org-indent ((t (:inherit (org-hide fixed-pitch))))) `(org-level-8 ((t (,@headline ,@variable-tuple)))) `(org-level-7 ((t (,@headline ,@variable-tuple)))) `(org-level-6 ((t (,@headline ,@variable-tuple)))) `(org-level-5 ((t (,@headline ,@variable-tuple)))) `(org-level-4 ((t (,@headline ,@variable-tuple)))) `(org-level-3 ((t (,@headline ,@variable-tuple)))) `(org-level-2 ((t (,@headline ,@variable-tuple :height 1.05)))) `(org-level-1 ((t (,@headline ,@variable-tuple :height 1.12)))) `(org-document-title ((t (,@headline ,@variable-tuple :height 1.25 :underline nil)))))) (custom-theme-set-faces 'user '(variable-pitch ((t (:family "Source Sans Pro" :height 180 :weight light)))) '(fixed-pitch ((t ( :family "Inconsolata" :slant normal :weight normal :height 1.0 :width normal))))) (require 'ob-java) (add-to-list 'org-babel-load-languages '(java . t)) ;; Configure Language Server Protocol (use-package lsp-mode) (use-package dap-mode) (use-package company) (use-package lsp-ui) (use-package lsp-treemacs) (use-package lsp-java) (use-package rust-mode) (add-hook 'java-mode-hook #'lsp) ;; Automatically open some files in a buffer (use-package treemacs :ensure t :defer t) (find-file "/home/alex/.emacs.d/init.el") (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ido-mode 'both nil (ido)) '(markdown-code-lang-modes '(("ocaml" . tuareg-mode) ("elisp" . emacs-lisp-mode) ("ditaa" . artist-mode) ("asymptote" . asy-mode) ("dot" . fundamental-mode) ("sqlite" . sql-mode) ("calc" . fundamental-mode) ("C" . c-mode) ("cpp" . c++-mode) ("C++" . c++-mode) ("screen" . shell-script-mode) ("shell" . sh-mode) ("bash" . sh-mode) ("html" . html-mode))) '(org-export-backends '(ascii html icalendar latex md odt)) '(org-export-with-toc nil) '(org-tag-faces nil) '(org-tags-column 0) '(package-selected-packages '(rust-mode yaml-mode visual-fill-column nov use-package org-bullets lsp-ui lsp-java htmlize gruvbox-theme flycheck-rust dap-mode company-capf)))