1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/configs/networks.nix

93 lines
2.3 KiB
Nix
Raw Normal View History

{ pkgs, config, lib, ... }:
let
sshPort = 22022;
secrets = import ../secrets.nix;
in {
networking.hosts = lib.mapAttrs (_: value: [ (value + ".local") ]) {
"192.168.178.1" = "router";
"192.168.178.21" = "scardanelli";
"192.168.178.22" = "homeros";
"192.168.178.24" = "lestrade";
"192.168.178.27" = "printer";
} // {
"42:0:ca48:f98f:63d7:31ce:922b:245d" = [ "go" ];
};
networking.wireless = {
enable = true;
userControlled.enable = true;
networks = {
Aether = { pskRaw = "e1b18af54036c5c9a747fe681c6a694636d60a5f8450f7dec0d76bc93e2ec85a"; };
EasyBox-927376 = { pskRaw = "dbd490ab69b39bd67cfa06daf70fc3ef3ee90f482972a668ed758f90f5577c22"; };
"Asoziales Netzwerk" = { pskRaw = "8e234041ec5f0cd1b6a14e9adeee9840ed51b2f18856a52137485523e46b0cb6"; };
c-base-public = {};
};
};
# for kdeconnect
networking.firewall = {
allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714; to = 1764; } ];
};
home-manager.users.kfm = {
services.kdeconnect = {
enable = true;
indicator = true;
};
programs.ssh = {
enable = true;
matchBlocks = {
lestrade = {
hostname = "lestrade.local";
user = "pi";
};
scardanelli = {
hostname = "scardanelli.local";
user = "kfm";
port = sshPort;
};
homeros = {
hostname = "homeros.local";
user = "kfm";
port = sshPort;
};
};
};
};
programs.ssh = {
startAgent = true;
forwardX11 = true;
};
services.openssh = {
ports = [ sshPort ];
enable = true;
forwardX11 = true;
passwordAuthentication = false;
};
users.users.kfm.openssh.authorizedKeys.keys = let sshKey = secrets.ssh.publicKey; in [
sshKey.homeros
sshKey.scardanelli
];
networking.retiolum = {
scardanelli = {
ipv4 = "10.243.2.2";
ipv6 = "42:0:3c46:4007:5bce:f1bc:606b:2b18";
};
homeros = {
ipv4 = "10.243.2.1";
ipv6 = "42:0:3c46:53e:e63d:e62a:56ea:c705";
};
}.${config.networking.hostName};
environment.etc."tinc/retiolum/rsa_key.priv" = {
text = secrets.retiolum.privateKey.${config.networking.hostName};
mode = "400";
};
}