sqrtminusone.github.io/configs/readme/index.html
2025-11-19 19:34:20 +00:00

191 lines
9 KiB
HTML

<!DOCTYPE html>
<html lang=""><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>My dotfiles</title>
<meta name="description" content="Freedom is a state of mind">
<meta name="author" content='SqrtMinusOne'>
<link href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous">
<link rel="stylesheet" href="/sass/researcher.min.css">
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
<body><div class="container mt-5">
<nav class="navbar navbar-expand-sm flex-column flex-sm-row text-nowrap p-0">
<a class="navbar-brand mx-0 mr-sm-auto" href="https://sqrtminusone.xyz/" title="SqrtMinusOne">
SqrtMinusOne
</a>
<div class="navbar-nav flex-row flex-wrap justify-content-center">
<a class="nav-item nav-link" href="/" title="Index">
Index
</a>
<span class="nav-item navbar-text mx-1">/</span>
<a class="nav-item nav-link" href="/posts/" title="Posts">
Posts
</a>
<span class="nav-item navbar-text mx-1">/</span>
<a class="nav-item nav-link" href="/configs/readme" title="Configs">
Configs
</a>
<span class="nav-item navbar-text mx-1">/</span>
<a class="nav-item nav-link" href="/emacs-packages/" title="Emacs packages">
Emacs packages
</a>
</div>
</nav>
</div>
<hr>
<div id="content">
<script defer language="javascript" type="text/javascript" src="/js/dynamic-toc.js"></script>
<div class="root">
<h1 id="title-small-screen">
My dotfiles
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1>
<div class="container" id="actual-content">
<h1 id="title-large-screen" class="dotfiles-title">
My dotfiles
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1>
<figure><img src="/ox-hugo/works-on-my-machine.svg">
</figure>
<p>These are my GNU/Linux configuration files. <a href="https://github.com/SqrtMinusOne/dotfiles">View at GitHub</a>.</p>
<p>I use the <a href="https://leanpub.com/lit-config/read">literate configuration</a> strategy via Emacs&rsquo; <a href="https://orgmode.org/">Org Mode</a> wherever possible. It has its pros and cons, but I find it pretty nice to keep the configs interweaved with comments in a handful of files.</p>
<p>The files themselves are managed and deployed via <a href="https://yadm.io/">yadm</a>, although I use Org Mode for things like config templating.</p>
<p>My current GNU/Linux distribution is <a href="https://guix.gnu.org/">GNU Guix</a>. I like Guix because, among other things, it allows <a href="https://guix.gnu.org/cookbook/en/html_node/Advanced-package-management.html#Advanced-package-management">to declare the required software</a> in configuration files, so I can have the same set of programs across multiple machines (look for tables with &ldquo;Guix dependency&rdquo; in the header).</p>
<p>The central program to all of that is, of course, <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>. At the time of this writing, it takes ~50% of my screen time and has the largest share of configuration here.</p>
<p>Table of contents and software:</p>
<ul>
<li><a href="/configs/emacs/">Emacs.org</a>
<ul>
<li><a href="/configs/emacs/">GNU Emacs</a></li>
</ul>
</li>
<li><a href="/configs/desktop/">Desktop.org</a>
<ul>
<li><em>Active</em>: <a href="/configs/desktop/#exwm">EXWM</a>, <a href="/configs/desktop/#polybar">Polybar</a>, <a href="/configs/desktop/#rofi">Rofi</a>, <a href="/configs/desktop/#flameshot">Flameshot</a>, <a href="/configs/desktop/#dunst">dunst</a>, <a href="/configs/desktop/#picom">Picom</a>, <a href="/configs/desktop/#zathura">Zathura</a></li>
<li><em>In Limbo</em>: <a href="/configs/desktop/#i3wm">i3wm</a>, <a href="/configs/desktop/#keynav">keynav</a></li>
</ul>
</li>
<li><a href="/configs/console/">Console.org</a>
<ul>
<li><em>Active</em>: <a href="/configs/console/#dot-profile">.profile</a>, <a href="/configs/console/#bash">Bash</a>, <a href="/configs/console/#fish">Fish</a>, <a href="/configs/console/#starship-prompt">Starship</a>, <a href="/configs/console/#tmux">Tmux</a>, <a href="/configs/console/#alacritty">Alacritty</a></li>
<li><em>In Limbo</em>: <a href="/configs/console/#nushell">Nushell</a></li>
</ul>
</li>
<li><a href="/configs/guix/">Guix.org</a></li>
<li><a href="/configs/mail/">Mail.org</a>
<ul>
<li><em>Active</em>: <a href="/configs/mail/#lieer">Lieer</a>, <a href="/configs/mail/#davmail">DavMail</a>, <a href="/configs/mail/#offlineimap">OfflineIMAP</a>, <a href="/configs/mail/#notmuch">Notmuch</a></li>
</ul>
</li>
</ul>
<p>(<em>Apparently, links on the second level work only in Emacs 🙁</em>)</p>
<p>A few other repositories I may consider a part of my config:</p>
<ul>
<li><a href="https://github.com/SqrtMinusOne/channel-q">channel-q</a> is my Guix channel</li>
<li><a href="https://github.com/SqrtMinusOne/sqrt-data">sqrt-data</a> is a home for my statistics gathering effort</li>
<li><a href="https://sqrtminusone.xyz/emacs-packages/">My Emacs Packages</a>, some of which originated in my Emacs config</li>
</ul>
<p>See also <a href="https://sqrtminusone.xyz/posts/">my blog posts</a>.</p>
<h2 id="some-statistics">Some statistics</h2>
<figure><img src="https://sqrtminusone.xyz/stats/all.png">
</figure>
<figure><img src="https://sqrtminusone.xyz/stats/emacs-vim.png">
</figure>
<figure><img src="https://sqrtminusone.xyz/stats/literate-config.png">
</figure>
<h2 id="misc">Misc</h2>
<h3 id="notes">Notes</h3>
<ul>
<li><code>M-u C-c C-v t</code> to tangle a particular block</li>
<li><code>M-u M-u C-c C-v t</code> to tangle a particular file</li>
<li><code>C-c C-v d</code> to demarcate a block</li>
</ul>
<p>Uses yadm&rsquo;s <code>post_alt</code> hook to create symlinks</p>
<h3 id="encrypted-files">Encrypted files</h3>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Mail/thexcloud/.credentials.gmailieer.json
</span></span><span style="display:flex;"><span>Mail/progin6304/.credentials.gmailieer.json
</span></span><span style="display:flex;"><span>.emacs.d/private.org
</span></span><span style="display:flex;"><span>.emacs.d/private.el
</span></span><span style="display:flex;"><span>.emacs.d/gnus/*
</span></span><span style="display:flex;"><span>./.vpn/*
</span></span></code></pre></div>
</div>
<div class="table-of-contents">
<div class="table-of-contents-text">
<b><a href="#">Table of Contents</a></b>
<nav id="TableOfContents">
<ul>
<li><a href="#some-statistics">Some statistics</a></li>
<li><a href="#misc">Misc</a>
<ul>
<li><a href="#notes">Notes</a></li>
<li><a href="#encrypted-files">Encrypted files</a></li>
</ul>
</li>
</ul>
</nav>
</div>
<a id="unhide-all-button" class="hidden">&lt;Expand&gt;</a>
<a id="hide-all-button" class="hidden">&lt;Collapse&gt;</a>
</div>
</div>
</div><div id="footer" class="mb-5">
<hr>
<div class="container text-center">
</div>
<div class="container text-center">
<a href="https://creativecommons.org/licenses/by/4.0/legalcode" title="Licensed under CC-BY 4.0"><small>Licensed under CC-BY 4.0</small></a>
|
<a href="https://plausible.io/" title="Uses Plausible Analytics"><small>Uses Plausible Analytics</small></a>
<br>
<a href="https://sqrtminusone.xyz/" title="Pavel Korytov, 2024"><small>Pavel Korytov, 2024</small></a>
</div>
</div>
</body>
</html>