#+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!
#+begin_src emacs-lisp
(setq modus-themes-slanted-constructs t
modus-themes-bold-constructs t
- modus-themes-org-blocks 'rainbow
+ modus-themes-org-blocks 'grayscale
modus-themes-mode-line '3d
modus-themes-scale-headings t
modus-themes-region 'no-extend
:config
(ligature-set-ligatures
'(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
: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 "TODO" comments
+** Highlight TODOs in comments
#+begin_src emacs-lisp
(use-package hl-todo
:straight (hl-todo :type git :host github :repo "tarsius/hl-todo")
- :config (global-hl-todo-mode))
+ :config (global-hl-todo-mode 1))
#+end_src
** Don't lose cursor
#+begin_src emacs-lisp
("gc" . evilnc-comment-or-uncomment-lines))
:custom (evilnc-invert-comment-line-by-line nil))
#+end_src
-** Undo tree
+** Undo redo
Fix the oopsies!
#+begin_src emacs-lisp
- (use-package undo-tree
- :custom
- (undo-tree-auto-save-history t)
- (undo-tree-history-directory-alist '(("." . "~/.emacs.d/undo-tree")))
- :config
- (global-undo-tree-mode)
- (evil-set-undo-system 'undo-tree))
+ (evil-set-undo-system 'undo-redo)
#+end_src
** Number incrementing
Add back C-a/C-x
:custom
(org-ellipsis " ▾")
(org-agenda-start-with-log-mode t)
+ (org-agenda-files (quote ("~/Org/tasks.org" "~/Org/break.org")))
(org-log-done 'time)
(org-log-into-drawer t)
(org-src-tab-acts-natively t)
(org-src-fontify-natively t)
(org-startup-indented t)
(org-hide-emphasis-markers t)
- (org-fontify-whole-block-delimiter-line nil))
+ (org-fontify-whole-block-delimiter-line nil)
+ :bind ("C-c a" . org-agenda))
#+end_src
** Tempo
#+begin_src emacs-lisp
(add-to-list 'org-structure-template-alist '("ipy" . "src python :tangle ~/.ipython/"))
(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 '("du" . "src conf :tangle ~/.config/dunst/dunstrc"))
+ (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
+ (use-package org-present
+ :straight (org-present :type git :host github :repo "rlister/org-present"))
#+end_src
* Autocompletion
** Ivy
smtpmail-stream-type 'ssl
smtpmail-smtp-service '465
mu4e-change-filenames-when-moving t
- message-kill-buffer-on-exit t
mu4e-get-mail-command "offlineimap -q"
message-citation-line-format "On %a %d %b %Y at %R, %f wrote:\n"
message-citation-line-function 'message-insert-formatted-citation-line
- mu4e-context-policy "pick-first"
+ mu4e-completing-read-function 'ivy-completing-read
+ mu4e-confirm-quit nil
+ mail-user-agent 'mu4e-user-agent
mu4e-contexts
`( ,(make-mu4e-context
:name "school"
:match-func (lambda (msg)
(when msg
(string-match-p "^/school" (mu4e-message-field msg :maildir))))
- :vars '( (user-mail-address . "abhojwani22@nobles.edu")
- (mu4e-sent-folder . "/school/Sent")
- (mu4e-drafts-folder . "/school/Drafts")
- (mu4e-trash-folder . "/school/Trash")
- (mu4e-refile-folder . "/school/Archive")
- (user-mail-address . "abhojwani22@nobles.edu")
- (smtpmail-smtp-user . "abhojwani22@nobles.edu")
- (smtpmail-smtp-server . "smtp.gmail.com")))
+ :vars '((user-mail-address . "abhojwani22@nobles.edu")
+ (mu4e-sent-folder . "/school/Sent")
+ (mu4e-drafts-folder . "/school/Drafts")
+ (mu4e-trash-folder . "/school/Trash")
+ (mu4e-refile-folder . "/school/Archive")
+ (user-mail-address . "abhojwani22@nobles.edu")
+ (smtpmail-smtp-user . "abhojwani22@nobles.edu")
+ (smtpmail-smtp-server . "smtp.gmail.com")))
,(make-mu4e-context
:name "personal"
:enter-func (lambda () (mu4e-message "Entering personal context"))
:match-func (lambda (msg)
(when msg
(string-match-p "^/personal" (mu4e-message-field msg :maildir))))
- :vars '(
- (mu4e-sent-folder . "/personal/Sent")
+ :vars '((mu4e-sent-folder . "/personal/Sent")
(mu4e-drafts-folder . "/personal/Drafts")
(mu4e-trash-folder . "/personal/Trash")
(mu4e-refile-folder . "/personal/Archive")
(add-to-list 'mu4e-bookmarks
'(:name "Unified inbox"
:query "maildir:\"/personal/INBOX\" or maildir:\"/school/INBOX\""
- :key ?b)))
+ :key ?b))
+ :hook ((mu4e-compose-mode . flyspell-mode)
+ (mu4e-view-mode-hook . turn-on-visual-line-mode)))
#+end_src
** Calendar
#+begin_src emacs-lisp
Another file has more specific network configuration.
#+begin_src emacs-lisp
(use-package circe
- :config
- (load "~/.emacs.d/irc.el"))
- (use-package circe-color-nicks
- :after circe
- :straight (:type built-in))
+ :config (load-file "~/.emacs.d/irc.el"))
+
(use-package circe-chanop
- :after circe
- :straight (:type built-in))
+ :straight (:type built-in)
+ :after circe)
+
+ (use-package circe-color-nicks
+ :straight (:type built-in)
+ :after circe)
#+end_src
** Default browser
Set EWW as default browser except for videos.
("." . eww-browse-url)
)))
#+end_src
-** Emacs Anywhere
-Use Emacs globally. Use the Emacs daemon and bind a key in your wm to
-"emacsclient --eval "(emacs-everywhere)".
+** EWW
+Some EWW enhancements.
+*** Give buffer a useful name
#+begin_src emacs-lisp
- (use-package emacs-everywhere)
+ ;; From https://protesilaos.com/dotemacs/
+ (defun prot-eww--rename-buffer ()
+ "Rename EWW buffer using page title or URL.
+ To be used by `eww-after-render-hook'."
+ (let ((name (if (eq "" (plist-get eww-data :title))
+ (plist-get eww-data :url)
+ (plist-get eww-data :title))))
+ (rename-buffer (format "*%s # eww*" name) t)))
+
+ (add-hook 'eww-after-render-hook #'prot-eww--rename-buffer)
#+end_src
-* Emacs IDE
-** LSP
-*** General
+*** Better entrypoint
#+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)))
+ ;; From https://protesilaos.com/dotemacs/
+ (defun prot-eww-browse-dwim (url &optional arg)
+ "Visit a URL, maybe from `eww-prompt-history', with completion.
- (use-package lsp-ivy)
+ With optional prefix ARG (\\[universal-argument]) open URL in a
+ new eww buffer.
- (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))
+ If URL does not look like a valid link, run a web query using
+ `eww-search-prefix'.
+
+ When called from an eww buffer, provide the current link as
+ initial input."
+ (interactive
+ (list
+ (completing-read "Query:" eww-prompt-history
+ nil nil (plist-get eww-data :url) 'eww-prompt-history)
+ current-prefix-arg))
+ (eww url (if arg 4 nil)))
+
+ (global-set-key (kbd "C-c w") 'prot-eww-browse-dwim)
#+end_src
-*** Company
-Company-box adds icons.
+** Emacs Anywhere
+Use Emacs globally. Use the Emacs daemon and bind a key in your wm to
+=emacsclient --eval "(emacs-everywhere)"=.
#+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))
+ (use-package emacs-everywhere)
#+end_src
-*** Language servers
-**** Python
+** Eshell
#+begin_src emacs-lisp
- (use-package lsp-pyright
- :hook (python-mode . (lambda ()
- (use-package lsp-pyright
- :straight (:type built-in))
- (lsp-deferred))))
+ (setq eshell-prompt-function
+ (lambda nil
+ (propertize (concat
+ "\n" (eshell/pwd) " ➤ ")
+ 'face '(:foreground "cyan")))
+ eshell-highlight-prompt nil)
#+end_src
+* Emacs IDE
** Code cleanup
#+begin_src emacs-lisp
(use-package blacken
#+end_src
** Git
*** Magit
+# TODO: Write a command that commits hunk, skipping staging step.
#+begin_src emacs-lisp
- (use-package magit
- :hook (git-commit-setup-hook . pinentry-start))
+ (use-package magit)
#+end_src
*** Colored diff in line number area
#+begin_src emacs-lisp
(setq save-abbrevs 'silent)
(setq-default abbrev-mode t)
#+end_src
+** TRAMP
+#+begin_src emacs-lisp
+ (setq tramp-default-method "ssh")
+#+end_src
+** Don't ask about following symlinks in vc
+#+begin_src emacs-lisp
+ (setq vc-follow-symlinks t)
+#+end_src
* Functions
** Easily convert splits
Converts splits from horizontal to vertical and vice versa. Lifted from EmacsWiki.
** GPG
#+begin_src emacs-lisp
(use-package epa-file
- :straight (:type built-in))
- (setq epa-file-select-keys nil
- epa-file-encrypt-to '("me@armaanb.net")
- password-cache-expiry (* 60 15))
+ :straight (:type built-in)
+ :custom
+ (epa-file-select-keys nil)
+ (epa-file-encrypt-to '("me@armaanb.net"))
+ (password-cache-expiry (* 60 15)))
- (use-package pinentry)
+ (use-package pinentry
+ :config (pinentry-start))
#+end_src
** Pastebin
#+begin_src emacs-lisp
warp_pointer = 1
modkey = Mod4
border_width = 4
- tile_gap = 10
autorun = ws[1]:/home/armaa/Code/scripts/autostart
#+end_src
-*** Apprearance
-Gruvbox colors
+*** Appearance
#+begin_src conf :tangle ~/.spectrwm.conf
- color_focus = rgb:83/a5/98
- color_focus_maximized = rgb:d6/5d/0e
- color_unfocus = rgb:58/58/58
+ color_focus = rgb:ff/ff/ff
+ color_focus_maximized = rgb:ee/cc/00
+ color_unfocus = rgb:55/55/55
#+end_src
*** Bar
#+begin_src conf :tangle ~/.spectrwm.conf
#+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[thunderbird] = thunderbird
- program[slack] = slack
- bind[aerc] = MOD+Control+s
- bind[weechat] = MOD+Control+d
- bind[emacs] = MOD+Control+f
- bind[emacs-anywhere] = MOD+f
- bind[firefox] = MOD+Control+u
- bind[thunderbird] = MOD+Control+i
- bind[slack] = MOD+Control+o
+ bind[aerc] = MOD+Control+1
+ # bind[weechat] = MOD+Control+2
+ bind[catgirl] = MOD+Control+2
+ bind[emacs-anywhere] = MOD+Control+3
+ bind[firefox] = MOD+Control+4
+ bind[emacs] = MOD+Control+Return
#+end_src
** Zsh
*** Settings
*** 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() {
#+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 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 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 crontab='crontab-argh'
+ alias sudo='doas ' # allows aliases to be run with doas
#+end_src
**** Networking
#+begin_src shell :tangle ~/.config/zsh/zshrc
#+begin_src shell :tangle ~/.config/zsh/zshrc
alias aps='yay -Ss'
alias api='yay -Syu'
+ alias apii='sudo pacman -S'
alias app='yay -Rns'
alias apc='yay -Sc'
alias apo='yay -Qttd'
alias favorites='pacman -Qe | cut -d " " -f 1 > ~/Documents/favorites'
alias ufetch='ufetch-arch'
alias reflect='reflector --verbose --sort rate --save \
- ~/.local/etc/pacman.d/mirrorlist --download-timeout 60' # Takes ~45m to run
+ ~/.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" # $EDITOR opens in terminal
- export VISUAL="emacsclient -c -a emacs" # $VISUAL opens in GUI mode
+ export EDITOR="emacsclient -c"
+ export VISUAL="$EDITOR"
export TERM=xterm-256color # for compatability
export GPG_TTY="$(tty)"
export MANPAGER='nvim +Man!'
export PAGER='less'
- # generated with "vivid generate gruvbox"
- export LS_COLORS="$(cat ~/.local/share/zsh/gruvbox)"
-
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"
x: 5
y: 5
-background_opacity: 0.6
-#+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"
- }
+background_opacity: 1
#+end_src
*** Color scheme
-Gruvbox
+Modus vivendi. Source: https://github.com/ishan9299/Nixos/blob/d4bbb7536be95b59466bb9cca4d671be46e04e81/user/alacritty/alacritty.yml#L30-L118
#+begin_src yml :tangle ~/.config/alacritty/alacritty.yml
colors:
# Default colors
primary:
background: '#000000'
- foreground: '#ebdbb2'
+ foreground: '#ffffff'
- # Normal colors
- normal:
- black: '#282828'
- red: '#cc241d'
- green: '#98971a'
- yellow: '#d79921'
- blue: '#458588'
- magenta: '#b16286'
- cyan: '#689d6a'
- white: '#a89984'
+ cursor:
+ text: '#000000'
+ background: '#ffffff'
- # Bright colors
+ # Normal colors (except green it is from intense colors)
+ normal:
+ black: '#000000'
+ red: '#ff8059'
+ green: '#00fc50'
+ yellow: '#eecc00'
+ blue: '#29aeff'
+ magenta: '#feacd0'
+ cyan: '#00d3d0'
+ white: '#eeeeee'
+
+ # Bright colors [all the faint colors in the modus theme]
bright:
- black: '#928374'
- red: '#fb4934'
- green: '#b8bb26'
- yellow: '#fabd2f'
- blue: '#83a598'
- magenta: '#d3869b'
- cyan: '#8ec07c'
- white: '#ebdbb2'
+ black: '#555555'
+ red: '#ffa0a0'
+ green: '#88cf88'
+ yellow: '#d2b580'
+ blue: '#92baff'
+ magenta: '#e0b2d6'
+ cyan: '#a0bfdf'
+ white: '#ffffff'
+
+ # dim [all the intense colors in modus theme]
+ dim:
+ black: '#222222'
+ red: '#fb6859'
+ green: '#00fc50'
+ yellow: '#ffdd00'
+ blue: '#00a2ff'
+ magenta: '#ff8bd4'
+ cyan: '#30ffc0'
+ white: '#dddddd'
#+end_src
** IPython
*** General
ytdl-format="bestvideo[height<=?1080]+bestaudio/best"
hwdec=auto-copy
#+end_src
-** Picom
-*** Shadows
-#+begin_src conf :tangle ~/.config/picom/picom.conf
- shadow = true;
- shadow-radius = 10;
- shadow-offset-x = -5;
- shadow-offset-y = -5;
-#+end_src
-*** Fading
-#+begin_src conf :tangle ~/.config/picom/picom.conf
- fading = true
- fade-delta = 5
-#+end_src
-*** Blur
-#+begin_src conf :tangle ~/.config/picom/picom.conf
- blur:
- {
- method = "gaussian";
- size = 5;
- deviation = 5;
- };
-#+end_src
-*** Backend
-Needs picom to be run with "--experimental-backends"
-#+begin_src conf :tangle ~/.config/picom/picom.conf
- backend = "glx";
-#+end_src
** Inputrc
For any GNU Readline programs
-#+begin_src plain :tangle ~/.inputrc
+#+begin_src conf :tangle ~/.inputrc
set editing-mode vi
#+end_src
-** Vivid
-https://github.com/sharkdp/vivid
-*** Colors
-#+begin_src yml :tangle ~/.config/vivid/gruvbox.yml
- colors:
- background_color: '282A36'
- black: '21222C'
- orange: 'd65d0e'
- purple: 'b16286'
- red: 'cc241d'
- blue: '458588'
- pink: 'd3869b'
- lime: '689d6a'
-
- gray: '928374'
-#+end_src
-*** Core
-#+begin_src yml :tangle ~/.config/vivid/gruvbox.yml
- core:
- regular_file: {}
-
- directory:
- foreground: blue
-
- executable_file:
- foreground: red
- font-style: bold
-
- symlink:
- foreground: pink
-
- broken_symlink:
- foreground: black
- background: red
- missing_symlink_target:
- foreground: black
- background: red
-
- fifo:
- foreground: black
- background: blue
-
- socket:
- foreground: black
- background: pink
-
- character_device:
- foreground: black
- background: lime
-
- block_device:
- foreground: black
- background: red
-
- normal_text:
- {}
-
- sticky:
- {}
-
- sticky_other_writable:
- {}
-
- other_writable:
- {}
-
- text:
- special:
- foreground: black
- background: orange
-
- todo:
- font-style: bold
-
- licenses:
- foreground: gray
-
- configuration:
- foreground: orange
-
- other:
- foreground: orange
-
- markup:
- foreground: orange
-
- programming:
- source:
- foreground: purple
-
- tooling:
- foreground: purple
-
- continuous-integration:
- foreground: purple
-
- media:
- foreground: pink
-
- office:
- foreground: red
-
- archives:
- foreground: lime
- font-style: underline
-
- executable:
- foreground: red
- font-style: bold
-
- unimportant:
- foreground: gray
-#+end_src
** Git
*** User
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[user]
name = Armaan Bhojwani
email = me@armaanb.net
signingkey = 0FEB9471E19C49C60CFBEB133C9ED82FFE788E4A
#+end_src
*** Init
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[init]
defaultBranch = main
#+end_src
*** GPG
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[gpg]
program = gpg
#+end_src
*** Sendemail
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[sendemail]
smtpserver = smtp.mailbox.org
smtpuser = me@armaanb.net
confirm = auto
#+end_src
*** Submodules
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[submodule]
recurse = true
#+end_src
*** Aliases
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[alias]
stat = diff --stat
sclone = clone --depth 1
mirror = git config --global alias.mirrormirror
#+end_src
*** Commits
-#+begin_src plain :tangle ~/.gitconfig
+#+begin_src conf :tangle ~/.gitconfig
[commit]
gpgsign = true
+ verbose = true
#+end_src
** Dunst
-Lightweight notification daemon. Gruvbox colors, based on https://github.com/a-schaefers/i3-wm-gruvbox-theme/
+Lightweight notification daemon.
*** General
#+begin_src conf :tangle ~/.config/dunst/dunstrc
[global]
show_age_threshold = 60
word_wrap = yes
ignore_newline = no
- geometry = "400x5-20+20"
+ geometry = "400x5-10+10"
transparency = 0
idle_threshold = 120
monitor = 0
padding = 8
horizontal_padding = 8
max_icon_size = 32
- separator_color = "#585858"
+ separator_color = "#ffffff"
startup_notification = false
#+end_src
*** Modes
#+begin_src conf :tangle ~/.config/dunst/dunstrc
[frame]
- width = 4
- color = "#585858"
+ width = 3
+ color = "#ffffff"
[shortcuts]
close = mod4+c
history = mod4+ctrl+c
[urgency_low]
- background = "#282828"
- foreground = "#ebdbb2"
- highlight = "#ebdbb2"
+ background = "#222222"
+ foreground = "#ffffff"
+ highlight = "#ffffff"
timeout = 5
[urgency_normal]
- background = "#282828"
- foreground = "#ebdbb2"
- highlight = "#ebdbb2"
+ background = "#222222"
+ foreground = "#ffffff"
+ highlight = "#ffffff"
timeout = 15
[urgency_critical]
- background = "#282828"
- foreground = "#cc241d"
- highlight = "#ebdbb2"
+ background = "#222222"
+ foreground = "#a60000"
+ highlight = "#ffffff"
timeout = 0
#+end_src
+** Rofi
+Modus vivendi theme that extends DarkBlue.
+#+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;
+ }
+#+end_src
+** Zathura
+*** Options
+#+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"
+#+end_src
+*** Colors
+#+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"
+#+end_src