zsh plugins, tmux tweaks

main
Petr Nyc 1 year ago
parent e4af88ee68
commit 2aab479968
  1. 28
      .config/alacritty/alacritty.toml
  2. 3
      .config/mc/ini
  3. 2
      .p10k.zsh
  4. 92
      .spacemacs
  5. 27
      .tmux.conf
  6. 3
      .zshenv
  7. 51
      .zshrc

@ -8,21 +8,22 @@ import = ["~/.config/alacritty/themes/themes/solarized_dark.toml"]
[font]
## MesloLGS font
# normal.family = "MesloLGS Nerd Font Mono"
# bold.family = "MesloLGS Nerd Font Mono"
# italic.family = "MesloLGS Nerd Font Mono"
# bold_italic.family = "MesloLGS Nerd Font Mono"
# size = 18
# offset.x = 1
# JetBrains Nerd font
normal.family = "JetBrainsMono NF"
bold.family = "JetBrainsMono NF SemiBold"
italic.family = "JetBrainsMono NFM Thin"
bold_italic.family = "JetBrainsMono NFM"
normal.family = "MesloLGS Nerd Font Mono"
bold.family = "MesloLGS Nerd Font Mono"
italic.family = "MesloLGS Nerd Font Mono"
bold_italic.family = "MesloLGS Nerd Font Mono"
size = 18
offset.x = 1
# JetBrains Nerd font
# normal.family = "JetBrainsMono NF"
# bold.family = "JetBrainsMono NF SemiBold"
# italic.family = "JetBrainsMono NFM Thin"
# bold_italic.family = "JetBrainsMono NFM"
# size = 18
# offset.x = 1
# offset.y = 0
[window]
dynamic_padding = true
padding.x = 5
@ -49,7 +50,8 @@ history = 20000
# key bidnings
# use xxd to find codes of key presses
# use xxd to find unicode codes of key presses
# use cat -v to find escape codes of various key combos
[keyboard]
bindings = [

@ -87,7 +87,7 @@ skin=solarized-dark-256color
[Layout]
output_lines=0
left_panel_size=75
left_panel_size=64
top_panel_size=0
message_visible=true
keybar_visible=true
@ -114,6 +114,7 @@ clipboard_paste=
base_color=
xterm-256color=
color_terminals=
alacritty=
[Panels]
show_mini_info=true

@ -990,7 +990,7 @@
# Nvm color.
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
# Custom icon.
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL10K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
# Nodeenv color.

@ -32,7 +32,8 @@ This function should only modify configuration layer settings."
;; List of configuration layers to load.
dotspacemacs-configuration-layers
'(html
'(toml
html
python
javascript
;; ----------------------------------------------------------------
@ -52,6 +53,11 @@ This function should only modify configuration layer settings."
(org :variables
org-enable-bootstrap-support t
org-enable-jira-support t
org-enable-roam-support t
org-enable-roam-ui t
org-roam-completion-everywhere t
;; this does not work weel with my current font
;; org-enable-modern-support t
)
shell-scripts
dap ;; debugging
@ -558,7 +564,7 @@ default it calls `spacemacs/load-spacemacs-env' which loads the environment
variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'.
See the header of this file for more information."
(spacemacs/load-spacemacs-env)
)
)
(defun dotspacemacs/user-init ()
"Initialization for user code:
@ -566,9 +572,9 @@ This function is called immediately after `dotspacemacs/init', before layer
configuration.
It is mostly for variables that should be set before packages are loaded.
If you are unsure, try setting them in `dotspacemacs/user-config' first."
(add-to-list 'tramp-connection-properties
(list ".*" "remote-shell" "/bin/ksh"))
)
;; (add-to-list 'tramp-connection-properties
;; (list ".*" "remote-shell" "/bin/ksh"))
)
(defun dotspacemacs/user-load ()
@ -576,7 +582,7 @@ If you are unsure, try setting them in `dotspacemacs/user-config' first."
This function is called only while dumping Spacemacs configuration. You can
`require' or `load' the libraries of your choice that will be included in the
dump."
)
)
(defun dotspacemacs/user-config ()
@ -600,6 +606,48 @@ before packages are loaded."
;; (global-set-key (kbd "TAB") 'yas-expand)
;; (global-set-key (kbd "TAB") 'hippie-expand)
;; ;; Org-roam v2 configuration
;; (use-package org-roam
;; :ensure t
;; :custom
;; (org-roam-directory (file-truename "~/Documents/org/roam"))
;; (org-roam-completion-everywhere t)
;; :bind (("C-c n l" . org-roam-buffer-toggle)
;; ("C-c n f" . org-roam-node-find)
;; ("C-c n g" . org-roam-graph)
;; ("C-c n i" . org-roam-node-insert)
;; ("C-c n c" . org-roam-capture)
;; ;; Daylies
;; ("C-c n j" . org-roam-dailies-capture-today)
;; :map org-mode-map
;; ("C-M-i" . completion-at-point )
;; )
;; :config
;; (org-roam-db-autosync-mode))
;; Proxy toggle function
(setq http_proxy "http://www-proxy.uk.oracle.com:80")
(defun toggle-proxy ()
"Toggle proxy settings for Emacs."
(interactive)
(if (and (boundp 'url-proxy-services) url-proxy-services)
(progn
(setq url-proxy-services nil)
(message "Proxy disabled"))
(setq url-proxy-services
`(("no_proxy" . "localhost")
("http" . ,http_proxy)
("https" . ,http_proxy)))
(message ( concat "Proxy enabled: " http_proxy)))
)
;; Bind proxy toggle function to a key
(spacemacs/set-leader-keys "ot" 'toggle-proxy)
;; idea from chatgpt
(defun set-dotfiles-environment ()
"Set environment variables for the dotfiles repository."
@ -623,15 +671,30 @@ before packages are loaded."
(magit-status)
(unset-dotfiles-environment)))
(require 'org-protocol)
(require 'org-protocol)
(with-eval-after-load 'org
(with-eval-after-load 'org
;; org mode config
(add-to-list 'org-modules 'org-protocol)
(setq org-roam-directory (file-truename "~/Documents/org/roam"))
;; test from https://superuser.com/questions/452649/org-mode-to-markdown-converter
(require 'ox-md nil t)
;; trick to be able to search by tags when using SPC a o r f
;; from https://github.com/org-roam/org-roam/pull/2054
;; Original value was "${title}"
(setq org-roam-node-display-template
(concat "${title:} " (propertize "${tags:10}" 'face 'org-tag)))
;; org-modern customization
;; look into https://github.com/minad/org-modern/blob/main/org-modern.el for possible values
(setq org-modern-progress nil)
(setq org-enable-roam-ui t)
(setq org-directory "~/Documents/org")
(setq org-default-notes-file "~/Documents/org/inbox.org")
;; Define the custum capture templates
@ -639,7 +702,7 @@ before packages are loaded."
'(("t" "Todo [inbox] clock_in clock_resume " entry (file+headline org-default-notes-file "Tasks")
"* TODO %?\n%u\n%a\n" :clock-in t :clock-resume t)
("m" "Meeting [diary] " entry (file+headline org-default-notes-file "Meetings")
"* MEETING with %? :Meeting:\n%t" :clock-in t :clock-resume t)
"* MEETING %? :Meeting:\n%t" :clock-in t :clock-resume t)
("d" "Diary [diary] " entry (file+datetree "~/org/diary.org")
"* %?\n%U\n" :clock-in t :clock-resume t)
("i" "Idea [inbox] " entry (file org-default-notes-file)
@ -761,7 +824,7 @@ before packages are loaded."
(org-alert-enable))
) ;; user-config
) ;; user-config
;; Do not write anything past this comment. This is where Emacs will
@ -771,20 +834,21 @@ before packages are loaded."
This is an auto-generated function, do not modify its content directly, use
Emacs customize menu instead.
This function is called at the very end of Spacemacs initialization."
(custom-set-variables
(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.
'(desktop-save-mode t)
'(org-download-screenshot-method "screencapture -i %s")
'(org-safe-remote-resources
'("\\`https://fniessen\\.github\\.io/org-html-themes/org/theme-Bigblow\\.setup\\'"))
'(package-selected-packages
'(org-alert web-mode git-link git-messenger git-modes git-timemachine gitignore-templates helm-git-grep helm-ls-git orgit-forge orgit forge ghub closql emacsql treepy smeargle treemacs-magit magit magit-section git-commit with-editor dash blacken code-cells company-anaconda anaconda-mode cython-mode helm-cscope helm-pydoc importmagic epc ctable concurrent deferred live-py-mode lsp-pyright lsp-python-ms nose pip-requirements pipenv load-env-vars pippel transient seq compat py-isort pydoc pyenv-mode pythonic pylookup pytest pyvenv sphinx-doc stickyfunc-enhance xcscope yapfify add-node-modules-path counsel-gtags counsel swiper ivy ggtags helm-gtags wfnames impatient-mode import-js grizzl js-doc js2-refactor multiple-cursors livid-mode nodejs-repl npm-mode prettier-js skewer-mode js2-mode simple-httpd tern web-beautify grab-mac-link org-mac-link ac-ispell auto-complete auto-yasnippet company-shell dap-mode lsp-docker bui yaml evil-org fish-mode flycheck-bashate flycheck-pos-tip pos-tip fuzzy gh-md gnuplot helm-c-yasnippet helm-company company helm-lsp helm-org-rifle htmlize insert-shebang lsp-origami origami lsp-treemacs lsp-ui lsp-mode markdown-toc markdown-mode mmm-mode org org-cliplink org-contrib org-download org-jira org-mime org-pomodoro alert log4e gntp org-present org-projectile org-category-capture org-rich-yank ox-jira ox-twbs shfmt reformatter yasnippet-snippets yasnippet ws-butler writeroom-mode winum which-key volatile-highlights vim-powerline vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org term-cursor symon symbol-overlay string-inflection string-edit-at-point spacemacs-whitespace-cleanup spacemacs-purpose-popwin spaceline-all-the-icons space-doc restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete holy-mode hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt help-fns+ helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-evilified-state evil-escape evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)))
(custom-set-faces
'(toml-mode org-modern org-roam-ui websocket org-roam org-alert web-mode git-link git-messenger git-modes git-timemachine gitignore-templates helm-git-grep helm-ls-git orgit-forge orgit forge ghub closql emacsql treepy smeargle treemacs-magit magit magit-section git-commit with-editor dash blacken code-cells company-anaconda anaconda-mode cython-mode helm-cscope helm-pydoc importmagic epc ctable concurrent deferred live-py-mode lsp-pyright lsp-python-ms nose pip-requirements pipenv load-env-vars pippel transient seq compat py-isort pydoc pyenv-mode pythonic pylookup pytest pyvenv sphinx-doc stickyfunc-enhance xcscope yapfify add-node-modules-path counsel-gtags counsel swiper ivy ggtags helm-gtags wfnames impatient-mode import-js grizzl js-doc js2-refactor multiple-cursors livid-mode nodejs-repl npm-mode prettier-js skewer-mode js2-mode simple-httpd tern web-beautify grab-mac-link org-mac-link ac-ispell auto-complete auto-yasnippet company-shell dap-mode lsp-docker bui yaml evil-org fish-mode flycheck-bashate flycheck-pos-tip pos-tip fuzzy gh-md gnuplot helm-c-yasnippet helm-company company helm-lsp helm-org-rifle htmlize insert-shebang lsp-origami origami lsp-treemacs lsp-ui lsp-mode markdown-toc markdown-mode mmm-mode org org-cliplink org-contrib org-download org-jira org-mime org-pomodoro alert log4e gntp org-present org-projectile org-category-capture org-rich-yank ox-jira ox-twbs shfmt reformatter yasnippet-snippets yasnippet ws-butler writeroom-mode winum which-key volatile-highlights vim-powerline vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org term-cursor symon symbol-overlay string-inflection string-edit-at-point spacemacs-whitespace-cleanup spacemacs-purpose-popwin spaceline-all-the-icons space-doc restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete holy-mode hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt help-fns+ helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-evilified-state evil-escape evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)))
(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.
)
)
)

@ -4,21 +4,19 @@ set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-logging'
set -g @plugin 'tmux-plugins/tmux-copycat' # not needed for tmux 3.1+
set -g @plugin 'tmux-plugins/tmux-copycat'
# https://github.com/tmux-plugins/tmux-resurrect
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-resurrect' # https://github.com/tmux-plugins/tmux-resurrect
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-processes 'ssh neomutt mbsync'
# https://github.com/tmux-plugins/tmux-continuum
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @resurrect-processes 'ssh neomutt mbsync vim'
set -g @plugin 'tmux-plugins/tmux-continuum' # https://github.com/tmux-plugins/tmux-continuum
set -g @plugin 'seebi/tmux-colors-solarized'
# inspiration from https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
set -sg terminal-overrides ",*:RGB"
# too wild, some shortcuts like meta-tab/meta-number are nice though
# set -g @plugin 'ek9/tmux-vim-bindings'
@ -26,6 +24,10 @@ set -g @plugin 'seebi/tmux-colors-solarized'
# set -g @colors-solarized 'light'
set -g @colors-solarized 'dark'
# this causes tmux to crash
# set-option -g mouse on
# set -g @plugin 'jaclu/tmux-menus'
# Change prefix to C-a
# C-a hex value: 0x01
@ -70,9 +72,14 @@ set -g pane-base-index 1
set -ag terminal-overrides ",xterm-256color:Tc"
# synchronize panes
bind e setw synchronize-panes ; display "Sync #{?pane_synchronized,ON,OFF}"
bind e setw synchronize-panes # ; tmux display "Sync #{?pane_synchronized,ON,OFF}"
# tpm install: git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
# test for https://unix.stackexchange.com/questions/480437/can-i-ask-tmux-to-immediately-exit-copy-mode-and-paste-the-content-when-i-yank
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"

@ -69,3 +69,6 @@ export OPENAI_API_KEY='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'
# for flutter
export PATH=$PATH:/Users/jetpac/Documents/flutter-dev-env/bin
export NVM_DIR="$HOME/.nvm"
# nvm initialization is commented out; it significantly slows down shell startup
# [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"

@ -9,6 +9,30 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# if not present, install zsh-syntax-highlighting plugin
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ];
then
cd "${HOME}/.oh-my-zsh/custom/plugins/"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git &> /dev/null
fi
# if not present, install zsh-completions plugin
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-completions" ];
then
cd "${HOME}/.oh-my-zsh/custom/plugins/"
git clone https://github.com/zsh-users/zsh-completions.git &> /dev/null
fi
# if not present, install zsh-autosuggestions plugin
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ];
then
cd "${HOME}/.oh-my-zsh/custom/plugins/"
git clone https://github.com/zsh-users/zsh-autosuggestions.git &> /dev/null
fi
# doesn't work well on remote hosts
# [[ -f .iterm2_shell_integration.zsh ]] && source .iterm2_shell_integration.zsh
@ -53,7 +77,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
@ -62,7 +86,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
@ -85,7 +109,10 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git rsync colorize colored-man-pages vi-mode common-aliases macos themes dircycle iterm2 docker docker-compose zsh-navigation-tools urltools history mercurial tmux )
plugins=(git rsync colorize colored-man-pages vi-mode common-aliases macos themes dircycle iterm2 docker docker-compose zsh-navigation-tools urltools history mercurial tmux zsh-syntax-highlighting zsh-autosuggestions)
# consider plugin fzf - only available for Mac/Linux
# colorize - adds ccat and cless
# common-aliases: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/common-aliases
# themes: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/themes
@ -164,9 +191,25 @@ fi
# zsh history is too short
# - https://unix.stackexchange.com/questions/273861/unlimited-history-in-zsh
HISTFILE=~/.zsh_history
# inspiration taken from yt video:
# https://youtu.be/ud7YxC33Z3w
HISTSIZE=999999999
HISTFILE=~/.zsh_history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups
bindkey '^p' history-search-backward
bindkey '^n' history-search-forward
# bindkey '^f' autosuggest-accept
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT)

Loading…
Cancel
Save