general updates
This commit is contained in:
parent
a262d02814
commit
8a24fb549f
25
custom.el
25
custom.el
|
@ -198,6 +198,14 @@
|
|||
(t (setq current-layout "nous")))
|
||||
(shell-command (concat "setxkbmap " current-layout)))
|
||||
|
||||
(defun fez/change-volume (delta)
|
||||
"Change volume. Delta must be a valid amixer string, like '5%+' or '5%-'"
|
||||
(interactive)
|
||||
(shell-command
|
||||
(concat
|
||||
"amixer sset Master " delta
|
||||
" | grep \"Front Left:\" | head -n 1 | sed 's/\\].*//g' | sed 's/.*\\[//g'")))
|
||||
|
||||
(defun fez/man-at-point ()
|
||||
(interactive)
|
||||
(let ((word (current-word)))
|
||||
|
@ -261,7 +269,22 @@
|
|||
(interactive)
|
||||
(eshell 'N))
|
||||
|
||||
;; Eshell convinience commands.
|
||||
(defun fez/goto-file ()
|
||||
"Go to the file associated with the given name in fez/file-keys."
|
||||
(interactive)
|
||||
(let ((match (assoc (completing-read "Key: " fez/file-keys) fez/file-keys)))
|
||||
(when match
|
||||
(find-file (cdr match)))))
|
||||
|
||||
(defun fez/dired-open-file ()
|
||||
"In dired, open the file named on this line in the default application for the filetype."
|
||||
(interactive)
|
||||
(let ((file (dired-get-filename nil t)))
|
||||
(message "Opening %s..." file)
|
||||
(call-process "xdg-open" nil 0 nil file)
|
||||
(message "Opening %s done" file)))
|
||||
|
||||
;; Eshell convenience commands.
|
||||
(defalias 'open 'find-file-other-window)
|
||||
(defalias 'clean 'eshell/clear-scrollback)
|
||||
|
||||
|
|
6
init.el
6
init.el
|
@ -13,6 +13,10 @@
|
|||
;; Correct bad defaults.
|
||||
(load "~/.emacs.d/tweaks.el")
|
||||
|
||||
(setq fez/file-keys
|
||||
'(("config" . "~/.emacs.d/init.el")
|
||||
("agenda" . "~/doc/agenda.org")))
|
||||
|
||||
;; Additional functions, keybinds.
|
||||
(load "~/.emacs.d/custom.el")
|
||||
|
||||
|
@ -78,4 +82,4 @@
|
|||
(setq geiser-chez-binary "/usr/bin/scheme")
|
||||
|
||||
;; I use emacs as my window manager.
|
||||
;; (exwm-config)
|
||||
(exwm-config)
|
||||
|
|
426
packages.el
426
packages.el
|
@ -1,3 +1,4 @@
|
|||
|
||||
;; Automatically update packages and removes old ones.
|
||||
(use-package auto-package-update
|
||||
:ensure t
|
||||
|
@ -10,6 +11,12 @@
|
|||
(use-package basic-theme
|
||||
:ensure t)
|
||||
|
||||
;;; Built-in packages
|
||||
(use-package dired
|
||||
:init
|
||||
(with-eval-after-load 'dired-mode
|
||||
(define-key dired-mode-map (kbd "M-o") 'fez/dired-open-file)))
|
||||
|
||||
;;; Languages
|
||||
(use-package haskell-mode
|
||||
:ensure t
|
||||
|
@ -31,7 +38,7 @@
|
|||
(geiser-eval-definition)))))
|
||||
;; geiser requires extra packages for every implementation you want to use
|
||||
(use-package geiser-guile
|
||||
:ensure t)
|
||||
:ensure t)
|
||||
(use-package geiser-mit
|
||||
:ensure t)
|
||||
(use-package geiser-chez
|
||||
|
@ -97,6 +104,13 @@
|
|||
(use-package rust-mode
|
||||
:ensure t)
|
||||
|
||||
(use-package vterm
|
||||
:ensure t)
|
||||
|
||||
(use-package julia-snail
|
||||
:ensure t
|
||||
:hook (julia-mode . julia-snail-mode))
|
||||
|
||||
;; Amazing s-expression editing mode.
|
||||
;; (use-package lispy
|
||||
;; :ensure t
|
||||
|
@ -113,8 +127,7 @@
|
|||
(add-hook 'lisp-mode-hook 'paredit-mode)
|
||||
(add-hook 'emacs-lisp-mode-hook 'paredit-mode)
|
||||
(add-hook 'racket-mode 'paredit-mode)
|
||||
(add-hook 'fennel-mode 'paredit-mode)
|
||||
)
|
||||
(add-hook 'fennel-mode 'paredit-mode))
|
||||
|
||||
;;; Utility packages
|
||||
;; undo-tree is mainly used for its redo functionality.
|
||||
|
@ -126,6 +139,14 @@
|
|||
;; :config
|
||||
;; (global-undo-tree-mode))
|
||||
|
||||
;; Use ISO-format (YYYY-MM-DD) for calendar.
|
||||
(use-package calendar
|
||||
:config (calendar-set-date-style 'iso))
|
||||
|
||||
(use-package fzf
|
||||
:ensure t
|
||||
)
|
||||
|
||||
;; Nice startup screen.
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
|
@ -161,10 +182,32 @@
|
|||
:ensure t)
|
||||
|
||||
;; Minibuffer completion. Vertical display and faster than ido.
|
||||
(use-package selectrum
|
||||
|
||||
;; (use-package selectrum
|
||||
;; :ensure t
|
||||
;; :config
|
||||
;; (selectrum-mode t))
|
||||
|
||||
(use-package helm
|
||||
;; TODO: configure helm theme
|
||||
:ensure t
|
||||
:bind
|
||||
("M-x" . helm-M-x)
|
||||
("C-x C-f" . helm-find-files)
|
||||
("C-c C-x C-p" . helm-locate)
|
||||
("C-x b" . helm-mini)
|
||||
:config
|
||||
(selectrum-mode t))
|
||||
(helm-mode t)
|
||||
(setq helm-mode-fuzzy-match t)
|
||||
(setq helm-completion-in-region-fuzzy-match t)
|
||||
(setq helm-always-two-windows nil)
|
||||
(setq helm-display-buffer-default-height 15)
|
||||
(setq helm-default-display-buffer-functions '(display-buffer-in-side-window))
|
||||
|
||||
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to run persistent action
|
||||
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB work in terminal
|
||||
(define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z
|
||||
)
|
||||
|
||||
;; better incremental search with minibuffer
|
||||
(use-package swiper
|
||||
|
@ -172,11 +215,11 @@
|
|||
:bind ("C-s" . 'swiper))
|
||||
|
||||
;; Instead of opening windows inside of Emacs, create new frames. This is great
|
||||
;; for tiling window managers.
|
||||
(use-package frames-only-mode
|
||||
:ensure t
|
||||
:config
|
||||
(frames-only-mode))
|
||||
;; for tiling window managers, but not for exwm.
|
||||
;; (use-package frames-only-mode
|
||||
;; :ensure t
|
||||
;; :config
|
||||
;; (frames-only-mode))
|
||||
|
||||
;; Mode for browsing gemini/gopher sites.
|
||||
(use-package elpher
|
||||
|
@ -251,10 +294,18 @@
|
|||
(use-package god-mode
|
||||
:ensure t
|
||||
:init
|
||||
(global-set-key (kbd "<escape>") #'god-mode-all)
|
||||
(god-mode-all)
|
||||
(defun fez/god-mode-update-cursor-type ()
|
||||
(setq cursor-type (if (or god-local-mode buffer-read-only) 'box 'bar)))
|
||||
(add-hook 'post-command-hook #'fez/god-mode-update-cursor-type)
|
||||
(setq god-exempt-major-modes nil)
|
||||
(setq god-exempt-predicates nil)
|
||||
(setq god-mode-enable-function-key-translation nil))
|
||||
(setq god-mode-enable-function-key-translation nil)
|
||||
:bind (("<escape>" . god-mode-all)
|
||||
("C-x C-1" . delete-other-windows)
|
||||
("C-x C-2" . split-window-below)
|
||||
("C-x C-3" . split-window-right)
|
||||
("C-x C-0" . delete-window)))
|
||||
|
||||
(use-package tex
|
||||
:ensure auctex
|
||||
|
@ -267,156 +318,227 @@
|
|||
'((output-pdf "Zathura")))
|
||||
(setq tex-fontify-script nil)
|
||||
(setq font-latex-fontify-script nil)
|
||||
(fset 'tex-font-lock-suscript 'ignore))
|
||||
(fset 'tex-font-lock-suscript 'ignore)
|
||||
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
|
||||
(setq reftex-plug-into-auctex t)
|
||||
(setq reftex-label-alist '((nil ?e nil "~\\eqref{%s}" nil nil))))
|
||||
|
||||
;; mu4e doesn't have a (m)elpa package, apparently, so it is set up manually here
|
||||
;; (require 'mu4e)
|
||||
|
||||
;; (use-package exwm
|
||||
;; :init
|
||||
;; (defun fez/exwm-init-hook ()
|
||||
;; (exwm-workspace-switch-create 1))
|
||||
(use-package exwm
|
||||
:ensure dmenu
|
||||
:ensure edwina
|
||||
:hook
|
||||
(latex-mode
|
||||
. (lambda ()
|
||||
(local-set-key (kbd "C-c C-v")
|
||||
(lambda () (interactive)
|
||||
(split-window-right)
|
||||
(other-window 1)
|
||||
(TeX-view)))))
|
||||
:init
|
||||
(defun fez/exwm-init-hook ()
|
||||
(exwm-workspace-switch-create 1))
|
||||
|
||||
;; (require 'exwm-randr)
|
||||
;; (setq exwm-randr-workspace-output-plist '(0 "HDMI-0"))
|
||||
;; (add-hook 'exwm-randr-screen-change-hook
|
||||
;; (lambda ()
|
||||
;; (start-process-shell-command
|
||||
;; "xrandr" nil "xrandr --output HDMI-0 --left-of DVI-D-0 --auto")))
|
||||
;; (exwm-randr-enable)
|
||||
(require 'exwm-randr)
|
||||
(setq exwm-randr-workspace-output-plist '(0 "HDMI-0"))
|
||||
(add-hook 'exwm-randr-screen-change-hook
|
||||
(lambda ()
|
||||
(start-process-shell-command
|
||||
"xrandr" nil "xrandr --output HDMI-0 --left-of DVI-D-0 --auto")))
|
||||
(exwm-randr-enable)
|
||||
|
||||
(require 'exwm-systemtray)
|
||||
(exwm-systemtray-enable)
|
||||
|
||||
;; (defun exwm-config ()
|
||||
;; "EXWM configuration."
|
||||
;; ;; Set the initial workspace number.
|
||||
;; (unless (get 'exwm-workspace-number 'saved-value)
|
||||
;; (setq exwm-workspace-number 4))
|
||||
;; ;; Make class name the buffer name
|
||||
;; (add-hook 'exwm-update-class-hook
|
||||
;; (lambda ()
|
||||
;; (exwm-workspace-rename-buffer exwm-class-name)))
|
||||
;; ;; Global keybindings.
|
||||
;; (unless (get 'exwm-input-global-keys 'saved-value)
|
||||
;; (setq exwm-input-global-keys
|
||||
;; `(
|
||||
;; ;; 's-r': Reset (to line-mode, fullscreen).
|
||||
;; ([?\s-r] . exwm-reset)
|
||||
;; ;; 's-w': Switch workspace.
|
||||
;; ([?\s-w] . exwm-workspace-switch)
|
||||
;; ;; 's-&': Launch application.
|
||||
;; ([?\s-&] . (lambda (command)
|
||||
;; (interactive (list (read-shell-command "$ ")))
|
||||
;; (start-process-shell-command command nil command)))
|
||||
;; ;; 's-N': Switch to certain workspace.
|
||||
;; (\,@(mapcar (lambda (i)
|
||||
;; `(,(kbd (format "s-%d" i)) .
|
||||
;; (lambda ()
|
||||
;; (interactive)
|
||||
;; (exwm-workspace-switch-create ,i))))
|
||||
;; (number-sequence 0 9)))
|
||||
;; ;; 's-a': Toggle X mouse
|
||||
;; ([?\s-a] . fez/toggle-x-mouse)
|
||||
;; ;; 's-<space>': Toggle keyboard layouts
|
||||
;; ([?\s-\ ] . fez/swap-keyboard)
|
||||
;; ;; 's-l': Toggle line-mode and char-mode for the current window.
|
||||
;; ([?\s-l] . exwm-input-toggle-keyboard)
|
||||
;; ;; windmove movement commands
|
||||
;; ([?\s-u] . windmove-left)
|
||||
;; ([?\s-i] . windmove-down)
|
||||
;; ([?\s-o] . windmove-up)
|
||||
;; ([?\s-p] . windmove-right)))
|
||||
;; ;; Line-editing shortcuts
|
||||
;; (unless (get 'exwm-input-simulation-keys 'saved-value)
|
||||
;; (setq exwm-input-simulation-keys
|
||||
;; '(([?\C-b] . [left])
|
||||
;; ([?\C-f] . [right])
|
||||
;; ([?\C-p] . [up])
|
||||
;; ([?\C-n] . [down])
|
||||
;; ([?\C-a] . [home])
|
||||
;; ([?\C-e] . [end])
|
||||
;; ([?\M-v] . [prior])
|
||||
;; ([?\C-v] . [next])
|
||||
;; ([?\C-d] . [delete])
|
||||
;; ([?\C-k] . [S-end delete]))))
|
||||
;; ;; Enable windmove keybinds
|
||||
;; (winner-mode t)
|
||||
;; ;; Enable EXWM
|
||||
;; (exwm-enable))))
|
||||
(setq exwm-workspace-show-all-buffers t
|
||||
exwm-layout-show-all-buffers t)
|
||||
|
||||
(display-battery-mode t)
|
||||
|
||||
(defun exwm-config ()
|
||||
"EXWM configuration."
|
||||
;; Set the initial workspace number.
|
||||
(unless (get 'exwm-workspace-number 'saved-value)
|
||||
(setq exwm-workspace-number 4))
|
||||
;; Make class name the buffer name
|
||||
(add-hook 'exwm-update-class-hook
|
||||
(lambda ()
|
||||
(exwm-workspace-rename-buffer exwm-class-name)))
|
||||
;; Global keybindings.
|
||||
(unless (get 'exwm-input-global-keys 'saved-value)
|
||||
(setq exwm-input-global-keys
|
||||
`(;; 's-g': C-g for other windows, used to clear the minibuffer.
|
||||
([?\s-g] . keyboard-quit)
|
||||
;; 's-r': Reset (to line-mode, fullscreen).
|
||||
([?\s-r] . exwm-reset)
|
||||
;; 's-w': Switch workspace.
|
||||
([?\s-w] . exwm-workspace-switch)
|
||||
;; 's-f': Toggle floating
|
||||
([?\s-f] . exwm-floating-toggle-floating)
|
||||
;; 's-p': Launch application.
|
||||
([?\s-p] . dmenu
|
||||
;; (lambda (command)
|
||||
;; (interactive (list (read-shell-command "$ ")))
|
||||
;; (start-process-shell-command command nil command))
|
||||
)
|
||||
;; 's-N': Switch to certain workspace.
|
||||
(\,@(mapcar (lambda (i)
|
||||
`(,(kbd (format "s-%d" i)) .
|
||||
(lambda ()
|
||||
(interactive)
|
||||
(exwm-workspace-switch-create ,i))))
|
||||
(number-sequence 0 9)))
|
||||
;; 's-m': Toggle X mouse
|
||||
([?\s-m] . fez/toggle-x-mouse)
|
||||
;; 's-<space>': Toggle keyboard layouts
|
||||
([?\s-\ ] . fez/swap-keyboard)
|
||||
;; 's-t': Toggle line-mode and char-mode for the current window.
|
||||
([?\s-t] . exwm-input-toggle-keyboard)
|
||||
;; windmove movement commands
|
||||
;; ([?\s-j] . windmove-left)
|
||||
;; ([?\s-k] . windmove-down)
|
||||
;; ([?\s-l] . windmove-up)
|
||||
;; ([?\s-\;] . windmove-right)
|
||||
;; window management
|
||||
([?\s-j] . edwina-dec-mfact)
|
||||
([?\s-k] . edwina-select-next-window)
|
||||
([?\s-l] . edwina-select-previous-window)
|
||||
([?\s-\;] . edwina-inc-mfact)
|
||||
([?\s-i] . edwina-inc-nmaster)
|
||||
([?\s-u] . edwina-dec-nmaster)
|
||||
([?\s-a] . edwina-arrange)
|
||||
(,(kbd "s-<return>") . edwina-zoom)
|
||||
(,(kbd "s-S-<return>") . edwina-clone-window)
|
||||
(,(kbd "<print>") . (lambda ()
|
||||
(interactive)
|
||||
(shell-command "flameshot gui")))
|
||||
(,(kbd "<XF86AudioLowerVolume>") . (lambda ()
|
||||
(interactive)
|
||||
(fez/change-volume "5%-")))
|
||||
(,(kbd "<XF86AudioRaiseVolume>") . (lambda ()
|
||||
(interactive)
|
||||
(fez/change-volume "5%+")))
|
||||
(,(kbd "<XF86AudioMute>") . (lambda ()
|
||||
(interactive)
|
||||
(shell-command "amixer sset Master toggle > /dev/null")))))
|
||||
;; Line-editing shortcuts
|
||||
(unless (get 'exwm-input-simulation-keys 'saved-value)
|
||||
(setq exwm-input-simulation-keys
|
||||
'(([?\C-b] . [left])
|
||||
([?\C-f] . [right])
|
||||
([?\C-p] . [up])
|
||||
([?\C-n] . [down])
|
||||
([?\C-a] . [home])
|
||||
([?\C-e] . [end])
|
||||
([?\M-v] . [prior])
|
||||
([?\C-v] . [next])
|
||||
([?\C-d] . [delete])
|
||||
([?\C-k] . [S-end delete]))))
|
||||
;; Enable windmove keybinds
|
||||
(winner-mode t)
|
||||
;; Enable EXWM
|
||||
(exwm-enable))))
|
||||
|
||||
(use-package exwm-modeline
|
||||
:ensure t
|
||||
:after (exwm)
|
||||
:config
|
||||
(setq exwm-modeline-short t)
|
||||
(setq exwm-modeline-display-urgent nil)
|
||||
(add-hook 'exwm-init-hook #'exwm-modeline-mode))
|
||||
|
||||
(use-package elfeed
|
||||
:ensure t
|
||||
:config
|
||||
(setq elfeed-curl-extra-arguments '("--insecure"))
|
||||
(setq elfeed-feeds '(("http://tilde.town/~opfez/music_rss.xml" music)
|
||||
("https://tilde.town/~dzwdz/blog.xml" friend)
|
||||
("https://m455.casa/feed.rss" friend)
|
||||
("https://itwont.work/atom.xml" friend)
|
||||
("http://tilde.town/~archenoth/.weed" friend)
|
||||
("https://tilde.town/~opfez/blog_rss.xml" friend)
|
||||
;; ("https://dataswamp.org/~solene/rss.xml" blog)
|
||||
("https://stevelosh.com/rss.xml" blog)
|
||||
("https://ftrv.se/posts.rss" blog)
|
||||
("https://ambrevar.xyz/atom.xml" blog)
|
||||
("http://wingolog.org/feed/atom" blog)
|
||||
("https://nullprogram.com/feed/" blog)
|
||||
("https://www.brain-dump.org/index.xml" blog)
|
||||
("https://hyper.dev/feed.xml" blog)
|
||||
("https://100r.co/links/rss.xml" blog)
|
||||
("https://weinholt.se/feed.xml" blog)
|
||||
("https://www.more-magic.net/feed.atom" blog)
|
||||
;; ("https://planet.emacslife.com/atom.xml" blog)
|
||||
;; ("https://planet.lisp.org/rss20.xml" blog)
|
||||
("https://git.qorg11.net/kill9.git/rss" blog)
|
||||
("https://regularflolloping.com/rss.xml" blog)
|
||||
("https://sigkill.dk/atom.xml" blog)
|
||||
("https://doisinkidney.com/rss.xml" blog)
|
||||
("http://leahneukirchen.org/trivium/index.atom" blog)
|
||||
("https://cosmic.voyage/rss.xml" other)
|
||||
("https://xkcd.com/rss.xml" other)
|
||||
;; ("https://nixers.net/syndication.php?limit=15" other)
|
||||
("http://lambda-the-ultimate.org/node/feed" other)
|
||||
("https://esoteric.codes/rss" other)
|
||||
("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" news)
|
||||
("http://n-gate.com/index.rss" news)
|
||||
("https://suckless.org/atom.xml" news)
|
||||
;("https://www.aftenposten.no/rss/" news)
|
||||
;("https://www.nrk.no/toppsaker.rss" news)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCeh-pJYRZTBJDXMNZeWSUVA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC_QIfHvN9auy2CoOdSfMWDw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UClOGLGPOqlAiLmOvXW5lKbw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC4nJnJ-HO5vVbGlJ14rf5yg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCsvn_Po0SmunchJYOWpOxMg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCl_dlV_7ofr4qeP1drJQ-qg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC3ts8coMP645hZw9JSD3pqQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCtUbO6rBht0daVIOGML3c8w" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCJ8V9aiz50m6NVn0ix5v8RQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCEKJKJ3FO-9SFv5x5BzyxhQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCmu9PVIZBk-ZCi-Sk2F2utA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCUzQJ3JBuQ9w-po4TXRJHiA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCakAg8hC_RFJm4RI3DlD7SA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCEbYhDd6c6vngsF5PQpFVWg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC3azLjQuz9s5qk76KEXaTvA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCk2KE7yg0BwsJfr8Dp9ivUQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCSdma21fnJzgmPodhC9SJ3g" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCmtyQOKKmrMVaKuRXz02jbQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCah7IyEzRnRdttwDGDdy_gw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCL7DDQWP6x7wy0O6L5ZIgxg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCqp1yi_juq5JJuzKY71Hoag" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC1kBxkk2bcG78YBX7LMl9pQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UChl_NKOs1qqh_x7yJfaDpDw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCTvH45HvnOzqXvfNJqdc3xg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCd-qVRcjoK9zjtDs_LRxSmw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCsUablJrqdwCh83e55tBWPQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCXYejH-GyeQblhfNM01L-Rg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCrv269YwJzuZL3dH5PCgxUw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCt7fwAhXDy3oNFTAzF2o8Pw" youtube) ; theneedledrop
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCOjLfFE0TABS9bk05oH-kgw" youtube) ; patricia taxxon
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC9DkCKm4_VDztRRyge4mCJQ" youtube) ; amoeba records
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ" youtube) ; philosophy tube
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC5qqBFOKTNAzIyE4g3SvuwQ" youtube) ; sleep deprived
|
||||
)))
|
||||
(setq elfeed-feeds
|
||||
'(;; Music
|
||||
("http://tilde.town/~opfez/music_rss.xml" music)
|
||||
|
||||
;; Friends
|
||||
("https://tilde.town/~dzwdz/blog.xml" friend)
|
||||
("https://m455.casa/feed.rss" friend)
|
||||
("https://itwont.work/atom.xml" friend)
|
||||
("http://tilde.town/~archenoth/.weed" friend)
|
||||
("https://tilde.town/~opfez/blog_rss.xml" friend)
|
||||
|
||||
;; Blogs
|
||||
;; ("https://dataswamp.org/~solene/rss.xml" blog)
|
||||
("https://stevelosh.com/rss.xml" blog)
|
||||
("https://ftrv.se/posts.rss" blog)
|
||||
("https://ambrevar.xyz/atom.xml" blog)
|
||||
("http://wingolog.org/feed/atom" blog)
|
||||
("https://nullprogram.com/feed/" blog)
|
||||
("https://www.brain-dump.org/index.xml" blog)
|
||||
("https://hyper.dev/feed.xml" blog)
|
||||
("https://100r.co/links/rss.xml" blog)
|
||||
("https://weinholt.se/feed.xml" blog)
|
||||
("https://www.more-magic.net/feed.atom" blog)
|
||||
;; ("https://planet.emacslife.com/atom.xml" blog)
|
||||
;; ("https://planet.lisp.org/rss20.xml" blog)
|
||||
("https://git.qorg11.net/kill9.git/rss" blog)
|
||||
("https://regularflolloping.com/rss.xml" blog)
|
||||
("https://sigkill.dk/atom.xml" blog)
|
||||
("https://doisinkidney.com/rss.xml" blog)
|
||||
("http://leahneukirchen.org/trivium/index.atom" blog)
|
||||
("https://moufawad-paul.blogspot.com/rss.xml" blog)
|
||||
|
||||
;; Other
|
||||
("https://xkcd.com/rss.xml" other)
|
||||
;; ("https://nixers.net/syndication.php?limit=15" other)
|
||||
("http://lambda-the-ultimate.org/node/feed" other)
|
||||
("https://esoteric.codes/rss" other)
|
||||
|
||||
;; News
|
||||
("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" news)
|
||||
("http://n-gate.com/index.rss" news)
|
||||
("https://suckless.org/atom.xml" news)
|
||||
;("https://www.aftenposten.no/rss/" news)
|
||||
;("https://www.nrk.no/toppsaker.rss" news)
|
||||
|
||||
;; Youtube
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCeh-pJYRZTBJDXMNZeWSUVA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC_QIfHvN9auy2CoOdSfMWDw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UClOGLGPOqlAiLmOvXW5lKbw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC4nJnJ-HO5vVbGlJ14rf5yg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCsvn_Po0SmunchJYOWpOxMg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCl_dlV_7ofr4qeP1drJQ-qg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC3ts8coMP645hZw9JSD3pqQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCtUbO6rBht0daVIOGML3c8w" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCJ8V9aiz50m6NVn0ix5v8RQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCEKJKJ3FO-9SFv5x5BzyxhQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCmu9PVIZBk-ZCi-Sk2F2utA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCUzQJ3JBuQ9w-po4TXRJHiA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCakAg8hC_RFJm4RI3DlD7SA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCEbYhDd6c6vngsF5PQpFVWg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC3azLjQuz9s5qk76KEXaTvA" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCk2KE7yg0BwsJfr8Dp9ivUQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCSdma21fnJzgmPodhC9SJ3g" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCmtyQOKKmrMVaKuRXz02jbQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCah7IyEzRnRdttwDGDdy_gw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCL7DDQWP6x7wy0O6L5ZIgxg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCqp1yi_juq5JJuzKY71Hoag" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC1kBxkk2bcG78YBX7LMl9pQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UChl_NKOs1qqh_x7yJfaDpDw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCTvH45HvnOzqXvfNJqdc3xg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCd-qVRcjoK9zjtDs_LRxSmw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCsUablJrqdwCh83e55tBWPQ" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCXYejH-GyeQblhfNM01L-Rg" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCrv269YwJzuZL3dH5PCgxUw" youtube)
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCt7fwAhXDy3oNFTAzF2o8Pw" youtube) ; theneedledrop
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCnxQ8o9RpqxGF2oLHcCn9VQ" youtube) ; fantano
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCOjLfFE0TABS9bk05oH-kgw" youtube) ; patricia taxxon
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC9DkCKm4_VDztRRyge4mCJQ" youtube) ; amoeba records
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ" youtube) ; philosophy tube
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UC5qqBFOKTNAzIyE4g3SvuwQ" youtube) ; sleep deprived
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCyNtlmLB73-7gtlBz00XOQQ" youtube) ; folding ideas
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCgVm8xdaCcTFZWkJQ8NbEqA" youtube) ; ceicocat
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCIWEHR8n8GiLMWY8v7IP0Gg" youtube) ; mikasacus
|
||||
)))
|
||||
(provide 'packages)
|
||||
|
|
|
@ -100,6 +100,12 @@
|
|||
;; Calendar should start on Monday
|
||||
(setq calendar-week-start-day 1)
|
||||
|
||||
;; Don't move cursor position when scrolling
|
||||
(setq scroll-preserve-screen-position 1)
|
||||
|
||||
;; Display temporary buffers below the current one
|
||||
(setq display-buffer-base-action nil)
|
||||
|
||||
;; Auto-indent pasted code.
|
||||
(dolist (command '(yank yank-pop))
|
||||
(eval
|
||||
|
|
Loading…
Reference in New Issue