hosts: migrate IP addresses into hosts/modules
This commit is contained in:
@@ -1,16 +1,6 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# if using router's DNS, these mappings will already exist.
|
|
||||||
# if using a different DNS provider (which servo does), then we need to explicity provide them.
|
|
||||||
# ugly hack. would be better to get servo to somehow use the router's DNS
|
|
||||||
networking.hosts = {
|
|
||||||
"192.168.0.5" = [ "servo" ];
|
|
||||||
"192.168.0.20" = [ "lappy" ];
|
|
||||||
"192.168.0.22" = [ "desko" ];
|
|
||||||
"192.168.0.48" = [ "moby" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# the default backend is "wpa_supplicant".
|
# the default backend is "wpa_supplicant".
|
||||||
# wpa_supplicant reliably picks weak APs to connect to.
|
# wpa_supplicant reliably picks weak APs to connect to.
|
||||||
# see: <https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/474>
|
# see: <https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/474>
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./derived-secrets.nix
|
./derived-secrets.nix
|
||||||
./hardware
|
./hardware
|
||||||
|
./hostnames.nix
|
||||||
./hosts.nix
|
./hosts.nix
|
||||||
./roles
|
./roles
|
||||||
./wg-home.nix
|
./wg-home.nix
|
||||||
|
11
hosts/modules/hostnames.nix
Normal file
11
hosts/modules/hostnames.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# if using router's DNS, these mappings will already exist.
|
||||||
|
# if using a different DNS provider (which servo does), then we need to explicity provide them.
|
||||||
|
# ugly hack. would be better to get servo to somehow use the router's DNS
|
||||||
|
networking.hosts = lib.mapAttrs' (host: cfg: {
|
||||||
|
name = cfg.lan-ip;
|
||||||
|
value = [ host ];
|
||||||
|
}) config.sane.hosts.by-name;
|
||||||
|
}
|
@@ -7,14 +7,14 @@ let
|
|||||||
host = types.submodule ({ config, ... }: {
|
host = types.submodule ({ config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
ssh.user_pubkey = mkOption {
|
ssh.user_pubkey = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
ssh pubkey that the primary user of this machine will use when connecting to other machines.
|
ssh pubkey that the primary user of this machine will use when connecting to other machines.
|
||||||
e.g. "ssh-ed25519 AAAA<base64>".
|
e.g. "ssh-ed25519 AAAA<base64>".
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
ssh.host_pubkey = mkOption {
|
ssh.host_pubkey = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
ssh pubkey which this host will present to connections initiated against it.
|
ssh pubkey which this host will present to connections initiated against it.
|
||||||
e.g. "ssh-ed25519 AAAA<base64>".
|
e.g. "ssh-ed25519 AAAA<base64>".
|
||||||
@@ -27,6 +27,13 @@ let
|
|||||||
e.g. "pWtnKW7f7sNIZQ2M83uJ7cHg3IL1tebE3IoVkCgjkXM=".
|
e.g. "pWtnKW7f7sNIZQ2M83uJ7cHg3IL1tebE3IoVkCgjkXM=".
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
lan-ip = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
ip address when on the lan.
|
||||||
|
e.g. "192.168.0.5";
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
@@ -47,28 +54,27 @@ in
|
|||||||
sane.hosts.by-name."desko" = {
|
sane.hosts.by-name."desko" = {
|
||||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU5GlsSfbaarMvDA20bxpSZGWviEzXGD8gtrIowc1pX";
|
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU5GlsSfbaarMvDA20bxpSZGWviEzXGD8gtrIowc1pX";
|
||||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFw9NoRaYrM6LbDd3aFBc4yyBlxGQn8HjeHd/dZ3CfHk";
|
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFw9NoRaYrM6LbDd3aFBc4yyBlxGQn8HjeHd/dZ3CfHk";
|
||||||
|
lan-ip = "192.168.0.22";
|
||||||
};
|
};
|
||||||
|
|
||||||
sane.hosts.by-name."lappy" = {
|
sane.hosts.by-name."lappy" = {
|
||||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDpmFdNSVPRol5hkbbCivRhyeENzb9HVyf9KutGLP2Zu";
|
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDpmFdNSVPRol5hkbbCivRhyeENzb9HVyf9KutGLP2Zu";
|
||||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILSJnqmVl9/SYQ0btvGb0REwwWY8wkdkGXQZfn/1geEc";
|
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILSJnqmVl9/SYQ0btvGb0REwwWY8wkdkGXQZfn/1geEc";
|
||||||
wg-home.pubkey = "FTUWGw2p4/cEcrrIE86PWVnqctbv8OYpw8Gt3+dC/lk=";
|
wg-home.pubkey = "FTUWGw2p4/cEcrrIE86PWVnqctbv8OYpw8Gt3+dC/lk=";
|
||||||
|
lan-ip = "192.168.0.20";
|
||||||
};
|
};
|
||||||
|
|
||||||
sane.hosts.by-name."moby" = {
|
sane.hosts.by-name."moby" = {
|
||||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICrR+gePnl0nV/vy7I5BzrGeyVL+9eOuXHU1yNE3uCwU";
|
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICrR+gePnl0nV/vy7I5BzrGeyVL+9eOuXHU1yNE3uCwU";
|
||||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1N/IT3nQYUD+dBlU1sTEEVMxfOyMkrrDeyHcYgnJvw";
|
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1N/IT3nQYUD+dBlU1sTEEVMxfOyMkrrDeyHcYgnJvw";
|
||||||
|
lan-ip = "192.168.0.48";
|
||||||
};
|
};
|
||||||
|
|
||||||
sane.hosts.by-name."servo" = {
|
sane.hosts.by-name."servo" = {
|
||||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS1qFzKurAdB9blkWomq8gI1g0T3sTs9LsmFOj5VtqX";
|
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPS1qFzKurAdB9blkWomq8gI1g0T3sTs9LsmFOj5VtqX";
|
||||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOfdSmFkrVT6DhpgvFeQKm3Fh9VKZ9DbLYOPOJWYQ0E8";
|
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOfdSmFkrVT6DhpgvFeQKm3Fh9VKZ9DbLYOPOJWYQ0E8";
|
||||||
wg-home.pubkey = "cy9tvnwGMqWhLxRZlvxDtHmknzqmedAaJz+g3Z0ILG0=";
|
wg-home.pubkey = "cy9tvnwGMqWhLxRZlvxDtHmknzqmedAaJz+g3Z0ILG0=";
|
||||||
};
|
lan-ip = "192.168.0.5";
|
||||||
|
|
||||||
sane.hosts.by-name."rescue" = {
|
|
||||||
ssh.user_pubkey = null;
|
|
||||||
ssh.host_pubkey = null;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user