]> git.armaanb.net Git - config.org.git/blobdiff - config.org
Remove emacs-anywhere
[config.org.git] / config.org
index c58330a96db1f114362ca972b5436ce891498667..612c02050b133f7f626a7d64a3129db685b1b3f9 100644 (file)
@@ -15,9 +15,7 @@ Another important choice has been to integrate Emacs into a large part of my com
 Lastly, I use Evil mode. I think modal keybindings are simple and more ergonomic than standard Emacs style, and Vim keybindings are what I'm comfortable with and are pervasive throughout computing.
 ** TODOs
 *** TODO Turn keybinding and hook declarations into use-package declarations where possible
-*** TODO Put configs with passwords in here with some kind of authentication
-- Offlineimap
-- irc.el
+*** TODO Include offlineimap config
 ** License
 Released under the [[https://opensource.org/licenses/MIT][MIT license]] by Armaan Bhojwani, 2021. Note that many snippets are taken from online, and other sources, who are credited for their work at the snippet.
 * Package management
@@ -269,8 +267,10 @@ Add back C-a/C-x
     (add-to-list 'org-structure-template-alist '("za" . "src conf :tangle ~/.config/zathura/zathurarc"))
     (add-to-list 'org-structure-template-alist '("ff1" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userChrome.css"))
     (add-to-list 'org-structure-template-alist '("ff2" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userContent.css"))
-    (add-to-list 'org-structure-template-alist '("xr" . "src conf :tangle ~/.Xresources")
-    (add-to-list 'org-structure-template-alist '("tm" . "src conf :tangle ~/.tmux.conf")))
+    (add-to-list 'org-structure-template-alist '("xr" . "src conf :tangle ~/.Xresources"))
+    (add-to-list 'org-structure-template-alist '("tm" . "src conf :tangle ~/.tmux.conf"))
+    (add-to-list 'org-structure-template-alist '("gp" . "src conf :tangle ~/.gnupg/gpg.conf"))
+    (add-to-list 'org-structure-template-alist '("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf")))
 #+end_src
 * Autocompletion
 ** Ivy
@@ -438,53 +438,39 @@ Some EWW enhancements.
     :bind (("C-c w" . eww))
     :hook (eww-after-render-hook prot-eww--rename-buffer))
 #+end_src
-*** Better entrypoint
+*** Keybinding
 #+begin_src emacs-lisp
-  ;; From https://protesilaos.com/dotemacs/
-  (defun prot-eww-browse-dwim (url &optional arg)
-    "Visit a URL, maybe from `eww-prompt-history', with completion.
-
-  With optional prefix ARG (\\[universal-argument]) open URL in a
-  new eww buffer.
-
-  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)
+  (global-set-key (kbd "C-c w") 'eww)
 #+end_src
 ** IRC
 #+begin_src emacs-lisp
-  (use-package erc
-    :straight (:type built-in)
+  (use-package circe
     :config
-    (load "~/.emacs.d/irc.el")
-    (erc-notifications-mode 1)
-    (erc-smiley-disable)
-    :custom (erc-prompt-for-password . nil))
+    (enable-lui-track)
+    (enable-circe-color-nicks))
 
-  (use-package erc-hl-nicks
-    :config (erc-hl-nicks-mode 1))
+  (defun fetch-password (&rest params)
+    (require 'auth-source)
+    (let ((match (car (apply 'auth-source-search params))))
+      (if match
+          (let ((secret (plist-get match :secret)))
+            (if (functionp secret)
+                (funcall secret)
+              secret))
+        (error "Password not found for %S" params))))
 
-  (defun acheam-irc ()
-    "Connect to irc"
-    (interactive)
-    (erc-tls :server "irc.armaanb.net" :nick "emacs"))
+  (setq circe-network-options
+        '(("pounce"
+           :host "irc.armaanb.net"
+           :nick "emacs"
+           :use-tls t
+           :port "6697"
+           :pass (lambda (fetch-password
+                          :login "emacs"
+                          :machine "irc.armaanb.net"
+                          :port 6697))))
 
-  (acheam-irc)
-#+end_src
-** 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 emacs-everywhere)
+        (circe "pounce")
 #+end_src
 * Emacs IDE
 ** Code cleanup
@@ -563,6 +549,25 @@ Use Emacs globally. Use the Emacs daemon and bind a key in your wm to =emacsclie
     :straight (git-email :repo "https://git.sr.ht/~yoctocell/git-email")
     :config (git-email-piem-mode))
 #+end_src
+** Java
+*** Evaluate current buffer
+Stolen from https://stackoverflow.com/questions/19953924/how-do-you-run-java-codes-in-emacs
+#+begin_src emacs-lisp
+  (defun java-eval-buffer ()
+    "run current program (that requires no input)"
+    (interactive)
+    (let* ((source (file-name-nondirectory buffer-file-name))
+           (out    (file-name-sans-extension source))
+           (class  (concat out ".class")))
+      (save-buffer)
+      (shell-command (format "rm -f %s && javac %s" class source))
+      (if (file-exists-p class)
+          (shell-command (format "java %s" out) "*scratch*")
+        (progn
+          (set (make-local-variable 'compile-command)
+               (format "javac %s" source))
+          (command-execute 'compile)))))
+#+end_src
 * General text editing
 ** Indentation
 Indent after every change.
@@ -772,12 +777,10 @@ No more clogging up init.el.
   program[emacs] = emacsclient -c
   program[firefox] = firefox
   program[calc] = st -e because -l
-  program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)"
 
   bind[email] = MOD+Control+1
   bind[irc] = MOD+Control+2
   bind[firefox] = MOD+Control+3
-  bind[emacs-anywhere] = MOD+Control+4
   bind[calc] = MOD+Control+5
   bind[emacs] = MOD+Control+Return
 #+end_src
@@ -1191,8 +1194,7 @@ userContent.css:
   }
 #+end_src
 ** Xresources
-*** Color scheme
-Modus operandi.
+Modus operandi theme.
 #+begin_src conf :tangle ~/.Xresources
   ! special
   ,*.foreground:   #ffffff
@@ -1231,25 +1233,22 @@ Modus operandi.
   ,*.color7:       #eeeeee
   ,*.color15:      #dddddd
 #+end_src
-*** Copy paste
-#+begin_src conf :tangle ~/.Xresources
-  xterm*VT100.Translations: #override \
-  Shift <KeyPress> Insert: insert-selection(CLIPBOARD) \n\
-  Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
-  Ctrl Shift <Key>C:    copy-selection(CLIPBOARD) \n\
-  Ctrl <Btn1Up>: exec-formatted("xdg-open '%t'", PRIMARY)
-#+end_src
-*** Blink cursor
-#+begin_src conf :tangle ~/.Xresources
-  xterm*cursorBlink: true
-#+end_src
-*** Alt keys
-#+begin_src conf :tangle ~/.Xresources
-  XTerm*eightBitInput:   false
-  XTerm*eightBitOutput:  true
-#+end_src
 ** Tmux
 #+begin_src conf :tangle ~/.tmux.conf
   set -g status off
+  set -g mouse on
   set-window-option -g mode-keys vi
 #+end_src
+** GPG
+*** Config
+#+begin_src conf :tangle ~/.gnupg/gpg.conf
+  default-key 3C9ED82FFE788E4A
+  use-agent
+#+end_src
+*** Agent
+#+begin_src conf :tangle ~/.gnupg/gpg-agent.conf
+  pinentry-program /sbin/pinentry-gnome3
+  max-cache-ttl 600
+  default-cache-ttl 600
+  allow-emacs-pinentry
+#+end_src