mirror of https://github.com/Flinner/dots.git
yo idk lots of changes
This commit is contained in:
parent
778cde16a8
commit
13afed663e
|
@ -2,5 +2,6 @@
|
|||
|
||||
my_laptop_external_monitor=$(xrandr --query | grep 'HDMI-0')
|
||||
if [[ $my_laptop_external_monitor = *connected* ]]; then
|
||||
xrandr --output HDMI-0 --primary --mode 1920x1080 --rotate normal --output eDP-1-1 --mode 1920x1080 --rotate normal --left-of HDMI-0 &
|
||||
#xrandr --output HDMI-0 --primary --mode 1920x1080 --rotate normal --output eDP-1-1 --mode 1920x1080 --rotate normal --left-of HDMI-0 &
|
||||
xrandr --output HDMI-0 --mode 1920x1080 --rotate normal --output eDP-1-1 --mode 1920x1080 --rotate normal --right-of HDMI-0 --primary &
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# if bspwm
|
||||
bspc node "$@" ||
|
||||
bspc monitor "$@"
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere) ; come to the dark side, we have cookies
|
||||
evil ; come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
|
|
|
@ -28,7 +28,8 @@ Initialize Package sources
|
|||
Make sure to download packages if not present
|
||||
#+begin_src emacs-lisp
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
(setq package-native-compile t)
|
||||
(setq use-package-always-ensure t)
|
||||
#+end_src
|
||||
straight
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -50,6 +51,27 @@ straight
|
|||
#+end_src
|
||||
|
||||
* Basic Configuration
|
||||
** Startpage
|
||||
#+begin_src emacs-lisp
|
||||
(use-package dashboard
|
||||
:init
|
||||
(dashboard-setup-startup-hook)
|
||||
:config
|
||||
(setq dashboard-startup-banner "~/Downloads/haskell-rec.png")
|
||||
;; Value can be
|
||||
;; 'official which displays the official emacs logo
|
||||
;; 'logo which displays an alternative emacs logo
|
||||
;; 1, 2 or 3 which displays one of the text banners
|
||||
;; "path/to/your/image.png" or "path/to/your/text.txt" which
|
||||
;; displays whatever image/text you would prefer
|
||||
|
||||
;; Content is not centered by default. To center, set
|
||||
(setq dashboard-center-content t)
|
||||
|
||||
(setq dashboard-set-init-info t)
|
||||
(setq dashboard-projects-switch-function 'counsel-projectile-switch-project-by-name))
|
||||
#+end_src
|
||||
|
||||
** Better Defaults
|
||||
#+begin_src emacs-lisp
|
||||
(setq inhibit-startup-message t)
|
||||
|
@ -69,6 +91,7 @@ Emacs Backups trashing local dir!
|
|||
(setq make-backup-files t ; backup of a file the first time it is saved.
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
version-control t ; version numbers for backup files
|
||||
vc-make-backup-files t ; version control for git/vcs dirs
|
||||
delete-old-versions t ; delete excess backup files silently
|
||||
delete-by-moving-to-trash t
|
||||
kept-old-versions 6 ; oldest versions to keep when a new numbered backup is made
|
||||
|
@ -83,7 +106,7 @@ Better Scrolling
|
|||
(setq scroll-conservatively 10)
|
||||
(setq scroll-margin 3)
|
||||
(use-package smooth-scrolling
|
||||
:config (smooth-scrolling-mode 1))
|
||||
:init (smooth-scrolling-mode 1))
|
||||
#+end_src
|
||||
** Fonts
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -97,7 +120,18 @@ Better Scrolling
|
|||
(set-face-attribute 'variable-pitch nil :font my/ui/varfont :height 90)
|
||||
;; Info has a horrible mono font
|
||||
(set-face-attribute 'Info-quoted nil :font my/ui/monofont :height 90)
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/ui/font-check ()
|
||||
"Do font check, then remove self from `focus-in-hook'; need to run this just once."
|
||||
(set-face-attribute 'default nil :font my/ui/monofont :height 90)
|
||||
(set-face-attribute 'fixed-pitch nil :font my/ui/monofont :height 90)
|
||||
(set-face-attribute 'variable-pitch nil :font my/ui/varfont :height 90)
|
||||
;; Info has a horrible mono font
|
||||
(set-face-attribute 'Info-quoted nil :font my/ui/monofont :height 90)
|
||||
(remove-hook 'focus-in-hook #'my/ui/font-check))
|
||||
(add-hook 'focus-in-hook #'my/ui/font-check)
|
||||
#+end_src
|
||||
|
||||
** Theme
|
||||
|
@ -107,10 +141,11 @@ Run =M-x= all-the-icons-install-fonts for the first time!
|
|||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom
|
||||
((doom-modeline-height 15) (doom-modeline-icon t)))
|
||||
#+end_src
|
||||
Actuall Theme:
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -214,7 +249,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
|
||||
#+end_src
|
||||
|
||||
**** Symbols, Spaces, Numbers, u
|
||||
**** Symbols, Spaces, Numbers, u, tabs
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(my/leader-keys
|
||||
|
@ -246,7 +281,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
#+begin_src emacs-lisp
|
||||
"s" '(:ignore t :which-key "Search")
|
||||
|
||||
"sb" '(swiper :which-key "Choose Theme")
|
||||
"sb" '(swiper :which-key "swiper")
|
||||
#+end_src
|
||||
|
||||
**** Files (f)
|
||||
|
@ -290,6 +325,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
"wv" '(evil-window-vsplit :which-key "Window Vsplit")
|
||||
"wd" '(evil-window-delete :which-key "Window delete")
|
||||
"wu" '(winner-undo :which-key "Window Undo")
|
||||
"wo" '(other-window :which-key "Window Other")
|
||||
"wr" '(winner-redo :which-key "Window Redo")
|
||||
"wt" '(treemacs :which-key "Treemacs")
|
||||
#+end_src
|
||||
|
@ -337,13 +373,15 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
(setq evil-want-integration t
|
||||
evil-want-keybinding nil
|
||||
evil-want-C-u-scroll t
|
||||
evil-want-C-w-delete t
|
||||
evil-want-C-i-jump t
|
||||
evil-want-Y-yank-to-eol t
|
||||
evil-normal-state-cursor 'box
|
||||
evil-emacs-state-cursor '(box +evil-emacs-cursor-fn); TODO: fix
|
||||
evil-insert-state-cursor 'bar
|
||||
evil-visual-state-cursor 'hollow
|
||||
evil-undo-system 'undo-redo
|
||||
)
|
||||
;(setq evil-want-C-i-jump t)
|
||||
:config
|
||||
(evil-mode 1)
|
||||
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
|
||||
|
@ -361,30 +399,35 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
(define-key evil-normal-state-map "\C-b" 'evil-backward-char)
|
||||
(define-key evil-insert-state-map "\C-b" 'evil-backward-char)
|
||||
(define-key evil-visual-state-map "\C-b" 'evil-backward-char)
|
||||
|
||||
|
||||
(define-key evil-insert-state-map "\C-d" 'evil-delete-char)
|
||||
|
||||
|
||||
(define-key evil-normal-state-map "\C-i" 'evil-jump-forward)
|
||||
|
||||
(define-key evil-normal-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-insert-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-visual-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-normal-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-insert-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-visual-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-normal-state-map "\C-w" 'evil-delete)
|
||||
(define-key evil-insert-state-map "\C-w" 'evil-delete)
|
||||
(define-key evil-visual-state-map "\C-w" 'evil-delete)
|
||||
;; (define-key evil-normal-state-map "\C-w" 'evil-delete);; in custom
|
||||
(define-key evil-insert-state-map "\C-w" 'evil-delete-backward-word)
|
||||
(define-key evil-visual-state-map "\C-w" 'evil-delete-backward-word)
|
||||
(define-key evil-normal-state-map "\C-y" 'yank)
|
||||
(define-key evil-insert-state-map "\C-y" 'yank)
|
||||
(define-key evil-visual-state-map "\C-y" 'yank)
|
||||
|
||||
(define-key evil-normal-state-map "K" 'lsp-ui-doc-glance); TODO: all modes
|
||||
(define-key evil-visual-state-map "\C-y" 'yank)
|
||||
;(define-key evil-insert-state-map "\C-k" 'kill-line)
|
||||
(define-key evil-normal-state-map "Q" 'call-last-kbd-macro)
|
||||
(define-key evil-visual-state-map "Q" 'call-last-kbd-macro)
|
||||
(define-key evil-normal-state-map (kbd "TAB") 'evil-undefine)
|
||||
|
||||
;; (define-key evil-normal-state-map (kbd "TAB") 'evil-undefine)
|
||||
|
||||
;; Use visual line motions even outside of visual-line-mode buffers
|
||||
(evil-global-set-key 'motion "j" 'evil-next-visual-line)
|
||||
(evil-global-set-key 'motion "k" 'evil-previous-visual-line)
|
||||
|
||||
|
||||
(evil-set-initial-state 'messages-buffer-mode 'normal)
|
||||
(evil-set-initial-state 'dashboard-mode 'normal))
|
||||
#+end_src
|
||||
|
@ -400,6 +443,8 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
#+begin_src emacs-lisp
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:custom
|
||||
(evil-collection-outline-bind-tab-p t)
|
||||
:config
|
||||
(evil-collection-init))
|
||||
#+end_src
|
||||
|
@ -409,6 +454,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
(use-package key-chord
|
||||
:config
|
||||
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
|
||||
(key-chord-define evil-replace-state-map "jk" 'evil-normal-state)
|
||||
:init
|
||||
(key-chord-mode 1))
|
||||
|
||||
|
@ -440,6 +486,50 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
|
||||
#+end_src
|
||||
|
||||
*** Evil args
|
||||
[[https://github.com/wcsmith/evil-args][wcsmith/evil-args: Motions and text objects for delimited arguments in Evil.]]
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-args
|
||||
:config
|
||||
;; bind evil-args text objects
|
||||
(define-key evil-inner-text-objects-map "a" 'evil-inner-arg)
|
||||
(define-key evil-outer-text-objects-map "a" 'evil-outer-arg)
|
||||
|
||||
;; bind evil-forward/backward-args
|
||||
(define-key evil-normal-state-map "L" 'evil-forward-arg)
|
||||
(define-key evil-normal-state-map "H" 'evil-backward-arg)
|
||||
(define-key evil-motion-state-map "L" 'evil-forward-arg)
|
||||
(define-key evil-motion-state-map "H" 'evil-backward-arg)
|
||||
|
||||
;; bind evil-jump-out-args
|
||||
;; (define-key evil-normal-state-map "K" 'evil-jump-out-args))
|
||||
)
|
||||
#+end_src
|
||||
|
||||
*** Evil Easy Motion
|
||||
[[https://github.com/PythonNut/evil-easymotion][PythonNut/evil-easymotion: A port of vim easymotion to Emacs' evil-mode]]
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-easymotion
|
||||
:config
|
||||
(evilem-default-keybindings "SPC"))
|
||||
|
||||
#+end_src
|
||||
|
||||
*** evil-org
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-org
|
||||
:hook (org-mode . evil-org-mode))
|
||||
#+end_src
|
||||
|
||||
*** Evil snipe
|
||||
[[https://github.com/hlissner/evil-snipe][hlissner/evil-snipe: 2-char searching ala vim-sneak & vim-seek, for evil-mode]]
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-snipe
|
||||
:config
|
||||
(setq evil-snipe-repeat-scope 'whole-visible)
|
||||
(evil-snipe-mode +1))
|
||||
#+end_src
|
||||
|
||||
* Completions
|
||||
** ivy
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -463,8 +553,9 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
|||
#+end_src
|
||||
Ivy Rich for having =M-x= description and keybinds
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy-rich
|
||||
:init (ivy-rich-mode 1))
|
||||
(use-package ivy-rich
|
||||
:after counsel
|
||||
:init (ivy-rich-mode 1))
|
||||
#+end_src
|
||||
Ivy floating
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -477,7 +568,7 @@ Ivy floating
|
|||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))
|
||||
ivy-posframe-height-alist '((t . 20))
|
||||
ivy-posframe-parameters '((internal-border-width . 10)))
|
||||
(setq ivy-posframe-width 70)
|
||||
(setq ivy-posframe-width 120)
|
||||
(setq ivy-posframe-parameters
|
||||
'((left-fringe . 8)
|
||||
(right-fringe . 8)))
|
||||
|
@ -511,8 +602,9 @@ Ivy floating
|
|||
:ensure
|
||||
; :hook (lsp-mode . company-mode)
|
||||
:custom
|
||||
(company-idle-delay 0.0) ;; how long to wait until popup
|
||||
(company-idle-delay 0.1) ;; how long to wait until popup
|
||||
(company-minimum-prefix-length 1) ;; The minimum prefix length for idle completion.
|
||||
(company-selection-wrap-around t)
|
||||
;; (company-begin-commands nil) ;; uncomment to disable popup
|
||||
:bind
|
||||
(:map company-active-map
|
||||
|
@ -649,7 +741,7 @@ Allow fast code insertion
|
|||
#+begin_src emacs-lisp
|
||||
(defun my/org-mode/org-mode-visual-fill ()
|
||||
(interactive)
|
||||
(setq visual-fill-column-width 100
|
||||
(setq visual-fill-column-width 110
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
#+end_src
|
||||
|
@ -695,6 +787,7 @@ Automatically tangle our Emacs.org config file when we save it
|
|||
(lambda () (add-hook 'after-save-hook #'my/org-mode/org-babel-tangle-config)))
|
||||
#+end_src
|
||||
|
||||
|
||||
* Development
|
||||
** General
|
||||
*** Colored Brackets (rainbow delimiters)
|
||||
|
@ -728,6 +821,13 @@ Counsel Projectile
|
|||
)
|
||||
#+end_src
|
||||
|
||||
*** lsp performance
|
||||
#+begin_src emacs-lisp
|
||||
(setq gc-cons-threshold 100000000)
|
||||
(setq read-process-output-max (* 1024 4024)) ;; 4mb
|
||||
|
||||
#+end_src
|
||||
|
||||
*** lsp-mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-mode
|
||||
|
@ -740,7 +840,7 @@ Counsel Projectile
|
|||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||
(lsp-eldoc-render-all t)
|
||||
(lsp-eldoc-enable-hover nil)
|
||||
( lsp-ui-doc-show-with-mouse nil)
|
||||
(lsp-ui-doc-show-with-mouse nil)
|
||||
(lsp-idle-delay 0.6)
|
||||
(lsp-idle-delay 0.6)
|
||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
||||
|
@ -756,19 +856,20 @@ Counsel Projectile
|
|||
|
||||
Lsp UI
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-ui
|
||||
:ensure
|
||||
:commands lsp-ui-mode
|
||||
:custom
|
||||
;(lsp-ui-peek-always-show t)
|
||||
(lsp-ui-doc-mode t)
|
||||
;(lsp-ui-sideline-show-hover t)
|
||||
; (lsp-ui-doc-enable nil)
|
||||
;; :bind (:map lsp-ui-mode-map
|
||||
;; ("U" . lsp-ui-doc-focus-frame)
|
||||
;; :map lsp-ui-doc-frame-mode-map
|
||||
;; ("Q" . lsp-ui-doc-unfocus-frame)
|
||||
)
|
||||
(use-package lsp-ui
|
||||
:ensure
|
||||
:commands lsp-ui-mode
|
||||
:custom
|
||||
;(lsp-ui-peek-always-show t)
|
||||
(lsp-ui-doc-mode t)
|
||||
;(lsp-ui-sideline-show-hover t)
|
||||
(lsp-ui-doc-enable nil)
|
||||
:bind
|
||||
(:map lsp-ui-mode-map
|
||||
("C-k" . lsp-ui-doc-focus-frame)
|
||||
:map lsp-ui-doc-frame-mode-map
|
||||
("C-k" . lsp-ui-doc-unfocus-frame)
|
||||
))
|
||||
#+end_src
|
||||
|
||||
*** lsp treemacs
|
||||
|
@ -784,7 +885,8 @@ Lsp UI
|
|||
|
||||
*** Origami Mode (Folding)
|
||||
#+begin_src emacs-lisp
|
||||
(use-package origami)
|
||||
(use-package origami
|
||||
:hook (prog-mode . origami-mode))
|
||||
#+end_src
|
||||
|
||||
** Git
|
||||
|
@ -833,9 +935,9 @@ Get treemacs-lsp
|
|||
:after (treemacs lsp))
|
||||
(use-package treemacs-magit
|
||||
:after treemacs magit)
|
||||
;(use-package! treemacs-persp
|
||||
;:after treemacs
|
||||
;:config (treemacs-set-scope-type 'Perspectives))
|
||||
(use-package treemacs-persp
|
||||
:after treemacs
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
#+end_src
|
||||
|
||||
** Language
|
||||
|
@ -909,8 +1011,21 @@ Get treemacs-lsp
|
|||
|
||||
*** Haskell
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-haskell
|
||||
(use-package lsp-haskell
|
||||
:preface
|
||||
;; lambda symbol
|
||||
(defun my/font/pretty-lambdas-haskell ()
|
||||
(font-lock-add-keywords
|
||||
nil `((,(concat "\\(" (regexp-quote "\\") "\\)")
|
||||
(0 (progn (compose-region (match-beginning 1) (match-end 1)
|
||||
,(make-char 'greek-iso8859-7 107))
|
||||
nil))))))
|
||||
:hook (haskell-mode . lsp)
|
||||
(haskell-mode . my/font/pretty-lambdas-haskell)
|
||||
:config
|
||||
(haskell-indentation-mode -1)
|
||||
(add-hook 'before-save-hook 'lsp-format-buffer)
|
||||
;; :custom (haskell-stylish-on-save t)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
|
@ -920,6 +1035,78 @@ Get treemacs-lsp
|
|||
:hook (yaml-mode . lsp))
|
||||
#+end_src
|
||||
|
||||
*** Web
|
||||
#+begin_src emacs-lisp
|
||||
(use-package tide
|
||||
:preface
|
||||
(defun setup-tide-mode ()
|
||||
(interactive)
|
||||
(tide-setup)
|
||||
(flycheck-mode +1)
|
||||
(setq flycheck-check-syntax-automatically '(save mode-enabled))
|
||||
(eldoc-mode +1)
|
||||
(tide-hl-identifier-mode +1)
|
||||
;; company is an optional dependency. You have to
|
||||
;; install it separately via package-install
|
||||
;; `M-x package-install [ret] company`
|
||||
(company-mode +1))
|
||||
:config
|
||||
|
||||
;; aligns annotation to the right hand side
|
||||
(setq company-tooltip-align-annotations t)
|
||||
|
||||
;; formats the buffer before saving
|
||||
(add-hook 'before-save-hook 'tide-format-before-save)
|
||||
:hook(typescript-mode . setup-tide-mode)
|
||||
:hook(typescript-mode . lsp))
|
||||
#+end_src
|
||||
|
||||
svelte
|
||||
#+begin_src emacs-lisp
|
||||
(use-package svelte-mode
|
||||
:config
|
||||
(add-hook 'before-save-hook 'lsp-format-buffer)
|
||||
:hook (svelte-mode . lsp))
|
||||
#+end_src
|
||||
|
||||
prettier
|
||||
#+begin_src emacs-lisp
|
||||
(use-package prettier)
|
||||
#+end_src
|
||||
|
||||
*** Markdown
|
||||
Better Diff in header sizes
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(eval-after-load 'markdown-mode
|
||||
'(custom-set-faces
|
||||
'(markdown-header-face-1 ((t (:inherit markdown-header-face :height 1.7))))
|
||||
'(markdown-header-face-2 ((t (:inherit markdown-header-face :height 1.4))))
|
||||
'(markdown-header-face-3 ((t (:inherit markdown-header-face :height 1.3))))
|
||||
'(markdown-header-face-4 ((t (:inherit markdown-header-face :height 1.2))))
|
||||
'(markdown-header-face-5 ((t (:inherit markdown-header-face :height 1.1))))
|
||||
'(markdown-header-face-6 ((t (:inherit markdown-header-face :height 1.0))))
|
||||
))
|
||||
(add-hook 'markdown-mode-hook 'my/org-mode/org-mode-visual-fill)
|
||||
(add-hook 'markdown-mode-hook 'outline-minor-mode)
|
||||
#+end_src
|
||||
|
||||
*** Vue
|
||||
#+begin_src emacs-lisp
|
||||
(use-package vue-mode
|
||||
:hook (vue-mode . lsp)
|
||||
:hook (vue-mode . prettier-js-mode))
|
||||
#+end_src
|
||||
|
||||
* Misc
|
||||
** Restart Emacs
|
||||
#+begin_src emacs-lisp
|
||||
(use-package restart-emacs)
|
||||
#+end_src
|
||||
|
||||
)
|
||||
#+end_src
|
||||
|
||||
* Misc
|
||||
** Restart Emacs
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -937,3 +1124,52 @@ Get treemacs-lsp
|
|||
:ensure t)
|
||||
#+end_src
|
||||
|
||||
** ranger
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ranger
|
||||
:config (ranger-override-dired-mode t))
|
||||
#+end_src
|
||||
|
||||
** Ligatures
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(let ((ligatures `((?- . ,(regexp-opt '("-|" "-~" "---" "-<<" "-<" "--" "->" "->>" "-->")))
|
||||
(?/ . ,(regexp-opt '("/**" "/*" "///" "/=" "/==" "/>" "//")))
|
||||
(?* . ,(regexp-opt '("*>" "***" "*/")))
|
||||
(?< . ,(regexp-opt '("<-" "<<-" "<=>" "<=" "<|" "<||" "<|||::=" "<|>" "<:" "<>" "<-<"
|
||||
"<<<" "<==" "<<=" "<=<" "<==>" "<-|" "<<" "<~>" "<=|" "<~~" "<~"
|
||||
"<$>" "<$" "<+>" "<+" "</>" "</" "<*" "<*>" "<->" "<!--")))
|
||||
(?: . ,(regexp-opt '(":>" ":<" ":::" "::" ":?" ":?>" ":=")))
|
||||
(?= . ,(regexp-opt '("=>>" "==>" "=/=" "=!=" "=>" "===" "=:=" "==")))
|
||||
(?! . ,(regexp-opt '("!==" "!!" "!=")))
|
||||
(?> . ,(regexp-opt '(">]" ">:" ">>-" ">>=" ">=>" ">>>" ">-" ">=")))
|
||||
(?& . ,(regexp-opt '("&&&" "&&")))
|
||||
(?| . ,(regexp-opt '("|||>" "||>" "|>" "|]" "|}" "|=>" "|->" "|=" "||-" "|-" "||=" "||")))
|
||||
(?. . ,(regexp-opt '(".." ".?" ".=" ".-" "..<" "...")))
|
||||
(?+ . ,(regexp-opt '("+++" "+>" "++")))
|
||||
(?\[ . ,(regexp-opt '("[||]" "[<" "[|")))
|
||||
(?\{ . ,(regexp-opt '("{|")))
|
||||
(?\? . ,(regexp-opt '("??" "?." "?=" "?:")))
|
||||
(?# . ,(regexp-opt '("####" "###" "#[" "#{" "#=" "#!" "#:" "#_(" "#_" "#?" "#(" "##")))
|
||||
(?\; . ,(regexp-opt '(";;")))
|
||||
(?_ . ,(regexp-opt '("_|_" "__")))
|
||||
(?\\ . ,(regexp-opt '("\\" "\\/")))
|
||||
(?~ . ,(regexp-opt '("~~" "~~>" "~>" "~=" "~-" "~@")))
|
||||
(?$ . ,(regexp-opt '("$>")))
|
||||
(?^ . ,(regexp-opt '("^=")))
|
||||
(?\] . ,(regexp-opt '("]#"))))))
|
||||
(dolist (char-regexp ligatures)
|
||||
(set-char-table-range composition-function-table (car char-regexp)
|
||||
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
||||
#+end_src
|
||||
|
||||
* Buffers and Windows
|
||||
** Workspaces (Persepective
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package persp-mode
|
||||
:config
|
||||
(setq persp-keymap-prefix (kbd "SPC <tab>"))
|
||||
#+end_src
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=570
|
||||
GeometryY=257
|
||||
GeometryX=0
|
||||
GeometryY=0
|
||||
GeometryWidth=780
|
||||
GeometryHeight=585
|
||||
SortColumn=modified
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
file:///home/user/Documents/memes
|
||||
file:///home/user/Downloads
|
||||
file:///home/user/Pictures
|
||||
file:///home/user/Videos
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_key=47
|
||||
sort_direction=1
|
||||
tree_sort_key=46
|
||||
tree_sort_direction=1
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
start=177.400000
|
||||
volume=52.000000
|
|
@ -218,7 +218,7 @@ opacity-rule = [
|
|||
"99:class_g = 'LibreWolf'",
|
||||
"100:class_g = 'Thunderbird'",
|
||||
"33:class_g = 'Bspwm'",
|
||||
"98:class_g = 'Zathura'"
|
||||
"100:class_g = 'Zathura'"
|
||||
];
|
||||
|
||||
|
||||
|
@ -359,7 +359,7 @@ refresh-rate = 0
|
|||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
unredir-if-possible = true
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
|
|
@ -27,6 +27,7 @@ include-file = ~/.config/polybar/forest/bars.ini
|
|||
include-file = ~/.config/polybar/forest/colors.ini
|
||||
include-file = ~/.config/polybar/forest/modules.ini
|
||||
include-file = ~/.config/polybar/forest/user_modules.ini
|
||||
include-file = ~/.config/polybar/forest/ext-mon-config.ini
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
|
|
|
@ -0,0 +1,220 @@
|
|||
[bar/external]
|
||||
; Use either of the following command to list available outputs:
|
||||
; If unspecified, the application will pick the first one it finds.
|
||||
; $ polybar -m | cut -d ':' -f 1
|
||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||
monitor = HDMI-0
|
||||
|
||||
; Use the specified monitor as a fallback if the main one is not found.
|
||||
monitor-fallback =
|
||||
|
||||
; Require the monitor to be in connected state
|
||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||
monitor-strict = false
|
||||
|
||||
; Tell the Window Manager not to configure the window.
|
||||
; Use this to detach the bar if your WM is locking its size/position.
|
||||
override-redirect = false
|
||||
|
||||
; Put the bar at the bottom of the screen
|
||||
bottom = false
|
||||
|
||||
; Prefer fixed center position for the `modules-center` block
|
||||
; When false, the center position will be based on the size of the other blocks.
|
||||
fixed-center = true
|
||||
|
||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||
width = 100%
|
||||
height = 20
|
||||
|
||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in an offset in the x or y direction
|
||||
; of 50% minus 10 pixels
|
||||
offset-x = 0%
|
||||
offset-y = 0%
|
||||
|
||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
background = ${color.background}
|
||||
|
||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
foreground = ${color.foreground}
|
||||
|
||||
; Background gradient (vertical steps)
|
||||
; background-[0-9]+ = #aarrggbb
|
||||
;;background-0 =
|
||||
|
||||
; Value used for drawing rounded corners
|
||||
; Note: This shouldn't be used together with border-size because the border
|
||||
; doesn't get rounded
|
||||
; Individual top/bottom values can be defined using:
|
||||
; radius-{top,bottom}
|
||||
radius-top = 0.0
|
||||
radius-bottom = 0.0
|
||||
|
||||
; Under-/overline pixel size and argb color
|
||||
; Individual values can be defined using:
|
||||
; {overline,underline}-size
|
||||
; {overline,underline}-color
|
||||
line-size = 0
|
||||
line-color = ${color.background}
|
||||
|
||||
; Values applied to all borders
|
||||
; Individual side values can be defined using:
|
||||
; border-{left,top,right,bottom}-size
|
||||
; border-{left,top,right,bottom}-color
|
||||
; The top and bottom borders are added to the bar height, so the effective
|
||||
; window height is:
|
||||
; height + border-top-size + border-bottom-size
|
||||
; Meanwhile the effective window width is defined entirely by the width key and
|
||||
; the border is placed withing this area. So you effectively only have the
|
||||
; following horizontal space on the bar:
|
||||
; width - border-right-size - border-left-size
|
||||
border-bottom-size = 0
|
||||
border-bottom-color = ${color.foreground}
|
||||
|
||||
; Number of spaces to add at the beginning/end of the bar
|
||||
; Individual side values can be defined using:
|
||||
; padding-{left,right}
|
||||
padding = 2
|
||||
|
||||
; Number of spaces to add before/after each module
|
||||
; Individual side values can be defined using:
|
||||
; module-margin-{left,right}
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; Fonts are defined using <font-name>;<vertical-offset>
|
||||
; Font names are specified using a fontconfig pattern.
|
||||
; font-0 = NotoSans-Regular:size=8;2
|
||||
; font-1 = MaterialIcons:size=10
|
||||
; font-2 = Termsynu:size=8;-1
|
||||
; font-3 = FontAwesome:size=10
|
||||
; See the Fonts wiki page for more details
|
||||
|
||||
font-0 = "Terminus:size=10;3"
|
||||
font-1 = "waffle:size=10;3"
|
||||
|
||||
; Modules are added to one of the available blocks
|
||||
; modules-left = cpu ram
|
||||
; modules-center = xwindow xbacklight
|
||||
; modules-right = ipc clock
|
||||
|
||||
;modules-left = launcher sep workspaces sep cpu memory temperature filesystem
|
||||
;modules-center = mpd sep date
|
||||
;modules-right = color-switch sep mail sep network sep keyboard battery volume backlight sep sysmenu try
|
||||
#modules-right = color-switch sep network sep keyboard battery volume backlight sep sysmenu try
|
||||
|
||||
modules-left = launcher sep workspaces sep memory_bar cpu_bar sep temperature sep title
|
||||
modules-center = mpd sep date sep thunderbird
|
||||
modules-right = color-switch sep network sep keyboard uwu sep volume brightness sep filesystem_bar sep battery sep sysmenu tray
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; The separator will be inserted between the output of each module
|
||||
separator =
|
||||
|
||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||
dim-value = 1.0
|
||||
|
||||
; Value to be used to set the WM_NAME atom
|
||||
; If the value is empty or undefined, the atom value
|
||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||
; NOTE: The placeholders are not available for custom values
|
||||
wm-name =
|
||||
|
||||
; Locale used to localize various module data (e.g. date)
|
||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||
locale =
|
||||
|
||||
; Position of the system tray window
|
||||
; If empty or undefined, tray support will be disabled
|
||||
; NOTE: A center aligned tray will cover center aligned modules
|
||||
;
|
||||
; Available positions:
|
||||
; left
|
||||
; center
|
||||
; right
|
||||
; none
|
||||
tray-position = right
|
||||
|
||||
; If true, the bar will not shift its
|
||||
; contents when the tray changes
|
||||
tray-detached = false
|
||||
|
||||
; Tray icon max size
|
||||
tray-maxsize = 16
|
||||
|
||||
; Background color for the tray container
|
||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
; By default the tray container will use the bar
|
||||
; background color.
|
||||
tray-background = ${color.background}
|
||||
|
||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
|
||||
; Pad the sides of each tray icon
|
||||
tray-padding = 0
|
||||
|
||||
; Scale factor for tray clients
|
||||
tray-scale = 1.0
|
||||
|
||||
; Restack the bar window and put it above the
|
||||
; selected window manager's root
|
||||
;
|
||||
; Fixes the issue where the bar is being drawn
|
||||
; on top of fullscreen window's
|
||||
;
|
||||
; Currently supported WM's:
|
||||
; bspwm
|
||||
; i3 (requires: `override-redirect = true`)
|
||||
wm-restack = bspwm
|
||||
|
||||
; Set a DPI values used when rendering text
|
||||
; This only affects scalable fonts
|
||||
; dpi =
|
||||
|
||||
; Enable support for inter-process messaging
|
||||
; See the Messaging wiki page for more details.
|
||||
enable-ipc = true
|
||||
|
||||
; Fallback click handlers that will be called if
|
||||
; there's no matching module handler found.
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
scroll-up =
|
||||
scroll-down =
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
|
||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||
; Possible values are:
|
||||
; - default : The default pointer as before, can also be an empty string (default)
|
||||
; - pointer : Typically in the form of a hand
|
||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||
cursor-click =
|
||||
cursor-scroll =
|
||||
|
||||
;; WM Workspace Specific
|
||||
|
||||
; bspwm
|
||||
;;scroll-up = bspwm-desknext
|
||||
;;scroll-down = bspwm-deskprev
|
||||
;;scroll-up = bspc desktop -f prev.local
|
||||
;;scroll-down = bspc desktop -f next.local
|
||||
|
||||
;i3
|
||||
;;scroll-up = i3wm-wsnext
|
||||
;;scroll-down = i3wm-wsprev
|
||||
;;scroll-up = i3-msg workspace next_on_output
|
||||
;;scroll-down = i3-msg workspace prev_on_output
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
|
@ -2015,7 +2015,9 @@ c.content.cookies.store = True
|
|||
## the search engine name to the search term, e.g. `:open google
|
||||
## qutebrowser`.
|
||||
## Type: Dict
|
||||
# c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}'}
|
||||
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}',
|
||||
'wa':"https://wiki.archlinux.org/?search={}",
|
||||
}
|
||||
|
||||
## Page(s) to open at the start.
|
||||
## Type: List of FuzzyUrl, or FuzzyUrl
|
||||
|
|
|
@ -48,6 +48,9 @@
|
|||
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||
# only running the current file even if you have marked multiple files.
|
||||
|
||||
# DRAGON DRAG AND DROP!
|
||||
#has dragon-drag-and-drop, X, flag f = dragon-drag-and-drop -a -x "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Websites
|
||||
#-------------------------------------------
|
||||
|
@ -291,3 +294,4 @@ mime application/x-executable = "$1"
|
|||
# Move the file to trash using trash-cli.
|
||||
label trash, has trash-put = trash-put -- "$@"
|
||||
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
|
||||
has dragon-drag-and-drop, X, flag f = dragon-drag-and-drop -a -x "$@"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
add_newline = false
|
||||
format = '$username$hostname$shlvl$kubernetes$directory${custom.git_host}$git_branch$git_commit$git_state$git_status$hg_branch$docker_context$package$cmake$dart$dotnet$elixir$elm$erlang$golang$helm$java$julia$kotlin$nim$nodejs$ocaml$perl$php$purescript$python$ruby$rust$swift$terraform$zig$nix_shell$conda$memory_usage$aws$gcloud$openstack$env_var$crystal$custom$cmd_duration$line_break$lua$jobs$battery$time$status$character'
|
||||
|
||||
[directory]
|
||||
truncation_length = 5
|
||||
|
|
|
@ -31,9 +31,9 @@ set statusbar-fg "#eff0eb" # fg " from SNAZZY
|
|||
set highlight-color "#fabd2f" # bright:yellow
|
||||
set highlight-active-color "#fe8019" # bright:orange
|
||||
|
||||
set default-bg "#282828" # bg
|
||||
set default-bg rgba(28,28,28,0.9) # bg
|
||||
set default-fg "#ebdbb2" # fg
|
||||
set default-fg "#eff0eb" # fg " from SNAZZY
|
||||
set default-fg "#eff0eb0" # fg " from SNAZZY
|
||||
set render-loading true
|
||||
set render-loading-bg "#282828" # bg
|
||||
set render-loading-fg "#ebdbb2" # fg
|
||||
|
|
|
@ -49,6 +49,10 @@ zplugin load 'flinner/zsh-emacs'
|
|||
zplugin ice wait lucid atload'_zsh_autosuggest_start'
|
||||
zplugin light zsh-users/zsh-autosuggestions
|
||||
|
||||
zplugin ice wait'0' lucid
|
||||
zinit load agkozak/zsh-z
|
||||
|
||||
|
||||
#zplugin ice wait'1' lucid
|
||||
#zplugin load marlonrichert/zsh-autocomplete
|
||||
|
||||
|
@ -181,6 +185,8 @@ export DOOM_PATH="$HOME/.emacs.d/bin"
|
|||
|
||||
export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$GOPATH:$PATH"
|
||||
|
||||
|
||||
|
||||
# colored GCC warnings and errors
|
||||
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
|
||||
|
@ -224,6 +230,7 @@ export LESS_TERMCAP_se=$(printf '\e[0m') # leave standout mode
|
|||
export LESS_TERMCAP_so=$(printf '\e[01;33m') # enter standout mode - yellow
|
||||
export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode
|
||||
export LESS_TERMCAP_us=$(printf '\e[04;36m') # enter underline mode - cyan
|
||||
|
||||
#===============================================================================================
|
||||
|
||||
# Load the pure theme, with zsh-async library that's bundled with it
|
||||
|
|
Loading…
Reference in New Issue