summaryrefslogtreecommitdiff
path: root/modules/nixos/net-iface-labels.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/net-iface-labels.nix')
-rw-r--r--modules/nixos/net-iface-labels.nix28
1 files changed, 0 insertions, 28 deletions
diff --git a/modules/nixos/net-iface-labels.nix b/modules/nixos/net-iface-labels.nix
deleted file mode 100644
index b7ac655..0000000
--- a/modules/nixos/net-iface-labels.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ config, lib, ... }: let
- cfg = config.networking._interfaceLabels;
- validMac = str: builtins.match ''^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$'' str != null;
- macAddressType = lib.types.str // {
- check = validMac;
- description = "a mac address (xx:xx:xx:xx:xx:xx)";
- };
-in {
- options.networking._interfaceLabels = {
- enable = lib.mkEnableOption "manually label network interfaces";
- interfaces = lib.mkOption {
- type = lib.types.attrsOf macAddressType;
- default = {};
- example = {
- "lan0" = "00:11:22:33:44:55";
- "lan1" = "66:77:88:99:AA:BB";
- };
- description = "label network interfaces by their mac address";
- };
- };
-
- config = lib.mkIf cfg.enable {
- networking.usePredictableInterfaceNames = false;
- services.udev.extraRules = lib.concatStringsSep "\n" (
- lib.mapAttrsToList (name: mac: ''ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="${mac}", NAME="${name}"'') cfg.interfaces
- );
- };
-}