nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

commit e26c5474edf655cc2d93c463f3d153d387b89b7c
parent 140eadeb45a34d585fa1fddf23bdd233cbd9ec8e
Author: mtmn <miro@haravara.org>
Date:   Fri, 17 Apr 2026 18:25:51 +0200

chore: remove emacs config

Diffstat:
M.gitignore | 3---
Dmodules/mixins/dotfiles/config/emacs/.gitigonre | 4----
Dmodules/mixins/dotfiles/config/emacs/init.el | 28----------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/completion.el | 139-------------------------------------------------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/core.el | 73-------------------------------------------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/evil-setup.el | 57---------------------------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/files.el | 41-----------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/git.el | 27---------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/keymaps.el | 98-------------------------------------------------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/lsp.el | 181-------------------------------------------------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/theme.el | 41-----------------------------------------
Dmodules/mixins/dotfiles/config/emacs/lisp/ui.el | 137-------------------------------------------------------------------------------
12 files changed, 0 insertions(+), 829 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,4 +1 @@ result -modules/mixins/dotfiles/config/emacs -!modules/mixins/dotfiles/config/emacs/lisp -!modules/mixins/dotfiles/config/emacs/init.el diff --git a/modules/mixins/dotfiles/config/emacs/.gitigonre b/modules/mixins/dotfiles/config/emacs/.gitigonre @@ -1,4 +0,0 @@ -/* -!init.el -!lisp/ -!lisp/* diff --git a/modules/mixins/dotfiles/config/emacs/init.el b/modules/mixins/dotfiles/config/emacs/init.el @@ -1,28 +0,0 @@ -;;; init.el --- Main Emacs configuration entry point -;;; Loads all configuration modules - -(let ((lisp-dir (expand-file-name "lisp" user-emacs-directory))) - (when (file-exists-p lisp-dir) - (add-to-list 'load-path lisp-dir))) - -(require 'core) -(require 'evil-setup) -(require 'theme) -(require 'completion) -(require 'files) -(require 'git) -(require 'lsp) -(require 'keymaps) -(require 'ui) -(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 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. - ) diff --git a/modules/mixins/dotfiles/config/emacs/lisp/completion.el b/modules/mixins/dotfiles/config/emacs/lisp/completion.el @@ -1,139 +0,0 @@ -;;; completion.el --- Completion system configuration -;;; Commentary: -;;; Fuzzy finder and completion setup - -;;; Code: - -;; Fuzzy finder setup (replacing fzf-lua with vertico/consult) -(use-package vertico - :ensure t - :init - (vertico-mode)) - -(use-package orderless - :ensure t - :custom - (completion-styles '(orderless basic)) - (completion-category-overrides '((file (styles basic partial-completion))))) - -(use-package marginalia - :ensure t - ;; Bind `marginalia-cycle' locally after `vertico-cycle' - :after vertico - :custom - (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) - :init - (marginalia-mode)) - -(use-package consult - :ensure t - ;; Replace bindings - :bind (("C-x M-:" . consult-complex-command) ; orig. repeat-complex-command - ("C-x b" . consult-buffer) ; orig. switch-to-buffer - ("C-x 4 b" . consult-buffer-other-window) - ("C-x 5 b" . consult-buffer-other-frame) - ("C-x r b" . consult-bookmark) ; orig. bookmark-jump - ("C-M-j" . consult-buffer-jump) ; orig. switch-to-buffer-other-window - ("C-M-k" . consult-buffer-other-window) - ("M-y" . consult-yank-pop) ; orig. yank-pop - ("M-g g" . consult-goto-line) ; orig. goto-line - ("M-g M-g" . consult-goto-line) ; orig. goto-line - ("M-g o" . consult-outline) ; orig. outline-browse - ("M-g m" . consult-mark) ; orig. pop-to-mark-command - ("M-g k" . consult-global-mark) ; orig. pop-global-mark - ("M-g i" . consult-imenu) ; orig. imenu - ("M-g I" . consult-imenu-multi) ; orig. imenu - ("M-s d" . consult-find) ; orig. find - ("M-s D" . consult-locate) ; orig. locate - ("M-s g" . consult-grep) ; orig. grep - ("M-s G" . consult-git-grep) ; orig. git-grep - ("M-s r" . consult-ripgrep) ; orig. rg - ("M-s l" . consult-line) ; orig. keep-lines - ("M-s L" . consult-line-multi) ; orig. keep-lines-read-only - ("M-s k" . consult-keep-lines) ; orig. keep-lines - ("M-s u" . consult-focus-lines) ; orig. flush-lines - ("M-s U" . consult-focus-lines-other-window) - ("M-s e" . consult-isearch-history) ; orig. isearch-edit-string - :map isearch-mode-map - ("M-e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s l" . consult-line) ; needed by consult-line to detect isearch - ("M-s L" . consult-line-multi)) ; needed by consult-line to detect isearch - :init - ;; Optionally configure the register formatting. This improves the register - ;; preview for `consult-register', `consult-register-load' and others. - (setq register-preview-delay 0.5 - register-preview-function #'consult-register-format) - :config - (consult-customize - consult-theme :preview-key '(:debounce 0.2 any) - consult-ripgrep consult-git-grep consult-grep - consult-bookmark consult-recent-file consult-xref - :preview-key '(:debounce 0.4 any)) - (setq consult-narrow-key "<") ;; (kbd "<") is not recognized - (setq consult-line-numbers-widen t) - (setq consult-locate-args (list "locate" "--regex" "--ignore-case"))) - -(use-package embark - :ensure t - :bind - (("C-." . embark-act) ; pick some comfortable binding - ("C-;" . embark-dwim) ; good alternative: M-. - ("C-h B" . embark-bindings)) ; alternative for `describe-bindings' - :init - (setq prefix-help-command #'embark-prefix-help-command) - :config - (add-to-list 'display-buffer-alist - '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*" - nil - (window-parameters (mode-line-format . none))))) - -(use-package embark-consult - :ensure t - :after (embark consult) - :demand t) - -;; Completion system (replacing blink.cmp with corfu/company) -(use-package corfu - :ensure t - :custom - (corfu-cycle t) ;; Enable cycling for `corfu-next/previous' - (corfu-auto t) ;; Enable auto completion - (corfu-auto-delay 0.2) - (corfu-auto-prefix 2) - (corfu-separator ?\s) ;; Orderless field separator - (corfu-quit-at-boundary t) ;; Never quit at completion boundary - (corfu-quit-no-match t) ;; Never quit, even if there is no match - (corfu-preview-current t) ;; Insert current candidate preview on demand - (corfu-preselect 'prompt) ;; Always preselect the prompt - :init - (global-corfu-mode) - :bind - (:map corfu-map - ("TAB" . corfu-next) - ([tab] . corfu-next) - ("S-TAB" . corfu-previous) - ([backtab] . corfu-previous))) - -;; Add extensions for corfu -(use-package corfu-popupinfo - :after corfu - :hook (corfu-mode . corfu-popupinfo-mode)) - -;; Snippets (replacing LuaSnip with yasnippet) -(use-package yasnippet - :ensure t - :config - (yas-global-mode 1)) - -(use-package yasnippet-snippets - :ensure t - :after yasnippet) - -;; Better ordering of completion candidates -(use-package pcre2el - :ensure t) - -(provide 'completion) - -;;; completion.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/core.el b/modules/mixins/dotfiles/config/emacs/lisp/core.el @@ -1,73 +0,0 @@ -;;; core.el --- Core Emacs configuration -;;; Commentary: -;;; Basic settings and package management - -;;; Code: - -;; Package management -(require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -(add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t) -(package-initialize) - -;; Ensure use-package is installed -(unless (package-installed-p 'use-package) - (package-refresh-contents) - (package-install 'use-package)) - -(eval-when-compile - (require 'use-package)) - -;; Basic Emacs settings -(setq inhibit-startup-message t) -(setq visible-bell t) -(setq make-backup-files nil) -(setq auto-save-default nil) -(setq-default tab-width 2) -(setq-default indent-tabs-mode nil) -(setq-default fill-column 80) -(setq-default word-wrap t) -(setq-default truncate-lines t) -(electric-pair-mode 1) -(show-paren-mode 1) -(column-number-mode 1) -(size-indication-mode 1) -(global-display-line-numbers-mode 1) - -;; Prefer tree-sitter modes when available -(setq major-mode-remap-alist - '((bash-mode . bash-ts-mode) - (c-mode . c-ts-mode) - (c++-mode . c++-ts-mode) - (css-mode . css-ts-mode) - (javascript-mode . js-ts-mode) - (js-mode . js-ts-mode) - (json-mode . json-ts-mode) - (python-mode . python-ts-mode) - (ruby-mode . ruby-ts-mode) - (rust-mode . rust-ts-mode) - (typescript-mode . tsx-ts-mode) - (html-mode . html-ts-mode))) - -;; Enable clipboard integration -(setq select-enable-clipboard t) -(setq select-enable-primary t) - -;; Set up backup, swap, and undo directories -(let ((backup-dir (expand-file-name "backup" user-emacs-directory)) - (autosave-dir (expand-file-name "autosave" user-emacs-directory)) - (undo-dir (expand-file-name "undo" user-emacs-directory))) - (when (not (file-exists-p backup-dir)) - (make-directory backup-dir t)) - (when (not (file-exists-p autosave-dir)) - (make-directory autosave-dir t)) - (when (not (file-exists-p undo-dir)) - (make-directory undo-dir t)) - - (setq backup-directory-alist `(("." . ,backup-dir))) - (setq auto-save-file-name-transforms `((".*" ,autosave-dir t))) - (setq undo-tree-history-directory-alist `(("." . ,undo-dir)))) - -(provide 'core) - -;;; core.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/evil-setup.el b/modules/mixins/dotfiles/config/emacs/lisp/evil-setup.el @@ -1,57 +0,0 @@ -;;; evil-setup.el --- Evil mode configuration -;;; Commentary: -;;; Evil mode setup with Vim-like keybindings - -;;; Code: - -(use-package evil - :ensure t - :init - (setq evil-want-integration t) - (setq evil-want-keybinding nil) - (setq evil-vsplit-window-right t) - (setq evil-split-window-below t) - (setq evil-want-C-u-scroll t) - (setq evil-undo-system 'undo-tree) - :config - (evil-mode 1) - (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state) - (define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join) - - ;; Use visual line motions even outside of visual-line-mode - (evil-global-set-key 'motion "j" 'evil-next-visual-line) - (evil-global-set-key 'motion "k" 'evil-previous-visual-line) - - ;; Set leader key to space - (evil-set-leader 'normal (kbd "SPC")) - - (setq evil-want-fine-undo t)) - -(use-package evil-collection - :after evil - :ensure t - :config - (evil-collection-init)) - -(use-package undo-tree - :ensure t - :after evil - :config - (global-undo-tree-mode 1) - (evil-set-undo-system 'undo-tree)) - -(use-package evil-surround - :ensure t - :after evil - :config - (global-evil-surround-mode 1)) - -(use-package evil-commentary - :ensure t - :after evil - :config - (evil-commentary-mode)) - -(provide 'evil-setup) - -;;; evil-setup.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/files.el b/modules/mixins/dotfiles/config/emacs/lisp/files.el @@ -1,41 +0,0 @@ -;;; files.el --- File and directory management -;;; Commentary: -;;; File explorer and directory operations - -;;; Code: - -;; File explorer configuration (replacing oil.nvim with dired) -(use-package dired - :ensure nil - :commands (dired dired-jump) - :config - (setq dired-listing-switches "-agho --group-directories-first") - (setq delete-by-moving-to-trash t) - (setq dired-recursive-deletes 'top) - (setq dired-recursive-copies 'always) - (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-up-directory - "l" 'dired-find-file)) - -(use-package dired-x - :ensure nil - :after dired) - -(use-package dired-open - :ensure t - :config - (setq dired-open-extensions '(("gif" . "feh") - ("jpg" . "feh") - ("png" . "feh") - ("pdf" . "evince") - ("mkv" . "mpv") - ("mp4" . "mpv")))) - -;; Enable dired-hide-dotfiles -(use-package dired-hide-dotfiles - :ensure t - :hook (dired-mode . dired-hide-dotfiles-mode)) - -(provide 'files) - -;;; files.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/git.el b/modules/mixins/dotfiles/config/emacs/lisp/git.el @@ -1,27 +0,0 @@ -;;; git.el --- Git integration -;;; Commentary: -;;; Magit and git-related configuration - -;;; Code: - -;; Git integration (replacing neogit with magit) -(use-package magit - :ensure t - :commands (magit-status magit-get-current-branch) - :custom - (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1) - :config - ;; Evil integration for magit - (evil-collection-magit-setup)) - -;; Diff viewer (replacing diffview.nvim with ediff) -(use-package ediff - :ensure nil - :config - (setq ediff-window-setup-function 'ediff-setup-windows-plain) - (setq ediff-split-window-function 'split-window-horizontally) - (setq ediff-merge-split-window-function 'split-window-horizontally)) - -(provide 'git) - -;;; git.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/keymaps.el b/modules/mixins/dotfiles/config/emacs/lisp/keymaps.el @@ -1,98 +0,0 @@ -;;; keymaps.el --- Key mappings -;;; Commentary: -;;; Ported key mappings from Neovim - -;;; Code: - -(use-package evil - :after evil-collection - :config - ;; File navigation keymaps - (evil-define-key 'normal 'global (kbd "SPC SPC") 'consult-find) ; find files - (evil-define-key 'normal 'global (kbd "SPC f f") 'consult-find) ; find files (same as SPC SPC) - (evil-define-key 'normal 'global (kbd "SPC f r") 'consult-recent-file) ; recent files - (evil-define-key 'normal 'global (kbd "SPC f g") 'consult-ripgrep) ; grep project - (evil-define-key 'normal 'global (kbd "SPC f b") 'consult-buffer) ; buffers - (evil-define-key 'normal 'global (kbd "SPC f d") 'dired) ; dired file manager - - ;; Git keymaps - (evil-define-key 'normal 'global (kbd "SPC g s") 'magit-status) ; git status - (evil-define-key 'normal 'global (kbd "-") 'dired) ; Oil - (evil-define-key 'normal 'global (kbd "f") 'avy-goto-word) ; HopWord (using avy) - - ;; LSP keymaps (eglot) - (evil-define-key 'normal 'global (kbd "SPC g g") 'eldoc-doc-buffer) ; hover - (evil-define-key 'normal 'global (kbd "SPC g d") 'xref-find-definitions) ; definition - (evil-define-key 'normal 'global (kbd "SPC g D") 'ignore) ; declaration (ignore) - (evil-define-key 'normal 'global (kbd "SPC g i") 'eglot-find-implementation) ; implementation - (evil-define-key 'normal 'global (kbd "SPC g t") 'eglot-find-typeDefinition) ; type_definition - (evil-define-key 'normal 'global (kbd "SPC g r") 'xref-find-references) ; references - (evil-define-key 'normal 'global (kbd "SPC g S") 'eldoc) ; signature_help - (evil-define-key 'normal 'global (kbd "SPC r r") 'eglot-rename) ; rename - (evil-define-key 'normal 'global (kbd "SPC g a") 'eglot-code-actions) ; code_action - (evil-define-key 'normal 'global (kbd "SPC t r") 'consult-imenu) ; document_symbol - - ;; Todo toggle mappings - (evil-define-key 'normal 'global (kbd "SPC t a") 'insert-checkbox) - (evil-define-key 'normal 'global (kbd "SPC t t") 'toggle-checkbox) - - ;; Diagnostic keymaps (flymake) - (evil-define-key 'normal 'global (kbd "SPC g l") 'flymake-show-diagnostics-buffer) ; open_float - (evil-define-key 'normal 'global (kbd "SPC g p") 'flymake-goto-prev-error) ; goto_prev - (evil-define-key 'normal 'global (kbd "SPC g n") 'flymake-goto-next-error) ; goto_next - - ;; Visual formatting - (evil-define-key 'visual 'global (kbd "SPC g f") 'eglot-format) - - ;; Completion in insert mode - (evil-define-key 'insert 'global (kbd "C-SPC") 'completion-at-point) - - ;; Window management (winner mode) - (evil-define-key 'normal 'global (kbd "C-c w") 'winner-undo) - (evil-define-key 'normal 'global (kbd "C-c W") 'winner-redo) - - ;; Dashboard refresh - (evil-define-key 'normal 'global (kbd "SPC d") 'dashboard-refresh-buffer) - - ;; Which-key - (evil-define-key 'normal 'global (kbd "SPC h k") 'which-key-show-major-mode) - - ;; Project management - (evil-define-key 'normal 'global (kbd "SPC p p") 'project-switch-project) ; switch project - (evil-define-key 'normal 'global (kbd "SPC p f") 'project-find-file) ; find file in project - - ;; Delete without yank - (evil-define-key 'normal 'global (kbd "x") 'delete-char)) - -;; Helper functions for todo toggles -(defun insert-checkbox () - "Insert a new checkbox line." - (interactive) - (beginning-of-line) - (insert "- [ ] ") - (forward-char 4)) - -(defun toggle-checkbox () - "Toggle the state of a checkbox at point." - (interactive) - (save-excursion - (beginning-of-line) - (cond - ((looking-at "- \\[ \\]") - (replace-match "- [-]")) - ((looking-at "- \\[-\\]") - (replace-match "- [x]")) - ((looking-at "- \\[x\\]") - (replace-match "- [ ]"))))) - -;; Install avy for navigation (replacing hop.nvim) -(use-package avy - :ensure t - :config - (setq avy-background t) - (setq avy-style 'de-bruijn) - (setq avy-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l ?q ?w ?e ?r ?t ?y ?u ?i ?o ?p))) - -(provide 'keymaps) - -;;; keymaps.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/lsp.el b/modules/mixins/dotfiles/config/emacs/lisp/lsp.el @@ -1,181 +0,0 @@ -;;; lsp.el --- Language Server Protocol configuration -;;; Commentary: -;;; LSP setup with eglot and lsp-mode - -;;; Code: - -;; LSP support (replacing nvim-lspconfig with eglot/lsp-mode) -(use-package eglot - :ensure nil - :config - ;; Add support for the LSP servers used in the neovim config - (add-to-list 'eglot-server-programs - '((python-mode python-ts-mode) . ("basedpyright"))) - (add-to-list 'eglot-server-programs - '((c-mode c++-mode) . ("clangd"))) - (add-to-list 'eglot-server-programs - '(go-mode . ("gopls"))) - (add-to-list 'eglot-server-programs - '(gleam-mode . ("gleam"))) - (add-to-list 'eglot-server-programs - '(nix-mode . ("nixd"))) - (add-to-list 'eglot-server-programs - '((php-mode) . ("intelephense"))) - (add-to-list 'eglot-server-programs - '(rust-mode . ("rust-analyzer"))) - (add-to-list 'eglot-server-programs - '((typescript-mode typescript-ts-mode js-mode js-jsx-mode) . ("typescript-language-server" "--stdio"))) - (add-to-list 'eglot-server-programs - '(elm-mode . ("elm-language-server"))) - (add-to-list 'eglot-server-programs - '(zig-mode . ("zls"))) - - ;; Enable eglot for supported modes - :hook - ((python-mode . eglot-ensure) - (c-mode . eglot-ensure) - (c++-mode . eglot-ensure) - (go-mode . eglot-ensure) - (gleam-mode . eglot-ensure) - (nix-mode . eglot-ensure) - (php-mode . eglot-ensure) - (rust-mode . eglot-ensure) - (typescript-mode . eglot-ensure) - (js-mode . eglot-ensure) - (elm-mode . eglot-ensure) - (zig-mode . eglot-ensure))) - -;; LSP improvements with lsp-mode -(use-package lsp-mode - :ensure t - :commands (lsp lsp-deferred) - :init - (setq lsp-keymap-prefix "C-c l") - :config - (lsp-enable-which-key-integration t)) - -(use-package lsp-ui - :ensure t - :hook (lsp-mode . lsp-ui-mode) - :config - (setq lsp-ui-doc-enable t - lsp-ui-doc-position 'bottom - lsp-ui-sideline-enable t - lsp-ui-sideline-show-hover t)) - -(use-package lsp-treemacs - :ensure t - :after lsp-mode) - -;; Tree-sitter support with comprehensive grammar installation -(use-package tree-sitter - :ensure t - :config - (global-tree-sitter-mode) - (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)) - -(use-package tree-sitter-langs - :ensure t - :after tree-sitter - :config - ;; Ensure all popular tree-sitter grammars are installed - (dolist (lang-tree '((bash . bash-ts-mode) - (c . c-ts-mode) - (cpp . c++-ts-mode) - (csharp . csharp-ts-mode) - (css . css-ts-mode) - (elixir . elixir-ts-mode) - (elm . elm-ts-mode) - (go . go-ts-mode) - (html . html-ts-mode) - (java . java-ts-mode) - (javascript . js-ts-mode) - (json . json-ts-mode) - (julia . julia-ts-mode) - (lua . lua-ts-mode) - (markdown . markdown-ts-mode) - (nix . nix-ts-mode) - (ocaml . ocaml-ts-mode) - (php . php-ts-mode) - (python . python-ts-mode) - (ruby . ruby-ts-mode) - (rust . rust-ts-mode) - (scala . scala-ts-mode) - (sql . sql-ts-mode) - (toml . toml-ts-mode) - (typescript . tsx-ts-mode) - (typescriptreact . tsx-ts-mode) - (zig . zig-ts-mode))) - ;; Enable ts-modes for each language when available - (let ((ts-mode (cdr lang-tree))) - (when (fboundp ts-mode) - (add-to-list 'tree-sitter-major-mode-language-alist - `(,(replace-regexp-in-string "-mode$" "" (symbol-name ts-mode)) . - ,(replace-regexp-in-string "-mode$" "" (symbol-name (car lang-tree)))))))) - - ;; Auto-install any missing grammars - (ignore-errors - (tree-sitter-require 'bash) - (tree-sitter-require 'c) - (tree-sitter-require 'cpp) - (tree-sitter-require 'csharp) - (tree-sitter-require 'css) - (tree-sitter-require 'elixir) - (tree-sitter-require 'elm) - (tree-sitter-require 'go) - (tree-sitter-require 'html) - (tree-sitter-require 'java) - (tree-sitter-require 'javascript) - (tree-sitter-require 'json) - (tree-sitter-require 'julia) - (tree-sitter-require 'lua) - (tree-sitter-require 'markdown) - (tree-sitter-require 'nix) - (tree-sitter-require 'ocaml) - (tree-sitter-require 'php) - (tree-sitter-require 'python) - (tree-sitter-require 'ruby) - (tree-sitter-require 'rust) - (tree-sitter-require 'scala) - (tree-sitter-require 'sql) - (tree-sitter-require 'toml) - (tree-sitter-require 'typescript) - (tree-sitter-require 'zig))) - -;; Enable flymake for diagnostics (replacing neovim diagnostics) -(use-package flymake - :ensure nil - :hook (prog-mode . flymake-mode) - :config - ;; Remove default flymake keybindings - (define-key flymake-mode-map (kbd "M-n") nil) - (define-key flymake-mode-map (kbd "M-p") nil)) - -;; Auto-formatting on save (replacing neovim auto-format) -(use-package apheleia - :ensure t - :config - (apheleia-global-mode +1) - ;; Add formatters for different file types - (setf (alist-get 'python-mode apheleia-formatters) - '(ruff isort)) - (setf (alist-get 'rust-mode apheleia-formatters) - '(rustfmt)) - (setf (alist-get 'go-mode apheleia-formatters) - '(gofumpt)) - (setf (alist-get 'nix-mode apheleia-formatters) - '(nixfmt)) - (setf (alist-get 'typescript-mode apheleia-formatters) - '(prettier)) - (setf (alist-get 'js-mode apheleia-formatters) - '(prettier)) - (setf (alist-get 'json-mode apheleia-formatters) - '(prettier)) - (setf (alist-get 'css-mode apheleia-formatters) - '(prettier)) - (setf (alist-get 'web-mode apheleia-formatters) - '(prettier))) - -(provide 'lsp) - -;;; lsp.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/theme.el b/modules/mixins/dotfiles/config/emacs/lisp/theme.el @@ -1,41 +0,0 @@ -;;; theme.el --- Theme configuration -;;; Commentary: -;;; Doric dark theme setup with terminal optimization - -;;; Code: - -;; Theme configuration - Doric Dark theme -(use-package doric-themes - :ensure t - :config - ;; Load Doric Dark theme - (load-theme 'doric-dark t) - (setq doric-themes-mode-line-height 1.0) - (setq doric-themes-box-buttons 'all) - (setq doric-themes-disable-italic nil) - (setq doric-themes-disable-bold nil)) - -;; Terminal-specific settings -(defun my/terminal-setup () - "Setup for terminal Emacs." - (when (not (display-graphic-p)) - ;; Ensure colors work properly in terminal - (setq evil-default-cursor t) - - ;; Better font locking in terminal - (setq font-lock-maximum-decoration t) - - ;; Enable xterm-256color support - (when (and (not (display-graphic-p)) - (not (string-match "256color" (getenv "TERM")))) - (let ((term "xterm-256color")) - (set-terminal-coding-system 'utf-8) - (set-keyboard-coding-system 'utf-8) - (prefer-coding-system 'utf-8))))) - -;; Apply terminal setup -(my/terminal-setup) - -(provide 'theme) - -;;; theme.el ends here diff --git a/modules/mixins/dotfiles/config/emacs/lisp/ui.el b/modules/mixins/dotfiles/config/emacs/lisp/ui.el @@ -1,137 +0,0 @@ -;;; ui.el --- User interface enhancements -;;; Commentary: -;;; Modern UI-related packages and settings for terminal Emacs - -;;; Code: - -;; Which-key for showing available keybindings -(use-package which-key - :ensure t - :init (which-key-mode) - :config - (setq which-key-side-window-location 'bottom - which-key-sort-order #'which-key-key-order-alpha - which-key-sort-uppercase-first nil - which-key-add-column-padding 1 - which-key-max-display-columns nil - which-key-min-display-lines 6 - which-key-side-window-slot -10 - which-key-side-window-max-height 0.25)) - -;; Dashboard for startup screen -(use-package dashboard - :ensure t - :config - (dashboard-setup-startup-hook) - (setq dashboard-items '((recents . 5) - (bookmarks . 5) - (projects . 5) - (agenda . 5) - (registers . 5))) - (setq dashboard-banner-logo-title "Welcome to Emacs!") - (setq dashboard-startup-banner 'official) - (setq dashboard-center-content t) - (setq dashboard-show-shortcuts nil) - (setq dashboard-set-file-icons t) - (setq dashboard-set-heading-icons t)) - -;; Nerd icons (works in terminal with nerd-fonts) -(use-package nerd-icons - :ensure t) - -(use-package nerd-icons-dired - :ensure t - :hook (dired-mode . nerd-icons-dired-mode)) - -;; Rainbow delimiters for better code readability -(use-package rainbow-delimiters - :ensure t - :hook (prog-mode . rainbow-delimiters-mode)) - -;; Highlight indent guides -(use-package highlight-indent-guides - :ensure t - :hook ((prog-mode text-mode) . highlight-indent-guides-mode) - :config - (setq highlight-indent-guides-method 'character) - (setq highlight-indent-guides-responsive 'stack) - (setq highlight-indent-guides-delay 0.1)) - -;; Smartparens for better parenthesis handling -(use-package smartparens - :ensure t - :config - (require 'smartparens-config) - (smartparens-global-mode 1) - (show-smartparens-global-mode 1) - - ;; Keybindings for smartparens - (sp-with-modes '(markdown-mode gfm-mode) - (sp-local-pair "*" "*" :actions '(wrap)) - (sp-local-pair "_" "_" :actions '(wrap))) - - (sp-with-modes '(org-mode) - (sp-local-pair "~" "~" :actions '(wrap)) - (sp-local-pair "/" "/" :actions '(wrap)))) - -;; Git gutter in fringe -(if (display-graphic-p) - (use-package git-gutter-fringe - :ensure t - :hook (prog-mode . git-gutter-fringe-mode) - :config - (setq git-gutter-fr:side 'left-fringe) - (setq git-gutter:modified-sign "~") - (setq git-gutter:added-sign "+") - (setq git-gutter:deleted-sign "-")) - (use-package git-gutter - :ensure t - :hook (prog-mode . git-gutter-mode) - :config - (setq git-gutter:modified-sign "~") - (setq git-gutter:added-sign "+") - (setq git-gutter:deleted-sign "-"))) - -;; Focus mode for better code concentration -(use-package focus - :ensure t - :bind ("C-c f" . focus-mode)) - -;; Improved scrolling -(setq scroll-margin 10 - scroll-conservatively 101 - scroll-up-aggressively 0.01 - scroll-down-aggressively 0.01 - scroll-preserve-screen-position t - auto-window-vscroll nil) - -;; Better frame titles -(setq frame-title-format '("%b - Emacs")) - -;; Remove UI clutter -(when (fboundp 'menu-bar-mode) (menu-bar-mode -1)) -(when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) -(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) -(when (fboundp 'tooltip-mode) (tooltip-mode -1)) -(when (fboundp 'fringe-mode) (fringe-mode 1)) - -;; Highlight current line -(global-hl-line-mode 1) - -;; Show trailing whitespace -(setq show-trailing-whitespace t) - -;; Enable winner mode for window management -(winner-mode 1) - -;; Improve buffer names -(use-package uniquify - :config - (setq uniquify-buffer-name-style 'forward - uniquify-separator "/" - uniquify-after-kill-buffer-p t - uniquify-ignore-buffers-re "^\\*")) - -(provide 'ui) - -;;; ui.el ends here