Clan Core Changelog 2.12.2025

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-hosted services massively and allow anyone to achieve this without special hardware. As of now, using Clan still requires NixOS knowledge, but it already combines several of our Open-Source projects that you may know (nixos-anywhere, sops-nix, nixos-generators, disko, …) into a uniform CLI.

Changelog

:books: Documentation

  • Updated documentation with new content (#5878)
  • Finalized documentation template
  • Small documentation improvements (#5941, #5942)

:toolbox: Core Development & Testing

  • Vars improvements:
    • Fixed bugs where shared vars are encrypted for wrong machine
    • Fixed bug where shared vars not generated for all required machines
    • Added logging of entities gaining access in commit messages
    • Fixed terminal multiplexing issue
    • Various small vars PRs (#5933, #5940, #5934, #5935)
  • Nixpkgs bump: Ready for merge, waiting on CI (#5595)
  • Improved pkgs overrides for flake.parts (#5913)

:sparkles: Features

  • Exports system:
    • Service exports merged! (#5703)
    • Work on requiring explicit interface/traits (#5891)
  • meta.domain support: Merged meta.domain option (#5783)
  • Darwin support:
    • Ported clan services and wireguard VPN to nix-darwin (#5889)
    • WIP: Zerotier VPN for nix-darwin (#5958)
  • Munix integration: WIP integration into clan (#5957)
  • Made UI work in normal browser (#5920)
  • Added nix_shell to check_machine_ssh_reachable (#5873)

:desktop_computer: UI/Frontend

  • Fixed 3D view bug (#5870)
  • UI architect changes (#5888)

:wrench: CLI Improvements

  • Display meta.domain in clan show and other fixes (#5916, #5915)
  • Fixed clan machines create with custom directory (#5952)
  • Added missing subcommands to machine help metavar (#5947)
    • Now shown in help output and rendered on documentation site
    • Added regression test to catch missing metavars (#5948)
  • Fixed help formatting (#5953, #5914)

:hammer_and_wrench: Services

  • Syncthing: Fixed firewall interface wildcard syntax (#5918)
  • Backups: Overhauled backups with documentation based on community contribution (#5868)
    • Created issue for reworking preBackupScript as standalone systemd service (#5869)

:globe_with_meridians: Networking

  • Yggdrasil improvements:
    • Avoided self-connections in Yggdrasil
    • Added listen functionality for all peers
  • SSH agent improvements (WIP) (#5803)

:desktop_computer: VMTech / Virtualization

  • muvm now works on Ubuntu 25.05 live stick
  • muvm now works on ARM
  • muvm now works inside a VM
  • PR to nixpkgs to enable mesa amdgpu-virtio #441300
2 Likes

Clan Core Changelog W49

  • The transition from facts to vars is finally over! We are removed the last bit of compatibility code. If you have any issues please reach out. #5991
  • Removed an optimization that improved CI performance, but became unwieldy over time, namely: clan-core-for-checks #5993
  • Groundwork for a UI architecture change #5888
  • Starting lib separation between public and private APIs to communicate what parts should be used by our community
    #5985 #5992 #5995
  • Remove some direct filesystem dependencies from vars, depending on a proper abstraction instead: https://git.clan.lol/clan/clan-core/pulls/5996
  • Finished explicit interface/traits #5891
  • Updating our nixpkgs to the branchoff commit coming closer to our stable release: #6024
  • Continued working on our Tor + Yggdrasil integration
    • Added portMapping option to tor service
    • Implemented handling for .onion addresses in yggdrasil service #6007
    • Fixed tor exports #5989
  • Flake Cache Garbage Collection
    • Implemented garbage collection for flake caching #5980
  • Cleanup & Bug Fixes
  • Continuing our work upstreaming nixos-facter modules
  • niks3 stop leaking pre-signed urls in CI logs:
  • Wrote a Zerotier network controller:

vmtech

2 Likes

Clan Core Changelog W50

CLI Improvements

  • Added new clan machines build subcommand (#6025)
  • Reverted removal of --fast-nix option for nixos-rebuild - if you had trouble updating machines due to this deprecation, please try again (#6093)
  • Fixed --build-host completion (#6087)
  • Added autocompletion to clan secrets set (#6072)
  • All list commands are now sorted (#6070)

Vars & Secrets

  • Merged removal of facts system (#5991)
  • Fixed breakage with activation time secrets (#6055, #6060)
  • Optimized performance for sops and password-store backends (#6077, #6085, #6088)

Networking

  • Yggdrasil Service Security Improvements (#6083):
    • Limited multicast addresses
    • Implemented firewall restrictions to limit access to clan IPs
    • Set AllowedPublicKeys configuration
  • Fixed format_address function and added tests (#6068)
  • Removed direct use of zerotier IP for syncthing and data-mesher (#6036, #5954)

munix

  • Added settings portal support (keyboard layouts, dark mode, font size, desktop preferences)
  • Added music player demo to the readme
  • machine-id is now randomly generated on every boot
3 Likes