paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit ec77637fdce45c19bb8bb06e659127f1482f7bd1
parent 4250cebfa76b4d98ceeccdb3ac9ad2d5e023fb61
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Sun, 14 Jun 2020 20:39:32 -0400

Merge branch 'master' of git.sr.ht:~jbauer/paritybit.ca

Diffstat:
Mpages/blog.md | 1+
Apages/blog/how-i-manage-my-dotfiles.md | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpages/home.md | 4++--
Mpages/links.md | 3---
Mpublic/feeds/sitewide-feed.xml | 24++++++++++++++++++++++++
Mpublic/sitemap.xml | 1+
6 files changed, 95 insertions(+), 5 deletions(-)

diff --git a/pages/blog.md b/pages/blog.md @@ -20,6 +20,7 @@ href="https://social.paritybit.ca/@jbauer">Mastodon</a>. ### 2020 <ul> + <li>2020-06-13 <a href="blog/how-i-manage-my-dotfiles">How I Manage My Dotfiles</a></li> <li>2020-06-12 <a href="blog/making-my-site-easier-to-read">Making My Site Easier to Read</a></li> <li>2020-06-11 <a href="blog/improving-my-blog-post-publishing-script">Improving My Blog Post Publishing Script</a></li> <li>2020-06-11 <a href="blog/trying-out-dwm">Trying Out dwm</a></li> diff --git a/pages/blog/how-i-manage-my-dotfiles.md b/pages/blog/how-i-manage-my-dotfiles.md @@ -0,0 +1,67 @@ +## How I Manage My Dotfiles + +[//]: # "I've recently overhauled a lot of the software I use which means I have a whole new set of configuration files for most of that software. I figured it would be a good time to change the way I manage these configuration files too." + +[//]: # "main.min.css" + +[//]: # + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-06-13 | + <b>Last Updated:</b> 2020-06-13 +</div> + +I've recently overhauled a lot of the software I use which means I have a whole +new set of configuration files for most of that software. I figured it would be +a good time to change the way I manage these configuration files too. I've +started fresh with a [new repository for my +dotfiles](https://git.sr.ht/~jbauer/dotfiles) and retired [my old +repository](https://git.sr.ht/~jbauer/dotfiles-legacy). + +I used to manage my dotfiles by manually copying files to and from the git +repository folder or with symlinks but found this far too cumbersome to manage. +I recently read about [managing dotfiles with a bare +repository](https://www.atlassian.com/git/tutorials/dotfiles) and switched to +doing it that way. + +I opted for this method over using another application like +[chezmoi](https://github.com/twpayne/chezmoi) or [GNU +Stow](https://www.gnu.org/software/stow/) because I didn't want _Yet Another Bit +of Software_ to manage what could be done by just using git. I also didn't want +to make my entire home folder a git repository because I've heard that it can +cause problems when you have nested repositories that aren't part of the same +project, of which I have many. + +You'll notice a `.gitignore`, `README.md`, and `LICENSE` file in that +repository. Normally, that would mean I'd have to have those files in my home +directory but, by using the `--skip-worktree` feature, I can write, add, commit, +and then delete those files without git caring. For example, I would write the +`README.md` file, then do: + +```bash +$ config add README.md +$ config commit -m "Add README" +$ rm README.md +$ config update-index --skip-worktree README.md +``` + +If I need to update any of those files, I can do something like: + +```bash +$ config update-index --no-skip-worktree README.md +$ config checkout -- README.md +``` + +then edit, add, commit, delete, and re-ignore that file. + +Now, all of my configuration files are in my home directory and there is no +copying involved. If I update something on one machine and push those changes, I +can easily apply those changes to another machine. Deploying dotfiles to a +brand new system is a little more of an involved process, but it can be easily +scripted and it doesn't happen that often anyways. + +_This is my forty-fourth post for the +[#100DaysToOffload](https://social.paritybit.ca/tags/100DaysToOffload) +challenge. You can learn more about this challenge over at +[https://100daystooffload.com](https://100daystooffload.com)._ diff --git a/pages/home.md b/pages/home.md @@ -20,6 +20,8 @@ extent)! Access through `gopher://paritybit.ca` or `gemini://paritybit.ca`. src="/img/feed-icon.png" width="15" height="15" alt="Click for RSS Feed"/> </a> </div> +2020-06-13 <a class="feed-item" href="blog/how-i-manage-my-dotfiles">How I Manage My Dotfiles</a> + 2020-06-12 <a class="feed-item" href="blog/making-my-site-easier-to-read">Making My Site Easier to Read</a> 2020-06-11 <a class="feed-item" href="blog/improving-my-blog-post-publishing-script">Improving My Blog Post Publishing Script</a> @@ -37,8 +39,6 @@ extent)! Access through `gopher://paritybit.ca` or `gemini://paritybit.ca`. 2020-06-02 <a class="feed-item" href="blog/toggling-between-indentation-styles-in-vim">Toggling Between Indentation Styles in Vim</a> 2020-06-02 <a class="feed-item" href="blog/dnd-xp-system">My Custom XP System for DnD</a> - -2020-05-31 <a class="feed-item" href="blog/it-doesnt-have-to-be-perfect">It Doesn't Have to Be Perfect</a> ### What is a Parity Bit? It is a bit (in the 1's and 0's sense) used in checking for errors in digital diff --git a/pages/links.md b/pages/links.md @@ -181,9 +181,6 @@ * [Guidelines for Brutalist Web Design](https://brutalist-web.design/) - Describing the brutalist web design philosophy. -* [How to fix the broken web as a site owner and web developer](https://markosaric.com/broken-web/) - - Tips on how to be part of the solution, rather than the problem. - * [Page Weight Matters](https://blog.chriszacharias.com/page-weight-matters) - The story of how a YouTube developer was able to make YouTube accessible to far more people by slimming down the codebase. diff --git a/public/feeds/sitewide-feed.xml b/public/feeds/sitewide-feed.xml @@ -7,6 +7,30 @@ <description>The feed that covers all notable additions, updates, announcements, and other changes for the entire paritybit.ca website.</description> <item> + <title>How I Manage My Dotfiles</title> + <link>https://www.paritybit.ca/blog/how-i-manage-my-dotfiles</link> + <guid>https://www.paritybit.ca/blog/how-i-manage-my-dotfiles</guid> + <pubDate>Sat, 13 Jun 2020 23:51:39 -0400</pubDate> + <description><![CDATA[<h2 id="how-i-manage-my-dotfiles">How I Manage My Dotfiles</h2> +<div class="byline"> +<p><b>Written By:</b> Jake Bauer | <b>Posted:</b> 2020-06-13 | <b>Last Updated:</b> 2020-06-13</p> +</div> +<p>I’ve recently overhauled a lot of the software I use which means I have a whole new set of configuration files for most of that software. I figured it would be a good time to change the way I manage these configuration files too. I’ve started fresh with a <a href="https://git.sr.ht/~jbauer/dotfiles">new repository for my dotfiles</a> and retired <a href="https://git.sr.ht/~jbauer/dotfiles-legacy">my old repository</a>.</p> +<p>I used to manage my dotfiles by manually copying files to and from the git repository folder or with symlinks but found this far too cumbersome to manage. I recently read about <a href="https://www.atlassian.com/git/tutorials/dotfiles">managing dotfiles with a bare repository</a> and switched to doing it that way.</p> +<p>I opted for this method over using another application like <a href="https://github.com/twpayne/chezmoi">chezmoi</a> or <a href="https://www.gnu.org/software/stow/">GNU Stow</a> because I didn’t want <em>Yet Another Bit of Software</em> to manage what could be done by just using git. I also didn’t want to make my entire home folder a git repository because I’ve heard that it can cause problems when you have nested repositories that aren’t part of the same project, of which I have many.</p> +<p>You’ll notice a <code>.gitignore</code>, <code>README.md</code>, and <code>LICENSE</code> file in that repository. Normally, that would mean I’d have to have those files in my home directory but, by using the <code>--skip-worktree</code> feature, I can write, add, commit, and then delete those files without git caring. For example, I would write the <code>README.md</code> file, then do:</p> +<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb1-1" title="1">$ <span class="ex">config</span> add README.md</a> +<a class="sourceLine" id="cb1-2" title="2">$ <span class="ex">config</span> commit -m <span class="st">&quot;Add README&quot;</span></a> +<a class="sourceLine" id="cb1-3" title="3">$ <span class="fu">rm</span> README.md</a> +<a class="sourceLine" id="cb1-4" title="4">$ <span class="ex">config</span> update-index --skip-worktree README.md</a></code></pre></div> +<p>If I need to update any of those files, I can do something like:</p> +<div class="sourceCode" id="cb2"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb2-1" title="1">$ <span class="ex">config</span> update-index --no-skip-worktree README.md</a> +<a class="sourceLine" id="cb2-2" title="2">$ <span class="ex">config</span> checkout -- README.md</a></code></pre></div> +<p>then edit, add, commit, delete, and re-ignore that file.</p> +<p>Now, all of my configuration files are in my home directory and there is no copying involved. If I update something on one machine and push those changes, I can easily apply those changes to another machine. Deploying dotfiles to a brand new system is a little more of an involved process, but it can be easily scripted and it doesn’t happen that often anyways.</p> +<p><em>This is my forty-fourth post for the <a href="https://social.paritybit.ca/tags/100DaysToOffload">#100DaysToOffload</a> challenge. You can learn more about this challenge over at <a href="https://100daystooffload.com" class="uri">https://100daystooffload.com</a>.</em></p>]]></description> + </item> +<item> <title>Making My Site Easier to Read</title> <link>https://www.paritybit.ca/blog/making-my-site-easier-to-read</link> <guid>https://www.paritybit.ca/blog/making-my-site-easier-to-read</guid> diff --git a/public/sitemap.xml b/public/sitemap.xml @@ -3,6 +3,7 @@ <url><loc>https://www.paritybit.ca</loc></url> <url><loc>https://www.paritybit.ca/home</loc></url> <url><loc>https://www.paritybit.ca/blog</loc></url> + <url><loc>https://www.paritybit.ca/blog/how-i-manage-my-dotfiles</loc></url> <url><loc>https://www.paritybit.ca/blog/making-my-site-easier-to-read</loc></url> <url><loc>https://www.paritybit.ca/blog/improving-my-blog-post-publishing-script</loc></url> <url><loc>https://www.paritybit.ca/blog/trying-out-dwm</loc></url>