aboutsummaryrefslogtreecommitdiff
path: root/modules/workstation/emacs/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/workstation/emacs/init.el')
-rw-r--r--modules/workstation/emacs/init.el85
1 files changed, 85 insertions, 0 deletions
diff --git a/modules/workstation/emacs/init.el b/modules/workstation/emacs/init.el
new file mode 100644
index 00000000000..301ce00a0df
--- /dev/null
+++ b/modules/workstation/emacs/init.el
@@ -0,0 +1,85 @@
+;; Kookie's emacs config
+
+;; More sane line-number behaviour
+(setq display-line-numbers-grow-only 1)
+(setq display-line-numbers-width-start 1)
+(global-display-line-numbers-mode 1)
+
+;; I just need my personal space
+(setq tab-width 2)
+(setq-default indent-tabs-mode nil)
+(defvaralias 'c-basic-offset 'tab-width)
+(defvaralias 'cperl-indent-level 'tab-width)
+
+;;disable splash screen and startup message
+(setq inhibit-startup-message 1)
+(setq initial-scratch-message nil)
+
+;; Swap/Backup files are annoying AF
+(setq make-backup-files nil)
+(setq auto-save-default nil)
+
+;; Some editing niceties
+(delete-selection-mode 1)
+(show-paren-mode 1)
+
+;; Explicitly enable lsp-mode for certain languages
+(add-hook 'rust-mode-hook #'lsp)
+(add-hook 'c-mode-hook #'lsp)
+(add-hook 'c++-mode-hook #'lsp)
+
+(menu-bar-mode -1)
+(tool-bar-mode -1)
+(scroll-bar-mode -1)
+
+(add-hook 'java-mode-hook (local-unset-key "M-a"))
+;; (add-hook 'prog-mode-hook (local-unset-key "M-a"))
+
+(column-number-mode 1)
+(ido-mode 1)
+(add-hook 'find-file-hook (lambda () (ruler-mode 1)))
+
+(require 'color-theme-sanityinc-tomorrow)
+(load-theme 'sanityinc-tomorrow-eighties)
+
+;; More ergonomic keybindings
+(require 'ergoemacs-mode)
+(setq ergoemacs-theme nil)
+(setq ergoemacs-keyboard-layout "us")
+(ergoemacs-mode 1)
+
+;; VTerm integration
+(require 'vterm)
+
+;; Distraction free mode and minimap
+(require 'sublimity)
+(require 'sublimity-map)
+(require 'sublimity-attractive)
+
+(setq sublimity-map-size 10)
+(setq sublimity-map-fraction 0.5)
+(setq sublimity-map-text-scale -7)
+
+;; Display minimap without delay
+(sublimity-map-set-delay nil)
+
+;; This is require for lsp-mode
+(require 'yasnippet)
+
+;; Better completion handling with lsp-mode
+(require 'company-lsp)
+(push 'company-lsp company-backends)
+(setq lsp-ui-doc-max-width 45)
+(setq lsp-ui-doc-max-height 10)
+
+;; Turns out I'm a huge dork
+(setq emacs-anchor default-directory)
+(defun mitosis () (interactive) (make-frame))
+
+;; Setup RSS feeds
+(setq elfeed-feeds
+ '(("https://alyssa.is/feed.xml" girlfriend blog)
+ ("https://spacekookie.de/rss.xml" self blog)
+ ("https://xkcd.com/rss.xml" webcomic)
+ ("https://deterministic.space/feed.xml" rust blog)
+ ))