2025-06-30 09:18:02 +03:30
|
|
|
(require 'package)
|
|
|
|
(unless package-archive-contents
|
|
|
|
(package-refresh-contents))
|
2025-07-06 01:28:36 +03:30
|
|
|
(require 'package)
|
|
|
|
(setq package-archives
|
|
|
|
'(("gnu" . "https://elpa.gnu.org/packages/")
|
|
|
|
("melpa" . "https://melpa.org/packages/")))
|
|
|
|
(package-initialize)
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(require 'use-package)
|
2025-06-05 08:09:37 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; THEMES & APPEARANCE
|
2025-06-11 04:06:50 +03:30
|
|
|
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
|
|
|
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
2025-05-29 17:06:17 +02:00
|
|
|
(menu-bar-mode -1)
|
|
|
|
(tool-bar-mode -1)
|
|
|
|
(scroll-bar-mode -1)
|
2025-07-06 01:28:36 +03:30
|
|
|
(global-display-line-numbers-mode 1)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-01 00:53:17 +03:30
|
|
|
(use-package rainbow-mode
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-01 00:53:17 +03:30
|
|
|
:hook (prog-mode . rainbow-mode))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package all-the-icons
|
2025-07-06 01:28:36 +03:30
|
|
|
:if (display-graphic-p)
|
|
|
|
:ensure t)
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; UI & INTERFACE
|
|
|
|
(use-package hl-line
|
|
|
|
:hook (after-init . global-hl-line-mode))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(use-package elcord
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
|
|
|
:config (elcord-mode 1))
|
|
|
|
|
|
|
|
(use-package minimap
|
|
|
|
:ensure t)
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
(load-theme 'doom-badger t)
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(use-package neotree
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
|
|
|
:bind ("<f9>" . neotree-toggle))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(use-package vertico
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
|
|
|
:config (vertico-mode 1))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(use-package marginalia
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-30 09:18:02 +03:30
|
|
|
:hook (vertico-mode . marginalia-mode))
|
|
|
|
|
2025-05-29 17:06:17 +02:00
|
|
|
(use-package consult
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-05-29 17:06:17 +02:00
|
|
|
:bind (("C-s" . consult-line)
|
|
|
|
("C-x b" . consult-buffer)))
|
|
|
|
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package which-key
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
|
|
|
:config (which-key-mode 1))
|
2025-06-05 08:09:37 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
(use-package swiper
|
|
|
|
:ensure t
|
|
|
|
:bind ("C-r" . swiper-backward))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; EDITOR BEHAVIOR
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package company
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-30 09:18:02 +03:30
|
|
|
:hook (prog-mode . company-mode))
|
|
|
|
|
|
|
|
(use-package yasnippet
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-30 09:18:02 +03:30
|
|
|
:hook (prog-mode . yas-minor-mode))
|
|
|
|
|
|
|
|
(use-package flycheck
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-30 09:18:02 +03:30
|
|
|
:hook (prog-mode . flycheck-mode))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package lsp-mode
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-30 09:18:02 +03:30
|
|
|
:commands lsp
|
2025-07-06 01:28:36 +03:30
|
|
|
:init (setq lsp-keymap-prefix "C-c l")
|
|
|
|
:hook ((java-mode c-mode sh-mode python-mode rust-mode go-mode typescript-mode
|
|
|
|
lua-mode zig-mode web-mode) . lsp))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package lsp-ui
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
(use-package lsp-java
|
|
|
|
:ensure t
|
|
|
|
:after lsp-mode
|
|
|
|
:hook (java-mode . lsp)
|
|
|
|
:config
|
|
|
|
(require 'lsp-java-boot))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; TERMINAL
|
|
|
|
(global-set-key (kbd "C-c t") 'ansi-term)
|
|
|
|
|
|
|
|
;; WEB/HTML/CSS/JS
|
2025-06-15 16:51:45 +03:30
|
|
|
(use-package web-mode
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
|
|
|
:mode ("\\.html?\\'" . web-mode)
|
2025-06-15 16:51:45 +03:30
|
|
|
:config
|
|
|
|
(setq web-mode-enable-auto-pairing t
|
|
|
|
web-mode-enable-auto-closing t
|
|
|
|
web-mode-enable-auto-expanding t))
|
|
|
|
|
|
|
|
(use-package emmet-mode
|
2025-07-06 01:28:36 +03:30
|
|
|
:ensure t
|
2025-06-15 16:51:45 +03:30
|
|
|
:hook ((web-mode html-mode css-mode) . emmet-mode)
|
2025-06-30 09:18:02 +03:30
|
|
|
:config
|
|
|
|
(setq emmet-expand-jsx-className? t))
|
2025-06-15 16:51:45 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; Pairs
|
2025-06-15 16:51:45 +03:30
|
|
|
(electric-pair-mode 1)
|
2025-07-06 01:28:36 +03:30
|
|
|
(setq electric-pair-pairs '((?\" . ?\") (?\{ . ?\}) (?\( . ?\)) (?\[ . ?\]) (?\< . ?\>)))
|
2025-06-15 16:51:45 +03:30
|
|
|
(setq electric-pair-text-pairs electric-pair-pairs)
|
2025-07-03 07:37:26 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
;; LANGUAGES
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package nix-mode
|
2025-07-03 07:37:26 +03:30
|
|
|
:ensure t
|
2025-07-06 01:28:36 +03:30
|
|
|
:mode ("\\.nix\\'" . nix-mode))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-07-03 07:37:26 +03:30
|
|
|
(use-package python
|
|
|
|
:mode ("\\.py\\'" . python-mode))
|
|
|
|
|
|
|
|
(use-package sh-script
|
|
|
|
:mode ("\\.sh\\'" . sh-mode))
|
|
|
|
|
2025-06-30 09:18:02 +03:30
|
|
|
(use-package fennel-mode
|
2025-07-03 07:37:26 +03:30
|
|
|
:ensure t
|
2025-07-06 01:28:36 +03:30
|
|
|
:mode ("\\.fnl\\'" . fennel-mode)
|
2025-07-03 07:37:26 +03:30
|
|
|
:hook (fennel-mode . macrostep-mode))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
|
|
|
(use-package macrostep
|
2025-07-03 07:37:26 +03:30
|
|
|
:ensure t)
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-06-11 04:06:50 +03:30
|
|
|
(use-package zig-mode
|
2025-06-30 09:18:02 +03:30
|
|
|
:ensure t
|
2025-07-06 01:28:36 +03:30
|
|
|
:mode ("\\.zig\\'" . zig-mode)
|
2025-07-03 07:37:26 +03:30
|
|
|
:hook (zig-mode . lsp-deferred))
|
2025-06-30 09:18:02 +03:30
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
(use-package cc-mode)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-07-06 01:28:36 +03:30
|
|
|
(use-package markdown-mode
|
2025-07-03 07:37:26 +03:30
|
|
|
:ensure t
|
2025-07-06 01:28:36 +03:30
|
|
|
:mode ("\\.md\\'" . markdown-mode))
|
|
|
|
|
|
|
|
(use-package lua-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.lua\\'" . lua-mode))
|
|
|
|
|
|
|
|
(use-package rust-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.rs\\'" . rust-mode))
|
|
|
|
|
|
|
|
(use-package go-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.go\\'" . go-mode))
|
|
|
|
|
|
|
|
(use-package typescript-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.ts\\'" . typescript-mode))
|
|
|
|
|
|
|
|
(use-package toml-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.toml\\'" . toml-mode))
|
|
|
|
|
|
|
|
(use-package yaml-mode
|
|
|
|
:ensure t
|
|
|
|
:mode ("\\.ya?ml\\'" . yaml-mode))
|