From 129aa8c77902a69900e1a4ff8db0d2b730fb3ec0 Mon Sep 17 00:00:00 2001 From: kurogeek Date: Thu, 23 Jul 2026 15:48:45 +0700 Subject: [PATCH] mob next [ci-skip] [ci skip] [skip ci] lastFile:modules/clan/apple-network/default.nix --- modules/clan/apple-network/README.md | 4 ++++ modules/clan/apple-network/default.nix | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/clan/apple-network/README.md b/modules/clan/apple-network/README.md index e69de29..3ac6a3f 100644 --- a/modules/clan/apple-network/README.md +++ b/modules/clan/apple-network/README.md @@ -0,0 +1,4 @@ +# Apple Network + +This service allows atalkd instances to connect to each other over vxlan over Yggdrasil. We need to use vxlan due to the support of broadcasting it provides. The service will form a network of star-topology vxlan using the underlying Yggdrasil network. With this vxlan network, we can have a private Apple Talk network over the internet. + diff --git a/modules/clan/apple-network/default.nix b/modules/clan/apple-network/default.nix index 300a005..b9fba87 100644 --- a/modules/clan/apple-network/default.nix +++ b/modules/clan/apple-network/default.nix @@ -2,12 +2,12 @@ { _class = "clan.service"; manifest.name = "apple-network"; - manifest.description = "This service allows atalkd instances to connect to peers over vxlan over Yggdrasil. We need to use vxlan due to the support of broadcasting it provides"; + manifest.description = "This service will create an instance of `atalkd` for each peer to talk to Apple machines over Apple Talk protocol and automatically connect each peer using vxlan over Yggdrasil network to achieve Apple Talk over internet experience"; manifest.readme = builtins.readFile ./README.md; manifest.categories = [ "Network" ]; roles.peer = { - description = ""; + description = "A gateway machine that allow classic Apple machines to connect to other Apple machines over the internet"; interface = { lib, ... }: @@ -16,12 +16,13 @@ zone_name = lib.mkOption { type = with lib.types; str; description = "Zone name for Apple Talk protocol"; + default = "Default"; }; }; }; perInstance = - { roles, ... }: + { roles, settings, ... }: { nixosModule = { @@ -66,7 +67,7 @@ enable = true; interfaces = { vxlan.config = '' - -router -phase 2 -net 1 -zone "Default" + -router -phase 2 -net 1 -zone "${settings.zone_name}" ''; }; };