cowsql (/ˈkaʊ,siːkwəl/ listen) is a C library that implements an embeddable and replicated SQL database engine with high availability and automatic failover.
cowsql extends SQLite with a network protocol that can connect together various instances of your application and have them act as a highly-available cluster, with no dependency on external databases.
The name "cowsql" loosely refers to the "pets vs. cattle" concept, since it's generaly fine to delete or rebuild a particular node of an application that uses cowsql for data storage.
Vertrauen beginnt damit, genau zu wissen, wofür man bezahlt.Deine monatlichen Kosten starten bei 0 €. Danach zahlst du nur das, was du tatsächlich nutzt. Wenig genutzt? Weniger zahlen. Mehr genutzt? Etwas mehr zahlen. Genau so sollte Mobilfunk funktionieren.Bevor du in die nächste Kostenstufe wechselst, informieren wir dich rechtzeitig. So behältst du jederzeit die Kontrolle.Probiere unseren Tarifrechner aus und entdecke, wie flexibel fairer Mobilfunk sein kann.
![]()
pyinfra is a python-native, agentless automation tool that runs commands over ssh — concurrently, idempotently, and 6× faster than ansible.
This project has an ambitious goal of creating a framework for writing NixOS router configurations - in other words, being the simple-nixos-mailserver of the networking world, but without the "simple" part, because networking is hard. This may include complex features like running multiple DHCP servers, using network namespaces, having interfaces turn on and off while the rest of the system keeps working, etc.
Welcome to the NixOS Router documentation. This guide will help you install, configure, and maintain your NixOS-based router.
Quick Links
- Installation Guide - Get started with installing the router
- Upgrading Guide - Learn how to upgrade your router
- Verification - Verify your router is working correctly
- WebUI Documentation - Learn about the web interface features
- Configuration - Configure all aspects of your router
My home internet connection comes with proper dual-stack support. I get a public IPv4 address via DHCP, a /128 (IA_NA) and a /48 IPv6 prefix (IA_PD) via DHCPv6.
Traditionally you would configure your networking via iproute2 and then fork-off a DHCP client to configure the external addresses.
Usually all of that is being hidden from you through wrappers (like Debian’s ifupdown). The configuration would be set, the daemons fired off and hopefully everything would go well.
The limitations of the system become visible once you have a more dynamic set of interfaces that have to be initialized in some order, some VPN device that depend on the uplink connection etc. While systems like ifupdown have employed hooks of all sorts that you still end up writing a bunch of (inlined) shell scripts that deal with some little details of your setup. Adding sleep statements at worst. Things get tricky when one interface going up changes things on another interface or even system wide (think sysctl, iptables, starting a VPN daemon, …).
I decided to switch to NixOS on my router as part of my crusade to switch most of my devices to it. So, here is how I did it! This post is more or less a raw thought stream from during the setup process. It also resembles a tutorial - that is purely because it makes it easier for me to write, this isn't really intended as a tutorial, more as an explanation of what I did - you're free to use this as reference though!
This is the second part of my journey of having NixOS based router on BananaPI R3 board (bpir3) in which I will focus more on the software side of things. The first part is here, however reading it is not essential for understanding of this part.
Before we begin I want to briefly mention that there are two different ways to have a reproducible router. The obvious one that I took is to just install NixOS there and configure it to serve as a router. The other one is to use OpenWRT, write your configuration in a declarative way and render set of uci commands to apply on an OpenWRT instance. You can read more about the second approach here: https://github.com/Mic92/dotfiles/tree/main/openwrt
This collection of nix modules provides a firewall for NixOS machines. This firewall utilizes nftables and uses network zones.
- Quickstart guide — nixos-nftables-firewall documentation
- GitHub - thelegy/nixos-nftables-firewall: A zone based firewall built ontop of nftables for nixos · GitHub

PodOS serves as your gateway to managing online data. Store your data anywhere across the web and access it whenever and wherever it is needed
Fine-Grained Authorization
OpenFGA is an open-source authorization solution that allows developers to build granular access control using an easy-to-read modeling language and friendly APIs.
A Docker-based API built for PDF conversion
Convert web pages and office documents into PDFs with a single API call. Chromium, LibreOffice, and PDF engines included.
PipeWire has experimental support for the ASHA specification for hearing aids. There is a writeup with some background, and this page aims to document how this feature can be used, expected behaviour, troubleshooting, and bug reporting.
Why Nix?
If you’ve opened this PDF, you already have your own motivation for learning Nix. Here’s how it helps me. As a researcher, I tend to work on a series of short-term projects, mostly demos and prototypes. For each one, I typically develop some software using a compiler, often with some open source libraries. Often I use other tools to analyse data or generate documentation, for example.
NixOS config tutorial series


Build and share reproducible software environments with Nix and NixOS
A practical learning path for operating BGP safely before requesting public Internet number resources or a FreeTransit tunnel.
A public ASN, an IP prefix and a BGP session are production Internet resources. They are not a first BGP laboratory. A mistake can make your own network unreachable, leak routes learned from one provider to another, or announce address space that does not belong to you.
FreeTransit helps community networks obtain and use Internet number resources. We also expect applicants to understand the basic operational responsibility that comes with those resources. You do not need to be an expert, but you should be able to build, filter, verify and monitor a simple BGP setup before it is connected to a public network.
Free non-commercial IP transit by tunnel or IXP, plus RIPE sponsorship for people who need an ASN or independent resources first.
