#+TITLE: System Configuration
-#+DESCRIPTION: Armaan's system configuration.
+#+DESCRIPTION: Personal system configuration in org-mode format.
+#+AUTHOR: Armaan Bhojwani
+#+EMAIL: me@armaanb.net
* Welcome
Welcome to my system configuration! This file contains my Emacs configuration, but also my config files for many of the other programs on my system!
'(prog-mode text-mode)
'("-|" "-~" "---" "-<<" "-<" "--" "->" "->>" "-->" "/=" "/=="
"/>" "//" "/*" "*>" "*/" "<-" "<<-" "<=>" "<=" "<|" "<||"
- "<|||" "<|>" "<:" "<>" "<-<" "<<<" "<==" "<<=" "<=<" "<==>" "<-|"
- "<<" "<~>" "<=|" "<~~" "<~" "<$>" "<$" "<+>" "<+" "</>" "</" "<*"
- "<*>" "<->" "<!--" ":>" ":<" ":::" "::" ":?" ":?>" ":=" "::=" "=>>"
- "==>" "=/=" "=!=" "=>" "===" "=:=" "==" "!==" "!!" "!=" ">]" ">:"
- ">>-" ">>=" ">=>" ">>>" ">-" ">=" "&&&" "&&" "|||>" "||>" "|>" "|]"
- "|}" "|=>" "|->" "|=" "||-" "|-" "||=" "||" ".." ".?" ".=" ".-" "..<"
- "..." "+++" "+>" "++" "[||]" "[<" "[|" "{|" "??" "?." "?=" "?:" "##"
- "###" "####" "#[" "#{" "#=" "#!" "#:" "#_(" "#_" "#?" "#(" ";;" "_|_"
- "__" "~~" "~~>" "~>" "~-" "~@" "$>" "^=" "]#"))
+ "<|||" "<|>" "<:" "<>" "<-<" "<<<" "<==" "<<=" "<=<" "<==>"
+ "<-|" "<<" "<~>" "<=|" "<~~" "<~" "<$>" "<$" "<+>" "<+" "</>"
+ "</" "<*" "<*>" "<->" "<!--" ":>" ":<" ":::" "::" ":?" ":?>"
+ ":=" "::=" "=>>" "==>" "=/=" "=!=" "=>" "===" "=:=" "==" "!=="
+ "!!" "!=" ">]" ">:" ">>-" ">>=" ">=>" ">>>" ">-" ">=" "&&&"
+ "&&" "|||>" "||>" "|>" "|]" "|}" "|=>" "|->" "|=" "||-" "|-"
+ "||=" "||" ".." ".?" ".=" ".-" "..<" "..." "+++" "+>" "++"
+ "[||]" "[<" "[|" "{|" "??" "?." "?=" "?:" "##" "###" "####"
+ "#[" "#{" "#=" "#!" "#:" "#_(" "#_" "#?" "#(" ";;" "_|_" "__"
+ "~~" "~~>" "~>" "~-" "~@" "$>" "^=" "]#"))
(global-ligature-mode t))
#+end_src
*** Emoji
(use-package minions
:config (minions-mode))
#+end_src
+** Word count
+#+begin_src emacs-lisp
+ (use-package wc-mode
+ :straight (wc-mode :type git :host github :repo "bnbeckwith/wc-mode")
+ :hook (text-mode-hook . wc-mode))
+#+end_src
** Ruler
Show a ruler at a certain number of chars depending on mode.
#+begin_src emacs-lisp
(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")))
#+end_src
+** Presentations
+#+begin_src emacs-lisp
+ (use-package org-present
+ :straight (org-present :type git :host github :repo "rlister/org-present"))
+#+end_src
* Autocompletion
** Ivy
Simple, but not too simple autocompletion.
#+begin_src emacs-lisp
(use-package emacs-everywhere)
#+end_src
+** Eshell
+#+begin_src emacs-lisp
+ (setq eshell-prompt-function
+ (lambda nil
+ (propertize (concat
+ "\n" (eshell/pwd) " ➤ ")
+ 'face '(:foreground "cyan")))
+ eshell-highlight-prompt nil)
+#+end_src
* Emacs IDE
** LSP
*** General
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 tmux attach-session -t catgirl; sleep 2; done"
program[emacs] = emacsclient -c
program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)"
program[firefox] = firefox
program[slack] = slack
bind[aerc] = MOD+Control+1
- bind[weechat] = MOD+Control+2
+ # bind[weechat] = MOD+Control+2
+ bind[catgirl] = MOD+Control+2
bind[emacs-anywhere] = MOD+Control+3
bind[firefox] = MOD+Control+4
bind[thunderbird] = MOD+Control+5
#+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 tmux attach-session -t 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 jctl='journalctl -p 3 -xb'
alias pkill='pkill -i'
alias cx='chmod +x'
- alias please='sudo $(fc -ln -1)'
- alias sudo='sudo ' # allows aliases to be run with sudo
+ alias redoas='doas $(fc -ln -1)'
+ alias sudo='doas ' # allows aliases to be run with doas
#+end_src
**** Networking
#+begin_src shell :tangle ~/.config/zsh/zshrc
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
#+begin_src conf :tangle ~/.gitconfig
[commit]
gpgsign = true
+ verbose = true
#+end_src
** Dunst
Lightweight notification daemon.