diff --git a/home/.config/doom/config.el b/home/.config/doom/config.el index fc8fba0..e79af9a 100644 --- a/home/.config/doom/config.el +++ b/home/.config/doom/config.el @@ -9,9 +9,9 @@ browse-url-generic-program "qutebrowser") ;; Font settings -(setq doom-font (font-spec :family "Iosevka Nerd Font" :size 16) +(setq doom-font (font-spec :family "Iosevka" :size 16) doom-variable-pitch-font (font-spec :family "sans" :size 16) - doom-big-font (font-spec :family "Iosevka Nerd Font" :size 24)) + doom-big-font (font-spec :family "Iosevka" :size 24)) ;;(setq inhibit-compacting-font-caches t) (custom-set-faces! '(font-lock-comment-face :slant italic) @@ -96,11 +96,17 @@ (use-package! ivy-rich :after all-the-icons-ivy-rich) -;; Completion + lsp +;; Company (after! company (setq company-idle-delay 0.5 company-minimum-prefix-length 2 company-show-numbers nil)) + +;; lsp +(use-package! lsp-treemacs + :after treemacs + :config + (lsp-treemacs-sync-mode 1)) (setq lsp-clients-clangd-args '("-j=2" "--background-index" "--clang-tidy" @@ -108,7 +114,7 @@ "--pch-storage=memory" "--header-insertion=iwyu" "--header-insertion-decorators")) -;;(after! lsp-clangd (set-lsp-priority! 'clangd 2)) ;; Prefer clangd instead of default ccls +(after! lsp-clangd (set-lsp-priority! 'clangd 2)) ;; Prefer clangd instead of default ccls (setq lua-lsp-dir "~/.config/emacs/.local/etc/lsp/lua-language-server/" lua-lsp-completion-call-snippet "Replace") @@ -164,6 +170,7 @@ ;; Magit (after! magit (setq magit-diff-refine-hunk 'all)) +;;(add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) ;; Here are some additional functions/macros that could help you configure Doom: ;; diff --git a/home/.config/doom/exwm.el b/home/.config/doom/exwm.el index ce64409..d07eae7 100644 --- a/home/.config/doom/exwm.el +++ b/home/.config/doom/exwm.el @@ -5,6 +5,7 @@ (apply #'call-process `(,(car command-parts) nil 0 nil ,@(cdr command-parts))))) (defun follie/set-wallpaper () + "Change the current wallpaper with feh" (interactive) (start-process-shell-command "feh" nil "feh --no-fehbg --bg-fill --randomize ~/Pictures/Wallpapers/*")) @@ -168,6 +169,7 @@ ;; xbps but with Emacs ;;(use-package! system-packages +;; :after exwm ;; :config ;; (setq system-packages-use-sudo t)) @@ -175,38 +177,64 @@ (setq rmh-elfeed-org-files (list (expand-file-name "elfeed.org" doom-private-dir))) ;;(add-hook! 'elfeed-search-mode-hook 'elfeed-update) +;; playerctl status on modeline +;; (use-package! doom-modeline-now-playing +;; :after doom-modeline +;; :defer t +;; :config +;; (doom-modeline-now-playing-timer) +;; ;; Enable almost everywhere +;; (doom-modeline-def-modeline 'main +;; '(bar workspace-name window-number modals matches buffer-info remote-host buffer-position word-count parrot selection-info now-playing) +;; '(objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp minor-modes input-method indent-info buffer-encoding major-mode process vcs checker)) +;; (doom-modeline-def-modeline 'special +;; '(bar window-number modals matches buffer-info buffer-position word-count parrot selection-info now-playing) +;; '(objed-state misc-info battery irc-buffers debug minor-modes input-method indent-info buffer-encoding major-mode process)) +;; (doom-modeline-def-modeline 'project +;; '(bar window-number buffer-default-directory now-playing) +;; '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process)) +;; (doom-modeline-def-modeline 'vcs +;; '(bar window-number modals matches buffer-info buffer-position parrot selection-info now-playing) +;; '(misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process)) +;; (doom-modeline-def-modeline 'info +;; '(bar window-number buffer-info info-nodes buffer-position parrot selection-info now-playing) +;; '(misc-info buffer-encoding major-mode)) +;; (doom-modeline-def-modeline 'media +;; '(bar window-number buffer-size buffer-info now-playing) +;; '(misc-info media-info major-mode process vcs)) +;; (doom-modeline-def-modeline 'message +;; '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info now-playing) +;; '(objed-state misc-info battery debug minor-modes input-method indent-info buffer-encoding major-mode)) +;; (doom-modeline-def-modeline 'pdf +;; '(bar window-number matches buffer-info pdf-pages now-playing) +;; '(misc-info major-mode process vcs)) +;; (doom-modeline-def-modeline 'org-src +;; '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info now-playing) +;; '(objed-state misc-info debug lsp minor-modes input-method indent-info buffer-encoding major-mode process checker)) +;; (doom-modeline-def-modeline 'timemachine +;; '(bar window-number matches git-timemachine buffer-position word-count parrot selection-info now-playing) +;; '(misc-info minor-modes indent-info buffer-encoding major-mode))) + ;; Mapping for built-in mpc-mode (map! :leader :desc "music" "e" nil - :leader :desc "MPC play track" - "e RET" #'mpc-play-at-point - :leader :desc "MPC select track" - "e v" #'mpc-select-toggle - :leader :desc "MPC next track" - "e >" #'mpc-next - :leader :desc "MPC previous track" - "e <" #'mpc-prev - :leader :desc "MPC seek within current track" - "e f" #'mpc-seek-current - :leader :desc "MPC pause track" - "e p" #'mpc-pause - :leader :desc "MPC quit" - "e q" #'mpc-quit - :leader :desc "MPC toggle playing" - "e s" #'mpc-toggle-play - :leader :desc "MPC toggle consume" - "e c" #'mpc-toggle-consume - :leader :desc "MPC toggle single" - "e 1" #'mpc-toggle-single - :leader :desc "MPC toggle repeat" - "e r" #'mpc-toggle-repeat - :leader :desc "MPC toggle shuffle" - "e z" #'mpc-toggle-shuffle - :leader :desc "MPC show playlist" - "e l" #'mpc-playlist) + :leader "e RET" #'mpc-play-at-point + :leader "e v" #'mpc-select-toggle + :leader "e >" #'mpc-next + :leader "e <" #'mpc-prev + :leader "e f" #'mpc-seek-current + :leader "e p" #'mpc-pause + :leader "e q" #'mpc-quit + :leader "e s" #'mpc-toggle-play + :leader "e c" #'mpc-toggle-consume + :leader "e 1" #'mpc-toggle-single + :leader "e r" #'mpc-toggle-repeat + :leader "e z" #'mpc-toggle-shuffle + :leader "e l" #'mpc-playlist) ;; EMMS ;; (use-package! emms ;; :after exwm +;; :defer t ;; :init ;; (setq emms-seek-seconds 10) ;; :config @@ -228,18 +256,12 @@ ;; (add-to-list 'emms-info-functions ;; ;;'emms-info-mpd ;; 'emms-info-exiftool) -;; (map! :leader :desc "EMMS playlist" -;; "e a" #'emms-playlist-mode-go -;; :leader :desc "EMMS browse by album" -;; "e b" #'emms-browse-by-album -;; :leader :desc "EMMS pause track" -;; "e x" #'emms-pause -;; :leader :desc "EMMS stop track" -;; "e g" #'emms-stop -;; :leader :desc "EMMS previous track" -;; "e j" #'emms-previous -;; :leader :desc "EMMS next track" -;; "e k" #'emms-next)) +;; (map! :leader "e a" #'emms-playlist-mode-go +;; :leader "e b" #'emms-browse-by-album +;; :leader "e x" #'emms-pause +;; :leader "e g" #'emms-stop +;; :leader "e j" #'emms-previous +;; :leader "e k" #'emms-next)) ;; Truncate emms module on mode line ;;(use-package! emms-mode-line-cycle ;; :after emms @@ -263,6 +285,21 @@ (setq counsel-web-search-dynamic-update nil) (exwm-input-set-key (kbd "s-d") #'counsel-web-search)) +;; Elpher +(defun elpher--init-hook () + (setq visual-fill-column-center-text t) + (font-lock-mode -1) + (visual-fill-column-mode 1)) +(use-package! elpher + :defer t + :config + (setq elpher-use-tls t + elpher-auto-disengage-TLS t + elpher-connection-timeout 10 + elpher-gemini-max-fill-width 80 + elpher-gemini-TLS-cert-checks nil) + (add-hook 'elpher-mode-hook 'elpher--init-hook)) + ;; Function keys (use-package! desktop-environment :after exwm @@ -316,7 +353,7 @@ (defun greenclip--select-item (str) "Copy selected item to clipboard" (setq str (replace-regexp-in-string "\u00a0" "\n" str)) - ;; (kill-new str) + ;; (kill-new str) ;; Add the item to Emacs kill ring as well (condition-case nil (cond ((fboundp 'ns-set-pasteboard) @@ -340,7 +377,7 @@ :action (lambda (str) (greenclip--select-item str))))) (defun greenclip-clear-history () - "Clear clipboard history cache" + "Clear X clipboard history" (interactive) (start-process-shell-command "greenclip" nil "pkill greenclip && greenclip clear") (follie/run-in-background "greenclip daemon")) diff --git a/home/.config/doom/init.el b/home/.config/doom/init.el index ece7642..55add51 100644 --- a/home/.config/doom/init.el +++ b/home/.config/doom/init.el @@ -93,9 +93,9 @@ :checkers syntax ; tasing you for every semicolon you forget (spell ; tasing you for misspelling mispelling - +flyspell + ;;+everywhere +hunspell - +everywhere) + +flyspell) grammar ; tasing grammar mistake every you make :tools @@ -107,8 +107,11 @@ ;;ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists - lookup ; navigate your code and its documentation - lsp + (lookup ; navigate your code and its documentation + +dictionary + ;;+offline + +docsets) + (lsp +peek) (magit +forge) ; a git porcelain for Emacs make ; run make tasks from Emacs ;;pass ; password manager for nerds @@ -147,7 +150,7 @@ (haskell +dante) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; - json ; At least it ain't XML + (json +lsp) ; At least it ain't XML ;;(java +meghanada) ; the poster child for carpal tunnel syndrome (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB @@ -184,7 +187,7 @@ +poetry +pyright +cpython) - ;;qt ; the 'cutest' gui framework ever + qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 rest ; Emacs as a REST client @@ -193,13 +196,15 @@ (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;scheme ; a fully conniving family of lisps - (sh +fish) ; she sells {ba,z,fi}sh shells on the C xor + (sh ; she sells {ba,z,fi}sh shells on the C xor + +lsp + +fish) ;;sml ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. web ; the tubes - yaml ; JSON, but readable + (yaml +lsp) ; JSON, but readable :email (mu4e +gmail) diff --git a/home/.config/doom/packages.el b/home/.config/doom/packages.el index 7bdae6f..5ff67e3 100644 --- a/home/.config/doom/packages.el +++ b/home/.config/doom/packages.el @@ -49,23 +49,27 @@ ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;(unpin! t) -;; Emacs is an OS (package! exwm) (package! exwm-edit) (package! desktop-environment) (package! ebuku) (package! counsel-web) +(package! elpher) (package! pinentry) (package! sudoku) -;;(package! system-packages) -;;(package! emms) -;;(package! emms-mode-line-cycle) -;;(package! ivy-emms) -;;(package! edwina) - -;; Improvements (package! vimrc-mode) +(package! gemini-mode) +(package! lsp-treemacs) (package! magit-delta) (package! all-the-icons-ivy-rich) (package! nerd-fonts :recipe (:host github :repo "FollieHiyuki/nerd-fonts.el")) +;;(package! 2048-game) +;;(package! org-ql) +;;(package! org-wild-notifier) +;;(package! system-packages) +;;(package! emms) +;;(package! ivy-emms) +;;(package! emms-mode-line-cycle) +;;(package! doom-modeline-now-playing) +;;(package! edwina) diff --git a/home/.config/dunst/dunstrc b/home/.config/dunst/dunstrc index 7691501..e30c859 100644 --- a/home/.config/dunst/dunstrc +++ b/home/.config/dunst/dunstrc @@ -29,7 +29,7 @@ # the top and down respectively. # The width can be negative. In this case the actual width is the # screen width minus the width defined in within the geometry option. - geometry = "0x5-5+30" + geometry = "300x5-5+30" # Turn on the progess bar progress_bar = true diff --git a/home/.config/mako/config b/home/.config/mako/config index dccd49e..dc892a6 100644 --- a/home/.config/mako/config +++ b/home/.config/mako/config @@ -2,6 +2,7 @@ font=Sarasa Fixed J 12 border-size=4 border-radius=10 margin=10,10,10 +width=300 max-visible=10 default-timeout=5000 ignore-timeout=1