;;; 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)) (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)) ;; 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) ;; keybinds (provide 'init) ;;; init.el ends here