Compare commits
No commits in common. "714e8f254b8a903929224b9cb2a97459b10b0daf" and "2d7feede1a832166870e7efe82641888f2a5ee55" have entirely different histories.
714e8f254b
...
2d7feede1a
@ -42,9 +42,3 @@ export LC_ALL=en_US.UTF-8
|
|||||||
eval "$(direnv hook bash)"
|
eval "$(direnv hook bash)"
|
||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
export PATH="/home/minhradz/.cargo/bin;/home/minhradz/.local/bin;/home/minhradz/go/bin;/home/minhradz/.cabal/bin:$PATH"
|
export PATH="/home/minhradz/.cargo/bin;/home/minhradz/.local/bin;/home/minhradz/go/bin;/home/minhradz/.cabal/bin:$PATH"
|
||||||
|
|
||||||
[ -f "/home/minhradz/.ghcup/env" ] && source "/home/minhradz/.ghcup/env"
|
|
||||||
|
|
||||||
|
|
||||||
# Load Angular CLI autocompletion.
|
|
||||||
source <(ng completion script)
|
|
||||||
|
@ -5,338 +5,72 @@
|
|||||||
|
|
||||||
|
|
||||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||||
;; clients, file templates and snippets.
|
;; clients, file templates and snippets. It is optional.
|
||||||
(setq user-full-name "minhtrannhat"
|
(setq user-full-name "John Doe"
|
||||||
user-mail-address "minh@minhtrannhat.com")
|
user-mail-address "john@doe.com")
|
||||||
|
|
||||||
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
|
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||||
;; are the three important ones:
|
|
||||||
;;
|
;;
|
||||||
;; + `doom-font'
|
;; - `doom-font' -- the primary font to use
|
||||||
;; + `doom-variable-pitch-font'
|
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||||
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||||
;; presentations or streaming.
|
;; presentations or streaming.
|
||||||
(setq doom-font (font-spec :family "JetBrainsMono Nerd Font" :size 18))
|
;; - `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-emoji-fallback-font-families nil)
|
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||||
(setq doom-symbol-fallback-font-families nil)
|
;; 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)
|
||||||
|
|
||||||
(add-hook 'prog-mode-hook #'pixel-scroll-mode)
|
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||||
(add-hook 'text-mode-hook #'pixel-scroll-mode)
|
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||||
|
(setq display-line-numbers-type t)
|
||||||
(add-hook 'prog-mode-hook #'pixel-scroll-precision-mode)
|
|
||||||
(add-hook 'text-mode-hook #'pixel-scroll-precision-mode)
|
|
||||||
|
|
||||||
(setq fancy-splash-image "/home/minhradz/.doom.d/marivector.png")
|
|
||||||
|
|
||||||
(defun synchronize-theme ()
|
|
||||||
(let* ((light-theme 'doom-nord-light)
|
|
||||||
(dark-theme 'doom-nord)
|
|
||||||
(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 org-directory "~/org/")
|
||||||
|
|
||||||
(setq display-line-numbers-type 'relative)
|
|
||||||
|
|
||||||
(setq ispell-alternate-dictionary "/home/minhradz/.english.dict.txt")
|
|
||||||
|
|
||||||
(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))
|
|
||||||
|
|
||||||
(setq lsp-auto-guess-root nil)
|
|
||||||
|
|
||||||
;; I mindlessly press ESC, so stop me from wreaking havoc
|
|
||||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
|
||||||
|
|
||||||
;; update the git gutter
|
|
||||||
(custom-set-variables
|
|
||||||
'(git-gutter:update-interval 0.02))
|
|
||||||
|
|
||||||
|
;; 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.
|
||||||
;;
|
;;
|
||||||
;; tree-sitter syntax highlighting
|
;; (after! PACKAGE
|
||||||
;; (require 'treesit)
|
;; (setq x y))
|
||||||
;; (treesit-available-p)
|
;;
|
||||||
;; (setq major-mode-remap-alist
|
;; The exceptions to this rule:
|
||||||
;; '((yaml-mode . yaml-ts-mode)
|
;;
|
||||||
;; (bash-mode . bash-ts-mode)
|
;; - Setting file/directory variables (like `org-directory')
|
||||||
;; (js2-mode . js-ts-mode)
|
;; - Setting variables which explicitly tell you to set them before their
|
||||||
;; (typescript-mode . typescript-ts-mode)
|
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||||
;; (json-mode . json-ts-mode)
|
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||||
;; (css-mode . css-ts-mode)
|
;;
|
||||||
;; (python-mode . python-ts-mode)))
|
;; Here are some additional functions/macros that will help you configure Doom.
|
||||||
|
;;
|
||||||
(use-package! tree-sitter
|
;; - `load!' for loading external *.el files relative to this one
|
||||||
:config
|
;; - `use-package!' for configuring packages
|
||||||
(require 'tree-sitter-langs)
|
;; - `after!' for running code after a package has loaded
|
||||||
(global-tree-sitter-mode)
|
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||||
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
|
;; this file. Emacs searches the `load-path' when you load packages with
|
||||||
|
;; `require' or `use-package'.
|
||||||
(require 'elcord)
|
;; - `map!' for binding new keys
|
||||||
(elcord-mode)
|
;;
|
||||||
(setq elcord-use-major-mode-as-main-icon 't)
|
;; 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').
|
||||||
;; gpg
|
;; This will open documentation for it, including demos of how they are used.
|
||||||
(setq epg-pinentry-mode 'loopback)
|
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||||
|
;; etc).
|
||||||
;; both jk and kj now works
|
;;
|
||||||
(setq evil-escape-unordered-key-sequence 't)
|
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||||
|
;; they are implemented.
|
||||||
;; org org
|
|
||||||
(setq +latex-viewers '(zathura))
|
|
||||||
;; auto render latex in org mode
|
|
||||||
(add-hook 'org-mode-hook 'org-fragtog-mode)
|
|
||||||
|
|
||||||
;; zsh zsh
|
|
||||||
(setq vterm-shell 'zsh)
|
|
||||||
|
|
||||||
(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)
|
|
||||||
|
|
||||||
;; (setq org-roam-node-display-template
|
|
||||||
;; #("${doom-hierarchy:20} ${doom-type:12} ${doom-tags:42}" 20 35
|
|
||||||
;; (face font-lock-keyword-face)
|
|
||||||
;; 36 51
|
|
||||||
;; (face org-tag))
|
|
||||||
;; )
|
|
||||||
(set-file-template! "/roam/.+\\.org$" 'org-mode :ignore t)
|
|
||||||
|
|
||||||
(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
|
|
||||||
(setq 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))))
|
|
||||||
|
|
||||||
;; 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)
|
|
||||||
(add-hook 'clojure-mode-hook #'evil-cleverparens-mode)
|
|
||||||
|
|
||||||
(autoload 'enable-paredit-mode "paredit"
|
|
||||||
"Turn on pseudo-structural editing of Lisp code."
|
|
||||||
t)
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode)
|
|
||||||
(add-hook 'lisp-mode-hook 'enable-paredit-mode)
|
|
||||||
(add-hook 'lisp-interaction-mode-hook 'enable-paredit-mode)
|
|
||||||
(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)
|
|
||||||
(let ((filename (buffer-file-name)))
|
|
||||||
(if filename
|
|
||||||
(if (y-or-n-p (concat "Do you really want to delete file " filename " ?"))
|
|
||||||
(progn
|
|
||||||
(delete-file filename)
|
|
||||||
(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)
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
(custom-set-variables
|
|
||||||
;; custom-set-variables was added by Custom.
|
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
|
||||||
;; Your init file should contain only one such instance.
|
|
||||||
;; If there is more than one, they won't work right.
|
|
||||||
'(elcord-display-buffer-details t)
|
|
||||||
'(git-gutter:update-interval 0.02)
|
|
||||||
'(smtpmail-smtp-server "mail.minhtrannhat.com")
|
|
||||||
'(smtpmail-smtp-service 587)
|
|
||||||
'(warning-suppress-types '(((yasnippet zombie)) (defvaralias) (org-element-cache))))
|
|
||||||
(custom-set-faces
|
|
||||||
;; custom-set-faces was added by Custom.
|
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
|
||||||
;; Your init file should contain only one such instance.
|
|
||||||
;; 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)))))
|
|
@ -1,9 +1,12 @@
|
|||||||
;;; init.el -*- lexical-binding: t; -*-
|
;;; init.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; This file controls what Doom modules are enabled and what order they load
|
;; This file controls what Doom modules are enabled and what order they load
|
||||||
;; in. Remember to run 'doom sync' after modifying it!
|
;; 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
|
;; 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 "Module Index" link where you'll find
|
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||||
;; a comprehensive list of Doom's modules and what flags they support.
|
;; of our modules are listed, including what flags they support.
|
||||||
|
|
||||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
;; 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
|
;; '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).
|
;; flags as well (those symbols that start with a plus).
|
||||||
@ -11,175 +14,178 @@
|
|||||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||||
;; directory (for easy access to its source code).
|
;; directory (for easy access to its source code).
|
||||||
|
|
||||||
;; Doom no longer native compile ahead of time so we have to hack around this smh
|
|
||||||
(setq native-comp-jit-compilation nil)
|
|
||||||
(after! (doom-packages straight)
|
|
||||||
(setq straight--native-comp-available t))
|
|
||||||
|
|
||||||
(doom! :input
|
(doom! :input
|
||||||
;;chinese
|
;;chinese
|
||||||
;;japanese
|
;;japanese
|
||||||
;;layout ; auie,ctsrnm is the superior home row
|
;;layout ; auie,ctsrnm is the superior home row
|
||||||
|
|
||||||
:completion
|
:completion
|
||||||
(company +tng) ; the ultimate code completion backend
|
company ; the ultimate code completion backend
|
||||||
;;helm ; the *other* search engine for love and life
|
;;helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
(ivy +fuzzy +icons) ; a search engine for love and life
|
;;ivy ; a search engine for love and life
|
||||||
;;vertico ; the search engine of the future
|
vertico ; the search engine of the future
|
||||||
|
|
||||||
:ui
|
:ui
|
||||||
;;deft ; notational velocity for Emacs
|
;;deft ; notational velocity for Emacs
|
||||||
doom ; what makes DOOM look the way it does
|
doom ; what makes DOOM look the way it does
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
doom-dashboard ; a nifty splash screen for Emacs
|
||||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
(emoji +unicode) ; 🙂
|
;;(emoji +unicode) ; 🙂
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
;;hydra
|
;;hydra
|
||||||
;;indent-guides ; highlighted indent columns
|
;;indent-guides ; highlighted indent columns
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||||
;;minimap ; show a map of the code on the side
|
;;minimap ; show a map of the code on the side
|
||||||
(modeline +light) ; snazzy, Atom-inspired modeline, plus API
|
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||||
;;nav-flash ; blink cursor line after big motions
|
;;nav-flash ; blink cursor line after big motions
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
;;neotree ; a project drawer, like NERDTree for vim
|
||||||
ophints ; highlight the region an operation acts on
|
ophints ; highlight the region an operation acts on
|
||||||
(popup +all +defaults) ; tame sudden yet inevitable temporary windows
|
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||||
;;tabs ; a tab bar for Emacs
|
;;tabs ; a tab bar for Emacs
|
||||||
(treemacs +lsp) ; a project drawer, like neotree but cooler
|
;;treemacs ; a project drawer, like neotree but cooler
|
||||||
unicode ; extended unicode support for various languages
|
;;unicode ; extended unicode support for various languages
|
||||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
vc-gutter ; vcs diff in the fringe
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||||
(window-select +numbers) ; visually switch windows
|
;;window-select ; visually switch windows
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
workspaces ; tab emulation, persistence & separate workspaces
|
||||||
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 +everywhere); 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
|
||||||
;;god ; run Emacs commands without modifier keys
|
;;god ; run Emacs commands without modifier keys
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
;;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
|
;;objed ; text object editing for the innocent
|
||||||
;;parinfer ; turn lisp into python, sort of
|
;;parinfer ; turn lisp into python, sort of
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
;;rotate-text ; cycle region at point between text candidates
|
||||||
snippets ; my elves. They type so I don't have to
|
snippets ; my elves. They type so I don't have to
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
;;word-wrap ; soft wrapping with language-aware indent
|
||||||
|
|
||||||
:emacs
|
:emacs
|
||||||
(dired +icons +ranger) ; making dired pretty [functional]
|
dired ; making dired pretty [functional]
|
||||||
electric ; smarter, keyword-based electric-indent
|
electric ; smarter, keyword-based electric-indent
|
||||||
(ibuffer +icons) ; interactive buffer management
|
;;ibuffer ; interactive buffer management
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
undo ; persistent, smarter undo for your inevitable mistakes
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
vc ; version-control and Emacs, sitting in a tree
|
||||||
|
|
||||||
:term
|
:term
|
||||||
eshell ; the elisp shell that works everywhere
|
;;eshell ; the elisp shell that works everywhere
|
||||||
;;shell ; simple shell REPL for Emacs
|
;;shell ; simple shell REPL for Emacs
|
||||||
;;term ; basic terminal emulator for Emacs
|
;;term ; basic terminal emulator for Emacs
|
||||||
vterm ; the best terminal emulation in Emacs
|
;;vterm ; the best terminal emulation in Emacs
|
||||||
|
|
||||||
:checkers
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
syntax ; tasing you for every semicolon you forget
|
||||||
(spell +everywhere +aspell); tasing you for misspelling mispelling
|
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||||
;;grammar ; tasing grammar mistake every you make
|
;;grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
;;ansible
|
;;ansible
|
||||||
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||||
tree-sitter
|
;;direnv
|
||||||
direnv
|
;;docker
|
||||||
(docker +lsp)
|
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||||
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)
|
(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
|
lookup ; navigate your code and its documentation
|
||||||
lsp ; M-x vscode
|
;;lsp ; M-x vscode
|
||||||
(magit +forge) ; a git porcelain for Emacs
|
magit ; a git porcelain for Emacs
|
||||||
make ; run make tasks from Emacs
|
;;make ; run make tasks from Emacs
|
||||||
(pass +auth) ; password manager for nerds
|
;;pass ; password manager for nerds
|
||||||
pdf ; pdf enhancements
|
;;pdf ; pdf enhancements
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
;;prodigy ; FIXME managing external services & code builders
|
||||||
;;rgb ; creating color strings
|
;;rgb ; creating color strings
|
||||||
taskrunner ; taskrunner for all your projects
|
;;taskrunner ; taskrunner for all your projects
|
||||||
;;terraform ; infrastructure as code
|
;;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
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
:os
|
:os
|
||||||
;;(:if IS-MAC macos) ; improve compatibility with macOS
|
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||||
tty ; improve the terminal Emacs experience
|
;;tty ; improve the terminal Emacs experience
|
||||||
|
|
||||||
:lang
|
:lang
|
||||||
;;agda ; types of types of types of types...
|
;;agda ; types of types of types of types...
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
(cc +lsp) ; C > C++ == 1
|
;;(cc +lsp) ; C > C++ == 1
|
||||||
(clojure +lsp) ; java with a lisp
|
;;clojure ; java with a lisp
|
||||||
common-lisp ; if you've seen one lisp, you've seen them all
|
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
;;coq ; proofs-as-programs
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;crystal ; ruby at the speed of c
|
||||||
csharp ; unity, .NET, and mono shenanigans
|
;;csharp ; unity, .NET, and mono shenanigans
|
||||||
;;data ; config/data formats
|
;;data ; config/data formats
|
||||||
;;(dart +flutter) ; paint ui and not much else
|
;;(dart +flutter) ; paint ui and not much else
|
||||||
;;dhall
|
;;dhall
|
||||||
elixir ; erlang done right
|
;;elixir ; erlang done right
|
||||||
;;elm ; care for a cup of TEA?
|
;;elm ; care for a cup of TEA?
|
||||||
emacs-lisp ; drown in parentheses
|
emacs-lisp ; drown in parentheses
|
||||||
(erlang +lsp) ; an elegant language for a more civilized age
|
;;erlang ; an elegant language for a more civilized age
|
||||||
;;ess ; emacs speaks statistics
|
;;ess ; emacs speaks statistics
|
||||||
;;factor
|
;;factor
|
||||||
;;faust ; dsp, but you get to keep your soul
|
;;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
|
;;fsharp ; ML stands for Microsoft's Language
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||||
;;gdscript ; the language you waited for
|
;;gdscript ; the language you waited for
|
||||||
(go +lsp) ; the hipster dialect
|
;;(go +lsp) ; the hipster dialect
|
||||||
(graphql +lsp) ; Give queries a REST
|
;;(haskell +lsp) ; a language that's lazier than I am
|
||||||
(haskell +lsp) ; a language that's lazier than I am
|
|
||||||
;;hy ; readability of scheme w/ speed of python
|
;;hy ; readability of scheme w/ speed of python
|
||||||
;;idris ; a language you can depend on
|
;;idris ; a language you can depend on
|
||||||
(json +lsp) ; At least it ain't XML
|
;;json ; At least it ain't XML
|
||||||
(java +lsp) ; the poster child for carpal tunnel syndrome
|
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||||
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
|
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
;;(julia +lsp) ; a better, faster MATLAB
|
;;julia ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;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
|
;;lean ; for folks with too much to prove
|
||||||
ledger ; be audit you can be
|
;;ledger ; be audit you can be
|
||||||
lua ; one-based indices? one-based indices
|
;;lua ; one-based indices? one-based indices
|
||||||
markdown ; writing docs for people to ignore
|
markdown ; writing docs for people to ignore
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
;;nix ; I hereby declare "nix geht mehr!"
|
;;nix ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;ocaml ; an objective camel
|
||||||
;;(org +roam2 +pretty) ; organize your plain life in plain text
|
org ; organize your plain life in plain text
|
||||||
(org +roam2) ; organize your plain life in plain text
|
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
;;plantuml ; diagrams for confusing people more
|
;;plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
(python +lsp +pyright +pyenv +poetry +treesitter)
|
;;python ; beautiful is better than ugly
|
||||||
;;qt ; the 'cutest' gui framework ever
|
;;qt ; the 'cutest' gui framework ever
|
||||||
;;racket ; a DSL for DSLs
|
;;racket ; a DSL for DSLs
|
||||||
;;raku ; the artist formerly known as perl6
|
;;raku ; the artist formerly known as perl6
|
||||||
rest ; Emacs as a REST client
|
;;rest ; Emacs as a REST client
|
||||||
;;rst ; ReST in peace
|
;;rst ; ReST in peace
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
(rust +lsp +treesitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile +mit +racket) ; a fully conniving family of lisps
|
;;(scheme +guile) ; 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
|
||||||
;;sml
|
;;sml
|
||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
;;swift ; who asked for emoji variables?
|
;;swift ; who asked for emoji variables?
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
(web +lsp) ; the tubes
|
;;web ; the tubes
|
||||||
yaml ; JSON, but readable
|
;;yaml ; JSON, but readable
|
||||||
zig ; C, but simpler
|
;;zig ; C, but simpler
|
||||||
|
|
||||||
:email
|
:email
|
||||||
;; (mu4e)
|
;;(mu4e +org +gmail)
|
||||||
;;notmuch
|
;;notmuch
|
||||||
;;(wanderlust +gmail)
|
;;(wanderlust +gmail)
|
||||||
|
|
||||||
:app
|
:app
|
||||||
;;calendar
|
;;calendar
|
||||||
;;emms
|
;;emms
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
;;everywhere ; *leave* Emacs!? You must be joking
|
||||||
;;irc ; how neckbeards socialize
|
;;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
|
;;twitter ; twitter client https://twitter.com/vnought
|
||||||
|
|
||||||
:config
|
:config
|
||||||
;;literate
|
;;literate
|
||||||
(default +bindings +smartparens)
|
(default +bindings +smartparens))
|
||||||
)
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 67 KiB |
@ -48,14 +48,3 @@
|
|||||||
;(unpin! pinned-package another-pinned-package)
|
;(unpin! pinned-package another-pinned-package)
|
||||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||||
;(unpin! t)
|
;(unpin! t)
|
||||||
(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-fragtog)
|
|
||||||
(package! org-recur)
|
|
||||||
(package! evil-cleverparens)
|
|
||||||
(package! elcord)
|
|
||||||
(unpin! rustic)
|
|
||||||
(package! org :pin "5890ac")
|
|
||||||
|
@ -1,163 +0,0 @@
|
|||||||
# This is terribly complicated
|
|
||||||
# It's because:
|
|
||||||
# 1. bun run has to have dynamic completions
|
|
||||||
# 2. there are global options
|
|
||||||
# 3. bun {install add remove} gets special options
|
|
||||||
# 4. I don't know how to write fish completions well
|
|
||||||
# Contributions very welcome!!
|
|
||||||
|
|
||||||
function __fish__get_bun_bins
|
|
||||||
string split ' ' (bun getcompletes b)
|
|
||||||
end
|
|
||||||
|
|
||||||
function __fish__get_bun_scripts
|
|
||||||
set -lx SHELL bash
|
|
||||||
set -lx MAX_DESCRIPTION_LEN 40
|
|
||||||
string trim (string split '\n' (string split '\t' (bun getcompletes z)))
|
|
||||||
end
|
|
||||||
|
|
||||||
function __fish__get_bun_packages
|
|
||||||
if test (commandline -ct) != ""
|
|
||||||
set -lx SHELL fish
|
|
||||||
string split ' ' (bun getcompletes a (commandline -ct))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __history_completions
|
|
||||||
set -l tokens (commandline --current-process --tokenize)
|
|
||||||
history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' '
|
|
||||||
end
|
|
||||||
|
|
||||||
function __fish__get_bun_bun_js_files
|
|
||||||
string split ' ' (bun getcompletes j)
|
|
||||||
end
|
|
||||||
|
|
||||||
function bun_fish_is_nth_token --description 'Test if current token is on Nth place' --argument-names n
|
|
||||||
set -l tokens (commandline -poc)
|
|
||||||
set -l tokens (string replace -r --filter '^([^-].*)' '$1' -- $tokens)
|
|
||||||
test (count $tokens) -eq "$n"
|
|
||||||
end
|
|
||||||
|
|
||||||
function __bun_command_count --argument-names n
|
|
||||||
set -l cmds (commandline -poc)
|
|
||||||
|
|
||||||
test (count cmds) -eq "$n"
|
|
||||||
end
|
|
||||||
|
|
||||||
function __bun_last_cmd --argument-names n
|
|
||||||
set -l cmds (commandline -poc)
|
|
||||||
|
|
||||||
test "(cmds[-1])" = "$n"
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global
|
|
||||||
set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't install devDependencies" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependenices" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder"
|
|
||||||
|
|
||||||
set -l bun_builtin_cmds dev create help bun upgrade discord run install remove add init link unlink pm x
|
|
||||||
set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x
|
|
||||||
set -l bun_builtin_cmds_without_bun dev create help upgrade run discord install remove add init pm x
|
|
||||||
set -l bun_builtin_cmds_without_create dev help bun upgrade discord run install remove add init pm x
|
|
||||||
set -l bun_builtin_cmds_without_install create dev help bun upgrade discord run remove add init pm x
|
|
||||||
set -l bun_builtin_cmds_without_remove create dev help bun upgrade discord run install add init pm x
|
|
||||||
set -l bun_builtin_cmds_without_add create dev help bun upgrade discord run remove install init pm x
|
|
||||||
set -l bun_builtin_cmds_without_pm create dev help bun upgrade discord run init pm x
|
|
||||||
|
|
||||||
# clear
|
|
||||||
complete -e -c bun
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a '(__fish__get_bun_scripts)' -d 'script'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_bins)' -d 'package bin'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_scripts)' -d 'script'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_bun_js_files)' -d 'Bun.js'
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __fish_use_subcommand" -a 'run' -f -d 'Run a script or bin'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'p' -l 'port' -r -d 'Port number to start server from'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -l 'use' -r -d 'Use a framework (ex: next)'
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __fish_use_subcommand" -a 'dev' -d 'Start dev server'
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create next react; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from create;" -a 'next' -d 'new Next.js project'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create next react; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from create;" -a 'react' -d 'new React project'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a '--help' -d 'See all commands and flags' -x
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -l "version" -s "v" -a '--version' -d 'Bun\'s version' -x
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x
|
|
||||||
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_bun; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); __fish_use_subcommand" -a 'bun' -d 'Generate a new bundle'
|
|
||||||
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_bun; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from bun" -F -d 'Bundle this'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create; and not __fish_seen_subcommand_from (__fish__get_bun_bins); and not __fish_seen_subcommand_from (__fish__get_bun_scripts); and __fish_seen_subcommand_from react; or __fish_seen_subcommand_from next" -F -d "Create in directory"
|
|
||||||
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand add remove" -F
|
|
||||||
|
|
||||||
|
|
||||||
for i in (seq (count $bun_install_boolean_flags))
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]"
|
|
||||||
end
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l 'cwd' -d 'Change working directory'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from add;" -d 'Popular' -a '(__fish__get_bun_packages)'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from add;" -d 'History' -a '(__history_completions)'
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f
|
|
||||||
|
|
||||||
complete -c bun \
|
|
||||||
-n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f
|
|
||||||
|
|
||||||
complete -c bun -n "not __fish_seen_subcommand_from $bun_builtin_cmds (__fish__get_bun_bins) (__fish__get_bun_scripts)" -a "$bun_builtin_cmds" -f
|
|
@ -1,24 +0,0 @@
|
|||||||
function __fish_tmuxinator_using_command
|
|
||||||
set cmd (commandline -opc)
|
|
||||||
if [ (count $cmd) -gt 1 ]
|
|
||||||
if [ $argv[1] = $cmd[2] ]
|
|
||||||
return 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set __fish_tmuxinator_program_cmd (commandline -o)[1]
|
|
||||||
|
|
||||||
function __fish_tmuxinator_program
|
|
||||||
eval "$__fish_tmuxinator_program_cmd $argv"
|
|
||||||
end
|
|
||||||
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -a '(__fish_tmuxinator_program completions start)'
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_use_subcommand' -x -a "(__fish_tmuxinator_program commands)"
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command start' -a "(__fish_tmuxinator_program completions start)"
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command open' -a "(__fish_tmuxinator_program completions open)"
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command copy' -a "(__fish_tmuxinator_program completions copy)"
|
|
||||||
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command delete' -a "(__fish_tmuxinator_program completions delete)"
|
|
||||||
|
|
||||||
abbr --add mux "tmuxinator"
|
|
@ -2,6 +2,8 @@ set fish_greeting
|
|||||||
fish_vi_key_bindings
|
fish_vi_key_bindings
|
||||||
set fish_bind_mode insert
|
set fish_bind_mode insert
|
||||||
|
|
||||||
|
theme_gruvbox dark hard
|
||||||
|
|
||||||
alias rm 'rm -i'
|
alias rm 'rm -i'
|
||||||
alias nnn 'nnn -e'
|
alias nnn 'nnn -e'
|
||||||
alias icat 'kitty +kitten icat'
|
alias icat 'kitty +kitten icat'
|
||||||
@ -13,7 +15,8 @@ export GPG_TTY=(tty)
|
|||||||
gpgconf --launch gpg-agent
|
gpgconf --launch gpg-agent
|
||||||
|
|
||||||
if test -z (pgrep ssh-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_AGENT_PID $SSH_AGENT_PID
|
||||||
set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK
|
set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK
|
||||||
end
|
end
|
||||||
@ -27,8 +30,6 @@ set -gx QT_AUTO_SCREEN_SCALE_FACTOR 1
|
|||||||
set -Ux GTK_IM_MODULE ibus
|
set -Ux GTK_IM_MODULE ibus
|
||||||
set -Ux QT_IM_MODULE ibus
|
set -Ux QT_IM_MODULE ibus
|
||||||
set -Ux XMODIFIERS @im=ibus
|
set -Ux XMODIFIERS @im=ibus
|
||||||
set -Ux PYTHON_KEYRING_BACKEND keyring.backends.null.Keyring
|
|
||||||
set -Ux SYSTEMD_TIMEDATED_NTP_SERVICES chronyd.service:systemd-timesyncd.service
|
|
||||||
|
|
||||||
set -gx EDITOR lvim
|
set -gx EDITOR lvim
|
||||||
set -gx NVIM_LISTEN_ADDRESS /tmp/nvimsocket
|
set -gx NVIM_LISTEN_ADDRESS /tmp/nvimsocket
|
||||||
@ -36,9 +37,8 @@ set -gx MANPAGER "lvim +Man!"
|
|||||||
set -gx LC_ALL en_US.UTF-8
|
set -gx LC_ALL en_US.UTF-8
|
||||||
|
|
||||||
set -gx _JAVA_AWT_WM_NONREPARENTING 1
|
set -gx _JAVA_AWT_WM_NONREPARENTING 1
|
||||||
set --export BUN_INSTALL "$HOME/.bun"
|
|
||||||
|
|
||||||
set -x PATH /home/minhradz/.ghcup/bin/ /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 $BUN_INSTALL/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 $PATH
|
||||||
|
|
||||||
starship init fish | source
|
starship init fish | source
|
||||||
|
|
||||||
|
@ -1,22 +1,19 @@
|
|||||||
# This file contains fish universal variable definitions.
|
# This file contains fish universal variable definitions.
|
||||||
# VERSION: 3.0
|
# VERSION: 3.0
|
||||||
SETUVAR --export GTK_IM_MODULE:ibus
|
SETUVAR --export GTK_IM_MODULE:ibus
|
||||||
SETUVAR --export PYTHON_KEYRING_BACKEND:keyring\x2ebackends\x2enull\x2eKeyring
|
|
||||||
SETUVAR --export QT_IM_MODULE:ibus
|
SETUVAR --export QT_IM_MODULE:ibus
|
||||||
SETUVAR --export SSH_AGENT_PID:1219
|
SETUVAR --export SSH_AGENT_PID:1235
|
||||||
SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXqVfRCj/agent\x2e1218
|
SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXRu0Qxq/agent\x2e1234
|
||||||
SETUVAR --export SYSTEMD_TIMEDATED_NTP_SERVICES:chronyd\x2eservice\x3asystemd\x2dtimesyncd\x2eservice
|
|
||||||
SETUVAR --export XMODIFIERS:\x40im\x3dibus
|
SETUVAR --export XMODIFIERS:\x40im\x3dibus
|
||||||
SETUVAR __fish_initialized:3400
|
SETUVAR __fish_initialized:3100
|
||||||
SETUVAR _fish_abbr_mux:tmuxinator
|
SETUVAR fish_color_autosuggestion:93a1a1
|
||||||
SETUVAR fish_color_autosuggestion:4c566a
|
SETUVAR fish_color_cancel:\x2dr
|
||||||
SETUVAR fish_color_cancel:\x2d\x2dreverse
|
SETUVAR fish_color_command:586e75
|
||||||
SETUVAR fish_color_command:81a1c1
|
SETUVAR fish_color_comment:93a1a1
|
||||||
SETUVAR fish_color_comment:434c5e
|
|
||||||
SETUVAR fish_color_cwd:green
|
SETUVAR fish_color_cwd:green
|
||||||
SETUVAR fish_color_cwd_root:red
|
SETUVAR fish_color_cwd_root:red
|
||||||
SETUVAR fish_color_end:88c0d0
|
SETUVAR fish_color_end:268bd2
|
||||||
SETUVAR fish_color_error:ebcb8b
|
SETUVAR fish_color_error:dc322f
|
||||||
SETUVAR fish_color_escape:00a6b2
|
SETUVAR fish_color_escape:00a6b2
|
||||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||||
SETUVAR fish_color_host:normal
|
SETUVAR fish_color_host:normal
|
||||||
@ -24,17 +21,16 @@ SETUVAR fish_color_host_remote:yellow
|
|||||||
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
||||||
SETUVAR fish_color_normal:normal
|
SETUVAR fish_color_normal:normal
|
||||||
SETUVAR fish_color_operator:00a6b2
|
SETUVAR fish_color_operator:00a6b2
|
||||||
SETUVAR fish_color_param:eceff4
|
SETUVAR fish_color_param:657b83
|
||||||
SETUVAR fish_color_quote:a3be8c
|
SETUVAR fish_color_quote:839496
|
||||||
SETUVAR fish_color_redirection:b48ead
|
SETUVAR fish_color_redirection:6c71c4
|
||||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dwhite
|
||||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
SETUVAR fish_color_status:red
|
SETUVAR fish_color_status:red
|
||||||
SETUVAR fish_color_user:brgreen
|
SETUVAR fish_color_user:brgreen
|
||||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||||
SETUVAR fish_key_bindings:fish_vi_key_bindings
|
SETUVAR fish_key_bindings:fish_vi_key_bindings
|
||||||
SETUVAR fish_pager_color_completion:normal
|
SETUVAR fish_pager_color_completion:green
|
||||||
SETUVAR fish_pager_color_description:B3A06D
|
SETUVAR fish_pager_color_description:B3A06D
|
||||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dunderline
|
||||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||||
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
|
|
||||||
|
@ -1,138 +0,0 @@
|
|||||||
"""
|
|
||||||
To be used with a companion fish function like this:
|
|
||||||
|
|
||||||
function refish
|
|
||||||
set -l _x (python /tmp/bass.py source ~/.nvm/nvim.sh ';' nvm use iojs); source $_x; and rm -f $_x
|
|
||||||
end
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import signal
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
import traceback
|
|
||||||
|
|
||||||
|
|
||||||
BASH = 'bash'
|
|
||||||
|
|
||||||
FISH_READONLY = [
|
|
||||||
'PWD', 'SHLVL', 'history', 'pipestatus', 'status', 'version',
|
|
||||||
'FISH_VERSION', 'fish_pid', 'hostname', '_', 'fish_private_mode'
|
|
||||||
]
|
|
||||||
|
|
||||||
IGNORED = [
|
|
||||||
'PS1', 'XPC_SERVICE_NAME'
|
|
||||||
]
|
|
||||||
|
|
||||||
def ignored(name):
|
|
||||||
if name == 'PWD': # this is read only, but has special handling
|
|
||||||
return False
|
|
||||||
# ignore other read only variables
|
|
||||||
if name in FISH_READONLY:
|
|
||||||
return True
|
|
||||||
if name in IGNORED or name.startswith("BASH_FUNC"):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def escape(string):
|
|
||||||
# use json.dumps to reliably escape quotes and backslashes
|
|
||||||
return json.dumps(string).replace(r'$', r'\$')
|
|
||||||
|
|
||||||
def escape_identifier(word):
|
|
||||||
return escape(word.replace('?', '\\?'))
|
|
||||||
|
|
||||||
def comment(string):
|
|
||||||
return '\n'.join(['# ' + line for line in string.split('\n')])
|
|
||||||
|
|
||||||
def gen_script():
|
|
||||||
# Use the following instead of /usr/bin/env to read environment so we can
|
|
||||||
# deal with multi-line environment variables (and other odd cases).
|
|
||||||
env_reader = "%s -c 'import os,json; print(json.dumps({k:v for k,v in os.environ.items()}))'" % (sys.executable)
|
|
||||||
args = [BASH, '-c', env_reader]
|
|
||||||
output = subprocess.check_output(args, universal_newlines=True)
|
|
||||||
old_env = output.strip()
|
|
||||||
|
|
||||||
pipe_r, pipe_w = os.pipe()
|
|
||||||
if sys.version_info >= (3, 4):
|
|
||||||
os.set_inheritable(pipe_w, True)
|
|
||||||
command = 'eval $1 && ({}; alias) >&{}'.format(
|
|
||||||
env_reader,
|
|
||||||
pipe_w
|
|
||||||
)
|
|
||||||
args = [BASH, '-c', command, 'bass', ' '.join(sys.argv[1:])]
|
|
||||||
p = subprocess.Popen(args, universal_newlines=True, close_fds=False)
|
|
||||||
os.close(pipe_w)
|
|
||||||
with os.fdopen(pipe_r) as f:
|
|
||||||
new_env = f.readline()
|
|
||||||
alias_str = f.read()
|
|
||||||
if p.wait() != 0:
|
|
||||||
raise subprocess.CalledProcessError(
|
|
||||||
returncode=p.returncode,
|
|
||||||
cmd=' '.join(sys.argv[1:]),
|
|
||||||
output=new_env + alias_str
|
|
||||||
)
|
|
||||||
new_env = new_env.strip()
|
|
||||||
|
|
||||||
old_env = json.loads(old_env)
|
|
||||||
new_env = json.loads(new_env)
|
|
||||||
|
|
||||||
script_lines = []
|
|
||||||
|
|
||||||
for k, v in new_env.items():
|
|
||||||
if ignored(k):
|
|
||||||
continue
|
|
||||||
v1 = old_env.get(k)
|
|
||||||
if not v1:
|
|
||||||
script_lines.append(comment('adding %s=%s' % (k, v)))
|
|
||||||
elif v1 != v:
|
|
||||||
script_lines.append(comment('updating %s=%s -> %s' % (k, v1, v)))
|
|
||||||
# process special variables
|
|
||||||
if k == 'PWD':
|
|
||||||
script_lines.append('cd %s' % escape(v))
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
continue
|
|
||||||
if k == 'PATH':
|
|
||||||
value = ' '.join([escape(directory)
|
|
||||||
for directory in v.split(':')])
|
|
||||||
else:
|
|
||||||
value = escape(v)
|
|
||||||
script_lines.append('set -g -x %s %s' % (k, value))
|
|
||||||
|
|
||||||
for var in set(old_env.keys()) - set(new_env.keys()):
|
|
||||||
script_lines.append(comment('removing %s' % var))
|
|
||||||
script_lines.append('set -e %s' % var)
|
|
||||||
|
|
||||||
script = '\n'.join(script_lines)
|
|
||||||
|
|
||||||
alias_lines = []
|
|
||||||
for line in alias_str.splitlines():
|
|
||||||
_, rest = line.split(None, 1)
|
|
||||||
k, v = rest.split("=", 1)
|
|
||||||
alias_lines.append("alias " + escape_identifier(k) + "=" + v)
|
|
||||||
alias = '\n'.join(alias_lines)
|
|
||||||
|
|
||||||
return script + '\n' + alias
|
|
||||||
|
|
||||||
script_file = os.fdopen(3, 'w')
|
|
||||||
|
|
||||||
if not sys.argv[1:]:
|
|
||||||
print('__bass_usage', file=script_file, end='')
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
try:
|
|
||||||
script = gen_script()
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
sys.exit(e.returncode)
|
|
||||||
except Exception:
|
|
||||||
print('Bass internal error!', file=sys.stderr)
|
|
||||||
raise # traceback will output to stderr
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
||||||
os.kill(os.getpid(), signal.SIGINT)
|
|
||||||
else:
|
|
||||||
script_file.write(script)
|
|
@ -1,29 +0,0 @@
|
|||||||
function bass
|
|
||||||
set -l bash_args $argv
|
|
||||||
set -l bass_debug
|
|
||||||
if test "$bash_args[1]_" = '-d_'
|
|
||||||
set bass_debug true
|
|
||||||
set -e bash_args[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l script_file (mktemp)
|
|
||||||
if command -v python3 >/dev/null 2>&1
|
|
||||||
command python3 -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
|
||||||
else
|
|
||||||
command python -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
|
||||||
end
|
|
||||||
set -l bass_status $status
|
|
||||||
if test $bass_status -ne 0
|
|
||||||
return $bass_status
|
|
||||||
end
|
|
||||||
|
|
||||||
if test -n "$bass_debug"
|
|
||||||
cat $script_file
|
|
||||||
end
|
|
||||||
source $script_file
|
|
||||||
command rm $script_file
|
|
||||||
end
|
|
||||||
|
|
||||||
function __bass_usage
|
|
||||||
echo "Usage: bass [-d] <bash-command>"
|
|
||||||
end
|
|
@ -1,16 +0,0 @@
|
|||||||
function load_nvm --on-variable="PWD"
|
|
||||||
set -l default_node_version (nvm version default)
|
|
||||||
set -l node_version (nvm version)
|
|
||||||
set -l nvmrc_path (nvm_find_nvmrc)
|
|
||||||
if test -n "$nvmrc_path"
|
|
||||||
set -l nvmrc_node_version (nvm version (cat $nvmrc_path))
|
|
||||||
if test "$nvmrc_node_version" = "N/A"
|
|
||||||
nvm install (cat $nvmrc_path)
|
|
||||||
else if test "$nvmrc_node_version" != "$node_version"
|
|
||||||
nvm use $nvmrc_node_version
|
|
||||||
end
|
|
||||||
else if test "$node_version" != "$default_node_version"
|
|
||||||
echo "Reverting to default Node version"
|
|
||||||
nvm use default
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,3 +0,0 @@
|
|||||||
function nvm
|
|
||||||
bass source ~/.nvm/nvm.sh --no-use ';' nvm $argv
|
|
||||||
end
|
|
@ -1,3 +0,0 @@
|
|||||||
function nvm_find_nvmrc
|
|
||||||
bass source ~/.nvm/nvm.sh --no-use ';' nvm_find_nvmrc
|
|
||||||
end
|
|
@ -1,23 +1,17 @@
|
|||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = false
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
email = minh@minhtrannhat.com
|
email = minhtrannhat@tutanota.com
|
||||||
name = minhtrannhat
|
name = minhtrannhat
|
||||||
signingkey = E13CFA85C53F8062
|
signingkey = 894C6A5801E01CA9
|
||||||
|
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = master
|
defaultBranch = master
|
||||||
|
|
||||||
[gpg]
|
[gpg]
|
||||||
program = /usr/bin/gpg
|
program = /usr/bin/gpg
|
||||||
|
|
||||||
[pager]
|
[pager]
|
||||||
diff = delta
|
diff = delta
|
||||||
blame = delta
|
|
||||||
log = delta
|
log = delta
|
||||||
reflog = delta
|
reflog = delta
|
||||||
show = delta
|
show = delta
|
||||||
@ -25,7 +19,7 @@
|
|||||||
[delta]
|
[delta]
|
||||||
side-by-side = true
|
side-by-side = true
|
||||||
line-numbers = true
|
line-numbers = true
|
||||||
syntax-theme = Nord
|
syntax-theme = gruvbox-dark
|
||||||
navigate = true
|
navigate = true
|
||||||
|
|
||||||
[interactive]
|
[interactive]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
term xterm-kitty
|
term xterm-kitty
|
||||||
|
|
||||||
shell zsh
|
shell fish
|
||||||
|
|
||||||
font_family JetBrainsMono Nerd Font
|
font_family JetBrainsMono Nerd Font
|
||||||
bold_font auto
|
bold_font auto
|
||||||
@ -46,4 +46,4 @@ map ctrl+right neighboring_window right
|
|||||||
map ctrl+up neighboring_window up
|
map ctrl+up neighboring_window up
|
||||||
map ctrl+down neighboring_window down
|
map ctrl+down neighboring_window down
|
||||||
|
|
||||||
include nord.conf
|
include gruvbox_light.conf
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
# Nord Colorscheme for Kitty
|
|
||||||
# Based on:
|
|
||||||
# - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192
|
|
||||||
# - https://github.com/arcticicestudio/nord-hyper
|
|
||||||
foreground #D8DEE9
|
|
||||||
background #2E3440
|
|
||||||
selection_foreground #000000
|
|
||||||
selection_background #FFFACD
|
|
||||||
url_color #0087BD
|
|
||||||
cursor #81A1C1
|
|
||||||
# black
|
|
||||||
color0 #3B4252
|
|
||||||
color8 #4C566A
|
|
||||||
# red
|
|
||||||
color1 #BF616A
|
|
||||||
color9 #BF616A
|
|
||||||
# green
|
|
||||||
color2 #A3BE8C
|
|
||||||
color10 #A3BE8C
|
|
||||||
# yellow
|
|
||||||
color3 #EBCB8B
|
|
||||||
color11 #EBCB8B
|
|
||||||
# blue
|
|
||||||
color4 #81A1C1
|
|
||||||
color12 #81A1C1
|
|
||||||
# magenta
|
|
||||||
color5 #B48EAD
|
|
||||||
color13 #B48EAD
|
|
||||||
# cyan
|
|
||||||
color6 #88C0D0
|
|
||||||
color14 #8FBCBB
|
|
||||||
# white
|
|
||||||
color7 #E5E9F0
|
|
||||||
color15 #ECEFF4
|
|
@ -1,44 +1,28 @@
|
|||||||
-- general
|
-- general
|
||||||
lvim.format_on_save = true
|
lvim.format_on_save = true
|
||||||
lvim.lint_on_save = true
|
lvim.lint_on_save = true
|
||||||
lvim.shell = "/bin/zsh"
|
lvim.shell = "/bin/fish"
|
||||||
lvim.leader = "space"
|
lvim.leader = "space"
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.wrap = true
|
|
||||||
|
|
||||||
lvim.builtin.alpha.active = true
|
lvim.builtin.alpha.active = true
|
||||||
lvim.builtin.terminal.active = true
|
lvim.builtin.terminal.active = true
|
||||||
lvim.builtin.autopairs.active = true
|
lvim.builtin.autopairs.active = true
|
||||||
lvim.builtin.gitsigns.active = true
|
lvim.builtin.gitsigns.active = true
|
||||||
lvim.builtin.dap.active = true
|
lvim.builtin.dap.active = true
|
||||||
lvim.builtin.treesitter.rainbow.enable = true
|
|
||||||
lvim.builtin.cmp.cmdline.enable = true
|
|
||||||
|
|
||||||
lvim.builtin.nvimtree.side = "left"
|
lvim.builtin.nvimtree.side = "left"
|
||||||
lvim.builtin.terminal.shell = "/bin/zsh"
|
lvim.builtin.nvimtree.show_icons.git = 1
|
||||||
|
lvim.builtin.terminal.shell = "/bin/fish"
|
||||||
|
|
||||||
vim.termguicolors = true
|
vim.termguicolors = true
|
||||||
vim.background = "dark"
|
vim.background = "light"
|
||||||
vim.g.nord_contrast = true
|
lvim.colorscheme = "gruvbox"
|
||||||
vim.g.nord_borders = true
|
|
||||||
vim.g.nord_disable_background = false
|
|
||||||
vim.g.nord_italic = true
|
|
||||||
vim.termguicolors = true
|
|
||||||
lvim.colorscheme = "nord"
|
|
||||||
|
|
||||||
lvim.builtin.treesitter.ensure_installed = {}
|
lvim.builtin.treesitter.ensure_installed = {}
|
||||||
lvim.builtin.treesitter.ignore_install = { "" }
|
lvim.builtin.treesitter.ignore_install = { "" }
|
||||||
lvim.builtin.treesitter.highlight.enabled = true
|
lvim.builtin.treesitter.highlight.enabled = true
|
||||||
|
|
||||||
local null_ls = require("null-ls")
|
|
||||||
|
|
||||||
null_ls.setup({
|
|
||||||
sources = {
|
|
||||||
null_ls.builtins.formatting.ruff,
|
|
||||||
null_ls.builtins.diagnostics.ruff,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local formatters = require("lvim.lsp.null-ls.formatters")
|
local formatters = require("lvim.lsp.null-ls.formatters")
|
||||||
local linters = require("lvim.lsp.null-ls.linters")
|
local linters = require("lvim.lsp.null-ls.linters")
|
||||||
|
|
||||||
@ -64,18 +48,18 @@ formatters.setup({
|
|||||||
})
|
})
|
||||||
|
|
||||||
linters.setup({
|
linters.setup({
|
||||||
{ exe = "ruff", filetype = { "python" } },
|
{ exe = "flake8" },
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Additional Plugins
|
-- Additional Plugins
|
||||||
lvim.plugins = {
|
lvim.plugins = {
|
||||||
{ "shaunsingh/nord.nvim" },
|
{ "ellisonleao/gruvbox.nvim" },
|
||||||
{
|
{
|
||||||
"ray-x/lsp_signature.nvim",
|
"ray-x/lsp_signature.nvim",
|
||||||
event = "BufRead",
|
|
||||||
config = function()
|
config = function()
|
||||||
require("lsp_signature").on_attach()
|
require("lsp_signature").on_attach()
|
||||||
end,
|
end,
|
||||||
|
event = "InsertEnter",
|
||||||
},
|
},
|
||||||
{ "machakann/vim-sandwich" },
|
{ "machakann/vim-sandwich" },
|
||||||
{ "tpope/vim-fugitive" },
|
{ "tpope/vim-fugitive" },
|
||||||
@ -85,91 +69,43 @@ lvim.plugins = {
|
|||||||
require("spellsitter").setup()
|
require("spellsitter").setup()
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{ "ggandor/lightspeed.nvim", requires = { "tpope/vim-repeat" }, event = "InsertEnter" },
|
||||||
{ "ellisonleao/glow.nvim" },
|
{ "ellisonleao/glow.nvim" },
|
||||||
{ "TakenMC/presence.nvim", branch = "other" },
|
|
||||||
{
|
|
||||||
"m-demare/hlargs.nvim",
|
|
||||||
config = function()
|
|
||||||
require("hlargs").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
config = function()
|
|
||||||
require("nvim-ts-autotag").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"p00f/nvim-ts-rainbow",
|
|
||||||
event = "InsertEnter",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aserowy/tmux.nvim",
|
|
||||||
config = function()
|
|
||||||
require("tmux").setup({
|
|
||||||
copy_sync = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
navigation = {
|
|
||||||
enable_default_keybindings = true,
|
|
||||||
},
|
|
||||||
resize = {
|
|
||||||
enable_default_keybindings = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
"haya14busa/is.vim",
|
|
||||||
{
|
|
||||||
"max397574/better-escape.nvim",
|
|
||||||
config = function()
|
|
||||||
require("better_escape").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"phaazon/hop.nvim",
|
|
||||||
branch = "v2", -- optional but strongly recommended
|
|
||||||
config = function()
|
|
||||||
-- you can configure Hop the way you like here; see :h hop-config
|
|
||||||
require("hop").setup(
|
|
||||||
{ keys = "etovxqpdygfblzhckisuran" },
|
|
||||||
vim.api.nvim_set_keymap("n", "t", ":HopChar2<cr>", { silent = true }),
|
|
||||||
vim.api.nvim_set_keymap("n", "T", ":HopPattern<cr>", { silent = true })
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
"norcalli/nvim-colorizer.lua",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require("colorizer").setup()
|
-- Changes to clangd
|
||||||
|
vim.list_extend(lvim.lsp.override, { "clangd" })
|
||||||
|
|
||||||
require("better_escape").setup({
|
-- some settings can only passed as commandline flags `clangd --help`
|
||||||
mapping = { "jk", "kj" }, -- a table with mappings to use
|
local clangd_flags = {
|
||||||
timeout = vim.o.timeoutlen, -- the time in which the keys must be hit in ms. Use option timeoutlen by default
|
"--all-scopes-completion",
|
||||||
clear_empty_lines = false, -- clear line after escaping if there is only whitespace
|
"--suggest-missing-includes",
|
||||||
keys = "<Esc>", -- keys used for escaping, if it is a function will use the result everytime
|
"--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",
|
||||||
|
}
|
||||||
|
|
||||||
-- The setup config table shows all available config options with their default values:
|
local clangd_bin = "clangd"
|
||||||
require("presence"):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)
|
|
||||||
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(<filename>, 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 = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
|
|
||||||
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
|
|
||||||
|
|
||||||
-- Rich Presence text options
|
local custom_on_attach = function(client, bufnr)
|
||||||
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
|
require("lvim.lsp").common_on_attach(client, bufnr)
|
||||||
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
|
local opts = { noremap = true, silent = true }
|
||||||
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
|
vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>lh", "<Cmd>ClangdSwitchSourceHeader<CR>", opts)
|
||||||
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
|
end
|
||||||
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
|
|
||||||
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
|
local opts = {
|
||||||
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
|
cmd = { clangd_bin, unpack(clangd_flags) },
|
||||||
})
|
on_attach = custom_on_attach,
|
||||||
|
}
|
||||||
|
|
||||||
|
require("lvim.lsp.manager").setup("clangd", opts)
|
||||||
|
|
||||||
|
-- vim sandwhich with vim surround keybindings
|
||||||
|
vim.cmd("runtime macros/sandwich/keymap/surround.vim")
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
{
|
|
||||||
"Comment.nvim": { "branch": "master", "commit": "176e85eeb63f1a5970d6b88f1725039d85ca0055" },
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "1f72e43a446961a1372c54038882c1d36e105cab" },
|
|
||||||
"alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" },
|
|
||||||
"better-escape.nvim": { "branch": "master", "commit": "7031dc734add47bb71c010e0551829fa5799375f" },
|
|
||||||
"bigfile.nvim": { "branch": "main", "commit": "9616b73670ffeb92679677554ded88854ae42cf8" },
|
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "d24378edc14a675c820a303b4512af3bbc5761e9" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
|
||||||
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "ea84a710262cb2c286d439070bad37d36fd3db25" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" },
|
|
||||||
"glow.nvim": { "branch": "main", "commit": "bbd0473d72a45094495ee5600b5577823543eefe" },
|
|
||||||
"hlargs.nvim": { "branch": "main", "commit": "cfc9beab4e176a13311efe03e38e6b6fed5df4f6" },
|
|
||||||
"hop.nvim": { "branch": "v2", "commit": "90db1b2c61b820e230599a04fedcd2679e64bd07" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" },
|
|
||||||
"is.vim": { "branch": "master", "commit": "d393cb346dcdf733fecd7bbfc45b70b8c05e9eb4" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" },
|
|
||||||
"lir.nvim": { "branch": "master", "commit": "969e95bd07ec315b5efc53af69c881278c2b74fa" },
|
|
||||||
"lsp_signature.nvim": { "branch": "master", "commit": "58d4e810801da74c29313da86075d6aea537501f" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" },
|
|
||||||
"lunar.nvim": { "branch": "master", "commit": "08bbc93b96ad698d22fc2aa01805786bcedc34b9" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "828a538ac8419f586c010996aefa5df6eb7c250b" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "5ad3e113b0c3fde3caba8630599373046f6197e8" },
|
|
||||||
"neodev.nvim": { "branch": "main", "commit": "62515f64dfb196e8abe1263e17e2546559e41292" },
|
|
||||||
"nlsp-settings.nvim": { "branch": "main", "commit": "64976a5ac70a9a43f3b1b42c5b1564f7f0e4077e" },
|
|
||||||
"nord.nvim": { "branch": "master", "commit": "fab04b2dd4b64f4b1763b9250a8824d0b5194b8f" },
|
|
||||||
"null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "ae5b41ce880a6d850055e262d6dfebd362bb276e" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" },
|
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "d17d1bba23ec72a157bd183c57840c39e323f515" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "447443a2404adc323ad2efc7c0a346a904ce694c" },
|
|
||||||
"nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" },
|
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "3b62c6bf2c3f2973036aed609d02fd0ca9c3af35" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "19b29f7cb046317b74e60fc7bff2f86ece4dc118" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" },
|
|
||||||
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" },
|
|
||||||
"onedarker.nvim": { "branch": "freeze", "commit": "b00dd2189f264c5aeb4cf04c59439655ecd573ec" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
|
|
||||||
"presence.nvim": { "branch": "other", "commit": "3c22ea345ae716589356cb225bf348ec4d518fef" },
|
|
||||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
|
||||||
"schemastore.nvim": { "branch": "main", "commit": "0682f56392ddc86cf5e6b2af76a63bc48ad4ed84" },
|
|
||||||
"spellsitter.nvim": { "branch": "master", "commit": "4af8640d9d706447e78c13150ef7475ea2c16b30" },
|
|
||||||
"structlog.nvim": { "branch": "main", "commit": "45b26a2b1036bb93c0e83f4225e85ab3cee8f476" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" },
|
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
|
|
||||||
"tmux.nvim": { "branch": "main", "commit": "03e28fdaa2ef54b975ba1930f1e69b5e231dedc9" },
|
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "00c13dccc78c09fa5da4c5edda990a363e75035e" },
|
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" },
|
|
||||||
"vim-fugitive": { "branch": "master", "commit": "b3b838d690f315a503ec4af8c634bdff3b200aaf" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" },
|
|
||||||
"vim-sandwich": { "branch": "master", "commit": "c5a2cc438ce6ea2005c556dc833732aa53cae21a" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
background-color=#282828
|
|
||||||
progress-color=source #81a1c1
|
|
||||||
text-color=#eceff4
|
|
||||||
padding=15
|
|
||||||
outer-margin=9
|
|
||||||
default-timeout=5000
|
|
||||||
margin=5
|
|
||||||
|
|
||||||
border-size=2
|
|
||||||
border-radius=5
|
|
||||||
border-color=#a3be8c
|
|
||||||
|
|
||||||
[urgency=low]
|
|
||||||
border-color=#434c5e
|
|
||||||
|
|
||||||
[urgency=normal]
|
|
||||||
border-color=#a3be8c
|
|
||||||
|
|
||||||
[urgency=high]
|
|
||||||
border-color=#bf616a
|
|
||||||
default-timeout=0
|
|
||||||
|
|
||||||
layer=overlay
|
|
||||||
on-button-middle=exec makoctl menu -n "$id" wofi -d -p 'Select action: '
|
|
1
newsboat/.newsboat/cache.db.lock
Normal file
1
newsboat/.newsboat/cache.db.lock
Normal file
@ -0,0 +1 @@
|
|||||||
|
114070
|
@ -1,6 +1,6 @@
|
|||||||
auto-reload yes
|
auto-reload yes
|
||||||
browser "firefox --new-tab %u"
|
browser "firefox --new-tab %u"
|
||||||
max-items 999999
|
max-items 50
|
||||||
|
|
||||||
# unbind keys
|
# unbind keys
|
||||||
unbind-key ENTER
|
unbind-key ENTER
|
||||||
|
@ -5,4 +5,3 @@ https://medium.com/feed/better-programming "Technology"
|
|||||||
https://protesilaos.com/codelog.xml "Technology"
|
https://protesilaos.com/codelog.xml "Technology"
|
||||||
https:///notrelated.xyz/rss.xml "Politics"
|
https:///notrelated.xyz/rss.xml "Politics"
|
||||||
https://hnrss.org/frontpage "Technology"
|
https://hnrss.org/frontpage "Technology"
|
||||||
https://drewdevault.com/blog/index.xml "Technology"
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
[Trigger]
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Type = Package
|
|
||||||
Target = grub
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Signing GRUB for SecureBoot
|
|
||||||
When = PostTransaction
|
|
||||||
Exec = /usr/bin/find /efi/ -name 'grubx64' -exec /usr/bin/sh -c 'if ! /usr/bin/sbverify --list {} 2>/dev/null | /usr/bin/grep -q "signature certificates"; then /usr/bin/sbsign --key /db.key --cert /db.crt --output {} {}; fi' \ ;
|
|
||||||
Depends = sbsigntools
|
|
||||||
Depends = findutils
|
|
||||||
Depends = grep
|
|
@ -1,13 +0,0 @@
|
|||||||
[Trigger]
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Type = Package
|
|
||||||
Target = linux
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Signing Kernel for SecureBoot
|
|
||||||
When = PostTransaction
|
|
||||||
Exec = /usr/bin/find /boot/ -maxdepth 1 -name 'vmlinuz-*' -exec /usr/bin/sh -c 'if ! /usr/bin/sbverify --list {} 2>/dev/null | /usr/bin/grep -q "signature certificates"; then /usr/bin/sbsign --key /db.key --cert /db.crt --output {} {}; fi' \ ;
|
|
||||||
Depends = sbsigntools
|
|
||||||
Depends = findutils
|
|
||||||
Depends = grep
|
|
@ -1,149 +0,0 @@
|
|||||||
adobe-source-han-sans-jp-fonts
|
|
||||||
adobe-source-han-serif-jp-fonts
|
|
||||||
aspell
|
|
||||||
aspell-en
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
base
|
|
||||||
bash-completion
|
|
||||||
bat
|
|
||||||
bear
|
|
||||||
biber
|
|
||||||
bison
|
|
||||||
bpytop
|
|
||||||
clang
|
|
||||||
clojure
|
|
||||||
cmake
|
|
||||||
cronie
|
|
||||||
dart-sass
|
|
||||||
dhcpcd
|
|
||||||
direnv
|
|
||||||
discount
|
|
||||||
docker
|
|
||||||
efibootmgr
|
|
||||||
efitools
|
|
||||||
exa
|
|
||||||
fakeroot
|
|
||||||
fd
|
|
||||||
ffmpegthumbnailer
|
|
||||||
firefox
|
|
||||||
fish
|
|
||||||
flex
|
|
||||||
fvextra
|
|
||||||
fzf
|
|
||||||
gcc
|
|
||||||
ghc
|
|
||||||
git
|
|
||||||
git-delta
|
|
||||||
glow
|
|
||||||
go
|
|
||||||
go-tools
|
|
||||||
gopls
|
|
||||||
grim
|
|
||||||
grub
|
|
||||||
hdparm
|
|
||||||
imv
|
|
||||||
inetutils
|
|
||||||
intel-ucode
|
|
||||||
isync
|
|
||||||
kitty
|
|
||||||
kubectl
|
|
||||||
leiningen
|
|
||||||
libgccjit
|
|
||||||
libreoffice-fresh
|
|
||||||
libva-intel-driver
|
|
||||||
libva-utils
|
|
||||||
light
|
|
||||||
linux
|
|
||||||
linux-firmware
|
|
||||||
llvm
|
|
||||||
lnav
|
|
||||||
lvm2
|
|
||||||
lxappearance
|
|
||||||
m4
|
|
||||||
make
|
|
||||||
mako
|
|
||||||
man-db
|
|
||||||
minikube
|
|
||||||
mkinitcpio
|
|
||||||
mosh
|
|
||||||
mpv
|
|
||||||
msmtp
|
|
||||||
neofetch
|
|
||||||
neomutt
|
|
||||||
neovim
|
|
||||||
networkmanager
|
|
||||||
newsboat
|
|
||||||
nnn
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
noto-fonts-extra
|
|
||||||
npm
|
|
||||||
openresolv
|
|
||||||
openssh
|
|
||||||
os-prober
|
|
||||||
pass
|
|
||||||
patch
|
|
||||||
pavucontrol
|
|
||||||
pcmanfm-gtk3
|
|
||||||
picard
|
|
||||||
pipewire-pulse
|
|
||||||
pkgconf
|
|
||||||
poppler-glib
|
|
||||||
postgresql
|
|
||||||
pulsemixer
|
|
||||||
pyright
|
|
||||||
python-packaging
|
|
||||||
python-pip
|
|
||||||
python-poetry
|
|
||||||
qt5-wayland
|
|
||||||
qt6-wayland
|
|
||||||
ranger
|
|
||||||
redis
|
|
||||||
rsync
|
|
||||||
rust-analyzer
|
|
||||||
sbsigntools
|
|
||||||
seatd
|
|
||||||
slurp
|
|
||||||
stow
|
|
||||||
sudo
|
|
||||||
sway
|
|
||||||
swayidle
|
|
||||||
swaylock
|
|
||||||
syncthing
|
|
||||||
texlive-bibtexextra
|
|
||||||
texlive-core
|
|
||||||
texlive-fontsextra
|
|
||||||
texlive-formatsextra
|
|
||||||
texlive-games
|
|
||||||
texlive-humanities
|
|
||||||
texlive-latexextra
|
|
||||||
texlive-music
|
|
||||||
texlive-pictures
|
|
||||||
texlive-pstricks
|
|
||||||
texlive-publishers
|
|
||||||
texlive-science
|
|
||||||
tmux
|
|
||||||
trash-cli
|
|
||||||
ttf-font-awesome
|
|
||||||
ttf-ibm-plex
|
|
||||||
ttf-liberation
|
|
||||||
ttf-overpass
|
|
||||||
udiskie
|
|
||||||
ufw
|
|
||||||
unzip
|
|
||||||
vim
|
|
||||||
waybar
|
|
||||||
wget
|
|
||||||
which
|
|
||||||
wireguard-tools
|
|
||||||
wl-clipboard
|
|
||||||
wofi
|
|
||||||
wpa_supplicant
|
|
||||||
xdg-desktop-portal-wlr
|
|
||||||
yt-dlp
|
|
||||||
zathura
|
|
||||||
zathura-djvu
|
|
||||||
zathura-pdf-mupdf
|
|
||||||
zip
|
|
||||||
zsh
|
|
@ -15,10 +15,10 @@ exec mako
|
|||||||
exec udiskie
|
exec udiskie
|
||||||
|
|
||||||
# night light and some gamma decrease
|
# night light and some gamma decrease
|
||||||
exec wlsunset -l 45.6 -L -73.5 -g 0.7
|
exec wlsunset -l 45.6 -L -73.5 -g 0.8
|
||||||
|
|
||||||
# bspwm throw back
|
# bspwm throw back
|
||||||
exec /usr/bin/autotiling
|
exec autotiling
|
||||||
|
|
||||||
# window manager
|
# window manager
|
||||||
exec env RUST_BACKTRACE=1 swayrd > /tmp/swayrd.log 2>&1
|
exec env RUST_BACKTRACE=1 swayrd > /tmp/swayrd.log 2>&1
|
||||||
@ -49,46 +49,42 @@ default_border pixel 5
|
|||||||
|
|
||||||
font pango:FiraCodeNerdFontMono Regular 11
|
font pango:FiraCodeNerdFontMono Regular 11
|
||||||
|
|
||||||
# Window decoration
|
# # class border bground text indicator child_border
|
||||||
# class border backgr. text indicator child_border
|
client.focused #F3722C #EBDBB2 #3C3836 #D65D0E #FE8019
|
||||||
client.focused #5e81ac #5e81ac #eceff4 #434c5e #5e81ac
|
client.unfocused #3C3836 #3C3836 #EBDBB2 #CC241D #504945
|
||||||
client.focused_inactive #4c566a #4c566a #d8dee9 #3b4252 #434c5e
|
client.focused_inactive #3C3836 #EBDBB2 #3C3836 #000000 #00000000
|
||||||
client.unfocused #4c566a #4c566a #d8dee9 #3b4252 #434c5e
|
|
||||||
client.urgent #bf616a #bf616a #eceff4 #900000 #bf616a
|
|
||||||
client.placeholder #000000 #0c0c0c #eceff4 #000000 #0c0c0c
|
|
||||||
|
|
||||||
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
|
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
|
||||||
gaps inner 6
|
gaps inner 6
|
||||||
gaps outer 3
|
gaps outer 3
|
||||||
|
|
||||||
# Key repeat rate
|
|
||||||
input type:keyboard {
|
|
||||||
repeat_delay 300
|
|
||||||
repeat_rate 30
|
|
||||||
}
|
|
||||||
|
|
||||||
### Output configuration
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||||
|
output * bg /home/minhradz/Downloads/lantern.jpg fill
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
|
||||||
output * bg /home/minhradz/Downloads/wall.png fill
|
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
|
||||||
|
#
|
||||||
|
|
||||||
output HDMI-A-1 res 1920x1080 position 0,0 adaptive_sync on
|
### Idle configuration
|
||||||
|
|
||||||
## Idle configuration
|
|
||||||
exec swayidle -w \
|
exec swayidle -w \
|
||||||
timeout 1800 'swaylock --ignore-empty-password --show-failed-attempts -f -c 000000' \
|
timeout 300 'swaylock -f -c 000000' \
|
||||||
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||||
before-sleep 'swaylock --ignore-empty-password --show-failed-attempts -f -c 000000'
|
before-sleep 'swaylock -f -c 000000'
|
||||||
|
|
||||||
for_window [title="Firefox — Sharing Indicator"] floating enable
|
for_window [title="Firefox — Sharing Indicator"] floating enable
|
||||||
for_window [title="Firefox — Sharing Indicator"] nofocus
|
for_window [title="Firefox — Sharing Indicator"] nofocus
|
||||||
for_window [app_id="mpv"] inhibit_idle visible; border none; max_render_time off
|
for_window [app_id="mpv"] inhibit_idle visible; border none; max_render_time off
|
||||||
for_window [app_id="soffice.bin"] inhibit_idle visible; border none; max_render_time off
|
for_window [app_id="soffice.bin"] inhibit_idle visible; border none; max_render_time off
|
||||||
|
for_window [class="firefox"] inhibit_idle fullscreen; max_render_time off
|
||||||
for_window [app_id="firefox"] inhibit_idle fullscreen; max_render_time off
|
for_window [app_id="firefox"] inhibit_idle fullscreen; max_render_time off
|
||||||
for_window [app_id="librewolf"] inhibit_idle fullscreen; max_render_time off
|
|
||||||
for_window [app_id="jellyfinmediaplayer"] inhibit_idle fullscreen; max_render_time off
|
for_window [app_id="jellyfinmediaplayer"] inhibit_idle fullscreen; max_render_time off
|
||||||
for_window [app_id="zathura"] inhibit_idle visible; max_render_time off
|
|
||||||
for_window [app_id="kitty"] inhibit_idle visible; max_render_time off
|
|
||||||
for_window [app_id="emacs"] inhibit_idle visible; max_render_time off
|
|
||||||
|
|
||||||
### Input configuration
|
### Input configuration
|
||||||
#
|
#
|
||||||
@ -123,7 +119,7 @@ for_window [app_id="emacs"] inhibit_idle visible; max_render_time off
|
|||||||
bindsym $mod+Shift+c reload
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
# Exit sway (logs you out of your Wayland session)
|
# Exit sway (logs you out of your Wayland session)
|
||||||
bindsym $mod+Shift+e exec wlogout
|
bindsym $mod+Shift+e exec exec wlogout
|
||||||
|
|
||||||
# clipboard manager
|
# clipboard manager
|
||||||
bindsym $mod+p exec clipman pick -t wofi
|
bindsym $mod+p exec clipman pick -t wofi
|
||||||
@ -154,9 +150,6 @@ for_window [app_id="emacs"] inhibit_idle visible; max_render_time off
|
|||||||
#
|
#
|
||||||
# Workspaces:
|
# Workspaces:
|
||||||
#
|
#
|
||||||
# Switch to last workspace
|
|
||||||
bindsym $mod+Tab workspace back_and_forth
|
|
||||||
|
|
||||||
# Switch to workspace
|
# Switch to workspace
|
||||||
bindsym $mod+1 workspace number 1
|
bindsym $mod+1 workspace number 1
|
||||||
bindsym $mod+2 workspace number 2
|
bindsym $mod+2 workspace number 2
|
||||||
@ -168,19 +161,6 @@ for_window [app_id="emacs"] inhibit_idle visible; max_render_time off
|
|||||||
bindsym $mod+8 workspace number 8
|
bindsym $mod+8 workspace number 8
|
||||||
bindsym $mod+9 workspace number 9
|
bindsym $mod+9 workspace number 9
|
||||||
bindsym $mod+0 workspace number 10
|
bindsym $mod+0 workspace number 10
|
||||||
|
|
||||||
# workspaces from 11-20
|
|
||||||
bindsym $mod+Control+1 workspace 11
|
|
||||||
bindsym $mod+Control+2 workspace 12
|
|
||||||
bindsym $mod+Control+3 workspace 13
|
|
||||||
bindsym $mod+Control+4 workspace 14
|
|
||||||
bindsym $mod+Control+5 workspace 15
|
|
||||||
bindsym $mod+Control+6 workspace 16
|
|
||||||
bindsym $mod+Control+7 workspace 17
|
|
||||||
bindsym $mod+Control+8 workspace 18
|
|
||||||
bindsym $mod+Control+9 workspace 19
|
|
||||||
bindsym $mod+Control+0 workspace 20
|
|
||||||
|
|
||||||
# Move focused container to workspace
|
# Move focused container to workspace
|
||||||
bindsym $mod+Shift+1 move container to workspace number 1
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
bindsym $mod+Shift+2 move container to workspace number 2
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
@ -192,16 +172,6 @@ for_window [app_id="emacs"] inhibit_idle visible; max_render_time off
|
|||||||
bindsym $mod+Shift+8 move container to workspace number 8
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
bindsym $mod+Shift+9 move container to workspace number 9
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
bindsym $mod+Shift+0 move container to workspace number 10
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
bindsym $mod+Control+Shift+1 move container to workspace 11
|
|
||||||
bindsym $mod+Control+Shift+2 move container to workspace 12
|
|
||||||
bindsym $mod+Control+Shift+3 move container to workspace 13
|
|
||||||
bindsym $mod+Control+Shift+4 move container to workspace 14
|
|
||||||
bindsym $mod+Control+Shift+5 move container to workspace 15
|
|
||||||
bindsym $mod+Control+Shift+6 move container to workspace 16
|
|
||||||
bindsym $mod+Control+Shift+7 move container to workspace 17
|
|
||||||
bindsym $mod+Control+Shift+8 move container to workspace 18
|
|
||||||
bindsym $mod+Control+Shift+9 move container to workspace 19
|
|
||||||
bindsym $mod+Control+Shift+0 move container to workspace 20
|
|
||||||
# Note: workspaces can have any name you want, not just numbers.
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
# We just use 1-10 as the default.
|
# We just use 1-10 as the default.
|
||||||
#
|
#
|
||||||
@ -257,13 +227,14 @@ mode "resize" {
|
|||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
bindsym $mod+e exec emacsclient -nc
|
bindsym $mod+e exec emacsclient -nc
|
||||||
|
|
||||||
bindsym $mod+Right workspace next
|
bindsym $mod+Right workspace next
|
||||||
bindsym $mod+Left workspace prev
|
bindsym $mod+Left workspace prev
|
||||||
|
|
||||||
|
bindsym $mod+Tab exec swayr next-window current-workspace
|
||||||
|
|
||||||
#
|
#
|
||||||
# Status Bar:
|
# Status Bar:
|
||||||
#
|
#
|
||||||
@ -274,8 +245,8 @@ bar {
|
|||||||
|
|
||||||
include /etc/sway/config.d/*
|
include /etc/sway/config.d/*
|
||||||
|
|
||||||
bindsym XF86AudioRaiseVolume exec pactl -- set-sink-volume 0 +5% > $SWAYSOCK.wob
|
bindsym XF86AudioRaiseVolume exec pulsemixer --change-volume +2 && pulsemixer --get-volume > $SWAYSOCK.wob
|
||||||
bindsym XF86AudioLowerVolume exec pactl -- set-sink-volume 0 -5% > $SWAYSOCK.wob
|
bindsym XF86AudioLowerVolume exec pulsemixer --change-volume -2 && pulsemixer --get-volume > $SWAYSOCK.wob
|
||||||
bindsym XF86AudioMute exec pulsemixer --toggle-mute && ( pulsemixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob
|
bindsym XF86AudioMute exec pulsemixer --toggle-mute && ( pulsemixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob
|
||||||
bindsym XF86MonBrightnessUp exec light -A 10
|
bindsym XF86MonBrightnessUp exec light -A 10
|
||||||
bindsym XF86MonBrightnessDown exec light -U 10
|
bindsym XF86MonBrightnessDown exec light -U 10
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
set-environment -g PATH "/usr/local/bin:/bin:/usr/bin"
|
|
||||||
|
|
||||||
# remap prefix from 'C-b' to 'C-a'
|
# remap prefix from 'C-b' to 'C-a'
|
||||||
unbind C-b
|
unbind C-b
|
||||||
set-option -g prefix C-a
|
set-option -g prefix C-a
|
||||||
@ -14,9 +12,8 @@ unbind %
|
|||||||
|
|
||||||
set-option -g default-shell /usr/bin/fish
|
set-option -g default-shell /usr/bin/fish
|
||||||
|
|
||||||
# window and pane index number starts at 1
|
# index number starts at 1
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
setw -g pane-base-index 1
|
|
||||||
|
|
||||||
# vi-mode
|
# vi-mode
|
||||||
set-window-option -g mode-keys vi
|
set-window-option -g mode-keys vi
|
||||||
@ -26,38 +23,17 @@ bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'wl-copy'
|
|||||||
# reload config file (change file location to your the tmux.conf you want to use)
|
# reload config file (change file location to your the tmux.conf you want to use)
|
||||||
bind r source-file /home/minhradz/.tmux.conf
|
bind r source-file /home/minhradz/.tmux.conf
|
||||||
|
|
||||||
# is_vim="children=(); i=0; pids=( $(ps -o pid= -t '#{pane_tty}') ); \
|
# switch panes using Alt-arrow without prefix
|
||||||
# while read -r c p; do [[ -n c && c -ne p && p -ne 0 ]] && children[p]+=\" $\{c\}\"; done <<< \"$(ps -Ao pid=,ppid=)\"; \
|
bind -n M-Left select-pane -L
|
||||||
# while (( $\{#pids[@]\} > i )); do pid=$\{pids[i++]\}; pids+=( $\{children[pid]-\} ); done; \
|
bind -n M-Right select-pane -R
|
||||||
# ps -o state=,comm= -p \"$\{pids[@]\}\" | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?vim?x?)(diff)?$'"
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
|
||||||
|
|
||||||
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' { if -F '#{pane_at_left}' '' 'select-pane -L' }
|
|
||||||
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' { if -F '#{pane_at_bottom}' '' 'select-pane -D' }
|
|
||||||
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' { if -F '#{pane_at_top}' '' 'select-pane -U' }
|
|
||||||
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' { if -F '#{pane_at_right}' '' 'select-pane -R' }
|
|
||||||
|
|
||||||
bind-key -T copy-mode-vi 'C-h' if -F '#{pane_at_left}' '' 'select-pane -L'
|
|
||||||
bind-key -T copy-mode-vi 'C-j' if -F '#{pane_at_bottom}' '' 'select-pane -D'
|
|
||||||
bind-key -T copy-mode-vi 'C-k' if -F '#{pane_at_top}' '' 'select-pane -U'
|
|
||||||
bind-key -T copy-mode-vi 'C-l' if -F '#{pane_at_right}' '' 'select-pane -R'
|
|
||||||
|
|
||||||
bind -n 'M-h' if-shell "$is_vim" 'send-keys M-h' 'resize-pane -L 1'
|
|
||||||
bind -n 'M-j' if-shell "$is_vim" 'send-keys M-j' 'resize-pane -D 1'
|
|
||||||
bind -n 'M-k' if-shell "$is_vim" 'send-keys M-k' 'resize-pane -U 1'
|
|
||||||
bind -n 'M-l' if-shell "$is_vim" 'send-keys M-l' 'resize-pane -R 1'
|
|
||||||
|
|
||||||
bind-key -T copy-mode-vi M-h resize-pane -L 1
|
|
||||||
bind-key -T copy-mode-vi M-j resize-pane -D 1
|
|
||||||
bind-key -T copy-mode-vi M-k resize-pane -U 1
|
|
||||||
bind-key -T copy-mode-vi M-l resize-pane -R 1
|
|
||||||
|
|
||||||
# Enable mouse mode (tmux 2.1 and above)
|
# Enable mouse mode (tmux 2.1 and above)
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
|
||||||
# Neovim escape time
|
# Neovim escape time
|
||||||
set-option -sg escape-time 1
|
set-option -sg escape-time 10
|
||||||
set-option -g focus-events on
|
set-option -g focus-events on
|
||||||
|
|
||||||
######################
|
######################
|
||||||
@ -73,9 +49,11 @@ set -g bell-action none
|
|||||||
|
|
||||||
# List of plugins
|
# List of plugins
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
set -g @plugin "arcticicestudio/nord-tmux"
|
set -g @plugin 'egel/tmux-gruvbox'
|
||||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||||
|
|
||||||
|
set -g @tmux-gruvbox 'dark' # or 'light'
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run -b '~/.tmux/plugins/tpm/tpm'
|
run -b '~/.tmux/plugins/tpm/tpm'
|
||||||
|
@ -1,24 +1,15 @@
|
|||||||
// Nord theme
|
// Gruvbox Material theme
|
||||||
$nord0: #2e3440;
|
|
||||||
$nord1: #3b4252;
|
|
||||||
$nord2: #434c5e;
|
|
||||||
$nord3: #4c566a;
|
|
||||||
$nord4: #d8dee9;
|
|
||||||
$nord5: #e5e9f0;
|
|
||||||
$nord6: #eceff4;
|
|
||||||
$nord8: #88c0d0;
|
|
||||||
$nord9: #81a1c1;
|
|
||||||
|
|
||||||
$blue: #5e81ac;
|
$red: #ea6962;
|
||||||
$red: #bf616a;
|
$orange: #e78a4e;
|
||||||
$cyan: #8fbcbb;
|
$yellow: #d8a657;
|
||||||
$orange: #d08770;
|
$green: #a9b665;
|
||||||
$yellow: #ebcb8b;
|
$cyan: #89b482;
|
||||||
$green: #a3be8c;
|
$blue: #7daea3;
|
||||||
$magenta: #b48ead;
|
$magenta: #d3869b;
|
||||||
|
|
||||||
$bg: $nord1;
|
$bg: #464646;
|
||||||
$fg: $magenta;
|
$fg: $orange;
|
||||||
|
|
||||||
$fg-opposite: scale-color($fg, $lightness: -25%, $saturation: -15%);
|
$fg-opposite: scale-color($fg, $lightness: -25%, $saturation: -15%);
|
||||||
|
|
||||||
|
@ -29,16 +29,8 @@
|
|||||||
"8": "八",
|
"8": "八",
|
||||||
"9": "九",
|
"9": "九",
|
||||||
"10": "十",
|
"10": "十",
|
||||||
"11": "十一",
|
"focused": "",
|
||||||
"12": "十二",
|
"default": ""
|
||||||
"13": "十三",
|
|
||||||
"14": "十四",
|
|
||||||
"15": "十五",
|
|
||||||
"16": "十六",
|
|
||||||
"17": "十七",
|
|
||||||
"18": "十八",
|
|
||||||
"19": "十九",
|
|
||||||
"20": "二十"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cpu": {
|
"cpu": {
|
||||||
@ -48,8 +40,7 @@
|
|||||||
"states": {
|
"states": {
|
||||||
"warning": 70,
|
"warning": 70,
|
||||||
"critical": 90
|
"critical": 90
|
||||||
},
|
}
|
||||||
"on-click": ""
|
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
@ -58,7 +49,6 @@
|
|||||||
"warning": 70,
|
"warning": 70,
|
||||||
"critical": 90
|
"critical": 90
|
||||||
},
|
},
|
||||||
"on-click": ""
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"battery": {
|
"battery": {
|
||||||
@ -74,8 +64,7 @@
|
|||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
""
|
""
|
||||||
],
|
]
|
||||||
"on-click": ""
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"tray": {
|
"tray": {
|
||||||
@ -86,13 +75,11 @@
|
|||||||
"clock": {
|
"clock": {
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
"format": "{:%I:%M %p}",
|
"format": "{:%I:%M %p}",
|
||||||
"on-click": ""
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"clock#date": {
|
"clock#date": {
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
"format": "{:%B %d, %A}",
|
"format": "{:%B %d, %A}",
|
||||||
"on-click": ""
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
#pulseaudio, #clock, #tags, #language, #memory, #network, #sndio,
|
#pulseaudio, #clock, #tags, #language, #memory, #network, #sndio,
|
||||||
#mode, #window, #workspaces, #temperature, #taskbar, #workspaces,
|
#mode, #window, #workspaces, #temperature, #taskbar, #workspaces,
|
||||||
#custom-treefetch-downloads, #custom-update-count {
|
#custom-treefetch-downloads, #custom-update-count {
|
||||||
box-shadow: 4px 4px 0 #292c34;
|
box-shadow: 4px 4px 0 #2e2e2e;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
margin-right: 7px;
|
margin-right: 7px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
background: #3b4252;
|
background: #464646;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -18,18 +18,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
color: #ebcb8b;
|
color: #d8a657;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 1px 1px 0px 1px;
|
padding: 1px 1px 0px 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
border: 1px solid #b48ead;
|
border: 1px solid #e78a4e;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #b48ead;
|
color: #e78a4e;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modules-left, .modules-center, .modules-right {
|
.modules-left, .modules-center, .modules-right {
|
||||||
@ -57,17 +57,17 @@ window#waybar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#mpd {
|
#mpd {
|
||||||
color: #3b4252;
|
color: #464646;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-mpd-song-scroll {
|
#custom-mpd-song-scroll {
|
||||||
color: #8d6486;
|
color: #bf6429;
|
||||||
margin-right: 50px;
|
margin-right: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tags button {
|
#tags button {
|
||||||
color: #65718c;
|
color: #787878;
|
||||||
font-family: "Source Han Sans JP Heavy";
|
font-family: "Source Han Sans JP Heavy";
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
@ -84,20 +84,20 @@ window#waybar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#tags button:hover {
|
#tags button:hover {
|
||||||
color: #3b4252;
|
color: #464646;
|
||||||
background: #65718c;
|
background: #787878;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
transition: 0;
|
transition: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tags button.focused {
|
#tags button.focused {
|
||||||
color: #3b4252;
|
color: #464646;
|
||||||
background: #b48ead;
|
background: #e78a4e;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tags button.urgent {
|
#tags button.urgent {
|
||||||
color: #bf616a;
|
color: #ea6962;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes fadein {
|
@keyframes fadein {
|
||||||
@ -109,7 +109,7 @@ window#waybar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tooltip {
|
tooltip {
|
||||||
background: #3b4252;
|
background: #464646;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
font-family: "JetBrains Mono Nerd Font", monospace;
|
font-family: "JetBrains Mono Nerd Font", monospace;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@ -117,18 +117,18 @@ tooltip {
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
animation-name: fadein;
|
animation-name: fadein;
|
||||||
animation-duration: 0.2s;
|
animation-duration: 0.2s;
|
||||||
border: 2px solid #65718c;
|
border: 2px solid #787878;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
color: #b48ead;
|
color: #e78a4e;
|
||||||
}
|
}
|
||||||
|
|
||||||
tooltip label {
|
tooltip label {
|
||||||
color: #b48ead;
|
color: #e78a4e;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray menu {
|
#tray menu {
|
||||||
background: #3b4252;
|
background: #464646;
|
||||||
color: #b48ead;
|
color: #e78a4e;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 2px solid #65718c;
|
border: 2px solid #787878;
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,24 @@
|
|||||||
{
|
{
|
||||||
"label" : "lock",
|
"label" : "lock",
|
||||||
"action" : "swaylock --ignore-empty-password --show-failed-attempts -f -c 000000",
|
"action" : "swaylock -c ~/.config/swaylock/config",
|
||||||
"text" : "Lock",
|
"text" : "Lock",
|
||||||
"keybind" : "l"
|
"keybind" : "l"
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"label" : "hibernate",
|
"label" : "hibernate",
|
||||||
"action" : "systemctl suspend",
|
"action" : "systemctl hibernate",
|
||||||
"text" : "Hibernate",
|
"text" : "Hibernate",
|
||||||
|
"keybind" : "h"
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"label" : "logout",
|
"label" : "logout",
|
||||||
"action" : "swaymsg exit",
|
"action" : "loginctl terminate-user $USER",
|
||||||
"text" : "Logout",
|
"text" : "Logout",
|
||||||
"keybind" : "e"
|
"keybind" : "e"
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"label" : "shutdown",
|
"label" : "shutdown",
|
||||||
"action" : "shutdown now",
|
"action" : "systemctl poweroff",
|
||||||
"text" : "Shutdown",
|
"text" : "Shutdown",
|
||||||
"keybind" : "s"
|
"keybind" : "s"
|
||||||
}
|
}
|
||||||
|
@ -1,52 +1,51 @@
|
|||||||
* {
|
* {
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@keyframes fadeIn {
|
|
||||||
from {opacity: 0;}
|
|
||||||
to {opacity: 1;}
|
|
||||||
}
|
|
||||||
window {
|
window {
|
||||||
background-color: rgba(46,52,64, 0.9);
|
background-image: image(url("/home/minhradz/Downloads/lantern.jpg"), url("/home/minhradz/Downloads/lantern.jpg"));
|
||||||
font-size: 26px;
|
|
||||||
font-family: Product Sans;
|
|
||||||
animation: fadeIn;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
color: #eceff4;
|
background-color: #2e3440;
|
||||||
background-color: #4c566a;
|
border-width: 0px;
|
||||||
border-style: solid;
|
border-radius: 0;
|
||||||
margin: 20px;
|
|
||||||
border: 3px solid #3b4252;
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
color: #5e81ac;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:focus, button:active, button:hover {
|
button:active, button:hover {
|
||||||
background-color: #5e81ac;
|
background-color: #4c566a;
|
||||||
|
color: #81a1c1;
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#lock {
|
#lock {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/share/wlogout/icons/logout.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#logout {
|
#logout {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#suspend {
|
#suspend {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#hibernate {
|
#hibernate {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#shutdown {
|
#shutdown {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#reboot {
|
#reboot {
|
||||||
background-image: image(url("/home/minhradz/.config/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
opacity: 0.9;
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,5 @@
|
|||||||
stylesheet=/home/minhradz/.config/wofi/style.css
|
term=kitty -1
|
||||||
xoffset=0%
|
|
||||||
yoffset=0%
|
|
||||||
hide_scroll=true
|
|
||||||
show=drun
|
|
||||||
width=15%
|
|
||||||
lines=10
|
|
||||||
line_wrap=word
|
|
||||||
term=kitty
|
|
||||||
allow_markup=true
|
|
||||||
always_parse_args=true
|
|
||||||
show_all=true
|
|
||||||
print_command=true
|
|
||||||
layer=overlay
|
|
||||||
allow-images=true
|
allow-images=true
|
||||||
insensitive=true
|
|
||||||
prompt=
|
|
||||||
image_size=25
|
image_size=25
|
||||||
display_generic=true
|
|
||||||
key_expand=Tab
|
key_expand=Tab
|
||||||
|
show=drun
|
||||||
|
@ -1,69 +1,63 @@
|
|||||||
#entry {
|
#window {
|
||||||
border-radius: 5px;
|
padding: 2px;
|
||||||
padding: 7px;
|
background-color: transparent;
|
||||||
margin: 0px 5px 0px 5px;
|
font-family: JetBrainsMonoMedium Nerd Font Mono;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes fadeIn {
|
#entry {
|
||||||
from {
|
border-radius: 5px;
|
||||||
opacity: 0;
|
padding: 5px;
|
||||||
}
|
margin-bottom: 5px;
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
background-color: #5e81ac;
|
background-color: #665C54;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
padding: 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
color:#FBF1C7;
|
||||||
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#text:selected {
|
#text:selected {
|
||||||
color: #d8dee9;
|
font-size:14px;
|
||||||
|
font-weight:400;
|
||||||
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
|
||||||
background-color: #3b4252;
|
|
||||||
background-color: transparent;
|
|
||||||
border-radius: 15px;
|
|
||||||
font-family: Product Sans;
|
|
||||||
animation: fadeIn;
|
|
||||||
animation-duration: 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input {
|
#input {
|
||||||
border: 2px solid #5e81ac;
|
border: 2px solid #3C3836;
|
||||||
background-color: #4c566a;
|
background-color: #EBDBB2;
|
||||||
padding: 6px;
|
padding: 5px;
|
||||||
margin: 15px;
|
font-size: 13px;
|
||||||
margin-bottom: 0px;
|
border-radius: 8px;
|
||||||
font-size: 16px;
|
color: #1D2021;
|
||||||
border-radius: 5px;
|
box-shadow: 0 0 5px black;
|
||||||
}
|
}
|
||||||
|
|
||||||
#inner-box {
|
#inner-box {
|
||||||
|
margin-top: 10px;
|
||||||
color: #d8dee9;
|
color: #d8dee9;
|
||||||
padding: 10px;
|
padding: 8px;
|
||||||
padding-top: 5px;
|
border-radius:8px;
|
||||||
|
border-width: 2px;
|
||||||
|
border:2px solid #BDAE93;
|
||||||
|
background-color: #282828;
|
||||||
|
box-shadow: 0 0 5px black;
|
||||||
}
|
}
|
||||||
|
|
||||||
#outer-box {
|
#outer-box {
|
||||||
margin: 15px;
|
margin: 15px;
|
||||||
border-radius: 15px;
|
background-color: transparent;
|
||||||
background-color: rgba(53, 59, 73, 1);
|
|
||||||
box-shadow: 0px 0px 5px 0 #0f0f0f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#scroll {
|
#scroll {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#text {
|
|
||||||
font-size: 16px;
|
|
||||||
padding: 7px;
|
|
||||||
color: #d8dee9;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#img {
|
#img {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
@ -1 +0,0 @@
|
|||||||
eval $(keychain --eval --agents "gpg,ssh" --quiet id_ed25519 E13CFA85C53F8062)
|
|
@ -1,9 +0,0 @@
|
|||||||
export EDITOR=lvim
|
|
||||||
export MANPAGER="lvim +Man!"
|
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
|
||||||
|
|
||||||
path+=('/home/minhradz/.cargo/bin')
|
|
||||||
path+=('/home/minhradz/.local/bin')
|
|
||||||
|
|
||||||
export BUN_INSTALL="$HOME/.bun"
|
|
||||||
export PATH="$BUN_INSTALL/bin:$PATH"
|
|
56
zsh/.zshrc
56
zsh/.zshrc
@ -1,56 +0,0 @@
|
|||||||
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
|
|
||||||
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
|
|
||||||
zstyle ':completion:*' list-colors ''
|
|
||||||
zstyle :compinstall filename '/home/minhradz/.zshrc'
|
|
||||||
|
|
||||||
autoload -Uz compinit
|
|
||||||
compinit
|
|
||||||
# End of lines added by compinstall
|
|
||||||
# Lines configured by zsh-newuser-install
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=1000
|
|
||||||
SAVEHIST=1000
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
|
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
|
|
||||||
test -s ~/.alias && . ~/.alias || true
|
|
||||||
|
|
||||||
### Added by Zinit's installer
|
|
||||||
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
|
|
||||||
print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
|
|
||||||
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
|
|
||||||
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
|
|
||||||
print -P "%F{33} %F{34}Installation successful.%f%b" || \
|
|
||||||
print -P "%F{160} The clone has failed.%f%b"
|
|
||||||
fi
|
|
||||||
|
|
||||||
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
|
|
||||||
autoload -Uz _zinit
|
|
||||||
(( ${+_comps} )) && _comps[zinit]=_zinit
|
|
||||||
|
|
||||||
# Load a few important annexes, without Turbo
|
|
||||||
# (this is currently required for annexes)
|
|
||||||
zinit light-mode for \
|
|
||||||
zdharma-continuum/zinit-annex-as-monitor \
|
|
||||||
zdharma-continuum/zinit-annex-bin-gem-node \
|
|
||||||
zdharma-continuum/zinit-annex-patch-dl \
|
|
||||||
zdharma-continuum/zinit-annex-rust
|
|
||||||
|
|
||||||
### End of Zinit's installer chunk
|
|
||||||
|
|
||||||
# zsh-fzf-history-search
|
|
||||||
zinit ice lucid wait'0'
|
|
||||||
zinit light joshskidmore/zsh-fzf-history-search
|
|
||||||
|
|
||||||
# Two regular plugins loaded without investigating.
|
|
||||||
zinit light zsh-users/zsh-autosuggestions
|
|
||||||
zinit light zdharma-continuum/fast-syntax-highlighting
|
|
||||||
zinit light chitoku-k/fzf-zsh-completions
|
|
||||||
zinit light greymd/docker-zsh-completion
|
|
||||||
|
|
||||||
eval "$(fnm env --use-on-cd)"
|
|
||||||
|
|
||||||
eval "$(starship init zsh)"
|
|
Loading…
x
Reference in New Issue
Block a user