summaryrefslogtreecommitdiff
path: root/mms-misc.org
blob: fd8636eccfa2afcf7eaed108bf0dafcf10572559 (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
140
141
142
143
#+TITLE: mms Emacs Config - Misc 
#+AUTHOR: MichaƂ Sapka (https://michal.sapka.me)
#+STARTUP: showall indent logdone

#+HUGO_BASE_DIR: ~/ghq/vcs.sapka.me/michal-sapka-me/
#+HUGO_WEIGHT: 400 
#+HUGO_SECTION: emacs/config
#+HUGO_CATEGORIES: emacs emacs-config
#+HUGO_MENU :menu "emacs-config" :name "Miscellaneous"
#+HUGO_CUSTOM_FRONT_MATTER: :abstract "My emacs config - miscellaneous onfig"
#+HUGO_CUSTOM_FRONT_MATTER: :menu-abstract "mastodon and email"
#+EXPORT_FILE_NAME: misc

* Intro

Why not do some other cool things inside Emacs?
Those configs here are very rudementaty, and a work-in-progress.

* Mastodon

I use mastodon (use can find me on [[https://emacs.ch/@mms][emacs.ch]]).
Why not use it in Emacs?

I need to add dedicated config for keybindings.

#+begin_src emacs-lisp
  (use-package mastodon
    :ensure t
    :config
    (setq mastodon-instance-url "https://emacs.ch"
          mastodon-active-user "mms")
    )
#+end_src

* Email

Oh email, how I love you!

** Reading

I use notmuch as my MUA.
You can find my guide on my [[https://michal.sapka.me/emacs/notmuch/][emacs site]].

#+BEGIN_SRC emacs-lisp
  (use-package notmuch
    :commands notmuch-hello
    :config
    (setq notmuch-search-oldest-first nil
          notmuch-search-line-faces '(("gh-pr-todo" . ((t :foreground "#f77"))))) )
#+END_SRC

** composing

I use =msmtp= for email sendout.
In near future I'll move to =mstmtp-queue=, but for now I need basic setup.

I set up =mms-email-address= in my config_local.el, as it changes between machines and is private

#+begin_src emacs-lisp
  (setq send-mail-function 'sendmail-send-it
        user-mail-address mms-email-address
        sendmail-program "/usr/local/bin/msmtp"
        mail-specify-envelope-from t
        message-sendmail-envelope-from 'header
        mail-envelope-from 'header)
#+end_src

#+begin_src emacs-lisp
(setq mail-default-headers
      (concat "BCC: " mms-email-address))
#+end_src

* Jabber

I self-host an XMPP server for my family.
Of course I want to have it inside Emacs!

#+begin_src emacs-lisp
  (use-package fsm
    :ensure t)

  (use-package srv
    :ensure t)

  (use-package jabber
    :after '(fsm srv)
    :ensure t)
#+end_src

* Demos


#+begin_src emacs-lisp
  (use-package demo-it
    :ensure t)
#+end_src


* Open links

First, let's be able to run Youtube inside emacs
#+begin_src emacs-lisp
  (use-package yeetube
    :ensure t)
#+end_src

Then, let's create linkhandler to pass the link to the correct handler.

#+begin_src emacs-lisp
  (defun mms-open-link-under-point ()
    (interactive)
    (let (url)
      (setq url (thing-at-point 'url))
      (cond
       ((string-match "youtube.com" url) (yeetube-search url))
       (t (eww url)))
      )
    )
#+end_src


* Music player

** Listen

Listen.el is a new package for music playback.

#+begin_src emacs-lisp
  (use-package listen
  :ensure t)
#+end_src

#+RESULTS:
: [nil 26173 8423 527702 nil elpaca-process-queues nil nil 696999 nil]

* Gaming

** Malyon

#+begin_src emacs-lisp
  (use-package malyon
  :ensure t)
#+end_src