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

Home Manager: dotfiles management

What is Home Manager? Quoting the official description Home Manager: This project provides a basic system for managing a user environment using the Nix package manager together with the Nix... Read more »

NixOS server up in minutes!

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 »

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