summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/completion.el116
-rw-r--r--config/dashboard.el59
-rw-r--r--config/eshell.el251
-rw-r--r--config/ide.el8
-rw-r--r--config/magit.el53
-rw-r--r--config/modeline.el319
-rw-r--r--config/projectile.el24
-rw-r--r--config/text/banner.txt1
-rw-r--r--config/text/emacs.txt26
-rw-r--r--config/treemacs.el67
10 files changed, 36 insertions, 888 deletions
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+")