mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
refactor: avahi
This commit is contained in:
parent
42bf19cf47
commit
56e8011300
6 changed files with 36 additions and 12 deletions
|
|
@ -7,6 +7,11 @@ NF_HOST=${NF_HOST-tewi}
|
|||
NIXOS_TOPLEVEL=network.nodes.$NF_HOST.system.build.toplevel
|
||||
NF_ADDR=${NF_ADDR-${NF_HOST}.local}
|
||||
|
||||
if [[ $NF_ADDR = tewi.local ]]; then
|
||||
# work around homekit namespace clash
|
||||
NF_ADDR=tewi.local.cutie.moe
|
||||
fi
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
set -- ""
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
inherit (config.networking) hostName;
|
||||
in {
|
||||
options.networking.access = with lib.types; {
|
||||
static.ipv4 = mkOption {
|
||||
type = str;
|
||||
};
|
||||
hostnameForNetwork = mkOption {
|
||||
type = attrsOf str;
|
||||
default = { };
|
||||
|
|
|
|||
19
nixos/avahi.nix
Normal file
19
nixos/avahi.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
in {
|
||||
services.avahi = {
|
||||
enable = mkDefault true;
|
||||
ipv6 = mkDefault config.networking.enableIPv6;
|
||||
publish = {
|
||||
enable = mkDefault true;
|
||||
domain = mkDefault true;
|
||||
addresses = mkDefault true;
|
||||
userServices = mkDefault true;
|
||||
};
|
||||
wideArea = mkDefault false;
|
||||
};
|
||||
}
|
||||
|
|
@ -86,7 +86,7 @@ in {
|
|||
homekit = [ {
|
||||
name = "Tewi";
|
||||
port = 21063;
|
||||
ip_address = "10.1.1.38";
|
||||
ip_address = config.networking.access.static.ipv4;
|
||||
filter = let
|
||||
inherit (cfg.config) google_assistant;
|
||||
in {
|
||||
|
|
|
|||
|
|
@ -2,22 +2,18 @@
|
|||
lib,
|
||||
config,
|
||||
options,
|
||||
meta,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf mkDefault;
|
||||
in {
|
||||
imports = let
|
||||
inherit (meta) nixos;
|
||||
in [
|
||||
nixos.avahi
|
||||
];
|
||||
|
||||
services.resolved.enable = true;
|
||||
services.avahi = {
|
||||
enable = mkDefault true;
|
||||
ipv6 = mkDefault config.networking.enableIPv6;
|
||||
publish = {
|
||||
enable = mkDefault true;
|
||||
domain = mkDefault true;
|
||||
addresses = mkDefault true;
|
||||
userServices = mkDefault true;
|
||||
};
|
||||
wideArea = mkDefault false;
|
||||
};
|
||||
systemd.services.avahi-daemon = mkIf (options ? proxmoxLXC && config.services.avahi.enable) {
|
||||
serviceConfig.ExecStartPre = mkIf config.services.resolved.enable [
|
||||
"+-${config.systemd.package}/bin/resolvectl mdns eth0 yes"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
];
|
||||
|
||||
sops.defaultSopsFile = ./secrets.yaml;
|
||||
networking.access.static.ipv4 = "10.1.1.39";
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue