X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=config.org;h=e7fd1dc91438c4ab3449cc0b409bc001802abd59;hb=01fb50ab6cdc8624a65be3890f6816e5343400f5;hp=283e33688eee2c0a0978b5863afc9e9143b55454;hpb=e70e7d6a5c0d6a0f67b3bf6f500a716694676c1f;p=config.org.git diff --git a/config.org b/config.org index 283e336..e7fd1dc 100644 --- a/config.org +++ b/config.org @@ -49,7 +49,7 @@ Use the Modus Operandi theme by Protesilaos Stavrou. Its the best theme for Emac (modus-themes-mode-line '3d) (modus-themes-scale-headings t) (modus-themes-diffs 'desaturated) - :config (load-theme 'modus-vivendi t)) + :config (load-theme 'modus-operandi t)) #+end_src ** Typography *** Font @@ -175,6 +175,10 @@ Invert modeline color instead of audible bell or the standard visual bell. (menu-bar-mode -1) (setq-default frame-title-format '("%b [%m]")) #+end_src +** auth-source +#+begin_src emacs-lisp + (setq auth-sources '("~/.emacs.d/authinfo.gpg")) +#+end_src * Evil mode ** General #+begin_src emacs-lisp @@ -279,14 +283,21 @@ Define templates for lots of common structure elements. Mostly just used within (dolist (addition '( ("ash" . "src shell :tangle ~/.config/ash/ashrc") ("el" . "src emacs-lisp") - ("git" . "src conf :tangle ~/.gitconfig") - ("mb" . "src conf :tangle ~/.mbsyncrc") - ("sp" . "src conf :tangle ~/.spectrwm.conf") - ("tm" . "src conf :tangle ~/.tmux.conf") + ("git" . "src conf :tangle ~/.config/git/config") + ("mb" . "src conf :tangle ~/.config/mbsync/mbsyncrc") + ("tm" . "src conf :tangle ~/.config/tmux/f") ("za" . "src conf :tangle ~/.config/zathura/zathurarc") )) (add-to-list 'org-structure-template-alist addition))) #+end_src +** Tables +#+begin_src emacs-lisp + (use-package org-table-wrap-functions + :straight (:repo "analyticd/org-table-wrap-functions" :host github) + :bind (:map org-mode-map + ("C-\\" . org-table-column-wrap-to-width) + ("C-|" . 'org-table-unwrap-cell-region))) +#+end_src * Autocompletion ** Ivy A well balanced completion framework. @@ -335,13 +346,13 @@ Use mu4e and mbsync for reading emails. Contexts are a not very well known feature of mu4e that makes it super easy to manage multiple accounts. Much better than some of the hacky methods and external packages that I've seen. *** mbsync **** General -#+begin_src conf :tangle ~/.mbsyncrc +#+begin_src conf :tangle ~/.config/mbsync/mbsyncrc Create Near Expunge Both SyncState * #+end_src **** Personal -#+begin_src conf :tangle ~/.mbsyncrc +#+begin_src conf :tangle ~/.config/mbsync/mbsyncrc IMAPStore personal-remote Host imap.mailbox.org User me@armaanb.net @@ -361,7 +372,7 @@ Contexts are a not very well known feature of mu4e that makes it super easy to m Channel personal-channel #+end_src **** School -#+begin_src conf :tangle ~/.mbsyncrc +#+begin_src conf :tangle ~/.config/mbsync/mbsyncrc IMAPStore school-remote SSLType IMAPS Host imap.gmail.com @@ -396,7 +407,7 @@ Contexts are a not very well known feature of mu4e that makes it super easy to m smtpmail-stream-type 'ssl smtpmail-smtp-service '465 mu4e-change-filenames-when-moving t - mu4e-get-mail-command "mbsync -a" + mu4e-get-mail-command "mbsync -a -c ~/.config/mbsync/mbsyncrc" message-citation-line-format "On %a %d %b %Y at %R, %f wrote:\n" message-citation-line-function 'message-insert-formatted-citation-line mu4e-completing-read-function 'ivy-completing-read @@ -458,6 +469,9 @@ Set EWW as default browser except for multimedia which should open in MPV. (interactive) (start-process "mpv" "*mpv*" "mpv" url)) + (setq browse-url-browser-function 'browse-url-generic + browse-url-generic-program "chorizo") + (setq browse-url-handlers (quote (("youtu\\.?be" . browse-url-mpv) @@ -467,7 +481,6 @@ Set EWW as default browser except for multimedia which should open in MPV. ("*.mp4" . browse-url-mpv) ("*.mp3" . browse-url-mpv) ("*.ogg" . browse-url-mpv) - ("." . eww-browse-url) ))) #+end_src ** EWW @@ -632,10 +645,12 @@ The best file manager! (use-package dired :straight (:type built-in) :commands (dired dired-jump) - :custom ((dired-listing-switches "-agho --group-directories-first")) - :config (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-single-up-directory - "l" 'dired-single-buffer)) + :custom (dired-listing-switches "-agh --group-directories-first") + :bind + ([remap dired-find-file] . dired-single-buffer) + ([remap dired-mouse-find-file-other-window] . dired-single-buffer-mouse) + ([remap dired-up-directory] . dired-single-up-directory) + ("C-x C-j" . dired-jump)) (use-package dired-single :commands (dired dired-jump)) @@ -647,10 +662,14 @@ The best file manager! (use-package dired-hide-dotfiles :hook (dired-mode . dired-hide-dotfiles-mode) - :config - (evil-collection-define-key 'normal 'dired-mode-map + :config (evil-collection-define-key 'normal 'dired-mode-map "H" 'dired-hide-dotfiles-mode)) #+end_src +** Man +#+begin_src emacs-lisp + (use-package man + :bind ("C-c t" . man)) +#+end_src ** Git *** Magit A very good Git interface. @@ -685,6 +704,14 @@ Style is basically ddevault's style guide but with 4 spaces instead of 8 char ta (add-hook 'before-save-hook 'clang-format-buffer-smart nil) #+end_src +** KISS +#+begin_src emacs-lisp + (append auto-mode-alist '("/home/armaa/repos/" . sh-mode)) +#+end_src +** Shell +#+begin_src emacs-lisp + (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p) +#+end_src * General text editing ** Spell checking Spell check in text mode, and in prog-mode comments. @@ -880,11 +907,18 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac **** General program configs #+begin_src shell :tangle ~/.config/ash/ashrc export GPG_TTY="$(tty)" - export MANPAGER='nvim +Man!' + + export GNUPGHOME="$HOME/.local/share/gnupg" + export GOPATH="$HOME/.local/share/go" + export JUPYTER_CONFIG_DIR="$HOME/.config/jupyter" + export IPYTHON_DIR="$HOME/.local/share/ipython" + export DISTCC_DIR="$HOME/.local/state/distcc" + export PAGER='less' export GTK_USE_PORTAL=1 export CDPATH=:~ export LESSHISTFILE=/dev/null + export PASH_KEYID=me@armaanb.net export PASH_LENGTH=20 #+end_src @@ -906,17 +940,20 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac #+begin_src shell :tangle ~/.config/ash/ashrc export KISS_PATH="" export KISS_PATH="$KISS_PATH:$HOME/repos/personal" - export KISS_PATH="$KISS_PATH:$HOME/repos/bin/bin" export KISS_PATH="$KISS_PATH:$HOME/repos/main/core" export KISS_PATH="$KISS_PATH:$HOME/repos/main/extra" export KISS_PATH="$KISS_PATH:$HOME/repos/main/xorg" export KISS_PATH="$KISS_PATH:$HOME/repos/community/community" export KISS_PATH="$KISS_PATH:$HOME/repos/mid/ports" + + export KISS_COMPRESS=xz #+end_src **** Compilation flags #+begin_src shell :tangle ~/.config/ash/ashrc + export CC=clang export CFLAGS="-O3 -pipe -march=native" - export CXXFLAGS="$CFLAGS" + export CXX=clang++ + export CXXFLAGS="$CFLAGS -stdlib=libc++" export MAKEFLAGS="-j$(nproc)" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" #+end_src @@ -1018,31 +1055,26 @@ Make MPV play a little bit smoother. ytdl-format="bestvideo[height<=?1080]+bestaudio/best" hwdec=auto-copy #+end_src -** Inputrc -This file is used for any GNU Readline programs. I use Emacs editing mode mostly because of one annoyance which is that to clear the screen using ^L, you have to be in normal mode which is a pain. If there is a way to rebind this, I'd love to know!. -#+begin_src conf :tangle ~/.inputrc - set editing-mode emacs -#+end_src ** Git *** User -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [user] name = Armaan Bhojwani email = me@armaanb.net signingkey = 0FEB9471E19C49C60CFBEB133C9ED82FFE788E4A #+end_src *** Init -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [init] defaultBranch = main #+end_src *** GPG -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [gpg] program = gpg #+end_src *** Sendemail -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [sendemail] smtpserver = smtp.mailbox.org smtpuser = me@armaanb.net @@ -1051,12 +1083,12 @@ This file is used for any GNU Readline programs. I use Emacs editing mode mostly confirm = auto #+end_src *** Submodule -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [submodule] recurse = true #+end_src *** Aliases -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [alias] stat = diff --stat sclone = clone --depth 1 @@ -1071,13 +1103,13 @@ This file is used for any GNU Readline programs. I use Emacs editing mode mostly pushnc = push -o skip-ci #+end_src *** Commit -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [commit] gpgsign = true verbose = true #+end_src *** Tag -#+begin_src conf :tangle ~/.gitconfig +#+begin_src conf :tangle ~/.config/git/config [tag] gpgsign = true #+end_src @@ -1085,69 +1117,15 @@ This file is used for any GNU Readline programs. I use Emacs editing mode mostly The best document reader! *** Options #+begin_src conf :tangle ~/.config/zathura/zathurarc - map recolor - map 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 -** Xresources -Modus operandi theme. No program I use checks for anything beyond foreground and background, but hey, it can't hurt to have all the colors in there. -#+begin_src conf :tangle ~/.Xresources - ! special - ,*.foreground: #ffffff - ,*.background: #000000 - ,*.cursorColor: #ffffff - - ! black - ,*.color0: #000000 - ,*.color8: #555555 - - ! red - ,*.color1: #ff8059 - ,*.color9: #ffa0a0 - - ! green - ,*.color2: #00fc50 - ,*.color10: #88cf88 - - ! yellow - ,*.color3: #eecc00 - ,*.color11: #d2b580 - - ! blue - ,*.color4: #29aeff - ,*.color12: #92baff - - ! magenta - ,*.color5: #feacd0 - ,*.color13: #e0b2d6 - - ! cyan - ,*.color6: #00d3d0 - ,*.color14: #a0bfdf - - ! white - ,*.color7: #eeeeee - ,*.color15: #dddddd -#+end_src ** Tmux I use tmux in order to keep my st build light. Still learning how it works. -#+begin_src conf :tangle ~/.tmux.conf +#+begin_src conf :tangle ~/.config/tmux/tmux.conf set -g status off set -g mouse on @@ -1162,13 +1140,14 @@ I use tmux in order to keep my st build light. Still learning how it works. #+end_src ** GPG *** Config -#+begin_src conf :tangle ~/.gnupg/gpg.conf +#+begin_src conf :tangle ~/.local/share/gnupg/gpg.conf default-key 3C9ED82FFE788E4A use-agent #+end_src *** Agent -#+begin_src conf :tangle ~/.gnupg/gpg-agent.conf +#+begin_src conf :tangle ~/.local/share/gnupg/gpg-agent.conf pinentry-program /sbin/pinentry + max-cache-ttl 6000 default-cache-ttl 6000 allow-emacs-pinentry @@ -1194,7 +1173,6 @@ I use tmux in order to keep my st build light. Still learning how it works. #+end_src ** sx #+begin_src shell :tangle ~/.config/sx/sxrc :tangle-mode (identity #o755) - autostart & - dwmblocks & + xhost + exec dwm #+end_src