diff --git a/configs/index.xml b/configs/index.xml
index 5907b9f..713d6a2 100644
--- a/configs/index.xml
+++ b/configs/index.xml
@@ -6,6 +6,15 @@
Recent content in Configs on SqrtMinusOneHugo -- gohugo.ioen-us
+
+
+ https://sqrtminusone.xyz/configs/readme/
+ Mon, 01 Jan 0001 00:00:00 +0000
+
+ https://sqrtminusone.xyz/configs/readme/
+
+
+
Console
https://sqrtminusone.xyz/configs/console/
@@ -67,17 +76,5 @@ My email configration. Currently I use lieer to fetch emails from Gmail, davmail
My problem with any particular mail setup was that I use Gmail labels quite extensively, and handling these over IMAP is rather awkward. Notmuch seems to be the only software that provides the same first-class support for labels.
-
- My dotfiles
- https://sqrtminusone.xyz/configs/readme/
- Mon, 01 Jan 0001 00:00:00 +0000
-
- https://sqrtminusone.xyz/configs/readme/
- These are my GNU/Linux configuration files. View at GitHub.
-Most of the software is configured with literate configuration strategy via Emacs’ Org Mode. This way has its pros and cons, but overall it’s pretty nice to keep the configs interweaved with comments in a handful of files.
-The files themselves are managed and deployed via yadm, but I use Org Mode for things like config templating.
-My current GNU/Linux distribution is GNU Guix.
-
-
diff --git a/configs/readme/index.html b/configs/readme/index.html
index 7fd99f4..d1f57ab 100644
--- a/configs/readme/index.html
+++ b/configs/readme/index.html
@@ -3,7 +3,7 @@
- My dotfiles
+
@@ -59,94 +59,8 @@
-
My dotfiles
-
-
-
-
These are my GNU/Linux configuration files. View at GitHub.
-
Most of the software is configured with literate configuration strategy via Emacs’ Org Mode. This way has its pros and cons, but overall it’s pretty nice to keep the configs interweaved with comments in a handful of files.
-
The files themselves are managed and deployed via yadm, but I use Org Mode for things like config templating.
-
My current GNU/Linux distribution is GNU Guix. I like Guix because, among other things, it allows declaring the required software in configuration files, so I can have the same set of programs across multiple machines (look for tables with “Guix dependency” in the header).
-
The central program to all of that is, of course GNU Emacs. As of the moment of this writing, it takes ~50% of my screen time and has the largest share of configuration here.
After which we may check if the gmi executable is available:
which gmi
+
/home/pavel/Programs/miniconda3/envs/mail/bin/gmi
Notmuch
Notmuch is present in most of the package repositories, so you can install it with your package manager, which is pacman in my case.
sudo pacman -S notmuch
@@ -187,7 +188,7 @@
Authorization parameters will be saved to your authinfo file. If you didn’t have one, the plaintext .authinfo will be created, so it’s reasonable to encrypt it:
cd ~
gpg -o .authinfo.gpg -c --cipher-algo AES256 .authinfo
-
However, if you plan to use multiple accounts with different SMTP servers, it makes more sense to use something like MSMTP to manage multiple accounts. Here are a couple of examples (1, 2) how to do that.
+
However, if you plan to use multiple accounts with different SMTP servers, it makes more sense to use something like MSMTP to manage multiple accounts. Here are a couple of examples (1, 2) how to do that.
Another alternative for Gmail is to use lieer as sendmail program. That may make sense if you don’t want to enable IMAP and SMTP on your account.
There are also a bunch of ways to set up address completion if the built-in completion based on notmuch database does not suffice.
I also use LanguageTool for Emacs to do a spell checking of important emails (integrations like that really make Emacs shine). For some reason, developers don’t give a link to download the server on the frontpage, so here it is. And here is the relevant part of my Emacs config:
14pt size is required by certain state standards of ours for some reason.
-
After which you can put whatever you want in the preamble with LATEX_HEADER. My workflow with LaTeX is to write a bunch of .sty files beforehand and import the necessary ones in the preamble. Here is the repo with these files, although quite predictably, it’s a mess. At any rate, I have to write something like the following in the target Org file:
+
After which you can put whatever you want in the preamble with LATEX_HEADER. My workflow with LaTeX is to write a bunch of .sty files beforehand and import the necessary ones in the preamble. Here is the repo with these files, although quite predictably, it’s a mess. At any rate, I have to write something like the following in the target Org file:
One common point of criticism of i3 is that it is not extensible enough, especially compared to WMs that are configured in an actual programing language, like the mentioned XMonad, Qtile, Awesome, etc. But I think i3’s extensibility is underappreciated, although the contents of this article may lie closer to the limits of how far one can go there.
Here is a small demo of how it currently works:
Emacs integration
What I’m trying to do is actually quite simple, so I’m somewhat surprised I didn’t find anything similar on the Internet. But I didn’t look too hard.
using the same commands to switch between windows and monitors.
Here’s my take on implementing them.
@@ -216,7 +216,7 @@
Switch to another monitor
With the functions from the previous two sections, we can implement switching to another monitor by switching to the most recently used workspace on that monitor.
One caveat here is that on the startup the my/exwm-last-workspaces variable won’t have any values from other monitor(s), so this list is concatenated with the list of available workspace indices.
This is actually quite easy to pull off - one just has to update exwm-randr-workspace-monitor-plist accordingly and run exwm-randr-refresh. I just add another check there because I don’t want some monitor to remain without workspaces at all.
If the my/elfeed-show-rdrview-html variable is bound and true, then the content in this buffer was retrieved via rdrview, so we’ll use that instead of the output of elfeed-deref.
Now we can open elfeed entries in a PDF viewer, which I find much nicer to read. Given that RSS feeds generally ship with simpler HTML than the regular websites, results usually look awesome:
-
+
Opening arbitrary sites
@@ -535,7 +535,7 @@
Unfortunately, this part doesn’t work that well, so we can’t just uninstall Firefox or Chromium and browse the web from a PDF viewer.
The most common problem I’ve encountered is incorrectly formed pictures, such as .png files without the boundary info. I’m sure you’ve also come across this if you ever tried to insert a lot of Internet pictures into a LaTeX document.
However, sans the pictures issue, for certain sites like Wikipedia this is usable. For instance, here’s how the Emacs page looks:
-
Keep in mind that this function has to be launched inside the buffer opened by the my/elfeed-youtube-subtitles function.
diff --git a/posts/index.xml b/posts/index.xml
index 50d447a..16ad00a 100644
--- a/posts/index.xml
+++ b/posts/index.xml
@@ -450,7 +450,7 @@
</span></span><span style="display:flex;"><span> <span style="color:#008000">:overwrite</span> <span style="color:#19177c">current-prefix-arg</span>)))
</span></span></code></pre></div><p>If the <code>my/elfeed-show-rdrview-html</code> variable is bound and true, then the content in this buffer was retrieved via <code>rdrview</code>, so we’ll use that instead of the output of <code>elfeed-deref</code>.</p>
<p>Now we can open elfeed entries in a PDF viewer, which I find much nicer to read. Given that RSS feeds generally ship with simpler HTML than the regular websites, results usually look awesome:</p>
-<figure><img src="https://sqrtminusone.xyz/ox-hugo/pdf-prot.png"/>
+<figure><img src="https://sqrtminusone.xyz/images/pdf-prot.png"/>
</figure>
<h3 id="opening-arbitrary-sites">Opening arbitrary sites</h3>
@@ -489,7 +489,7 @@
</span></span></code></pre></div><p>Unfortunately, this part doesn’t work that well, so we can’t just uninstall Firefox or Chromium and browse the web from a PDF viewer.</p>
<p>The most common problem I’ve encountered is incorrectly formed pictures, such as <code>.png</code> files without the boundary info. I’m sure you’ve also come across this if you ever tried to insert a lot of Internet pictures into a LaTeX document.</p>
<p>However, sans the pictures issue, for certain sites like Wikipedia this is usable. For instance, here’s how the Emacs page looks:
-<img src="https://sqrtminusone.xyz/ox-hugo/pdf-emacs.png" alt=""></p>
+<img src="https://sqrtminusone.xyz/images/pdf-emacs.png" alt=""></p>
<h2 id="youtube-transcripts">YouTube transcripts</h2>
<h3 id="getting-subtitles">Getting subtitles</h3>
<p>Finally, let’s get to transcripts.</p>
@@ -584,7 +584,7 @@
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq-local</span> <span style="color:#19177c">subed-mpv-video-file</span> (<span style="color:#19177c">elfeed-entry-link</span> <span style="color:#19177c">entry</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">subed-mpv--play</span> <span style="color:#19177c">subed-mpv-video-file</span>))
</span></span></code></pre></div><p>And here’s how it looks when used (the video on the screenshot is <a href="https://www.youtube.com/watch?v=qjAIXCmhCQQ">this System Crafters’ stream</a>):
-<img src="https://sqrtminusone.xyz/ox-hugo/pdf-subed.png" alt=""></p>
+<img src="https://sqrtminusone.xyz/images/pdf-subed.png" alt=""></p>
<p>Keep in mind that this function has to be launched inside the buffer opened by the <code>my/elfeed-youtube-subtitles</code> function.</p>
@@ -846,7 +846,7 @@
<h2 id="polybar">Polybar</h2>
<p>Now, the most <del>crazy</del> advanced case I’ve come up with so far.</p>
<p>Basically, here is how my <a href="https://github.com/polybar/polybar">polybar</a> currently looks:
-<img src="https://sqrtminusone.xyz/ox-hugo/literate--polybar.png" alt=""></p>
+<img src="https://sqrtminusone.xyz/images/literate--polybar.png" alt=""></p>
<p>It has:</p>
<ul>
<li>colors from the general color theme;</li>
@@ -1204,8 +1204,8 @@
</span></span></code></pre></div><p>workspaces 2 and 3 on the machine with hostname “indigo” will be displayed on the monitor <code>DVI-D-0</code>.</p>
<p>However, some features, common in other tiling WMs, are missing in EXWM out of the box, namely:</p>
<ul>
-<li>a command to <a href="https://i3wm.org/docs/userguide.html#%5Ffocusing%5Fmoving%5Fcontainers">switch to another monitor</a>;</li>
-<li>a command to <a href="https://i3wm.org/docs/userguide.html#move%5Fto%5Foutputs">move the current workspace to another monitor</a>;</li>
+<li>a command to <a href="https://i3wm.org/docs/userguide.html#_focusing_moving_containers">switch to another monitor</a>;</li>
+<li>a command to <a href="https://i3wm.org/docs/userguide.html#move_to_outputs">move the current workspace to another monitor</a>;</li>
<li>using the same commands to switch between windows and monitors.</li>
</ul>
<p>Here’s my take on implementing them.</p>
@@ -1264,7 +1264,7 @@
</span></span></code></pre></div><h3 id="switch-to-another-monitor">Switch to another monitor</h3>
<p>With the functions from the previous two sections, we can implement switching to another monitor by switching to the most recently used workspace on that monitor.</p>
<video controls width="100%">
-<source src="https://sqrtminusone.xyz/ox-hugo/exwm-workspace-switch.mp4" type="video/mp4">
+<source src="https://sqrtminusone.xyz/videos/exwm-workspace-switch.mp4" type="video/mp4">
</video>
<p>One caveat here is that on the startup the <code>my/exwm-last-workspaces</code> variable won’t have any values from other monitor(s), so this list is concatenated with the list of available workspace indices.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/exwm-switch-to-other-monitor</span> (<span style="color:#008000">&optional</span> <span style="color:#19177c">dir</span>)
@@ -1286,7 +1286,7 @@
<h3 id="move-the-workspace-to-another-monitor">Move the workspace to another monitor</h3>
<p>Now, moving the workspace to another monitor.</p>
<video controls width="100%">
-<source src="https://sqrtminusone.xyz/ox-hugo/exwm-workspace-move.mp4" type="video/mp4">
+<source src="https://sqrtminusone.xyz/videos/exwm-workspace-move.mp4" type="video/mp4">
</video>
<p>This is actually quite easy to pull off - one just has to update <code>exwm-randr-workspace-monitor-plist</code> accordingly and run <code>exwm-randr-refresh</code>. I just add another check there because I don’t want some monitor to remain without workspaces at all.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/exwm-workspace-switch-monitor</span> ()
@@ -1389,7 +1389,7 @@
</span></span></code></pre></div><h3 id="resizing-windows">Resizing windows</h3>
<p>I find this odd that there are different commands to resize tiling and floating windows.</p>
<video controls width="100%">
-<source src="https://sqrtminusone.xyz/ox-hugo/exwm-resize-hydra.mp4" type="video/mp4">
+<source src="https://sqrtminusone.xyz/videos/exwm-resize-hydra.mp4" type="video/mp4">
</video>
<p>So let’s define one command to perform both resizes depending on the context:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">my/exwm-resize-value</span> <span style="color:#666">5</span>)
@@ -1501,7 +1501,7 @@
<p>One common point of criticism of i3 is that it is not extensible enough, especially compared to WMs that are configured in an actual programing language, like the mentioned XMonad, <a href="http://www.qtile.org/">Qtile</a>, <a href="https://awesomewm.org/">Awesome</a>, etc. But I think i3’s extensibility is underappreciated, although the contents of this article may lie closer to the limits of how far one can go there.</p>
<p>Here is a small demo of how it currently works:</p>
<video controls width="100%">
-<source src="https://sqrtminusone.xyz/ox-hugo/i3-emacs-demo.mp4" type="video/mp4">
+<source src="https://sqrtminusone.xyz/static/videos/i3-emacs-demo.mp4" type="video/mp4">
</video>
<h2 id="emacs-integration">Emacs integration</h2>
<p>What I’m trying to do is actually quite simple, so I’m somewhat surprised I didn’t find anything similar on the Internet. But I didn’t look too hard.</p>
@@ -1697,7 +1697,7 @@
https://sqrtminusone.xyz/posts/2021-09-07-emms/
<h2 id="intro">Intro</h2>
-<figure><img src="https://sqrtminusone.xyz/ox-hugo/emms-screenshot.png"/>
+<figure><img src="https://sqrtminusone.xyz/images/emms/emms-screenshot.png"/>
</figure>
<p>This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.</p>
@@ -1936,7 +1936,7 @@
https://sqrtminusone.xyz/posts/2021-05-01-org-python/
- <figure><img src="https://sqrtminusone.xyz/ox-hugo/org-python-screenshot.png"/>
+ <figure><img src="https://sqrtminusone.xyz/images/org-python/org-python-screenshot.png"/>
</figure>
<h2 id="why">Why?</h2>
@@ -2275,7 +2275,7 @@
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>#+LATEX_CLASS: org-plain-extarticle
</span></span><span style="display:flex;"><span>#+LATEX_CLASS_OPTIONS: [a4paper, 14pt]
</span></span></code></pre></div><p>14pt size is required by certain state standards of ours for some reason.</p>
-<p>After which you can put whatever you want in the preamble with <code>LATEX_HEADER</code>. My workflow with LaTeX is to write a bunch of <code>.sty</code> files beforehand and import the necessary ones in the preamble. <a href="https://github.com/SqrtMinusOne/LaTeX%5Ftemplates">Here</a> is the repo with these files, although quite predictably, it’s a mess. At any rate, I have to write something like the following in the target Org file:</p>
+<p>After which you can put whatever you want in the preamble with <code>LATEX_HEADER</code>. My workflow with LaTeX is to write a bunch of <code>.sty</code> files beforehand and import the necessary ones in the preamble. <a href="https://github.com/SqrtMinusOne/LaTeX_templates">Here</a> is the repo with these files, although quite predictably, it’s a mess. At any rate, I have to write something like the following in the target Org file:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>#+LATEX_HEADER: \usepackage{styles/generalPreamble}
</span></span><span style="display:flex;"><span>#+LATEX_HEADER: \usepackage{styles/reportFormat}
</span></span><span style="display:flex;"><span>#+LATEX_HEADER: \usepackage{styles/mintedSourceCode}
@@ -2305,10 +2305,10 @@
<p>Any classical IMAP/SMTP client is hard to use in my case, because a message with multiple labels is copied to IMAP folders for each of the label plus the inbox folder, and the copies look like different messages from the client-side. For example, a message can be read in one label and unread in another.</p>
<p>For a few years, my solution was <a href="https://getmailspring.com/">Mailspring</a>, which provides first-class support for labels. However, it has a feature to deploy <a href="https://www.bbc.com/news/technology-56071437">spy pixels</a> on emails (and offers no protection from them, obviously), the client is Electron-based with a mouse-driven interface, and the sync engine was closed-source at the time.</p>
<p>So, I found an alternative in Emacs+notmuch+lieer and ditched one more proprietary app (the last big one I can’t let go of is DataGrip).</p>
-<figure><img src="https://sqrtminusone.xyz/ox-hugo/main.png"/>
+<figure><img src="https://sqrtminusone.xyz/images/gmail/main.png"/>
</figure>
-<figure><img src="https://sqrtminusone.xyz/ox-hugo/mail.png"/>
+<figure><img src="https://sqrtminusone.xyz/images/gmail/mail.png"/>
</figure>
<p>Notmuch’s tags are just as advanced as Gmail’s labels, so I have basically the same mail structure accessible from Emacs, Gmail Android client and even the web UI when I don’t have access to the first two.</p>
@@ -2334,6 +2334,7 @@
</span></span><span style="display:flex;"><span>pip install .
</span></span></code></pre></div><p>After which we may check if the <code>gmi</code> executable is available:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>which gmi
+</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>/home/pavel/Programs/miniconda3/envs/mail/bin/gmi
</span></span></code></pre></div><h3 id="notmuch">Notmuch</h3>
<p><a href="https://notmuchmail.org/">Notmuch</a> is present in most of the package repositories, so you can install it with your package manager, which is <code>pacman</code> in my case.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo pacman -S notmuch
@@ -2426,7 +2427,7 @@
<p>Authorization parameters will be saved to your <a href="https://www.emacswiki.org/emacs/GnusAuthinfo">authinfo</a> file. If you didn’t have one, the plaintext <code>.authinfo</code> will be created, so it’s reasonable to encrypt it:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#008000">cd</span> ~
</span></span><span style="display:flex;"><span>gpg -o .authinfo.gpg -c --cipher-algo AES256 .authinfo
-</span></span></code></pre></div><p>However, if you plan to use multiple accounts with different SMTP servers, it makes more sense to use something like <a href="https://marlam.de/msmtp/msmtp.html">MSMTP</a> to manage multiple accounts. Here are a couple of examples (<a href="https://www.reddit.com/r/emacs/comments/9piml5/a%5Ffew%5Fquick%5Femacsnotmuch%5Fquestions/e83zcck?utm%5Fsource=share&utm%5Fmedium=web2x&context=3">1</a>, <a href="https://www.reddit.com/r/emacs/comments/9piml5/a%5Ffew%5Fquick%5Femacsnotmuch%5Fquestions/e84otah?utm%5Fsource=share&utm%5Fmedium=web2x&context=3">2</a>) how to do that.</p>
+</span></span></code></pre></div><p>However, if you plan to use multiple accounts with different SMTP servers, it makes more sense to use something like <a href="https://marlam.de/msmtp/msmtp.html">MSMTP</a> to manage multiple accounts. Here are a couple of examples (<a href="https://www.reddit.com/r/emacs/comments/9piml5/a_few_quick_emacsnotmuch_questions/e83zcck?utm_source=share&utm_medium=web2x&context=3">1</a>, <a href="https://www.reddit.com/r/emacs/comments/9piml5/a_few_quick_emacsnotmuch_questions/e84otah?utm_source=share&utm_medium=web2x&context=3">2</a>) how to do that.</p>
<p>Another alternative for Gmail is to use <a href="https://github.com/gauteh/lieer/wiki/GNU-Emacs-and-Lieer">lieer as sendmail program</a>. That may make sense if you don’t want to enable IMAP and SMTP on your account.</p>
<p>There are also <a href="https://notmuchmail.org/emacstips/#index13h2">a bunch of ways</a> to set up address completion if the built-in completion based on notmuch database does not suffice.</p>
<p>I also use <a href="https://github.com/mhayashi1120/Emacs-langtool">LanguageTool for Emacs</a> to do a spell checking of important emails (integrations like that really make Emacs shine). For some reason, developers don’t give a link to download the server on the frontpage, so <a href="https://dev.languagetool.org/http-server">here it is</a>. And here is the relevant part of my Emacs config:</p>
@@ -2526,7 +2527,7 @@
</span></span></code></pre></div><p>The script is launched with cron every 5 minutes:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>*/5 * * * * bash /home/pavel/bin/scripts/check-email
</span></span></code></pre></div><p>Here’s how the notification looks like:
-<img src="https://sqrtminusone.xyz/ox-hugo/notification.png" alt=""></p>
+<img src="https://sqrtminusone.xyz/images/gmail/notification.png" alt=""></p>
<h2 id="caveats">Caveats</h2>
<ul>
<li><a href="https://github.com/gauteh/lieer#caveats">lieer</a> has an extensive list of caveats concerning Gmail API</li>
diff --git a/sitemap.xml b/sitemap.xml
index dcaf79c..337558e 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -58,6 +58,8 @@
https://sqrtminusone.xyz/posts/hello-world/2021-02-01T00:00:00+00:00
+
+ https://sqrtminusone.xyz/configs/readme/https://sqrtminusone.xyz/categories/
@@ -72,7 +74,5 @@
https://sqrtminusone.xyz/configs/guix/https://sqrtminusone.xyz/configs/mail/
-
- https://sqrtminusone.xyz/configs/readme/
diff --git a/stats/all.png b/stats/all.png
index 3c49050..01c637b 100644
Binary files a/stats/all.png and b/stats/all.png differ
diff --git a/stats/emacs-vim.png b/stats/emacs-vim.png
index d996297..b0c0d67 100644
Binary files a/stats/emacs-vim.png and b/stats/emacs-vim.png differ
diff --git a/stats/literate-config.png b/stats/literate-config.png
index 9830f7a..86add6b 100644
Binary files a/stats/literate-config.png and b/stats/literate-config.png differ
diff --git a/ox-hugo/exwm-resize-hydra.mp4 b/videos/exwm-resize-hydra.mp4
similarity index 100%
rename from ox-hugo/exwm-resize-hydra.mp4
rename to videos/exwm-resize-hydra.mp4
diff --git a/ox-hugo/exwm-workspace-move.mp4 b/videos/exwm-workspace-move.mp4
similarity index 100%
rename from ox-hugo/exwm-workspace-move.mp4
rename to videos/exwm-workspace-move.mp4
diff --git a/ox-hugo/exwm-workspace-switch.mp4 b/videos/exwm-workspace-switch.mp4
similarity index 100%
rename from ox-hugo/exwm-workspace-switch.mp4
rename to videos/exwm-workspace-switch.mp4
diff --git a/ox-hugo/i3-emacs-demo.mp4 b/videos/i3-emacs-demo.mp4
similarity index 100%
rename from ox-hugo/i3-emacs-demo.mp4
rename to videos/i3-emacs-demo.mp4