Files
blog/public/categories/computer/index.xml
2025-10-07 17:08:57 +02:00

20 lines
6.3 KiB
XML

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Computer on acorneroftheweb</title>
<link>https://acorneroftheweb.com/categories/computer/</link>
<description>Recent content in Computer on acorneroftheweb</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Sat, 12 Jul 2025 19:56:56 +0200</lastBuildDate>
<atom:link href="https://acorneroftheweb.com/categories/computer/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>&#34;NixOS, or why I would love a new introduction&#34;</title>
<link>https://acorneroftheweb.com/post/2025/07/12/nixos-or-why-i-would-love-a-new-introduction/</link>
<pubDate>Sat, 12 Jul 2025 19:56:56 +0200</pubDate>
<guid>https://acorneroftheweb.com/post/2025/07/12/nixos-or-why-i-would-love-a-new-introduction/</guid>
<description>&#xA;&lt;p&gt;&#xA;I have been using NixOS for the last 2 years now.&#xA;I got introduced to it by friends, who had changed their entire workflow to accommodate it.&#xA;I was a bit skeptical at the beginning, tried installing the package manager to my arch install at the time, but didn&amp;#39;t fully understand how I was supposed to use it in conjunction with how I was my computer at the time.&#xA;However, in the summer of 2023, I decided to take the plunge, and go the full way, with a new install.&#xA;Having run this type of setup for two years now, I have to admit it.&#xA;NixOS makes certain aspects of using my computer easier.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;As of recent, I have had to change the laptop that I was using.&#xA;With Nix as the base, I was able to make it usable, in way faster time than I think I would have been able with an Arch installation.&#xA;There are some aspects that make it harder though, since that laptop needed to make sure it worked as intended, such as disabling TLP and patching the kernel.&#xA;It also allowed me to resume my work on my current master thesis, since I could just pull the git repo and use nix develop to get all the dependencies for that work in specifics.&lt;/p&gt;&#xA;&lt;div id=&#34;outline-container-headline-1&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-1&#34;&gt;&#xA;Configuration&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-1&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;A friend of mine recently decided to try and do the switch themselves.&#xA;He has been an avid Arch fan boy for the last 2 years, since he got mad at Fedora for bricking his install (I genuinely do not understand how that happened).&#xA;He has been a bit particular however, refusing to configure software to ensure that he is able to use them anywhere, and to not have to learn esoteric languages for just one program.&#xA;I find this very sensible, while I approach it completely differently.&#xA;I want software customized to me, for me to act as best as I can within it.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;Anyway, this has lead to some confusion about Nix, and why things are as they are.&#xA;For example, how is Git, as defined in Home-Manager, able to configure it as it does?&#xA;And that is an implementation detail, but it is quite important for a user of Nix.&#xA;Why does Nix gatekeep the most foundational aspect of using Nix according to most users behind an Experimental-feature wall?&#xA;Now, I don&amp;#39;t have the answers for these, since I am not yet a contributor to Nix, or well versed in the ecosystem, if I am being honest.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div id=&#34;outline-container-headline-2&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-2&#34;&gt;&#xA;A better introduction&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-2&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;A comment was made about the &lt;a href=&#34;https://nixos.org/manual/nixos/stable/&#34;&gt;installation guide&lt;/a&gt;, about how it is not adequate, and I wouldn&amp;#39;t know, I didn&amp;#39;t read it when I got NixOS.&#xA;Like most of Nix documentation, it is a bit overwhelming and hard to navigate.&#xA;I like &lt;a href=&#34;https://wiki.archlinux.org/title/Installation_guide&#34;&gt;Arch&amp;#39;s install guide&lt;/a&gt;, since it is easier to search, and it segments the parts into different pages.&#xA;So, if I were to change anything, I would split this up, making sure that they are condensed into small, concrete parts.&#xA;An approach of this that I like is &lt;a href=&#34;https://github.com/rust-lang/mdBook&#34;&gt;mdbook&lt;/a&gt;. One could therefore keep the more general structure of the guide, but each subsection is it&amp;#39;s own page.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;Another aspect that would change is that an introduction should try to convey one way.&#xA;NixOS tries to introduce flakes in the &lt;a href=&#34;https://nixos.org/manual/nixos/stable/#sec-installation-manual-installing&#34;&gt;Installing section&lt;/a&gt;, but never explaining what it is, or linking further.&#xA;Either you introduce a concept, link to more info, or you do not mention it.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;There are also several ways of managing the system that are not a good way of handling NixOS specifically.&#xA;Why is the &lt;a href=&#34;https://nixos.org/manual/nixos/stable/#sec-ad-hoc-packages&#34;&gt;Ad-hoc&lt;/a&gt; way of using Nix even introduced, when it goes against the ideals of having a reproducible system?&#xA;Why introduce manual user management?&#xA;Further, it talks about a lot of different programs that a user may want to install.&#xA;This does however not teach the user to actually figure out where to find options.&#xA;Why isn&amp;#39;t &lt;a href=&#34;https://search.nixos.org&#34;&gt;search.nixos.org&lt;/a&gt; introduced?&lt;/p&gt;&#xA;&lt;p&gt;&#xA;An optimal guide would introduce how to create a system, using the most commonly accepted methods, such as flakes.&#xA;You can introduce flakes as adding the ability to create a lock file like &lt;code class=&#34;verbatim&#34;&gt;package-lock.json&lt;/code&gt; from npm.&#xA;This would then go into creating a functional system, and then a show case of how you can modify it and common fixes for NVIDIA, or similar.&#xA;I am a bit tempted to try and make this, but I also wanna do some own development on packages.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;</description>
</item>
</channel>
</rss>