emacs: initial init.el

This commit is contained in:
fanyx 2025-01-21 17:14:59 +01:00
parent cd7a0b34de
commit d41c72e862
1 changed files with 125 additions and 0 deletions

125
.config/emacs/init.el Normal file
View File

@ -0,0 +1,125 @@
;;; package --- Summary
;;; Commentary:
;; init.el
;; Author: fanyx <fanyx@posteo.net>
;; 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