:config (which-key-mode)
:custom (which-key-idle-delay 0.3))
#+end_src
-** Visual highlights of changes
-Highlight when changes are made.
-#+begin_src emacs-lisp
- (use-package evil-goggles
- :config (evil-goggles-mode)
- (evil-goggles-use-diff-faces))
-#+end_src
** Highlight TODOs in comments
#+begin_src emacs-lisp
(use-package hl-todo
(add-to-list 'org-structure-template-alist '("pi" . "src conf :tangle ~/.config/picom/picom.conf"))
(add-to-list 'org-structure-template-alist '("git" . "src conf :tangle ~/.gitconfig"))
(add-to-list 'org-structure-template-alist '("du" . "src conf :tangle ~/.config/dunst/dunstrc"))
- (add-to-list 'org-structure-template-alist '("ro" . "src plain :tangle ~/.config/rofi/config.rasi"))
- (add-to-list 'org-structure-template-alist '("za" . "src plain :tangle ~/.config/zathura/zathurarc")))
+ (add-to-list 'org-structure-template-alist '("ro" . "src javascript :tangle ~/.config/rofi/config.rasi"))
+ (add-to-list 'org-structure-template-alist '("za" . "src conf :tangle ~/.config/zathura/zathurarc")))
#+end_src
** Presentations
#+begin_src emacs-lisp
(lambda nil
(propertize (concat
"\n" (eshell/pwd) " ➤ ")
- 'face '(:foreground "cyan")))
+ 'face '(:foreground "cyan")))
eshell-highlight-prompt nil)
#+end_src
* Emacs IDE
-** LSP
-*** General
-#+begin_src emacs-lisp
- (use-package lsp-mode
- :commands (lsp lsp-deferred)
- :custom (lsp-keymap-prefix "C-c l")
- :hook ((lsp-mode . lsp-enable-which-key-integration)))
-
- (use-package lsp-ivy)
-
- (use-package lsp-ui
- :commands lsp-ui-mode
- :custom (lsp-ui-doc-position 'bottom))
- (use-package lsp-ui-flycheck
- :after lsp-ui
- :straight (:type built-in))
-#+end_src
-*** Company
-Company-box adds icons.
-#+begin_src emacs-lisp
- (use-package company
- :after lsp-mode
- :hook (lsp-mode . company-mode)
- :bind (:map company-active-map
- ("<tab>" . company-complete-selection))
- (:map lsp-mode-map
- ("<tab>" . company-indent-or-complete-common))
- :custom
- (company-minimum-prefix-length 1)
- (setq company-dabbrev-downcase 0)
- (company-idle-delay 0.0))
-
- (use-package company-box
- :hook (company-mode . company-box-mode))
-#+end_src
-*** Language servers
-**** Python
-#+begin_src emacs-lisp
- (use-package lsp-pyright
- :hook (python-mode . (lambda ()
- (use-package lsp-pyright
- :straight (:type built-in))
- (lsp-deferred))))
-#+end_src
** Code cleanup
#+begin_src emacs-lisp
(use-package blacken
program[k] = xdotool keyup k key --clearmodifiers Up
program[l] = xdotool keyup l key --clearmodifiers Right
- bind[h] = Mod1 + Tab + h
- bind[j] = Mod1 + Tab + j
- bind[k] = Mod1 + Tab + k
- bind[l] = Mod1 + Tab + l
+ bind[h] = MOD + Control + h
+ bind[j] = MOD + Control + j
+ bind[k] = MOD + Control + k
+ bind[l] = MOD + Control + l
#+end_src
**** Programs
#+begin_src conf :tangle ~/.spectrwm.conf
program[aerc] = alacritty -e aerc
- program[weechat] = alacritty --hold -e sh -c "while : ; do ssh -p 23 -t root@armaanb.net tmux attach-session -t weechat; sleep 2; done"
+ program[catgirl] = alacritty --hold -e sh -c "while : ; do ssh -p 23 -t root@armaanb.net abduco -a catgirl; sleep 2; done"
program[emacs] = emacsclient -c
- program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)"
program[firefox] = firefox
- program[thunderbird] = thunderbird
- program[slack] = slack
+ program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)"
bind[aerc] = MOD+Control+1
- bind[weechat] = MOD+Control+2
- bind[emacs-anywhere] = MOD+Control+3
- bind[firefox] = MOD+Control+4
- bind[thunderbird] = MOD+Control+5
- bind[slack] = MOD+Control+6
+ bind[catgirl] = MOD+Control+2
+ bind[firefox] = MOD+Control+3
+ bind[emacs-anywhere] = MOD+Control+4
bind[emacs] = MOD+Control+Return
#+end_src
** Zsh
*** Plugins
I manage plugins using my own plugin manager, ZPE. https://git.sr.ht/~armaan/zpe
**** ZPE
-#+begin_src plain :tangle ~/.config/zpe/repositories
+#+begin_src conf :tangle ~/.config/zpe/repositories
https://github.com/Aloxaf/fzf-tab
https://github.com/zdharma/fast-syntax-highlighting
https://github.com/rupa/z
exa -lh --icons --git --group-directories-first
}
#+end_src
+**** Change default enter behavior
+If no command given, =ls=, if in a Git repo, =git status= as well.
+#+begin_src shell :tangle ~/.config/zsh/zshrc
+ acheam-accept-line () {
+ zle accept-line
+ if [ ${#${(z)BUFFER}} -eq 0 ]; then
+ echo
+ exa -lh --icons --git --group-directories-first
+ [ -d ".git" ] && git status
+ fi
+ }
+ zle -N acheam-accept-line
+ bindkey '^M' acheam-accept-line
+#+end_src
**** Setup anaconda
#+begin_src shell :tangle ~/.config/zsh/zshrc
zconda() {
**** SSH
#+begin_src shell :tangle ~/.config/zsh/zshrc
alias bhoji-drop='ssh -p 23 root@armaanb.net'
- alias weechat='ssh -p 23 -t root@armaanb.net tmux attach-session -t weechat'
+ alias catgirl='ssh -p 23 -t root@armaanb.net abduco -a catgirl'
alias tcf='ssh root@204.48.23.68'
alias ngmun='ssh root@157.245.89.25'
alias prox='ssh root@192.168.1.224'
+ alias ncq='ssh root@143.198.123.17'
alias dock='ssh root@192.168.1.225'
alias jenkins='ssh root@192.168.1.226'
alias envs='ssh acheam@envs.net'
alias mv='mv -iv'
alias ln='ln -iv'
alias grep='grep -in --exclude-dir=.git --color=auto'
+ alias fname='find -name'
alias mkdir='mkdir -pv'
alias unar='atool -x'
alias wget='wget -e robots=off'
alias pkill='pkill -i'
alias cx='chmod +x'
alias redoas='doas $(fc -ln -1)'
+ alias crontab='crontab-argh'
alias sudo='doas ' # allows aliases to be run with doas
#+end_src
**** Networking
alias reflect='reflector --verbose --sort rate --save \
~/.local/etc/pacman.d/mirrorlist --download-timeout 60' # Takes ~45m to run
#+end_src
+**** Package management (KISS)
+#+begin_src shell :tangle ~/.config/zsh/zshrc
+ alias kzf="kiss s \* | xargs -l basename | \
+ fzf --preview 'kiss search {} | xargs -l dirname'"
+#+end_src
*** Exports
#+begin_src shell :tangle ~/.config/zsh/zshrc
export EDITOR="emacsclient -c"
export GTK_USE_PORTAL=1
export PATH="/home/armaa/.local/bin:$PATH" # prioritize .local/bin
- export PATH="$PATH:/home/armaa/Code/scripts"
+ export PATH="/home/armaa/Code/scripts:$PATH" # prioritize my scripts
+ export PATH="/home/armaa/Code/scripts/bin:$PATH" # prioritize my bins
export PATH="$PATH:/home/armaa/.cargo/bin"
export PATH="$PATH:/home/armaa/.local/share/gem/ruby/2.7.0/bin"
export PATH="$PATH:/usr/sbin"
export LC_CTYPE="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
- export KISS_PATH="/home/armaa/kiss/home/armaa/kiss-repo"
+ export KISS_PATH="/home/armaa/Virtual/kiss/home/armaa/kiss-repo"
export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/core"
export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/extra"
export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/xorg"
background_opacity: 1
#+end_src
-*** Keybindings
-Send <RET> + modifier through
-#+begin_src yml :tangle ~/.config/alacritty/alacritty.yml
-key_bindings:
- - {
- key: Return,
- mods: Shift,
- chars: "\x1b[13;2u"
- }
- - {
- key: Return,
- mods: Control,
- chars: "\x1b[13;5u"
- }
-#+end_src
*** Color scheme
Modus vivendi. Source: https://github.com/ishan9299/Nixos/blob/d4bbb7536be95b59466bb9cca4d671be46e04e81/user/alacritty/alacritty.yml#L30-L118
#+begin_src yml :tangle ~/.config/alacritty/alacritty.yml
#+end_src
** Inputrc
For any GNU Readline programs
-#+begin_src plain :tangle ~/.inputrc
+#+begin_src conf :tangle ~/.inputrc
set editing-mode vi
#+end_src
** Git
#+begin_src conf :tangle ~/.gitconfig
[commit]
gpgsign = true
+ verbose = true
#+end_src
** Dunst
Lightweight notification daemon.
#+end_src
** Rofi
Modus vivendi theme that extends DarkBlue.
-#+begin_src plain :tangle ~/.config/rofi/config.rasi
-@import "/usr/share/rofi/themes/DarkBlue.rasi"
- * {
- white: rgba ( 255, 255, 255, 100 % );
- foreground: @white;
- selected-normal-background: @white;
- separatorcolor: @white;
- background: rgba ( 34, 34, 34, 100 % );
-}
+#+begin_src javascript :tangle ~/.config/rofi/config.rasi
+ @import "/usr/share/rofi/themes/DarkBlue.rasi"
+ ,* {
+ white: rgba ( 255, 255, 255, 100 % );
+ foreground: @white;
+ selected-normal-background: @white;
+ separatorcolor: @white;
+ background: rgba ( 34, 34, 34, 100 % );
+ }
-window {
- border: 3;
-}
+ window {
+ border: 3;
+ }
#+end_src
** Zathura
*** Options
-#+begin_src plain :tangle ~/.config/zathura/zathurarc
-map <C-i> recolor
-map <A-b> toggle_statusbar
-set selection-clipboard clipboard
-set scroll-step 200
+#+begin_src conf :tangle ~/.config/zathura/zathurarc
+ map <C-i> recolor
+ map <A-b> toggle_statusbar
+ set selection-clipboard clipboard
+ set scroll-step 200
-set window-title-basename "true"
-set selection-clipboard "clipboard"
+ set window-title-basename "true"
+ set selection-clipboard "clipboard"
#+end_src
*** Colors
-#+begin_src plain :tangle ~/.config/zathura/zathurarc
-set default-bg "#000000"
-set default-fg "#ffffff"
-set render-loading true
-set render-loading-bg "#000000"
-set render-loading-fg "#ffffff"
+#+begin_src conf :tangle ~/.config/zathura/zathurarc
+ set default-bg "#000000"
+ set default-fg "#ffffff"
+ set render-loading true
+ set render-loading-bg "#000000"
+ set render-loading-fg "#ffffff"
-set recolor-lightcolor "#000000" # bg
-set recolor-darkcolor "#ffffff" # fg
-set recolor "true"
+ set recolor-lightcolor "#000000" # bg
+ set recolor-darkcolor "#ffffff" # fg
+ set recolor "true"
#+end_src