Skip to content

Instantly share code, notes, and snippets.

@OrangeDrangon
Last active November 7, 2020 22:53
Show Gist options
  • Save OrangeDrangon/49b32e931978d62aeea4ac59e6a30d96 to your computer and use it in GitHub Desktop.
Save OrangeDrangon/49b32e931978d62aeea4ac59e6a30d96 to your computer and use it in GitHub Desktop.
Emacs Config
;; .emacs.d/init.el
;; ===================================
;; Basic Customization
;; ===================================
;; Disable Startup Message
(setq inhibit-startup-message t)
;; Disable the bars
(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
;; Line highlight and numbers
(global-display-line-numbers-mode)
(line-number-mode t)
;; Set default font
(set-face-attribute 'default nil
:family "Fira Code"
:height 120
:weight 'normal
:width 'normal)
;; Increase GC Threshold
(setq gc-cons-threshold (* 100 1000 1000)) ;; 100mb
;; Increase data emacs reads from processes
;; (setq read-process-output-max (* 1024 1024)) ;; 1mb
;; It claims this setting is not a thing :(
;; Enable Spell Check
(dolist (hook '(text-mode-hook))
(add-hook hook (lambda () (flyspell-mode 1))))
;; ===================================
;; MELPA Package Support
;; ===================================
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(when (not (package-installed-p 'use-package))
(package-refresh-contents)
(package-install 'use-package))
(use-package flycheck
:ensure t
:hook (prog-mode . flycheck-mode))
(use-package company
:ensure t
:hook (prog-mode . company-mode)
:hook (tex-mode . company-mode)
:commands company-lsp
:config
(setq company-idle-delay 0.0 company-minimum-prefix-length 1)
(push 'company-lsp company-backends))
(use-package company-math
:ensure t
:after company
:config
(setq-local company-backends
(append '((company-math-symbols-latex company-latex-commands))
company-backends)))
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
(use-package treemacs
:ensure t
:defer t
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t t" . treemacs)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-magit
:after treemacs magit
:ensure t)
(use-package smartparens
:ensure t
:hook (prog-mode . smartparens-mode)
:config (use-package smartparens-config))
(use-package fira-code-mode
:ensure t
:custom (fira-code-mode-disabled-ligatures '("[]" "#{" "#(" "#_" "#_(" "x"))
:hook prog-mode)
(use-package toml-mode
:ensure t)
(use-package rust-mode
:ensure t)
(use-package cargo
:ensure t
:diminish cargo-minor-mode
:hook (rust-mode . cargo-minor-mode))
(use-package lsp-mode
:ensure t
:hook ((prog-mode . lsp-deferred)
(tex-mode . lsp-deferred))
:commands (lsp lsp-deferred))
(use-package lsp-ui
:ensure t
:commands lsp-ui-mode)
(use-package lsp-treemacs
:after treemacs lsp-mode
:ensure t
:commands lsp-treemacs-errors-list)
(use-package wc-mode
:ensure t)
(use-package yasnippet
:ensure t
:config (yas-global-mode 1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment