diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 9bb3aa0..375cde4 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1,136 +1,42 @@ -;;; Package Management +;;; package stuff (require 'package) - -(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) +(dolist (archive '(("gnu" . "https://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/"))) + (add-to-list 'package-archives archive t)) (package-initialize) (unless package-archive-contents (package-refresh-contents)) - (unless (package-installed-p 'use-package) (package-install 'use-package)) - -(setq custom-safe-themes t) - (require 'use-package) (setq use-package-always-ensure t) -;;; Configuration -(setenv "PATH" (concat (getenv "PATH") ":/home/niclas/bin")) -(setq exec-path (append exec-path '("/home/niclas/bin"))) - -(use-package org-bullets - :hook (org-mode . org-bullets-mode) - :custom - (org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●"))) - -;; (use-package ligature -;; :config -;; (ligature-set-ligatures 'prog-mode '("|||>" "<|||" "<==>" "" "---" "-<<" -;; "<~~" "<~>" "<*>" "<||" "<|>" "<$>" "<==" "<=>" "<=<" "<->" -;; "<--" "<-<" "<<=" "<<-" "<<<" "<+>" "" "###" "#_(" "..<" -;; "..." "+++" "/==" "///" "_|_" "www" "&&" "^=" "~~" "~@" "~=" -;; "~>" "~-" "**" "*>" "*/" "||" "|}" "|]" "|=" "|>" "|-" "{|" -;; "[|" "]#" "::" ":=" ":>" ":<" "$>" "==" "=>" "!=" "!!" ">:" -;; ">=" ">>" ">-" "-~" "-|" "->" "--" "-<" "<~" "<*" "<|" "<:" -;; "<$" "<=" "<>" "<-" "<<" "<+" "" "++" "?:" -;; "?=" "?." "??" ";;" "/*" "/=" "/>" "//" "__" "~~" "(*" "*)" -;; "\\\\" "://")) -;; (global-ligature-mode t)) - -;; C/C++ -(defun my-c/cpp-mode-common-hook () - (c-set-offset 'substatement-open 0) - (setq c++-tab-always-indent t) - (setq c-basic-offset 4) - (setq c-indent-level 4) - (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) - (setq tab-width 4) - (setq indent-tabs-mode t)) -(add-hook 'c-mode-common-hook 'my-c/cpp-mode-common-hook) - -(use-package astyle - :when (executable-find "/home/niclas/bin/astyle") - :hook (c-mode-common . astyle-on-save-mode)) - -;; Go -(use-package go-mode - :mode "\\.go\\'") - -(use-package lsp-mode - :commands (lsp lsp-deferred) - :hook (go-mode . lsp-deferred)) - -(defun lsp-go-install-save-hooks () - (add-hook 'before-save-hook #'lsp-format-buffer t t) - (add-hook 'before-save-hook #'lsp-organize-imports t t)) -(add-hook 'go-mode-hook #'lsp-go-install-save-hooks) - -(use-package lsp-ui - :commands lsp-ui-mode) - -(use-package company - :config - (setq company-idle-delay 0) - (setq company-minimum-prefix-length 1) - (setq lsp-completion-provider :capf)) - -(use-package yasnippet - :commands yas-minor-mode - :hook '((go-mode . yas-minor-mode) - (zig-mode . yas-minor-mode))) - -;; Lua -(use-package lua-mode - :mode "\\.lua\\'") - -;; Rust -(use-package rust-mode - :mode "\\.rs\\'") - -;; Zig -(use-package zig-mode - :mode "\\.zig\\'") - -;;; Shortcuts -(defun indent-buffer() - (interactive) - (save-excursion - (indent-region (point-min) (point-max) nil))) -(global-set-key [f12] 'indent-buffer) - -;;; Hidden Behavior -(setq custom-file null-device) - -;; https://stackoverflow.com/questions/2680389/how-to-remove-all-files-ending-with-made-by-emacs -(setq backup-directory-alist '(("." . "~/.emacs.d/backup")) - backup-by-copying t) - -(put 'downcase-region 'disabled nil) -(put 'upcase-region 'disabled nil) - -;;; General Appearence -(load-theme 'busybee) - -(menu-bar-mode -1) -(scroll-bar-mode -1) -(tool-bar-mode -1) - -(set-face-attribute 'default nil - :family "Fantasque Sans Mono" - :height 140) - +;;; genereal appearence (setq inhibit-startup-screen t) +(dolist (bar-mode '(tool-bar-mode + scroll-bar-mode + menu-bar-mode)) + (funcall bar-mode -1)) -(column-number-mode) -(setq fill-column 80) +;;; theme +(use-package dracula-theme + :config (load-theme 'dracula t)) +(set-frame-font "Intel One Mono-12") +(column-number-mode) (global-display-line-numbers-mode t) (dolist (mode '(term-mode-hook - shell-mode-hook - eshell-mode-hook)) - (add-hook mode (lambda () (display-line-numbers-mode 0)))) + slime-repl-mode-hook + shell-mode-hook + eshell-mode-hook)) + (add-hook mode (lambda () (display-line-number-mode 0)))) + +;;; file stuff +(setq custom-file null-device) +(setq-default indent-tabs-mode nil) + +;;; lisp +(setq slime-lisp-implementations + '((sbcl ("C:/Program Files/Steel Bank Common Lisp/sbcl.exe")))) +(slime-setup)