]> git.armaanb.net Git - config.org.git/blobdiff - config.org
Xresources: drop config
[config.org.git] / config.org
index 11fbd259af5d89413f1907ae4b96cf11c7f554c7..7a1cabf751976be3f04a6a22ac79095003b13865 100644 (file)
@@ -55,7 +55,7 @@ Use the Modus Operandi theme by Protesilaos Stavrou. Its the best theme for Emac
 *** Font
 JetBrains Mono is a great programming font with ligatures. The "NF" means that it has been patched with the [[https://www.nerdfonts.com/][Nerd Fonts]].
 #+begin_src emacs-lisp
-  (add-to-list 'default-frame-alist '(font . "JetBrainsMonoNF-12"))
+  (add-to-list 'default-frame-alist '(font . "JetBrainsMonoNF-11"))
 #+end_src
 *** Ligatures
 #+begin_src emacs-lisp
@@ -150,8 +150,12 @@ Soft wrap words and do operations by visual lines in some modes.
 ** Display number of matches in search
 #+begin_src emacs-lisp
   (use-package anzu
+    :after (evil)
     :config (global-anzu-mode)
     :bind
+    ([remap isearch-forward] . isearch-forward-regexp)
+    ([remap isearch-backward] . isearch-backward-regexp)
+    ([remap query-replace] . anzu-query-replace)
     ([remap query-replace] . anzu-query-replace)
     ([remap query-replace-regexp] . anzu-query-replace-regexp))
 #+end_src
@@ -164,18 +168,31 @@ Invert modeline color instead of audible bell or the standard visual bell.
         (lambda () (invert-face 'mode-line)
           (run-with-timer 0.1 nil #'invert-face 'mode-line)))
 #+end_src
+** GUI
+#+begin_src emacs-lisp
+  (scroll-bar-mode -1)
+  (tool-bar-mode -1)
+  (menu-bar-mode -1)
+  (setq-default frame-title-format '("%b [%m]"))
+#+end_src
 * Evil mode
 ** General
 #+begin_src emacs-lisp
   (use-package evil
     :custom (select-enable-clipboard nil)
+    :init (setq evil-want-keybinding nil
+                evil-want-minibuffer t
+                evil-want-C-d-scroll t
+                evil-want-C-u-scroll t)
     :config
     (evil-mode)
     (fset 'evil-visual-update-x-selection 'ignore) ;; Keep clipboard and register seperate
     ;; Use visual line motions even outside of visual-line-mode buffers
     (evil-global-set-key 'motion "j" 'evil-next-visual-line)
     (evil-global-set-key 'motion "k" 'evil-previous-visual-line)
-    (global-set-key (kbd "<escape>") 'keyboard-escape-quit))
+    :bind
+    ("<escape>" . keyboard-escape-quit)
+    ("C-M-u" . universal-argument))
 #+end_src
 ** Evil collection
 Evil bindings for tons of packages.
@@ -260,17 +277,12 @@ Define templates for lots of common structure elements. Mostly just used within
     :straight (:type built-in)
     :config
     (dolist (addition '(
-                        ("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf")
                         ("ash" . "src shell :tangle ~/.config/ash/ashrc")
                         ("el" . "src emacs-lisp")
                         ("git" . "src conf :tangle ~/.gitconfig")
-                        ("gp" . "src conf :tangle ~/.gnupg/gpg.conf")
                         ("mb" . "src conf :tangle ~/.mbsyncrc")
-                        ("pi" . "src conf :tangle ~/.config/picom/picom.conf")
                         ("sp" . "src conf :tangle ~/.spectrwm.conf")
                         ("tm" . "src conf :tangle ~/.tmux.conf")
-                        ("xm" . "src conf :tangle ~/.config/xmodmap")
-                        ("xr" . "src conf :tangle ~/.Xresources")
                         ("za" . "src conf :tangle ~/.config/zathura/zathurarc")
                         ))
       (add-to-list 'org-structure-template-alist addition)))
@@ -314,6 +326,7 @@ Use elfeed for reading RSS. I have another file with all the feeds in it that I'
   (use-package elfeed
     :bind (("C-c e" . elfeed))
     :config (load "~/.emacs.d/feeds.el")
+    :custom (elfeed-db-directory "~/.emacs.d/elfeed")
     :bind (:map elfeed-search-mode-map ("C-c C-o" . 'elfeed-show-visit)))
 #+end_src
 ** Email
@@ -619,10 +632,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))
@@ -634,8 +649,7 @@ 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
 ** Git
@@ -647,9 +661,9 @@ A very good Git interface.
 *** Email
 #+begin_src emacs-lisp
   (use-package piem)
-  (use-package git-email
-    :straight (git-email :repo "https://git.sr.ht/~yoctocell/git-email")
-    :config (git-email-piem-mode))
+  ;; (use-package git-email
+  ;;   :straight (git-email :repo "https://git.sr.ht/~yoctocell/git-email")
+  ;;   :config (git-email-piem-mode))
 #+end_src
 ** C
 Modified from https://eklitzke.org/smarter-emacs-clang-format.
@@ -720,9 +734,8 @@ Abbreviate things! I just use this for things like my email address and copyrigh
   (defun doas-edit (&optional arg)
     "Edit currently visited file as root.
 
-    With a prefix ARG prompt for a file to visit.
-    Will also prompt for a file to visit if current
-    buffer is not visiting a file.
+    With a prefix ARG prompt for a file to visit.  Will also prompt
+    for a file to visit if current buffer is not visiting a file.
 
     Modified from Emacs Redux."
     (interactive "P")
@@ -813,91 +826,12 @@ Similar to the ufile alias in my ashrc
 Automatically close unused buffers (except those of Circe) at midnight.
 #+begin_src emacs-lisp
   (midnight-mode)
-  (add-to-list 'clean-buffer-list-kill-never-regexps (lambda (buffer-name)
-                                                       (with-current-buffer buffer-name
-                                                         (derived-mode-p 'lui-mode))))
+  (add-to-list 'clean-buffer-list-kill-never-regexps
+               (lambda (buffer-name)
+                 (with-current-buffer buffer-name
+                   (derived-mode-p 'lui-mode))))
 #+end_src
 * Tangles
-** Spectrwm
-Spectrwm is a really awesome window manager! Would highly recommend.
-*** General settings
-#+begin_src conf :tangle ~/.spectrwm.conf
-  workspace_limit = 5
-  warp_pointer = 1
-  modkey = Mod4
-  autorun = ws[1]:/home/armaa/src/bin/autostart
-#+end_src
-*** Bar
-Disable the bar by default (it can still be brought back up with MOD+b). The font just needs to be set to something that you have installed, otherwise spectrwm won't launch.
-#+begin_src conf :tangle ~/.spectrwm.conf
-  bar_enabled = 0
-  bar_font = xos4 JetBrains Mono:pixelsize=14:antialias=true # any installed font
-#+end_src
-*** Keybindings
-I'm not a huge fan of how spectrwm handles keybindings, probably my biggest gripe with it.
-**** WM actions
-#+begin_src conf :tangle ~/.spectrwm.conf
-  program[term] = st -e tmux
-  program[notif] = /home/armaa/src/bin/setter status
-  program[pass] = /home/armaa/src/bin/passmenu
-  program[lock] = slock
-
-  bind[notif] = MOD+n
-  bind[pass] = MOD+Shift+p
-#+end_src
-**** Media keys
-#+begin_src conf :tangle ~/.spectrwm.conf
-  program[paup] = /home/armaa/src/bin/setter audio +5
-  program[padown] = /home/armaa/src/bin/setter audio -5
-  program[pamute] = /home/armaa/src/bin/setter audio
-  program[brigup] = /home/armaa/src/bin/setter brightness +10%
-  program[brigdown] = /home/armaa/src/bin/setter brightness 10%-
-
-  bind[padown] = XF86AudioLowerVolume
-  bind[paup] = XF86AudioRaiseVolume
-  bind[pamute] = XF86AudioMute
-  bind[brigdown] = XF86MonBrightnessDown
-  bind[brigup] = XF86MonBrightnessUp
-#+end_src
-**** HJKL
-#+begin_src conf :tangle ~/.spectrwm.conf
-  program[h] = xdotool keyup h key --clearmodifiers Left
-  program[j] = xdotool keyup j key --clearmodifiers Down
-  program[k] = xdotool keyup k key --clearmodifiers Up
-  program[l] = xdotool keyup l key --clearmodifiers Right
-
-  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[email] = emacsclient -ce '(progn (switch-to-buffer "*scratch*") (mu4e))'
-  program[irc] = emacsclient -ce '(acheam-irc)'
-  program[rss] = emacsclient -ce '(elfeed)'
-  program[calendar] = emacsclient -ce '(acheam-calendar)'
-  program[calc] = emacsclient -ce '(progn (calc) (windmove-up) (delete-window))'
-  program[emacs] = emacsclient -c
-  program[bookmarks] = /home/armaa/src/bin/bookmarks
-  program[browser] = chorizo
-
-  bind[email] = MOD+Control+1
-  bind[irc] = MOD+Control+2
-  bind[rss] = MOD+Control+3
-  bind[calendar] = MOD+Control+4
-  bind[calc] = MOD+Control+5
-  bind[emacs] = MOD+Control+Return
-  bind[bookmarks] = MOD+Control+o
-  bind[browser] = MOD+Control+p
-#+end_src
-*** Quirks
-Float some specific programs by default.
-#+begin_src conf :tangle ~/.spectrwm.conf
-  quirk[Castle Menu] = FLOAT
-  quirk[momen] = FLOAT
-  quirk[pinentry-fltk] = FLOAT
-#+end_src
 ** Ash
 *** Options
 Use the vi editing mode. I still haven't found a good way to show visual feedback of the current mode. Ideally the cursor would change to a beam when in insert mode, and a box when in normal mode.
@@ -938,31 +872,39 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   }
 #+end_src
 *** Exports
+**** Default programs
 #+begin_src shell :tangle ~/.config/ash/ashrc
   export EDITOR="emacsclient -c"
   export VISUAL="$EDITOR"
   export TERM=xterm-256color # for compatability
-
+  #+end_src
+**** General program configs
+#+begin_src shell :tangle ~/.config/ash/ashrc
   export GPG_TTY="$(tty)"
   export MANPAGER='nvim +Man!'
   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
+**** PATH
+#+begin_src shell :tangle ~/.config/ash/ashrc
   export PATH="/home/armaa/src/bin:$PATH"
   export PATH="/home/armaa/src/bin/bin:$PATH"
   export PATH="/home/armaa/.local/bin:$PATH"
-  export PATH="$PATH:/usr/sbin"
-
+  export PATH="/usr/lib/ccache/bin:$PATH"
+#+end_src
+**** Locale
+#+begin_src shell :tangle ~/.config/ash/ashrc
   export LC_ALL="en_US.UTF-8"
   export LC_CTYPE="en_US.UTF-8"
   export LANGUAGE="en_US.UTF-8"
   export TZ="America/New_York"
-
+#+end_src
+**** KISS
+#+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"
@@ -972,11 +914,17 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   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 CFLAGS="-O3 -pipe -march=native"
   export CXXFLAGS="$CFLAGS"
   export MAKEFLAGS="-j$(nproc)"
   export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"
-
+#+end_src
+**** XDG desktop dirs
+#+begin_src shell :tangle ~/.config/ash/ashrc
   export XDG_DESKTOP_DIR="/dev/null"
   export XDG_DOCUMENTS_DIR="$HOME/documents"
   export XDG_DOWNLOAD_DIR="$HOME/downloads"
@@ -1160,52 +1108,17 @@ The best document reader!
   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
   set -g status off
   set -g mouse on
+
   set-option -g history-limit 50000
+
+  set -g set-titles on
+  set -g set-titles-string "#W"
+
   set-window-option -g mode-keys vi
   bind-key -T copy-mode-vi 'v' send -X begin-selection
   bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
@@ -1224,7 +1137,7 @@ I use tmux in order to keep my st build light. Still learning how it works.
   allow-emacs-pinentry
 #+end_src
 ** Xmodmap
-#+begin_src conf (if (eq system-name "frost.armaanb.net") ":tangle ~/.config/xmodmap")
+#+begin_src conf :tangle (progn (if (string= (system-name) "frost.armaanb.net") "~/.config/xmodmap" "no"))
   ! Unmap left super
   clear mod4
 
@@ -1242,3 +1155,9 @@ I use tmux in order to keep my st build light. Still learning how it works.
   add Lock = Caps_Lock
   add Control = Control_L
 #+end_src
+** sx
+#+begin_src shell :tangle ~/.config/sx/sxrc :tangle-mode (identity #o755)
+  autostart &
+  dwmblocks &
+  exec dwm
+#+end_src