network/nix/pkgs/switches/shared.nix

23 lines
487 B
Nix

{ 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
);
}