From fdacb2111ae1043d061151d06e62da5af9e76ba8 Mon Sep 17 00:00:00 2001 From: bh Date: Tue, 28 Apr 2026 14:11:04 +0800 Subject: Fresh Start! --- config/completion.el | 116 ------------------ config/dashboard.el | 59 --------- config/eshell.el | 251 -------------------------------------- config/ide.el | 8 -- config/magit.el | 53 -------- config/modeline.el | 319 ++++++------------------------------------------- config/projectile.el | 24 ---- config/text/banner.txt | 1 - config/text/emacs.txt | 26 ---- config/treemacs.el | 67 ----------- 10 files changed, 36 insertions(+), 888 deletions(-) delete mode 100644 config/completion.el delete mode 100644 config/dashboard.el delete mode 100644 config/eshell.el delete mode 100644 config/ide.el delete mode 100644 config/magit.el delete mode 100644 config/projectile.el delete mode 100644 config/text/banner.txt delete mode 100644 config/text/emacs.txt delete mode 100644 config/treemacs.el (limited to 'config') diff --git a/config/completion.el b/config/completion.el deleted file mode 100644 index 1811baf..0000000 --- a/config/completion.el +++ /dev/null @@ -1,116 +0,0 @@ -;; Completion Framework - Vertico + Consult + Marginalia + Orderless -;; Modern, minimal completion system based on Emacs' built-in completing-read - -;; ===================================== -;; Vertico - Vertical completion UI -;; ===================================== -(use-package vertico - :init - (vertico-mode 1) - :config - ;; Cycle through candidates - (setq vertico-cycle t) - ;; Number of candidates to display - (setq vertico-count 15)) - -;; ===================================== -;; Orderless - Flexible completion style -;; ===================================== -(use-package orderless - :config - ;; Use orderless for completion - (setq completion-styles '(orderless basic) - completion-category-defaults nil - completion-category-overrides '((file (styles partial-completion))))) - -;; ===================================== -;; Marginalia - Rich annotations -;; ===================================== -(use-package marginalia - :init - (marginalia-mode 1) - :config - ;; Bind in minibuffer to toggle annotations - (define-key minibuffer-local-map (kbd "M-A") 'marginalia-cycle)) - -;; ===================================== -;; Consult - Enhanced commands -;; ===================================== -(use-package consult - :bind - (;; C-c bindings (mode-specific-map) - ("C-c h" . consult-history) - ("C-c m" . consult-mode-command) - ("C-c k" . consult-kmacro) - - ;; C-x bindings (ctl-x-map) - ("C-x M-:" . consult-complex-command) - ("C-x b" . consult-buffer) ;; Replace 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) - - ;; M-g bindings (goto-map) - ("M-g e" . consult-compile-error) - ("M-g f" . consult-flymake) - ("M-g g" . consult-goto-line) - ("M-g M-g" . consult-goto-line) - ("M-g o" . consult-outline) - ("M-g m" . consult-mark) - ("M-g k" . consult-global-mark) - ("M-g i" . consult-imenu) - ("M-g I" . consult-imenu-multi) - - ;; M-s bindings (search-map) - ("M-s d" . consult-find) - ("M-s D" . consult-locate) - ("M-s g" . consult-grep) - ("M-s G" . consult-git-grep) - ("M-s r" . consult-ripgrep) - ("M-s l" . consult-line) - ("M-s L" . consult-line-multi) - ("M-s k" . consult-keep-lines) - ("M-s u" . consult-focus-lines) - - ;; Isearch integration - ("M-s e" . consult-isearch-history) - :map isearch-mode-map - ("M-e" . consult-isearch-history) - ("M-s e" . consult-isearch-history) - ("M-s l" . consult-line) - ("M-s L" . consult-line-multi) - - ;; Minibuffer history - :map minibuffer-local-map - ("M-s" . consult-history) - ("M-r" . consult-history)) - - :config - ;; Preview configuration - (setq consult-preview-key 'any) ;; Preview as you type - - ;; Narrowing configuration - (setq consult-narrow-key "<")) ;; Use < to narrow - -;; ===================================== -;; Embark - Actions on candidates -;; ===================================== -(use-package embark - :bind - (("C-." . embark-act) ;; Pick an action using completion - ("C-;" . embark-dwim) ;; Good alternative: M-. - ("C-h B" . embark-bindings)) ;; Alternative for `describe-bindings' - :config - ;; Hide the mode line of the Embark live/completions buffers - (add-to-list 'display-buffer-alist - '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*" - nil - (window-parameters (mode-line-format . none))))) - -;; Embark + Consult integration -(use-package embark-consult - :after (embark consult) - :hook - (embark-collect-mode . consult-preview-at-point-mode)) - -(provide 'completion) diff --git a/config/dashboard.el b/config/dashboard.el deleted file mode 100644 index 820a476..0000000 --- a/config/dashboard.el +++ /dev/null @@ -1,59 +0,0 @@ -;; Dashboard - Startup screen - -(use-package dashboard - :config - ;; Use text banner from file - (setq dashboard-startup-banner (expand-file-name "config/text/banner.txt" user-emacs-directory)) - (setq dashboard-banner-logo-title "In the Beginning was the Word, and the Word was with EMACS,\nand the Word was EMACS...") - - ;; Customize the text banner face to make icon HUGE - (set-face-attribute 'dashboard-text-banner nil - :height 15.0 - :foreground "#8057b6") - - ;; Customize the title face - (set-face-attribute 'dashboard-banner-logo-title nil - :height 1.2 - :foreground "#8affff" - :weight 'bold) - - ;; Customize section heading colors (Recent Files, Projects, etc.) - (set-face-attribute 'dashboard-heading nil - :foreground "#ffc600" - :weight 'bold) - - ;; Enable Nerd Font icons - (setq dashboard-icon-type 'nerd-icons) - (setq dashboard-set-heading-icons t) - (setq dashboard-set-file-icons t) - - ;; Customize heading icons (optional - comment out to use defaults) - (setq dashboard-heading-icons '((recents . "nf-oct-history") - (bookmarks . "nf-oct-bookmark") - (projects . "nf-oct-rocket") - (agenda . "nf-oct-calendar") - (registers . "nf-oct-database"))) - - ;; Center content - (setq dashboard-center-content t) - (setq dashboard-vertically-center-content t) - - ;; Disable shortcut indicators - (setq dashboard-show-shortcuts nil) - - ;; Customize dashboard items - (setq dashboard-items '((recents . 5) - (bookmarks . 5) - (projects . 5) - (agenda . 5) - (registers . 5))) - (setq dashboard-item-shortcuts '((recents . "r") - (bookmarks . "m") - (projects . "p") - (agenda . "a") - (registers . "e"))) - - ;; Set up the startup hook - (dashboard-setup-startup-hook)) - -(provide 'dashboard) diff --git a/config/eshell.el b/config/eshell.el deleted file mode 100644 index 620388b..0000000 --- a/config/eshell.el +++ /dev/null @@ -1,251 +0,0 @@ -;; ===================================== -;; Core Eshell Configuration -;; ===================================== - -;; Ensure eshell directory exists -(unless (file-directory-p (concat user-emacs-directory "eshell")) - (make-directory (concat user-emacs-directory "eshell") t)) - -;; Scrolling behavior -(setq eshell-scroll-to-bottom-on-input 'all - eshell-scroll-to-bottom-on-output 'all - eshell-kill-processes-on-exit t - eshell-hist-ignoredups t) - -;; Function to make C-d exit eshell (from Doom Emacs) -(defun my-eshell-quit-or-delete-char (arg) - "Delete a character (ahead of the cursor) or quit eshell if there's nothing to delete." - (interactive "p") - (if (and (eolp) (looking-back eshell-prompt-regexp nil)) - (eshell-life-is-too-much) - (delete-char arg))) - -;; History settings -(setq eshell-history-size 100000 - eshell-history-file-name (concat user-emacs-directory "eshell/history") - eshell-save-history-on-exit t) - -;; Buffer naming -(setq eshell-buffer-maximum-lines 20000 - eshell-buffer-name "*eshell*") - -;; Completion settings -(setq eshell-cmpl-cycle-completions nil - eshell-cmpl-ignore-case t) - -;; Visual commands (run in term mode instead of eshell) -(setq eshell-visual-commands '("vi" "vim" "nvim" "screen" "tmux" "top" "htop" "less" "more" "lynx" "ncftp" "mutt")) -(setq eshell-visual-subcommands '(("git" "log" "diff" "show"))) - -;; Optional: Hook to do extra setup when eshell starts -(add-hook 'eshell-first-time-mode-hook - (lambda () - ;; any additional setup here - )) - -;; ===================================== -;; xterm-color: Better ANSI Colors -;; ===================================== - -(use-package xterm-color - :config - ;; Preserve text properties before prompt - (add-hook 'eshell-before-prompt-hook - (lambda () - (setq xterm-color-preserve-properties t))) - - ;; Ensure hooks exist after Eshell is loaded - (with-eval-after-load 'eshell - ;; Replace default ansi-color with xterm-color - (add-to-list 'eshell-preoutput-filter-functions 'xterm-color-filter) - ;; Remove default ansi-color handler - (setq eshell-output-filter-functions - (remove 'eshell-handle-ansi-color eshell-output-filter-functions)))) - -;; ===================================== -;; eshell-syntax-highlighting: Command Highlighting -;; ===================================== - -(use-package eshell-syntax-highlighting - :after eshell - :config - ;; Enable syntax highlighting in all eshell buffers - (eshell-syntax-highlighting-global-mode +1)) - -;; ===================================== -;; esh-autosuggest: Fish-like Autosuggestions -;; ===================================== - -(use-package esh-autosuggest - :hook (eshell-mode . esh-autosuggest-mode) - :config - ;; Use company for completions if available - (setq esh-autosuggest-delay 0.5)) - -;; ===================================== -;; eshell-prompt-extras: Enhanced Prompt -;; ===================================== - -(use-package eshell-prompt-extras - :after eshell - :config - ;; Custom prompt with Emacs icon + lambda - (defun my-eshell-prompt () - "Custom eshell prompt with Emacs icon and lambda." - (concat - ;; Emacs icon at the start - (propertize " " 'face '(:foreground "#8057b6")) - ;; Use the built-in lambda theme for the rest - (epe-theme-lambda))) - - (setq eshell-highlight-prompt nil - eshell-prompt-function 'my-eshell-prompt) - - ;; Prompt colors - (set-face-attribute 'epe-pipeline-delimiter-face nil :foreground "#F3AB4D") - (set-face-attribute 'epe-pipeline-user-face nil :foreground "#6BC0EE") - (set-face-attribute 'epe-pipeline-host-face nil :foreground "#91F9E5") - (set-face-attribute 'epe-dir-face nil :foreground "#8affff") - (set-face-attribute 'epe-git-face nil :foreground "#FAF36F")) - -;; ===================================== -;; Eshell Aliases & Custom Functions -;; ===================================== - -(defun eshell/ll (&rest args) - "ls -lh with optional arguments." - (apply #'eshell/ls "-lh" args)) - -(defun eshell/l (&rest args) - (apply #'eshell/ls "-lah" args)) - -(defun eshell/la (&rest args) - "ls -lah (all files) with optional arguments." - (apply #'eshell/ls "-lah" args)) - -(defun eshell/e (&rest args) - "Open a file in Emacs." - ; (if (null args) - ; (bury-buffer) - (mapc #'find-file - (mapcar #'expand-file-name - (eshell-flatten-list (reverse args))))) ;) - -(defun eshell/d (&optional dir) - "Open dired in DIR (or current directory)." - (dired (or dir "."))) - -(defun eshell/take (dir) - "Create directory DIR and cd into it." - (make-directory dir t) - (eshell/cd dir)) - -;; ===================================== -;; Eshell Git Integration -;; ===================================== - -(defun eshell/gst () - "Git status." - (magit-status)) - -(defun eshell/gd () - "Git diff." - (magit-diff-unstaged)) - -(defun eshell/gds () - "Git diff staged." - (magit-diff-staged)) - -;; ===================================== -;; Multi-eshell: Manage Multiple Buffers -;; ===================================== - -(defvar eshell-buffer-index 1 - "Index for naming multiple eshell buffers.") - -(defun eshell-new () - "Create a new eshell buffer." - (interactive) - (eshell t)) - -(defun eshell-here () - "Open eshell in current directory." - (interactive) - (let ((current-dir default-directory)) - (eshell) - (unless (equal (eshell/pwd) current-dir) - (eshell/cd current-dir) - (eshell-send-input)))) - -;; ===================================== -;; Keybindings -;; ===================================== - -(global-set-key (kbd "C-c e") 'eshell-new) -(global-set-key (kbd "C-c E") 'eshell-here) - -;; Eshell-mode specific keybindings -(add-hook 'eshell-mode-hook - (lambda () - ;; Company completion in eshell - (company-mode +1) - ;; Clear screen - (define-key eshell-mode-map (kbd "C-l") - (lambda () - (interactive) - (eshell/clear 1) ;; clear the buffer - (eshell-emit-prompt))) ;; insert a new prompt - ;; History navigation - (define-key eshell-mode-map (kbd "C-c C-l") 'eshell-list-history) - ;; Emacs-style line navigation - (define-key eshell-mode-map (kbd "C-a") 'eshell-bol) - (define-key eshell-mode-map (kbd "C-e") 'end-of-line) - ;; C-d exits eshell or deletes char (Doom Emacs implementation) - ;;(define-key eshell-mode-map (kbd "C-d") 'my-eshell-quit-or-delete-char))) - (define-key eshell-mode-map (kbd "C-d") 'eshell-life-is-too-much))) - -;; ===================================== -;; Evil Integration -;; ===================================== - -(with-eval-after-load 'evil - ;; Start in insert mode (like terminal) - (add-to-list 'evil-insert-state-modes 'eshell-mode) - - ;; Bind C-d in evil insert state for eshell - (evil-define-key 'insert eshell-mode-map (kbd "C-d") 'my-eshell-quit-or-delete-char) - - ;; Add eshell to evil-collection if available - (with-eval-after-load 'evil-collection - (evil-collection-eshell-setup))) - -(provide 'config-eshell) - -;; ===================================== -;; Startup Banner -;; ===================================== - -;; Customize the startup message -(setq eshell-banner-message - (concat - "\n" - " ███████╗███████╗██╗ ██╗███████╗██╗ ██╗\n" - " ██╔════╝██╔════╝██║ ██║██╔════╝██║ ██║\n" - " █████╗ ███████╗███████║█████╗ ██║ ██║\n" - " ██╔══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║\n" - " ███████╗███████║██║ ██║███████╗███████╗███████╗\n" - " ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝\n" - "\n" - " Welcome to Eshell - The Emacs Shell🐚!\n" - " Come Rest, Weary Traveller!\n" - " Type 'help' for commands or 'exit' to close\n" - "\n")) - -;; Alternative: Clear banner completely -;; (setq eshell-banner-message "") - -;; Alternative: Run fastfetch on startup -;; (defun my-eshell-startup-hook () -;; (setq eshell-banner-message "") -;; (eshell-command "fastfetch")) -;; (add-hook 'eshell-first-time-mode-hook #'my-eshell-startup-hook) diff --git a/config/ide.el b/config/ide.el deleted file mode 100644 index 2ee13df..0000000 --- a/config/ide.el +++ /dev/null @@ -1,8 +0,0 @@ -;; IDE Features for EMACS - -;; ===================================== -;; Modes -;; ===================================== - -(use-package go-mode) -(use-package rust-mode) diff --git a/config/magit.el b/config/magit.el deleted file mode 100644 index 85f2de0..0000000 --- a/config/magit.el +++ /dev/null @@ -1,53 +0,0 @@ -;; Magit - Simple Git interface for Emacs - -(use-package magit - :bind - (("C-x g" . magit-status) ;; Open Magit status - ("C-x M-g" . magit-dispatch) ;; Magit command menu - ("C-c M-g" . magit-file-dispatch) ;; File-specific commands - ("C-c g b" . magit-blame) ;; Git blame for current file - ("C-c g l" . magit-log-buffer-file) ;; Log for current file - ("C-c g d" . magit-diff-buffer-file));; Diff for current file - :config - ;; Section highlight (when cursor is on a section) - (set-face-attribute 'magit-section-highlight nil - :background "#004344") - - ;; Section heading text color (like "Unstaged changes", "Staged changes", etc.) - (set-face-attribute 'magit-section-heading nil - :foreground "#ffc600") - - ;; Diff hunk headers (the @@ lines) - (set-face-attribute 'magit-diff-hunk-heading nil - :background "#002323" - :foreground "#8affff") - (set-face-attribute 'magit-diff-hunk-heading-highlight nil - :background "#112b2b" - :foreground "#8affff") - -;; Diff context lines (unchanged lines in diffs) -(set-face-attribute 'magit-diff-context nil - :background "#003636") -(set-face-attribute 'magit-diff-context-highlight nil - :background "#004344") - -;; Show recent commits -(setq magit-log-section-commit-count 10) - -;; Customize section order - keep unstaged, staged, and recent commits at top -(setq magit-status-sections-hook - '(magit-insert-status-headers - magit-insert-staged-changes - magit-insert-unstaged-changes - magit-insert-recent-commits - magit-insert-untracked-files - magit-insert-stashes - magit-insert-unpulled-from-upstream - magit-insert-unpushed-to-upstream - magit-insert-merge-log - magit-insert-rebase-sequence - magit-insert-am-sequence - magit-insert-sequencer-sequence - magit-insert-bisect-output - magit-insert-bisect-rest - magit-insert-bisect-log))) diff --git a/config/modeline.el b/config/modeline.el index d568072..f5f520f 100644 --- a/config/modeline.el +++ b/config/modeline.el @@ -17,293 +17,46 @@ ;; Adjust icon scale to prevent cutoff (setq nerd-icons-scale-factor 1.0)) -(use-package doom-modeline - :ensure t - :init (doom-modeline-mode 1)) - -;; If non-nil, cause imenu to see `doom-modeline' declarations. -;; This is done by adjusting `lisp-imenu-generic-expression' to -;; include support for finding `doom-modeline-def-*' forms. -;; Must be set before loading doom-modeline. +;; Must be set before loading doom-modeline (setq doom-modeline-support-imenu t) -;; How tall the mode-line should be. It's only respected in GUI. -;; If the actual char height is larger, it respects the actual height. -(setq doom-modeline-height 20) - -;; How wide the mode-line bar should be. It's only respected in GUI. -(setq doom-modeline-bar-width 4) - -;; Whether to use hud instead of default bar. It's only respected in GUI. -(setq doom-modeline-hud nil) - -;; The limit of the window width. -;; If `window-width' is smaller than the limit, some information won't be -;; displayed. It can be an integer or a float number. `nil' means no limit." -(setq doom-modeline-window-width-limit 85) - -;; Override attributes of the face used for padding. -;; If the space character is very thin in the modeline, for example if a -;; variable pitch font is used there, then segments may appear unusually close. -;; To use the space character from the `fixed-pitch' font family instead, set -;; this variable to `(list :family (face-attribute 'fixed-pitch :family))'. -;; (setq doom-modeline-spc-face-overrides nil) -;; (setq doom-modeline-spc-face-overrides nil) -(setq doom-modeline-spc-face-overrides - (list :family (face-attribute 'fixed-pitch :family))) - -;; How to detect the project root. -;; nil means to use `default-directory'. -;; The project management packages have some issues on detecting project root. -;; e.g. `projectile' doesn't handle symlink folders well, while `project' is unable -;; to hanle sub-projects. -;; You can specify one if you encounter the issue. -(setq doom-modeline-project-detection 'auto) - -;; Determines the style used by `doom-modeline-buffer-file-name'. -;; -;; Given ~/Projects/FOSS/emacs/lisp/comint.el -;; auto => emacs/l/comint.el (in a project) or comint.el -;; truncate-upto-project => ~/P/F/emacs/lisp/comint.el -;; truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el -;; truncate-with-project => emacs/l/comint.el -;; truncate-except-project => ~/P/F/emacs/l/comint.el -;; truncate-upto-root => ~/P/F/e/lisp/comint.el -;; truncate-all => ~/P/F/e/l/comint.el -;; truncate-nil => ~/Projects/FOSS/emacs/lisp/comint.el -;; relative-from-project => emacs/lisp/comint.el -;; relative-to-project => lisp/comint.el -;; file-name => comint.el -;; file-name-with-project => FOSS|comint.el -;; buffer-name => comint.el<2> (uniquify buffer name) -;; -;; If you are experiencing the laggy issue, especially while editing remote files -;; with tramp, please try `file-name' style. -;; Please refer to https://github.com/bbatsov/projectile/issues/657. -(setq doom-modeline-buffer-file-name-style 'auto) - -;; Whether display icons in the mode-line. -;; While using the server mode in GUI, should set the value explicitly. -(setq doom-modeline-icon t) - -;; Whether display the icon for `major-mode'. It respects option `doom-modeline-icon'. -(setq doom-modeline-major-mode-icon t) - -;; Whether display the colorful icon for `major-mode'. -;; It respects `nerd-icons-color-icons'. -(setq doom-modeline-major-mode-color-icon t) - -;; Whether display the icon for the buffer state. It respects option `doom-modeline-icon'. -(setq doom-modeline-buffer-state-icon t) - -;; Whether display the modification icon for the buffer. -;; It respects option `doom-modeline-icon' and option `doom-modeline-buffer-state-icon'. -(setq doom-modeline-buffer-modification-icon t) - -;; Whether display the lsp icon. It respects option `doom-modeline-icon'. -(setq doom-modeline-lsp-icon t) - -;; Whether display the time icon. It respects option `doom-modeline-icon'. -(setq doom-modeline-time-icon t) - -;; Whether display the live icons of time. -;; It respects option `doom-modeline-icon' and option `doom-modeline-time-icon'. -(setq doom-modeline-time-live-icon t) - -;; Whether to use an analogue clock svg as the live time icon. -;; It respects options `doom-modeline-icon', `doom-modeline-time-icon', and `doom-modeline-time-live-icon'. -(setq doom-modeline-time-analogue-clock t) - -;; The scaling factor used when drawing the analogue clock. -(setq doom-modeline-time-clock-size 0.7) - -;; Whether to use unicode as a fallback (instead of ASCII) when not using icons. -(setq doom-modeline-unicode-fallback nil) - -;; Whether display the buffer name. -(setq doom-modeline-buffer-name t) - -;; Whether highlight the modified buffer name. -(setq doom-modeline-highlight-modified-buffer-name t) - -;; When non-nil, mode line displays column numbers zero-based. -;; See `column-number-indicator-zero-based'. -(setq doom-modeline-column-zero-based t) - -;; Specification of \"percentage offset\" of window through buffer. -;; See `mode-line-percent-position'. -(setq doom-modeline-percent-position '(-3 "%p")) - -;; Format used to display line numbers in the mode line. -;; See `mode-line-position-line-format'. -(setq doom-modeline-position-line-format '("L%l")) - -;; Format used to display column numbers in the mode line. -;; See `mode-line-position-column-format'. -(setq doom-modeline-position-column-format '("C%c")) - -;; Format used to display combined line/column numbers in the mode line. See `mode-line-position-column-line-format'. -(setq doom-modeline-position-column-line-format '("%l:%c")) - -;; Whether display the minor modes in the mode-line. -(setq doom-modeline-minor-modes nil) - -;; Whether display the selection information. -(setq doom-modeline-selection-info t) - -;; If non-nil, a word count will be added to the selection-info modeline segment. -(setq doom-modeline-enable-word-count nil) - -;; Major modes in which to display word count continuously. -;; Also applies to any derived modes. Respects `doom-modeline-enable-word-count'. -;; If it brings the sluggish issue, disable `doom-modeline-enable-word-count' or -;; remove the modes from `doom-modeline-continuous-word-count-modes'. -(setq doom-modeline-continuous-word-count-modes '(markdown-mode gfm-mode org-mode)) - -;; Whether display the buffer encoding. -(setq doom-modeline-buffer-encoding t) - -;; Whether display the indentation information. -(setq doom-modeline-indent-info nil) - -;; Whether display the total line number。 -(setq doom-modeline-total-line-number nil) - -;; Whether display the icon of vcs segment. It respects option `doom-modeline-icon'." -(setq doom-modeline-vcs-icon t) - -;; The maximum displayed length of the branch name of version control. -(setq doom-modeline-vcs-max-length 15) - -;; The function to display the branch name. -(setq doom-modeline-vcs-display-function #'doom-modeline-vcs-name) - -;; Alist mapping VCS states to their corresponding faces. -;; See `vc-state' for possible values of the state. -;; For states not explicitly listed, the `doom-modeline-vcs-default' face is used. -(setq doom-modeline-vcs-state-faces-alist - '((needs-update . (doom-modeline-warning bold)) - (removed . (doom-modeline-urgent bold)) - (conflict . (doom-modeline-urgent bold)) - (unregistered . (doom-modeline-urgent bold)))) - -;; Whether display the icon of check segment. It respects option `doom-modeline-icon'. -(setq doom-modeline-check-icon t) - -;; If non-nil, only display one number for check information if applicable. -(setq doom-modeline-check-simple-format nil) - -;; The maximum number displayed for notifications. -(setq doom-modeline-number-limit 99) - -;; Whether display the project name. Non-nil to display in the mode-line. -(setq doom-modeline-project-name t) - -;; Whether display the workspace name. Non-nil to display in the mode-line. -(setq doom-modeline-workspace-name t) - -;; Whether display the perspective name. Non-nil to display in the mode-line. -(setq doom-modeline-persp-name t) - -;; If non nil the default perspective name is displayed in the mode-line. -(setq doom-modeline-display-default-persp-name nil) - -;; If non nil the perspective name is displayed alongside a folder icon. -(setq doom-modeline-persp-icon t) - -;; Whether display the `lsp' state. Non-nil to display in the mode-line. -(setq doom-modeline-lsp t) - -;; Whether display the GitHub notifications. It requires `ghub' package. -(setq doom-modeline-github nil) - -;; The interval of checking GitHub. -(setq doom-modeline-github-interval (* 30 60)) - -;; Whether display the modal state. -;; Including `evil', `overwrite', `god', `ryo' and `xah-fly-keys', etc. -(setq doom-modeline-modal t) - -;; Whether display the modal state icon. -;; Including `evil', `overwrite', `god', `ryo' and `xah-fly-keys', etc. -(setq doom-modeline-modal-icon t) - -;; Whether display the modern icons for modals. -(setq doom-modeline-modal-modern-icon t) - -;; When non-nil, always show the register name when recording an evil macro. -(setq doom-modeline-always-show-macro-register nil) - -;; Whether display the mu4e notifications. It requires `mu4e-alert' package. -(setq doom-modeline-mu4e nil) -;; also enable the start of mu4e-alert -;; (mu4e-alert-enable-mode-line-display) ;; Disabled since mu4e is disabled - -;; Whether display the gnus notifications. -(setq doom-modeline-gnus t) - -;; Whether gnus should automatically be updated and how often (set to 0 or smaller than 0 to disable) -(setq doom-modeline-gnus-timer 2) - -;; Wheter groups should be excludede when gnus automatically being updated. -(setq doom-modeline-gnus-excluded-groups '("dummy.group")) - -;; Whether display the IRC notifications. It requires `circe' or `erc' package. -(setq doom-modeline-irc t) - -;; Function to stylize the irc buffer names. -(setq doom-modeline-irc-stylize 'identity) - -;; Whether display the battery status. It respects `display-battery-mode'. -(setq doom-modeline-battery t) - -;; Whether display the time. It respects `display-time-mode'. -(setq doom-modeline-time t) - -;; Whether display the misc segment on all mode lines. -;; If nil, display only if the mode line is active. -(setq doom-modeline-display-misc-in-all-mode-lines t) - -;; Whether to display the remote host information. -(setq doom-modeline-remote-host t) - -;; The function to handle `buffer-file-name'. -(setq doom-modeline-buffer-file-name-function #'identity) - -;; The function to handle `buffer-file-truename'. -(setq doom-modeline-buffer-file-truename-function #'identity) - -;; Whether display the environment version. -(setq doom-modeline-env-version t) -;; Or for individual languages -(setq doom-modeline-env-enable-python t) -(setq doom-modeline-env-enable-ruby t) -(setq doom-modeline-env-enable-perl t) -(setq doom-modeline-env-enable-go t) -(setq doom-modeline-env-enable-elixir t) -(setq doom-modeline-env-enable-rust t) - -;; Change the executables to use for the language version string -(setq doom-modeline-env-python-executable "python") ; or `python-shell-interpreter' -(setq doom-modeline-env-ruby-executable "ruby") -(setq doom-modeline-env-perl-executable "perl") -(setq doom-modeline-env-go-executable "go") -(setq doom-modeline-env-elixir-executable "iex") -(setq doom-modeline-env-rust-executable "rustc") - -;; What to display as the version while a new one is being loaded -(setq doom-modeline-env-load-string "...") - -;; By default, almost all segments are displayed only in the active window. To -;; display such segments in all windows, specify e.g. -(setq doom-modeline-always-visible-segments '(mu4e irc)) - -;; Hooks that run before/after the modeline version string is updated -(setq doom-modeline-before-update-env-hook nil) -(setq doom-modeline-after-update-env-hook nil) +(use-package doom-modeline + :ensure t + :init (doom-modeline-mode 1) + :config + (setq doom-modeline-height 20 + doom-modeline-bar-width 4 + doom-modeline-window-width-limit 85 + doom-modeline-spc-face-overrides (list :family (face-attribute 'fixed-pitch :family)) + doom-modeline-project-detection 'auto + doom-modeline-buffer-file-name-style 'auto + doom-modeline-icon t + doom-modeline-major-mode-icon t + doom-modeline-major-mode-color-icon t + doom-modeline-buffer-state-icon t + doom-modeline-buffer-modification-icon t + doom-modeline-buffer-name t + doom-modeline-highlight-modified-buffer-name t + doom-modeline-position-column-line-format '("%l:%c") + doom-modeline-minor-modes nil + doom-modeline-selection-info t + doom-modeline-vcs-icon t + doom-modeline-vcs-max-length 15 + doom-modeline-check-icon t + doom-modeline-project-name t + doom-modeline-modal t + doom-modeline-modal-icon t + doom-modeline-modal-modern-icon t + doom-modeline-github nil + doom-modeline-mu4e nil + doom-modeline-gnus nil + doom-modeline-irc nil + doom-modeline-battery nil + doom-modeline-time nil + doom-modeline-env-version nil + doom-modeline-lsp nil)) ;; Prevent evil state icons from being bold in active modeline -;; Only set evil state faces to normal, not the base doom-modeline face (with-eval-after-load 'doom-modeline (dolist (face '(doom-modeline-evil-emacs-state doom-modeline-evil-insert-state diff --git a/config/projectile.el b/config/projectile.el deleted file mode 100644 index 4e9ab71..0000000 --- a/config/projectile.el +++ /dev/null @@ -1,24 +0,0 @@ -;; Projectile - Project management - -(use-package projectile - :config - ;; Enable projectile globally - (projectile-mode +1) - - ;; Set project search path (where your projects live) - (setq projectile-project-search-path '("~/projects" "~/.config")) - - ;; Cache project files for better performance - (setq projectile-enable-caching t) - - ;; Keybindings - :bind-keymap - ("C-c p" . projectile-command-map) - - :bind - ; (("C-c p f" . projectile-find-file) ;; Find file in project - ; ("C-c p p" . projectile-switch-project) ;; Switch between projects - ; ("C-c p s" . projectile-ripgrep))) ;; Search in project - ) - -(provide 'projectile) diff --git a/config/text/banner.txt b/config/text/banner.txt deleted file mode 100644 index cac82ba..0000000 --- a/config/text/banner.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/config/text/emacs.txt b/config/text/emacs.txt deleted file mode 100644 index d279271..0000000 --- a/config/text/emacs.txt +++ /dev/null @@ -1,26 +0,0 @@ - @@@@@ - @######+++++#####@@ - @##+++++++++++++++++++##@ - @##+++++++++++++++++++++++++##@ - @##+++++++++++++++++ +++++++%%@ - ##+++++++++++++++++++++ +++++++%% - @#++++++++++++++++++++- ++++++++%%@ - @#+++++++++ ++++++++++#%@ - @#++++++++++ ++++++++++++++++++++++%% - ##+++++++++++ +++++++++++++++++++++****%@ - @#++++++++++++++ ++++++++++++++++*******% - @#++++++++++++++++++ +++++++++**********%@ - ##++++++++++++++++ ++*************%@ - ##++++++++++- +++++***************%@ - @#++++++++ +++++++******************%@ - @#+++++++ ++++++++********************% - ##++++++ ++++++**********************%@ - @#+++++++. .***********************%% - @#++++++++++ *******%@ - @%+++++++++*************** ******%%@ - @%%+++++*********** **********%% - @%%*****************************%%@ - @%%*************************%%@ - @%%%*******************%%@@ - @%%%%%*******%%%%%@ - @@@@@@@ diff --git a/config/treemacs.el b/config/treemacs.el deleted file mode 100644 index 7e7917f..0000000 --- a/config/treemacs.el +++ /dev/null @@ -1,67 +0,0 @@ -;; Treemacs - Simple Configuration - -(use-package treemacs - :defer t - :config - (setq treemacs-width 35 - treemacs-width-is-initially-locked nil ;; Allow resizing - treemacs-width-increment 1 ;; Smooth resize - treemacs-position 'left - treemacs-show-hidden-files t - ; treemacs-indentation 1 ;; Minimal indentation - ; treemacs-indentation-string " " ;; Just space, no lines - - ;; Disable mouse Features - treemacs-move-files-by-mouse-dragging nil ;; NO DRAGGING FILES! - treemacs-recenter-after-file-follow nil ;; Prevent mouse issues - treemacs-silent-filewatch t ;; Reduce mouse events - treemacs-show-cursor nil) ;; Hide cursor in treemacs - - ;; Disable mouse in treemacs completely - :hook - (treemacs-mode . (lambda () - ;; Disable all mouse button bindings - (define-key treemacs-mode-map [mouse-1] 'ignore) - (define-key treemacs-mode-map [mouse-2] 'ignore) - (define-key treemacs-mode-map [mouse-3] 'ignore) - (define-key treemacs-mode-map [drag-mouse-1] 'ignore) - (define-key treemacs-mode-map [down-mouse-1] 'ignore) - (define-key treemacs-mode-map [double-mouse-1] 'ignore) - (define-key treemacs-mode-map [triple-mouse-1] 'ignore))) - :bind - (:map global-map - ("M-0" . treemacs-select-window) - ("C-x t 1" . treemacs-delete-other-windows) - ("C-x t t" . treemacs) - ("C-x t d" . treemacs-select-directory) - ("C-x t B" . treemacs-bookmark) - ("C-x t C-t" . treemacs-find-file) - ("C-x t M-t" . treemacs-find-tag))) - -;; Evil keybindings for treemacs -(use-package treemacs-evil - :after (treemacs evil)) - -;; Beautiful icons for treemacs using nerd-icons -(use-package treemacs-nerd-icons - :after treemacs - :config - ;; Reduce spacing between arrows and icons - (setq treemacs-nerd-icons-tab (propertize " " :face 'treemacs-nerd-icons-file-face)) - (treemacs-load-theme "nerd-icons")) - -;; Customize folder icon colors (for nerd-icons theme) -(with-eval-after-load 'treemacs-nerd-icons - (set-face-attribute 'treemacs-nerd-icons-file-face nil - :foreground "#74c4c4" - :inherit 'unspecified)) - -;; DIRED -;; Dired integration - adds nerd-icons to dired buffers -(use-package nerd-icons-dired - :hook - (dired-mode . nerd-icons-dired-mode)) - -;; TODO -;;(use-package dired+ -;; :load-path "~/.config/emacs/config/packages/dired+") -- cgit v1.2.3