Proof read and checked links for the neovim post. Ready to post.

This commit is contained in:
Norm Rasmussen
2023-10-23 11:30:07 -04:00
parent a649da938f
commit 365f83b944
18 changed files with 1429 additions and 40 deletions

View File

@ -142,6 +142,20 @@ if (!doNotTrack) {
</footer>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./neovim-to-neovim-mini.png" alt="Large Neovim logo, partly out of frame with a chalk arrow pointing to a smaller neovim logo with the word &#39;mini&#39;.">
</figure>
<header class="entry-header">
<h2>Mini Neovim
</h2>
</header>
<div class="entry-content">
<p>If Im being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovskis mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy....</p>
</div>
<footer class="entry-footer"><span title='2023-10-20 18:38:13 -0400 EDT'>October 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;602 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Mini Neovim" href="./posts/mini_neovim.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
</figure>
@ -230,20 +244,12 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
<footer class="entry-footer"><span title='2023-08-05 15:23:51 -0500 -0500'>August 5, 2023</span>&nbsp;·&nbsp;8 min&nbsp;·&nbsp;1635 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Tutorial: Move from NginxProxyManager to Nginx" href="./posts/npm_to_nginx_tutorial.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./merged-pr-accepted.png" alt="Git Pull Request with an arrow pointing to a check mark">
</figure>
<header class="entry-header">
<h2>My First Merged PR!
</h2>
</header>
<div class="entry-content">
<p>Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests from contributors on a regular basis. However, while Ive contributed to documentation and/or tutorials and other non-coding portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, found a bug, created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request....</p>
</div>
<footer class="entry-footer"><span title='2022-09-01 13:25:02 -0400 EDT'>September 1, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;328 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to My First Merged PR!" href="./posts/whiptail-first-merged-pr.html"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="next" href="./page/2.html">Next&nbsp;&nbsp;»
</a>
</nav>
</footer>
</main>
<footer class="footer">

View File

@ -6,7 +6,16 @@
<description>Recent content on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Fri, 20 Oct 2023 18:38:13 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Mini Neovim</title>
<link>/posts/mini_neovim.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/posts/mini_neovim.html</guid>
<description>Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.</description>
</item>
<item>
<title>ESP8266 Medicine Indicator Light</title>
<link>/posts/medicine_indicator_light.html</link>

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

205
public/page/2.html Normal file
View File

@ -0,0 +1,205 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head>
<meta name="generator" content="Hugo 0.119.0"><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script defer data-domain="selfhosted.rsmsn.co" src="https://analytics.rsmsn.co/js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Norm-working Packets 💾</title>
<meta name="keywords" content="Blog, Website, Resume, Interests, Portfolio, Selfhosted, DIY">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="Norm-working Packets 💾" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Norm-working Packets 💾"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Norm-working Packets 💾",
"url": "/",
"description": "A semi-technical blog \u0026amp; series of experiences working in tech and my homelab",
"thumbnailUrl": "/favicon.ico",
"sameAs": [
"https://fosstodon.org/@notnorm", "https://github.com/Normanras"
]
}
</script>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="../merged-pr-accepted.png" alt="Git Pull Request with an arrow pointing to a check mark">
</figure>
<header class="entry-header">
<h2>My First Merged PR!
</h2>
</header>
<div class="entry-content">
<p>Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests from contributors on a regular basis. However, while Ive contributed to documentation and/or tutorials and other non-coding portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, found a bug, created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request....</p>
</div>
<footer class="entry-footer"><span title='2022-09-01 13:25:02 -0400 EDT'>September 1, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;328 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to My First Merged PR!" href="../posts/whiptail-first-merged-pr.html"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="prev" href="../">
«&nbsp;Prev&nbsp;
</a>
</nav>
</footer>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

View File

@ -116,6 +116,20 @@ if (!doNotTrack) {
</h1>
</header>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./neovim-to-neovim-mini.png" alt="Large Neovim logo, partly out of frame with a chalk arrow pointing to a smaller neovim logo with the word &#39;mini&#39;.">
</figure>
<header class="entry-header">
<h2>Mini Neovim
</h2>
</header>
<div class="entry-content">
<p>If Im being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovskis mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy....</p>
</div>
<footer class="entry-footer"><span title='2023-10-20 18:38:13 -0400 EDT'>October 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;602 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Mini Neovim" href="./posts/mini_neovim.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./esp_medicine_indicator.png" alt="ESP8266 Logo with a Medicine Icon, Colorized">
</figure>
@ -204,20 +218,12 @@ To give clear instructions to help users migrate from using Nginx Proxy Manager
<footer class="entry-footer"><span title='2023-08-05 15:23:51 -0500 -0500'>August 5, 2023</span>&nbsp;·&nbsp;8 min&nbsp;·&nbsp;1635 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Tutorial: Move from NginxProxyManager to Nginx" href="./posts/npm_to_nginx_tutorial.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./merged-pr-accepted.png" alt="Git Pull Request with an arrow pointing to a check mark">
</figure>
<header class="entry-header">
<h2>My First Merged PR!
</h2>
</header>
<div class="entry-content">
<p>Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests from contributors on a regular basis. However, while Ive contributed to documentation and/or tutorials and other non-coding portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, found a bug, created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request....</p>
</div>
<footer class="entry-footer"><span title='2022-09-01 13:25:02 -0400 EDT'>September 1, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;328 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to My First Merged PR!" href="./posts/whiptail-first-merged-pr.html"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="next" href="./posts/page/2.html">Next&nbsp;&nbsp;»
</a>
</nav>
</footer>
</main>
<footer class="footer">

View File

@ -6,7 +6,16 @@
<description>Recent content in Posts on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Fri, 20 Oct 2023 18:38:13 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Mini Neovim</title>
<link>/posts/mini_neovim.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/posts/mini_neovim.html</guid>
<description>Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.</description>
</item>
<item>
<title>ESP8266 Medicine Indicator Light</title>
<link>/posts/medicine_indicator_light.html</link>

View File

@ -483,6 +483,11 @@ img {
<li><a href="../tags/esp.html">esp</a></li>
</ul>
<nav class="paginav">
<a class="prev" href="../posts/mini_neovim.html">
<span class="title">« Prev</span>
<br>
<span>Mini Neovim</span>
</a>
<a class="next" href="../posts/birdnet_homeassistant_part2.html">
<span class="title">Next »</span>
<br>

View File

@ -0,0 +1,467 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script defer data-domain="selfhosted.rsmsn.co" src="https://analytics.rsmsn.co/js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Mini Neovim | Norm-working Packets 💾</title>
<meta name="keywords" content="neovim, tools">
<meta name="description" content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.">
<meta name="author" content="Me">
<link rel="canonical" href="../posts/mini_neovim.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<script defer crossorigin="anonymous" src="../assets/js/highlight.f413e19d0714851f6474e7ee9632408e58ac146fbdbe62747134bea2fa3415e0.js" integrity="sha256-9BPhnQcUhR9kdOfuljJAjlisFG&#43;9vmJ0cTS&#43;ovo0FeA="
onload="hljs.initHighlightingOnLoad();"></script>
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="Mini Neovim" />
<meta property="og:description" content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/posts/mini_neovim.html" />
<meta property="og:image" content="/neovim-to-neovim-mini.png" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2023-10-20T18:38:13-04:00" />
<meta property="article:modified_time" content="2023-10-20T18:38:13-04:00" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="/neovim-to-neovim-mini.png" />
<meta name="twitter:title" content="Mini Neovim"/>
<meta name="twitter:description" content="Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments."/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "Mini Neovim",
"item": "/posts/mini_neovim.html"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Mini Neovim",
"name": "Mini Neovim",
"description": "Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.",
"keywords": [
"neovim", "tools"
],
"articleBody": "If Im being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovskis mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy. In addition, I have since expanded my main config with more applicable plugins and key maps and the Packer config was in a single neovim repo, as opposed to my more recently implemented dotfiles setup.\nRight now, I am using a whopping 77 plugins. Thats mostly because Im not great at cleaning out old plugins I dont use as much anymore. Since I am client facing, a lot of them are around making my Markdown notes easier to manage, and Python plugins to help with scripting and file management in the terminal. This poll shows 10-25 plugins being the most common amount.\nHow many plugins in your config. List your favorites!\nbyu/Bamseg inneovim Once I got my dotfiles to my server environment, I got to work and got rid of all the superfluous plugins like additional color schemes, todo-trouble, or others that I considered nice-to-have. After all, across all my VMs Im mostly editing yaml, json, and python scripts and Im not in there for a very long time. If I was a real pro, I would just use out-of-the-box Vim, but I really like the speed some key maps and plugins have given me.\nYou can check out my git branch here. If you decide to clone it, make sure you symlink .config folder from a ~/.dotfiles/ directory to ~/.config/. Ive been using stow, but any symlink tool will work.\nIf you have a neovim config that youd like to “minimize”, see some steps below. For any dotfile config - Neovim, tmux, zsh - I like to make these changes in a clean environment. I want to replicate as closely as possible what a fresh install and setup would be like. Heres how I do it: Any curly brackets in the instructions below denote a word where you can insert whatever youd like. But, most likely you want to use the curly brackets in the final string that you use.\nNavigate to the machine/vm/server that you want to work on. For me, this VM doesnt have Neovim installed yet. Install Neovim Clone your main repository to either your .config or your .dotfiles directory. And run a few commands: git branch {branch-name} git checkout {branch-name} Youll now be in your branch, but everything will look the same. Start removing directories or files you dont need. Navigate to your plugins folder or init.lua that lists all your plugins and start hacking and slashing. Once youve saved all those files and you can open and close neovim without any plugin errors, youre ready to go. Navigate back to the root git directory and run a few more commands: git add . git commit -m {Insert a detailed commit message of what you changed and updated.} git push {remote-name} {branch-name} And thats it! Go check your Github/Gitlab and check your branches and commits. You should see everything there! Congrats. For that last command, you can always check what your remote repos push name is by running git remote -v. Most often, the name will be something like origin or main. If you saw my post on having multiple remote repos, you may something like “all”. Just make sure to check before pushing!\n",
"wordCount" : "602",
"inLanguage": "en",
"image":"/neovim-to-neovim-mini.png","datePublished": "2023-10-20T18:38:13-04:00",
"dateModified": "2023-10-20T18:38:13-04:00",
"author":{
"@type": "Person",
"name": "Me"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "/posts/mini_neovim.html"
},
"publisher": {
"@type": "Organization",
"name": "Norm-working Packets 💾",
"logo": {
"@type": "ImageObject",
"url": "/favicon.ico"
}
}
}
</script>
</head>
<body class=" dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<article class="post-single">
<header class="post-header">
<div class="breadcrumbs"><a href="../">Home</a></div>
<h1 class="post-title">
Mini Neovim
</h1>
<div class="post-description">
Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.
</div>
<div class="post-meta"><span title='2023-10-20 18:38:13 -0400 EDT'>October 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;602 words&nbsp;·&nbsp;Me
</div>
</header>
<div class="post-content"><p>If I&rsquo;m being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be
able to get rid of <em>way</em> more plugins! Inspired by <a href="https://www.reddit.com/r/neovim/comments/179zawc/my_new_config_based_entirely_on_mininvim/">this Reddit
post</a> that setup a Neovim config
using only <a href="https://github.com/echasnovski">echasnovski&rsquo;s</a> <a href="https://github.com/echasnovski/mini.nvim">mini</a> library, I was
reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine
has upgraded to Lazy. In addition, I have since expanded my main config with more applicable plugins and key maps and the
Packer config was in a single neovim repo, as opposed to my more recently implemented <a href="https://github.com/Normanras/dotfiles">dotfiles</a> setup.</p>
<p>Right now, I am using a whopping 77 plugins. That&rsquo;s mostly because I&rsquo;m not great at cleaning out old plugins I don&rsquo;t use as
much anymore. Since I am client facing, a lot of them are around making my Markdown notes easier to manage, and Python plugins
to help with scripting and file management in the terminal. This poll shows 10-25 plugins being the most common amount.</p>
<blockquote class="reddit-embed-bq" style="height:240px" data-embed-height="240"><a href="https://www.reddit.com/r/neovim/comments/14jdkbp/how_many_plugins_in_your_config_list_your/">How many plugins in your config. List your favorites!</a><br> by<a href="https://www.reddit.com/user/Bamseg/">u/Bamseg</a> in<a href="https://www.reddit.com/r/neovim/">neovim</a></blockquote><script async="" src="https://embed.reddit.com/widgets.js" charset="UTF-8"></script>
<p></p>
<p>Once I got my dotfiles to my server environment, I got to work and got rid of all the superfluous plugins like additional
color schemes, todo-trouble, or others that I considered nice-to-have. After all, across all my VMs I&rsquo;m mostly editing yaml,
json, and python scripts and I&rsquo;m not in there for a very long time. If I was a real pro, I would just use out-of-the-box Vim,
but I really like the speed some key maps and plugins have given me.</p>
<p>You can check out my git branch <a href="https://github.com/Normanras/dotfiles/tree/neovim-only-minimal">here</a>. If you decide to clone it, make sure you symlink <code>.config</code> folder from a <code>~/.dotfiles/</code> directory to <code>~/.config/</code>. I&rsquo;ve been using
<a href="https://www.gnu.org/software/stow/manual/stow.html">stow</a>, but any symlink tool will work.</p>
<p>If you have a neovim config that you&rsquo;d like to &ldquo;minimize&rdquo;, see some steps below. For any dotfile config - Neovim, tmux, zsh -
I like to make these changes in a clean environment. I want to replicate as closely as possible what a fresh install and
setup would be like. Here&rsquo;s how I do it:
<style type="text/css">
.box-shortcode {
padding: 1.6em;
padding-top: 1.4em;
line-height: 1.4em;
margin-top: 1em;
margin-bottom: 2em;
border-radius: 4px;
color: #444;
background: #f3ebe850;
}
.box-title {
margin: -18px -18px 12px;
padding: 4px 18px;
border-radius: 4px 4px 0 0;
font-weight: 700;
color: #fff;
background: #6ab0de;
}
.box-shortcode.warning .box-title {
background: #ff6b6b;
}
.box-shortcode.warning {
background: #ff6b6b4f;
}
.box-shortcode.info .box-title {
background: #0089e488;
}
.box-shortcode.info {
background: #0089e41c;
box-shadow: 3px 3px 5px #0089e410;
}
.box-shortcode.important .box-title {
background: #f7ec2c;
}
.box-shortcode.important {
background: #f7ec2c7d;
}
.box-shortcode.tip .box-title {
background: #a3ffa34d;
}
.box-shortcode.tip {
background: #a3ffa34d;
box-shadow: 3px 3px 5px #0089e410;
}
.icon-box {
display: inline-flex;
align-self: center;
margin-right: 8px;
}
.icon-box img,
.icon-box svg {
height: 1em;
width: 1em;
fill: currentColor;
}
.icon-box img,
.icon-box.baseline svg {
top: 0.125em;
position: relative;
}
.box-shortcode p {
margin-bottom: 0.6em;
}
.box-shortcode p:first-of-type {
display: inline;
}
.box-shortcode p:nth-of-type(2) {
margin-top: 0.6em;
}
.box-shortcode p:last-child {
margin-bottom: 0;
}
</style>
<svg width="0" height="0" display="none" xmlns="http://www.w3.org/2000/svg">
<symbol id="tip-box" viewBox="0 0 512 512" preserveAspectRatio="xMidYMid meet">
<path
d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"/>
</symbol>
<symbol id="important-box" viewBox="0 0 512 512" preserveAspectRatio="xMidYMid meet">
<path
d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"/>
</symbol>
<symbol id="warning-box" viewBox="0 0 576 512" preserveAspectRatio="xMidYMid meet">
<path
d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"/>
</symbol>
<symbol id="info-box" viewBox="0 0 512 512" preserveAspectRatio="xMidYMid meet">
<path
d="M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"/>
</symbol>
</svg><div class="box box-shortcode info" >
<span class="icon-box baseline">
<svg><use href="#info-box"></use></svg>
</span>
<p>Any curly brackets in the instructions below denote a word where you can insert whatever you&rsquo;d like. But, most likely you
want to use the curly brackets in the final string that you use.</p>
</div>
</p>
<ol>
<li>Navigate to the machine/vm/server that you want to work on. For me, this VM doesn&rsquo;t have Neovim installed yet.</li>
<li><a href="https://github.com/neovim/neovim/wiki/Installing-Neovim">Install Neovim</a></li>
<li>Clone your main repository to either your <code>.config</code> or your <code>.dotfiles</code> directory. And run a few commands:</li>
</ol>
<ul>
<li><code>git branch {branch-name}</code></li>
<li><code>git checkout {branch-name}</code></li>
</ul>
<ol start="4">
<li>You&rsquo;ll now be in your branch, but everything will look the same. Start removing directories or files you don&rsquo;t need.</li>
<li>Navigate to your plugins folder or <code>init.lua</code> that lists all your plugins and start hacking and slashing.</li>
<li>Once you&rsquo;ve saved all those files and you can open and close neovim without any plugin errors, you&rsquo;re ready to go.</li>
<li>Navigate back to the root git directory and run a few more commands:</li>
</ol>
<ul>
<li><code>git add .</code></li>
<li><code>git commit -m {Insert a detailed commit message of what you changed and updated.}</code></li>
<li><code>git push {remote-name} {branch-name}</code></li>
</ul>
<ol start="8">
<li>And that&rsquo;s it! Go check your Github/Gitlab and check your branches and commits. You should see everything there! Congrats.</li>
</ol>
<p>For that last command, you can always check what your remote repo&rsquo;s push name is by running <code>git remote -v</code>. Most often, the name will be something like <code>origin</code> or <code>main</code>. If you saw <a href="../posts/multiple_git_remotes.html">my post on having multiple remote repos</a>, you may something like &ldquo;all&rdquo;. Just make sure to check before pushing!</p>
<style>
.box-shortcode {
color: #e8e8e8;
border: none;
}
.post-content img {
margin: auto
}
</div>
<footer class="post-footer">
<ul class="post-tags">
<li><a href="../tags/neovim.html">neovim</a></li>
<li><a href="../tags/tools.html">tools</a></li>
</ul>
<nav class="paginav">
<a class="next" href="../posts/medicine_indicator_light.html">
<span class="title">Next »</span>
<br>
<span>ESP8266 Medicine Indicator Light</span>
</a>
</nav>
<div class="share-buttons">
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on twitter"
href="https://twitter.com/intent/tweet/?text=Mini%20Neovim&amp;url=%2fposts%2fmini_neovim.html&amp;hashtags=neovim%2ctools">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url=%2fposts%2fmini_neovim.html&amp;title=Mini%20Neovim&amp;summary=Mini%20Neovim&amp;source=%2fposts%2fmini_neovim.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on reddit"
href="https://reddit.com/submit?url=%2fposts%2fmini_neovim.html&title=Mini%20Neovim">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on facebook"
href="https://facebook.com/sharer/sharer.php?u=%2fposts%2fmini_neovim.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on whatsapp"
href="https://api.whatsapp.com/send?text=Mini%20Neovim%20-%20%2fposts%2fmini_neovim.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on telegram"
href="https://telegram.me/share/url?text=Mini%20Neovim&amp;url=%2fposts%2fmini_neovim.html">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Mini Neovim on ycombinator"
href="https://news.ycombinator.com/submitlink?t=Mini%20Neovim&u=%2fposts%2fmini_neovim.html">
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
</svg>
</a>
</div>
</footer>
</article>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

211
public/posts/page/2.html Normal file
View File

@ -0,0 +1,211 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script defer data-domain="selfhosted.rsmsn.co" src="https://analytics.rsmsn.co/js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Posts | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="Posts - Norm-working Packets 💾">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../../posts.html">
<link crossorigin="anonymous" href="../../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../../apple-touch-icon.png">
<link rel="mask-icon" href="../../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../../posts/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="Posts" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/posts.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Posts"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "Posts",
"item": "/posts.html"
}
]
}
</script>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header"><div class="breadcrumbs"><a href="../../">Home</a></div>
<h1>
Posts
</h1>
</header>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="../../merged-pr-accepted.png" alt="Git Pull Request with an arrow pointing to a check mark">
</figure>
<header class="entry-header">
<h2>My First Merged PR!
</h2>
</header>
<div class="entry-content">
<p>Admittedly, I feel a bit like a child sharing something like this, as there are so many devs that pull and merge requests from contributors on a regular basis. However, while Ive contributed to documentation and/or tutorials and other non-coding portions of repositories, I feel a tiny bit proud that this was the first instance where I was using a library, found a bug, created an issue, cloned the repo to my local machine, found and fixed the code, and opened a pull request....</p>
</div>
<footer class="entry-footer"><span title='2022-09-01 13:25:02 -0400 EDT'>September 1, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;328 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to My First Merged PR!" href="../../posts/whiptail-first-merged-pr.html"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="prev" href="../../posts.html">
«&nbsp;Prev&nbsp;
</a>
</nav>
</footer>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

View File

@ -2,6 +2,24 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/posts/mini_neovim.html</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/tags/neovim.html</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/posts.html</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/tags.html</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/tags/tools.html</loc>
<lastmod>2023-10-20T18:38:13-04:00</lastmod>
</url><url>
<loc>/tags/diy.html</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
</url><url>
@ -10,15 +28,6 @@
</url><url>
<loc>/posts/medicine_indicator_light.html</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
</url><url>
<loc>/posts.html</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
</url><url>
<loc>/tags.html</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>
</url><url>
<loc>/tags/tutorial.html</loc>
<lastmod>2023-10-16T11:34:14-04:00</lastmod>

View File

@ -118,6 +118,9 @@ if (!doNotTrack) {
<li>
<a href="./tags/homeassistant.html">homeassistant <sup><strong><sup>2</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/neovim.html">neovim <sup><strong><sup>1</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/opensource.html">opensource <sup><strong><sup>1</sup></strong></sup> </a>
</li>
@ -127,6 +130,9 @@ if (!doNotTrack) {
<li>
<a href="./tags/selfhosted.html">selfhosted <sup><strong><sup>1</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/tools.html">tools <sup><strong><sup>1</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/tutorial.html">tutorial <sup><strong><sup>1</sup></strong></sup> </a>
</li>

View File

@ -6,7 +6,25 @@
<description>Recent content in Tags on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 16 Oct 2023 11:34:14 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Fri, 20 Oct 2023 18:38:13 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>neovim</title>
<link>/tags/neovim.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/tags/neovim.html</guid>
<description></description>
</item>
<item>
<title>tools</title>
<link>/tags/tools.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/tags/tools.html</guid>
<description></description>
</item>
<item>
<title>diy</title>
<link>/tags/diy.html</link>

189
public/tags/neovim.html Normal file
View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script defer data-domain="selfhosted.rsmsn.co" src="https://analytics.rsmsn.co/js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>neovim | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../tags/neovim.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../tags/neovim/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="neovim" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/neovim.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="neovim"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
neovim
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../neovim-to-neovim-mini.png" alt="Large Neovim logo, partly out of frame with a chalk arrow pointing to a smaller neovim logo with the word &#39;mini&#39;.">
</figure>
<header class="entry-header">
<h2>Mini Neovim
</h2>
</header>
<div class="entry-content">
<p>If Im being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovskis mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy....</p>
</div>
<footer class="entry-footer"><span title='2023-10-20 18:38:13 -0400 EDT'>October 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;602 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Mini Neovim" href="../posts/mini_neovim.html"></a>
</article>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>neovim on Norm-working Packets 💾</title>
<link>/tags/neovim.html</link>
<description>Recent content in neovim on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 20 Oct 2023 18:38:13 -0400</lastBuildDate><atom:link href="/tags/neovim/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Mini Neovim</title>
<link>/posts/mini_neovim.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/posts/mini_neovim.html</guid>
<description>Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>/tags/neovim.html</title>
<link rel="canonical" href="../../../tags/neovim.html">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=../../../tags/neovim.html">
</head>
</html>

189
public/tags/tools.html Normal file
View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script defer data-domain="selfhosted.rsmsn.co" src="https://analytics.rsmsn.co/js/script.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>tools | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../tags/tools.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../tags/tools/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="tools" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/tools.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="tools"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
tools
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../neovim-to-neovim-mini.png" alt="Large Neovim logo, partly out of frame with a chalk arrow pointing to a smaller neovim logo with the word &#39;mini&#39;.">
</figure>
<header class="entry-header">
<h2>Mini Neovim
</h2>
</header>
<div class="entry-content">
<p>If Im being honest, when I started this quick project to reduce my Neovim plugin footprint size, I thought I was going to be able to get rid of way more plugins! Inspired by this Reddit post that setup a Neovim config using only echasnovskis mini library, I was reminded that some of my remote server environments were still using Packer as their plugin manager, where my main machine has upgraded to Lazy....</p>
</div>
<footer class="entry-footer"><span title='2023-10-20 18:38:13 -0400 EDT'>October 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;602 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Mini Neovim" href="../posts/mini_neovim.html"></a>
</article>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>tools on Norm-working Packets 💾</title>
<link>/tags/tools.html</link>
<description>Recent content in tools on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 20 Oct 2023 18:38:13 -0400</lastBuildDate><atom:link href="/tags/tools/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Mini Neovim</title>
<link>/posts/mini_neovim.html</link>
<pubDate>Fri, 20 Oct 2023 18:38:13 -0400</pubDate>
<guid>/posts/mini_neovim.html</guid>
<description>Neovim is already super efficient and lightweight, but sometimes I need a barebones config for my servers and remote, miniature development environments.</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>/tags/tools.html</title>
<link rel="canonical" href="../../../tags/tools.html">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=../../../tags/tools.html">
</head>
</html>