diff --git a/.config/emacs/init.el b/.config/emacs/init.el new file mode 100644 index 0000000..aad7fb4 --- /dev/null +++ b/.config/emacs/init.el @@ -0,0 +1,125 @@ +;;; 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) + +;; set theme +(use-package monokai-theme + :config + (load-theme 'monokai t)) + +;; configure packages +(use-package editorconfig + :config + (editorconfig-mode 1)) + +(use-package magit) + +(use-package company + :config + (add-hook 'after-init-hook 'global-company-mode)) + +(use-package counsel) +(use-package swiper) +(use-package ivy + :config + (ivy-mode 1)) + +(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) + :config + (setq highlight-indent-guides-method 'character)) + +(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)) + +(use-package nerd-icons) + +;; config +;; defaults +(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) + +(add-to-list 'default-frame-alist + '(font . "JetBrainsMono Nerd Font Mono-10")) + +(setq + inhibit-startup-message t + ring-bell-function 'ignore + frame-resize-pixelwise t + confirm-kill-processes nil + create-lockfiles nil + backup-directory-alist '(("." . "~/emacs.d/backup")) + auto-revert-interval 2 + auto-revert-check-vc-info t + global-auto-revert-non-file-buffers t + auto-revert-verbose nil + custom-file "~/.config/emacs/init.custom.el") + +(use-package paren + :ensure nil + :init (setq show-paren-delay 0) + :config (show-paren-mode +1)) + +;; scrolling +(setq + scroll-margin 0 + scroll-conservatively 101 + scroll-preserve-screen-position t + auto-window-vscroll nil) + +(use-package mwheel + :ensure nil + :config (setq mouse-wheel-scroll-amount '(2 ((shift) . 1)) + mouse-wheel-progressive-speed nil)) + +;; keybinds + +(provide 'init) +;;; init.el ends here