general updates

This commit is contained in:
opfez 2024-03-11 15:19:15 +01:00
parent a262d02814
commit 8a24fb549f
4 changed files with 309 additions and 154 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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