39 lines
1.5 KiB
Nix
39 lines
1.5 KiB
Nix
{ pkgs, config, lib, ... }:
|
|
|
|
let
|
|
domain = "devs.giugl.io";
|
|
|
|
utilities = import ./utilities.nix { inherit lib config; };
|
|
inherit (utilities) generateDeviceStrings;
|
|
in
|
|
{
|
|
pepe.core.network.interfaces.tailscale = {
|
|
interface = "ts0";
|
|
net = "100.64.0.0/10";
|
|
type = "vpn";
|
|
devices = {
|
|
architect = { address = "100.64.0.1"; hostname = "architect.${domain}"; isEndpoint = true; };
|
|
kmerr = { address = "100.64.0.2"; hostname = "kmerr.${domain}"; };
|
|
chuck = { address = "100.64.0.4"; hostname = "chuck.${domain}"; };
|
|
manduria = { address = "100.64.0.6"; hostname = "manduria.${domain}"; };
|
|
tommy = { address = "100.64.0.7"; hostname = "tommy.${domain}"; };
|
|
alfredo = { address = "100.64.0.9"; hostname = "alfredo.${domain}"; };
|
|
appletv = { address = "100.64.0.13"; hostname = "appletv.${domain}"; };
|
|
afsun = { address = "100.64.0.15"; hostname = "afsun.${domain}"; };
|
|
jacopo-desktop = { address = "100.64.0.21"; hostname = "jacopo-desktop.${domain}"; };
|
|
jacopo-tv = { address = "100.64.0.22"; hostname = "jacopo-tv.${domain}"; };
|
|
jacopo-phone = { address = "100.64.0.28"; hostname = "jacopo-phone.${domain}"; };
|
|
};
|
|
};
|
|
|
|
services = {
|
|
tailscale = {
|
|
enable = true;
|
|
interfaceName = config.pepe.core.network.interfaces.tailscale.interface;
|
|
package = pkgs.unstablePkgs.tailscale;
|
|
};
|
|
};
|
|
|
|
networking.extraHosts = generateDeviceStrings config.pepe.core.network.interfaces.tailscale.devices;
|
|
}
|