;; PACKAGE (require 'package) (setq package-archives '(("melpa" . "https://melpa.org/packages/") ("org" . "https://orgmode.org/elpa/") ("elpa" . "https://elpa.gnu.org/packages/"))) (package-initialize) (unless package-archive-contents (package-refresh-contents)) (unless (package-installed-p 'use-package) (package-install 'use-package)) ;; USE-PACKAGE (require 'use-package) (setq use-package-always-ensure t) (use-package company :init (global-company-mode)) (use-package ivy :bind (("C-s" . swiper)) :init (ivy-mode 1) (ivy-rich-mode 1)) (use-package olivetti :custom (olivetti-body-width 82)) (use-package nov :config (setq nov-text-width nil nov-variable-pitch nil) ;;:hook (nov-mode . olivetti-mode)) ) (use-package projectile :init (projectile-mode +1) :config (setq projectile-completion-system (quote ivy))) (define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) (use-package elpy :config (setq elpy-modules '(elpy-module-autodoc elpy-module-company elpy-module-eldoc elpy-module-pyvenv elpy-module-yasnippet) elpy-test-pytest-runner-command '("pytest"))) (use-package pyvenv :init (pyvenv-mode 1)) (use-package typescript-mode) (use-package go-mode) (use-package eglot :hook ((python-mode . eglot-ensure) (c-mode . eglot-ensure) (js-mode . eglot-ensure) (typescript-mode . eglot-ensure) (rust-mode . eglot-ensure) (go-mode . eglot-ensure))) (use-package go-mode :init (add-hook 'before-save-hook #'gofmt-before-save)) (use-package ob-go) (use-package ob-http) (use-package ob-rust) (use-package ob-typescript) (use-package web-mode :mode "\\.html?\\'" :init (dolist (hook '(emmet-mode ac-emmet-html-setup ac-emmet-css-setup)) (add-hook 'web-mode-hook hook)) :config (setq web-mode-markup-indent-offset 2 web-mode-css-indent-offset 2 web-mode-code-indent-offset 2 web-mode-enable-auto-pairing nil web-mode-enable-auto-closing t web-mode-enable-current-element-highlight t web-mode-enable-current-column-highlight t web-mode-ac-sources-alist '(("css" . (ac-source-css-property ac-source-emmet-css-snippets)) ("html" . (ac-source-emmet-html-aliases ac-source-emmet-html-snippets)))) (add-hook 'web-mode-before-auto-complete-hooks '(lambda () (let ((web-mode-cur-language (web-mode-language-at-pos))) (if (string= web-mode-cur-language "css") (setq emmet-use-css-transform t) (setq emmet-use-css-transform nil)))))) (use-package slime :config (setq inferior-lisp-program (executable-find "sbcl"))) (use-package org :config (setq org-babel-lob-ingest "~/Documents/journal/library-of-babel.org") (setq org-agenda-dim-blocked-tasks nil org-agenda-inhibit-startup nil org-agenda-span 14 org-agenda-start-on-weekday nil org-agenda-include-diary t) (setq org-html-doctype "html5" org-html-html5-fancy t org-html-htmlize-output-type nil) (setq org-latex-pdf-process (quote ("latexmk -xelatex -shell-escape -quiet -f %f")) org-latex-compiler "xelatex" org-latex-listings t) (setq org-babel-shell-names (quote ("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")) org-adapt-indentation t org-clock-persist t org-confirm-babel-evaluate nil org-log-done (quote time) org-startup-folded t org-startup-truncated nil org-global-properties (quote (("EFFORT_ALL" . "1:00 2:00 3:00 5:00 8:00 13:00"))) org-todo-keywords (quote ((sequence "OPEN" "TODO" "DOING" "|" "DONE"))) org-export-backends (quote (ascii beamer html icalendar latex md odt confluence)) org-duration-format (quote h:mm) org-src-lang-modes (quote (("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("dot" . fundamental) ("screen" . shell-script) ("shell" . sh) ("C" . c) ("sqlite" . sql) ("plantuml" . plantuml) ("rust" . rust))) org-use-property-inheritance nil org-export-with-sub-superscripts nil org-capture-templates (quote (("t" "Task" entry (file+headline "tasks.org" "Tasks") "* OPEN %?\n\s %u\n\s %a") ("j" "Journal" entry (file+headline "journal.org" "Journal") "* %<%Y-%m-%d %H:%M:%S %p %Z>\n\s %?") ("a" "Appointment today" entry (file+headline "appointments.org" "Appointments") "* %?\n\s %T\n") ("A" "Appointment" entry (file+headline "appointments.org" "Appointments") "* %?\n\s %u\n\s")))) (org-babel-do-load-languages 'org-babel-load-languages (quote ((js . t) (gnuplot . t) (emacs-lisp . t) (python . t) (sqlite . t) (lisp . t) (shell . t) (css . t) (calc . t) (plantuml . t) (C . t) (dot . t) (go . t) (rust . t) (http . t) (typescript . t))))) (use-package helpful :commands (helpful-callable helpful-variable helpful-command helpful-key) :custom (counsel-describe-function-function #'helpful-callable) (counsel-describe-variable-function #'helpful-variable) :bind ([remap describe-function] . counsel-describe-function) ([remap describe-command] . helpful-command) ([remap describe-variable] . counsel-describe-variable) ([remap describe-key] . helpful-key)) (use-package counsel :bind (("C-M-j" . 'counsel-switch-buffer) :map minibuffer-local-map ("C-r" . 'counsel-minibuffer-history)) :custom (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only) :config (counsel-mode 1)) (use-package ox-reveal) (use-package powershell) (use-package all-the-icons) (use-package geiser :config (setq geiser-active-implementations '(guile))) (use-package racket-mode) (use-package doom-modeline :init (doom-modeline-mode 1)) (use-package doom-themes) (use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode))