Last active
June 20, 2020 10:55
-
-
Save mbrc12/ae5b3be24ca895b825627177c562b9eb to your computer and use it in GitHub Desktop.
My current emacs config.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(setq inhibit-splash-screen t) | |
(tool-bar-mode -1) | |
(toggle-scroll-bar -1) | |
(add-to-list 'default-frame-alist | |
'(vertical-scroll-bars . nil)) | |
(menu-bar-mode -1) | |
(show-paren-mode 1) | |
(setq-default tab-width 4) | |
(setq indent-tabs-mode nil) | |
(add-to-list 'default-frame-alist | |
'(fullscreen . maximized)) | |
(add-hook 'after-init-hook 'global-display-line-numbers-mode) | |
(global-hl-line-mode 1) | |
(setq speedbar-show-unknown-files t) | |
(setq split-width-threshold 1) | |
(setq split-height-threshold nil) | |
;; Wrapping enabled | |
(setq-default truncate-lines 1) | |
(defun commenter () | |
;; Comments a selected line, see binding for ";" in evil package usage. | |
(interactive) | |
(comment-or-uncomment-region | |
(line-beginning-position) | |
(line-end-position)) | |
(forward-line)) | |
;; Do not litter this init.el | |
(setq custom-file "~/.emacs.d/custom.el") | |
(load custom-file) | |
(load "~/.emacs.d/move-border.el") | |
;; For straight.el -- package management | |
(defvar bootstrap-version) | |
(let ((bootstrap-file | |
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) | |
(bootstrap-version 5)) | |
(unless (file-exists-p bootstrap-file) | |
(with-current-buffer | |
(url-retrieve-synchronously | |
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" | |
'silent 'inhibit-cookies) | |
(goto-char (point-max)) | |
(eval-print-last-sexp))) | |
(load bootstrap-file nil 'nomessage)) | |
;; Load use-package | |
(straight-use-package 'use-package) | |
;;;;;; | |
(use-package sudo-edit | |
:straight t) | |
;;;;;; | |
(use-package flycheck | |
:straight t | |
:hook | |
(prog-mode . flycheck-mode)) | |
;;;;;; | |
(use-package company | |
:straight t | |
:init | |
(setq company-idle-delay 0) | |
(setq company-minimum-prefix-length 1) | |
:config | |
(add-to-list 'company-backends 'company-dabbrev t) | |
:hook | |
(after-init . global-company-mode)) | |
;;;;;; | |
(use-package kaolin-themes | |
:straight t | |
:config | |
(load-theme 'kaolin-aurora t)) | |
;;;;;; | |
(use-package smartparens | |
:straight t | |
:config | |
(smartparens-global-mode t)) | |
;;;;;;; | |
(use-package sr-speedbar | |
:straight t | |
:config | |
(global-set-key (kbd "M-1") 'sr-speedbar-toggle)) | |
;;;;;; | |
(use-package evil | |
:straight t | |
:init | |
(setq evil-want-keybinding nil) | |
:config | |
(evil-mode 1) | |
(define-key evil-normal-state-map (kbd "M-p") 'cargo-process-run) | |
(define-key evil-normal-state-map (kbd "M-q") 'delete-other-windows) | |
(define-key evil-normal-state-map (kbd "M-w") 'delete-window) | |
(define-key evil-normal-state-map (kbd ";") 'commenter) | |
(define-key evil-visual-state-map (kbd ";") 'comment-or-uncomment-region) | |
(define-key evil-normal-state-map (kbd "]]") 'move-border-right) | |
(define-key evil-normal-state-map (kbd "[[") 'move-border-left) | |
(define-key evil-normal-state-map (kbd "ww") 'other-window) | |
(define-key evil-normal-state-map (kbd "--h") 'split-window-horizontally) | |
(define-key evil-normal-state-map (kbd "--v") 'split-window-vertically) | |
(evil-ex-define-cmd "q" 'kill-this-buffer) | |
(evil-ex-define-cmd "quit" 'evil-quit)) | |
;;;;;; | |
(use-package evil-collection | |
:straight t | |
:config | |
(evil-collection-init)) | |
;;;;;; | |
(use-package ivy | |
:straight t | |
:config | |
(ivy-mode 1)) | |
;;;;;; | |
(use-package smex | |
:straight t | |
:config | |
(smex-initialize) | |
(global-set-key (kbd "M-x") 'smex)) | |
;;;;;; | |
(use-package lsp-mode | |
:straight t | |
:init | |
(setq lsp-pyls-server-command "/home/mbrc/Software/Anaconda/anaconda3/bin/pyls") | |
:commands | |
lsp | |
:hook | |
((rust-mode . lsp) | |
(python-mode . lsp))) | |
;;;;;; | |
(use-package clojure-mode | |
:straight t) | |
;;;;;; | |
(use-package cider | |
:straight t | |
:config | |
(evil-define-key 'normal cider-mode-map (kbd "ceb") 'cider-eval-buffer) | |
(evil-define-key 'normal cider-mode-map (kbd "cen") 'cider-eval-ns-form) | |
(evil-define-key 'normal cider-mode-map (kbd "cer") 'cider-eval-region) | |
(evil-define-key 'normal cider-mode-map (kbd "ci") 'cider-interrupt) | |
(evil-define-key 'normal cider-mode-map (kbd "cd") 'cider-doc) | |
(evil-define-key 'normal cider-mode-map (kbd "cee") 'cider-eval-last-sexp)) | |
;;;;;; | |
(use-package rust-mode | |
:straight t) | |
;;;;;; | |
(use-package go-mode | |
:straight t) | |
;;;;;; | |
(use-package fish-mode | |
:straight t) | |
;;;;;; | |
(use-package cargo | |
:straight t) | |
;;;;;; | |
(use-package lsp-ivy | |
:straight t | |
:commands lsp-ivy-workspace-symbol) | |
;;;;;; | |
(use-package lsp-treemacs | |
:straight t | |
:commands lsp-treemacs-errors-list) | |
;;;;;; | |
(use-package lsp-ui | |
:straight t | |
:commands | |
lsp-ui-mode | |
:config | |
(lsp-ui-peek-enable t) | |
(lsp-ui-doc-enable t) | |
(setq lsp-ui-sideline-show-diagnostics t) | |
(setq lsp-ui-sideline-show-hover t) | |
(setq lsp-ui-sideline-show-symbol t)) | |
;;;;;; | |
(use-package company-lsp | |
:straight t) | |
;;;;;; | |
(use-package toml-mode | |
:straight t) | |
;;;;;; | |
(use-package flycheck-rust | |
:straight t | |
:config | |
(add-hook 'flycheck-mode-hook #'flycheck-rust-setup)) | |
;;;;;; --- Modeline configuration | |
(use-package telephone-line | |
:straight t | |
:config | |
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left | |
telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left | |
telephone-line-primary-right-separator 'telephone-line-cubed-right | |
telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right) | |
(setq telephone-line-height 30) | |
(setq telephone-line-lhs | |
'((evil . (telephone-line-evil-tag-segment)) | |
(accent . (telephone-line-vc-segment | |
telephone-line-erc-modified-channels-segment | |
telephone-line-process-segment)) | |
(nil . (telephone-line-buffer-segment)))) | |
(setq telephone-line-rhs | |
'((nil . (telephone-line-misc-info-segment | |
telephone-line-minor-mode-segment)) | |
(accent . (telephone-line-major-mode-segment)) | |
(evil . (telephone-line-airline-position-segment)))) | |
(telephone-line-mode 1)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment