diff --git a/.emacs.d/early-init.el b/.emacs.d/early-init.el deleted file mode 100644 index 512068a..0000000 --- a/.emacs.d/early-init.el +++ /dev/null @@ -1 +0,0 @@ -(setq package-enable-at-startup nil) diff --git a/.emacs.d/init.el b/.emacs.d/init.el deleted file mode 100644 index 4d23a9d..0000000 --- a/.emacs.d/init.el +++ /dev/null @@ -1,248 +0,0 @@ -;;; Elpaca - -(defvar elpaca-installer-version 0.8) -(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) -(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) -(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) -(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 - :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) -(let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) - (build (expand-file-name "elpaca/" elpaca-builds-directory)) - (order (cdr elpaca-order)) - (default-directory repo)) - (add-to-list 'load-path (if (file-exists-p build) build repo)) - (unless (file-exists-p repo) - (make-directory repo t) - (when (< emacs-major-version 28) (require 'subr-x)) - (condition-case-unless-debug err - (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let* ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) - (progn (message "%s" (buffer-string)) (kill-buffer buffer)) - (error "%s" (with-current-buffer buffer (buffer-string)))) - ((error) (warn "%s" err) (delete-directory repo 'recursive)))) - (unless (require 'elpaca-autoloads nil t) - (require 'elpaca) - (elpaca-generate-autoloads "elpaca" repo) - (load "./elpaca-autoloads"))) -(add-hook 'after-init-hook #'elpaca-process-queues) -(elpaca `(,@elpaca-order)) - -;; Install use-package support -(elpaca elpaca-use-package - ;; Enable use-package :ensure support for Elpaca. - (elpaca-use-package-mode)) - -(use-package evil - :ensure t - :demand t - :init - (evil-mode 1) - :config - (define-key evil-normal-state-map (kbd "C-h") 'evil-window-left) - (define-key evil-normal-state-map (kbd "C-j") 'evil-window-down) - (define-key evil-normal-state-map (kbd "C-k") 'evil-window-up) - (define-key evil-normal-state-map (kbd "C-l") 'evil-window-right)) - -(use-package nord-theme - :ensure t - :demand t - :init - (add-to-list 'custom-theme-load-path (expand-file-name "~/.emacs.d/themes/")) - (load-theme 'nord t)) - -(use-package vterm - :ensure t - :hook (vterm-mode . (lambda () (display-line-numbers-mode -1)))) - -(use-package toggle-term - :bind (("M-\\" . toggle-term-vterm)) - :config - (setq toggle-term-size 25) - (setq toggle-term-switch-upon-toggle t) - :hook - (vterm-mode . (lambda () - ;; Ensure M-\ toggles vterm even when inside vterm - (define-key vterm-mode-map (kbd "M-\\") 'toggle-term-vterm) - (display-line-numbers-mode -1) - ))) - -(use-package all-the-icons - :ensure t - :demand t) - -(use-package dirvish - :ensure t - :demand t - :init - (dirvish-override-dired-mode) - :custom - (dirvish-quick-access-entries ; It's a custom option, `setq' won't work - '(("h" "~/" "Home") - ("d" "~/Downloads/" "Downloads") - ("m" "/mnt/" "Drives") - ("t" "~/.local/share/Trash/files/" "TrashCan"))) -:config - ;; (dirvish-peek-mode) ; Preview files in minibuffer - ;; (dirvish-side-follow-mode) ; similar to `treemacs-follow-mode' - (setq dirvish-mode-line-format - '(:left (sort symlink) :right (omit yank index))) - (setq dirvish-attributes - '(all-the-icons file-time file-size collapse subtree-state vc-state git-msg)) - (setq delete-by-moving-to-trash t) - (setq dired-listing-switches - "-l --almost-all --human-readable --group-directories-first --no-group") - (setq dired-mouse-drag-files t) ; added in Emacs 29 - (setq mouse-drag-and-drop-region-cross-program t) ; added in Emacs 29 - (setq dirvish-default-layout '(0 0 0)) - :bind ; Bind `dirvish|dirvish-side|dirvish-dwim' as you see fit - (("M-f" . dirvish-side) - :map dirvish-mode-map ; Dirvish inherits `dired-mode-map' - ("a" . dirvish-quick-access) - ("f" . dirvish-file-info-menu) - ("y" . dirvish-yank-menu) - ("N" . dirvish-narrow) - ("^" . dirvish-history-last) - ("h" . dirvish-history-jump) ; remapped `describe-mode' - ("s" . dirvish-quicksort) ; remapped `dired-sort-toggle-or-edit' - ("v" . dirvish-vc-menu) ; remapped `dired-view-file' - ("TAB" . dirvish-subtree-toggle) - ("C-i" . dirvish-history-go-forward) - ("C-o" . dirvish-history-go-backward) - ("M-l" . dirvish-ls-switches-menu) - ("M-m" . dirvish-mark-menu) - ("M-t" . dirvish-layout-toggle) - ("M-s" . dirvish-setup-menu) - ("M-e" . dirvish-emerge-menu) - ("M-j" . dirvish-fd-jump))) - -(use-package lambda-line - :ensure (:host github :repo "lambda-emacs/lambda-line") - :custom - (lambda-line-position 'bottom) ;; Set position of status-line - (lambda-line-abbrev t) ;; abbreviate major modes - (lambda-line-hspace " ") ;; add some cushion - (lambda-line-prefix t) ;; use a prefix symbol - (lambda-line-prefix-padding nil) ;; no extra space for prefix - (lambda-line-status-invert nil) ;; no invert colors - (lambda-line-gui-ro-symbol " ") ;; symbols - (lambda-line-gui-mod-symbol " ") - (lambda-line-gui-rw-symbol " ") - (lambda-line-space-top +.50) ;; padding on top and bottom of line - (lambda-line-space-bottom -.50) - (lambda-line-symbol-position 0.1) ;; adjust the vertical placement of symbol - :config - ;; activate lambda-line - (lambda-line-mode) - ;; set divider line in footer - (when (eq lambda-line-position 'top) - (setq-default mode-line-format (list "%_")) - (setq mode-line-format (list "%_")))) - -;; LSP -(use-package lsp-mode - :ensure t - :demand t - :hook - (c-mode . lsp) - :commands lsp) - -(use-package lsp-ui - :ensure t - :demand t - :commands lsp-ui-mode) - -;; Projectile -(use-package projectile - :ensure t - :demand t - :) - -;;; Other - -;; TODO: -;; -;; Projectile + vertico/ivy? -;; Indent lines -;; Treesitter? -;; -;; Minimap - -;; Window -(setq initial-frame-alist - (append initial-frame-alist - '((width . 100) - (height . 50)))) - -;; Backups -(setq backup-directory-alist `(("." . "/tmp"))) - -;; Line numbers -(setq-default display-line-numbers-width 5) -(global-display-line-numbers-mode) - -;; Highlight -(global-hl-line-mode) - -;; Font -(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. - '(default ((t (:family "CommitMono" :foundry " " :slant normal :weight bold :height 98 :width normal))))) - -;; UI -(menu-bar-mode -1) -(tool-bar-mode -1) -(scroll-bar-mode -1) - -;; Fix resizing -(setq frame-resize-pixelwise t) - -;; Disable bell -(setq visible-bell t) - -;; Scroll -(setq-default scroll-conservatively 101) -(setq scroll-margin 5) - -;;disable splash screen and startup message -(setq inhibit-startup-message t) -(setq initial-scratch-message nil) - -;;; Startup - -(setq elpaca-after-init-time (or elpaca-after-init-time (current-time))) -(elpaca-wait) - -;; Open Dirvish on startup if no file is specified -(defun open-dirvish-on-startup () - "Open Dirvish if no files are specified in the command line arguments." - (when (and (not (member "--file" command-line-args)) - (null (buffer-file-name (current-buffer))) - (equal (buffer-name) "*scratch*")) - (dirvish))) - -(add-hook 'emacs-startup-hook #'open-dirvish-on-startup) -(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. - '(warning-suppress-types '((use-package) (use-package)))) - -;; LSP -(add-to-list 'load-path (expand-file-name "lib/lsp-mode" user-emacs-directory)) -(add-to-list 'load-path (expand-file-name "lib/lsp-mode/clients" user-emacs-directory))