(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)