diff --git a/doom-emacs/.doom.d/config.el b/doom-emacs/.doom.d/config.el index 855186b..600f79a 100644 --- a/doom-emacs/.doom.d/config.el +++ b/doom-emacs/.doom.d/config.el @@ -5,72 +5,263 @@ ;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. It is optional. -(setq user-full-name "John Doe" - user-mail-address "john@doe.com") +;; clients, file templates and snippets. +(setq user-full-name "minhtrannhat" + user-mail-address "minhtrannhat2001@gmail.com") -;; Doom exposes five (optional) variables for controlling fonts in Doom: +;; Doom exposes five (optional) variables for controlling fonts in Doom. Here +;; are the three important ones: ;; -;; - `doom-font' -- the primary font to use -;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable) -;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for +;; + `doom-font' +;; + `doom-variable-pitch-font' +;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for ;; presentations or streaming. -;; - `doom-unicode-font' -- for unicode glyphs -;; - `doom-serif-font' -- for the `fixed-pitch-serif' face -;; -;; See 'C-h v doom-font' for documentation and more examples of what they -;; accept. For example: -;; -;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light) -;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) -;; -;; If you or Emacs can't find your font, use 'M-x describe-font' to look them -;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to -;; refresh your font settings. If Emacs still can't find your font, it likely -;; wasn't installed correctly. Font issues are rarely Doom issues! +(setq doom-font (font-spec :family "JetBrainsMono Nerd Font" :size 18) + doom-big-font (font-spec :family "JetBrainsMono Nerd Font" :size 26) + doom-variable-pitch-font (font-spec :family "Overpass" :size 16) + doom-unicode-font (font-spec :family "JuliaMono") + doom-serif-font (font-spec :family "IBM Plex Mono" :weight 'light)) -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: -(setq doom-theme 'doom-one) +(setq doom-emoji-fallback-font-families nil) +(setq doom-symbol-fallback-font-families nil) -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type t) +(setq fancy-splash-image "/home/minhradz/.doom.d/marivector.png") + +(defun synchronize-theme () +(let* ((light-theme 'doom-gruvbox-light) + (dark-theme 'doom-gruvbox) + (start-time-light-theme 6) + (end-time-light-theme 16) + (hour (string-to-number (substring (current-time-string) 11 13))) + (next-theme (if (member hour (number-sequence start-time-light-theme end-time-light-theme)) + light-theme dark-theme))) + (when (not (equal doom-theme next-theme)) + (setq doom-theme next-theme) + (load-theme next-theme t)))) + +(run-with-timer 0 900 'synchronize-theme) + +(setq doom-themes-enable-bold t ; if nil, bold is universally disabled + doom-themes-enable-italic t) ; if nil, italics is universally disabled + +(with-eval-after-load 'doom-themes + (doom-themes-treemacs-config)) +(setq doom-themes-treemacs-theme "doom-colors") -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! (setq org-directory "~/org/") +(setq display-line-numbers-type 'relative) -;; Whenever you reconfigure a package, make sure to wrap your config in an -;; `after!' block, otherwise Doom's defaults may override your settings. E.g. -;; -;; (after! PACKAGE -;; (setq x y)) -;; -;; The exceptions to this rule: -;; -;; - Setting file/directory variables (like `org-directory') -;; - Setting variables which explicitly tell you to set them before their -;; package is loaded (see 'C-h v VARIABLE' to look up their documentation). -;; - Setting doom variables (which start with 'doom-' or '+'). -;; -;; Here are some additional functions/macros that will help you configure Doom. -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, -;; etc). -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. +(add-hook 'spell-fu-mode-hook + (lambda () + (spell-fu-dictionary-add (spell-fu-get-ispell-dictionary "en")) + (spell-fu-dictionary-add + (spell-fu-get-personal-dictionary "en-personal" "/home/minhradz/.aspell.en.pws")))) + +;; Clangd lsp for C/C++ dev +(setq lsp-clients-clangd-args '("-j=3" + "--background-index" + "--clang-tidy" + "--completion-style=detailed" + "--header-insertion=never" + "--header-insertion-decorators=0")) +(after! lsp-clangd (set-lsp-priority! 'clangd 2)) + +;; I mindlessly press ESC, so stop me from wreaking havoc +(global-set-key (kbd "") 'keyboard-escape-quit) + +;; update the git gutter +(custom-set-variables + '(git-gutter:update-interval 0.02)) + +;; ;; tree-sitter syntax highlighting +;; (use-package! tree-sitter +;; :config +;; (require 'tree-sitter-langs) +;; (global-tree-sitter-mode) +;; (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)) + +;; gpg +(setq epg-pinentry-mode 'loopback) + +;; both jk and kj now works +(setq evil-escape-unordered-key-sequence 't) + +;; org org +(setq +latex-viewers '(zathura)) + +;; fish fish +(setq vterm-shell 'fish) + +(defun doom-modeline-conditional-buffer-encoding () + "We expect the encoding to be LF UTF-8, so only show the modeline when this is not the case" + (setq-local doom-modeline-buffer-encoding + (unless (and (memq (plist-get (coding-system-plist buffer-file-coding-system) :category) + '(coding-category-undecided coding-category-utf-8)) + (not (memq (coding-system-eol-type buffer-file-coding-system) '(1 2)))) + t))) + +(add-hook 'after-change-major-mode-hook #'doom-modeline-conditional-buffer-encoding) + +(after! company + (setq company-idle-delay 1) + (add-hook 'evil-normal-state-entry-hook #'company-abort)) ;; make aborting less annoying. + +(setq-default history-length 1000) +(setq-default prescient-history-length 1000) + +;; Whether display the icon for `major-mode'. It respects `doom-modeline-icon'. +(setq doom-modeline-major-mode-icon t) + +;; Whether display the colorful icon for `major-mode'. +;; It respects `all-the-icons-color-icons'. +(setq doom-modeline-major-mode-color-icon t) + +;; Whether display the icon for the buffer state. It respects `doom-modeline-icon'. +(setq doom-modeline-buffer-state-icon t) + +;; Whether display the modification icon for the buffer. +;; It respects `doom-modeline-icon' and `doom-modeline-buffer-state-icon'. +(setq doom-modeline-buffer-modification-icon t) + +;; Whether to use unicode as a fallback (instead of ASCII) when not using icons. +(setq doom-modeline-unicode-fallback nil) + +;; Whether display the minor modes in the mode-line. +(setq doom-modeline-minor-modes nil) + +(use-package! websocket + :after org-roam) + +(use-package! org-roam-ui + :after org-roam ;; or :after org +;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have +;; a hookable mode anymore, you're advised to pick something yourself +;; if you don't care about startup time, use +;; :hook (after-init . org-roam-ui-mode) + :config + (setq org-roam-ui-sync-theme t + org-roam-ui-follow t + org-roam-ui-update-on-save t + org-roam-ui-open-on-start t)) + +(setq org-roam-dailies-directory "daily/") + +(setq org-roam-dailies-capture-templates + '(("d" "default" entry + "* %?" + :target (file+head "%<%Y-%m-%d>.org" + "#+title: %<%Y-%m-%d>\n* What I did today\n* What was on my mind")))) + +(defun org-roam-rg-search () + "Search org-roam directory using consult-ripgrep. With live-preview." + (interactive) + (let ((consult-ripgrep-command "rg --null --ignore-case --type org --line-buffered --color=always --max-columns=500 --no-heading --line-number . -e ARG OPTS")) + (consult-ripgrep org-roam-directory))) + +(map! :leader + :desc "Search org-roam with consult-ripgrep" + "n r F" #'org-roam-rg-search) + +;; Function for inserting node into Org Roam +(defun org-roam-node-insert-immediate (arg &rest args) + (interactive "P") + (let ((args (cons arg args)) + (org-roam-capture-templates (list (append (car org-roam-capture-templates) + '(:immediate-finish t))))) + (apply #'org-roam-node-insert args))) + +(map! :leader + :desc "Insert node immediately" + "n r I" #'org-roam-node-insert-immediate) + +(setq avy-all-windows 't) + +;; Disables lsp-signature-auto-activate +;; Looking at you, rustic mode +(after! lsp-mode + (setq lsp-signature-auto-activate nil)) + +;; this never worked lol +(lsp-treemacs-sync-mode 1) + +;; bitmap very funni +(setq highlight-indent-guides-method 'bitmap) + +;; magit delta looks so good +(add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) + +;; keybind to disable search highlighting (like :set noh) +(map! :leader + :desc "Clear search highlight" + "s c" + #'evil-ex-nohighlight) + +;; We do a little bit of finger pointing +(use-package blamer + :bind (("s-i" . blamer-show-commit-info)) + :defer 20 + :custom + (blamer-idle-time 0.3) + (blamer-min-offset 40) + :custom-face + (blamer-face ((t :foreground "#7a88cf" + :background nil + :height 110 + :italic t))) + :config + (global-blamer-mode 1)) + +;; elfeed the rss reader +(after! elfeed + (setq elfeed-search-filter "@1-month-ago")) +(add-hook! 'elfeed-search-mode-hook #'elfeed-update) + +(map! :map elfeed-search-mode-map + :after elfeed-search + [remap kill-this-buffer] "q" + [remap kill-buffer] "q" + :n doom-leader-key nil + :n "q" #'+rss/quit + :n "e" #'elfeed-update + :n "r" #'elfeed-search-untag-all-unread + :n "u" #'elfeed-search-tag-all-unread + :n "s" #'elfeed-search-live-filter + :n "l" #'elfeed-search-show-entry + :n "p" #'elfeed-show-pdf + :n "+" #'elfeed-search-tag-all + :n "-" #'elfeed-search-untag-all + :n "S" #'elfeed-search-set-filter + :n "b" #'elfeed-search-browse-url + :n "y" #'elfeed-search-yank) +(map! :map elfeed-show-mode-map + :after elfeed-show + [remap kill-this-buffer] "q" + [remap kill-buffer] "q" + :n doom-leader-key nil + :nm "h" #'+rss/delete-pane + :nm "o" #'elfeed-goodies/show-ace-link + :nm "RET" #'org-ref-elfeed-add + :nm "n" #'elfeed-show-next + :nm "N" #'elfeed-show-prev + :nm "p" #'elfeed-show-pdf + :nm "+" #'elfeed-show-tag + :nm "-" #'elfeed-show-untag + :nm "s" #'elfeed-show-new-live-search + :nm "y" #'elfeed-show-yank) + + +(after! elfeed-search + (set-evil-initial-state! 'elfeed-search-mode 'normal)) +(after! elfeed-show-mode + (set-evil-initial-state! 'elfeed-show-mode 'normal)) + +(after! evil-snipe + (push 'elfeed-show-mode evil-snipe-disabled-modes) + (push 'elfeed-search-mode evil-snipe-disabled-modes)) + +(setq org-agenda-time-grid + (quote + ((daily today remove-match) + (800 1200 1600 2000) + "......" "----------------"))) diff --git a/doom-emacs/.doom.d/init.el b/doom-emacs/.doom.d/init.el index bc5b623..41c89bd 100644 --- a/doom-emacs/.doom.d/init.el +++ b/doom-emacs/.doom.d/init.el @@ -1,191 +1,175 @@ ;;; init.el -*- lexical-binding: t; -*- - ;; This file controls what Doom modules are enabled and what order they load ;; in. Remember to run 'doom sync' after modifying it! - ;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a link to Doom's Module Index where all -;; of our modules are listed, including what flags they support. - +;; documentation. There you'll find a "Module Index" link where you'll find +;; a comprehensive list of Doom's modules and what flags they support. ;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or ;; 'C-c c k' for non-vim users) to view its documentation. This works on ;; flags as well (those symbols that start with a plus). ;; ;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its ;; directory (for easy access to its source code). - (doom! :input ;;chinese ;;japanese ;;layout ; auie,ctsrnm is the superior home row - :completion company ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future - + (ivy +fuzzy +icons) ; a search engine for love and life + ;;vertico ; the search engine of the future :ui ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;(emoji +unicode) ; 🙂 + (emoji +unicode) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra - ;;indent-guides ; highlighted indent columns - ;;ligatures ; ligatures and symbols to make your code pretty again + indent-guides ; highlighted indent columns + ligatures ; ligatures and symbols to make your code pretty again ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API + modeline ; snazzy, Atom-inspired modeline, plus API ;;nav-flash ; blink cursor line after big motions ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows ;;tabs ; a tab bar for Emacs - ;;treemacs ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages + (treemacs +lsp) ; a project drawer, like neotree but cooler + unicode ; extended unicode support for various languages vc-gutter ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB - ;;window-select ; visually switch windows + (window-select +numbers) ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces - ;;zen ; distraction-free coding or writing - + zen ; distraction-free coding or writing :editor (evil +everywhere); come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding - ;;(format +onsave) ; automated prettiness + (format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys ;;lispy ; vim for lisp, for people who don't like vim - ;;multiple-cursors ; editing in many places at once + multiple-cursors ; editing in many places at once ;;objed ; text object editing for the innocent ;;parinfer ; turn lisp into python, sort of ;;rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to ;;word-wrap ; soft wrapping with language-aware indent - :emacs - dired ; making dired pretty [functional] + (dired +icons +ranger) ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management + ibuffer ; interactive buffer management undo ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree - :term - ;;eshell ; the elisp shell that works everywhere + eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;;term ; basic terminal emulator for Emacs - ;;vterm ; the best terminal emulation in Emacs - + vterm ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget - ;;(spell +flyspell) ; tasing you for misspelling mispelling + (spell +everywhere +aspell); tasing you for misspelling mispelling ;;grammar ; tasing grammar mistake every you make - :tools ;;ansible - ;;biblio ; Writes a PhD for you (citation needed) ;;debugger ; FIXME stepping through code, to help you add bugs - ;;direnv - ;;docker + direnv + (docker +lsp) ;;editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs + 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 ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements + gist ; interacting with github gists + (lookup +dictionary + docsets +offline) ; navigate your code and its documentation + lsp ; M-x vscode + (magit +forge) ; a git porcelain for Emacs + make ; run make tasks from Emacs + (pass +auth) ; password manager for nerds + pdf ; pdf enhancements ;;prodigy ; FIXME managing external services & code builders ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects + taskrunner ; taskrunner for all your projects ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux + tmux ; an API for interacting with tmux ;;upload ; map local to remote projects via ssh/ftp - :os - (:if IS-MAC macos) ; improve compatibility with macOS - ;;tty ; improve the terminal Emacs experience - + ;;(:if IS-MAC macos) ; improve compatibility with macOS + tty ; improve the terminal Emacs experience :lang ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP - ;;(cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all + (cc +lsp) ; C > C++ == 1 + clojure ; java with a lisp + common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans + csharp ; unity, .NET, and mono shenanigans ;;data ; config/data formats ;;(dart +flutter) ; paint ui and not much else ;;dhall - ;;elixir ; erlang done right + elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age + (erlang +lsp) ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;factor ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) ;;fsharp ; ML stands for Microsoft's Language ;;fstar ; (dependent) types and (monadic) effects and Z3 ;;gdscript ; the language you waited for - ;;(go +lsp) ; the hipster dialect - ;;(haskell +lsp) ; a language that's lazier than I am + (go +lsp) ; the hipster dialect + (graphql +lsp) ; Give queries a REST + (haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on - ;;json ; At least it ain't XML - ;;(java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB + (json +lsp) ; At least it ain't XML + (java +lsp) ; the poster child for carpal tunnel syndrome + (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) + (julia +lsp) ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) - ;;latex ; writing papers in Emacs has never been so fun + latex ; writing papers in Emacs has never been so fun ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - ;;lua ; one-based indices? one-based indices + ledger ; be audit you can be + lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - org ; organize your plain life in plain text + ;;(org +roam2 +pretty) ; organize your plain life in plain text + (org +roam2) ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - ;;python ; beautiful is better than ugly + (python +lsp +pyright +pyenv +poetry) ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client + rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor + (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + scala ; java, but good + (scheme +guile +mit +racket) ; a fully conniving family of lisps + (sh +fish) ; she sells {ba,z,fi}sh shells on the C xor ;;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 + (web +lsp) ; the tubes + yaml ; JSON, but readable ;;zig ; C, but simpler - :email - ;;(mu4e +org +gmail) + ;;(mu4e +gmail +org) ;;notmuch ;;(wanderlust +gmail) - :app ;;calendar ;;emms ;;everywhere ; *leave* Emacs!? You must be joking ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader + (rss +org) ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought - :config ;;literate (default +bindings +smartparens)) diff --git a/doom-emacs/.doom.d/marivector.png b/doom-emacs/.doom.d/marivector.png new file mode 100644 index 0000000..b8f1426 Binary files /dev/null and b/doom-emacs/.doom.d/marivector.png differ diff --git a/doom-emacs/.doom.d/packages.el b/doom-emacs/.doom.d/packages.el index b80e9cc..58a9602 100644 --- a/doom-emacs/.doom.d/packages.el +++ b/doom-emacs/.doom.d/packages.el @@ -48,3 +48,12 @@ ;(unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;(unpin! t) +;;(package! elcord) +(package! tree-sitter) +(package! tree-sitter-langs) +(unpin! org-roam) +(package! websocket) +(package! org-roam-ui :recipe (:host github :repo "org-roam/org-roam-ui" :files ("*.el" "out"))) +(package! magit-delta) +(package! blamer :recipe (:host github :repo "artawower/blamer.el")) +(package! org-gtd) diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish index 913c02c..8479e33 100644 --- a/fish/.config/fish/config.fish +++ b/fish/.config/fish/config.fish @@ -15,8 +15,7 @@ export GPG_TTY=(tty) gpgconf --launch gpg-agent if test -z (pgrep ssh-agent) - eval (ssh-agent -c) - set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK + eval (ssh-agent -c) set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK set -Ux SSH_AGENT_PID $SSH_AGENT_PID set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK end @@ -38,7 +37,7 @@ set -gx LC_ALL en_US.UTF-8 set -gx _JAVA_AWT_WM_NONREPARENTING 1 -set -x PATH /usr/libexec /usr/local/bin /home/minhradz/.cargo/bin /home/minhradz/.local/bin /home/minhradz/go/bin /home/minhradz/.cabal/bin $PATH +set -x PATH /usr/libexec /usr/local/bin /home/minhradz/.cargo/bin /home/minhradz/.local/bin /home/minhradz/go/bin /home/minhradz/.cabal/bin /home/minhradz/.local/share/gem/ruby/3.0.0/bin $PATH starship init fish | source diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables index e7edacb..554e984 100644 --- a/fish/.config/fish/fish_variables +++ b/fish/.config/fish/fish_variables @@ -2,8 +2,8 @@ # VERSION: 3.0 SETUVAR --export GTK_IM_MODULE:ibus SETUVAR --export QT_IM_MODULE:ibus -SETUVAR --export SSH_AGENT_PID:1262 -SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXOEdXXn/agent\x2e1261 +SETUVAR --export SSH_AGENT_PID:1050 +SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXF1IpnD/agent\x2e1049 SETUVAR --export XMODIFIERS:\x40im\x3dibus SETUVAR __fish_initialized:3400 SETUVAR fish_color_autosuggestion:93a1a1 diff --git a/lvim/.config/lvim/config.lua b/lvim/.config/lvim/config.lua index 4815a9c..4bb99bd 100644 --- a/lvim/.config/lvim/config.lua +++ b/lvim/.config/lvim/config.lua @@ -9,6 +9,7 @@ lvim.builtin.alpha.active = true lvim.builtin.terminal.active = true lvim.builtin.autopairs.active = true lvim.builtin.gitsigns.active = true +lvim.builtin.notify.active = true lvim.builtin.dap.active = true lvim.builtin.nvimtree.side = "left" @@ -16,7 +17,7 @@ lvim.builtin.nvimtree.show_icons.git = 1 lvim.builtin.terminal.shell = "/bin/fish" vim.termguicolors = true -vim.background = "light" +vim.background = "dark" lvim.colorscheme = "gruvbox" lvim.builtin.treesitter.ensure_installed = {} @@ -27,82 +28,82 @@ local formatters = require("lvim.lsp.null-ls.formatters") local linters = require("lvim.lsp.null-ls.linters") formatters.setup({ - { - exe = "black", - filetypes = { "python" }, - args = { "--quiet", "--fast", "-" }, - }, - { - exe = "clang_format", - filetypes = { "c", "cpp" }, - }, - { - exe = "rustfmt", - filetype = { "rust" }, - }, - { exe = "prettier" }, - { exe = "gofmt", filetypes = { "go" } }, - { exe = "eslint_d" }, - { exe = "stylua", filetypes = { "lua" } }, - { exe = "brittany", filetypes = { "haskell" } }, + { + exe = "black", + filetypes = { "python" }, + args = { "--quiet", "--fast", "-" }, + }, + { + exe = "clang_format", + filetypes = { "c", "cpp" }, + }, + { + exe = "rustfmt", + filetype = { "rust" }, + }, + { exe = "prettier" }, + { exe = "gofmt", filetypes = { "go" } }, + { exe = "eslint_d" }, + { exe = "stylua", filetypes = { "lua" } }, + { exe = "brittany", filetypes = { "haskell" } }, }) linters.setup({ - { exe = "flake8" }, + { exe = "flake8" }, }) -- Additional Plugins lvim.plugins = { - { "ellisonleao/gruvbox.nvim" }, - { - "ray-x/lsp_signature.nvim", - config = function() - require("lsp_signature").on_attach() - end, - event = "InsertEnter", - }, - { "machakann/vim-sandwich" }, - { "tpope/vim-fugitive" }, - { - "lewis6991/spellsitter.nvim", - config = function() - require("spellsitter").setup() - end, - }, - { "ggandor/lightspeed.nvim", requires = { "tpope/vim-repeat" }, event = "InsertEnter" }, - { "ellisonleao/glow.nvim" }, + { "ellisonleao/gruvbox.nvim" }, + { + "ray-x/lsp_signature.nvim", + config = function() + require("lsp_signature").on_attach() + end, + event = "InsertEnter", + }, + { "machakann/vim-sandwich" }, + { "tpope/vim-fugitive" }, + { + "lewis6991/spellsitter.nvim", + config = function() + require("spellsitter").setup() + end, + }, + { "ggandor/lightspeed.nvim", requires = { "tpope/vim-repeat" }, event = "InsertEnter" }, + { "ellisonleao/glow.nvim" }, } -- Changes to clangd -vim.list_extend(lvim.lsp.override, { "clangd" }) +vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "clangd" }) -- some settings can only passed as commandline flags `clangd --help` local clangd_flags = { - "--all-scopes-completion", - "--suggest-missing-includes", - "--background-index", - "--pch-storage=disk", - "--cross-file-rename", - "--log=info", - "--completion-style=detailed", - "--enable-config", -- clangd 11+ supports reading from .clangd configuration file - "--clang-tidy", - "--offset-encoding=utf-16", - "--clang-tidy-checks=-*,llvm-*,clang-analyzer-*,modernize-*,-modernize-use-trailing-return-type", - "--fallback-style=Google", + "--all-scopes-completion", + "--suggest-missing-includes", + "--background-index", + "--pch-storage=disk", + "--cross-file-rename", + "--log=info", + "--completion-style=detailed", + "--enable-config", -- clangd 11+ supports reading from .clangd configuration file + "--clang-tidy", + "--offset-encoding=utf-16", + "--clang-tidy-checks=-*,llvm-*,clang-analyzer-*,modernize-*,-modernize-use-trailing-return-type", + "--fallback-style=Google", } local clangd_bin = "clangd" local custom_on_attach = function(client, bufnr) - require("lvim.lsp").common_on_attach(client, bufnr) - local opts = { noremap = true, silent = true } - vim.api.nvim_buf_set_keymap(bufnr, "n", "lh", "ClangdSwitchSourceHeader", opts) + require("lvim.lsp").common_on_attach(client, bufnr) + local opts = { noremap = true, silent = true } + vim.api.nvim_buf_set_keymap(bufnr, "n", "lh", "ClangdSwitchSourceHeader", opts) end local opts = { - cmd = { clangd_bin, unpack(clangd_flags) }, - on_attach = custom_on_attach, + cmd = { clangd_bin, unpack(clangd_flags) }, + on_attach = custom_on_attach, } require("lvim.lsp.manager").setup("clangd", opts) diff --git a/newsboat/.newsboat/config b/newsboat/.newsboat/config index e0aafb6..64c46a0 100644 --- a/newsboat/.newsboat/config +++ b/newsboat/.newsboat/config @@ -1,6 +1,6 @@ auto-reload yes browser "firefox --new-tab %u" -max-items 1000 +max-items 999999 # unbind keys unbind-key ENTER diff --git a/sway/.config/sway/config b/sway/.config/sway/config index 9a533c2..b1d9b2d 100644 --- a/sway/.config/sway/config +++ b/sway/.config/sway/config @@ -18,7 +18,7 @@ exec udiskie exec wlsunset -l 45.6 -L -73.5 -g 0.8 # bspwm throw back -exec /home/minhradz/.local/bin/autotiling +exec /usr/bin/autotiling # window manager exec env RUST_BACKTRACE=1 swayrd > /tmp/swayrd.log 2>&1 @@ -59,18 +59,11 @@ gaps inner 6 gaps outer 3 ### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) + output * bg /home/minhradz/Downloads/lantern.jpg fill -# -# Example configuration: -# output LVDS-1 pos 0 0 res 1366x768 output DP-1 res 1920x1080 position 1366,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs -# ### Idle configuration exec swayidle -w \ @@ -227,6 +220,7 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } + bindsym $mod+r mode "resize" bindsym $mod+e exec emacsclient -nc