Hello World!

I am a Software Engineer specialized in λ functional programming,
writing strongly-typed code in HaskellScala ⇒ reproducible builds via Nix.

Latest on the blog

Flake Schemas

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 »

Private Nix flake 🔒

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 »

Nix remote builds

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 »

Garnix CI

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 »

Neovim meets Nix flakes

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 »
All posts

Talks

I've mainly given talks about Haskell, Scala and Nix, both at conferences and city meetups.

Projects

These are some of the open source projects I worked on.

Name Description
Dconf2nix Convert Dconf files (Gnome Shell) to Nix, as expected by Home Manager
Dorado Generic golden testing library with support for MUnit and Weaver
Fs2 Rabbit RabbitMQ stream-based client built on top of Fs2
Http4s JWT Auth Opinionated JWT authentication library for Http4s
Http4s Tracer End-to-end tracing system for Http4s
Neovim-flake Nix flake for Neovim with configuration options highly focused on Scala 3
Neutron Purely functional Apache Pulsar client for Scala built on top of Fs2
Nix-config My NixOS configuration files, home-manager, neovim, etc.
PFPS Examples Standalone examples from the "Practical FP in Scala" book
PFPS Shopping Cart The application developed in the "Practical FP in Scala" book
PostgreSQL Resilient Automatic re-connection support for PostgreSQL (Haskell)
Redis4Cats Purely functional Redis client for Cats Effect & Fs2
Sbt Nix G8 template, docs and examples on managing Scala projects with Nix
Split Morphism Split Epimorphisms and Monomorphisms for Haskell
Supernova Apache Pulsar client for Haskell