mirror of
https://github.com/SqrtMinusOne/sqrtminusone.github.io.git
synced 2025-12-10 15:53:03 +03:00
deploy: e4e8d31acd
This commit is contained in:
parent
ad21518762
commit
ec172f16b5
8 changed files with 108 additions and 37 deletions
|
|
@ -125,6 +125,12 @@
|
|||
</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">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.local/bin"</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">PATH</span><span style="color:#666">=</span><span style="color:#ba2121">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.local/bin:</span><span style="color:#19177c">$PATH</span><span style="color:#ba2121">"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
|
||||
</span></span></code></pre></div><h3 id="ssl-certs">SSL Certs</h3>
|
||||
<p>This seems necessary when running Guix on a foreign distro.</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">SSL_CERT_DIR</span><span style="color:#666">=</span><span style="color:#ba2121">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/system/system/etc/ssl/certs/"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000">export</span> <span style="color:#19177c">SSL_CERT_FILE</span><span style="color:#666">=</span><span style="color:#ba2121">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/system/system/etc/ssl/certs/ca-certificates.crt"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000">export</span> <span style="color:#19177c">GIT_SSL_CAINFO</span><span style="color:#666">=</span><span style="color:#ba2121">"</span><span style="color:#19177c">$SSL_CERT_FILE</span><span style="color:#ba2121">"</span>
|
||||
</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">"</span><span style="color:#19177c">$SSL_CERT_FILE</span><span style="color:#ba2121">"</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">"</span><span style="color:#19177c">$IS_ANDROID</span><span style="color:#ba2121">"</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
|
||||
|
|
@ -164,6 +170,8 @@
|
|||
<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>
|
||||
</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></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">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/desktop-misc"</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">"</span><span style="color:#19177c">$HOME</span><span style="color:#ba2121">/.guix-extra-profiles/desktop-misc/desktop-misc/etc/fonts"</span>
|
||||
|
|
@ -1041,7 +1049,7 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">LEVEL</span><span style="color:#666">=</span>critical notify <span style="color:#ba2121">"Autocommit </span><span style="color:#008000;font-weight:bold">$(</span><span style="color:#008000">pwd</span><span style="color:#008000;font-weight:bold">)</span><span style="color:#ba2121">"</span> <span style="color:#ba2121">"Merge conflict!"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
|
||||
</span></span></code></pre></div><p><code>mcron</code> job:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-scheme" data-lang="scheme"><span style="display:flex;"><span>(<span style="color:#00f">job</span> <span style="color:#ba2121">"0 * * * *"</span> <span style="color:#ba2121">"autocommit ~/Documents/org-mode"</span>)
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-scheme" data-lang="scheme"><span style="display:flex;"><span>(<span style="color:#00f">job</span> <span style="color:#ba2121">"0 * * * *"</span> <span style="color:#ba2121">"autocommit /home/pavel/30-39\\ Life/32\\ org-mode/"</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#00f">job</span> <span style="color:#ba2121">"0,15,30,45 * * * *"</span> <span style="color:#ba2121">"autocommit ~/.password-store"</span>)
|
||||
</span></span></code></pre></div><h2 id="guix-settings-1">Guix settings</h2>
|
||||
<p><a id="code-snippet--packages"></a></p>
|
||||
|
|
@ -1117,6 +1125,7 @@
|
|||
<ul>
|
||||
<li><a href="#environment">Environment</a></li>
|
||||
<li><a href="#my-paths">My paths</a></li>
|
||||
<li><a href="#ssl-certs">SSL Certs</a></li>
|
||||
<li><a href="#guix-settings">Guix settings</a></li>
|
||||
<li><a href="#other-package-managers">Other package managers</a>
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@
|
|||
<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">let</span> ((<span style="color:#19177c">hostname</span> (<span style="color:#00f">system-name</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span> ((<span style="color:#00f">string-equal</span> <span style="color:#19177c">hostname</span> <span style="color:#ba2121">"azure"</span>) <span style="color:#666">120</span>)
|
||||
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">string-equal</span> <span style="color:#19177c">hostname</span> <span style="color:#ba2121">"eminence"</span>) <span style="color:#666">120</span>)
|
||||
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">string-equal</span> <span style="color:#19177c">hostname</span> <span style="color:#ba2121">"indigo"</span>) <span style="color:#666">120</span>)
|
||||
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">string-equal</span> <span style="color:#19177c">hostname</span> <span style="color:#ba2121">"violet"</span>) <span style="color:#666">120</span>)
|
||||
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">string-equal</span> <span style="color:#19177c">hostname</span> <span style="color:#ba2121">"iris"</span>) <span style="color:#666">120</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> <span style="color:#666">96</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-vim" data-lang="vim"><span style="display:flex;"><span>Xft.dpi: <<get-dpi()>>
|
||||
|
|
@ -321,6 +321,8 @@
|
|||
</span></span><span style="display:flex;"><span> xrandr --output DisplayPort-0 --off --output HDMI-A-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DVI-D-0 --mode 1920x1080 --pos 1920x0 --rotate normal
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">elif</span> <span style="color:#666">[</span> <span style="color:#ba2121">"</span><span style="color:#19177c">$hostname</span><span style="color:#ba2121">"</span> <span style="color:#666">=</span> <span style="color:#ba2121">"eminence"</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
|
||||
</span></span><span style="display:flex;"><span> xgamma -gamma 1.25
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">elif</span> <span style="color:#666">[</span> <span style="color:#ba2121">"</span><span style="color:#19177c">$hostname</span><span style="color:#ba2121">"</span> <span style="color:#666">=</span> <span style="color:#ba2121">"violet"</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
|
||||
</span></span><span style="display:flex;"><span> xrandr --output HDMI-0 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-0 --off --output DP-1 --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-2 --off --output DP-3 --off --output DP-4 --off --output DP-5 --off --output None-1-1 --off
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
|
||||
</span></span></code></pre></div><h2 id="exwm">EXWM</h2>
|
||||
<p>Settings for <a href="https://github.com/ch11ng/exwm">Emacs X Window Manager</a>, a tiling WM implemented in Emacs Lisp. This part has a few bits copied from my blog post.</p>
|
||||
|
|
@ -400,22 +402,24 @@
|
|||
<p>The GUI pinentry doesn’t work too well with EXWM because of issues with popup windows, so we will use the Emacs one.</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">pinentry</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:after</span> (<span style="color:#19177c">exwm</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; :after (exwm)</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">setenv</span> <span style="color:#ba2121">"GPG_AGENT_INFO"</span> <span style="color:#800">nil</span>) <span style="color:#408080;font-style:italic">;; use emacs pinentry</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">auth-source-debug</span> <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-gpg-program</span> <span style="color:#ba2121">"gpg2"</span>) <span style="color:#408080;font-style:italic">;; not necessary</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-gpg-program</span> <span style="color:#ba2121">"gpg"</span>) <span style="color:#408080;font-style:italic">;; not necessary</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">require</span> <span style="color:#19177c">'epa-file</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">epa-file-enable</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epa-pinentry-mode</span> <span style="color:#19177c">'loopback</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-pinentry-mode</span> <span style="color:#19177c">'loopback</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">pinentry-start</span>))
|
||||
</span></span></code></pre></div><p><a id="code-snippet--find-pinentry"></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:#19177c">executable-find</span> <span style="color:#ba2121">"pinentry"</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-vim" data-lang="vim"><span style="display:flex;"><span>default-cache-ttl <span style="color:#666">3600</span>
|
||||
</span></span><span style="display:flex;"><span>max-cache-ttl <span style="color:#666">3600</span>
|
||||
</span></span><span style="display:flex;"><span>allow-emacs-pinentry
|
||||
</span></span><span style="display:flex;"><span>allow-loopback-pinentry
|
||||
</span></span><span style="display:flex;"><span>pinentry-program <span style="color:#b68">/home/</span>pavel<span style="color:#b68">/.guix-extra-profiles/</span>console<span style="color:#b68">/console/</span>bin/pinentry
|
||||
</span></span><span style="display:flex;"><span>pinentry-program <<find-pinentry()>>
|
||||
</span></span></code></pre></div><h4 id="modeline">Modeline</h4>
|
||||
<p>Show the current workspace in the modeline.</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">exwm-modeline</span>
|
||||
|
|
@ -623,17 +627,18 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/exwm-last-workspaces</span>)))
|
||||
</span></span></code></pre></div><h4 id="the-monitor-list">The monitor list</h4>
|
||||
<p>The second piece of the puzzle is getting the monitor list in the right order.</p>
|
||||
<p>While it is possible to retrieve the monitor list from <code>exwm-randr-workspace-output-plist</code>, this won’t scale well beyond two monitors, mainly because changing this variable may screw up the order.</p>
|
||||
<p>While it is possible to retrieve the monitor list from <code>exwm-randr-workspace-monitor-plist</code>, this won’t scale well beyond two monitors, mainly because changing this variable may screw up the order.</p>
|
||||
<p>So the easiest way is to just define the variable like that:</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-monitor-list</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> (<span style="color:#00f">system-name</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">"indigo"</span> <span style="color:#666">'</span>(<span style="color:#800">nil</span> <span style="color:#ba2121">"DVI-D-0"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">"violet"</span> <span style="color:#666">'</span>(<span style="color:#800">nil</span> <span style="color:#ba2121">"DP-1"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">_</span> <span style="color:#666">'</span>(<span style="color:#800">nil</span>))))
|
||||
</span></span></code></pre></div><p>If you are changing the RandR configuration on the fly, this variable will also need to be changed, but for now, I don’t have such a necessity.</p>
|
||||
<p>A function to get the current monitor:</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-get-current-monitor</span> ()
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"Return the current monitor name or nil."</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-output-plist</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-monitor-plist</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cl-position</span> (<span style="color:#00f">selected-frame</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">exwm-workspace--list</span>)))
|
||||
</span></span></code></pre></div><p>And a function to cycle the monitor list in either direction:</p>
|
||||
|
|
@ -667,9 +672,9 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">for</span> <span style="color:#19177c">_</span> <span style="color:#19177c">in</span> <span style="color:#19177c">exwm-workspace--list</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> <span style="color:#19177c">i</span>))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">if</span> (<span style="color:#008000">if</span> <span style="color:#19177c">other-monitor</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">string-equal</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-output-plist</span> <span style="color:#19177c">i</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">string-equal</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-monitor-plist</span> <span style="color:#19177c">i</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">other-monitor</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-output-plist</span> <span style="color:#19177c">i</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">exwm-randr-workspace-monitor-plist</span> <span style="color:#19177c">i</span>)))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">return</span> <span style="color:#19177c">i</span>))))
|
||||
</span></span></code></pre></div><p>I bind this function to <code>s-q</code>, as I’m used from i3.</p>
|
||||
<h4 id="move-the-workspace-to-another-monitor">Move the workspace to another monitor</h4>
|
||||
|
|
@ -1219,8 +1224,8 @@
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">require</span> <span style="color:#19177c">'exwm-randr</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">exwm-randr-enable</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">start-process-shell-command</span> <span style="color:#ba2121">"xrandr"</span> <span style="color:#800">nil</span> <span style="color:#ba2121">"~/bin/scripts/screen-layout"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"indigo"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">my/exwm-another-monitor</span> <span style="color:#ba2121">"DVI-D-0"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"violet"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">my/exwm-another-monitor</span> <span style="color:#ba2121">"DP-1"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">exwm-randr-workspace-monitor-plist</span> <span style="color:#666">`</span>(<span style="color:#666">2</span> <span style="color:#666">,</span><span style="color:#19177c">my/exwm-another-monitor</span> <span style="color:#666">3</span> <span style="color:#666">,</span><span style="color:#19177c">my/exwm-another-monitor</span>)))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">exwm-workspace-warp-cursor</span> <span style="color:#800">t</span>)
|
||||
|
|
@ -1944,6 +1949,14 @@
|
|||
<td>HDMI-A-0</td>
|
||||
<td>battery</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>HDMI-0</td>
|
||||
<td>battery</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>DP-1</td>
|
||||
<td>battery</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>
|
||||
|
|
@ -2182,7 +2195,7 @@
|
|||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">elif</span> <span style="color:#666">[</span> <span style="color:#ba2121">"</span><span style="color:#19177c">$hostname</span><span style="color:#ba2121">"</span> <span style="color:#666">=</span> <span style="color:#ba2121">"iris"</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">TRAY_MONITOR</span><span style="color:#666">=</span><span style="color:#ba2121">"HDMI-1"</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:#19177c">TRAY_MONITOR</span><span style="color:#666">=</span><span style="color:#ba2121">"HDMI-A-0"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">TRAY_MONITOR</span><span style="color:#666">=</span><span style="color:#ba2121">"DP-1"</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></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># Setting varying on the monitor</span>
|
||||
|
|
@ -2192,6 +2205,8 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DVI-D-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"13"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-A-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"13"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"13"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"13"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DP-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"13"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#666">)</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000">declare</span> -A <span style="color:#19177c">EMOJI_SCALE</span><span style="color:#666">=(</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"eDP"</span><span style="color:#666">]=</span><span style="color:#ba2121">"9"</span>
|
||||
|
|
@ -2199,6 +2214,8 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DVI-D-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"10"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-A-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"10"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"10"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"10"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DP-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"10"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#666">)</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000">declare</span> -A <span style="color:#19177c">BAR_HEIGHT</span><span style="color:#666">=(</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"eDP"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
|
|
@ -2206,6 +2223,8 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DVI-D-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-A-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DP-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"29"</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#666">)</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000">declare</span> -A <span style="color:#19177c">BLOCKS</span><span style="color:#666">=(</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"eDP"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>eDP<span style="color:#ba2121">")>>"</span>
|
||||
|
|
@ -2213,6 +2232,8 @@
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DVI-D-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>DVI-D-0<span style="color:#ba2121">")>>"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-A-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>HDMI-A-0<span style="color:#ba2121">")>>"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>HDMI-1<span style="color:#ba2121">")>>"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"HDMI-0"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>HDMI-0<span style="color:#ba2121">")>>"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">[</span><span style="color:#ba2121">"DP-1"</span><span style="color:#666">]=</span><span style="color:#ba2121">"<<polybar-generate-modules(monitor="</span>DP-1<span style="color:#ba2121">")>>"</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>
|
||||
|
|
@ -4031,6 +4052,18 @@
|
|||
</code></pre><h2 id="services-1">Services</h2>
|
||||
<p><a href="https://www.gnu.org/software/shepherd/manual/html_node/index.html">GNU Shepherd</a> is a service management system for GNU Guix.</p>
|
||||
<p>I previously used supervisor, but shepherd also seems pretty capable.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Guix dependency</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>shepherd</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="music">Music</h3>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -4392,6 +4425,11 @@
|
|||
<td>android-file-transfer</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>desktop-misc</td>
|
||||
<td>mcron</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><a id="code-snippet--packages"></a></p>
|
||||
|
|
|
|||
|
|
@ -266,7 +266,6 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
<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/remote-server</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">or</span> (<span style="color:#19177c">string=</span> (<span style="color:#19177c">getenv</span> <span style="color:#ba2121">"IS_REMOTE"</span>) <span style="color:#ba2121">"true"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"dev-digital"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"violet"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"viridian"</span>)))
|
||||
</span></span></code></pre></div><p>And the following is true if Emacs is run from termux on Android.</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/is-termux</span> (<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> (<span style="color:#00f">*</span> <span style="color:#19177c">nonl</span>) <span style="color:#ba2121">"com.termux"</span> (<span style="color:#00f">*</span> <span style="color:#19177c">nonl</span>)) (<span style="color:#19177c">getenv</span> <span style="color:#ba2121">"HOME"</span>)))
|
||||
|
|
@ -2074,21 +2073,24 @@ 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">:if</span> (<span style="color:#008000">featurep</span> <span style="color:#19177c">'treesit</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</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:#666">'</span>((<span style="color:#19177c">bash</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-bash"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cmake</span> <span style="color:#ba2121">"https://github.com/uyha/tree-sitter-cmake"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">css</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-css"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elisp</span> <span style="color:#ba2121">"https://github.com/Wilfred/tree-sitter-elisp"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">go</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-go"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">html</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-html"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">javascript</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-javascript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">json</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-json"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">make</span> <span style="color:#ba2121">"https://github.com/alemuller/tree-sitter-make"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">markdown</span> <span style="color:#ba2121">"https://github.com/ikatyang/tree-sitter-markdown"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">python</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-python"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">toml</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-toml"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tsx</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-typescript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"tsx/src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">typescript</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-typescript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"typescript/src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">yaml</span> <span style="color:#ba2121">"https://github.com/ikatyang/tree-sitter-yaml"</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">"gcc"</span>) <span style="color:#666">,</span>(<span style="color:#19177c">executable-find</span> <span style="color:#ba2121">"c++"</span>)))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>((<span style="color:#19177c">bash</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-bash"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cmake</span> <span style="color:#ba2121">"https://github.com/uyha/tree-sitter-cmake"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">css</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-css"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elisp</span> <span style="color:#ba2121">"https://github.com/Wilfred/tree-sitter-elisp"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">go</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-go"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">html</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-html"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">javascript</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-javascript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">json</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-json"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">make</span> <span style="color:#ba2121">"https://github.com/alemuller/tree-sitter-make"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">markdown</span> <span style="color:#ba2121">"https://github.com/ikatyang/tree-sitter-markdown"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">python</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-python"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">toml</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-toml"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tsx</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-typescript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"tsx/src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">typescript</span> <span style="color:#ba2121">"https://github.com/tree-sitter/tree-sitter-typescript"</span> <span style="color:#ba2121">"master"</span> <span style="color:#ba2121">"typescript/src"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">yaml</span> <span style="color:#ba2121">"https://github.com/ikatyang/tree-sitter-yaml"</span>))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">treesit-font-lock-level</span> <span style="color:#666">4</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">major-mode-remap-alist</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>((<span style="color:#19177c">typescript-mode</span> <span style="color:#666">.</span> <span style="color:#19177c">typescript-ts-mode</span>)
|
||||
|
|
@ -3533,6 +3535,17 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-crypt-use-before-save-magic</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">org-tags-exclude-from-inheritance</span> <span style="color:#666">'</span>(<span style="color:#ba2121">"crypt"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">org-crypt-key</span> <span style="color:#ba2121">"C1EC867E478472439CC82410DE004F32AFA00205"</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-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">'epg</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-gpg-program</span> <span style="color:#ba2121">"gpg"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-config--program-alist</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>((<span style="color:#19177c">OpenPGP</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">epg-gpg-program</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; ("gpg2" . ,epg-gpg2-minimum-version)</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">"gpg"</span> <span style="color:#666">.</span> ((<span style="color:#666">,</span><span style="color:#19177c">epg-gpg-minimum-version</span> <span style="color:#666">.</span> <span style="color:#ba2121">"2.0"</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">,</span><span style="color:#19177c">epg-gpg2-minimum-version</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">CMS</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">epg-gpgsm-program</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">"gpgsm"</span> <span style="color:#666">.</span> <span style="color:#ba2121">"2.0.4"</span>)))))
|
||||
</span></span></code></pre></div><p>This enables encryption for Org segments tagged <code>:crypt:</code>.</p>
|
||||
<p>Another way to encrypt Org files is to save them with the extension <code>.org.gpg</code>. However, by default <a href="https://www.gnu.org/software/emacs/manual/html_mono/epa.html">EPA</a> always prompts for the key, which is not what I want when there is only one key to select. Hence the following advice:</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/epa--select-keys-around</span> (<span style="color:#19177c">fun</span> <span style="color:#19177c">prompt</span> <span style="color:#19177c">keys</span>)
|
||||
|
|
@ -5094,14 +5107,17 @@ Didn’t work out as I expected, so I’ve made <code>org-journal-tags</
|
|||
<thead>
|
||||
<tr>
|
||||
<th>Guix dependency</th>
|
||||
<th>Disabled</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>emacs-emacsql-sqlite3</td>
|
||||
<td>t</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>graphviz</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -6497,7 +6513,7 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">my/eshell-last-command-start-time</span> <span style="color:#800">nil</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">round</span> (<span style="color:#00f">*</span> <span style="color:#19177c">delta</span> <span style="color:#666">1000</span>)))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">0</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">default-directory</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">shell-quote-argument</span> <span style="color:#19177c">default-directory</span>))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-temp-buffer</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">call-process</span> <span style="color:#ba2121">"bash"</span> <span style="color:#800">nil</span> <span style="color:#800">t</span> <span style="color:#800">nil</span> <span style="color:#ba2121">"-c"</span> <span style="color:#19177c">cmd</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-first</span> <span style="color:#ba2121">"\n"</span>
|
||||
|
|
@ -8685,7 +8701,7 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-server-libs-prefix</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-trim</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">shell-command-to-string</span> <span style="color:#ba2121">"guix build tdlib-1.8.16"</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">shell-command-to-string</span> <span style="color:#ba2121">"guix build tdlib"</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-server-build</span> <span style="color:#ba2121">"CC=gcc"</span>))
|
||||
</span></span></code></pre></div><p>Setting up the modeline. The default mode string doesn’t look great with my other modeline modules, so I override that.</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">'telega-load-hook</span> <span style="color:#00f">#'</span><span style="color:#19177c">telega-mode-line-mode</span>)
|
||||
|
|
@ -8994,8 +9010,9 @@ Some other optimization settings:</p>
|
|||
<p>The root is my <code>$HOME</code> directory.</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">defvar</span> <span style="color:#19177c">my/index-root</span> (<span style="color:#00f">concat</span> (<span style="color:#19177c">getenv</span> <span style="color:#ba2121">"HOME"</span>) <span style="color:#ba2121">"/"</span>))
|
||||
</span></span></code></pre></div><p>The org tree is located in my <code>org-mode</code> folder in a file called <code>index.org</code>:</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">defvar</span> <span style="color:#19177c">my/index-file</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">"/misc/index.org"</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:#008000">with-eval-after-load</span> <span style="color:#19177c">'org</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">defvar</span> <span style="color:#19177c">my/index-file</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">"/misc/index.org"</span>)))
|
||||
</span></span></code></pre></div><p>Each “area” is an Org header with the <code>folder</code> tag; the Org hierarchy forms the file tree. A header can have the following properties:</p>
|
||||
<ul>
|
||||
<li><code>machine</code> - a list of hostnames for which the node is active (or <code>nil</code>)</li>
|
||||
|
|
@ -9798,7 +9815,7 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">setenv</span> <span style="color:#ba2121">"GPG_AGENT_INFO"</span> <span style="color:#800">nil</span>) <span style="color:#408080;font-style:italic">;; use emacs pinentry</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">auth-source-debug</span> <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-gpg-program</span> <span style="color:#ba2121">"gpg2"</span>) <span style="color:#408080;font-style:italic">;; not necessary</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epg-gpg-program</span> <span style="color:#ba2121">"gpg"</span>) <span style="color:#408080;font-style:italic">;; not necessary</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">require</span> <span style="color:#19177c">'epa-file</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">epa-file-enable</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">epa-pinentry-mode</span> <span style="color:#19177c">'loopback</span>)
|
||||
|
|
@ -9935,7 +9952,7 @@ 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-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">elcord</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:if</span> (<span style="color:#008000">and</span> (<span style="color:#008000">or</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"indigo"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"violet"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"eminence"</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string=</span> (<span style="color:#00f">system-name</span>) <span style="color:#ba2121">"iris"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> <span style="color:#19177c">my/slow-ssh</span>)
|
||||
|
|
@ -10259,7 +10276,7 @@ I’ve seen a couple of cases where people would swap their username and ema
|
|||
<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">when</span> (<span style="color:#00f">fboundp</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/format-guix-dependencies</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/format-guix-dependencies</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-scheme" data-lang="scheme"><span style="display:flex;"><span>(<span style="color:#00f">specifications->manifest</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>(<span style="color:#ba2121">"emacs-next-tree-sitter"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>(<span style="color:#ba2121">"emacs"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c"><<packages</span>()<span style="color:#19177c">>></span>))
|
||||
</span></span></code></pre></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -574,6 +574,11 @@
|
|||
<td>vnstat</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>system</td>
|
||||
<td>nss-certs</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="openvpn">OpenVPN</h3>
|
||||
|
|
|
|||
|
|
@ -449,8 +449,10 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
|
|||
<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">user-mail-address</span> <span style="color:#ba2121">"thexcloud@gmail.com"</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#00f">user-full-name</span> <span style="color:#ba2121">"Pavel Korytov"</span>)
|
||||
</span></span></code></pre></div><p>Then, the problem with my Guix setup is that Emacs by default doesn’t see the elisp files of notmuch, so here is a small workaround:</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">let</span> ((<span style="color:#19177c">default-directory</span> <span style="color:#ba2121">"/home/pavel/.guix-extra-profiles/mail/mail/share/emacs/site-lisp"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">normal-top-level-add-subdirs-to-load-path</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:#008000">let</span> ((<span style="color:#19177c">dir</span> <span style="color:#ba2121">"/home/pavel/.guix-extra-profiles/mail/mail/share/emacs/site-lisp"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">file-directory-p</span> <span style="color:#19177c">dir</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">default-directory</span> <span style="color:#19177c">dir</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">normal-top-level-add-subdirs-to-load-path</span>))))
|
||||
</span></span></code></pre></div><p>Some functions to toggle tags:</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/notmuch-toggle-trash</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
|
||||
|
|
|
|||
BIN
stats/all.png
BIN
stats/all.png
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: 59 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 68 KiB |
Loading…
Add table
Reference in a new issue