Introduction The folks at Garnix have done it again! You can now deploy a NixOS server in minutes, just by defining your system on a flake.nix and git push‘ing your... Read more »
Introduction Flake schemas were introduced by Determinate Systems (written by Eelco Dolstra — creator of Nix) about half a year ago now (August 2023), which is quite a promising feature,... Read more »
Introduction I blogged about Garnix before, and it’s the solution I’ve been using ever since for continuous integration. However, one thing I was missing was that private flakes were unsupported,... Read more »
Introduction Quoting the official documentation: Nix supports remote builds, where a local Nix installation can forward Nix builds to other machines. This allows multiple builds to be performed in parallel... Read more »
Introduction Garnix is a continuous integration (CI) service for Nix flakes that has been in Beta for a while. In their own words: With Nix-specific optimizations, Garnix makes CI with... Read more »
Introduction It is no secret that Neovim is my favorite text editor. I use it on a daily basis for multiple purposes: To write Scala code (and the occasional Typescript)... Read more »
If you have read this post when it first came out and felt offended by its catchy title, let me apologize for it. It caused some controversy, so I decided... Read more »
Table of contents Introduction Error types Union types to the rescue! Error handling Bottom layer Middle layer Top layer Furthermore Conclusion Introduction Scala 3 introduces union types. Straight from the... Read more »
Table of contents Introduction How it started: NixOS Next step: Home Manager One flake to rule them all! Home Manager flake output Switching configurations Flake outputs Conclusion Introduction I have... Read more »
What if I told you that you can save plenty of time and CPU-power by pre-building your entire NixOS configuration on Github actions? Fresh installations could be super fast and... Read more »
As the title says, finite-state machines and Fs2 streams are a match made in heaven! To demonstrate it, I’ll make up a compelling problem to solve and we will get... Read more »
Table of Contents Introduction XMonad Configuration System level User level Rofi Polybar Dunst Betterlockscreen Picom System tray Udiskie Conclusion Introduction I’ve been a Gnome user for a long time and... Read more »
NixOS can be configured to run any desktop environment you want and Gnome 3 is not an exception. However, it comes with some caveats so keep reading if you are... Read more »
The more I learn about Nix - a purely functional package manager - the more I am convinced this is the way forward. Even if there’s still room for big... Read more »
As I’m preparing a talk about refinement types I will be giving this Thursday at the Functional Tricity Meetup, and I’ve recently given a similar talk using the Scala language... Read more »
If you use Ubuntu or any other Linux distribution (AKA distro) together with Nixpkgs, you might have noticed things don’t play so well together. Nixpkgs has been mainly designed to... Read more »
These past few weeks I’ve been interviewing with a few companies, as I’m actively on the lookout for a new challenge, and the number of flaws I have encountered in... Read more »
In the past few months I have learnt a lot! Probably the coolest stuff has been about Functional Dependencies and Type Families, so this is my attempt to explain it... Read more »
Having introduced Haskell at my last job I wanted to put into practice all the stuff I learned: take the good, leave the bad. So I started working on an... Read more »
In a recent pull request review at work I suggested using context bound to declare effect capabilities instead of implicit values as this is what I see the most in... Read more »