diff --git a/.emacs.d/init.el b/.emacs.d/init.el new file mode 100644 index 0000000..7e44fe3 --- /dev/null +++ b/.emacs.d/init.el @@ -0,0 +1,171 @@ +;; 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-palenight 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 "Inconsolata-13") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; 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-M-s" . swiper))) + +(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. + )