{ config, pkgs, ... }: with pkgs; with lib; rec { sort = builtins.sort (a: b: if builtins.isList a && builtins.isList b then compareLists a b else a < b ); sortBy = f: builtins.sort (a: b: let ra = f a; rb = f b; in if builtins.isList ra && builtins.isList rb then compareLists compare ra rb < 0 else ra < rb ); sortNetsByVlan = builtins.sort (net1: net2: config.site.net.${net1}.vlan < config.site.net.${net2}.vlan ); }