.emacs.d/packages.el

162 lines
3.5 KiB
EmacsLisp

(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
;; Manually installed modes
(add-to-list 'load-path "~/.emacs.d/plugins/")
;; Package
(require 'package)
(setq package-archives '(("gnu" . "http://mirrors.163.com/elpa/gnu/")
("melpa" . "https://melpa.org/packages/")))
(package-initialize)
;; use-package
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
;; auto-package-update automatically updates packages and removes old ones
(use-package auto-package-update
:ensure t
:config
(setq auto-package-update-delete-old-versions t)
(setq auto-package-update-hide-results t)
(auto-package-update-maybe)
)
;; support color theme
(use-package autothemer
:ensure t)
(use-package basic-theme
:ensure t)
;; better incremental search with minibuffer
(use-package swiper
:ensure t
:bind ("C-s" . 'swiper))
;; (use-package almost-mono-themes
;; :ensure t
;; :init
;; (load-theme 'almost-mono-black t))
;; Languages
(use-package nasm-mode
:ensure t
:config
(add-to-list 'auto-mode-alist '("\\.\\(asm\\|s\\)$" . nasm-mode))
(setq nasm-basic-offset 4))
(use-package haskell-mode
:ensure t
:init
(add-hook 'haskell-mode-hook 'interactive-haskell-mode))
(use-package go-mode
:ensure t)
(use-package rust-mode
:ensure t)
(use-package elpher
:ensure t)
(use-package slime
:ensure t
:config
(setq inferior-lisp-program "sbcl"))
(use-package geiser
:ensure t
:config
(add-hook 'geiser-mode-hook
(lambda ()
(define-key geiser-mode-map (kbd "C-c C-c") nil) ;; remove default C-c C-c binding
(local-set-key (kbd "C-c C-c") (lambda ()
(interactive)
(flash-region)
(geiser-eval-definition))))))
(use-package geiser-guile
:ensure t)
(use-package geiser-chicken
:ensure t
:config
(setq geiser-chicken-binary "chicken-csi"))
(use-package disaster
:ensure t
:config
(add-hook 'c-mode-hook
(lambda () (local-set-key (kbd "C-c d") #'disaster))))
(use-package undo-tree
:ensure t
:bind
("C-_" . 'undo-tree-undo)
("M-_" . 'undo-tree-redo)
:config
(global-undo-tree-mode))
(use-package dashboard
:ensure t
:config
(setq dashboard-banner-logo-title "")
(setq dashboard-startup-banner 'logo) ; add own image?
(setq dashboard-center-content t)
(setq dashboard-set-footer nil)
(dashboard-setup-startup-hook))
(use-package expand-region
:ensure t
:config
(global-set-key (kbd "C-=") 'er/expand-region)
(pending-delete-mode t)) ; if you start typing while a word is selected, overwrite it
(use-package move-text
:ensure t
:config
(global-set-key (kbd "M-p") 'move-text-up)
(global-set-key (kbd "M-n") 'move-text-down))
(use-package multiple-cursors
:ensure t
:config
(global-set-key (kbd "C->") 'mc/mark-next-like-this))
(use-package paredit
:ensure t
:config
(add-hook 'scheme-mode-hook 'paredit-mode)
(add-hook 'lisp-mode-hook 'paredit-mode)
(add-hook 'emacs-lisp-mode-hook 'paredit-mode))
;; jump to definitions and files with M-.
(use-package dumb-jump
:ensure t
:config
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate))
;; avy - jump around files more easily
(use-package avy
:ensure t
:bind ("M-s" . avy-goto-char))
;; self explanatory
(use-package magit
:ensure t)
(use-package ido
:ensure t
:config
(ido-mode))
;; (use-package flycheck
;; :ensure t
;; :config
;; )
(provide 'packages)