This commit is contained in:
SqrtMinusOne 2024-01-25 17:41:59 +00:00
parent f7169a34b6
commit 6adaacd0e8
10 changed files with 144 additions and 31 deletions

View file

@ -115,6 +115,11 @@
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><p>Timezone</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># TZ=&#39;Asia/Karachi&#39;; export TZ</span>
</span></span></code></pre></div><p>Turn off Guix</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;font-weight:bold">if</span> <span style="color:#666">[</span> -f <span style="color:#ba2121">&#34;/home/pavel/.no-guix&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">NO_GUIX</span><span style="color:#666">=</span><span style="color:#008000">true</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">PATH</span><span style="color:#666">=</span><span style="color:#008000;font-weight:bold">$(</span><span style="color:#008000">echo</span> <span style="color:#19177c">$PATH</span> | tr <span style="color:#ba2121">&#34;:&#34;</span> <span style="color:#ba2121">&#34;\n&#34;</span> | grep -vE <span style="color:#ba2121">&#34;guix|nix|gnu&#34;</span> | tr <span style="color:#ba2121">&#34;\n&#34;</span> <span style="color:#ba2121">&#34;:&#34;</span><span style="color:#008000;font-weight:bold">)</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><h3 id="my-paths">My paths</h3>
<p>My script folders</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/bin&#34;</span> <span style="color:#666">]</span> ; <span style="color:#008000;font-weight:bold">then</span>
@ -133,7 +138,7 @@
</span></span><span style="display:flex;"><span><span style="color:#008000">export</span> <span style="color:#19177c">CURL_CA_BUNDLE</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#19177c">$SSL_CERT_FILE</span><span style="color:#ba2121">&#34;</span>
</span></span></code></pre></div><h3 id="guix-settings">Guix settings</h3>
<p>Enable extra profiles</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$IS_ANDROID</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$IS_ANDROID</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$NO_GUIX</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> ; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">GUIX_EXTRA_PROFILES</span><span style="color:#666">=</span><span style="color:#19177c">$HOME</span>/.guix-extra-profiles
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">for</span> i in <span style="color:#19177c">$GUIX_EXTRA_PROFILES</span>/*; <span style="color:#008000;font-weight:bold">do</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">profile</span><span style="color:#666">=</span><span style="color:#19177c">$i</span>/<span style="color:#008000;font-weight:bold">$(</span>basename <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$i</span><span style="color:#ba2121">&#34;</span><span style="color:#008000;font-weight:bold">)</span>
@ -167,17 +172,17 @@
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">XDG_DATA_DIRS</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#19177c">$XDG_DATA_DIRS</span><span style="color:#ba2121">:</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.local/share/flatpak/exports/share&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><p>Enable Nix</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -f /run/current-system/profile/etc/profile.d/nix.sh <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -f /run/current-system/profile/etc/profile.d/nix.sh <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$NO_GUIX</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> ; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> . /run/current-system/profile/etc/profile.d/nix.sh
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -e /home/pavel/.nix-profile/etc/profile.d/nix.sh <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span> . /home/pavel/.nix-profile/etc/profile.d/nix.sh; <span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -e /home/pavel/.nix-profile/etc/profile.d/nix.sh <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$NO_GUIX</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> ; <span style="color:#008000;font-weight:bold">then</span> . /home/pavel/.nix-profile/etc/profile.d/nix.sh; <span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><p>Use Guix fontconfig. Necessary for nix apps</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/desktop-misc&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/desktop-misc&#34;</span> <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$NO_GUIX</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> ; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">FONTCONFIG_PATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/desktop-misc/desktop-misc/etc/fonts&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><p>Make nix apps visible to launchers:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.nix-profile&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.nix-profile&#34;</span> <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#666">[</span> -z <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$NO_GUIX</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">XDG_DATA_DIRS</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#19177c">$XDG_DATA_DIRS</span><span style="color:#ba2121">:</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.nix-profile/share/applications&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><h4 id="npm">npm</h4>

View file

@ -1801,7 +1801,12 @@
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">color</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/alpha-for-light</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">acc</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">acc</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">push</span> (<span style="color:#00f">cons</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;dark-%s&#34;</span> <span style="color:#19177c">name</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-dec</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">color</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/alpha-for-light</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">acc</span>) )
</span></span><span style="display:flex;"><span> <span style="color:#19177c">acc</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;black&#34;</span> <span style="color:#ba2121">&#34;red&#34;</span> <span style="color:#ba2121">&#34;green&#34;</span> <span style="color:#ba2121">&#34;yellow&#34;</span> <span style="color:#ba2121">&#34;blue&#34;</span> <span style="color:#ba2121">&#34;magenta&#34;</span> <span style="color:#ba2121">&#34;cyan&#34;</span> <span style="color:#ba2121">&#34;white&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:initial-value</span> <span style="color:#800">nil</span>))
@ -1870,14 +1875,8 @@
<td>+</td>
</tr>
<tr>
<td>15</td>
<td>temperature</td>
<td>light-cyan</td>
<td>+</td>
</tr>
<tr>
<td>9</td>
<td>battery</td>
<td>16</td>
<td>nvidia</td>
<td>light-cyan</td>
<td>+</td>
</tr>
@ -1888,6 +1887,18 @@
<td>+</td>
</tr>
<tr>
<td>15</td>
<td>temperature</td>
<td>cyan</td>
<td>+</td>
</tr>
<tr>
<td>9</td>
<td>battery</td>
<td>cyan</td>
<td>+</td>
</tr>
<tr>
<td>4</td>
<td>ram-memory</td>
<td>light-green</td>
@ -1969,6 +1980,26 @@
<td>DP-1</td>
<td>battery</td>
</tr>
<tr>
<td>eDP</td>
<td>nvidia</td>
</tr>
<tr>
<td>eDP-1</td>
<td>nvidia</td>
</tr>
<tr>
<td>DVI-D-0</td>
<td>nvidia</td>
</tr>
<tr>
<td>HDMI-A-0</td>
<td>nvidia</td>
</tr>
<tr>
<td>HDMI-1</td>
<td>nvidia</td>
</tr>
</tbody>
</table>
<p>Another thing we need to do is to set the color of modules in accordance with the <code>polybar_modules</code> table. The background can be determined from the <code>Color</code> column with the following code block:</p>
@ -2363,6 +2394,18 @@
</span></span><span style="display:flex;"><span><span style="color:#7d9029">label</span> <span style="color:#666">=</span> <span style="color:#ba2121">%percentage%%</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-background</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;&lt;get-polybar-bg(module=&#34;cpu&#34;)&gt;&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-foreground</span> <span style="color:#666">=</span> <span style="color:#ba2121">${colors.foreground}</span>
</span></span></code></pre></div><h4 id="nvidia">nvidia</h4>
<p>Display NVIDIA usage with nvidia-smi</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>nvidia-smi --query-gpu<span style="color:#666">=</span>utilization.gpu,power.draw,temperature.gpu,memory.used --format<span style="color:#666">=</span>csv,noheader | sed -s <span style="color:#ba2121">&#39;s/ %/%/;s/W, [0-9]\+/&amp;°C/;s/,/ /g&#39;</span>
</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-ini" data-lang="ini"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[module/nvidia]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">custom/script</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">exec</span> <span style="color:#666">=</span> <span style="color:#ba2121">/home/pavel/bin/polybar/nvidia.sh</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">interval</span> <span style="color:#666">=</span> <span style="color:#ba2121">2</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;label&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">; tail = true</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-background</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;&lt;get-polybar-bg(module=&#34;nvidia&#34;)&gt;&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-foreground</span> <span style="color:#666">=</span> <span style="color:#ba2121">${colors.foreground}</span>
</span></span></code></pre></div><h4 id="ram-memory">ram-memory</h4>
<p>RAM usage</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-ini" data-lang="ini"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[module/ram-memory]</span>
@ -2634,6 +2677,8 @@
</span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">internal/temperature</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">interval</span> <span style="color:#666">=</span> <span style="color:#ba2121">10</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">hwmon-path</span> <span style="color:#666">=</span> <span style="color:#ba2121">/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;label&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-foreground</span> <span style="color:#666">=</span> <span style="color:#ba2121">${colors.foreground}</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">format-background</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;&lt;get-polybar-bg(module=&#34;battery&#34;)&gt;&gt;</span>
@ -3851,6 +3896,11 @@
</tr>
<tr>
<td>dev</td>
<td>dnsmasq</td>
<td></td>
</tr>
<tr>
<td>dev</td>
<td>git-filter-repo</td>
<td></td>
</tr>
@ -3959,6 +4009,11 @@
<td>python-chess</td>
<td></td>
</tr>
<tr>
<td>dev</td>
<td>python-cairosvg</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="manifests">Manifests</h3>
@ -4587,6 +4642,7 @@
<li><a href="#pulseaudio">pulseaudio</a></li>
<li><a href="#mpd">mpd</a></li>
<li><a href="#cpu">cpu</a></li>
<li><a href="#nvidia">nvidia</a></li>
<li><a href="#ram-memory">ram-memory</a></li>
<li><a href="#swap-memory">swap-memory</a></li>
<li><a href="#network">network</a></li>

View file

@ -2081,7 +2081,12 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">treesit-language-source-alist</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">item</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>(<span style="color:#666">,@</span><span style="color:#19177c">item</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#666">,</span>(<span style="color:#19177c">executable-find</span> <span style="color:#ba2121">&#34;gcc&#34;</span>) <span style="color:#666">,</span>(<span style="color:#19177c">executable-find</span> <span style="color:#ba2121">&#34;c++&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">lang</span> (<span style="color:#00f">nth</span> <span style="color:#666">0</span> <span style="color:#19177c">item</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">url</span> (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">item</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">rev</span> (<span style="color:#00f">nth</span> <span style="color:#666">2</span> <span style="color:#19177c">item</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">source-dir</span> (<span style="color:#00f">nth</span> <span style="color:#666">3</span> <span style="color:#19177c">item</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>(<span style="color:#666">,</span><span style="color:#19177c">lang</span> <span style="color:#666">,</span><span style="color:#19177c">url</span> <span style="color:#666">,</span><span style="color:#19177c">rev</span> <span style="color:#666">,</span><span style="color:#19177c">source-dir</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">,</span>(<span style="color:#19177c">executable-find</span> <span style="color:#ba2121">&#34;gcc&#34;</span>) <span style="color:#666">,</span>(<span style="color:#19177c">executable-find</span> <span style="color:#ba2121">&#34;c++&#34;</span>))))
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#19177c">bash</span> <span style="color:#ba2121">&#34;https://github.com/tree-sitter/tree-sitter-bash&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cmake</span> <span style="color:#ba2121">&#34;https://github.com/uyha/tree-sitter-cmake&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">css</span> <span style="color:#ba2121">&#34;https://github.com/tree-sitter/tree-sitter-css&#34;</span>)
@ -6502,7 +6507,9 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;c&#34;</span> <span style="color:#ba2121">&#34;clear&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;ll&#34;</span> <span style="color:#ba2121">&#34;ls -la&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;e&#34;</span> <span style="color:#ba2121">&#34;find-file&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">eshell-banner-message</span> <span style="color:#ba2121">&#34;&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">eshell-banner-message</span> <span style="color:#ba2121">&#34;&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">eshell-visual-commands</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>(<span style="color:#666">,@</span><span style="color:#19177c">eshell-visual-commands</span> <span style="color:#ba2121">&#34;jless&#34;</span>)))
</span></span></code></pre></div><h5 id="ui-2">UI</h5>
<p>I&rsquo;ll try reusing the <a href="https://starship.rs/">Starship</a> prompt.</p>
<p>The executable can print out the text of the prompt, but somehow it refuses when there&rsquo;s <code>TERM=dumb</code> in the environment. I also advise Eshell to record the execution time for the <code>--cmd-duration</code> flag.</p>
@ -6760,7 +6767,7 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;integration&#34;</span> <span style="color:#ba2121">&#34;integration/*&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:exclude</span> <span style="color:#ba2121">&#34;.dir-locals.el&#34;</span> <span style="color:#ba2121">&#34;*-tests.el&#34;</span>))))
</span></span></code></pre></div><p>Yeah, and <code>eat</code> has integration with eshell too.</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:#19177c">add-hook</span> <span style="color:#19177c">&#39;eshell-load-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">eat-eshell-visual-command-mode</span>)
<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:#19177c">add-hook</span> <span style="color:#19177c">&#39;eshell-load-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">eat-eshell-mode</span>)
</span></span></code></pre></div><h4 id="shell-1">shell</h4>
<p>Interactive subshell (<code>M-x shell</code>) is a way to run commands with input and output through an Emacs buffer.</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/setup-shell</span> ()
@ -8228,8 +8235,8 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">motion</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">mastodon-mode-map</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;J&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-next-toot</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;K&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-prev-toot</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;J&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-next-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;K&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-prev-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-j&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--next-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-k&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--prev-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&lt;tab&gt;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--next-tab-item</span>
@ -8393,7 +8400,7 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;m&#34;</span> <span style="color:#ba2121">&#34;Mastodon&#34;</span> <span style="color:#19177c">mastodon</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;t&#34;</span> <span style="color:#ba2121">&#34;Timelines&#34;</span> <span style="color:#19177c">my/mastodon-tl</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;n&#34;</span> <span style="color:#ba2121">&#34;Notifications&#34;</span> <span style="color:#19177c">mastodon-notifications-get</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Search query&#34;</span> <span style="color:#19177c">mastodon-search--search-query</span>)]
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Search query&#34;</span> <span style="color:#19177c">mastodon-search--query</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Tags&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;aa&#34;</span> <span style="color:#ba2121">&#34;Followed tags&#34;</span> <span style="color:#19177c">mastodon-tl--list-followed-tags</span>)
@ -8735,7 +8742,8 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">telega-company-botcmd</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">company-mode</span> <span style="color:#666">1</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">setopt</span> <span style="color:#19177c">visual-fill-column-width</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">+</span> <span style="color:#19177c">telega-chat-fill-column</span> <span style="color:#666">4</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">+</span> <span style="color:#19177c">telega-chat-fill-column</span> <span style="color:#666">4</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq-local</span> <span style="color:#19177c">split-width-threshold</span> <span style="color:#666">1</span>))
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;telega-chat-mode-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/telega-chat-setup</span>)
</span></span></code></pre></div><p>And custom online status. By default it marks you online when the Emacs frame is active, but I use EXWM, so I change that to when <code>telega.el</code> buffer is active. Otherwise, I&rsquo;m online all the time.</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/telega-online-status</span> ()
@ -9900,25 +9908,43 @@ Some other optimization settings:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess.svg</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess.pgn</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">cairosvg</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">io</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">sys</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>pgn <span style="color:#666">=</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">1</span>]
</span></span><span style="display:flex;"><span>line <span style="color:#666">=</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">1</span>]
</span></span><span style="display:flex;"><span>out_file <span style="color:#666">=</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">2</span>]
</span></span><span style="display:flex;"><span>is_fen <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">False</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#008000">len</span>(sys<span style="color:#666">.</span>argv) <span style="color:#666">&gt;</span> <span style="color:#666">3</span> <span style="color:#a2f;font-weight:bold">and</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">3</span>] <span style="color:#666">==</span> <span style="color:#ba2121">&#39;true&#39;</span>:
</span></span><span style="display:flex;"><span> is_fen <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">True</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">def</span> <span style="color:#00f">parse_pgn</span>(line):
</span></span><span style="display:flex;"><span> game <span style="color:#666">=</span> chess<span style="color:#666">.</span>pgn<span style="color:#666">.</span>read_game(io<span style="color:#666">.</span>StringIO(line))
</span></span><span style="display:flex;"><span> game <span style="color:#666">=</span> game<span style="color:#666">.</span>end()
</span></span><span style="display:flex;"><span> board <span style="color:#666">=</span> game<span style="color:#666">.</span>board()
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">return</span> board
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">def</span> <span style="color:#00f">parse_fen</span>(line):
</span></span><span style="display:flex;"><span> board <span style="color:#666">=</span> chess<span style="color:#666">.</span>Board(line)
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">return</span> board
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> is_fen:
</span></span><span style="display:flex;"><span> board <span style="color:#666">=</span> parse_fen(line)
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span>:
</span></span><span style="display:flex;"><span> board <span style="color:#666">=</span> parse_pgn(line)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>game <span style="color:#666">=</span> chess<span style="color:#666">.</span>pgn<span style="color:#666">.</span>read_game(io<span style="color:#666">.</span>StringIO(pgn))
</span></span><span style="display:flex;"><span>game <span style="color:#666">=</span> game<span style="color:#666">.</span>end()
</span></span><span style="display:flex;"><span>board <span style="color:#666">=</span> game<span style="color:#666">.</span>board()
</span></span><span style="display:flex;"><span>svg <span style="color:#666">=</span> chess<span style="color:#666">.</span>svg<span style="color:#666">.</span>board(board<span style="color:#666">=</span>board)
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">with</span> <span style="color:#008000">open</span>(out_file, <span style="color:#ba2121">&#39;w&#39;</span>) <span style="color:#008000;font-weight:bold">as</span> f:
</span></span><span style="display:flex;"><span> f<span style="color:#666">.</span>write(svg)
</span></span><span style="display:flex;"><span>png <span style="color:#666">=</span> cairosvg<span style="color:#666">.</span>svg2png(
</span></span><span style="display:flex;"><span> bytestring<span style="color:#666">=</span>svg, write_to<span style="color:#666">=</span>out_file, output_width<span style="color:#666">=</span><span style="color:#666">400</span>, output_height<span style="color:#666">=</span><span style="color:#666">400</span>
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><p><code>python-chess</code> is installed in the <code>dev</code> profile because <code>python3</code> is also there.</p>
<p>An <code>org-babel</code> block:</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/chess-python</span> <span style="color:#ba2121">&#34;/home/pavel/.guix-extra-profiles/dev/dev/bin/python3&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">org-babel-execute:pgn</span> (<span style="color:#19177c">body</span> <span style="color:#19177c">params</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">out-file</span> (<span style="color:#008000">or</span> (<span style="color:#19177c">alist-get</span> <span style="color:#008000">:file</span> <span style="color:#19177c">params</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-temp-file</span> <span style="color:#ba2121">&#34;pgn-&#34;</span> <span style="color:#ba2121">&#34;.svg&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-temp-file</span> <span style="color:#ba2121">&#34;pgn-&#34;</span> <span style="color:#ba2121">&#34;.png&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-eval</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%s %s &#39;%s&#39; &#39;%s&#39;&#34;</span> <span style="color:#19177c">my/chess-python</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;~/bin/python-scripts/render_pgn.py&#34;</span>
@ -9929,6 +9955,20 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defvar</span> <span style="color:#19177c">org-babel-default-header-args:pgn</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#008000">:results</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;file&#34;</span>) (<span style="color:#008000">:exports</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;results&#34;</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Default arguments for evaluating a pgn source block.&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">org-babel-execute:fen</span> (<span style="color:#19177c">body</span> <span style="color:#19177c">params</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">out-file</span> (<span style="color:#008000">or</span> (<span style="color:#19177c">alist-get</span> <span style="color:#008000">:file</span> <span style="color:#19177c">params</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-temp-file</span> <span style="color:#ba2121">&#34;fen-&#34;</span> <span style="color:#ba2121">&#34;.png&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-eval</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%s %s &#39;%s&#39; &#39;%s&#39; true&#34;</span> <span style="color:#19177c">my/chess-python</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;~/bin/python-scripts/render_pgn.py&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">body</span> <span style="color:#19177c">out-file</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#800">nil</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defvar</span> <span style="color:#19177c">org-babel-default-header-args:fen</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#008000">:results</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;file&#34;</span>) (<span style="color:#008000">:exports</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;results&#34;</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Default arguments for evaluating a pgn source block.&#34;</span>)
</span></span></code></pre></div><h3 id="fun">Fun</h3>
<h4 id="discord-integration">Discord integration</h4>
<p>Integration with Discord. Shows which file is being edited in Emacs.</p>

View file

@ -169,6 +169,8 @@
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">echo</span> -e <span style="color:#ba2121">&#34;No profile found at path: &#34;</span> <span style="color:#19177c">$profilePath</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><h3 id="turn-off-guix-profiles">Turn off Guix profiles</h3>
<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">export</span> <span style="color:#19177c">PATH</span><span style="color:#666">=</span><span style="color:#008000;font-weight:bold">$(</span><span style="color:#008000">echo</span> <span style="color:#19177c">$PATH</span> | tr <span style="color:#ba2121">&#34;:&#34;</span> <span style="color:#ba2121">&#34;\n&#34;</span> | grep -vE <span style="color:#ba2121">&#34;guix|nix|gnu&#34;</span> | tr <span style="color:#ba2121">&#34;\n&#34;</span> <span style="color:#ba2121">&#34;:&#34;</span><span style="color:#008000;font-weight:bold">)</span>
</span></span></code></pre></div><h2 id="channels">Channels</h2>
<p>Specifying additional channels.</p>
<p><a href="https://github.com/SqrtMinusOne/channel-q">channel-q</a> is my Guix channel. Don&rsquo;t use it at home.</p>
@ -820,6 +822,7 @@ Also not necessary now. Just <code>herd stop vpn</code> and <code>sudo pkill vpn
<li><a href="#activate-profiles">Activate profiles</a></li>
<li><a href="#update-profiles">Update profiles</a></li>
<li><a href="#run-guix-package-in-profile">Run <code>guix package</code> in profile</a></li>
<li><a href="#turn-off-guix-profiles">Turn off Guix profiles</a></li>
</ul>
</li>
<li><a href="#channels">Channels</a></li>

View file

@ -1801,7 +1801,10 @@ I&amp;rsquo;ve seen a couple of cases where people would swap their username and
&lt;p&gt;The package isn&amp;rsquo;t yet available anywhere but in this repository. My preferred way for such cases is &lt;a href=&#34;https://github.com/jwiegley/use-package&#34;&gt;use-package&lt;/a&gt; and &lt;a href=&#34;https://github.com/radian-software/straight.el&#34;&gt;straight.el&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;reverso&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/reverso.el&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or clone the repository, add it to the &lt;code&gt;load-path&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt; the package.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or &lt;a href=&#34;https://tony-zorman.com/posts/use-package-vc.html&#34;&gt;use-package with vc&lt;/a&gt;, which works on Emacs 30 out-of-the-box.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;reverso&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:vc&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:url&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;https://github.com/SqrtMinusOne/reverso.el.git&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alternatively, clone the repository, add it to the &lt;code&gt;load-path&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt; the package.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a single entrypoint for all implemented functions: &lt;code&gt;M-x reverso&lt;/code&gt;. The UI is implemented using the excellent &lt;a href=&#34;https://github.com/magit/transient/&#34;&gt;transient.el&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;input-handling&#34;&gt;Input Handling&lt;/h3&gt;

View file

@ -396,7 +396,10 @@ Customize the formatting of these records through &lt;code&gt;org-clock-agg-elem
&lt;p&gt;The package isn&amp;rsquo;t yet available anywhere but in this repository. My preferred way for such cases is &lt;a href=&#34;https://github.com/jwiegley/use-package&#34;&gt;use-package&lt;/a&gt; and &lt;a href=&#34;https://github.com/radian-software/straight.el&#34;&gt;straight.el&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;reverso&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/reverso.el&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or clone the repository, add it to the &lt;code&gt;load-path&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt; the package.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or &lt;a href=&#34;https://tony-zorman.com/posts/use-package-vc.html&#34;&gt;use-package with vc&lt;/a&gt;, which works on Emacs 30 out-of-the-box.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;reverso&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:vc&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:url&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;https://github.com/SqrtMinusOne/reverso.el.git&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alternatively, clone the repository, add it to the &lt;code&gt;load-path&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt; the package.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a single entrypoint for all implemented functions: &lt;code&gt;M-x reverso&lt;/code&gt;. The UI is implemented using the excellent &lt;a href=&#34;https://github.com/magit/transient/&#34;&gt;transient.el&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;input-handling&#34;&gt;Input Handling&lt;/h3&gt;

View file

@ -95,7 +95,10 @@
<p>The package isn&rsquo;t yet available anywhere but in this repository. My preferred way for such cases is <a href="https://github.com/jwiegley/use-package">use-package</a> and <a href="https://github.com/radian-software/straight.el">straight.el</a>:</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">use-package</span> <span style="color:#19177c">reverso</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;SqrtMinusOne/reverso.el&#34;</span>))
</span></span></code></pre></div><p>Or clone the repository, add it to the <code>load-path</code> and <code>require</code> the package.</p>
</span></span></code></pre></div><p>Or <a href="https://tony-zorman.com/posts/use-package-vc.html">use-package with vc</a>, which works on Emacs 30 out-of-the-box.</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">use-package</span> <span style="color:#19177c">reverso</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:vc</span> (<span style="color:#008000">:url</span> <span style="color:#ba2121">&#34;https://github.com/SqrtMinusOne/reverso.el.git&#34;</span>))
</span></span></code></pre></div><p>Alternatively, clone the repository, add it to the <code>load-path</code> and <code>require</code> the package.</p>
<h2 id="usage">Usage</h2>
<p>There&rsquo;s a single entrypoint for all implemented functions: <code>M-x reverso</code>. The UI is implemented using the excellent <a href="https://github.com/magit/transient/">transient.el</a>.</p>
<h3 id="input-handling">Input Handling</h3>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB