blob: e312bca165b78b52751a0d9acc4e929bc796a193 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
;; -*- lexical-binding: t; -*-
(require 'package)
(add-to-list 'load-path "/home/bdunahu/.guix-profile/share/emacs/site-lisp")
(guix-emacs-autoload-packages)
(require 'use-package-ensure)
(setq use-package-always-ensure t)
;; (setq use-package-verbose t) ; for debugging
;; reduce the frequency of garbage collection by making it happen on
;; each 50MB of allocated data (the default is on every 0.76MB)
(setq gc-cons-threshold 50000000)
(setenv "PATH" (format "%s:%s" "/home/bdunahu/Personal/scripts/" (getenv "PATH")))
;;; do not store customized setting (automatic) here
(setq custom-file "/home/bdunahu/.config/emacs/custom.el")
(load custom-file t)
(defun request-sudo ()
"Uses TRAMP to edit currently opened file as root."
(interactive)
(when buffer-file-name
(find-alternate-file
(concat "/sudo:root@localhost:"
buffer-file-name))))
(defun match-buffer-name (name)
"Returns non-nil if NAME matches the name of an existing buffer"
(try-completion name (mapcar #'buffer-name (buffer-list))))
(defun rip-video ()
"If region, open SEARCH with mpv in --full-screen. Else,
open URL at point."
(interactive)
(let ((URL-OR-SEARCH
(if (use-region-p)
(buffer-substring (mark) (point))
(shr-url-at-point nil))))
(message "Ludu %s" URL-OR-SEARCH)
(start-process-shell-command "rip-video" nil (concat "rip-video " URL-OR-SEARCH))))
(defun clamp (lower-bound upper-bound value)
(max lower-bound (min value upper-bound)))
(defun remote-shell ()
(interactive)
(let ((default-directory "/ssh:bdunahu@perch.cs.colostate.edu:"))
(shell)))
(global-unset-key (kbd "C-z"))
(load "/home/bdunahu/.config/emacs/bd-org.el")
(load "/home/bdunahu/.config/emacs/bd-emms.el")
(load "/home/bdunahu/.config/emacs/bd-development.el")
(use-package newsticker
:demand t
:bind (("C-z C-n" . newsticker-show-news)
:map newsticker-treeview-item-mode-map
("C-j" . rip-video))
:custom
(newsticker-url-list-defaults nil)
(newsticker-automatically-mark-items-as-old nil)
(newsticker-url-list '(("Ambrose and Elsewhere" "https://jamesenge.com/engeblog/feed" nil nil nil)
("James Enge Mastodon" "https://mastodon.sdf.org/@jamesenge.rss" nil nil nil)
("Book Reviews | Tales From the Magician's Skull" "https://goodman-games.com/tftms/category/book-reviews/feed" nil nil nil)
("Arch Linux: Recent news updates" "https://archlinux.org/feeds/news/" nil nil nil)
("Parabola GNU/Linux-libre: Recent news updates" "https://www.parabola.nu/feeds/news/" nil nil nil)
("suckless.org news" "https://suckless.org/atom.xml" nil nil nil)
("Mental Outlaw" "https://vid.puffyan.us/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA" nil nil nil)
("Luke Smith" "https://vid.puffyan.us/feed/channel/UC2eYFnH61tmytImy1mTYvhA" nil nil nil)
("Brent Westbrook" "https://yewtu.be/feed/channel/UC0PBefyEK7qQ7HN325nUamQ" nil nil nil)
("Bugswriter" "https://yewtu.be/feed/channel/UCngn7SVujlvskHRvRKc1cTw" nil nil nil)
("Protesilaos Stravrou" "https://yewtu.be/feed/playlist/PL8Bwba5vnQK14z96Gil86pLMDO2GnOhQ6" nil nil nil)))
;; may require ./newsticker/groups to be cleared
(newsticker-groups '("Feeds"
("READING" "Ambrose and Elsewhere" "James Enge Mastodon" "Book Reviews | Tales From the Magician's Skull")
("TECH" ("GNU/Linux" "Arch Linux: Recent news updates" "Parabola GNU/Linux-libre: Recent news updates") "suckless.org news")
("VIDEO" "Mental Outlaw" "Luke Smith" "Brent Westbrook" "Bugswriter" "Protesilaos Stravrou"))))
(setq erc-server "irc.libera.chat"
erc-nick "Isaz"
erc-user-full-name "bd"
erc-kill-buffer-on-part t
erc-autojoin-channels-alist '(("irc.libera.char" "#parabola" "#emacs")))
(defalias 'erc 'erc-tls)
;; dired
(setq dired-listing-switches "-alh")
(setq inhibit-startup-message t)
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;; move backups to tmp folder
(setq backup-directory-alist `(("." . ,(expand-file-name "tmp/backups/" user-emacs-directory))))
(make-directory (expand-file-name "tmp/auto_saves/" user-emacs-directory) t)
;; move auto-saves to tmp folder
(setq auto-save-list-file-prefix (expand-file-name "tmp/auto_saves/sessions/" user-emacs-directory)
auto-save-file-transforms `((".*" ,(expand-file-name "tmp/auto_saves/" user-emacs-directory) t)))
(setq scroll-up-aggressively '0.0
scroll-down-aggressively '0.0)
(global-auto-revert-mode 1)
(setq fit-window-to-buffer-horizontally t)
(use-package vertico
:init
(vertico-mode)
:custom
(vertico-cycle t))
;; allow one side window per side of frame
(setq window-sides-slots '(1 1 1 1))
(global-unset-key (kbd "C-x C-z")) ; unbind suspend-frame--terrible spot for binding
;; dired
(global-set-key (kbd "C-z d") 'dired-jump)
;; text-scale
(global-set-key (kbd "C-z =") 'text-scale-increase)
(global-set-key (kbd "C-z -") 'text-scale-decrease)
(load "/home/bdunahu/.config/emacs/bd-wm.el")
(load "/home/bdunahu/.config/emacs/bd-mode-and-themes.el")
(setq gc-cons-threshold 800000)
;; packages to consider:
;;; pydocs
;;; yasnippit
|