2025-01-22 Clan Weekly Changelog

Clan is a toolkit that makes it easier to manage networks of VPN-connected NixOS machines.
The ultimate goal is to lower the barrier to self-host services massively to allow anyone to achieve this without special hardware. As of now using clan still requires NixOS knowledge but already
nicely combines a bunch of our open-source project that you may know (nixos-anywhere, sops-nix, nixos-generators, disko, …) in a uniform CLI. Join us on Matrix

Changelog from the past week

Backups

  • Borgbackup is migrated to vars
  • Pinpox: New backup module restic is in progress. (Restic = alternative Backup system)

Installation

  • Automatic disk encryption during installation:
  • Automatically generate disk encryption keys using vars and provide these to disko

Clan modules / Inventory

Data-mesher

  • Multiple ip addresses for a host
    • Chasing down a segfault in nss-datamesher
  • Multi-node NixOS VM test which runs through basic functionality
  • Refining memberlist config and usage
    • Better support for node reconnect
    • Better visibility of cluster status with some http endpoints
    • Improved logging

UI

  • Started design: clanModules generate configuration surface in clan app.
    • Imagined workflow steps for configuring an overarching module:
      • Define roles
      • Configure (if needed)
      • Generate the ‘Credentials & Data’ (known as ‘vars’)
    • Top-level options will be showed under “general”
    • Nested attributes will be transformed into tab/sidebar navigation items
    • UI will be dyncamically created and can be arbitrarily nested. Although we are concerned that deeply nested attributes will create bad ux. We might want to give some guidelines here how to structure clanModule options.
    • Type/module annotations can provide a place to add more information for the input fields.

VPNs

  • @Mic92 Work-in-progress: hyprspace clanModule
  • A new vpn clanModule mycelium
  • Work-in-progress zerotier migration to vars
  • While building the VPN benchmark clan_cli is being used as an headless API package
    • This uncovered a multitude of things to work on and fix
3 Likes