Better startup (and better terminal mode)
This commit is contained in:
parent
3501226351
commit
8f3148cf04
1 changed files with 18 additions and 3 deletions
332
emacs-init.el
Normal file
332
emacs-init.el
Normal file
|
|
@ -0,0 +1,332 @@
|
|||
(require 'package)
|
||||
(set-language-environment "UTF-8")
|
||||
(set-default-coding-systems 'utf-8)
|
||||
(setq package-enable-at-startup nil)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||
;;(add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/"))
|
||||
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/"))
|
||||
(package-initialize)
|
||||
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
(require 'diminish)
|
||||
(require 'bind-key)
|
||||
|
||||
(use-package better-defaults
|
||||
:ensure t)
|
||||
|
||||
(use-package powerline
|
||||
:ensure t
|
||||
:config
|
||||
(powerline-default-theme)
|
||||
:init
|
||||
)
|
||||
|
||||
;; helm
|
||||
(use-package helm
|
||||
:ensure t
|
||||
:bind (("M-x" . helm-M-x)
|
||||
("C-x C-f" . helm-find-files)
|
||||
("C-x b" . helm-mini)
|
||||
("C-x C-d" . helm-browse-project)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package helm-themes
|
||||
:ensure t)
|
||||
(use-package helm-tramp
|
||||
:ensure t)
|
||||
|
||||
(use-package unicode-fonts
|
||||
:ensure t
|
||||
:init (unicode-fonts-setup)
|
||||
)
|
||||
|
||||
(use-package company
|
||||
:ensure t
|
||||
:init (global-company-mode)
|
||||
:config
|
||||
(progn
|
||||
;; use company for completion
|
||||
(bind-key [remap completion-at-point] #'company-complete company-mode-map)
|
||||
|
||||
(setq company-tooltip-align-annotations t
|
||||
;; Easy navigation to candidates with M-<n>
|
||||
company-show-numbers t)
|
||||
)
|
||||
:diminish company-mode
|
||||
)
|
||||
|
||||
(use-package company-quickhelp ; Documentation popups for Company
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (add-hook 'global-company-mode-hook #'company-quickhelp-mode))
|
||||
|
||||
(use-package company-go
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'company
|
||||
(add-to-list 'company-backends 'company-go)))
|
||||
|
||||
(use-package flycheck
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (add-hook 'sh-mode-hook 'flycheck-mode)
|
||||
)
|
||||
|
||||
(use-package yasnippet
|
||||
:ensure t
|
||||
:init (yas-global-mode 1)
|
||||
)
|
||||
|
||||
(use-package go-mode
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(setq gofmt-command "goimports")
|
||||
(add-hook 'before-save-hook 'gofmt-before-save)
|
||||
(bind-key [remap find-tag] #'godef-jump))
|
||||
:config
|
||||
(add-hook 'go-mode-hook 'electric-pair-mode)
|
||||
(setq company-tooltip-limit 20)
|
||||
(setq company-idle-delay .3)
|
||||
(setq company-echo-delay 0)
|
||||
(setq company-begin-commands '(self-insert-command))
|
||||
)
|
||||
|
||||
(use-package markdown-mode
|
||||
:ensure t)
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:bind (("C-x g" . magit-status)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package paradox
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package helm-unicode
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package color-theme-solarized
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package subatomic256-theme
|
||||
:ensure t
|
||||
:defer t
|
||||
)
|
||||
|
||||
;; kill the damned gnu screen
|
||||
(setq inhibit-startup-screen t)
|
||||
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-faces-vector
|
||||
[default default default italic underline success warning error])
|
||||
'(ansi-color-names-vector
|
||||
(vector "#c5c8c6" "#cc6666" "#b5bd68" "#f0c674" "#81a2be" "#b294bb" "#8abeb7" "#373b41"))
|
||||
'(ansi-term-color-vector
|
||||
[unspecified "#000000" "#ff6c60" "#a8ff60" "#ffffb6" "#96cbfe" "#ff73fd" "#96cbfe" "#b5b3aa"])
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("8db4b03b9ae654d4a57804286eb3e332725c84d7cdab38463cb6b97d5762ad26" "50ff65ab3c92ce4758cc6cd10ebb3d6150a0e2da15b751d7fbee3d68bba35a94" "d5b121d69e48e0f2a84c8e4580f0ba230423391a78fcb4001ccb35d02494d79e" "5cd0afd0ca01648e1fff95a7a7f8abec925bd654915153fb39ee8e72a8b56a1f" default)))
|
||||
'(fci-rule-color "#373b41")
|
||||
'(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id))
|
||||
'(frame-background-mode (quote dark))
|
||||
'(linum-format "%3i")
|
||||
'(nrepl-message-colors
|
||||
(quote
|
||||
("#336c6c" "#205070" "#0f2050" "#806080" "#401440" "#6c1f1c" "#6b400c" "#23733c")))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(roguel-ike helm-unicode unicode-fonts color-theme-sanityinc-tomorrow color-theme-solarized distinguished-theme alect-themes bubbleberry-theme go-snippets company-go cyberpunk-theme dad-joke darkane-theme darkmine-theme helm-themes markdown-mode anti-zenburn-theme helm-tramp magit use-package powerline paradox helm)))
|
||||
'(paradox-github-token t)
|
||||
'(pdf-view-midnight-colors (quote ("#232333" . "#c7c7c7")))
|
||||
'(powerline-color1 "#3d3d68")
|
||||
'(powerline-color2 "#292945")
|
||||
'(tool-bar-mode nil)
|
||||
'(vc-annotate-background "#d4d4d4")
|
||||
'(vc-annotate-color-map
|
||||
(quote
|
||||
((20 . "#437c7c")
|
||||
(40 . "#336c6c")
|
||||
(60 . "#205070")
|
||||
(80 . "#2f4070")
|
||||
(100 . "#1f3060")
|
||||
(120 . "#0f2050")
|
||||
(140 . "#a080a0")
|
||||
(160 . "#806080")
|
||||
(180 . "#704d70")
|
||||
(200 . "#603a60")
|
||||
(220 . "#502750")
|
||||
(240 . "#401440")
|
||||
(260 . "#6c1f1c")
|
||||
(280 . "#935f5c")
|
||||
(300 . "#834744")
|
||||
(320 . "#732f2c")
|
||||
(340 . "#6b400c")
|
||||
(360 . "#23733c"))))
|
||||
'(vc-annotate-very-old-color "#23733c"))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(default ((t (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 142 :width normal :foundry "unci" :family "MonofurForPowerline Nerd Font"))))
|
||||
'(fixed-pitch ((t (:family "Iosevka")))))
|
||||
|
||||
;;; Fira code
|
||||
;; This works when using emacs --daemon + emacsclient
|
||||
(add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")))
|
||||
;; This works when using emacs without server/client
|
||||
(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")
|
||||
;; I haven't found one statement that makes both of the above situations work, so I use both for now
|
||||
|
||||
(defconst fira-code-font-lock-keywords-alist
|
||||
(mapcar (lambda (regex-char-pair)
|
||||
`(,(car regex-char-pair)
|
||||
(0 (prog1 ()
|
||||
(compose-region (match-beginning 1)
|
||||
(match-end 1)
|
||||
;; The first argument to concat is a string containing a literal tab
|
||||
,(concat " " (list (decode-char 'ucs (cadr regex-char-pair)))))))))
|
||||
'(("\\(www\\)" #Xe100)
|
||||
("[^/]\\(\\*\\*\\)[^/]" #Xe101)
|
||||
("\\(\\*\\*\\*\\)" #Xe102)
|
||||
("\\(\\*\\*/\\)" #Xe103)
|
||||
("\\(\\*>\\)" #Xe104)
|
||||
("[^*]\\(\\*/\\)" #Xe105)
|
||||
("\\(\\\\\\\\\\)" #Xe106)
|
||||
("\\(\\\\\\\\\\\\\\)" #Xe107)
|
||||
("\\({-\\)" #Xe108)
|
||||
("\\(\\[\\]\\)" #Xe109)
|
||||
("\\(::\\)" #Xe10a)
|
||||
("\\(:::\\)" #Xe10b)
|
||||
("[^=]\\(:=\\)" #Xe10c)
|
||||
("\\(!!\\)" #Xe10d)
|
||||
("\\(!=\\)" #Xe10e)
|
||||
("\\(!==\\)" #Xe10f)
|
||||
("\\(-}\\)" #Xe110)
|
||||
("\\(--\\)" #Xe111)
|
||||
("\\(---\\)" #Xe112)
|
||||
("\\(-->\\)" #Xe113)
|
||||
("[^-]\\(->\\)" #Xe114)
|
||||
("\\(->>\\)" #Xe115)
|
||||
("\\(-<\\)" #Xe116)
|
||||
("\\(-<<\\)" #Xe117)
|
||||
("\\(-~\\)" #Xe118)
|
||||
("\\(#{\\)" #Xe119)
|
||||
("\\(#\\[\\)" #Xe11a)
|
||||
("\\(##\\)" #Xe11b)
|
||||
("\\(###\\)" #Xe11c)
|
||||
("\\(####\\)" #Xe11d)
|
||||
("\\(#(\\)" #Xe11e)
|
||||
("\\(#\\?\\)" #Xe11f)
|
||||
("\\(#_\\)" #Xe120)
|
||||
("\\(#_(\\)" #Xe121)
|
||||
("\\(\\.-\\)" #Xe122)
|
||||
("\\(\\.=\\)" #Xe123)
|
||||
("\\(\\.\\.\\)" #Xe124)
|
||||
("\\(\\.\\.<\\)" #Xe125)
|
||||
("\\(\\.\\.\\.\\)" #Xe126)
|
||||
("\\(\\?=\\)" #Xe127)
|
||||
("\\(\\?\\?\\)" #Xe128)
|
||||
("\\(;;\\)" #Xe129)
|
||||
("\\(/\\*\\)" #Xe12a)
|
||||
("\\(/\\*\\*\\)" #Xe12b)
|
||||
("\\(/=\\)" #Xe12c)
|
||||
("\\(/==\\)" #Xe12d)
|
||||
("\\(/>\\)" #Xe12e)
|
||||
("\\(//\\)" #Xe12f)
|
||||
("\\(///\\)" #Xe130)
|
||||
("\\(&&\\)" #Xe131)
|
||||
("\\(||\\)" #Xe132)
|
||||
("\\(||=\\)" #Xe133)
|
||||
("[^|]\\(|=\\)" #Xe134)
|
||||
("\\(|>\\)" #Xe135)
|
||||
("\\(\\^=\\)" #Xe136)
|
||||
("\\(\\$>\\)" #Xe137)
|
||||
("\\(\\+\\+\\)" #Xe138)
|
||||
("\\(\\+\\+\\+\\)" #Xe139)
|
||||
("\\(\\+>\\)" #Xe13a)
|
||||
("\\(=:=\\)" #Xe13b)
|
||||
("[^!/]\\(==\\)[^>]" #Xe13c)
|
||||
("\\(===\\)" #Xe13d)
|
||||
("\\(==>\\)" #Xe13e)
|
||||
("[^=]\\(=>\\)" #Xe13f)
|
||||
("\\(=>>\\)" #Xe140)
|
||||
("\\(<=\\)" #Xe141)
|
||||
("\\(=<<\\)" #Xe142)
|
||||
("\\(=/=\\)" #Xe143)
|
||||
("\\(>-\\)" #Xe144)
|
||||
("\\(>=\\)" #Xe145)
|
||||
("\\(>=>\\)" #Xe146)
|
||||
("[^-=]\\(>>\\)" #Xe147)
|
||||
("\\(>>-\\)" #Xe148)
|
||||
("\\(>>=\\)" #Xe149)
|
||||
("\\(>>>\\)" #Xe14a)
|
||||
("\\(<\\*\\)" #Xe14b)
|
||||
("\\(<\\*>\\)" #Xe14c)
|
||||
("\\(<|\\)" #Xe14d)
|
||||
("\\(<|>\\)" #Xe14e)
|
||||
("\\(<\\$\\)" #Xe14f)
|
||||
("\\(<\\$>\\)" #Xe150)
|
||||
("\\(<!--\\)" #Xe151)
|
||||
("\\(<-\\)" #Xe152)
|
||||
("\\(<--\\)" #Xe153)
|
||||
("\\(<->\\)" #Xe154)
|
||||
("\\(<\\+\\)" #Xe155)
|
||||
("\\(<\\+>\\)" #Xe156)
|
||||
("\\(<=\\)" #Xe157)
|
||||
("\\(<==\\)" #Xe158)
|
||||
("\\(<=>\\)" #Xe159)
|
||||
("\\(<=<\\)" #Xe15a)
|
||||
("\\(<>\\)" #Xe15b)
|
||||
("[^-=]\\(<<\\)" #Xe15c)
|
||||
("\\(<<-\\)" #Xe15d)
|
||||
("\\(<<=\\)" #Xe15e)
|
||||
("\\(<<<\\)" #Xe15f)
|
||||
("\\(<~\\)" #Xe160)
|
||||
("\\(<~~\\)" #Xe161)
|
||||
("\\(</\\)" #Xe162)
|
||||
("\\(</>\\)" #Xe163)
|
||||
("\\(~@\\)" #Xe164)
|
||||
("\\(~-\\)" #Xe165)
|
||||
("\\(~=\\)" #Xe166)
|
||||
("\\(~>\\)" #Xe167)
|
||||
("[^<]\\(~~\\)" #Xe168)
|
||||
("\\(~~>\\)" #Xe169)
|
||||
("\\(%%\\)" #Xe16a)
|
||||
;; ("\\(x\\)" #Xe16b) This ended up being hard to do properly so i'm leaving it out.
|
||||
("[^:=]\\(:\\)[^:=]" #Xe16c)
|
||||
("[^\\+<>]\\(\\+\\)[^\\+<>]" #Xe16d)
|
||||
("[^\\*/<>]\\(\\*\\)[^\\*/<>]" #Xe16f))))
|
||||
|
||||
(defun add-fira-code-symbol-keywords ()
|
||||
(font-lock-add-keywords nil fira-code-font-lock-keywords-alist))
|
||||
|
||||
(if window-system
|
||||
(add-hook 'prog-mode-hook
|
||||
#'add-fira-code-symbol-keywords)
|
||||
)
|
||||
|
||||
(if window-system
|
||||
(load-theme 'anti-zenburn t)
|
||||
(load-theme 'subatomic256 t))
|
||||
|
||||
; screen size is off for some reason uless this is toggled on and off
|
||||
(menu-bar-mode)
|
||||
(menu-bar-mode)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue