From 28f9e3bf8385d03c365898875e515cb6ce54e3c8 Mon Sep 17 00:00:00 2001 From: Hendrik Boll Date: Thu, 20 Mar 2025 13:04:30 +0100 Subject: [PATCH] emacs: copy init.el from laptop --- dot_config/emacs/init.el | 190 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 dot_config/emacs/init.el diff --git a/dot_config/emacs/init.el b/dot_config/emacs/init.el new file mode 100644 index 0000000..4d075df --- /dev/null +++ b/dot_config/emacs/init.el @@ -0,0 +1,190 @@ +;;; package --- Summary +;;; Commentary: +;; init.el +;; Author: fanyx +;; Date: 2025-01-21 + +;;; Code: +;; setup server +(require 'server) (unless (server-running-p) (server-start)) + +;; setup package +(require 'package) +(setq package-archives + '(("elpa" . "https://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/") + ("org" . "https://orgmode.org/elpa/"))) +(setq package-archive-priorities + '(("elpa" . 20) + ("melpa" . 10) + ("org" . 5))) +(package-initialize) +(unless package-archive-contents + (package-refresh-contents)) +(unless (package-installed-p 'use-package) + (package-install 'use-package)) +(require 'use-package) +(setq use-package-always-ensure t) + +;; config +;; modes +(auto-save-mode -1) +(global-display-line-numbers-mode 1) +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) +(delete-selection-mode +1) +(column-number-mode +1) +(global-auto-revert-mode +1) +(recentf-mode 1) + +(use-package savehist + :ensure nil + :config + (savehist-mode)) + +;; font +(add-to-list 'default-frame-alist + ;; '(font . "JetBrainsMono Nerd Font Mono-10")) + '(font . "FiraMono Nerd Font-11") + '(alpha-background . 95)) + +;; options +(setq inhibit-startup-message t) +(setq ring-bell-function 'ignore) +(setq frame-resize-pixelwise t) +(setq confirm-kill-processes nil) +(setq create-lockfiles nil) +(setq backup-directory-alist '(("." . "~/emacs.d/backup"))) +(setq auto-revert-interval 2) +(setq auto-revert-check-vc-info t) +(setq global-auto-revert-non-file-buffers t) +(setq auto-revert-verbose nil) +(setq custom-file "~/.config/emacs/init.custom.el") + +;; parentheses +(use-package paren + :ensure nil + :custom + (setq show-paren-delay 0) + :config + (show-paren-mode +1)) + +;; scrolling +(autoload 'View-scroll-half-page-forward "view") +(autoload 'View-scroll-half-page-backward "view") +(global-set-key (kbd "C-v") 'View-scroll-half-page-forward) +(global-set-key (kbd "M-v") 'View-scroll-half-page-backward) +(setq + scroll-margin 0 + scroll-conservatively 101 + scroll-preserve-screen-position t + auto-window-vscroll nil) + +;; set theme +(use-package monokai-theme + :config + (load-theme 'monokai t)) + +(use-package nerd-icons) +(use-package nerd-icons-dired + :hook + (dired-mode . nerd-icons-dired-mode)) + +(use-package doom-modeline + :init (doom-modeline-mode 1)) + +;; configure packages +(use-package vertico + :bind + (:map vertico-map + ( + "" . vertico-insert + ) + ) + :custom + (vertico-resize t) + (vertico-cycle t) + :config + (vertico-mode)) + +(use-package marginalia + :after vertico + :custom + (marginalia-align 'right) + (marginalia-max-relative-age 0) + (marginalia-annotators + '(marginalia-annotators-heavy marginalia-annotators-light nil)) + :config + (marginalia-mode)) + +(use-package embark-consult) + +(use-package consult + :after vertico + :bind + (("C-s" . 'consult-line) + ("C-c p s" . 'consult-line-multi) + ("C-x C-b" . 'consult-buffer) + ("C-c b b" . 'consult-buffer) + ("C-x b" . 'consult-project-buffer) + ("C-x C-S-b" . 'ibuffer))) + +(use-package embark + :bind (("C-h B" . embark-bindings))) + +(use-package orderless + :custom + (completion-styles '(orderless basic)) + (completion-category-defaults nil) + (completion-category-overrides '((file (styles partial-completion))))) + +(use-package editorconfig + :config + (editorconfig-mode 1)) + +(use-package magit) + +(use-package company + :config + (add-hook 'after-init-hook 'global-company-mode)) +(use-package company-box + :hook (company-mode . company-box-mode)) + +(use-package flycheck + :config + (global-flycheck-mode +1)) + +(use-package highlight-indent-guides + :init + (add-hook 'prog-mode-hook 'highlight-indent-guides-mode) + (add-hook 'yaml-mode-hook 'highlight-indent-guides-mode) + (add-hook 'yaml-ts-mode-hook 'highlight-indent-guides-mode) + :custom + (highlight-indent-guides-method 'character)) + +(use-package golden-ratio + :config + (golden-ratio-mode 1)) + +(use-package yaml-mode + :config + (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)) + (add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode))) +(use-package markdown-mode + :hook (markdown-mode . visual-line-mode)) +(use-package web-mode) +(add-to-list 'auto-mode-alist '("\\.j2\\'" . web-mode)) + +;; MEOW MODE +(load-file "~/.config/emacs/meow-setup.el") +(use-package meow + :init + (meow-global-mode 1) + :config + (meow-setup)) + +;; keybinds + +(provide 'init) +;;; init.el ends here