diff --git a/doom-emacs/.doom.d/config.el b/doom-emacs/.doom.d/config.el index d5aa9f9..abbb1de 100644 --- a/doom-emacs/.doom.d/config.el +++ b/doom-emacs/.doom.d/config.el @@ -46,10 +46,6 @@ (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") - (setq org-directory "~/org/") (setq display-line-numbers-type 'relative) @@ -73,6 +69,8 @@ (setq lsp-auto-guess-root nil) +(setq projectile-enable-caching nil) + ;; I mindlessly press ESC, so stop me from wreaking havoc (global-set-key (kbd "") 'keyboard-escape-quit) @@ -80,28 +78,15 @@ (custom-set-variables '(git-gutter:update-interval 0.02)) -;; -;; tree-sitter syntax highlighting -;; (require 'treesit) -;; (treesit-available-p) -;; (setq major-mode-remap-alist -;; '((yaml-mode . yaml-ts-mode) -;; (bash-mode . bash-ts-mode) -;; (js2-mode . js-ts-mode) -;; (typescript-mode . typescript-ts-mode) -;; (json-mode . json-ts-mode) -;; (css-mode . css-ts-mode) -;; (python-mode . python-ts-mode))) +;; (use-package rust-mode +;; :init +;; (setq rust-mode-treesitter-derive t)) -(use-package! tree-sitter - :config - (require 'tree-sitter-langs) - (global-tree-sitter-mode) - (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)) +;; (use-package treesit-auto +;; :config +;; (global-treesit-auto-mode)) -(require 'elcord) -(elcord-mode) -(setq elcord-use-major-mode-as-main-icon 't) +(setq elcord-use-major-mode-as-main-icon t) ;; gpg (setq epg-pinentry-mode 'loopback) @@ -205,13 +190,12 @@ ;; this never worked lol (setq lsp-treemacs-sync-mode 1) (setq treemacs-project-follow-mode 1) -(treemacs-add-and-display-current-project-exclusively) ;; bitmap very funni (setq highlight-indent-guides-method 'bitmap) ;; magit delta looks so good -(add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) +;; (add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) ;; keybind to disable search highlighting (like :set noh) (map! :leader @@ -232,61 +216,6 @@ :height 110 :italic t)))) -;; 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) - "......" "----------------"))) - ;; Lispys stuffs (setq clojure-indent-style :always-align) (add-hook 'lisp-mode-hook #'evil-cleverparens-mode) @@ -301,9 +230,6 @@ (add-hook 'clojure-mode-hook 'enable-paredit-mode) (add-hook 'scheme-mode-hook 'enable-paredit-mode) -;; (eval-after-load 'cider -;; #'emidje-setup) - (defun delete-file-and-buffer () "Kill the current buffer and deletes the file it is visiting." (interactive) @@ -315,35 +241,3 @@ (message "Deleted file %s." filename) (kill-buffer))) (message "Not a file visiting buffer!")))) - -(use-package org-recur - :hook ((org-mode . org-recur-mode) - (org-agenda-mode . org-recur-agenda-mode)) - :demand t - :config - (define-key org-recur-mode-map (kbd "C-c d") 'org-recur-finish) - - ;; Rebind the 'd' key in org-agenda (default: `org-agenda-day-view'). - (define-key org-recur-agenda-mode-map (kbd "d") 'org-recur-finish) - (define-key org-recur-agenda-mode-map (kbd "C-c d") 'org-recur-finish) - - (setq org-recur-finish-done t - org-recur-finish-archive t)) - -;; Refresh org-agenda after rescheduling a task. -(defun org-agenda-refresh () - "Refresh all `org-agenda' buffers." - (dolist (buffer (buffer-list)) - (with-current-buffer buffer - (when (derived-mode-p 'org-agenda-mode) - (org-agenda-maybe-redo))))) - -(defadvice org-schedule (after refresh-agenda activate) - "Refresh org-agenda." - (org-agenda-refresh)) - -(setq org-read-date-prefer-future 'time) - -(map! :leader - :desc "Start/Stop pomodoro" - "m c p" #'org-pomodoro) diff --git a/doom-emacs/.doom.d/custom.el b/doom-emacs/.doom.d/custom.el index d10125d..aba6f62 100644 --- a/doom-emacs/.doom.d/custom.el +++ b/doom-emacs/.doom.d/custom.el @@ -5,6 +5,7 @@ ;; If there is more than one, they won't work right. '(elcord-display-buffer-details t) '(git-gutter:update-interval 0.02) + '(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'") '(smtpmail-smtp-server "mail.minhtrannhat.com") '(smtpmail-smtp-service 587) '(warning-suppress-types '(((yasnippet zombie)) (defvaralias) (org-element-cache)))) @@ -15,3 +16,4 @@ ;; If there is more than one, they won't work right. '(blamer-face ((t :foreground "#7a88cf" :background nil :height 110 :italic t))) '(ts-fold-replacement-face ((t (:foreground nil :box nil :inherit font-lock-comment-face :weight light))))) +(put 'customize-save-customized 'disabled nil) diff --git a/doom-emacs/.doom.d/init.el b/doom-emacs/.doom.d/init.el index 5df5481..a161ec0 100644 --- a/doom-emacs/.doom.d/init.el +++ b/doom-emacs/.doom.d/init.el @@ -87,7 +87,7 @@ editorconfig ; let someone else argue about tabs vs spaces ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) - gist ; interacting with github gists + ;;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 diff --git a/doom-emacs/.doom.d/packages.el b/doom-emacs/.doom.d/packages.el index 835b45a..7a33ab4 100644 --- a/doom-emacs/.doom.d/packages.el +++ b/doom-emacs/.doom.d/packages.el @@ -7,63 +7,63 @@ ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: -;(package! some-package) + ;(package! some-package) ;; To install a package directly from a remote git repo, you must specify a ;; `:recipe'. You'll find documentation on what `:recipe' accepts here: ;; https://github.com/raxod502/straight.el#the-recipe-format -;(package! another-package -; :recipe (:host github :repo "username/repo")) + ;(package! another-package + ; :recipe (:host github :repo "username/repo")) ;; If the package you are trying to install does not contain a PACKAGENAME.el ;; file, or is located in a subdirectory of the repo, you'll need to specify ;; `:files' in the `:recipe': -;(package! this-package -; :recipe (:host github :repo "username/repo" -; :files ("some-file.el" "src/lisp/*.el"))) + ;(package! this-package + ; :recipe (:host github :repo "username/repo" + ; :files ("some-file.el" "src/lisp/*.el"))) ;; If you'd like to disable a package included with Doom, you can do so here ;; with the `:disable' property: -;(package! builtin-package :disable t) + ;(package! builtin-package :disable t) ;; You can override the recipe of a built in package without having to specify ;; all the properties for `:recipe'. These will inherit the rest of its recipe ;; from Doom or MELPA/ELPA/Emacsmirror: -;(package! builtin-package :recipe (:nonrecursive t)) -;(package! builtin-package-2 :recipe (:repo "myfork/package")) + ;(package! builtin-package :recipe (:nonrecursive t)) + ;(package! builtin-package-2 :recipe (:repo "myfork/package")) ;; Specify a `:branch' to install a package from a particular branch or tag. ;; This is required for some packages whose default branch isn't 'master' (which ;; our package manager can't deal with; see raxod502/straight.el#279) -;(package! builtin-package :recipe (:branch "develop")) + ;(package! builtin-package :recipe (:branch "develop")) ;; Use `:pin' to specify a particular commit to install. -;(package! builtin-package :pin "1a2b3c4d5e") + ;(package! builtin-package :pin "1a2b3c4d5e") ;; Doom's packages are pinned to a specific commit and updated from release to ;; release. The `unpin!' macro allows you to unpin single packages... -;(unpin! pinned-package) + ;(unpin! pinned-package) ;; ...or multiple packages -;(unpin! pinned-package another-pinned-package) + ;(unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) -;(unpin! t) + ;(unpin! t) ;; gitty nitty -(package! magit-delta) (package! blamer :recipe (:host github :repo "artawower/blamer.el")) ;; evil parens (package! evil-cleverparens) -;; discordo -(package! elcord) +;;discordo +(package! elcord :recipe (:host github :repo "minhtrannhat/elcord")) ;; rusty +(unpin! rust-mode) (unpin! rustic) ;; orgy -;; (package! org :pin "ca873f7") +;; (package! treesit-auto) (package! org-pomodoro) (package! org-fragtog) (package! org-recur) diff --git a/lvim/.config/lvim/config.lua b/lvim/.config/lvim/config.lua index 9044225..6b37402 100644 --- a/lvim/.config/lvim/config.lua +++ b/lvim/.config/lvim/config.lua @@ -11,25 +11,28 @@ lvim.builtin.terminal.active = true lvim.builtin.autopairs.active = true lvim.builtin.gitsigns.active = true lvim.builtin.dap.active = true -lvim.builtin.treesitter.rainbow.enable = true +lvim.reload_config_on_save = true lvim.builtin.cmp.cmdline.enable = true - +lvim.builtin.breadcrumbs = { active = false } lvim.builtin.nvimtree.side = "left" lvim.builtin.terminal.shell = "/bin/zsh" +lvim.lsp.installer.setup.automatic_installation = false +vim.diagnostic.config({ virtual_text = false }) vim.termguicolors = true vim.background = "dark" -vim.g.nord_contrast = true -vim.g.nord_borders = true -vim.g.nord_disable_background = false -vim.g.nord_italic = true -vim.termguicolors = true -lvim.colorscheme = "nord" + +lvim.keys.normal_mode["gt"] = ":BufferLineCycleNext" +lvim.keys.normal_mode["gT"] = ":BufferLineCyclePrev" lvim.builtin.treesitter.ensure_installed = {} lvim.builtin.treesitter.ignore_install = { "" } lvim.builtin.treesitter.highlight.enabled = true +require("mason-lspconfig").setup_handlers({ + ["rust_analyzer"] = function() end, +}) + local null_ls = require("null-ls") null_ls.setup({ @@ -52,10 +55,6 @@ formatters.setup({ exe = "clang_format", filetypes = { "c", "cpp" }, }, - { - exe = "rustfmt", - filetype = { "rust" }, - }, { exe = "prettier" }, { exe = "gofmt", filetypes = { "go" } }, { exe = "eslint_d" }, @@ -69,7 +68,26 @@ linters.setup({ -- Additional Plugins lvim.plugins = { - { "shaunsingh/nord.nvim" }, + -- { "shaunsingh/nord.nvim" }, + { + "gbprod/nord.nvim", + }, + { + "folke/trouble.nvim", + cmd = "TroubleToggle", + }, + { + "mrcjkb/rustaceanvim", + version = "^4", + ft = { "rust" }, + config = function() + vim.g.rustaceanvim = { + server = { + on_attach = require("lvim.lsp").common_on_attach, + }, + } + end, + }, { "ray-x/lsp_signature.nvim", event = "BufRead", @@ -86,7 +104,7 @@ lvim.plugins = { end, }, { "ellisonleao/glow.nvim" }, - { "TakenMC/presence.nvim", branch = "other" }, + { "IogaMaster/neocord" }, { "m-demare/hlargs.nvim", config = function() @@ -100,7 +118,7 @@ lvim.plugins = { end, }, { - "p00f/nvim-ts-rainbow", + "HiPhish/rainbow-delimiters.nvim", event = "InsertEnter", }, { @@ -150,19 +168,55 @@ require("better_escape").setup({ keys = "", -- keys used for escaping, if it is a function will use the result everytime }) +vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "rust_analyzer" }) + +require("nord").setup({ + transparent = true, -- Enable this to disable setting the background color + terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim + diff = { mode = "bg" }, -- enables/disables colorful backgrounds when used in diff mode. values : [bg|fg] + borders = true, -- Enable the border between verticaly split windows visible + errors = { mode = "bg" }, -- Display mode for errors and diagnostics + -- values : [bg|fg|none] + search = { theme = "vscode" }, -- theme for highlighting search results + -- values : [vim|vscode] + styles = { + -- Style to be applied to different syntax groups + -- Value is any valid attr-list value for `:help nvim_set_hl` + comments = { italic = true }, + keywords = { bold = true }, + functions = { bold = true }, + variables = { bold = true }, + + -- To customize lualine/bufferline + bufferline = { + current = {}, + modified = { italic = true }, + }, + }, + + on_highlights = function(highlights, colors) + highlights["@lsp.type.parameter"] = { fg = require("nord.utils").darken(colors.aurora.yellow, 0.90) } + end, +}) + +lvim.colorscheme = "nord" +lvim.builtin.lualine.options = { theme = "nord" } +lvim.builtin.bufferline.options = { separator_style = "thin" } +lvim.builtin.bufferline.highlights = require("nord.plugins.bufferline").akinsho() + -- The setup config table shows all available config options with their default values: -require("presence"):setup({ +require("neocord").setup({ -- General options - auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`) - neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image - main_image = "file", -- Main image display (either "neovim" or "file") - client_id = "793271441293967371", -- Use your own Discord application client id (not recommended) + logo = "auto", -- "auto" or url + logo_tooltip = nil, -- nil or string + main_image = "language", -- "language" or "logo" + client_id = "1157438221865717891", -- Use your own Discord application client id (not recommended) log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error") debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(, true)`) - enable_line_number = false, -- Displays the current line number instead of the current project blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches - buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "