dotfiles/.emacs.d/init.el

172 lines
4.6 KiB
EmacsLisp

;; coasteen's emacs configuration :3
(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))
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(eval-when-compile
(require 'use-package))
(setq use-package-always-ensure t)
(setq native-comp-async-report-warnings-errors 'silent)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; APPEARANCE & THEMES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
(add-to-list 'default-frame-alist '(alpha . (95 . 95)))
(use-package doom-themes
:config
(load-theme 'doom-tokyo-night t))
(menu-bar-mode -1)
;;(tab-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;; (setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode t)
(setq ring-bell-function 'ignore)
(set-face-attribute 'default nil :font "Cozette-15")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; UI & INTERFACE ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq inhibit-startup-message t
inhibit-startup-echo-area-message t)
(use-package all-the-icons
:if (display-graphic-p))
(use-package doom-modeline
:init (doom-modeline-mode 1)
:config
(setq doom-modeline-height 15
doom-modeline-bar-width 3
doom-modeline-enable-word-count t))
(use-package elcord
:config (elcord-mode))
(use-package minimap)
(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))
(use-package centaur-tabs
:ensure t
:config
(setq centaur-tabs-set-bar 'over
centaur-tabs-set-icons t
centaur-tabs-gray-out-icons 'buffer
centaur-tabs-height 24
centaur-tabs-set-modified-marker t
centaur-tabs-modified-marker "*")
(centaur-tabs-mode t))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; EDITOR BEHAVIOR ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (use-package evil
;; :config (evil-mode 1))
(use-package swiper
:bind (("C-s" . swiper)
("C-M-s" . isearch-forward)))
(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
:hook ((lua-mode . lsp)
(java-mode . lsp)
(c-mode . lsp)
(sh-mode . lsp))
:commands lsp)
(use-package lsp-ui
:commands lsp-ui-mode)
;;treesitter and syntax!
(use-package tree-sitter
:hook (prog-mode . tree-sitter-mode))
(use-package tree-sitter-langs)
(use-package vterm
:ensure t
:bind (("C-c t" . vterm)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; LANGUAGE SUPPORT ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package nix-mode
:mode "\\.nix\\'")
(use-package lua-mode)
(use-package fennel-mode
:mode "\\.fnl\\'"
:hook (fennel-mode . macrostep-mode))
(use-package macrostep)
(use-package cc-mode)
(use-package lsp-java
:after lsp)
(use-package gradle-mode)
(use-package sh-script)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; written by coasteen! :3
(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.
'(package-selected-packages
'(centaur-tabs company consult dired-filter dired-sidebar
doom-modeline doom-themes elcord evil fennel-mode
flycheck gradle-mode gruvbox-theme lsp-java lsp-ui
lua-mode macrostep marginalia melancholy-theme
minimap moody neotree nix-mode swiper
tree-sitter-langs treemacs-all-the-icons
treemacs-projectile vertico vterm yasnippet)))
(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.
)