Pierre Neidhardt 2017-09-04 08:49:31 +01:00
commit 173c3cd502
20 changed files with 370 additions and 91 deletions

View File

@ -79,5 +79,5 @@ if [ ! -e ~/.authinfo.gpg ]; then
## TODO: Does not work with --batch for some reason, so we have to spawn Emacs.
emacs --eval '(progn (when (require '"'"'mu4e nil t) (let ((auth-sources (list "~/.authinfo.gpg")) (auth-source-save-behavior t)) (dolist (context mu4e-contexts) (mu4e-context-switch nil (mu4e-context-name context)) (funcall (plist-get (car (auth-source-search :max 1 :host smtpmail-smtp-server :port smtpmail-smtp-service :user smtpmail-smtp-user :require '"'"'(:user :secret) :create t)) :save-function))))) (kill-emacs))'
fi
mbsync -a
mbsync -aV
mu index --maildir=~/.cache/mail

View File

@ -21,3 +21,11 @@ fi
if command -v tlmgr >/dev/null 2>&1; then
tlctl l >"$PKG_ROOT/texlive"
fi
## Gentoo
if command -v emerge >/dev/null 2>&1; then
mkdir -p "$PKG_ROOT/gentoo"
cp /var/lib/portage/world "$PKG_ROOT/gentoo/"
sed -n '/^# Auto-generated/q;p' /etc/portage/package.use | LC_ALL=C sort >"$PKG_ROOT/gentoo/package.use"
sed -n '/^# /q;p' /etc/portage/package.accept_keywords | LC_ALL=C sort >"$PKG_ROOT/gentoo/package.accept_keywords"
fi

View File

@ -310,7 +310,7 @@ statusbar-padding = 1,1,0,0
# * `{backend}`: Either 'webkit' or 'webengine'
# * `{private}` : Indicates when private mode is enabled.
# Default: {perc}{title}{title_sep}qutebrowser
window-title-format = {perc}{title}{title_sep}qutebrowser
window-title-format = {title}{title_sep}qutebrowser
# modal-js-dialog (Bool):
# Use standard JavaScript modal dialog for alert() and confirm()

View File

@ -45,9 +45,9 @@
(setq package-user-dir (concat emacs-cache-folder "elpa"))
(package-initialize))
(require 'functions nil t)
(require 'main nil t)
(require 'visual nil t)
(require 'functions)
(require 'main)
(require 'visual)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -87,11 +87,12 @@
(setq company-idle-delay nil))
;;; Debbugs
;; TODO: Make debbugs more Evil.
(nconc package-selected-packages '(debbugs))
(with-eval-after-load 'debbugs
(setq debbugs-gnu-persistency-file (expand-file-name "debbugs" emacs-cache-folder)))
;;; Diff
;;; TODO: Show permissions in ztree.
;;; REVIEW: Show permissions in ztree.
;;; See https://github.com/fourier/ztree/issues/50.
(nconc package-selected-packages '(ztree))
@ -104,7 +105,7 @@
(with-eval-after-load 'dired (require 'init-dired))
;;; Emms
(nconc package-selected-packages '(emms emms helm-emms emms-player-mpv))
(nconc package-selected-packages '(emms helm-emms emms-player-mpv))
(when (fboundp 'emms-all)
;; Emms has no autoload to switch to the browser, let's add one.
(autoload 'emms-smart-browse "emms-browser" nil t))

View File

@ -135,6 +135,9 @@ will always use the same cover per folder."
(setq emms-playing-time 0) ; Don't disturb the time display.
(emms-start)
(sleep-for 0 200) ; This is required for the player might not be ready yet.
;; TODO: The sleep-for might make EMMS play during the time on resume. We
;; could work around that by muting the volume. Is there a portable way
;; of doing that? It does not seem that EMMS can do this natively.
(emms-player-seek-to time)
(emms-pause))))

View File

@ -8,7 +8,7 @@
;;; TODO: Redirecting big output to file (e.g. /dev/null) is extremely slow.
;;; TODO: Cannot "C-c C-c" during a `sudo pacman -Syu`.
;;; REVIEW: Cannot "C-c C-c" during a `sudo pacman -Syu`. A bug was filed about that already.
;;; TODO: The buffer stutters when writing "in-place", e.g. pacman, git.
;;; It seems that it does not do it as much in `emacs -Q`.
@ -18,10 +18,23 @@
;;; http://www.gnu.org/software/emacs/manual/html_node/eshell/Built_002dins.html
;;; https://emacs.stackexchange.com/questions/5608/how-to-let-eshell-remember-sudo-password-for-two-minutes
;;; See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27411
;;; and #28323.
;;; REVIEW: Eshell/TRAMP's sudo does not work with aliases.
;;; See #28320.
;;; REVIEW: Eshell/Shell completion fails when PATH has a non-readable element.
;; See https://github.com/emacs-helm/helm/issues/1785
;; and https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27300.
;;; See https://github.com/emacs-helm/helm/issues/1785
;;; and https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27300.
;;; REVIEW: 40M+ output: Stack overflow in regexp matcher
;;; See bug#28329.
;;; REVIEW: Eshell mixes stderr and stdout it seems.
;;; Example:
;;; $ mu find --nocolor --sortfield=d --maxnum=500 flag:unread AND NOT flag:trashed >/dev/null
;;; mu: no matches for search expression (4)
;;; See #21605 "24.3; Eshell not using stderr".
(setq eshell-directory-name (concat emacs-cache-folder "eshell"))
@ -73,7 +86,9 @@
("sudo" "vi"))))
;;; Support for Emacs' pinentry
;; (setq epa-pinentry-mode 'loopback) ; This will fail if gpg>=2.1 is not available.
;;; TODO: gpg-agent seems to be misconfigured for mu4e at least:
;;; See https://github.com/djcb/mu/issues/829.
(setq epa-pinentry-mode 'loopback) ; This will fail if gpg>=2.1 is not available.
(pinentry-start)
;;; Alias management possibilities:
@ -103,6 +118,8 @@
("mkdir" "*mkdir -p $*")
("mkcd" "*mkdir -p $* && cd $1")))
(add-to-list 'eshell-command-aliases-list alias))
(when (executable-find "emerge")
(add-to-list 'eshell-command-aliases-list '("emerge" "sudo *emerge --color y $*")))
(eshell-write-aliases-list))
;;; Hooks
@ -152,18 +169,13 @@ See `eshell-prompt-regexp'."
(eshell-next-prompt (- n))))
(when (require 'bash-completion nil t)
;; REVIEW: `bash-completion-dynamic-complete' is almost what we want for eshell, it only needs a tiny modification.
;; Ask upstream to change the function arguments.
;; See https://github.com/szermatt/emacs-bash-completion/issues/13.
;;
;; Sometimes `eshell-default-completion-function' does better, e.g. "gcc
;; <TAB>" shows .c files.
(setq eshell-default-completion-function
(lambda ()
(while (pcomplete-here
(cl-letf (((symbol-function 'comint-line-beginning-position)
#'(lambda () (save-excursion (eshell-bol) (point)))))
(nth 2 (bash-completion-dynamic-complete))))))))
(setq eshell-default-completion-function 'eshell-bash-completion))
(defun eshell-bash-completion ()
(while (pcomplete-here
(nth 2 (bash-completion-dynamic-complete-nocomint (save-excursion (eshell-bol) (point)) (point))))))
;;; If the user fish config change directory on startup, file completion will
;;; not be right. One work-around is to add a "cd default-directory" before the

View File

@ -0,0 +1,24 @@
;;; Evil+Debbugs
(evil-set-initial-state 'debbugs-gnu-mode 'motion)
(evil-define-key 'motion debbugs-gnu-mode-map
(kbd "TAB") 'forward-button
(kbd "<backtab>") 'backward-button
(kbd "RET") 'debbugs-gnu-select-report
(kbd "SPC") 'scroll-up-command
"\M-sf" 'debbugs-gnu-narrow-to-status
"gB" 'debbugs-gnu-show-blocking-reports
"c" 'debbugs-gnu-send-control-message
"r" 'debbugs-gnu-show-all-blocking-reports
"S" 'tabulated-list-sort
"gb" 'debbugs-gnu-show-blocked-by-reports
"d" 'debbugs-gnu-display-status
"gr" 'debbugs-gnu-rescan
"q" 'quit-window
"s" 'debbugs-gnu-toggle-sort
"i" 'debbugs-gnu-toggle-tag
"o" 'debbugs-gnu-widen
"x" 'debbugs-gnu-toggle-suppress)
(provide 'init-evil-debbugs)

View File

@ -1,7 +1,10 @@
;;; Evil+EMMS
(dolist (mode '(emms-browser-mode emms-playlist-mode))
(evil-set-initial-state mode 'motion))
;; emms-browser does not run any mode hook. As such the default state is 'normal.
;; TODO: Report upstream.
(defun evil/emms-browser ()
(evil-motion-state))
(advice-add 'emms-browser :after 'evil/emms-browser)
(defun evil/emms-playlist-mode-insert-newline-above ()
"Insert a newline above point."
@ -40,39 +43,44 @@ The return value is the yanked text."
"-" 'emms-volume-lower
"u" 'emms-playlist-mode-undo))
(evil-define-key 'motion emms-browser-mode-map
(kbd "C-<return>") 'emms-browser-add-tracks-and-play
(kbd "<return>") 'emms-browser-add-tracks
(kbd "<tab>") 'emms-browser-toggle-subitems
"/" 'emms-isearch-buffer ; This shows hidden items during search.
"g1" 'emms-browser-collapse-all
"g2" 'emms-browser-expand-to-level-2
"g3" 'emms-browser-expand-to-level-3
"g4" 'emms-browser-expand-to-level-4
"<" 'emms-browser-previous-filter
">" 'emms-browser-next-filter
"C" 'emms-browser-clear-playlist
"D" 'emms-browser-delete-files
"g0" 'emms-browser-expand-all
"d" 'emms-browser-view-in-dired
"\C-j" 'emms-browser-next-non-track
"\C-k" 'emms-browser-prev-non-track
"\M-j" 'emms-browser-next-non-track
"\M-k" 'emms-browser-prev-non-track
"[" 'emms-browser-prev-non-track
"]" 'emms-browser-next-non-track
"{" 'emms-browser-prev-non-track
"}" 'emms-browser-next-non-track
"ga" 'emms-browse-by-artist
"gA" 'emms-browse-by-album
"gb" 'emms-browse-by-genre
"gy" 'emms-browse-by-year
"gc" 'emms-browse-by-composer
"gp" 'emms-browse-by-performer
"x" 'emms-pause
"s" (lookup-key emms-browser-mode-map (kbd "s"))
"z" (lookup-key emms-browser-mode-map (kbd "W")))
(with-eval-after-load 'emms-browser
;; TODO: Why do we need to define emms-browser-mode-map after load and not emms-playlist-mode-map?
(evil-define-key 'motion emms-browser-mode-map
(kbd "C-<return>") 'emms-browser-add-tracks-and-play
(kbd "<return>") 'emms-browser-add-tracks
(kbd "<tab>") 'emms-browser-toggle-subitems
(kbd "SPC") 'emms-browser-toggle-subitems
"/" 'emms-isearch-buffer ; This shows hidden items during search.
"g1" 'emms-browser-collapse-all
"g2" 'emms-browser-expand-to-level-2
"g3" 'emms-browser-expand-to-level-3
"g4" 'emms-browser-expand-to-level-4
"<" 'emms-browser-previous-filter
">" 'emms-browser-next-filter
"C" 'emms-browser-clear-playlist
"D" 'emms-browser-delete-files
"g0" 'emms-browser-expand-all
"d" 'emms-browser-view-in-dired
"\C-j" 'emms-browser-next-non-track
"\C-k" 'emms-browser-prev-non-track
"\M-j" 'emms-browser-next-non-track ; Custom
"\M-k" 'emms-browser-prev-non-track ; Custom
"[" 'emms-browser-prev-non-track
"]" 'emms-browser-next-non-track
"{" 'emms-browser-prev-non-track
"}" 'emms-browser-next-non-track
"ga" 'emms-browse-by-artist
"gA" 'emms-browse-by-album
"gb" 'emms-browse-by-genre
"gy" 'emms-browse-by-year
"gc" 'emms-browse-by-composer
"gp" 'emms-browse-by-performer
"x" 'emms-pause
"s" (lookup-key emms-browser-mode-map (kbd "s"))
"z" (lookup-key emms-browser-mode-map (kbd "W")))
)
(evil-set-initial-state 'emms-playlist-mode 'motion)
(evil-define-key 'motion emms-playlist-mode-map
"o" 'evil/emms-playlist-mode-insert-newline-below
"O" 'evil/emms-playlist-mode-insert-newline-above
@ -95,8 +103,8 @@ The return value is the yanked text."
"zs" 'emms-show
"\C-j" 'emms-next
"\C-k" 'emms-previous
"\M-j" 'emms-next
"\M-k" 'emms-previous
"\M-j" 'emms-next ; Custom
"\M-k" 'emms-previous ; Custom
"r" 'emms-random
"s" 'emms-stop
"S" (lookup-key emms-playlist-mode-map (kbd "S"))

View File

@ -0,0 +1,57 @@
;;; Evil+Gnus
(evil-set-initial-state 'gnus-summary-mode 'motion)
(evil-define-key 'motion gnus-summary-mode-map
(kbd "TAB") 'gnus-summary-widget-forward
(kbd "<backtab>") 'gnus-summary-widget-backward
(kbd "DEL") 'gnus-summary-prev-page
(kbd "S-SPC") 'gnus-summary-prev-page
(kbd "SPC") 'gnus-summary-next-page
(kbd "RET") 'gnus-summary-scroll-up
"zz" 'gnus-recenter
"z#" 'gnus-summary-mark-as-processable
"!" 'gnus-summary-execute-command
"zc" 'gnus-cache-enter-article
"gb" 'gnus-summary-best-unread-article
"gf" 'gnus-summary-first-unread-article
"z/" 'gnus-summary-limit-map
;; "<" "=" ">" ...
"zd" 'gnus-summary-mark-as-dormant
;; "gA"
;; "gB"
;; "zC"
;; "zD"
;; "zE"
;; "zF"
;; "gG"
;; "gH"
;; "zI"
;; "gK"
;; "zL"
;; "gM"
"J" 'gnus-summary-next-article
"K" 'gnus-summary-prev-article
"gO" 'gnus-summary-save-map
"Q" 'gnus-summary-exit-no-update
"R" 'gnus-summary-reply-with-original
"gS" 'gnus-summary-send-map
"gT" 'gnus-summary-thread-map
"gV" 'gnus-summary-score-map
"gW" 'gnus-summary-wash-map
"X" 'gnus-uu-extract-map
"gY" 'gnus-summary-buffer-map
"gZ" 'gnus-summary-exit-map
"z^" 'gnus-summary-refer-parent-article
;; "a" ...
"r" 'gnus-summary-reply
"s" 'gnus-summary-isearch-article
"zt" 'gnus-summary-toggle-header
"u" 'gnus-summary-tick-article-forward
"U" 'gnus-summary-tick-article-backward
"x" 'gnus-summary-limit-to-unread
"zp" 'gnus-summary-pipe-output
"q" 'gnus-summary-exit)
(evil-set-initial-state 'gnus-article-mode 'motion)
(provide 'init-evil-gnus)

View File

@ -0,0 +1,18 @@
;;; Evil+man-mode
(evil-define-key 'motion Man-mode-map
(kbd "SPC") 'scroll-up-command
(kbd "TAB") 'forward-button
(kbd "<backtab>") 'backward-button
"\M-sf" 'Man-goto-section
"q" 'Man-quit
"gm" 'man
"\C-j" 'Man-next-section
"\C-k" 'Man-previous-section
"gr" 'Man-follow-manual-reference
"gs" 'Man-goto-see-also-section
"u" 'Man-update-manpage
"J" 'Man-next-manpage
"K" 'Man-previous-manpage)
(provide 'init-evil-man)

View File

@ -1,9 +1,11 @@
;; Remap org-mode meta keys for convenience
;; - org-evil: Not as polished as of May 2017.
;; - evil-org: Depends on MELPA's org-mode, too big a dependency for me.
;; See https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org for inspiration.
;;; Evil+Org
;;; Remap org-mode meta keys for convenience
;;; - org-evil: Not as polished as of May 2017.
;;; - evil-org: Depends on MELPA's org-mode, too big a dependency for me.
;;; See https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org for inspiration.
;; TODO: Agenda keys are not right, M-j is shadowed.
;;; See https://github.com/Somelauw/evil-org-mode/issues/15.
(evil-define-key 'normal org-mode-map
(kbd "M-<return>") (lambda () (interactive) (evil-insert 1) (org-meta-return))

View File

@ -1,7 +1,6 @@
;;; Evil+Transmission
(evil-set-initial-state 'transmission-mode 'motion)
(evil-define-key 'motion transmission-mode-map
(kbd "<return>") 'transmission-files
"D" 'transmission-delete
@ -20,6 +19,7 @@
"c" 'transmission-verify
"C" 'transmission-set-bandwidth-priority)
(evil-set-initial-state 'transmission-files-mode 'motion)
(evil-define-key 'motion transmission-files-mode-map
(kbd "<return>") 'transmission-find-file
"\M-l" 'transmission-display-file
@ -38,6 +38,7 @@
"U" 'transmission-files-want
"C" 'transmission-files-priority)
(evil-set-initial-state 'transmission-info-mode 'motion)
(evil-define-key 'motion transmission-info-mode-map
"r" 'transmission-trackers-remove
"c" 'transmission-copy-magnet
@ -51,6 +52,7 @@
"I" 'transmission-trackers-add
"C" 'transmission-set-bandwidth-priority)
(evil-set-initial-state 'transmission-peers-mode 'motion)
(evil-define-key 'motion transmission-peers-mode-map
"S" 'tabulated-list-sort
"i" 'transmission-info

View File

@ -142,14 +142,13 @@
(require 'init-evil-info)
(require 'init-evil-help)
(require 'init-evil-man)
(with-eval-after-load 'transmission (require 'init-evil-transmission))
(with-eval-after-load 'elfeed (require 'init-evil-elfeed))
;;; Emms: It is important to set the bindings after emms-browser has loaded,
;;; since the mode-maps are defconst'd.
(with-eval-after-load 'emms-browser (require 'init-evil-emms))
(with-eval-after-load 'emms (require 'init-evil-emms))
(with-eval-after-load 'mu4e
(when (require 'evil-mu4e nil t)
@ -161,6 +160,8 @@
"p" 'mu4e-headers-toggle-include-related
"r" 'mu4e-compose-reply)
(evil-define-key 'motion mu4e-view-mode-map
(kbd "SPC") 'mu4e-view-scroll-up-or-next
(kbd "TAB") 'shr-next-link
"zf" 'mu4e-view-mark-for-flag
"zF" 'mu4e-view-mark-for-unflag
"R" 'mu4e-view-mark-for-refile
@ -205,4 +206,8 @@
(with-eval-after-load 'debug (require 'init-evil-debugger))
(with-eval-after-load 'debbugs (require 'init-evil-debbugs))
(with-eval-after-load 'gnus (require 'init-evil-gnus))
(provide 'init-evil)

View File

@ -1,10 +1,12 @@
;;; EXWM
;; TODO: Athena+Xaw3d confuses xcape when binding Caps-lock to both L_Ctrl
;; escape, in which case it will procude <C-escape> in Emacs. In practice, it
;; means that `C-` keys will works but `<escape>` will need a fast double tap on
;; Caps Lock.
;; See https://github.com/ch11ng/exwm/issues/285.
;;; REVIEW: Athena+Xaw3d confuses xcape when binding Caps-lock to both L_Ctrl
;;; escape, in which case it will procude <C-escape> in Emacs. In practice, it
;;; means that `C-` keys will works but `<escape>` will need a fast double tap
;;; on Caps Lock.
;;;
;;; See https://github.com/ch11ng/exwm/issues/285
;;; and https://gitlab.com/interception/linux/plugins/caps2esc/issues/2.
;;; Rename buffer to window title.
(defun exwm-rename-buffer-to-title () (exwm-workspace-rename-buffer exwm-title))
@ -18,15 +20,11 @@
window-divider-default-right-width 2)
(window-divider-mode)
;; TODO: Add support for status bar (dzen2, xmobar, i3bar).
;; TODO: Resizing floating windows with mouse does not work on Ubuntu Trusty.
;; TODO: How to prevent sending keys to window? ":" is always passed to Qutebrowser. Issue with evil?
;; Maybe not. Just switch between char-mode and line-mode. Or check `exwm-input-line-mode-passthrough'.
;; https://emacs.stackexchange.com/questions/33326/how-do-i-cut-and-paste-effectively-between-applications-while-using-exwm
;; TODO: Spawn select programs in floating mode. (E.g. mpv, mupen64plus, mplayer, qemu, steam, .exe (wine).)
;;; REVIEW: Resizing floating windows with mouse does not work on Ubuntu Trusty.
;;; See https://github.com/ch11ng/exwm/issues/283.
;;; TODO: Spawn select programs in floating mode. (E.g. mpv, mupen64plus, mplayer, qemu, steam, .exe (wine).)
;;; System tray
;; TODO: Test and see if status bar is not a better solution.
(require 'exwm-systemtray)
(exwm-systemtray-enable)
(setq exwm-systemtray-height 16)
@ -46,7 +44,12 @@
(exwm-input-set-key (kbd "s-SPC") #'exwm-floating-toggle-floating)
(exwm-input-set-key (kbd "s-o") #'toggle-single-window)
(exwm-input-set-key (kbd "s-O") #'exwm-layout-toggle-fullscreen) ; TODO: Does not work with qutebrowser.
(exwm-input-set-key (kbd "s-O") #'exwm-layout-toggle-fullscreen)
;;; REVIEW: How to prevent sending keys to window? ":" is always passed to
;;; Qutebrowser. Issue with evil? Maybe not. Just switch between char-mode and
;;; line-mode. Or check `exwm-input-line-mode-passthrough'.
;;; https://emacs.stackexchange.com/questions/33326/how-do-i-cut-and-paste-effectively-between-applications-while-using-exwm
;;; See https://github.com/ch11ng/exwm/issues/298.
(require 'functions)
(exwm-input-set-key (kbd "s-\\") #'toggle-window-split)
@ -76,7 +79,28 @@
(exwm-input-set-key (kbd "s-m") #'mu4e-headers))
;;; External application shortcuts.
(defun exwm-start-browser () (interactive) (start-process-shell-command browse-url-generic-program nil browse-url-generic-program))
(defun exwm-start-browser ()
"Fire-up the web browser as defined in `browse-url-generic-program'.
If current window is the web browser already, fire-up a new window.
If not, switch to the last open window.
If there is none, fire it up."
(interactive)
(if (and (eq major-mode 'exwm-mode)
(string-match
(format " - %s$" (regexp-quote (file-name-nondirectory browse-url-generic-program)))
(buffer-name (current-buffer))))
(start-process-shell-command browse-url-generic-program nil browse-url-generic-program)
(let ((last (buffer-list)))
(while (and last
(not (with-current-buffer (car last)
(and (eq major-mode 'exwm-mode)
(string-match
(format " - %s$" (regexp-quote (file-name-nondirectory browse-url-generic-program)))
(buffer-name (current-buffer)))))))
(setq last (cdr last)))
(if last
(switch-to-buffer (car last))
(start-process-shell-command browse-url-generic-program nil browse-url-generic-program)))))
(exwm-input-set-key (kbd "s-w") #'exwm-start-browser)
(defvar exwm-lock-program "slock" "Shell command used to lock the screen.")
@ -113,4 +137,10 @@
(exwm-input-set-key (kbd "s-&") #'exwm-start)
(exwm-input-set-key (kbd "s-r") #'exwm-start)
;;; Check for start-up errors. See ~/.profile.
(let ((error-logs (directory-files "~" t "errors.*log$")))
(when error-logs
(warn "Error during system startup. See %s." (mapconcat 'identity error-logs ", "))
(setq initial-buffer-choice (lambda () (get-buffer "*Warnings*")))))
(provide 'init-exwm)

View File

@ -28,7 +28,7 @@
'identity
'("--cyclo-over=20 --deadline=20s"
;; Ignore some benign errors.
"-e 'declaration of err shadows'"
"-e 'declaration of \"?err\"? shadows'"
"-e 'error return value not checked \\(.*\\.Close\\(\\)'"
;; Customize linters.
"-E misspell"

View File

@ -1,13 +1,14 @@
;;; mu4e
;; TODO: Notifications don't work? Change `display-time-mail-icon' color in modeline.
;; TODO: Reply to all by default.
;; TODO: Is it possible to mbsync without attachments?
;; TODO: Use abbrevs in compose mode.
;; TODO: Do not cite when replying: https://github.com/djcb/mu/issues/1110.
;; TODO: Face of `message-cited-text' does not work.
;; REVIEW: Handle attachments in attached e-mails.
;; See https://github.com/djcb/mu/issues/454#issuecomment-320616279.
;;; TODO: Reply to all by default.
;;; TODO: Is it possible to mbsync without attachments?
;;; REVIEW: Use abbrevs in compose mode.
;;; Fixed upstream. See https://github.com/djcb/mu/issues/1119.
;;; REVIEW: Do not cite when replying: https://github.com/djcb/mu/issues/1110.
;;; TODO: Face of `message-cited-text' does not work.
;;; REVIEW: Handle attachments in attached e-mails.
;;; See https://github.com/djcb/mu/issues/454#issuecomment-320616279.
;;; TODO: <tab> should go to next link in text e-mails too.
(when (require 'mu4e-maildirs-extension nil t)
(mu4e-maildirs-extension))
@ -29,7 +30,7 @@ Default to unread messages if no"
;; IMAP sync.
mu4e-maildir "~/.cache/mail"
mu4e-get-mail-command "mbsync -a"
mu4e-update-interval 60
mu4e-update-interval 120
mu4e-change-filenames-when-moving t ; Needed for mbsync.
;; SMTP

View File

@ -41,6 +41,6 @@
;;; Add keywords.
(setq org-todo-keywords '((sequence "TODO" "REVIEW" "DONE")))
(setq org-todo-keyword-faces '(("REVIEW" :foreground "Gold" :weight bold)))
(setq org-todo-keyword-faces '(("REVIEW" :inherit org-done)))
(provide 'init-org)

View File

@ -0,0 +1,7 @@
app-shells/fish ~amd64
media-sound/mps-youtube **
media-video/mpv
net-mail/mu ~amd64
net-misc/youtube-dl ~amd64
sys-fs/udiskie ~amd64
www-client/qutebrowser **

View File

@ -0,0 +1,21 @@
#
# app-editors/emacs -gtk -gtk3 athena Xaw3d
#games-util/steam-launcher -steamruntime
app-admin/conky -ncurses -X
app-crypt/pinentry emacs
app-editors/emacs gtk gtk3
app-editors/emacs sound alsa xft jpeg tiff gif png svg games source libxml2 imagemagick
app-text/poppler cairo
dev-python/PyQt5 opengl webengine webchannel multimedia
dev-qt/qtmultimedia gstreamer
media-gfx/imagemagick png hdri jpeg jpeg2k lcms lzma png pango raw svg tiff webp
media-libs/chromaprint tools
media-libs/imlib2 gif jpeg png tiff
media-video/ffmpeg libass libv4l mp3 opengl opus sdl theora truetype v4l vaapi vdpau vorbis wavpack webp x264 x265 xvid gnutls
media-video/mpv v4l vaapi vdpau dvd cdda
net-mail/isync sasl
net-mail/mu emacs
net-misc/curl curl_ssl_gnutls -curl_ssl_openssl
net-misc/iputils -caps -filecaps
x11-misc/dzen xft
x11-terms/xterm truetype

80
.pkglists/gentoo/world Normal file
View File

@ -0,0 +1,80 @@
app-admin/conky
app-admin/logrotate
app-admin/sudo
app-admin/sysklogd
app-arch/atool
app-arch/p7zip
app-crypt/pinentry
app-dicts/aspell-de
app-dicts/aspell-en
app-dicts/aspell-fr
app-editors/emacs
app-editors/nano
app-editors/nvi
app-emacs/emms
app-misc/ca-certificates
app-misc/trash-cli
app-misc/vlock
app-portage/cpuid2cpuflags
app-portage/eix
app-portage/gentoolkit
app-shells/bash-completion
app-shells/fish
app-text/aspell
app-text/poppler
app-text/tree
dev-lang/go
dev-libs/openssl
dev-python/PyQt5
dev-python/pyopengl
dev-qt/qtopengl
dev-qt/qtwebengine
dev-util/cloc
dev-vcs/git
games-misc/fortune-mod
games-util/steam-launcher
media-fonts/dejavu
media-gfx/imagemagick
media-gfx/scrot
media-gfx/sxiv
media-libs/chromaprint
media-libs/libtxc_dxtn
media-libs/mesa
media-sound/alsa-utils
media-sound/mps-youtube
media-video/ffmpeg
media-video/mediainfo
media-video/mpv
media-video/subdl
net-mail/isync
net-mail/mu
net-misc/curl
net-misc/dhcpcd
net-misc/openntpd
net-misc/youtube-dl
net-p2p/transmission
net-wireless/iw
net-wireless/wireless-tools
net-wireless/wpa_supplicant
sci-calculators/units
sys-apps/pciutils
sys-apps/the_silver_searcher
sys-apps/usbutils
sys-boot/grub:2
sys-fs/ncdu
sys-fs/ntfs3g
sys-fs/udiskie
sys-kernel/genkernel
sys-kernel/gentoo-sources
sys-kernel/linux-firmware
sys-power/acpid
sys-process/htop
sys-process/lsof
www-client/qutebrowser
x11-base/xorg-server
x11-misc/dzen
x11-misc/numlockx
x11-misc/slock
x11-misc/xcape
x11-misc/xdg-utils
x11-terms/xterm