summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemacs.org147
1 files changed, 71 insertions, 76 deletions
diff --git a/emacs.org b/emacs.org
index 0ab6eea..b38f96c 100755
--- a/emacs.org
+++ b/emacs.org
@@ -1,3 +1,4 @@
+
#+TITLE: Emacs Configuration
#+AUTHOR: Thanos Apollo
#+PROPERTY: header-args :tangle ~/.emacs.d/init.el :mkdirp yes
@@ -42,15 +43,12 @@ Define essential keybindings
** Paths
#+begin_src emacs-lisp
- ;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/elpa/mu4e-1.8.14")
- (when is-zeus
- (guix-emacs-autoload-packages))
+ (add-to-list 'load-path "/usr/share/emacs/site-lisp/elpa/mu4e-1.8.14")
#+end_src
-
* Setting Up Packages
** List of required packages
Request the following packages:
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp
(defvar thanos/packages '(emms tree-sitter org-snooze org-drill
all-the-icons all-the-icons-dired
all-the-icons-ivy-rich toc-org emojify
@@ -66,8 +64,7 @@ Request the following packages:
org-superstar pdf-tools org-auto-tangle sly
org-download eshell-git-prompt eshell-vterm
hackernews circe gptel beacon ement mu4e-alert
- pass eat
- ))
+ pass eat nov))
#+end_src
** Installation & activation
Set ~package-archives~, and install packages
@@ -78,9 +75,9 @@ Set ~package-archives~, and install packages
;; Activate all the packages
(package-initialize)
;; Install the missing packages
- ;; (dolist (package thanos/packages)
- ;; (unless (package-installed-p package)
- ;; (package-install package)))
+ (dolist (package thanos/packages)
+ (unless (package-installed-p package)
+ (package-install package)))
;; Set and load custom.el
(setq custom-file (concat user-emacs-directory "custom.el"))
@@ -205,7 +202,7 @@ Fonts and basic appearance settings for each device
(setq counsel-describe-function-function #'helpful-callable)
(setq counsel-describe-variable-function #'helpful-variable)
#+end_src
-* Navigation
+** Navigation
#+begin_src emacs-lisp
(global-set-key (kbd "C-x r d") 'bookmark-delete)
(global-set-key (kbd "C-x r C-r") 'bookmark-rename)
@@ -282,16 +279,12 @@ Generate a random password between 20 and 40 characters
(internal-border-width . 10)
(width . 80)
(height . 11)))
- (if is-zeus
- (progn
- (load-file "~/Developer/emacs-app-launcher/app-launcher.el")
- (app-launcher-run-app))
- (counsel-linux-app))
+ (counsel-linux-app)
(delete-frame)))))
#+end_src
* VM Manager
#+begin_src emacs-lisp
- (defvar vm-directory "~/VirtualMachines/")
+ (defvar vm-directory "~/virtual-machines/")
(defun vm-create-image ()
"Create qcow2 image."
@@ -312,9 +305,9 @@ Generate a random password between 20 and 40 characters
(read-file-name "ISO: ")
nil)))
(async-shell-command
- (format "qemu-system-x86_64 -enable-kvm -m %s -smp %s -hda %s -vga qxl -device virtio-serial-pci -spice port=5930,disable-ticketing=on -display spice-app %s "
+ (format "qemu-system-x86_64 -enable-kvm -m %s -smp %s -hda %s -vga qxl -device virtio-serial-pci -spice port=5784,disable-ticketing -display spice-app %s "
memory cores image (if iso (concat "-cdrom " iso) "")))))
-#+end_src
+#+end_src
* Dired
** Functions
#+begin_src emacs-lisp
@@ -351,6 +344,7 @@ Generate a random password between 20 and 40 characters
(define-key dired-mode-map (kbd "v") 'dired-watch-video)
(define-key dired-mode-map (kbd "z") 'wdired-change-to-wdired-mode)
(define-key dired-mode-map (kbd "C-c w") 'dired-set-wallpaper)
+ (define-key global-map (kbd "C-c d") 'delete-files-except)
#+end_src
** All-the-icons
#+begin_src emacs-lisp
@@ -616,8 +610,8 @@ Generate a random password between 20 and 40 characters
#+end_src
* Memorize
#+begin_src emacs-lisp
- (when is-zeus
- (load-file "~/Developer/memorize/memorize.el"))
+ ;; (when is-zeus
+ ;; (load-file "~/Developer/memorize/memorize.el"))
#+end_src
* Markdown
** Theme
@@ -635,7 +629,7 @@ Generate a random password between 20 and 40 characters
(add-to-list 'auto-mode-alist '("\\.md\\'" . gfm-mode))
(setq markdown-command "multimarkdown")
#+end_src
-* Programming
+* DevTools
** Essentials
#+begin_src emacs-lisp
(electric-pair-mode 1)
@@ -832,16 +826,6 @@ Create function to watch videos using ~mpv~
(elfeed-goodies/setup)
#+end_src
-* PDF
-#+begin_src emacs-lisp
- (require 'pdf-tools)
- (pdf-tools-install)
- ;;Add pdf-isearch-minor-mode hook, otherwise isearch will be buggy
- ;;Darkmode hook, cause I don't want color or light in my life, I'm a vampire.
- (add-hook 'pdf-view-mode-hook 'pdf-isearch-minor-mode)
- (add-hook 'pdf-view-mode-hook 'pdf-view-midnight-minor-mode)
- (add-to-list 'auto-mode-alist '("\\.pdf\\'" . 'pdf-view-mode))
-#+end_src
* mu4e
** Setting up mail
#+begin_src emacs-lisp
@@ -884,8 +868,7 @@ Create function to watch videos using ~mpv~
'(("/Public/Inbox" . ?I)
("/Inbox" . ?i)
("/Sent" . ?s)
- ("/Guix/patches" . ?g)
- ))
+ ("/Guix" . ?g)))
(setq mu4e-contexts
(list
@@ -952,28 +935,13 @@ Create function to watch videos using ~mpv~
#+begin_src emacs-lisp
(require 'mu4e-alert)
(mu4e-alert-enable-mode-line-display)
- (mu4e-alert-enable-notifications)
#+end_src
** Keybindings
#+begin_src emacs-lisp
(define-key thanos/applications-map (kbd "m") 'mu4e)
#+end_src
-* EMMS
-#+begin_src emacs-lisp
- (require 'emms)
- (emms-all)
- (setq emms-player-list '(emms-player-mpv)
- emms-player-mpv-parameters '("--no-video")
- emms-info-functions '(emms-info-native)
- emms-playlist-buffer-name "*Music*"
- emms-source-file-default-directory "~/Music/jazz")
-#+end_src
-** Keybindings
-#+begin_src emacs-lisp
- (define-key 'thanos/applications-map (kbd "e") 'emms)
- (define-key emms-playlist-mode-map (kbd "A") 'emms-add-directory-tree)
-#+end_src
-* Eshell
+* Shells
+** Eshell
** Configuration with Eat
#+begin_src emacs-lisp
(setq eshell-visual-commands '())
@@ -1258,7 +1226,7 @@ Set aliases for emacs functions and ~PATH~
(define-key thanos/eshell-map (kbd "o") 'multi-eshell)
(define-key thanos/eshell-map (kbd "n") 'multi-eshell-switch)
#+end_src
-* Vterm
+** Vterm
#+begin_src emacs-lisp
(defvar thanos/vterm-map (make-sparse-keymap))
(define-prefix-command 'thanos/vterm-map)
@@ -1268,24 +1236,6 @@ Set aliases for emacs functions and ~PATH~
(define-key thanos/vterm-map (kbd "d") 'multi-vterm-dedicated-open)
(define-key thanos/vterm-map (kbd "o") 'multi-vterm)
#+end_src
-* ERC
-#+begin_src emacs-lisp
- ;;; Code:
- (require 'erc)
-
- (setq erc-modules
- '(sasl netsplit fill button match track completion readonly
- networks ring autojoin noncommands irccontrols move-to-prompt stamp
- menu list))
-
- (defun erc-libera ()
- (interactive)
- "Login to liberachat with erc."
- (erc-tls :server "irc.libera.chat" :port 6697
- :nick "thanosapollo"
- :user "thanosapollo"
- :password (password-store-get "liberachat/thanos_apollo")))
-#+end_src
** Keybindings
#+begin_src emacs-lisp
(define-key thanos/applications-map (kbd "i") 'erc-libera)
@@ -1297,7 +1247,8 @@ Set aliases for emacs functions and ~PATH~
(setq gptel-api-key (password-store-get "chatgpt/api")
gptel-model 'gpt-4-32k)
#+end_src
-* YeeTube
+* Multimedia
+** YeeTube
#+begin_src emacs-lisp
(when is-zeus
(load-file "~/Developer/yeetube.el/yeetube.el"))
@@ -1317,7 +1268,9 @@ Set aliases for emacs functions and ~PATH~
(define-key yeetube-mode-map (kbd "c") 'yeetube-switch-mpv)
#+end_src
-** download via ffmpeg
+
++ Use ~ffmpeg~ to download videos
+
#+begin_src emacs-lisp
(defun yeetube-download-videos-ffmpeg ()
"Download one or multiple videos using yt-dlp.
@@ -1349,7 +1302,20 @@ Set aliases for emacs functions and ~PATH~
url
(shell-quote-argument name)))))))
#+end_src
-* Ement
+** EMMS
+#+begin_src emacs-lisp
+ (require 'emms)
+ (emms-all)
+ (setq emms-player-list '(emms-player-mpv)
+ emms-player-mpv-parameters '("--no-video")
+ emms-info-functions '(emms-info-native)
+ emms-playlist-buffer-name "*Music*"
+ emms-source-file-default-directory "~/Music/jazz")
+ (define-key 'thanos/applications-map (kbd "e") 'emms)
+ (define-key emms-playlist-mode-map (kbd "A") 'emms-add-directory-tree)
+#+end_src
+* Chat
+** Ement
#+begin_src emacs-lisp
(defun ement-login ()
(interactive)
@@ -1360,11 +1326,39 @@ Set aliases for emacs functions and ~PATH~
(define-key thanos/applications-map (kbd "M-e") 'ement-login)
#+end_src
-* StumpWM
+** ERC
+#+begin_src emacs-lisp
+ ;;; Code:
+ (require 'erc)
+
+ (setq erc-modules
+ '(sasl netsplit fill button match track completion readonly
+ networks ring autojoin noncommands irccontrols move-to-prompt stamp
+ menu list))
+
+ (defun erc-libera ()
+ (interactive)
+ "Login to liberachat with erc."
+ (erc-tls :server "irc.libera.chat" :port 6697
+ :nick "thanosapollo"
+ :user "thanosapollo"
+ :password (password-store-get "liberachat/thanos_apollo")))
+#+end_src
+* Extras
+** StumpWM
#+begin_src emacs-lisp
(setq stumpwm-shell-program "~/.stumpwm.d/modules/util/stumpish/stumpish")
#+end_src
-* Misc
+** pdf-tools
+#+begin_src emacs-lisp
+ (require 'pdf-tools)
+ (pdf-tools-install)
+ ;;Add pdf-isearch-minor-mode hook, otherwise isearch will be buggy
+ ;;Darkmode hook, cause I don't want color or light in my life, I'm a vampire.
+ (add-hook 'pdf-view-mode-hook 'pdf-isearch-minor-mode)
+ (add-hook 'pdf-view-mode-hook 'pdf-view-midnight-minor-mode)
+ (add-to-list 'auto-mode-alist '("\\.pdf\\'" . 'pdf-view-mode))
+#+end_src
** Random functions
#+begin_src emacs-lisp
(defun thanos/center-buffer ()
@@ -1448,7 +1442,8 @@ Set aliases for emacs functions and ~PATH~
"create a scratch buffer"
(interactive)
(switch-to-buffer (get-buffer-create "*Text Scratch*"))
- (org-mode))
+ (markdown-mode)
+ (gptel-mode))
(define-key Create (kbd "t") 'create-text-scratch)