165 lines
5.4 KiB
EmacsLisp
165 lines
5.4 KiB
EmacsLisp
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||
|
||
;; Place your private configuration here! Remember, you do not need to run 'doom
|
||
;; sync' after modifying this file!
|
||
|
||
|
||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||
;; clients, file templates and snippets.
|
||
(setq user-full-name "Marc Sastre Rienitz"
|
||
user-mail-address "marc@sastre.cat")
|
||
|
||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||
(setq display-line-numbers-type t)
|
||
|
||
;; Fonts
|
||
(setq doom-font (font-spec :family "Iosevka Nerd Font" :size 15))
|
||
(setq doom-unicode-font (font-spec :family "Iosevka Nerd Font" :size 15))
|
||
|
||
;; Themeing
|
||
(use-package base16-theme
|
||
:init (add-to-list 'custom-theme-load-path "~/.config/doom/themes")
|
||
:ensure t
|
||
:config
|
||
(load-theme 'base16-samfelag t))
|
||
|
||
;; Here are some additional functions/macros that could help you configure Doom:
|
||
;;
|
||
;; - `load!' for loading external *.el files relative to this one
|
||
;; - `use-package!' for configuring packages
|
||
;; - `after!' for running code after a package has loaded
|
||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||
;; this file. Emacs searches the `load-path' when you load packages with
|
||
;; `require' or `use-package'.
|
||
;; - `map!' for binding new keys
|
||
;;
|
||
;; To get information about any of these functions/macros, move the cursor over
|
||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||
;; This will open documentation for it, including demos of how they are used.
|
||
;;
|
||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||
;; they are implemented.
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
|
||
(setq-default tab-width 4)
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; Projectile
|
||
;; -----------------------------------------------------------------------------
|
||
(use-package projectile
|
||
:config
|
||
(setq projectile-project-search-path '("~/projects")))
|
||
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; vterm
|
||
;; -----------------------------------------------------------------------------
|
||
(use-package vterm
|
||
:config
|
||
(setq vterm-shell "zsh"))
|
||
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; elisp
|
||
;; -----------------------------------------------------------------------------
|
||
(use-package parinfer
|
||
:defer t)
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; LSP
|
||
;; -----------------------------------------------------------------------------
|
||
(use-package lsp-mode
|
||
:init
|
||
:hook (;;
|
||
(clojure-mode . lsp-deferred)
|
||
(python-mode . lsp-deferred)
|
||
;; if you want which-key integration
|
||
(lsp-mode . lsp-enable-which-key-integration))
|
||
:commands (lsp lsp-deferred))
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; Python
|
||
;; -----------------------------------------------------------------------------
|
||
(defun my-python-mode-hook ()
|
||
"Do everything I need when entering python mode"
|
||
(setq fill-column 120)
|
||
(add-hook! 'before-save-hook :local #'py-autopep8-buffer #'py-isort-buffer)
|
||
;; accept underscore as part of a word
|
||
(superword-mode 1)
|
||
(modify-syntax-entry ?_ "w" python-mode-syntax-table))
|
||
|
||
(add-hook 'python-mode-hook 'my-python-mode-hook)
|
||
|
||
(use-package py-autopep8
|
||
:config
|
||
(setq py-autopep8-options '("--max-line-length=120")))
|
||
|
||
(use-package pipenv
|
||
:config
|
||
(setq pipenv-with-projectile t)
|
||
(setenv "PIPENV_MAX_DEPTH" "10"))
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; Org
|
||
;; -----------------------------------------------------------------------------
|
||
|
||
(setq org-directory "~/org/")
|
||
|
||
; (use-package org-roam
|
||
; :ensure t
|
||
; :init
|
||
; (setq org-roam-v2-ack t)
|
||
; :custom
|
||
; (org-roam-directory "~/org-roam")
|
||
; (org-roam-capture-templates
|
||
; '(("d" "default" plain "%?"
|
||
; :target (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
|
||
; :unnarrowed t)
|
||
; ("m" "màquina" plain (file "~/org-roam/templates/maquina.org")
|
||
; :target (file "%<%Y%m%d%H%M%S>-${slug}.org")
|
||
; :unnarrowed t)
|
||
; ("s" "software" plain (file "~/org-roam/templates/software.org")
|
||
; :target (file "%<%Y%m%d%H%M%S>-${slug}.org")
|
||
; :unnarrowed t)))
|
||
; :config
|
||
; (org-roam-setup))
|
||
;
|
||
; (use-package! websocket
|
||
; :after org-roam)
|
||
;
|
||
; (use-package! org-roam-ui
|
||
; :after org-roam ;; or :after org
|
||
; ;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
|
||
; ;; a hookable mode anymore, you're advised to pick something yourself
|
||
; ;; if you don't care about startup time, use
|
||
; ;; :hook (after-init . org-roam-ui-mode)
|
||
; :config
|
||
; (setq org-roam-ui-sync-theme t
|
||
; org-roam-ui-follow t
|
||
; org-roam-ui-update-on-save t
|
||
; org-roam-ui-open-on-start nil))
|
||
|
||
;; -----------------------------------------------------------------------------
|
||
;; Appearance - Prettify
|
||
;; -----------------------------------------------------------------------------
|
||
(load! "modules/prettify-utils.el")
|
||
|
||
(pretty-hook python-mode
|
||
("def" "")
|
||
;; ("class" "𝙘")
|
||
("None" "∅")
|
||
("lambda" "λ")
|
||
("not in" "∉")
|
||
("in" "∈"))
|
||
|
||
|
||
|
||
(pretty-hook emacs-lisp-mode)
|
||
;; ("defun" "𝙛")
|
||
|
||
;; (pretty-hook org-mode
|
||
;; ("[ ]" "☐")
|
||
;; ("[X]" "☑"))
|