~elis/blog/

NixOS ❄: tmpfs as root

This post covers both EFI and legacy boot setups. One fairly unique property of NixOS is the ability to boot with only /boot and /nix. Nothing else is actually required. This supports doing all sorts of weird things with your root file system. One way is to do like Graham’s post “erase your darlings” describes and empty your root file system each boot using ZFS snapshots. This way have some cool things that you could do on top of his setup, such as doing snapshots when it’s running and roll-back to empty on boot.

Read On →

PHP packaging in NixOS ❄

This is a sneak peak into the future 20.09 release of NixOS. The PHP packaging ecosystem in NixOS has been in a quite sad state for a long time. Partly because of the lack of people caring about PHP in Nix, but also that PHP is a bit weird when it comes to packaging. State of PHP before NixOS 20.09 Due to the lack of ability to do clever things like the python community does with =withPackages= to compose a package with the dependencies you need we have defaulted to provide a huge default package to accommodate all needs.

Read On →

Double stitched Penguin Beanie

This is a quite unusual post for this blog, it’s not what I’ve expected to put on here. But I wanted to share it somewhere more permanent than many other places where I hang out on the internet. So here it goes. I’ve been knitting for a bunch of years now, and some years ago I was intrigued by a knitting method that is called double knitting. In theory it’s fairly simple because you basically make two knitting’s at the same time in parallel and mirror the pattern.

Read On →

Encrypted ZFS mirror with mirrored boot on NixOS

So for a long time I have wanted to replace my file server, because it’s an old HP Microserver that is really slow. And at the same time I have had this beast of a desktop tower PC that I haven’t used with a Xeon and 32GiB ECC memory that has just been turned off due to noise. The obvious solution is to re-purpose that install and move it to a location where noise doesn’t matter, e.

Read On →

Hello World!

Hello world! This is a test blog post. This is an external link example.org. Internal link start page. This is a block quote element. This is an inline code block. Test of syntax highlighting elisp ;; Define the hello function (defun hello () "This is my docstring" (message "world")) ;; Call the hello function (hello) Nix { # Define the hello function hello = {}: "world"; # More tests boolean = true; fileimport = import .

Read On →