A few changes...
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
(add-to-list 'package-archives '("elpa" . "https://tromey.com/elpa/") t)
|
||||
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||
(add-to-list 'package-archives
|
||||
'("xaldew" . "https://gustafwaldemarson.com/elpa/"))
|
||||
(add-to-list 'package-unsigned-archives "xaldew")
|
||||
(package-initialize)
|
||||
|
||||
;; emacs preferences
|
||||
@@ -18,12 +21,13 @@
|
||||
(setq visible-bell t)
|
||||
(setq vc-handled-backends nil)
|
||||
|
||||
(setf epa-pinentry-mode 'loopback)
|
||||
|
||||
;; only show line numbers in programming mode
|
||||
(defun display-numbers-hook ()
|
||||
(display-line-numbers-mode t))
|
||||
(add-hook 'prog-mode-hook 'display-numbers-hook)
|
||||
|
||||
|
||||
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
|
||||
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
||||
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
||||
@@ -35,9 +39,6 @@
|
||||
(setq interprogram-cut-function nil)
|
||||
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
|
||||
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
|
||||
(setq package-check-signature nil)
|
||||
(defun ensure-package-installed (&rest packages)
|
||||
"Assure every package is installed, ask for installation if it’s not.
|
||||
@@ -58,7 +59,35 @@ Return a list of installed packages or nil for every skipped package."
|
||||
(or (file-exists-p package-user-dir)
|
||||
(package-refresh-contents))
|
||||
|
||||
(ensure-package-installed 'use-package 'ivy 'magit 'centaur-tabs 'eglot 'telephone-line 'dashboard 'multiple-cursors 'flycheck 'which-key 'restart-emacs 'doom-themes 'rainbow-mode 'rainbow-delimiters 'all-the-icons 'elpy 'rustic 'simpleclip 'messages-are-flowing 'hl-todo 'format-all 'auctex 'counsel 'swiper 'projectile 'org-roam 'smex 'smartparens 'origami 'dumb-jump 'kaolin-themes 'company-quickhelp 'treemacs 'treemacs-projectile 'treemacs-magit 'treemacs-icons-dired)
|
||||
(ensure-package-installed 'use-package 'ivy 'magit 'centaur-tabs 'eglot 'dashboard 'multiple-cursors 'flycheck 'which-key 'doom-themes 'rainbow-mode 'rainbow-delimiters 'all-the-icons 'elpy 'rustic 'simpleclip 'messages-are-flowing 'hl-todo 'powerline 'format-all 'auctex 'counsel 'swiper 'projectile 'org-roam 'smex 'smartparens 'origami 'dumb-jump 'kaolin-themes 'company-quickhelp 'treemacs 'treemacs-projectile 'treemacs-magit 'treemacs-icons-dired 'org-mime 'hydra 'verb 'telephone-line 'bm 'undo-fu 'ranger)
|
||||
|
||||
;; need it after installation - makes it possible to bootstrap
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
|
||||
(use-package ranger
|
||||
:config
|
||||
(setq ranger-preview-file nil)
|
||||
(ranger-override-dired-mode t))
|
||||
|
||||
(use-package undo-fu
|
||||
:config
|
||||
(global-unset-key (kbd "C-z"))
|
||||
(global-set-key (kbd "C-z") 'undo-fu-only-undo)
|
||||
(global-set-key (kbd "C-S-z") 'undo-fu-only-redo))
|
||||
|
||||
(use-package telephone-line
|
||||
:init
|
||||
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left
|
||||
telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left
|
||||
telephone-line-primary-right-separator 'telephone-line-cubed-right
|
||||
telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
|
||||
(setq telephone-line-height 24)
|
||||
:config
|
||||
(telephone-line-mode 1))
|
||||
|
||||
(use-package magit
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
@@ -101,8 +130,8 @@ Return a list of installed packages or nil for every skipped package."
|
||||
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-silent-filewatch t
|
||||
treemacs-silent-refresh t
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-select-when-already-in-treemacs 'move-back
|
||||
treemacs-space-between-root-nodes t
|
||||
@@ -124,15 +153,7 @@ Return a list of installed packages or nil for every skipped package."
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
|
||||
(treemacs-hide-gitignored-files-mode nil))
|
||||
(treemacs-git-mode 'deferred))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
@@ -142,7 +163,7 @@ Return a list of installed packages or nil for every skipped package."
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-projectile
|
||||
(use-package treemacs-projectile
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
@@ -154,18 +175,81 @@ Return a list of installed packages or nil for every skipped package."
|
||||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(require 'dumb-jump)
|
||||
(use-package bm
|
||||
:ensure t
|
||||
:demand t
|
||||
|
||||
:init
|
||||
;; restore on load (even before you require bm)
|
||||
(setq bm-restore-repository-on-load t)
|
||||
|
||||
|
||||
:config
|
||||
;; Allow cross-buffer 'next'
|
||||
(setq bm-cycle-all-buffers t)
|
||||
|
||||
;; where to store persistant files
|
||||
(setq bm-repository-file "~/.emacs.d/bm-repository")
|
||||
|
||||
;; save bookmarks
|
||||
(setq-default bm-buffer-persistence t)
|
||||
|
||||
;; Loading the repository from file when on start up.
|
||||
(add-hook 'after-init-hook 'bm-repository-load)
|
||||
|
||||
;; Saving bookmarks
|
||||
(add-hook 'kill-buffer-hook #'bm-buffer-save)
|
||||
|
||||
;; Saving the repository to file when on exit.
|
||||
;; kill-buffer-hook is not called when Emacs is killed, so we
|
||||
;; must save all bookmarks first.
|
||||
(add-hook 'kill-emacs-hook #'(lambda nil
|
||||
(bm-buffer-save-all)
|
||||
(bm-repository-save)))
|
||||
|
||||
;; The `after-save-hook' is not necessary to use to achieve persistence,
|
||||
;; but it makes the bookmark data in repository more in sync with the file
|
||||
;; state.
|
||||
(add-hook 'after-save-hook #'bm-buffer-save)
|
||||
|
||||
;; Restoring bookmarks
|
||||
(add-hook 'find-file-hooks #'bm-buffer-restore)
|
||||
(add-hook 'after-revert-hook #'bm-buffer-restore)
|
||||
|
||||
;; The `after-revert-hook' is not necessary to use to achieve persistence,
|
||||
;; but it makes the bookmark data in repository more in sync with the file
|
||||
;; state. This hook might cause trouble when using packages
|
||||
;; that automatically reverts the buffer (like vc after a check-in).
|
||||
;; This can easily be avoided if the package provides a hook that is
|
||||
;; called before the buffer is reverted (like `vc-before-checkin-hook').
|
||||
;; Then new bookmarks can be saved before the buffer is reverted.
|
||||
;; Make sure bookmarks is saved before check-in (and revert-buffer)
|
||||
(add-hook 'vc-before-checkin-hook #'bm-buffer-save)
|
||||
|
||||
|
||||
:bind (("<f2>" . bm-next)
|
||||
("S-<f2>" . bm-previous)
|
||||
("C-<f2>" . bm-toggle))
|
||||
)
|
||||
|
||||
(global-set-key (kbd "<left-fringe> <mouse-5>") 'bm-next-mouse)
|
||||
(global-set-key (kbd "<left-fringe> <mouse-4>") 'bm-previous-mouse)
|
||||
(global-set-key (kbd "<left-fringe> <mouse-1>") 'bm-toggle-mouse)
|
||||
|
||||
(use-package dumb-jump)
|
||||
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate)
|
||||
(setq xref-show-definitions-function #'xref-show-definitions-completing-read)
|
||||
|
||||
(require 'origami)
|
||||
(use-package origami)
|
||||
(bind-keys
|
||||
:map origami-mode-map
|
||||
("C-c C-<tab>" . origami-toggle-node))
|
||||
|
||||
(add-hook 'prog-mode-hook #'origami-mode)
|
||||
(require 'smartparens-config)
|
||||
(add-hook 'prog-mode-hook #'smartparens-mode)
|
||||
(use-package smartparens-config
|
||||
:config
|
||||
(add-hook 'prog-mode-hook #'smartparens-mode))
|
||||
|
||||
(bind-keys
|
||||
:map smartparens-mode-map
|
||||
("C-M-a" . sp-beginning-of-sexp)
|
||||
@@ -227,22 +311,25 @@ Return a list of installed packages or nil for every skipped package."
|
||||
(setq centaur-tabs-enable-key-bindings t
|
||||
centaur-tabs-set-icons t
|
||||
centaur-tabs-set-modified-marker t
|
||||
centaur-tabs-style "chamfer"
|
||||
centaur-tabs-style "chamfer"
|
||||
centaur-tabs-gray-out-icons 'buffer))
|
||||
|
||||
;;(centaur-tabs-group-by-projectile-project) breaks w/ buffers unrelated to projects
|
||||
(centaur-tabs-headline-match)
|
||||
(centaur-tabs-mode 1)
|
||||
|
||||
(use-package flycheck)
|
||||
|
||||
(add-hook 'after-init-hook #'global-flycheck-mode)
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
(add-hook 'css-mode-hook #'rainbow-mode)
|
||||
|
||||
(require 'telephone-line)
|
||||
(telephone-line-mode 1)
|
||||
(when (fboundp 'windmove-default-keybindings)
|
||||
(windmove-default-keybindings))
|
||||
|
||||
(require 'which-key)
|
||||
(which-key-mode)
|
||||
(use-package which-key
|
||||
:config
|
||||
(which-key-mode))
|
||||
|
||||
(use-package dashboard
|
||||
:init
|
||||
@@ -254,7 +341,7 @@ Return a list of installed packages or nil for every skipped package."
|
||||
:ensure t
|
||||
:config (dashboard-setup-startup-hook))
|
||||
|
||||
(require 'multiple-cursors)
|
||||
(use-package multiple-cursors)
|
||||
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
|
||||
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
||||
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
||||
@@ -316,6 +403,10 @@ Return a list of installed packages or nil for every skipped package."
|
||||
(setq projectile-completion-system 'ivy)
|
||||
|
||||
;; org settings
|
||||
(use-package org
|
||||
:mode ("\\.org\\'" . org-mode)
|
||||
:config (define-key org-mode-map (kbd "C-c C-r") verb-command-map))
|
||||
|
||||
(setq org-replace-disputed-keys t)
|
||||
(define-key global-map "\C-cl" 'org-store-link)
|
||||
(define-key global-map "\C-ca" 'org-agenda)
|
||||
|
||||
Reference in New Issue
Block a user