aboutsummaryrefslogtreecommitdiff
path: root/public/post/nixos-p1
diff options
context:
space:
mode:
Diffstat (limited to 'public/post/nixos-p1')
-rw-r--r--public/post/nixos-p1/boot.pngbin12893 -> 0 bytes
-rw-r--r--public/post/nixos-p1/dwl.pngbin3082421 -> 0 bytes
-rw-r--r--public/post/nixos-p1/fox.jpgbin30886 -> 0 bytes
-rw-r--r--public/post/nixos-p1/index.html434
-rw-r--r--public/post/nixos-p1/rice.pngbin1670023 -> 0 bytes
5 files changed, 0 insertions, 434 deletions
diff --git a/public/post/nixos-p1/boot.png b/public/post/nixos-p1/boot.png
deleted file mode 100644
index 4e3d972..0000000
--- a/public/post/nixos-p1/boot.png
+++ /dev/null
Binary files differ
diff --git a/public/post/nixos-p1/dwl.png b/public/post/nixos-p1/dwl.png
deleted file mode 100644
index 8ecbe4d..0000000
--- a/public/post/nixos-p1/dwl.png
+++ /dev/null
Binary files differ
diff --git a/public/post/nixos-p1/fox.jpg b/public/post/nixos-p1/fox.jpg
deleted file mode 100644
index 3ace57f..0000000
--- a/public/post/nixos-p1/fox.jpg
+++ /dev/null
Binary files differ
diff --git a/public/post/nixos-p1/index.html b/public/post/nixos-p1/index.html
deleted file mode 100644
index 54c7ccb..0000000
--- a/public/post/nixos-p1/index.html
+++ /dev/null
@@ -1,434 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
- <head><title>Adventures in NixOS - Part 1 &ndash; Kumar Damani - Home</title>
-<meta name="description" content="Git, email, and resume">
-
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta charset="UTF-8"/>
-
-
-
-
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" integrity="sha512-1sCRPdkRXhBV2PBLUdRb4tMg1w2YPf37qatUFeS7zlBy7jJI8Lf4VHwWfZZfpXtYSLy85pkm9GaYVYMfw5BC1A==" crossorigin="anonymous" />
-
-
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/academicons/1.9.1/css/academicons.min.css" integrity="sha512-b1ASx0WHgVFL5ZQhTgiPWX+68KjS38Jk87jg7pe+qC7q9YkEtFq0z7xCglv7qGIs/68d3mAp+StfC8WKC5SSAg==" crossorigin="anonymous" />
-
-
-<link rel="stylesheet" href="https://kumardamani.net/css/palettes/tokyo-night-dark.css">
-<link rel="stylesheet" href="https://kumardamani.net/css/risotto.css">
-<link rel="stylesheet" href="https://kumardamani.net/css/custom.css">
-</head>
-
- <body>
- <div class="page">
-
- <header class="page__header"><nav class="page__nav main-nav">
- <ul>
- <h1 class="page__logo"><a href="https://kumardamani.net/" class="page__logo-inner">Kumar Damani - Home</a></h1>
-
-
- <li class="main-nav__item"><a class="nav-main-item active" href="https://kumardamani.net/post/" title="Posts">Posts</a></li>
-
- </ul>
-</nav>
-
-</header>
-
- <section class="page__body">
- <header class="content__header">
- <h1>Adventures in NixOS - Part 1</h1>
- </header>
-
- <div class="content__body">
- <p>Almost a guide to getting started with NixOS the modern (2023) way.</p>
-<p>There seems to be a shortage of written guides on the Internet for setting up NixOS
-the &ldquo;modern&rdquo; way - Flakes + Home Manager. It doesn&rsquo;t help that Nix&rsquo;s official
-docs are very disjointed so hopefully this will fill in some gaps that I observed
-when setting it all up.</p>
-<p><img src="fox.jpg" alt="meme"></p>
-<blockquote>
-<p>Warning: NixOS is not exactly beginner friendly -
-you should have familiarity installing Linux distros before trying this.</p>
-</blockquote>
-<h2 id="but-why-nixos">But Why NixOS?</h2>
-<p>Eh&hellip; FOMO regarding all the <a href="https://www.google.com/search?q=nixos+memes&amp;tbm=isch">memes</a>.</p>
-<p>There is one particular feature that is intriguing -
-the ability to roll-back your entire system (not incl. BIOS) in case of a
-misconfiguration or a broken update. <strong>You can&rsquo;t do this with Ansible.</strong>
-This allows you (in theory) to get the benefits of a rolling release as well as the
-stability benefits of a traditional distro.</p>
-<blockquote>
-<p>It takes the idea of reproducible builds, and extends it to the OS.</p>
-</blockquote>
-<p>For example, NixOS will present you with all previous &ldquo;builds&rdquo; at boot time
-for you to revert to in case something gets messed up.
-<img src="boot.png" alt="boot prompt"></p>
-<h2 id="things-i-want-to-explore-as-part-of-this-exercise">Things I want to explore as part of this exercise:</h2>
-<ol>
-<li>How hard is it to go from a minimal install to productive?
-At minimum I need a graphical environment with working vol, mic, camera, wifi,
-and hibernation.
-Is it harder than doing the same in something like Manjaro?</li>
-<li>Is Wayland truly ready?</li>
-<li>Try out <a href="https://github.com/djpohly/dwl"><code>dwl</code></a> (the Wayland port of <code>dwm</code> by the <a href="https://suckless.org">suckless</a> folks)</li>
-</ol>
-<h2 id="constraints">Constraints</h2>
-<ol>
-<li>I want to stick to the &ldquo;Nix&rdquo; way of doing things as much as possible
-<em>where it makes sense to me</em>.</li>
-<li>Stick to Wayland only applications as much as possible.</li>
-</ol>
-<h2 id="spoilers-end-result">Spoilers! (End result)</h2>
-<p><img src="rice.png" alt="my rice">
-(Probably too ugly for r/unixporn, but works for me :)</p>
-<h2 id="installation">Installation</h2>
-<h3 id="getting-a-live-usb-going">Getting a Live USB going</h3>
-<ul>
-<li>I used the <a href="https://nixos.org/download.html#nixos-iso">minimal iso</a>.</li>
-<li>Create a bootable USB with the usual - <code>sudo dd if=/path/to/iso of=/dev/sdX bs=4M</code>.</li>
-<li>Boot up.</li>
-<li>Then start following the steps for <a href="https://nixos.org/manual/nixos/stable/index.html#sec-installation-manual">manual installation</a>
-from the official guide to complete the install.</li>
-</ul>
-<blockquote>
-<p>Make sure to give SWAP as much space as your memory capacity for hibernation to work properly.</p>
-</blockquote>
-<blockquote>
-<p>Wifi did not work for me out of the box. So I used my phone to tether via USB.</p>
-</blockquote>
-<h2 id="first-boot">First boot</h2>
-<p>If everything went well, you should be presented with a TTY prompting you to login:</p>
-<pre tabindex="0"><code>NixOS ...
-Login: &lt;your username&gt;
-Password: &lt;your password&gt;
-</code></pre><p>Once you login, you will still just have a TTY, but we can now go ahead and start
-installing our graphical environment.</p>
-<h2 id="housekeeping">Housekeeping</h2>
-<ul>
-<li>You should have two NixOS config files in <code>/etc/nixos/</code>:</li>
-</ul>
-<pre tabindex="0"><code>configuration.nix
-hardware-configuration.nix
-</code></pre><ul>
-<li>
-<p>Edit the <code>configuration.nix</code> file by setting the correct values for hostname, networking, timezone and users. I also add a few basic system-wide packages here such as <code>git, rsync, neovim, htop</code> etc.</p>
-</li>
-<li>
-<p>To <em>apply and use</em> your changes to any of these files you need to run:</p>
-</li>
-</ul>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo nixos-rebuild switch
-</span></span></code></pre></div><ul>
-<li>Since we want all our configuration to be version controlled,
-I copied these files to live under my user&rsquo;s config:
-<code>~/.config/{nix, nixpkgs}/</code>:</li>
-</ul>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cp /etc/nix/nix.conf ~/.config/nix/nix.conf
-</span></span><span style="display:flex;"><span>cp /etc/nixos/configuration.nix ~/.config/nixpkgs/configuration.nix
-</span></span></code></pre></div><p>Nix will now use these user-specific files to read its config :)</p>
-<h3 id="flakes-support">Flakes Support</h3>
-<p>Nix (the pkg mgr) does not come with Flakes support out-of-the-box.
-So we need to enable it:</p>
-<ol>
-<li>In <code>~/.config/nix/nix.conf</code> add:</li>
-</ol>
-<pre tabindex="0"><code>experimental-features = nix-command flakes
-</code></pre><ol start="2">
-<li>Apply it:</li>
-</ol>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo nixos-rebuild switch
-</span></span></code></pre></div><p>Read about <a href="https://nixos.wiki/wiki/Flakes">Flakes</a>.</p>
-<h3 id="home-manager-support">Home Manager Support</h3>
-<p>Now we can install the Home-Manager flake.</p>
-<ol>
-<li>Init our base flake:</li>
-</ol>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cd ~/.config/nixpkgs
-</span></span><span style="display:flex;"><span>nix flake init
-</span></span></code></pre></div><p>This should generate two files:</p>
-<pre tabindex="0"><code>flake.nix
-flake.lock
-</code></pre><ol start="2">
-<li>Next we tell <code>flake.nix</code> to manage all our configuration (system + home) for our system:</li>
-</ol>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nix" data-lang="nix"><span style="display:flex;"><span>{
-</span></span><span style="display:flex;"><span> description <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;NixOS configuration&#34;</span>;
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span> inputs <span style="color:#f92672">=</span> {
-</span></span><span style="display:flex;"><span> nixpkgs<span style="color:#f92672">.</span>url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;github:nixos/nixpkgs/nixos-unstable&#34;</span>;
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;github:nix-community/home-manager&#34;</span>;
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>inputs<span style="color:#f92672">.</span>nixpkgs<span style="color:#f92672">.</span>follows <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;nixpkgs&#34;</span>;
-</span></span><span style="display:flex;"><span> nixos-hardware<span style="color:#f92672">.</span>url <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;github:NixOS/nixos-hardware/master&#34;</span>;
-</span></span><span style="display:flex;"><span> };
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span> outputs <span style="color:#f92672">=</span> inputs<span style="color:#f92672">@</span>{ nixpkgs<span style="color:#f92672">,</span> home-manager<span style="color:#f92672">,</span> nixos-hardware<span style="color:#f92672">,</span> <span style="color:#f92672">...</span> }: {
-</span></span><span style="display:flex;"><span> nixosConfigurations <span style="color:#f92672">=</span> {
-</span></span><span style="display:flex;"><span> <span style="color:#75715e"># Change below to use your hostname from configuration.nix</span>
-</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;art-sr&#34;</span> <span style="color:#f92672">=</span> nixpkgs<span style="color:#f92672">.</span>lib<span style="color:#f92672">.</span>nixosSystem {
-</span></span><span style="display:flex;"><span> system <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;x86_64-linux&#34;</span>;
-</span></span><span style="display:flex;"><span> modules <span style="color:#f92672">=</span> [
-</span></span><span style="display:flex;"><span> <span style="color:#e6db74">./configuration.nix</span>
-</span></span><span style="display:flex;"><span> nixos-hardware<span style="color:#f92672">.</span>nixosModules<span style="color:#f92672">.</span>framework
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>nixosModules<span style="color:#f92672">.</span>home-manager
-</span></span><span style="display:flex;"><span> {
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>useGlobalPkgs <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>useUserPackages <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
-</span></span><span style="display:flex;"><span> <span style="color:#75715e"># Change below to use your username from configuration.nix</span>
-</span></span><span style="display:flex;"><span> home-manager<span style="color:#f92672">.</span>users<span style="color:#f92672">.</span>kdam0 <span style="color:#f92672">=</span> <span style="color:#f92672">import</span> <span style="color:#e6db74">./home.nix</span>;
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span> <span style="color:#75715e"># Optionally, use home-manager.extraSpecialArgs to pass</span>
-</span></span><span style="display:flex;"><span> <span style="color:#75715e"># arguments to home.nix</span>
-</span></span><span style="display:flex;"><span> }
-</span></span><span style="display:flex;"><span> ];
-</span></span><span style="display:flex;"><span> };
-</span></span><span style="display:flex;"><span> };
-</span></span><span style="display:flex;"><span> };
-</span></span><span style="display:flex;"><span>}
-</span></span></code></pre></div><blockquote>
-<p>&ldquo;art-sr&rdquo; is my hostname for this machine.</p>
-</blockquote>
-<p>In my case, I also have the following two lines specifically to load settings for my hardware:</p>
-<pre tabindex="0"><code> nixos-hardware.url = &#34;github:NixOS/nixos-hardware/master&#34;;
- ...
- nixos-hardware.nixosModules.framework
-</code></pre><p>you will need to modify these values based on your <a href="https://github.com/NixOS/nixos-hardware">hardware support</a>.</p>
-<ol start="3">
-<li>Create a <code>~/.config/nixpkgs/home.nix</code> file with your values:</li>
-</ol>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nix" data-lang="nix"><span style="display:flex;"><span>{ config<span style="color:#f92672">,</span> pkgs<span style="color:#f92672">,</span> <span style="color:#f92672">...</span>}:
-</span></span><span style="display:flex;"><span>{
-</span></span><span style="display:flex;"><span> home<span style="color:#f92672">.</span>username <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;kdam0&#34;</span>;
-</span></span><span style="display:flex;"><span> home<span style="color:#f92672">.</span>homeDirectory <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;/home/kdam0&#34;</span>;
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span> programs<span style="color:#f92672">.</span>home-manager<span style="color:#f92672">.</span>enable <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
-</span></span><span style="display:flex;"><span> home<span style="color:#f92672">.</span>stateVersion <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;22.11&#34;</span>;
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span> services<span style="color:#f92672">.</span>gpg-agent <span style="color:#f92672">=</span> {
-</span></span><span style="display:flex;"><span> enable <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
-</span></span><span style="display:flex;"><span> defaultCacheTtl <span style="color:#f92672">=</span> <span style="color:#ae81ff">1800</span>;
-</span></span><span style="display:flex;"><span> enableSshSupport <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
-</span></span><span style="display:flex;"><span> };
-</span></span><span style="display:flex;"><span>}
-</span></span></code></pre></div><ol start="4">
-<li>Apply:</li>
-</ol>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo nixos-rebuild switch
-</span></span></code></pre></div><blockquote>
-<p>It took a few attempts to get NixOS to re-build successfully.
-I ran into a few different issues involving users, and hostnames
-while following the official docs until I arrived at the configs above which worked.</p>
-</blockquote>
-<p>Read about <a href="https://nix-community.github.io/home-manager/index.html#ch-nix-flakes">Home Manager flake</a>.</p>
-<p><strong>This would be a good time init a git repo in <code>~/.config/nixpkgs/</code> and publish your progress.</strong></p>
-<h2 id="setting-up-the-gui">Setting up the GUI</h2>
-<h3 id="window-manager--bar--system-info">Window Manager + bar + system info.</h3>
-<p>Getting <code>dwl</code> is easy enough. In my <code>home.nix</code>:</p>
-<pre tabindex="0"><code> home.packages = [
- pkgs.dwl
- ...
- ];
-</code></pre><p>This will install <code>dwl</code> on a rebuild.
-Then I can run it with <code>dwl</code>.</p>
-<p>Oh it fails&hellip;something about permissions&hellip;
-In <code>~/.config/nixpkgs/configuration.nix</code> make sure you have:</p>
-<pre tabindex="0"><code> security.polkit.enable = true;
-</code></pre><p>Oh it fails again with GLE errors :( Add:</p>
-<pre tabindex="0"><code> hardware.opengl = {
- enable = true;
- driSupport = true;
- };
-</code></pre><p><strong>Sweet now it launches!</strong></p>
-<p>But of course I need to configure the keys - that&rsquo;s the whole point of a WM.
-Additionally, <code>dwl</code> requires a re-build on every config change&hellip;</p>
-<p><strong>How do I tell Nix to use my config file while installing/building <code>dwl</code>?</strong></p>
-<p>Lucking all packages (<code>pkgs.*</code>) build files are defined on their GitHub.
-We can see that we are allowed to pass in a <code>conf</code> argument to
-<a href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/window-managers/dwl/default.nix">this</a>
-file.</p>
-<p>After a bit of digging around, I arrived at how to do it:</p>
-<ol>
-<li>First copy your <code>config.h</code> to <code>~/.config/nixpkgs/dwl/config.h</code>.</li>
-<li>Then point to it in your <code>home.nix</code>:</li>
-</ol>
-<pre tabindex="0"><code> home.packages = [
- (pkgs.dwl.override {
- # trying to supply config.home.homeDirectory here leads to &#34;impure&#34; usage.
- # so disabling it for now.
- # conf = (builtins.readFile &#34;${config.home.homeDirectory}/.config/dwl/config.h&#34;);
- conf = ./dwl/config.h;
- })
- ...
- ];
-</code></pre><blockquote>
-<p>I know I can just clone the source myself and build it, but I like to use the default
-package manager whenever possible to manage packages.</p>
-</blockquote>
-<p>Of course since <code>dwl</code> is as minimal as it gets, it does not ship with a bar.
-We have many options for which bar to use,
-I have very little use for a bar, so I kept it very simple and went with <code>somebar</code>:</p>
-<pre tabindex="0"><code> home.packages = [
- ...
- pkgs.somebar
- ...
- ];
-</code></pre><p>If you want status info on your bar you can use something like <code>someblocks</code> - which will
-let you script simple scripts with text output you want displayed in each block.
-This will need to be cloned and built manually as it is not available in the Nix repos.</p>
-<p>Oh but you probably don&rsquo;t have <code>make</code> or any requirements to actually build it&hellip;fear not:</p>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nix-shell -p gnumake
-</span></span></code></pre></div><p>which put you in a temporary environment with all the common build tools available.
-Now you can:</p>
-<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo make install
-</span></span></code></pre></div><p><code>wbg</code> is a simple background setter for Wayland&hellip;&hellip;aaaand BAM!</p>
-<p><img src="dwl.png" alt="dwl pic"></p>
-<h3 id="terminal">Terminal</h3>
-<p>I use <a href="https://codeberg.org/dnkl/foot"><code>foot</code></a>.</p>
-<p>Create the config file in <code>~/.config/nixpkgs/foot/foot.ini</code>:</p>
-<pre tabindex="0"><code># for transparency #
-[colors]
-alpha=0.7
-</code></pre><p>Use it in <code>home.nix</code>:</p>
-<pre tabindex="0"><code> home.file.&#34;.config/foot/foot.ini&#34;.source = ../../common/foot/foot.ini;
-</code></pre><blockquote>
-<p>I use this pattern for pretty much all my <em>dotfiles</em>:</p>
-</blockquote>
-<pre tabindex="0"><code> # script that sets a bg.
- home.file.&#34;bg.sh&#34;.source = common/bg.sh;
- # script that starts my gui env.
- home.file.&#34;start.sh&#34;.source = common/start.sh;
- # foot config
- home.file.&#34;.config/foot/foot.ini&#34;.source = common/foot/foot.ini;
- # wofi config (app launcher)
- home.file.&#34;.config/wofi/style.css&#34;.source = common/wofi/style.css;
- # mako config (notifications)
- home.file.&#34;.config/mako/config&#34;.source = common/mako/config;
-</code></pre><h3 id="sound">Sound</h3>
-<p>In my <code>configuration.nix</code>:</p>
-<pre tabindex="0"><code> security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- wireplumber.enable = true;
- media-session.enable = false;
- jack.enable = true;
- systemWide = false;
- };
-</code></pre><h3 id="nextcloud">Nextcloud</h3>
-<p>I want a purely CLI way to handle this, and a periodic sync is sufficient for me.
-We do this with <code>systemd-timers</code> (Nix advises against <code>cron</code>).
-In my <code>home.nix</code>:</p>
-<pre tabindex="0"><code> systemd.user.services = {
- nextcloud-sync = {
- Unit = {
- Description = &#34;Auto sync Nextcloud&#34;;
- After = &#34;network-online.target&#34;;
- };
- Service = {
- Type = &#34;simple&#34;;
- EnvironmentFile = &#34;${config.home.homeDirectory}/.nextcloud.env&#34;;
- ExecStart = &#39;&#39;
- ${pkgs.nextcloud-client}/bin/nextcloudcmd \
- -h --non-interactive \
- --user &#34;&#39;&#39;${NEXTCLOUD_USER}&#34; \
- --password &#34;&#39;&#39;${NEXTCLOUD_PASSWORD}&#34; \
- &#39;&#39;${NEXTCLOUD_DIR} \
- &#39;&#39;${NEXTCLOUD_URL}
- &#39;&#39;;
- TimeoutStopSec = &#34;180&#34;;
- KillMode = &#34;process&#34;;
- KillSignal = &#34;SIGINT&#34;;
- };
- Install.WantedBy = [&#34;multi-user.target&#34;];
- };
- };
- systemd.user.timers = {
- nextcloud-sync = {
- Unit.Description = &#34;Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 10 minutes&#34;;
- Timer.OnUnitActiveSec = &#34;10min&#34;;
- Install.WantedBy = [&#34;multi-user.target&#34; &#34;timers.target&#34;];
- };
- };
- systemd.user.startServices = true;
-</code></pre><h2 id="conclusions">Conclusions</h2>
-<ol>
-<li>Yes setting things up from a minimal iso is harder than in Manjaro.
-Although I got everything I wanted working, there were many times I felt
-like giving up. (Aside: I am <em>so grateful</em> for Manjaro, and Arch wikis).
-That said, I expect this friction is a one-time cost for building familiarity with Nix,
-and well worth the benefits that come with it.</li>
-<li>You bet Wayland is ready. Multi-monitor works out-of-the-box,
-all my apps support it, and things just <em>feel</em> more polished than I have ever felt with Xorg.</li>
-<li><code>dwl</code> is as awesome as I had hoped! This is my daily driver now.</li>
-</ol>
-<h2 id="my-configs">My configs</h2>
-<p>All the configs discussed (and more) are in my <a href="https://gitlab.com/kdam0/dotfiles-nix">nixdotfiles repo</a>.</p>
- </div>
- <footer class="content__footer"></footer>
-
- </section>
-
- <section class="page__aside">
- <div class="aside__about">
-<div class="aside__about">
- <img class="about__logo" src="https://kumardamani.net/images/rice.svg" alt="Logo">
-<h1 class="about__title">Links</h1>
-<p class="about__description">Git, email, and resume</p>
-</div>
-
-
-<ul class="aside__social-links">
-
- <li>
- <a href="https://gitlab.com/kdam0/" rel="me" aria-label="GitLab" title="GitLab"><i class="fa-brands fa-gitlab" aria-hidden="true"></i></a>&nbsp;
- </li>
-
- <li>
- <a href="mailto:me@kumardamani.net" rel="me" aria-label="Email" title="Email"><i class="fa-solid fa-envelope" aria-hidden="true"></i></a>&nbsp;
- </li>
-
- <li>
- <a href="/KumarDamaniCV.pdf" rel="me" aria-label="Resume" title="Resume"><i class="fa-solid fa-file" aria-hidden="true"></i></a>&nbsp;
- </li>
-
-</ul>
-</div>
- <hr>
- <div class="aside__content">
- <p>Guide to getting started with NixOS the modern way.</p>
-
- <p>
- By Kumar Damani,
- 2023-03-24
- </p>
-
-
-
-
- </div>
- </section>
-
- <footer class="page__footer"><p>
-
-
-
-
-
-
-
-
-
-
-</p>
-<br /><br />
-<p class="copyright"></p>
-<p class="advertisement">Powered by <a href="https://gohugo.io/">hugo</a> and <a href="https://github.com/joeroe/risotto">risotto</a>.</p>
-</footer>
-
- </div>
- </body>
-
-</html>
diff --git a/public/post/nixos-p1/rice.png b/public/post/nixos-p1/rice.png
deleted file mode 100644
index 4fd97cf..0000000
--- a/public/post/nixos-p1/rice.png
+++ /dev/null
Binary files differ