emacs.d/bundle/bundle--package.el

155 lines
3.7 KiB
EmacsLisp

;; 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 nov
:hook (nov-mode . olivetti-mode)
:init
(add-hook 'nov-mode-hook #'shrface-mode)
:config
(require 'shrface)
(setq nov-shr-rendering-functions '((img . nov-render-img) (title . nov-render-title)))
(setq nov-shr-rendering-functions (append nov-shr-rendering-functions shr-external-rendering-functions))
(setq nov-text-width nil
nov-variable-pitch nil))
(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 eglot)
(use-package go-mode
:config
(add-hook 'before-save-hook #'gofmt-before-save)
(add-hook 'go-mode-hook 'eglot-ensure))
(use-package rust-mode
:hook (rust . eglot-ensure))
(use-package typescript-mode
:config
(add-hook 'typescript-mode-hook 'eglot-ensure))
(add-hook 'js-mode-hook 'eglot-ensure)
(use-package web-mode
;; :hook html-mode
:mode "\\.html?\\'"
:custom
(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))
(use-package slime
:custom
(slime-autodoc-use-multiline-p 1)
:config
(setq inferior-lisp-program (executable-find "sbcl"))
(slime-setup '(slime-autodoc
slime-fancy
slime-asdf
slime-indentation
slime-editing-commands
slime-sbcl-exts)))
(use-package powershell)
;; (use-package geiser
;; :config
;; (setq geiser-active-implementations '(racket)))
;; (use-package geiser-racket)
(use-package racket-mode)
(use-package flyspell
:config
;;(add-hook 'text-mode-hook #'flyspell-mode)
;;(add-hook 'prog-mode-hook #'flyspell-prog-mode)
(setq ispell-dictionary "en_US"))
;; :hook (text-mode . flyspell-mode))
(use-package markdown-mode)
(use-package yaml-mode)
(use-package webpaste)
;; (use-package slime-company
;; :after (slime company)
;; :custom (slime-company-after-completion 'slime-company-just-one-space))
(use-package plantuml-mode
:mode "\\.puml?\\'")
(use-package pyvenv)
(add-to-list 'auto-mode-alist '("\\.webmanifest\\'" . js-mode))
(use-package python
:mode ("\\.py\\'" . python-mode)
("\\.wsgi$" . python-mode)
:init
(setq python-indent-offset 4)
(setq-default indent-tabs-mode nil)
:custom
(fill-column 79)
:config
(add-hook 'python-mode-hook 'eglot-ensure))
(use-package csv-mode)
(use-package simple-httpd)
(use-package yaml)
(use-package yaml-mode)
(use-package elpher)
(load "bundle--gui")
(load "bundle--org")
(load "bundle--magit")
(load "bundle--irc")
(load "bundle--news")