-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
27 additions
and
121 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |