diff --git a/README.md b/README.md index 6e4a7fe..2d7071f 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ ## Installation - Install each program that has a folder at directory root i.e: fish, git, kitty terminal... +- Clone the repo. - Install `GNU stow`: a symlink manager. - `cd` into the dotfiles directory. - Run `stow *` to symlink all the dotfiles to their respective place. diff --git a/doom-emacs/.doom.d/config.el b/doom-emacs/.doom.d/config.el index 0dd4e79..27ccdb9 100644 --- a/doom-emacs/.doom.d/config.el +++ b/doom-emacs/.doom.d/config.el @@ -6,7 +6,7 @@ ;; Some functionality uses this to identify you, e.g. GPG configuration, email ;; clients, file templates and snippets. -(setq user-full-name "Minh Tran" +(setq user-full-name "minhtrannhat" user-mail-address "minhtrannhat2001@gmail.com") ;; Doom exposes five (optional) variables for controlling fonts in Doom. Here @@ -22,7 +22,7 @@ doom-unicode-font (font-spec :family "JuliaMono") doom-serif-font (font-spec :family "IBM Plex Mono" :weight 'light)) -(setq doom-theme 'doom-nord) +(setq fancy-splash-image "/home/minhradz/.doom.d/marivector.png") (defun synchronize-theme () (let* ((light-theme 'doom-nord-light) @@ -131,3 +131,36 @@ ;; 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)) + +;; Deft - a Major mode for text searching +(setq deft-directory org-roam-directory) +(setq deft-recursive t) +(setq deft-default-extension "org") +(setq deft-use-filter-string-for-filename t) + +;; 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) diff --git a/doom-emacs/.doom.d/custom.el b/doom-emacs/.doom.d/custom.el index 66b63e7..b87f0b3 100644 --- a/doom-emacs/.doom.d/custom.el +++ b/doom-emacs/.doom.d/custom.el @@ -5,7 +5,7 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(custom-safe-themes - '("e3b2bad7b781a968692759ad12cb6552bc39d7057762eefaf168dbe604ce3a4b" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" default)) + '("7eea50883f10e5c6ad6f81e153c640b3a288cd8dc1d26e4696f7d40f754cc703" "5784d048e5a985627520beb8a101561b502a191b52fa401139f4dd20acb07607" "e3b2bad7b781a968692759ad12cb6552bc39d7057762eefaf168dbe604ce3a4b" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" default)) '(git-gutter:update-interval 1) '(warning-suppress-log-types '((iedit) (iedit) (iedit) (iedit) (iedit) (iedit) (iedit))) '(warning-suppress-types diff --git a/doom-emacs/.doom.d/init.el b/doom-emacs/.doom.d/init.el index ab48c28..76af9ed 100644 --- a/doom-emacs/.doom.d/init.el +++ b/doom-emacs/.doom.d/init.el @@ -26,7 +26,7 @@ vertico ; the search engine of the future :ui - ;;deft ; notational velocity for Emacs + 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 @@ -135,7 +135,7 @@ ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on json ; At least it ain't XML - (java +lsp +meghanada) ; the poster child for carpal tunnel syndrome + (java +lsp) ; the poster child for carpal tunnel syndrome javascript ; all(hope(abandon(ye(who(enter(here)))))) (julia +lsp) ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) 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 e7bf5ac..7bb8a8c 100644 --- a/doom-emacs/.doom.d/packages.el +++ b/doom-emacs/.doom.d/packages.el @@ -52,3 +52,6 @@ (package! tree-sitter) (package! tree-sitter-langs) (package! pinentry) +(unpin! org-roam) +(package! websocket) +(package! org-roam-ui :recipe (:host github :repo "org-roam/org-roam-ui" :files ("*.el" "out"))) diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish index 7281e8a..ef669ae 100644 --- a/fish/.config/fish/config.fish +++ b/fish/.config/fish/config.fish @@ -1,19 +1,27 @@ set fish_greeting fish_vi_key_bindings - set fish_bind_mode insert + alias rm 'rm -i' alias nnn 'nnn -e' alias mpv 'mpv --hwdec=vaapi' alias icat 'kitty +kitten icat' -set -gx MOZ_WEBRENDER 1 +alias magit 'emacs -nw --eval "(magit-status)"' + export GPG_TTY=(tty) + +set -gx MOZ_WEBRENDER 1 set -gx XDG_SESSION_TYPE wayland set -gx XDG_CURRENT_DESKTOP sway set -gx MOZ_ENABLE_WAYLAND 1 -set -gx EDITOR vim + +set -gx EDITOR nvim set -gx NVIM_LISTEN_ADDRESS /tmp/nvimsocket + set -gx LC_ALL en_US.UTF-8 + set -x PATH /usr/libexec /usr/local/bin /home/minhradz/.cargo/bin /home/minhradz/.local/bin $PATH + starship init fish | source + eval (direnv hook fish) diff --git a/lvim/.config/lvim/config.lua b/lvim/.config/lvim/config.lua index 63153c3..92c501b 100644 --- a/lvim/.config/lvim/config.lua +++ b/lvim/.config/lvim/config.lua @@ -1,6 +1,13 @@ -- general lvim.format_on_save = true lvim.lint_on_save = true + +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.shell = "/bin/fish" vim.opt.guifont = "JetBrainsMono Nerd Font Mono:h16" @@ -24,35 +31,30 @@ lvim.builtin.treesitter.ensure_installed = {} lvim.builtin.treesitter.ignore_install = { "" } lvim.builtin.treesitter.highlight.enabled = true -lvim.lang.python.formatters = { +local formatters = require("lvim.lsp.null-ls.formatters") +local linters = require("lvim.lsp.null-ls.linters") + +formatters.setup({ { exe = "black", args = {}, }, -} - -lvim.lang.c.formatters = { { exe = "clang_format" } } -lvim.lang.cpp.formatters = lvim.lang.c.formatters -lvim.lang.javascript.formatters = { { exe = "prettier" } } -lvim.lang.javascriptreact.formatters = lvim.lang.javascript.formatters -lvim.lang.rust.formatters = { { exe = "rustfmt" } } -lvim.lang.json.formatters = { { exe = "prettier" } } -lvim.lang.typescript.formatters = { { exe = "prettier" } } -lvim.lang.typescriptreact.formatters = lvim.lang.typescript.formatters -lvim.lang.go.formatters = { { exe = "gofmt" } } - -lvim.lang.javascript.linters = { { exe = "eslint_d" } } -lvim.lang.javascriptreact.linters = lvim.lang.javascript.linters -lvim.lang.typescript.linters = { { exe = "eslint_d" } } -lvim.lang.typescriptreact.linters = lvim.lang.typescript.linters -lvim.lang.lua.formatters = { { exe = "stylua" } } - -lvim.lang.python.linters = { { - exe = "flake8", - args = {}, + exe = "clang_format", + filetypes = { "c", "cpp" }, }, -} + { + exe = "rustfmt", + }, + { exe = "prettier" }, + { exe = "gofmt" }, + { exe = "eslint_d" }, + { exe = "stylua" }, +}) + +linters.setup({ + { exe = "flake8" }, +}) -- Additional Plugins lvim.plugins = { @@ -65,6 +67,7 @@ lvim.plugins = { event = "InsertEnter", }, { "andweeb/presence.nvim" }, + { "tpope/vim-fugitive" }, } -- Autocommands (https://neovim.io/doc/user/autocmd.html) diff --git a/newsboat/.newsboat/config b/newsboat/.newsboat/config new file mode 100644 index 0000000..13fc411 --- /dev/null +++ b/newsboat/.newsboat/config @@ -0,0 +1,32 @@ +auto-reload yes +browser "firefox --new-tab %u" +max-items 50 + +# unbind keys +unbind-key ENTER +unbind-key j +unbind-key k +unbind-key J +unbind-key K + +# bind keys - vim style +bind-key j down +bind-key k up +bind-key l open +bind-key h quit + +color background color236 default +color listnormal color248 default +color listnormal_unread color6 default +color listfocus color236 color12 +color listfocus_unread color15 color12 +color info color248 color236 +color article color248 default + +# highlights +highlight article "^(Feed|Link):.*$" color6 default bold +highlight article "^(Title|Date|Author):.*$" color6 default bold +highlight article "https?://[^ ]+" color10 default underline +highlight article "\\[[0-9]+\\]" color10 default bold +highlight article "\\[image\\ [0-9]+\\]" color10 default bold +highlight feedlist "^─.*$" color6 color236 bold diff --git a/newsboat/.newsboat/urls b/newsboat/.newsboat/urls new file mode 100644 index 0000000..088e3ee --- /dev/null +++ b/newsboat/.newsboat/urls @@ -0,0 +1,6 @@ +http://lukesmith.xyz/rss.xml "Technology" +http://www.vox.com/rss/policy-and-politics/index.xml "Politics" +https://based.cooking/rss.xml "Cooking" +http://cyberciti.biz/feed "Technology" +https://medium.com/feed/better-programming "Technology" +https://protesilaos.com/codelog.xml "Technology"