Assorted fixes
This commit is contained in:
parent
4f520115c7
commit
9e0f85404f
@ -9,7 +9,8 @@
|
||||
*** Garbage Collection
|
||||
|
||||
The default Garbage Collector is triggered at 800 KB, way too conservative, let's bump to 512 MB.
|
||||
Garbage collection is a big contributor to startup times. This fends it off, then is reset later by enabling `gcmh-mode'. Not resetting it will cause stuttering/freezes.
|
||||
Garbage collection is a big contributor to startup times. This fends it off, then is reset later by
|
||||
enabling `gcmh-mode'. Not resetting it will cause stuttering/freezes.
|
||||
|
||||
#+begin_src emacs-lisp :tangle ./early-init.el
|
||||
;; -*- lexical-binding: t -*-
|
||||
@ -43,7 +44,6 @@ Disabling these classic visual options during early-init seems to net a 0.04 ms
|
||||
(menu-bar-mode -1)
|
||||
(tooltip-mode -1)
|
||||
#+end_src
|
||||
|
||||
*** Straight.el Prep
|
||||
|
||||
Disable package.el, since we will be using straight.el. According to the straight.el
|
||||
@ -59,7 +59,6 @@ Either way, if you need to quickly install a package for testing, you can just r
|
||||
#+BEGIN_SRC emacs-lisp :tangle ./early-init.el
|
||||
(setq package-enable-at-startup nil)
|
||||
#+END_SRC
|
||||
|
||||
*** Enhancements
|
||||
Prioritize old byte-compiled source files over newer sources. It saves us a little IO time to skip all the mtime checks on each lookup.
|
||||
|
||||
@ -67,13 +66,13 @@ Prioritize old byte-compiled source files over newer sources. It saves us a litt
|
||||
(setq load-prefer-newer nil)
|
||||
|
||||
(setq safe-local-variable-values
|
||||
'((eval add-hook 'after-save-hook
|
||||
'((org-src-preserve-indentation . t)
|
||||
(eval add-hook 'after-save-hook
|
||||
'(lambda nil
|
||||
(org-babel-tangle))
|
||||
nil t)))
|
||||
|
||||
#+end_src
|
||||
|
||||
*** UTF-8 Support
|
||||
#+begin_src emacs-lisp :tangle ./early-init.el
|
||||
(setq default-input-method nil)
|
||||
@ -95,6 +94,8 @@ For now, use [[https://github.com/radian-software/straight.el][straight.el]] unt
|
||||
Then bootstrap
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; -*- lexical-binding: t -*-
|
||||
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||
@ -195,11 +196,9 @@ Use Dashboard.el. First load `all-the-icons` for nicer rendering
|
||||
#+end_src
|
||||
*** Themes
|
||||
|
||||
sanityinc-tomorrow-light is really good
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
;; (load "/home/joe/.dotfiles/.emacs.bankruptcy/straight/repos/themes/themes/doom-flatwhite-theme.el")
|
||||
(straight-use-package 'doom-themes)
|
||||
(straight-use-package 'color-theme-sanityinc-tomorrow)
|
||||
(setq custom-safe-themes t)
|
||||
#+end_src
|
||||
|
||||
@ -253,6 +252,7 @@ Setup other stuff
|
||||
|
||||
(straight-use-package 'nano-modeline)
|
||||
(nano-modeline-mode)
|
||||
(setq nano-modeline-prefix 'icon)
|
||||
#+end_src
|
||||
** Text
|
||||
|
||||
@ -268,7 +268,7 @@ Setup other stuff
|
||||
(set-default 'truncate-lines nil)
|
||||
(set-default 'truncate-partial-width-windows nil)
|
||||
|
||||
(add-hook 'before-save-hook 'whitespace-cleanup)
|
||||
;; (add-hook 'before-save-hook 'whitespace-cleanup)
|
||||
#+end_src
|
||||
** Buffers
|
||||
#+begin_src emacs-lisp
|
||||
@ -319,10 +319,8 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun
|
||||
#+begin_src emacs-lisp
|
||||
(add-hook 'after-init-hook (lambda () (winner-mode t)))
|
||||
|
||||
|
||||
(straight-use-package 'rotate)
|
||||
(setq joe/popper-side-toggle 'right)
|
||||
|
||||
(defun joe/window-split-vertical () (interactive) (set 'joe/popper-side-toggle 'right) (rotate:main-horizontal))
|
||||
(defun joe/window-split-horizontal () (interactive) (set 'joe/popper-side-toggle 'below) (rotate:main-vertical))
|
||||
|
||||
@ -330,9 +328,16 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun
|
||||
(define-key ctl-x-4-map (kbd "-") #'joe/window-split-horizontal)
|
||||
(define-key ctl-x-4-map (kbd "t") #'rotate-window)
|
||||
|
||||
(straight-use-package 'ace-window)
|
||||
(global-set-key (kbd "C-x o") #'ace-window)
|
||||
(global-set-key (kbd "C-x C-o") #'ace-swap-window)
|
||||
#+end_src>
|
||||
|
||||
(global-set-key (kbd "C-c h") #'windmove-left)
|
||||
(global-set-key (kbd "C-c l") #'windmove-right)
|
||||
(global-set-key (kbd "C-c k") #'windmove-up)
|
||||
(global-set-key (kbd "C-c j") #'windmove-down)
|
||||
|
||||
#+end_src
|
||||
*** Popper
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
@ -401,12 +406,12 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun
|
||||
(defun joe/smooth-scroll-short-down ()
|
||||
"Smooth scroll down"
|
||||
(interactive)
|
||||
(joe/pixel-scroll-lerp 6 -1))
|
||||
(joe/pixel-scroll-lerp 8 -1))
|
||||
|
||||
(defun joe/smooth-scroll-short-up ()
|
||||
"Smooth scroll down"
|
||||
(interactive)
|
||||
(joe/pixel-scroll-lerp 6 1))
|
||||
(joe/pixel-scroll-lerp 8 1))
|
||||
|
||||
;; scroll-up-command
|
||||
(global-set-key (kbd "C-v") #'joe/smooth-scroll-half-page-down)
|
||||
@ -424,6 +429,12 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun
|
||||
(setq org-todo-keywords '((sequence "TODO" "IN-PROGRESS" "|" "DONE" "BACKLOG")))
|
||||
(setq org-agenda-files '("~/todo.org"))
|
||||
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(makefile . t)
|
||||
(shell . t)))
|
||||
|
||||
(require 'org-tempo)
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(setq org-edit-src-content-indentation 0))
|
||||
@ -731,7 +742,6 @@ Emacs is an great operating system, if only it had a good text editor...
|
||||
(global-set-key (kbd "C-c C-;") 'joe/duplicate-line-comment)
|
||||
|
||||
#+end_src
|
||||
|
||||
*** Hydra
|
||||
#+begin_src emacs-lisp
|
||||
(straight-use-package 'hydra)
|
||||
@ -747,12 +757,10 @@ Emacs is an great operating system, if only it had a good text editor...
|
||||
("p" previous-line "line up")
|
||||
("M-r" move-to-window-line-top-bottom "Reposition cursor"))
|
||||
#+end_src
|
||||
|
||||
*** Multiple Cursors
|
||||
#+begin_src emacs-lisp
|
||||
(straight-use-package 'multiple-cursors)
|
||||
#+end_src
|
||||
|
||||
*** Meow
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(straight-use-package 'meow)
|
||||
@ -845,7 +853,6 @@ Emacs is an great operating system, if only it had a good text editor...
|
||||
(meow-setup)
|
||||
(meow-global-mode t)
|
||||
#+end_src
|
||||
|
||||
*** Boon
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(straight-use-package 'boon)
|
||||
@ -899,48 +906,53 @@ Emacs is an great operating system, if only it had a good text editor...
|
||||
(straight-use-package 'markdown-mode)
|
||||
(straight-use-package 'lsp-mode)
|
||||
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
(setq lsp-keymap-prefix "C-c c")
|
||||
;; (require 'lsp)
|
||||
;; (straight-use-package 'eglot)
|
||||
;; (setq completion-in-region-function (kind-icon-enhance-completion completion-in-region-function))
|
||||
|
||||
|
||||
(setq completion-in-region-function #'consult-completion-in-region)
|
||||
(global-set-key [remap dabbrev-expand] 'hippie-expand)
|
||||
;; (global-set-key [remap dabbrev-expand] 'hippie-expand)
|
||||
|
||||
;; (straight-use-package 'cape)
|
||||
;; (add-to-list 'completion-at-point-functions #'cape-symbol)
|
||||
;; (add-to-list 'completion-at-point-functions #'cape-file)
|
||||
;; (add-to-list 'completion-at-point-functions #'cape-dabbrev)
|
||||
;; (straight-use-package 'kind-icon)
|
||||
(straight-use-package 'kind-icon)
|
||||
;; (require 'kind-icon)
|
||||
(setq completion-in-region-function #'consult-completion-in-region)
|
||||
(setq completion-in-region-function (kind-icon-enhance-completion completion-in-region-function))
|
||||
|
||||
(straight-use-package 'company)
|
||||
|
||||
;; (straight-use-package 'company)
|
||||
;; (require 'company)
|
||||
;; (setq company-transformers '())
|
||||
(add-to-list 'completion-at-point-functions #'elisp-completion-at-point)
|
||||
(with-eval-after-load 'company
|
||||
(define-key company-active-map (kbd "C-n") nil)
|
||||
(define-key company-active-map (kbd "C-p") nil)
|
||||
(define-key company-active-map (kbd "<return>") nil)
|
||||
(define-key company-active-map (kbd "RET") nil)
|
||||
(define-key company-active-map (kbd "C-f") #'company-complete-selection)
|
||||
(define-key company-active-map [tab] #'company-complete-common-or-cycle)
|
||||
(define-key company-active-map (kbd "<backtab>") (lambda () (interactive) (company-complete-common-or-cycle -1)))
|
||||
(setq company-idle-delay 0.15
|
||||
company-tooltip-idle-delay 10
|
||||
company-require-match nil
|
||||
company-frontends '(company-preview-frontend company-echo-metadata-frontend)
|
||||
;; company-frontends '(company-text-icons-margin company-echo-metadata-frontend)
|
||||
company-backends '((company-capf company-files)))
|
||||
(setq company-transformers '(company-sort-by-occurrence)))
|
||||
(add-hook 'after-init-hook (lambda () (global-company-mode)))
|
||||
|
||||
;; (add-to-list 'completion-at-point-functions #'elisp-completion-at-point)
|
||||
;; (with-eval-after-load 'company
|
||||
;; (define-key company-active-map (kbd "C-n") nil)
|
||||
;; (define-key company-active-map (kbd "C-p") nil)
|
||||
;; (define-key company-active-map (kbd "<return>") nil)
|
||||
;; (define-key company-active-map (kbd "RET") nil)
|
||||
;; (define-key company-active-map (kbd "C-f") #'company-complete-selection)
|
||||
;; (define-key company-active-map [tab] #'company-complete-common-or-cycle)
|
||||
;; (define-key company-active-map (kbd "<backtab>") (lambda () (interactive) (company-complete-common-or-cycle -1)))
|
||||
|
||||
;; (setq company-idle-delay 0.15
|
||||
;; company-tooltip-idle-delay 10
|
||||
;; company-require-match nil
|
||||
;; company-frontends '(company-pseudo-tooltip-unless-just-one-frontend-with-delay
|
||||
;; company-preview-frontend company-echo-metadata-frontend)
|
||||
;; ;; company-frontends '(company-text-icons-margin company-echo-metadata-frontend)
|
||||
;; company-backends '((company-capf company-files)))
|
||||
;; (setq company-transformers '(company-sort-by-occurrence)))
|
||||
;; (add-hook 'after-init-hook (lambda () (global-company-mode)))
|
||||
|
||||
;; (delete 'elisp-completion-at-point completion-at-point-functions)
|
||||
;; (delete 'cape-symbol completion-at-point-functions)
|
||||
|
||||
;; (straight-use-package 'corfu)
|
||||
;; (global-corfu-mode)
|
||||
;; (setq kind-icon-default-face 'corfu-default)
|
||||
;; (setq
|
||||
;; corfu-cycle t ;; Enable cycling for `corfu-next/previous'
|
||||
;; corfu-auto t ;; Enable auto completion
|
||||
@ -953,7 +965,8 @@ Emacs is an great operating system, if only it had a good text editor...
|
||||
;; corfu-echo-documentation t ;; Disable documentation in the echo area
|
||||
;; corfu-scroll-margin 5) ;; Use scroll margin
|
||||
;; (setq corfu-preview-current t)
|
||||
;; (straight-use-package
|
||||
;; (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)
|
||||
|
||||
;; (setq-local corfu-auto t
|
||||
;; corfu-auto-delay 0.1
|
||||
;; corfu-auto-prefix 1
|
||||
@ -984,7 +997,9 @@ it doesn't close it.
|
||||
#+begin_src emacs-lisp
|
||||
(defun joe/c-mode-hook ()
|
||||
(local-set-key (kbd "C-x c r") (defun joe/make-run () (interactive) (compile "make run")))
|
||||
(local-set-key (kbd "C-x c c") (defun joe/make () (interactive) (compile "make"))))
|
||||
(local-set-key (kbd "C-x c c") (defun joe/make () (interactive) (compile "make")))
|
||||
(straight-use-package 'disaster)
|
||||
(electric-pair-local-mode t))
|
||||
(add-hook 'c-mode-hook #'joe/c-mode-hook)
|
||||
|
||||
(defun joe/close-compilation-if-no-warn-err (buffer string)
|
||||
@ -995,12 +1010,16 @@ it doesn't close it.
|
||||
(not
|
||||
(with-current-buffer (current-buffer)
|
||||
(search-forward "warning" nil t))))
|
||||
(run-with-timer 1 nil
|
||||
(run-with-timer 1.5 nil
|
||||
(lambda ()
|
||||
(and (eq (point) 1)
|
||||
(string-match "compilation" (buffer-name (current-buffer)))
|
||||
(popper-close-latest))))))
|
||||
(add-hook 'compilation-finish-functions 'joe/close-compilation-if-no-warn-err)
|
||||
|
||||
(global-set-key (kbd "C-c e n") #'flymake-goto-next-error)
|
||||
(global-set-key (kbd "C-c e p") #'flymake-goto-prev-error)
|
||||
|
||||
#+end_src
|
||||
** Magit
|
||||
|
||||
@ -1031,7 +1050,7 @@ The best git porcelain/client I've ever used. Also kill stray magit buffers left
|
||||
"A minor mode to enable some magit keys"
|
||||
:init-value t)
|
||||
|
||||
(joe/magit-keys t)
|
||||
(joe/magit-keys-mode t)
|
||||
#+end_src
|
||||
** Restclient
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user