Skip to content

Commit

Permalink
emacs: complete rework
Browse files Browse the repository at this point in the history
  • Loading branch information
niclas authored Feb 24, 2025
1 parent 52a07db commit 61d6b3d
Showing 1 changed file with 27 additions and 121 deletions.
148 changes: 27 additions & 121 deletions .emacs.d/init.el
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)

0 comments on commit 61d6b3d

Please sign in to comment.