diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 8b66d5a..97b8d6a 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1,81 +1,80 @@ -(require 'package) -(unless package-archive-contents - (package-refresh-contents)) +;; package setup (require 'package) (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/"))) (package-initialize) - +(unless package-archive-contents + (package-refresh-contents)) (require 'use-package) -;; THEMES & APPEARANCE -(set-frame-parameter (selected-frame) 'alpha '(90 . 90)) -(add-to-list 'default-frame-alist '(alpha . (90 . 90))) +;; UI & Appearance (menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) +(set-frame-parameter (selected-frame) 'alpha '(90 . 90)) +(add-to-list 'default-frame-alist '(alpha . (90 . 90))) (global-display-line-numbers-mode 1) +(global-hl-line-mode 1) -(use-package rainbow-mode - :ensure t - :hook (prog-mode . rainbow-mode)) - -(use-package all-the-icons - :if (display-graphic-p) - :ensure t) - -;; UI & INTERFACE -(use-package hl-line - :hook (after-init . global-hl-line-mode)) - -(use-package elcord - :ensure t - :config (elcord-mode 1)) +(use-package rainbow-mode :ensure t :hook (prog-mode . rainbow-mode)) +(use-package all-the-icons :ensure t :if (display-graphic-p)) +(use-package elcord :ensure t :config (elcord-mode 1)) (use-package minimap - :ensure t) - -(load-theme 'doom-badger t) - -(use-package neotree - :ensure t - :bind ("" . neotree-toggle)) - -(use-package vertico - :ensure t - :config (vertico-mode 1)) - -(use-package marginalia :ensure t - :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 1)) + :config + (setq minimap-window-location 'right) + (minimap-mode 1)) + +(use-package centaur-tabs + :ensure t + :init + (setq centaur-tabs-style "bar" + centaur-tabs-set-icons t + centaur-tabs-set-bar 'over + centaur-tabs-set-modified-marker t + centaur-tabs-show-navigation-buttons nil + centaur-tabs-set-close-button nil + centaur-tabs-height 32 + centaur-tabs-gray-out-icons 'buffer + centaur-tabs-cycle-scope 'tabs) + :config + (centaur-tabs-mode t) + (centaur-tabs-headline-match) + (centaur-tabs-enable-buffer-reordering) + (setq centaur-tabs-adjust-buffer-order t) + (defun my-centaur-tabs-buffer-groups () + (list + (cond + ((string-equal "*" (substring (buffer-name) 0 1)) "Emacs") + ((derived-mode-p 'prog-mode) "Code") + ((derived-mode-p 'dired-mode) "Dired") + ((memq major-mode '(helpful-mode help-mode)) "Help") + (t "Common")))) + (setq centaur-tabs-buffer-groups-function #'my-centaur-tabs-buffer-groups) + (global-set-key (kbd "C-") 'centaur-tabs-backward) + (global-set-key (kbd "C-") 'centaur-tabs-forward)) -(use-package swiper - :ensure t - :bind ("C-r" . swiper-backward)) +(load-theme 'doom-badger t) -;; EDITOR BEHAVIOR -(use-package company - :ensure t - :hook (prog-mode . company-mode)) +;; Sidebar +(use-package neotree :ensure t :bind ("" . neotree-toggle)) -(use-package yasnippet - :ensure t - :hook (prog-mode . yas-minor-mode)) +;; Completion/UI stuff +(use-package vertico :ensure t :config (vertico-mode 1)) +(use-package marginalia :ensure t :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 1)) +(use-package swiper :ensure t :bind ("C-r" . swiper-backward)) -(use-package flycheck - :ensure t - :hook (prog-mode . flycheck-mode)) +;; Completion etc. +(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)) +;; LSP (use-package lsp-mode :ensure t :commands lsp @@ -84,22 +83,16 @@ lua-mode zig-mode web-mode) . lsp)) (use-package lsp-ui - :ensure t) - -(use-package lsp-java :ensure t - :after lsp-mode - :hook (java-mode . lsp) - :config - (require 'lsp-java-boot)) + :config (require 'lsp-java-boot)) -;; TERMINAL +;; Terminal (global-set-key (kbd "C-c t") 'ansi-term) -;; WEB/HTML/CSS/JS +;; HTML/CSS/JS (use-package web-mode :ensure t - :mode ("\\.html?\\'" . web-mode) + :mode "\\.html?\\'" :config (setq web-mode-enable-auto-pairing t web-mode-enable-auto-closing t @@ -111,61 +104,23 @@ :config (setq emmet-expand-jsx-className? t)) -;; Pairs +;; auto-pairs (electric-pair-mode 1) (setq electric-pair-pairs '((?\" . ?\") (?\{ . ?\}) (?\( . ?\)) (?\[ . ?\]) (?\< . ?\>))) (setq electric-pair-text-pairs electric-pair-pairs) -;; LANGUAGES -(use-package nix-mode - :ensure t - :mode ("\\.nix\\'" . nix-mode)) - -(use-package python - :mode ("\\.py\\'" . python-mode)) - -(use-package sh-script - :mode ("\\.sh\\'" . sh-mode)) - -(use-package fennel-mode - :ensure t - :mode ("\\.fnl\\'" . fennel-mode) - :hook (fennel-mode . macrostep-mode)) - -(use-package macrostep - :ensure t) - -(use-package zig-mode - :ensure t - :mode ("\\.zig\\'" . zig-mode) - :hook (zig-mode . lsp-deferred)) - +;; LANGUAGESSSS +(use-package nix-mode :ensure t :mode "\\.nix\\'") +(use-package python :mode "\\.py\\'") +(use-package sh-script :mode "\\.sh\\'") +(use-package fennel-mode :ensure t :mode "\\.fnl\\'" :hook (fennel-mode . macrostep-mode)) +(use-package macrostep :ensure t) +(use-package zig-mode :ensure t :mode "\\.zig\\'" :hook (zig-mode . lsp-deferred)) (use-package cc-mode) - -(use-package markdown-mode - :ensure t - :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)) +(use-package markdown-mode :ensure t :mode "\\.md\\'") +(use-package lua-mode :ensure t :mode "\\.lua\\'") +(use-package rust-mode :ensure t :mode "\\.rs\\'") +(use-package go-mode :ensure t :mode "\\.go\\'") +(use-package typescript-mode :ensure t :mode "\\.ts\\'") +(use-package toml-mode :ensure t :mode "\\.toml\\'") +(use-package yaml-mode :ensure t :mode "\\.ya?ml\\'")