photoncloud-monorepo/nix-nos/modules/default.nix

38 lines
937 B
Nix

{ config, lib, pkgs, ... }:
{
imports = [
./network/interfaces.nix
./network/vlans.nix
./bgp/default.nix
./routing/static.nix
];
options.nix-nos = {
enable = lib.mkEnableOption "Nix-NOS legacy compatibility and low-level network primitives only; not a supported cluster authoring source";
version = lib.mkOption {
type = lib.types.str;
default = "0.1.0";
readOnly = true;
description = "Nix-NOS version";
};
};
config = lib.mkIf config.nix-nos.enable {
warnings = [
''
nix-nos is limited to legacy compatibility and low-level network primitives.
ultracloud.cluster backed by nix/lib/cluster-schema.nix is the only supported cluster authoring source.
''
];
# Global assertions
assertions = [
{
assertion = pkgs.stdenv.isLinux;
message = "Nix-NOS is only supported on Linux systems";
}
];
};
}