diff --git a/devenv.lock b/devenv.lock index 01beaf6..eb20e93 100644 --- a/devenv.lock +++ b/devenv.lock @@ -3,11 +3,11 @@ "devenv": { "locked": { "dir": "src/modules", - "lastModified": 1713968789, + "lastModified": 1714719003, "owner": "cachix", "repo": "devenv", - "rev": "b26b52a4dac68bdc305f6b9df948c97f49b2c3ee", - "treeHash": "4a034bbd3511c196f4075a1eb0da1b422d1011db", + "rev": "4d786c35280e94211b2fb7b50036cc6aeddee320", + "treeHash": "09fbabb734953977376a499dc75685d35584bef1", "type": "github" }, "original": { @@ -90,11 +90,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1713995372, + "lastModified": 1714531828, "owner": "NixOS", "repo": "nixpkgs", - "rev": "dd37924974b9202f8226ed5d74a252a9785aedf8", - "treeHash": "8114bf8e19ad8c67c0e2639b83c606c58c7bccec", + "rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1", + "treeHash": "f72314bde6c77cbdf35f68581c4758f9ff28461f", "type": "github" }, "original": { @@ -115,11 +115,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1713954846, + "lastModified": 1714478972, "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "6fb82e44254d6a0ece014ec423cb62d92435336f", - "treeHash": "a456512c8da29752b79131f1e5b45053e2394078", + "rev": "2849da033884f54822af194400f8dff435ada242", + "treeHash": "578180deb59a545b0032e9a66da4c0c043c5057d", "type": "github" }, "original": { diff --git a/src/about.md b/src/about.md index 603c174..449ce40 100644 --- a/src/about.md +++ b/src/about.md @@ -14,12 +14,22 @@ My passion is self-hosting in my home lab with these important goals: - **Expanding knowledge for my professional life**: Diving into new technologies without the risk of breaking important systems is in my opinion one of the best methods to learn. Actually, breaking things is the best way to learn! Stuff breaks (usually) because you don't fully understand it, and these failures are therefore very valuable. - **Fun**: 😀 -Infrastructure as Code (IaC) is the most important principle I adhere to when building my home lab. -With IaC, all (digital) infrastructure and systems are defined in code that can be automatically rolled out. -Ansible is probably the most used IaC tool out there, but it has a huge problem: it suffers from configuration drift. -You can create a task in Ansible to install a package, but if you remove this task, the package remains. -At this point, your configuration does not reflect reality anymore. +# How did I get here? -What is the solution to this configuration drift? Nix and NixOS! -NixOS will always make sure you machine is in the exact state you define in your configuration. -My current Linux systems now all run NixOS and I have no intention of ever going back! +I started out with an interest in programming during high school. +I was quick to realize, M$ Windows is terrible for any form of serious development and decided to dual-boot Linux for this. +Over time, I realized I was only using Windows for gaming and ditched it all together. + +In the meantime, I distrohopped quite a bit (like any starting Linux user 😀). +Some distros I tried in the past (and what I can remember): Ubuntu, Zorin OS, Kubuntu, MX Linux, Xubuntu, Debian, PopOS, Linux Mint. +I guess I was quite the Apt fan? + +In my time at university, while trying to host a personal website, I came in contact with Docker. +This started my descent in the realm of system administration, DevOps and Infrastucture as Code: I acquired a Celeton-powered [Gigabyte Brix mini PC](https://www.gigabyte.com/Mini-PcBarebone/GB-BLCE-4105-rev-10) to run Docker on. +Over time, I went from hosting just my personal website to hosting a wide arsenal of services, and added two more mini PCs to my server fleet. +This was all hosted using Docker Compose, but I found this difficult to manage over multiple hosts. +I found more flexibility in Docker Swarm, giving me poor man's clustering capabilities. +See [this post]({% post_url infrastructure-snapshot/2023-08-13-infrastructure-snapshot %}) where I made a detailed write-up of the state of my home lab back then. + +And where am I now? +You'll have to take a look over at the [/now](/now) page and my other posts! diff --git a/src/ideas.md b/src/ideas.md index 52b76a5..7becce6 100644 --- a/src/ideas.md +++ b/src/ideas.md @@ -6,4 +6,18 @@ excerpt: Plans for the future comments: false --- -🏗 Under construction 🏗 +**Infrastructure as Code (IaC)** is the most important principle I adhere to when building my home lab. +With IaC, all (digital) infrastructure and systems are defined in code that can be automatically rolled out. +Ansible is probably the most used IaC tool out there, but it has a huge problem: it suffers from configuration drift. +You can create a task in Ansible to install a package, but if you remove this task, the package remains. +At this point, your configuration does not reflect reality anymore. + +What is the solution to this configuration drift? Nix and NixOS! +NixOS will always make sure you machine is in the exact state you define in your configuration. +My current Linux systems now all run NixOS and I have no intention of ever going back! + +And obviously, I won't be able to make a home lab without **open source software**. +While I'm very appreciative of the goals of Free and Open Source Software (FOSS), it's unfortunately not realistic to make a home lab solely with FOSS. +I do try to draw a line at "corporate" open source software. +This is a very blurry line, but I feel Jeff Geerling explains this well in [this video](https://www.youtube.com/watch?v=hNcBk6cwim8). +I was betrayed by Hashicorp's open source offering, and I'm very hesitant in adopting for example Tailscale as a result. diff --git a/src/now.md b/src/now.md index 182348e..f0e58dd 100644 --- a/src/now.md +++ b/src/now.md @@ -1,9 +1,12 @@ --- -title: Now +title: What I'm currenly doing permalink: /now/ layout: page excerpt: Things I am working on now comments: false --- -🏗 Under construction 🏗 +*Last updated: 2024-05-11* + +- I'm **hacking** on my [k3s](https://k3s.io/) cluster using [❄️ NixOS ❄️](https://nixos.org/) and [Kubenix](https://kubenix.org/) +- I'm **playing** [🧩 The Talos Principle 2 🤖](https://store.steampowered.com/app/835960/The_Talos_Principle_2/)