2022-07-31 11:03:59 +02:00
|
|
|
# SPDX-FileCopyrightText: 2022 Richard Brežák <richard@brezak.sk>
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
{lib, ...}:
|
2022-11-23 20:48:59 +01:00
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
mkIpOption =
|
|
|
|
mkOption {
|
2022-07-31 11:03:59 +02:00
|
|
|
description = ''
|
2022-11-23 20:48:59 +01:00
|
|
|
Host IP
|
2022-07-31 11:03:59 +02:00
|
|
|
'';
|
2022-11-23 20:48:59 +01:00
|
|
|
type = types.str;
|
|
|
|
default = "";
|
2022-07-31 11:03:59 +02:00
|
|
|
};
|
2022-11-23 20:48:59 +01:00
|
|
|
mkNetworkOption =
|
|
|
|
mkOption {
|
2022-07-31 11:03:59 +02:00
|
|
|
description = ''
|
2022-11-23 20:48:59 +01:00
|
|
|
Network IPs
|
2022-07-31 11:03:59 +02:00
|
|
|
'';
|
2022-11-23 20:48:59 +01:00
|
|
|
type = types.str;
|
|
|
|
default = "";
|
|
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options = {
|
|
|
|
network.ips = {
|
|
|
|
vault.dns = mkIpOption;
|
|
|
|
vault.vpn = mkIpOption;
|
|
|
|
blowhole.dns = mkIpOption;
|
|
|
|
blowhole.ip = mkIpOption;
|
|
|
|
blowhole.vpn = mkIpOption;
|
|
|
|
heater = mkIpOption;
|
|
|
|
edge.vpn = mkIpOption;
|
|
|
|
omen.vpn = mkIpOption;
|
|
|
|
toothpick = mkIpOption;
|
|
|
|
woodchip = mkIpOption;
|
|
|
|
media = mkIpOption;
|
|
|
|
};
|
|
|
|
|
|
|
|
network.networks = {
|
|
|
|
home.inner = mkNetworkOption;
|
|
|
|
home.outer = mkNetworkOption;
|
|
|
|
home.mine = mkNetworkOption;
|
|
|
|
vpn = mkNetworkOption;
|
2022-07-31 11:03:59 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|