This commit is contained in:
SqrtMinusOne 2024-05-22 21:14:36 +00:00
parent af7928ade1
commit 6c2df8e153
10 changed files with 92 additions and 14 deletions

View file

@ -152,7 +152,11 @@
</span></span><span style="display:flex;"><span> . <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$GUIX_PROFILE</span><span style="color:#ba2121">&#34;</span>/etc/profile
</span></span><span style="display:flex;"><span> <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> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">&#34;</span>/share/man <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">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#008000;font-weight:bold">:-$(</span>manpath<span style="color:#008000;font-weight:bold">)</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">if</span> <span style="color:#008000">command</span> -v manpath; <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">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#008000;font-weight:bold">:-$(</span>manpath<span style="color:#008000;font-weight:bold">)</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span>
</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">export</span> <span style="color:#19177c">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</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">$profile</span><span style="color:#ba2121">/share&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">unset</span> profile
@ -1084,41 +1088,77 @@
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&lt;&lt;packages</span>()<span style="color:#19177c">&gt;&gt;</span>))
</span></span></code></pre></div><h2 id="android-notes">Android notes</h2>
<p>SSH instructions: <a href="https://wiki.termux.com/wiki/Remote_Access">https://wiki.termux.com/wiki/Remote_Access</a></p>
<p>Don&rsquo;t forget to install the following termux packages:</p>
<h3 id="installation">Installation</h3>
<p>First, run</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>pkg update
</span></span></code></pre></div><p>Then install the following packages:</p>
<table>
<thead>
<tr>
<th>Termux package</th>
<th>Package</th>
</tr>
</thead>
<tbody>
<tr>
<td>yadm</td>
</tr>
<tr>
<td>gnupg</td>
</tr>
<tr>
<td>git</td>
</tr>
<tr>
<td>which</td>
</tr>
<tr>
<td>starship</td>
</tr>
<tr>
<td>atuin</td>
</tr>
<tr>
<td>vim</td>
</tr>
<tr>
<td>tmux</td>
</tr>
<tr>
<td>starship</td>
<td>emacs</td>
</tr>
<tr>
<td>fish</td>
<td>make</td>
</tr>
<tr>
<td>exa</td>
<td>clang</td>
</tr>
<tr>
<td>bat</td>
<td>ripgrep</td>
</tr>
<tr>
<td>git</td>
<td>cmake</td>
</tr>
<tr>
<td>gperf</td>
</tr>
</tbody>
</table>
<p>Run</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>termux-setup-storage
</span></span></code></pre></div><p>Then import ssh and gpg keys. Set the main key to ultimate trust (<code>gpg --edit-key ...</code>, then <code>trust</code>).</p>
<p>Then:</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>yadm clone git@github.com/SqrtMinusOne/dotfiles.git
</span></span></code></pre></div><p>Install nerd fonts: <a href="https://github.com/notflawffles/termux-nerd-installer">https://github.com/notflawffles/termux-nerd-installer</a></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>git clone https://github.com/notflawffles/termux-nerd-installer.git
</span></span><span style="display:flex;"><span><span style="color:#008000">cd</span> termux-nerd-installer
</span></span><span style="display:flex;"><span>make install
</span></span></code></pre></div><p>Clone <code>passwords.git</code> to <code>~/.password-store/</code>, <code>org-mode.git</code> to <code>~/30-39 Life/32 org-mode</code>.</p>
<p>Create the file <code>~/.android-profile</code> with contents:</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">export</span> <span style="color:#19177c">ANDROID_NAME</span><span style="color:#666">=</span>&lt;name&gt;
</span></span></code></pre></div><p>Then <code>emacs</code> should launch fine.</p>
<p>Also:</p>
<ul>
<li>cleanup <code>$PREFIX/etc/motd</code> to remove hello message.</li>
<li>copy the required font at <code>$HOME/.termux/font.ttf</code> and run <code>termux-reload-settings</code>.</li>
</ul>
<h3 id="installation-of-dt-s-colorscripts">Installation of <a href="https://gitlab.com/dwt1/shell-color-scripts">DT&rsquo;s colorscripts</a>:</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>git clone https://gitlab.com/dwt1/shell-color-scripts.git
@ -1215,6 +1255,7 @@
<li><a href="#guix-settings-1">Guix settings</a></li>
<li><a href="#android-notes">Android notes</a>
<ul>
<li><a href="#installation">Installation</a></li>
<li><a href="#installation-of-dt-s-colorscripts">Installation of <a href="https://gitlab.com/dwt1/shell-color-scripts">DT&rsquo;s colorscripts</a>:</a></li>
</ul>
</li>

View file

@ -2285,6 +2285,7 @@
</span></span><span style="display:flex;"><span><span style="color:#008000">declare</span> -A <span style="color:#19177c">TEMP_HWMON_PATHS</span><span style="color:#666">=(</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">&#34;eminence&#34;</span><span style="color:#666">]=</span><span style="color:#ba2121">&#34;/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon2/temp1_input&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">&#34;indigo&#34;</span><span style="color:#666">]=</span><span style="color:#ba2121">&#34;/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">&#34;violet&#34;</span><span style="color:#666">]=</span><span style="color:#ba2121">&#34;/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#666">)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># Geolocation for some modules</span>
@ -2302,6 +2303,7 @@
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">SIZE</span><span style="color:#666">=</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">FONT_SIZES</span>[<span style="color:#19177c">$MONITOR</span>]<span style="color:#b68;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">SCALE</span><span style="color:#666">=</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">EMOJI_SCALE</span>[<span style="color:#19177c">$MONITOR</span>]<span style="color:#b68;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">TEMP</span><span style="color:#666">=</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">TEMP_HWMON_PATHS</span>[<span style="color:#008000;font-weight:bold">$(</span>hostname<span style="color:#008000;font-weight:bold">)</span>]<span style="color:#b68;font-weight:bold">}</span>
</span></span><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">$SCALE</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;font-weight:bold">continue</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</span>
@ -2684,7 +2686,7 @@
</span></span></code></pre></div><h4 id="temperature">temperature</h4>
<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/temperature]</span>
</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 style="color:#7d9029">interval</span> <span style="color:#666">=</span> <span style="color:#ba2121">2</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">${env:TEMP_HWMON_PATH}</span>
</span></span><span style="display:flex;"><span>

View file

@ -5756,7 +5756,8 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">*</span> <span style="color:#666">21</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">_</span> (<span style="color:#d2413a;font-weight:bold">error</span> <span style="color:#ba2121">&#34;Unsupported kind: %s&#34;</span> <span style="color:#19177c">kind</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:location</span> <span style="color:#19177c">&#39;section</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:location</span> <span style="color:#19177c">&#39;section</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:order</span> <span style="color:#19177c">&#39;descending</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">query-res</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tag-reference-date</span> (<span style="color:#00f">car</span> <span style="color:#19177c">query-res</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">kind</span>
@ -9418,7 +9419,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#00f">message</span> <span style="color:#ba2121">&#34;Error: %s&#34;</span> <span style="color:#19177c">err</span>))))
</span></span></code></pre></div><p>As for prompts, I like the following prompt to proof-read text. It&rsquo;s pretty conservative, but good for fixing typos, missing commas, articles, etc.</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/ellama-proof-read-prompt</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Proof-read the following text. Fix any errors but keep the original style. Print the changed text and nothing else, not even \&#34;Here&#39;s the proof-read text\&#34;.\n\n %s&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Proof-read the following text. Fix any errors but keep the original style and punctuation, including linebreaks. Print the changed text and nothing else, not even \&#34;Here&#39;s the proof-read text\&#34;.\n\n %s&#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">my/ellama--text</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">region-active-p</span>)

View file

@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang=""><head>
<meta name="generator" content="Hugo 0.125.7">
<meta name="generator" content="Hugo 0.126.1">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

View file

@ -93,6 +93,16 @@
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt;
&lt;h3 id=&#34;filter-mode&#34;&gt;Filter mode&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;atuin&lt;/code&gt; supports 4 &lt;a href=&#34;https://docs.atuin.sh/configuration/config/#filter_mode&#34;&gt;filter modes&lt;/a&gt;: global (default), host, session, directory. Default filter mode for &lt;code&gt;eshell-atuin&lt;/code&gt; can be set as follows:&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;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-filter-mode&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;global&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In order to switch the mode at runtime, run &lt;code&gt;M-x eshell-atuin-history&lt;/code&gt; with the prefix argument:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C-u 0 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;global&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 1 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;host&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 2 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;session&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 3 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;directory&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;implementation-notes&#34;&gt;Implementation notes&lt;/h2&gt;
&lt;p&gt;I may have overengineered the package a bit to scale on lots of records.&lt;/p&gt;
&lt;p&gt;The package caches the results of &lt;code&gt;atuin search&lt;/code&gt; in &lt;code&gt;eshell-atuin--history-cache&lt;/code&gt; (which see on the algorithm), and updates the cache incrementally. A formatted string for each entry is created at the moment of addition; entries are additionally &amp;ldquo;indexed&amp;rdquo; by a hashmap to lookup &amp;ldquo;raw&amp;rdquo; commands by their formatted versions.&lt;/p&gt;

View file

@ -165,6 +165,16 @@
</span></span></code></pre></div><h2 id="usage">Usage</h2>
<p>Enable <code>eshell-atuin-mode</code> to turn on storing eshell commands in <code>atuin</code>.</p>
<p>Run <code>eshell-atuin-history</code> inside an <code>eshell</code> buffer to browse the saved history. Accepting the completion will insert the command.</p>
<h3 id="filter-mode">Filter mode</h3>
<p><code>atuin</code> supports 4 <a href="https://docs.atuin.sh/configuration/config/#filter_mode">filter modes</a>: global (default), host, session, directory. Default filter mode for <code>eshell-atuin</code> can be set as follows:</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">eshell-atuin-filter-mode</span> <span style="color:#19177c">&#39;global</span>)
</span></span></code></pre></div><p>In order to switch the mode at runtime, run <code>M-x eshell-atuin-history</code> with the prefix argument:</p>
<ul>
<li><code>C-u 0 M-x eshell-atuin-history</code> for <code>global</code></li>
<li><code>C-u 1 M-x eshell-atuin-history</code> for <code>host</code></li>
<li><code>C-u 2 M-x eshell-atuin-history</code> for <code>session</code></li>
<li><code>C-u 3 M-x eshell-atuin-history</code> for <code>directory</code></li>
</ul>
<h2 id="implementation-notes">Implementation notes</h2>
<p>I may have overengineered the package a bit to scale on lots of records.</p>
<p>The package caches the results of <code>atuin search</code> in <code>eshell-atuin--history-cache</code> (which see on the algorithm), and updates the cache incrementally. A formatted string for each entry is created at the moment of addition; entries are additionally &ldquo;indexed&rdquo; by a hashmap to lookup &ldquo;raw&rdquo; commands by their formatted versions.</p>
@ -182,7 +192,11 @@
<ul>
<li><a href="#installation">Installation</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#usage">Usage</a></li>
<li><a href="#usage">Usage</a>
<ul>
<li><a href="#filter-mode">Filter mode</a></li>
</ul>
</li>
<li><a href="#implementation-notes">Implementation notes</a></li>
</ul>
</nav>

View file

@ -93,6 +93,16 @@
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt;
&lt;h3 id=&#34;filter-mode&#34;&gt;Filter mode&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;atuin&lt;/code&gt; supports 4 &lt;a href=&#34;https://docs.atuin.sh/configuration/config/#filter_mode&#34;&gt;filter modes&lt;/a&gt;: global (default), host, session, directory. Default filter mode for &lt;code&gt;eshell-atuin&lt;/code&gt; can be set as follows:&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;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-filter-mode&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;global&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In order to switch the mode at runtime, run &lt;code&gt;M-x eshell-atuin-history&lt;/code&gt; with the prefix argument:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C-u 0 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;global&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 1 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;host&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 2 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;session&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C-u 3 M-x eshell-atuin-history&lt;/code&gt; for &lt;code&gt;directory&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;implementation-notes&#34;&gt;Implementation notes&lt;/h2&gt;
&lt;p&gt;I may have overengineered the package a bit to scale on lots of records.&lt;/p&gt;
&lt;p&gt;The package caches the results of &lt;code&gt;atuin search&lt;/code&gt; in &lt;code&gt;eshell-atuin--history-cache&lt;/code&gt; (which see on the algorithm), and updates the cache incrementally. A formatted string for each entry is created at the moment of addition; entries are additionally &amp;ldquo;indexed&amp;rdquo; by a hashmap to lookup &amp;ldquo;raw&amp;rdquo; commands by their formatted versions.&lt;/p&gt;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 67 KiB