yo idk lots of changes

This commit is contained in:
Flinner 2021-07-18 09:01:51 +03:00
parent 778cde16a8
commit 13afed663e
Signed by: flinner
GPG Key ID: 95CE0DA7F0E58CA6
16 changed files with 529 additions and 54 deletions

View File

@ -2,5 +2,6 @@
my_laptop_external_monitor=$(xrandr --query | grep 'HDMI-0') my_laptop_external_monitor=$(xrandr --query | grep 'HDMI-0')
if [[ $my_laptop_external_monitor = *connected* ]]; then 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 fi

6
bin/bin/wm/move Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
# if bspwm
bspc node "$@" ||
bspc monitor "$@"

View File

@ -56,7 +56,7 @@
;;zen ; distraction-free coding or writing ;;zen ; distraction-free coding or writing
:editor :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 file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness (format +onsave) ; automated prettiness

View File

@ -28,6 +28,7 @@ Initialize Package sources
Make sure to download packages if not present Make sure to download packages if not present
#+begin_src emacs-lisp #+begin_src emacs-lisp
(require 'use-package) (require 'use-package)
(setq package-native-compile t)
(setq use-package-always-ensure t) (setq use-package-always-ensure t)
#+end_src #+end_src
straight straight
@ -50,6 +51,27 @@ straight
#+end_src #+end_src
* Basic Configuration * 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 ** Better Defaults
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setq inhibit-startup-message t) (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. (setq make-backup-files t ; backup of a file the first time it is saved.
backup-by-copying t ; don't clobber symlinks backup-by-copying t ; don't clobber symlinks
version-control t ; version numbers for backup files 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-old-versions t ; delete excess backup files silently
delete-by-moving-to-trash t delete-by-moving-to-trash t
kept-old-versions 6 ; oldest versions to keep when a new numbered backup is made 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-conservatively 10)
(setq scroll-margin 3) (setq scroll-margin 3)
(use-package smooth-scrolling (use-package smooth-scrolling
:config (smooth-scrolling-mode 1)) :init (smooth-scrolling-mode 1))
#+end_src #+end_src
** Fonts ** Fonts
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -97,7 +120,18 @@ Better Scrolling
(set-face-attribute 'variable-pitch nil :font my/ui/varfont :height 90) (set-face-attribute 'variable-pitch nil :font my/ui/varfont :height 90)
;; Info has a horrible mono font ;; Info has a horrible mono font
(set-face-attribute 'Info-quoted nil :font my/ui/monofont :height 90) (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 #+end_src
** Theme ** Theme
@ -110,7 +144,8 @@ Run =M-x= all-the-icons-install-fonts for the first time!
(use-package doom-modeline (use-package doom-modeline
:ensure t :ensure t
:init (doom-modeline-mode 1) :init (doom-modeline-mode 1)
:custom ((doom-modeline-height 15))) :custom
((doom-modeline-height 15) (doom-modeline-icon t)))
#+end_src #+end_src
Actuall Theme: Actuall Theme:
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -214,7 +249,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
#+end_src #+end_src
**** Symbols, Spaces, Numbers, u **** Symbols, Spaces, Numbers, u, tabs
#+begin_src emacs-lisp #+begin_src emacs-lisp
(my/leader-keys (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 #+begin_src emacs-lisp
"s" '(:ignore t :which-key "Search") "s" '(:ignore t :which-key "Search")
"sb" '(swiper :which-key "Choose Theme") "sb" '(swiper :which-key "swiper")
#+end_src #+end_src
**** Files (f) **** 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") "wv" '(evil-window-vsplit :which-key "Window Vsplit")
"wd" '(evil-window-delete :which-key "Window delete") "wd" '(evil-window-delete :which-key "Window delete")
"wu" '(winner-undo :which-key "Window Undo") "wu" '(winner-undo :which-key "Window Undo")
"wo" '(other-window :which-key "Window Other")
"wr" '(winner-redo :which-key "Window Redo") "wr" '(winner-redo :which-key "Window Redo")
"wt" '(treemacs :which-key "Treemacs") "wt" '(treemacs :which-key "Treemacs")
#+end_src #+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 (setq evil-want-integration t
evil-want-keybinding nil evil-want-keybinding nil
evil-want-C-u-scroll t 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-normal-state-cursor 'box
evil-emacs-state-cursor '(box +evil-emacs-cursor-fn); TODO: fix evil-emacs-state-cursor '(box +evil-emacs-cursor-fn); TODO: fix
evil-insert-state-cursor 'bar evil-insert-state-cursor 'bar
evil-visual-state-cursor 'hollow evil-visual-state-cursor 'hollow
evil-undo-system 'undo-redo evil-undo-system 'undo-redo
) )
;(setq evil-want-C-i-jump t)
:config :config
(evil-mode 1) (evil-mode 1)
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state) (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
@ -364,22 +402,27 @@ E: honestly I have no clue wtf that meant, but I will keep it
(define-key evil-insert-state-map "\C-d" 'evil-delete-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-normal-state-map "\C-n" 'evil-next-line)
(define-key evil-insert-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-visual-state-map "\C-n" 'evil-next-line)
(define-key evil-normal-state-map "\C-p" 'evil-previous-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-insert-state-map "\C-p" 'evil-previous-line)
(define-key evil-visual-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-normal-state-map "\C-w" 'evil-delete);; in custom
(define-key evil-insert-state-map "\C-w" 'evil-delete) (define-key evil-insert-state-map "\C-w" 'evil-delete-backward-word)
(define-key evil-visual-state-map "\C-w" 'evil-delete) (define-key evil-visual-state-map "\C-w" 'evil-delete-backward-word)
(define-key evil-normal-state-map "\C-y" 'yank) (define-key evil-normal-state-map "\C-y" 'yank)
(define-key evil-insert-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-visual-state-map "\C-y" 'yank)
;(define-key evil-insert-state-map "\C-k" 'kill-line) ;(define-key evil-insert-state-map "\C-k" 'kill-line)
(define-key evil-normal-state-map "Q" 'call-last-kbd-macro) (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-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 ;; 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 "j" 'evil-next-visual-line)
@ -400,6 +443,8 @@ E: honestly I have no clue wtf that meant, but I will keep it
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package evil-collection (use-package evil-collection
:after evil :after evil
:custom
(evil-collection-outline-bind-tab-p t)
:config :config
(evil-collection-init)) (evil-collection-init))
#+end_src #+end_src
@ -409,6 +454,7 @@ E: honestly I have no clue wtf that meant, but I will keep it
(use-package key-chord (use-package key-chord
:config :config
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state) (key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
(key-chord-define evil-replace-state-map "jk" 'evil-normal-state)
:init :init
(key-chord-mode 1)) (key-chord-mode 1))
@ -440,6 +486,50 @@ E: honestly I have no clue wtf that meant, but I will keep it
#+end_src #+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 * Completions
** ivy ** ivy
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -463,7 +553,8 @@ E: honestly I have no clue wtf that meant, but I will keep it
#+end_src #+end_src
Ivy Rich for having =M-x= description and keybinds Ivy Rich for having =M-x= description and keybinds
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ivy-rich (use-package ivy-rich
:after counsel
:init (ivy-rich-mode 1)) :init (ivy-rich-mode 1))
#+end_src #+end_src
Ivy floating Ivy floating
@ -477,7 +568,7 @@ Ivy floating
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center)) (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))
ivy-posframe-height-alist '((t . 20)) ivy-posframe-height-alist '((t . 20))
ivy-posframe-parameters '((internal-border-width . 10))) ivy-posframe-parameters '((internal-border-width . 10)))
(setq ivy-posframe-width 70) (setq ivy-posframe-width 120)
(setq ivy-posframe-parameters (setq ivy-posframe-parameters
'((left-fringe . 8) '((left-fringe . 8)
(right-fringe . 8))) (right-fringe . 8)))
@ -511,8 +602,9 @@ Ivy floating
:ensure :ensure
; :hook (lsp-mode . company-mode) ; :hook (lsp-mode . company-mode)
:custom :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-minimum-prefix-length 1) ;; The minimum prefix length for idle completion.
(company-selection-wrap-around t)
;; (company-begin-commands nil) ;; uncomment to disable popup ;; (company-begin-commands nil) ;; uncomment to disable popup
:bind :bind
(:map company-active-map (:map company-active-map
@ -649,7 +741,7 @@ Allow fast code insertion
#+begin_src emacs-lisp #+begin_src emacs-lisp
(defun my/org-mode/org-mode-visual-fill () (defun my/org-mode/org-mode-visual-fill ()
(interactive) (interactive)
(setq visual-fill-column-width 100 (setq visual-fill-column-width 110
visual-fill-column-center-text t) visual-fill-column-center-text t)
(visual-fill-column-mode 1)) (visual-fill-column-mode 1))
#+end_src #+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))) (lambda () (add-hook 'after-save-hook #'my/org-mode/org-babel-tangle-config)))
#+end_src #+end_src
* Development * Development
** General ** General
*** Colored Brackets (rainbow delimiters) *** Colored Brackets (rainbow delimiters)
@ -728,6 +821,13 @@ Counsel Projectile
) )
#+end_src #+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 *** lsp-mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package lsp-mode (use-package lsp-mode
@ -740,7 +840,7 @@ Counsel Projectile
(lsp-rust-analyzer-cargo-watch-command "clippy") (lsp-rust-analyzer-cargo-watch-command "clippy")
(lsp-eldoc-render-all t) (lsp-eldoc-render-all t)
(lsp-eldoc-enable-hover nil) (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-idle-delay 0.6) (lsp-idle-delay 0.6)
(lsp-rust-analyzer-server-display-inlay-hints t) (lsp-rust-analyzer-server-display-inlay-hints t)
@ -763,12 +863,13 @@ Lsp UI
;(lsp-ui-peek-always-show t) ;(lsp-ui-peek-always-show t)
(lsp-ui-doc-mode t) (lsp-ui-doc-mode t)
;(lsp-ui-sideline-show-hover t) ;(lsp-ui-sideline-show-hover t)
; (lsp-ui-doc-enable nil) (lsp-ui-doc-enable nil)
;; :bind (:map lsp-ui-mode-map :bind
;; ("U" . lsp-ui-doc-focus-frame) (:map lsp-ui-mode-map
;; :map lsp-ui-doc-frame-mode-map ("C-k" . lsp-ui-doc-focus-frame)
;; ("Q" . lsp-ui-doc-unfocus-frame) :map lsp-ui-doc-frame-mode-map
) ("C-k" . lsp-ui-doc-unfocus-frame)
))
#+end_src #+end_src
*** lsp treemacs *** lsp treemacs
@ -784,7 +885,8 @@ Lsp UI
*** Origami Mode (Folding) *** Origami Mode (Folding)
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package origami) (use-package origami
:hook (prog-mode . origami-mode))
#+end_src #+end_src
** Git ** Git
@ -833,9 +935,9 @@ Get treemacs-lsp
:after (treemacs lsp)) :after (treemacs lsp))
(use-package treemacs-magit (use-package treemacs-magit
:after treemacs magit) :after treemacs magit)
;(use-package! treemacs-persp (use-package treemacs-persp
;:after treemacs :after treemacs
;:config (treemacs-set-scope-type 'Perspectives)) :config (treemacs-set-scope-type 'Perspectives))
#+end_src #+end_src
** Language ** Language
@ -910,7 +1012,20 @@ Get treemacs-lsp
*** Haskell *** Haskell
#+begin_src emacs-lisp #+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) :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 #+end_src
@ -920,6 +1035,78 @@ Get treemacs-lsp
:hook (yaml-mode . lsp)) :hook (yaml-mode . lsp))
#+end_src #+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 * Misc
** Restart Emacs ** Restart Emacs
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -937,3 +1124,52 @@ Get treemacs-lsp
:ensure t) :ensure t)
#+end_src #+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

View File

@ -2,8 +2,8 @@
LocationMode=path-bar LocationMode=path-bar
ShowHidden=false ShowHidden=false
ShowSizeColumn=true ShowSizeColumn=true
GeometryX=570 GeometryX=0
GeometryY=257 GeometryY=0
GeometryWidth=780 GeometryWidth=780
GeometryHeight=585 GeometryHeight=585
SortColumn=modified SortColumn=modified

View File

@ -1,3 +1,4 @@
file:///home/user/Documents/memes
file:///home/user/Downloads file:///home/user/Downloads
file:///home/user/Pictures file:///home/user/Pictures
file:///home/user/Videos file:///home/user/Videos

View File

@ -1,7 +1,7 @@
# Beware! This file is rewritten by htop when settings are changed in the interface. # Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly. # The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1 fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46 sort_key=47
sort_direction=1 sort_direction=1
tree_sort_key=46 tree_sort_key=46
tree_sort_direction=1 tree_sort_direction=1

View File

@ -1,2 +0,0 @@
start=177.400000
volume=52.000000

View File

@ -218,7 +218,7 @@ opacity-rule = [
"99:class_g = 'LibreWolf'", "99:class_g = 'LibreWolf'",
"100:class_g = 'Thunderbird'", "100:class_g = 'Thunderbird'",
"33:class_g = 'Bspwm'", "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 # to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious. # 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. # Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0 # unredir-if-possible-delay = 0

View File

@ -27,6 +27,7 @@ include-file = ~/.config/polybar/forest/bars.ini
include-file = ~/.config/polybar/forest/colors.ini include-file = ~/.config/polybar/forest/colors.ini
include-file = ~/.config/polybar/forest/modules.ini include-file = ~/.config/polybar/forest/modules.ini
include-file = ~/.config/polybar/forest/user_modules.ini include-file = ~/.config/polybar/forest/user_modules.ini
include-file = ~/.config/polybar/forest/ext-mon-config.ini
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@ -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
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@ -2015,7 +2015,9 @@ c.content.cookies.store = True
## the search engine name to the search term, e.g. `:open google ## the search engine name to the search term, e.g. `:open google
## qutebrowser`. ## qutebrowser`.
## Type: Dict ## 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. ## Page(s) to open at the start.
## Type: List of FuzzyUrl, or FuzzyUrl ## Type: List of FuzzyUrl, or FuzzyUrl

View File

@ -48,6 +48,9 @@
# Note: When using rifle in ranger, there is an additional flag "c" for # 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. # 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 # Websites
#------------------------------------------- #-------------------------------------------
@ -291,3 +294,4 @@ mime application/x-executable = "$1"
# Move the file to trash using trash-cli. # Move the file to trash using trash-cli.
label trash, has trash-put = trash-put -- "$@" 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 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 "$@"

View File

@ -1,5 +1,4 @@
add_newline = false 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] [directory]
truncation_length = 5 truncation_length = 5

View File

@ -31,9 +31,9 @@ set statusbar-fg "#eff0eb" # fg " from SNAZZY
set highlight-color "#fabd2f" # bright:yellow set highlight-color "#fabd2f" # bright:yellow
set highlight-active-color "#fe8019" # bright:orange 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 "#ebdbb2" # fg
set default-fg "#eff0eb" # fg " from SNAZZY set default-fg "#eff0eb0" # fg " from SNAZZY
set render-loading true set render-loading true
set render-loading-bg "#282828" # bg set render-loading-bg "#282828" # bg
set render-loading-fg "#ebdbb2" # fg set render-loading-fg "#ebdbb2" # fg

View File

@ -49,6 +49,10 @@ zplugin load 'flinner/zsh-emacs'
zplugin ice wait lucid atload'_zsh_autosuggest_start' zplugin ice wait lucid atload'_zsh_autosuggest_start'
zplugin light zsh-users/zsh-autosuggestions zplugin light zsh-users/zsh-autosuggestions
zplugin ice wait'0' lucid
zinit load agkozak/zsh-z
#zplugin ice wait'1' lucid #zplugin ice wait'1' lucid
#zplugin load marlonrichert/zsh-autocomplete #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" export PATH="$DOOM_PATH:$HOME/.local/bin:$HOME/bin:$CARGO_HOME/bin:$GOPATH:$PATH"
# colored GCC warnings and errors # colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' 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_so=$(printf '\e[01;33m') # enter standout mode - yellow
export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode
export LESS_TERMCAP_us=$(printf '\e[04;36m') # enter underline mode - cyan 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 # Load the pure theme, with zsh-async library that's bundled with it