Merge branch 'master' of gitlab.com:chriscochrun/dotemacs
This commit is contained in:
		
						commit
						178638f314
					
				
					 2 changed files with 130 additions and 73 deletions
				
			
		
							
								
								
									
										53
									
								
								README.org
									
										
									
									
									
								
							
							
						
						
									
										53
									
								
								README.org
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -15,6 +15,7 @@
 | 
			
		|||
  - [[#better-ui][Better UI]]
 | 
			
		||||
  - [[#completion][Completion]]
 | 
			
		||||
  - [[#yasnippet][YASnippet]]
 | 
			
		||||
  - [[#projectile][Projectile]]
 | 
			
		||||
  - [[#navigation][Navigation]]
 | 
			
		||||
  - [[#window-management][Window Management]]
 | 
			
		||||
  - [[#help][Help]]
 | 
			
		||||
| 
						 | 
				
			
			@ -352,6 +353,7 @@ This evil-collection package includes a lot of other evil based things.
 | 
			
		|||
    "of" '(:ignore t :which-key "elfeed")
 | 
			
		||||
    "h" '(:ignore t :which-key "help")
 | 
			
		||||
    "n" '(:ignore t :which-key "notes")
 | 
			
		||||
    "l" '(:ignore t :which-key "lsp")
 | 
			
		||||
    "sp" '(:ignore t :which-key "passwords")
 | 
			
		||||
    "bs" '(consult-buffer :which-key "buffer search")
 | 
			
		||||
    "bd" '(kill-this-buffer :which-key "kill buffer")
 | 
			
		||||
| 
						 | 
				
			
			@ -627,17 +629,21 @@ Marginalia makes for some great decoration to our minibuffer completion items. W
 | 
			
		|||
*** Company
 | 
			
		||||
#+begin_src emacs-lisp
 | 
			
		||||
(use-package company
 | 
			
		||||
  :defer 1
 | 
			
		||||
  :config
 | 
			
		||||
  (global-company-mode +1)
 | 
			
		||||
  (setq company-dabbrev-other-buffers t
 | 
			
		||||
        company-minimum-prefix-length 1)
 | 
			
		||||
  :custom
 | 
			
		||||
  (company-dabbrev-other-buffers t)
 | 
			
		||||
  (company-minimum-prefix-length 1)
 | 
			
		||||
  (company-idle-delay 0.2)
 | 
			
		||||
  :general
 | 
			
		||||
  (general-define-key
 | 
			
		||||
   :states 'normal
 | 
			
		||||
   :keymaps '(company-search-map)
 | 
			
		||||
   "TAB" 'company-complete-selection)
 | 
			
		||||
  )
 | 
			
		||||
  (general-def '(normal insert) company-active-map
 | 
			
		||||
    "TAB" 'company-complete-selection
 | 
			
		||||
    "RET" 'company-complete-selection)
 | 
			
		||||
  (general-def '(normal insert) lsp-mode-map
 | 
			
		||||
    "TAB" 'company-indent-or-complete-common))
 | 
			
		||||
 | 
			
		||||
;; (use-package company-box
 | 
			
		||||
;;   :hook (company-mode . company-box-mode))
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
#+begin_src emacs-lisp
 | 
			
		||||
| 
						 | 
				
			
			@ -654,6 +660,12 @@ YASnippet is a templating system. It's powerful.
 | 
			
		|||
  (yas-global-mode 1))
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
** Projectile
 | 
			
		||||
I'm going to use projectile to keep my projects inline.
 | 
			
		||||
#+begin_src emacs-lisp
 | 
			
		||||
(use-package projectile)
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
** Navigation
 | 
			
		||||
*** Avy
 | 
			
		||||
Avy provides a lot of functions to search through the current buffer. Most of the time I use evil or consult functions to find what I'm looking for, but avy provides a lot of small movements that are more useful for visible movements.
 | 
			
		||||
| 
						 | 
				
			
			@ -763,11 +775,22 @@ Since I use the Awesome WM I thought it'd be good to have lua around. It's also
 | 
			
		|||
LSP is useful...
 | 
			
		||||
#+begin_src emacs-lisp
 | 
			
		||||
(use-package lsp-mode
 | 
			
		||||
  :commands (lsp lsp-deferred)
 | 
			
		||||
  :init
 | 
			
		||||
  (setq lsp-keymap-prefix "C-c l")
 | 
			
		||||
  :config
 | 
			
		||||
  (setq lsp-lens-enable t
 | 
			
		||||
        lsp-signature-auto-activate nil))
 | 
			
		||||
        lsp-signature-auto-activate nil
 | 
			
		||||
        read-process-output-max (* 1024 1024))
 | 
			
		||||
  (lsp-enable-which-key-integration t))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-ui)
 | 
			
		||||
(use-package lsp-ui
 | 
			
		||||
  :hook (lsp-mode . lsp-ui-mode)
 | 
			
		||||
  :custom
 | 
			
		||||
  (lsp-ui-doc-position 'bottom))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-treemacs
 | 
			
		||||
  :after lsp)
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
*** Fennel
 | 
			
		||||
| 
						 | 
				
			
			@ -874,9 +897,17 @@ I may get into flutter development over using felgo..... but i'm not happy about
 | 
			
		|||
#+begin_src emacs-lisp
 | 
			
		||||
(use-package dart-mode
 | 
			
		||||
  :mode ("\\.dart\\'" . dart-mode)
 | 
			
		||||
  :config (add-hook 'dart-mode 'lsp))
 | 
			
		||||
  :hook (dart-mode . lsp-deferred)
 | 
			
		||||
  :general
 | 
			
		||||
  (general-def 'normal dart-mode-map
 | 
			
		||||
    "C-c r" 'lsp-dart-dap-flutter-hot-reload
 | 
			
		||||
    "C-c R" 'lsp-dart-dap-flutter-hot-restart))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-dart)
 | 
			
		||||
(use-package flutter
 | 
			
		||||
  :after dart)
 | 
			
		||||
(use-package hover
 | 
			
		||||
  :after dart)
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
Let's also add the android-sdk tools to emacs' path.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										150
									
								
								init.el
									
										
									
									
									
								
							
							
						
						
									
										150
									
								
								init.el
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
(defun chris/display-startup-time ()
 | 
			
		||||
  (message "Emacs loaded in %s with %d garbage collections."
 | 
			
		||||
           (format "%.2f seconds"
 | 
			
		||||
                 (float-time
 | 
			
		||||
                (time-subtract after-init-time before-init-time)))
 | 
			
		||||
         gcs-done))
 | 
			
		||||
                   (float-time
 | 
			
		||||
                    (time-subtract after-init-time before-init-time)))
 | 
			
		||||
           gcs-done))
 | 
			
		||||
(add-hook 'emacs-startup-hook #'chris/display-startup-time)
 | 
			
		||||
 | 
			
		||||
(setq inhibit-startup-message t)
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,7 @@
 | 
			
		|||
                (with-selected-frame frame
 | 
			
		||||
                  (chris/set-font-faces)
 | 
			
		||||
                  (chris/set-transparency)))
 | 
			
		||||
  (chris/set-font-faces))
 | 
			
		||||
              (chris/set-font-faces))
 | 
			
		||||
  (chris/set-transparency))
 | 
			
		||||
 | 
			
		||||
(setq display-line-numbers-type 'relative)
 | 
			
		||||
| 
						 | 
				
			
			@ -65,7 +65,7 @@
 | 
			
		|||
;; ...especially on linux
 | 
			
		||||
(setq x-gtk-use-system-tooltips nil)
 | 
			
		||||
 | 
			
		||||
 ;; Favor vertical splits over horizontal ones. Screens are usually wide.
 | 
			
		||||
;; Favor vertical splits over horizontal ones. Screens are usually wide.
 | 
			
		||||
(setq split-width-threshold 160
 | 
			
		||||
      split-height-threshold nil)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -99,8 +99,8 @@
 | 
			
		|||
(straight-use-package 'use-package)
 | 
			
		||||
(setq use-package-verbose t)
 | 
			
		||||
 | 
			
		||||
  (use-package command-log-mode
 | 
			
		||||
    :commands command-log-mode)
 | 
			
		||||
(use-package command-log-mode
 | 
			
		||||
  :commands command-log-mode)
 | 
			
		||||
 | 
			
		||||
(use-package all-the-icons)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -217,6 +217,7 @@
 | 
			
		|||
    "of" '(:ignore t :which-key "elfeed")
 | 
			
		||||
    "h" '(:ignore t :which-key "help")
 | 
			
		||||
    "n" '(:ignore t :which-key "notes")
 | 
			
		||||
    "l" '(:ignore t :which-key "lsp")
 | 
			
		||||
    "sp" '(:ignore t :which-key "passwords")
 | 
			
		||||
    "bs" '(consult-buffer :which-key "buffer search")
 | 
			
		||||
    "bd" '(kill-this-buffer :which-key "kill buffer")
 | 
			
		||||
| 
						 | 
				
			
			@ -293,19 +294,19 @@
 | 
			
		|||
 | 
			
		||||
  ;; We need to fix selectrums minibuffer handling for Emacs 28
 | 
			
		||||
  (defun selectrum--set-window-height (window &optional height)
 | 
			
		||||
  "Set window height of WINDOW to HEIGHT pixel.
 | 
			
		||||
    "Set window height of WINDOW to HEIGHT pixel.
 | 
			
		||||
If HEIGHT is not given WINDOW will be updated to fit its content
 | 
			
		||||
vertically."
 | 
			
		||||
  (let* ((lines (length
 | 
			
		||||
                 (split-string
 | 
			
		||||
                  (overlay-get selectrum--candidates-overlay 'after-string)
 | 
			
		||||
                  "\n" t)))
 | 
			
		||||
         (dheight (or height
 | 
			
		||||
                      (* lines selectrum--line-height)))
 | 
			
		||||
         (wheight (window-pixel-height window))
 | 
			
		||||
         (window-resize-pixelwise t))
 | 
			
		||||
    (window-resize
 | 
			
		||||
     window (- dheight wheight) nil nil 'pixelwise)))
 | 
			
		||||
    (let* ((lines (length
 | 
			
		||||
                   (split-string
 | 
			
		||||
                    (overlay-get selectrum--candidates-overlay 'after-string)
 | 
			
		||||
                    "\n" t)))
 | 
			
		||||
           (dheight (or height
 | 
			
		||||
                        (* lines selectrum--line-height)))
 | 
			
		||||
           (wheight (window-pixel-height window))
 | 
			
		||||
           (window-resize-pixelwise t))
 | 
			
		||||
      (window-resize
 | 
			
		||||
       window (- dheight wheight) nil nil 'pixelwise)))
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
  :general
 | 
			
		||||
| 
						 | 
				
			
			@ -340,10 +341,10 @@ vertically."
 | 
			
		|||
 | 
			
		||||
(use-package marginalia
 | 
			
		||||
  :bind (:map minibuffer-local-map
 | 
			
		||||
         ("C-M-a" . marginalia-cycle)
 | 
			
		||||
         ;; :map embark-general-map
 | 
			
		||||
         ;;     ("A" . marginalia-cycle)
 | 
			
		||||
         )
 | 
			
		||||
              ("C-M-a" . marginalia-cycle)
 | 
			
		||||
              ;; :map embark-general-map
 | 
			
		||||
              ;;     ("A" . marginalia-cycle)
 | 
			
		||||
              )
 | 
			
		||||
 | 
			
		||||
  ;; The :init configuration is always executed (Not lazy!)
 | 
			
		||||
  :init
 | 
			
		||||
| 
						 | 
				
			
			@ -361,17 +362,21 @@ vertically."
 | 
			
		|||
  :after selectrum)
 | 
			
		||||
 | 
			
		||||
(use-package company
 | 
			
		||||
  :defer 1
 | 
			
		||||
  :config
 | 
			
		||||
  (global-company-mode +1)
 | 
			
		||||
  (setq company-dabbrev-other-buffers t
 | 
			
		||||
        company-minimum-prefix-length 1)
 | 
			
		||||
  :custom
 | 
			
		||||
  (company-dabbrev-other-buffers t)
 | 
			
		||||
  (company-minimum-prefix-length 1)
 | 
			
		||||
  (company-idle-delay 0.2)
 | 
			
		||||
  :general
 | 
			
		||||
  (general-define-key
 | 
			
		||||
   :states 'normal
 | 
			
		||||
   :keymaps '(company-search-map)
 | 
			
		||||
   "TAB" 'company-complete-selection)
 | 
			
		||||
  )
 | 
			
		||||
  (general-def '(normal insert) company-active-map
 | 
			
		||||
    "TAB" 'company-complete-selection
 | 
			
		||||
    "RET" 'company-complete-selection)
 | 
			
		||||
  (general-def '(normal insert) lsp-mode-map
 | 
			
		||||
    "TAB" 'company-indent-or-complete-common))
 | 
			
		||||
 | 
			
		||||
;; (use-package company-box
 | 
			
		||||
;;   :hook (company-mode . company-box-mode))
 | 
			
		||||
 | 
			
		||||
(use-package company-dict
 | 
			
		||||
  :after company)
 | 
			
		||||
| 
						 | 
				
			
			@ -381,6 +386,8 @@ vertically."
 | 
			
		|||
  (setq yas-snippet-dirs (list (expand-file-name "yasnippets/" user-emacs-directory)))
 | 
			
		||||
  (yas-global-mode 1))
 | 
			
		||||
 | 
			
		||||
(use-package projectile)
 | 
			
		||||
 | 
			
		||||
(use-package avy
 | 
			
		||||
  :after evil)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -454,18 +461,29 @@ vertically."
 | 
			
		|||
  :mode ("\\.lua\\'" . lua-mode))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-mode
 | 
			
		||||
  :commands (lsp lsp-deferred)
 | 
			
		||||
  :init
 | 
			
		||||
  (setq lsp-keymap-prefix "C-c l")
 | 
			
		||||
  :config
 | 
			
		||||
  (setq lsp-lens-enable t
 | 
			
		||||
        lsp-signature-auto-activate nil))
 | 
			
		||||
        lsp-signature-auto-activate nil
 | 
			
		||||
        read-process-output-max (* 1024 1024))
 | 
			
		||||
  (lsp-enable-which-key-integration t))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-ui)
 | 
			
		||||
(use-package lsp-ui
 | 
			
		||||
  :hook (lsp-mode . lsp-ui-mode)
 | 
			
		||||
  :custom
 | 
			
		||||
  (lsp-ui-doc-position 'bottom))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-treemacs
 | 
			
		||||
  :after lsp)
 | 
			
		||||
 | 
			
		||||
(use-package fennel-mode
 | 
			
		||||
  :mode ("\\.fnl\\'" . fennel-mode))
 | 
			
		||||
 | 
			
		||||
(use-package friar 
 | 
			
		||||
  :straight (:host github :repo "warreq/friar" :branch "master"
 | 
			
		||||
             :files (:defaults "*.lua" "*.fnl"))
 | 
			
		||||
                   :files (:defaults "*.lua" "*.fnl"))
 | 
			
		||||
  :after fennel-mode)
 | 
			
		||||
 | 
			
		||||
(use-package yaml-mode
 | 
			
		||||
| 
						 | 
				
			
			@ -516,9 +534,17 @@ vertically."
 | 
			
		|||
 | 
			
		||||
(use-package dart-mode
 | 
			
		||||
  :mode ("\\.dart\\'" . dart-mode)
 | 
			
		||||
  :config (add-hook 'dart-mode 'lsp))
 | 
			
		||||
  :hook (dart-mode . lsp-deferred)
 | 
			
		||||
  :general
 | 
			
		||||
  (general-def 'normal dart-mode-map
 | 
			
		||||
    "C-c r" 'lsp-dart-dap-flutter-hot-reload
 | 
			
		||||
    "C-c R" 'lsp-dart-dap-flutter-hot-restart))
 | 
			
		||||
 | 
			
		||||
(use-package lsp-dart)
 | 
			
		||||
(use-package flutter
 | 
			
		||||
  :after dart)
 | 
			
		||||
(use-package hover
 | 
			
		||||
  :after dart)
 | 
			
		||||
 | 
			
		||||
(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -793,17 +819,17 @@ vertically."
 | 
			
		|||
  :after org
 | 
			
		||||
  :init
 | 
			
		||||
  (setq org-super-agenda-groups '((:name "Today"
 | 
			
		||||
                                   :time-grid t
 | 
			
		||||
                                   :scheduled today)
 | 
			
		||||
                                         :time-grid t
 | 
			
		||||
                                         :scheduled today)
 | 
			
		||||
                                  (:name "Due Today"
 | 
			
		||||
                                   :deadline today)
 | 
			
		||||
                                         :deadline today)
 | 
			
		||||
                                  (:name "Important"
 | 
			
		||||
                                   :priority "A")
 | 
			
		||||
                                         :priority "A")
 | 
			
		||||
                                  (:name "Overdue"
 | 
			
		||||
                                   :time-grid t
 | 
			
		||||
                                   :scheduled today)
 | 
			
		||||
                                         :time-grid t
 | 
			
		||||
                                         :scheduled today)
 | 
			
		||||
                                  (:name "Due soon"
 | 
			
		||||
                                   :deadline future)))
 | 
			
		||||
                                         :deadline future)))
 | 
			
		||||
  :config
 | 
			
		||||
  (org-super-agenda-mode)
 | 
			
		||||
  (setq org-super-agenda-header-map nil))
 | 
			
		||||
| 
						 | 
				
			
			@ -1310,20 +1336,20 @@ If on a:
 | 
			
		|||
  (add-hook 'eshell-mode-hook '(display-line-numbers-mode -1))
 | 
			
		||||
 | 
			
		||||
  (setq eshell-command-aliases-list
 | 
			
		||||
      '(("ls" "exa $1")
 | 
			
		||||
        ("la" "exa -la $1")
 | 
			
		||||
        ("q" "exit")
 | 
			
		||||
        ("f" "find-file $1")
 | 
			
		||||
        ("ff" "find-file $1")
 | 
			
		||||
        ("d" "dired $1")
 | 
			
		||||
        ("bd" "eshell-up $1")
 | 
			
		||||
        ("rg" "rg --color=always $*")
 | 
			
		||||
        ("ll" "ls -lah $*")
 | 
			
		||||
        ("gg" "magit-status")
 | 
			
		||||
        ("clear" "clear-scrollback")
 | 
			
		||||
        ("!c" "eshell-previous-input 2")
 | 
			
		||||
        ("yay" "paru $1")
 | 
			
		||||
        ("yeet" "paru -Rns $1")))
 | 
			
		||||
        '(("ls" "exa $1")
 | 
			
		||||
          ("la" "exa -la $1")
 | 
			
		||||
          ("q" "exit")
 | 
			
		||||
          ("f" "find-file $1")
 | 
			
		||||
          ("ff" "find-file $1")
 | 
			
		||||
          ("d" "dired $1")
 | 
			
		||||
          ("bd" "eshell-up $1")
 | 
			
		||||
          ("rg" "rg --color=always $*")
 | 
			
		||||
          ("ll" "ls -lah $*")
 | 
			
		||||
          ("gg" "magit-status")
 | 
			
		||||
          ("clear" "clear-scrollback")
 | 
			
		||||
          ("!c" "eshell-previous-input 2")
 | 
			
		||||
          ("yay" "paru $1")
 | 
			
		||||
          ("yeet" "paru -Rns $1")))
 | 
			
		||||
 | 
			
		||||
  :general
 | 
			
		||||
  (chris/leader-keys
 | 
			
		||||
| 
						 | 
				
			
			@ -1338,8 +1364,8 @@ If on a:
 | 
			
		|||
 | 
			
		||||
(use-package pdf-tools
 | 
			
		||||
  :straight (:host github
 | 
			
		||||
                 :repo "flatwhatson/pdf-tools"
 | 
			
		||||
                 :branch "fix-macros")
 | 
			
		||||
                   :repo "flatwhatson/pdf-tools"
 | 
			
		||||
                   :branch "fix-macros")
 | 
			
		||||
  :defer 1
 | 
			
		||||
  :config
 | 
			
		||||
  (pdf-tools-install)
 | 
			
		||||
| 
						 | 
				
			
			@ -1498,11 +1524,11 @@ interfere with the default `bongo-playlist-buffer'."
 | 
			
		|||
                                       transmission-files-mode
 | 
			
		||||
                                       transmission-info-mode
 | 
			
		||||
                                       transmission-peers-mode)))
 | 
			
		||||
    :general
 | 
			
		||||
    (chris/leader-keys
 | 
			
		||||
      :states 'normal
 | 
			
		||||
      :keymaps 'override
 | 
			
		||||
      "ot" 'transmission))
 | 
			
		||||
  :general
 | 
			
		||||
  (chris/leader-keys
 | 
			
		||||
    :states 'normal
 | 
			
		||||
    :keymaps 'override
 | 
			
		||||
    "ot" 'transmission))
 | 
			
		||||
 | 
			
		||||
(use-package auth-source-pass
 | 
			
		||||
  :defer 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue