;; 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) ;; Fix: Ensure tree-sitter and language grammars are available (when (executable-find "tree-sitter") (use-package tree-sitter :hook (prog-mode . tree-sitter-mode)) (use-package tree-sitter-langs :after tree-sitter)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; APPEARANCE & THEMES ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (set-frame-parameter (selected-frame) 'alpha '(95 . 95)) (add-to-list 'default-frame-alist '(alpha . (95 . 95))) (use-package doom-themes :ensure t :config (load-theme 'doom-palenight t)) ;; (load-theme 'modus-vivendi-tritanopia t) (menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (use-package rainbow-mode :hook (prog-mode . rainbow-mode)) (global-display-line-numbers-mode t) (setq ring-bell-function 'ignore) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; UI & INTERFACE ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq inhibit-startup-message t inhibit-startup-echo-area-message t) (use-package all-the-icons :if (display-graphic-p) :ensure t) (use-package doom-modeline :ensure t :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 :ensure t :config (elcord-mode)) (use-package minimap :ensure t) (use-package neotree :ensure t :bind ([f9] . neotree-toggle)) (use-package vertico :ensure t :init (vertico-mode)) (use-package marginalia :ensure t :after vertico :hook (vertico-mode . marginalia-mode)) (use-package consult :ensure t :bind (("C-s" . consult-line) ("C-x b" . consult-buffer))) (use-package which-key :ensure t :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 company :ensure t :hook (prog-mode . company-mode)) (use-package yasnippet :ensure t :hook (prog-mode . yas-minor-mode)) (use-package flycheck :ensure t :hook (prog-mode . flycheck-mode)) (use-package lsp-mode :ensure t :commands lsp :init (setq lsp-keymap-prefix "C-c l") :hook ((lua-mode . lsp) (java-mode . lsp) (c-mode . lsp) (sh-mode . lsp))) (use-package lsp-ui :ensure t :commands lsp-ui-mode) (use-package vterm :ensure t :bind (("C-c t" . vterm))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LANGUAGE SUPPORT ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (use-package nix-mode :ensure t :mode "\\.nix\\'") (use-package lua-mode :ensure t) (use-package fennel-mode :ensure t :mode "\\.fnl\\'") (use-package macrostep :ensure t :hook (fennel-mode . macrostep-mode)) (use-package cc-mode :ensure t) (use-package lsp-java :ensure t :after lsp :config (require 'lsp-java-boot) (add-hook 'java-mode-hook #'lsp)) (use-package gradle-mode :ensure t) (use-package sh-script :ensure t) ;; make sure packages are proper, on first run (when (not (package-installed-p 'lsp-java)) (package-install 'lsp-java)) (when (not (package-installed-p 'tree-sitter-langs)) (package-install 'tree-sitter-langs)) ;; Custom settings (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. '(custom-safe-themes '("0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1" default)) '(package-selected-packages nil)) (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. )