2025-06-05 08:09:37 +03:30
|
|
|
;; coasteen's Emacs full init.el :3
|
|
|
|
|
|
|
|
;; ---------------------------
|
|
|
|
;; PACKAGE & USE-PACKAGE SETUP
|
|
|
|
;; ---------------------------
|
2025-05-29 17:06:17 +02:00
|
|
|
(require 'package)
|
|
|
|
(setq package-archives
|
|
|
|
'(("melpa" . "https://melpa.org/packages/")
|
|
|
|
("gnu" . "https://elpa.gnu.org/packages/")))
|
|
|
|
(package-initialize)
|
|
|
|
(unless package-archive-contents
|
|
|
|
(package-refresh-contents))
|
2025-06-05 08:09:37 +03:30
|
|
|
|
2025-05-29 17:06:17 +02:00
|
|
|
(unless (package-installed-p 'use-package)
|
|
|
|
(package-install 'use-package))
|
2025-06-05 08:09:37 +03:30
|
|
|
(require 'use-package)
|
2025-05-29 17:06:17 +02:00
|
|
|
(setq use-package-always-ensure t)
|
|
|
|
(setq native-comp-async-report-warnings-errors 'silent)
|
2025-06-04 04:38:36 +03:30
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
;; ---------------------------
|
|
|
|
;; APPEARANCE & THEMES
|
|
|
|
;; ---------------------------
|
2025-05-29 17:06:17 +02:00
|
|
|
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
|
|
|
|
(add-to-list 'default-frame-alist '(alpha . (95 . 95)))
|
|
|
|
|
2025-06-15 15:26:43 +03:30
|
|
|
(use-package doom-themes
|
|
|
|
:config
|
|
|
|
(load-theme 'doom-ir-black t))
|
2025-06-05 08:09:37 +03:30
|
|
|
|
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-06-01 00:53:17 +03:30
|
|
|
(use-package rainbow-mode
|
|
|
|
:hook (prog-mode . rainbow-mode))
|
|
|
|
|
2025-05-29 17:06:17 +02:00
|
|
|
(global-display-line-numbers-mode t)
|
|
|
|
(setq ring-bell-function 'ignore)
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
;; ---------------------------
|
|
|
|
;; UI & INTERFACE
|
|
|
|
;; ---------------------------
|
2025-05-29 17:06:17 +02:00
|
|
|
(setq inhibit-startup-message t
|
|
|
|
inhibit-startup-echo-area-message t)
|
|
|
|
|
|
|
|
(use-package all-the-icons
|
2025-06-05 08:09:37 +03:30
|
|
|
:if (display-graphic-p))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-15 15:26:43 +03:30
|
|
|
(use-package powerline
|
|
|
|
:ensure t
|
2025-05-29 17:06:17 +02:00
|
|
|
:config
|
2025-06-15 15:26:43 +03:30
|
|
|
(powerline-default-theme))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package elcord
|
|
|
|
:config (elcord-mode))
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
(use-package minimap)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package neotree
|
|
|
|
:bind ([f9] . neotree-toggle))
|
|
|
|
|
|
|
|
(use-package vertico
|
|
|
|
:init (vertico-mode))
|
|
|
|
|
|
|
|
(use-package marginalia
|
|
|
|
:after vertico
|
|
|
|
:hook (vertico-mode . marginalia-mode))
|
|
|
|
|
|
|
|
(use-package consult
|
|
|
|
:bind (("C-s" . consult-line)
|
|
|
|
("C-x b" . consult-buffer)))
|
|
|
|
|
|
|
|
(use-package which-key
|
|
|
|
:config (which-key-mode))
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
;; ---------------------------
|
|
|
|
;; EDITOR BEHAVIOR
|
|
|
|
;; ---------------------------
|
|
|
|
(global-set-key (kbd "C-s") 'swiper)
|
|
|
|
(global-set-key (kbd "C-r") 'swiper-backward)
|
|
|
|
|
2025-06-05 21:24:15 +03:30
|
|
|
(load-file "/home/coast/.emacs.d/c3-mode.el")
|
2025-06-05 08:09:37 +03:30
|
|
|
|
|
|
|
(use-package swiper)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package company
|
|
|
|
:hook (prog-mode . company-mode))
|
|
|
|
|
|
|
|
(use-package yasnippet
|
|
|
|
:hook (prog-mode . yas-minor-mode))
|
|
|
|
|
|
|
|
(use-package flycheck
|
|
|
|
:hook (prog-mode . flycheck-mode))
|
|
|
|
|
|
|
|
(use-package lsp-mode
|
2025-06-04 07:57:39 +03:30
|
|
|
:commands lsp
|
|
|
|
:init
|
|
|
|
(setq lsp-keymap-prefix "C-c l")
|
2025-06-05 08:09:37 +03:30
|
|
|
:hook ((java-mode . lsp)
|
2025-05-29 17:06:17 +02:00
|
|
|
(c-mode . lsp)
|
2025-06-04 07:57:39 +03:30
|
|
|
(sh-mode . lsp)))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package lsp-ui
|
|
|
|
:commands lsp-ui-mode)
|
|
|
|
|
|
|
|
(use-package vterm
|
2025-06-05 08:09:37 +03:30
|
|
|
:bind (("C-c t" . ansi-term)))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-15 16:51:45 +03:30
|
|
|
(use-package web-mode
|
|
|
|
:mode "\\.html?\\'"
|
|
|
|
:config
|
|
|
|
(setq web-mode-enable-auto-pairing t
|
|
|
|
web-mode-enable-auto-closing t
|
|
|
|
web-mode-enable-auto-expanding t))
|
|
|
|
|
|
|
|
(use-package emmet-mode
|
|
|
|
:hook ((web-mode html-mode css-mode) . emmet-mode)
|
|
|
|
:config
|
|
|
|
(setq emmet-expand-jsx-className? t))
|
|
|
|
|
|
|
|
(electric-pair-mode 1)
|
|
|
|
|
|
|
|
(setq electric-pair-pairs '(
|
|
|
|
(?\" . ?\")
|
|
|
|
(?\{ . ?\})
|
|
|
|
(?\( . ?\))
|
|
|
|
(?\[ . ?\])
|
|
|
|
(?\< . ?\>)
|
|
|
|
))
|
|
|
|
|
|
|
|
(setq electric-pair-text-pairs electric-pair-pairs)
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
;; ---------------------------
|
|
|
|
;; LANGUAGE SUPPORT
|
|
|
|
;; ---------------------------
|
2025-05-29 17:06:17 +02:00
|
|
|
(use-package nix-mode
|
|
|
|
:mode "\\.nix\\'")
|
|
|
|
|
|
|
|
(use-package fennel-mode
|
2025-06-04 07:57:39 +03:30
|
|
|
:mode "\\.fnl\\'")
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-04 07:57:39 +03:30
|
|
|
(use-package macrostep
|
|
|
|
:hook (fennel-mode . macrostep-mode))
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-11 04:06:50 +03:30
|
|
|
(use-package zig-mode
|
|
|
|
:ensure t
|
|
|
|
:mode "\\.zig\\'"
|
|
|
|
:hook ((zig-moed . lsp-deferred))) ;; if lsp is used :3
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
(use-package cc-mode)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
|
|
|
(use-package lsp-java
|
2025-06-04 07:57:39 +03:30
|
|
|
:after lsp
|
|
|
|
:config
|
|
|
|
(require 'lsp-java-boot)
|
|
|
|
(add-hook 'java-mode-hook #'lsp))
|
|
|
|
|
2025-06-05 08:09:37 +03:30
|
|
|
(use-package sh-script)
|
2025-05-29 17:06:17 +02:00
|
|
|
|
2025-06-11 04:06:50 +03:30
|
|
|
;; more bs
|
2025-06-04 07:57:39 +03:30
|
|
|
|
2025-05-29 17:06:17 +02:00
|
|
|
(custom-set-variables
|
|
|
|
;; custom-set-variables was added by Custom.
|
|
|
|
;; If you edit it by hand, you could mess it up, so be careful.
|
|
|
|
;; Your init file should contain only one such instance.
|
|
|
|
;; If there is more than one, they won't work right.
|
2025-06-04 04:38:36 +03:30
|
|
|
'(custom-safe-themes
|
|
|
|
'("0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1"
|
|
|
|
default))
|
2025-06-15 16:51:45 +03:30
|
|
|
'(package-selected-packages nil))
|
2025-06-04 07:57:39 +03:30
|
|
|
|
2025-05-29 17:06:17 +02:00
|
|
|
(custom-set-faces
|
|
|
|
;; custom-set-faces was added by Custom.
|
|
|
|
;; If you edit it by hand, you could mess it up, so be careful.
|
|
|
|
;; Your init file should contain only one such instance.
|
|
|
|
;; If there is more than one, they won't work right.
|
|
|
|
)
|