mirror of
https://github.com/kmein/niveum
synced 2026-03-16 18:21:07 +01:00
93 lines
2.3 KiB
Nix
93 lines
2.3 KiB
Nix
{ 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";
|
|
};
|
|
}
|