Remove mostly unused host-registry and combine ssh public keys with users.nix
This commit is contained in:
parent
3c8556c53d
commit
c15bd0e155
14
README.md
14
README.md
|
@ -79,20 +79,6 @@ two scripts that can be run for deployment via ssh.
|
||||||
target? If so, use `nix copy` to transfer where
|
target? If so, use `nix copy` to transfer where
|
||||||
`/run/current-system` points to to your build machine.
|
`/run/current-system` points to to your build machine.
|
||||||
|
|
||||||
## Remote deployment from non-NixOS
|
|
||||||
|
|
||||||
A shell script that copies the current working tree, and runs
|
|
||||||
`nixos-rebuild switch` on the target:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
./deploy-flake.sh hydra.hq.c3d2.de
|
|
||||||
```
|
|
||||||
|
|
||||||
It cannot not lookup hostnames in `host-registry.nix`. To avoid
|
|
||||||
deploying the wrong container on the unrelated DNS records, the script
|
|
||||||
always uses the hostname that is already configured on the target
|
|
||||||
system.
|
|
||||||
|
|
||||||
## Checking for updates
|
## Checking for updates
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
|
@ -835,11 +835,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1671477548,
|
"lastModified": 1671504518,
|
||||||
"narHash": "sha256-ltR+TFw1oThBz8QSjk6ucCC7t/qWbzoy8jHm570KtBg=",
|
"narHash": "sha256-me6+d61Z0ze22kS7A/xLGuUzDA1VqM9/Dm/jBjl7z+w=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "0e1ccff6abb02b3fa8f12aef8f36850e85a270d1",
|
"rev": "465e824add3c204c24b01742b5487a424430c105",
|
||||||
"revCount": 1696,
|
"revCount": 1699,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitea.c3d2.de/zentralwerk/network.git"
|
"url": "https://gitea.c3d2.de/zentralwerk/network.git"
|
||||||
},
|
},
|
||||||
|
|
|
@ -209,14 +209,10 @@
|
||||||
) result (builtins.attrNames hosts6."${ctx}")
|
) result (builtins.attrNames hosts6."${ctx}")
|
||||||
) {} (builtins.attrNames hosts6)
|
) {} (builtins.attrNames hosts6)
|
||||||
);
|
);
|
||||||
zwHostRegistry = {
|
hostRegistry.hosts =
|
||||||
hosts =
|
|
||||||
builtins.foldl' (result: net:
|
builtins.foldl' (result: net:
|
||||||
lib.recursiveUpdate result (extractZwHosts zentralwerk.lib.config.site.net."${net}")
|
lib.recursiveUpdate result (extractZwHosts zentralwerk.lib.config.site.net."${net}")
|
||||||
) {} [ "core" "cluster" "c3d2" "serv" "flpk" "pub" ];
|
) {} [ "core" "cluster" "c3d2" "serv" "flpk" "pub" ];
|
||||||
};
|
|
||||||
extraHostRegistry.hosts = import ./host-registry.nix;
|
|
||||||
hostRegistry = lib.recursiveUpdate zwHostRegistry extraHostRegistry;
|
|
||||||
|
|
||||||
# Our custom NixOS builder
|
# Our custom NixOS builder
|
||||||
nixosSystem' =
|
nixosSystem' =
|
||||||
|
@ -757,8 +753,7 @@
|
||||||
./modules/monitoring.nix
|
./modules/monitoring.nix
|
||||||
./modules/stats.nix
|
./modules/stats.nix
|
||||||
];
|
];
|
||||||
c3d2.hosts = hostRegistry.hosts;
|
c3d2.sshKeys = (import ./ssh-public-keys.nix).users;
|
||||||
c3d2.users = import ./users.nix;
|
|
||||||
c3d2.nncp.neigh = import ./modules/nncp-relays.nix;
|
c3d2.nncp.neigh = import ./modules/nncp-relays.nix;
|
||||||
};
|
};
|
||||||
cluster = ./modules/cluster;
|
cluster = ./modules/cluster;
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
# Registry of C3D2 machines.
|
|
||||||
|
|
||||||
{
|
|
||||||
dacbert = {
|
|
||||||
serial = "3c271952";
|
|
||||||
ip4 = "172.22.99.203";
|
|
||||||
};
|
|
||||||
|
|
||||||
riscbert.ip4 = "riscbert.c3d2.zentralwerk.org";
|
|
||||||
|
|
||||||
dn42 = {
|
|
||||||
ip4 = "172.22.99.253";
|
|
||||||
};
|
|
||||||
|
|
||||||
freifunk = {
|
|
||||||
ip4 = "172.20.72.40";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMFbxHGfBMBjjior1FNRub56O62K++HVnqUH67BeKD7d";
|
|
||||||
};
|
|
||||||
|
|
||||||
gitea.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO8Q7kGF3Hh6HvmlSIgZOjgoIZRpyxKvMBTcPWHlecuh";
|
|
||||||
|
|
||||||
glotzbert = {
|
|
||||||
ether = "ec:a8:6b:fe:b4:cb";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAnEWn/8CKIiCtehh6Ha3XUQqjODj0ygyo3aGAsFWgfG";
|
|
||||||
wol = true;
|
|
||||||
ip4 = "glotzbert.hq.c3d2.de";
|
|
||||||
};
|
|
||||||
|
|
||||||
grafana = {
|
|
||||||
ip6 = "2a00:8180:2c00:282:4042:fbff:fe4b:2de8";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPFB9fo01jzr2upEBEXiR7sSmeQoq9ll5Cf5/hjq5e4Y";
|
|
||||||
};
|
|
||||||
|
|
||||||
mucbot = {
|
|
||||||
ip4 = "172.20.73.27";
|
|
||||||
ip6 = "2a00:8180:2c00:282:28db:dff:fe6b:e89a";
|
|
||||||
};
|
|
||||||
|
|
||||||
matemat = {
|
|
||||||
ip4 = "172.20.73.21";
|
|
||||||
ip6 = "2a00:8180:2c00:282:f82b:1bff:fedc:8572";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBa07c4NnU1TGX1SMNea9e1d4nMtc0OS4gJLmTA3g/fe";
|
|
||||||
};
|
|
||||||
|
|
||||||
mpd-index = { };
|
|
||||||
|
|
||||||
nfs = { };
|
|
||||||
|
|
||||||
nncp = {
|
|
||||||
ip6 = "2a00:8180:2c00:223:dcec:9aff:fe6f:3f63";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQhxaeElmxO1UgaI/+qr+g13OFeY9qtJVxznNN+xs/e";
|
|
||||||
};
|
|
||||||
|
|
||||||
public-access-proxy = {
|
|
||||||
ip4 = "172.20.73.45";
|
|
||||||
ip6 = "2a00:8180:2c00:282:1024:5fff:febd:9be7";
|
|
||||||
};
|
|
||||||
|
|
||||||
pulsebert = {
|
|
||||||
ether = "dc:a6:32:31:b6:32";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFQCsDss9Gq3/eTKqpgEwXK+nhnuARS4/kHqF2+laGnp";
|
|
||||||
ip4 = "172.22.99.208";
|
|
||||||
};
|
|
||||||
|
|
||||||
samba = { };
|
|
||||||
|
|
||||||
scrape = {
|
|
||||||
ip4 = "172.20.73.32";
|
|
||||||
ip6 = "2a00:8180:2c00:282:e073:50ff:fef5:eb6e";
|
|
||||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGxPgg6nswoij1fBzDPDu6h4+d458XL2+dBxAx9KVOh";
|
|
||||||
};
|
|
||||||
|
|
||||||
schalter.ip4 = "schalter.hq.c3d2.de";
|
|
||||||
|
|
||||||
# Hack
|
|
||||||
rpi-netboot.ip4 = "127.0.0.1";
|
|
||||||
|
|
||||||
server9.ip6 = "server9.cluster.zentralwerk.org";
|
|
||||||
server10.ip6 = "server10.cluster.zentralwerk.org";
|
|
||||||
}
|
|
|
@ -61,8 +61,8 @@
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "docker" ];
|
extraGroups = [ "wheel" "docker" ];
|
||||||
createHome = true;
|
createHome = true;
|
||||||
openssh.authorizedKeys.keys = with import ../../users.nix;
|
openssh.authorizedKeys.keys = with (import ../../ssh-public-keys.nix).users;
|
||||||
leon.sshKeys;
|
leon;
|
||||||
};
|
};
|
||||||
networking.nameservers = ["172.20.73.8" "9.9.9.9"];
|
networking.nameservers = ["172.20.73.8" "9.9.9.9"];
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "docker" ];
|
extraGroups = [ "wheel" "docker" ];
|
||||||
createHome = true;
|
createHome = true;
|
||||||
openssh.authorizedKeys.keys = with import ../../users.nix;
|
openssh.authorizedKeys.keys = with (import ../../ssh-public-keys.nix).users;
|
||||||
leon.sshKeys;
|
leon;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ hostRegistry, lib, ... }:
|
{ lib, zentralwerk, ... }:
|
||||||
{
|
{
|
||||||
# share /nix/store via NFS read-only
|
# share /nix/store via NFS read-only
|
||||||
services.nfs.server = {
|
services.nfs.server = {
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
/var/lib/nfsroot/dacbert ${
|
/var/lib/nfsroot/dacbert ${
|
||||||
lib.concatMapStringsSep " " (subnet:
|
lib.concatMapStringsSep " " (subnet:
|
||||||
"${subnet}(${opts "rw" 2})"
|
"${subnet}(${opts "rw" 2})"
|
||||||
) [ "${hostRegistry.hosts.dacbert.ip4}/32" ]
|
) [ "${zentralwerk.lib.config.site.net-combined.hosts4.dacbert}/32" ]
|
||||||
}
|
}
|
||||||
/var/lib/nfsroot/riscbert ${
|
/var/lib/nfsroot/riscbert ${
|
||||||
lib.concatMapStringsSep " " (subnet:
|
lib.concatMapStringsSep " " (subnet:
|
||||||
|
|
|
@ -1,15 +1,24 @@
|
||||||
{ tftproots, hostRegistry, lib, pkgs, ... }:
|
{ tftproots, hostRegistry, lib, pkgs, ... }:
|
||||||
let
|
|
||||||
netbootxyzVersion = "2.0.60";
|
{
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# raspberrypi boot
|
||||||
|
services.atftpd = {
|
||||||
|
enable = true;
|
||||||
|
root =
|
||||||
|
let
|
||||||
|
netbootxyzVersion = "2.0.65";
|
||||||
netbootxyz_efi = pkgs.fetchurl {
|
netbootxyz_efi = pkgs.fetchurl {
|
||||||
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.efi";
|
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.efi";
|
||||||
sha256 = "1k9i81iw6lhs1h8qy8yapasqcl31yxl2jxn52ls5anvm477650qk";
|
sha256 = "1k9i82iw6lhs1h8qy8yapasqcl31yxl2jxn52ls5anvm477650qk";
|
||||||
};
|
};
|
||||||
netbootxyz_kpxe = pkgs.fetchurl {
|
netbootxyz_kpxe = pkgs.fetchurl {
|
||||||
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.kpxe";
|
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.kpxe";
|
||||||
sha256 = "1jr8qwkkj3ccvhdw98fakj07md0nkswy2mlg1rdhcnqzhas7qbj3";
|
sha256 = "1jr8qwkkj4ccvhdw98fakj07md0nkswy2mlg1rdhcnqzhas7qbj3";
|
||||||
};
|
};
|
||||||
tftpRoot = pkgs.runCommand "tftproot" {} ''
|
in
|
||||||
|
pkgs.runCommand "tftproot" { } ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
|
|
||||||
# PXE for PC
|
# PXE for PC
|
||||||
|
@ -20,27 +29,7 @@ let
|
||||||
cp -sr ${tftproots.rpi-netboot-tftproot}/* $out/
|
cp -sr ${tftproots.rpi-netboot-tftproot}/* $out/
|
||||||
|
|
||||||
# dacbert
|
# dacbert
|
||||||
ln -s /var/lib/nfsroot/dacbert/boot $out/${hostRegistry.hosts.dacbert.serial}
|
ln -s /var/lib/nfsroot/dacbert/boot $out/3c271952
|
||||||
|
|
||||||
# boot files for specific pis by serial number subdirectories
|
|
||||||
${lib.concatMapStrings (host: ''
|
|
||||||
if ! [ -L $out/${hostRegistry.hosts.${host}.serial} ]; then
|
|
||||||
ln -s ${tftproots."${host}-tftproot"} $out/${hostRegistry.hosts.${host}.serial}
|
|
||||||
fi
|
|
||||||
'') (
|
|
||||||
builtins.attrNames (
|
|
||||||
lib.filterAttrs (_: { serial ? null, ... }: serial != null)
|
|
||||||
hostRegistry.hosts
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
'';
|
'';
|
||||||
in
|
|
||||||
{
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# raspberrypi boot
|
|
||||||
services.atftpd = {
|
|
||||||
enable = true;
|
|
||||||
root = tftpRoot;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
126
modules/c3d2.nix
126
modules/c3d2.nix
|
@ -81,41 +81,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hosts =
|
|
||||||
mkOption {
|
|
||||||
type = types.attrsOf (types.submodule {
|
|
||||||
options = {
|
|
||||||
ether = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
ip4 = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
ip6 = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
publicKey = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
wol = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
serial = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
default = null;
|
|
||||||
description = ''
|
|
||||||
Hardware serial number to help identification when netbooting.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
nncp = {
|
nncp = {
|
||||||
neigh = mkOption {
|
neigh = mkOption {
|
||||||
type = with types; attrsOf neighMod;
|
type = with types; attrsOf neighMod;
|
||||||
|
@ -139,23 +104,15 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users = mkOption {
|
sshKeys = mkOption {
|
||||||
type = types.attrsOf (types.submodule {
|
type = with types; attrsOf (listOf str);
|
||||||
options.sshKeys = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
default = [ ];
|
||||||
};
|
};
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
adminKeys = with builtins; lib.lists.flatten (
|
adminKeys = with builtins; lib.lists.flatten (attrValues cfg.sshKeys);
|
||||||
map
|
|
||||||
(getAttr "sshKeys")
|
|
||||||
(attrValues cfg.users)
|
|
||||||
);
|
|
||||||
mkIfIsInHq = x: lib.mkIf cfg.isInHq (lib.mkDefault x);
|
mkIfIsInHq = x: lib.mkIf cfg.isInHq (lib.mkDefault x);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -248,50 +205,6 @@ in
|
||||||
assertion = cfg.isInHq -> (config.users.users.root.password == null);
|
assertion = cfg.isInHq -> (config.users.users.root.password == null);
|
||||||
message = "Root passwords not allowed in HQ";
|
message = "Root passwords not allowed in HQ";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
assertion = cfg.isInHq -> builtins.hasAttr config.networking.hostName cfg.hosts;
|
|
||||||
message = "${config.networking.hostName} is not registered in ${toString ../host-registry.nix}";
|
|
||||||
}
|
|
||||||
(
|
|
||||||
# Check for host registry address collisions
|
|
||||||
let
|
|
||||||
getAddrHosts = key:
|
|
||||||
builtins.foldl'
|
|
||||||
(result: host:
|
|
||||||
if cfg.hosts.${host}.${key} != null
|
|
||||||
then
|
|
||||||
let
|
|
||||||
addr = cfg.hosts."${host}"."${key}";
|
|
||||||
in
|
|
||||||
if result ? "${addr}"
|
|
||||||
then result // {
|
|
||||||
"${addr}" = result."${addr}" ++ [ host ];
|
|
||||||
}
|
|
||||||
else result // {
|
|
||||||
"${addr}" = [ host ];
|
|
||||||
}
|
|
||||||
else result
|
|
||||||
)
|
|
||||||
{ }
|
|
||||||
(builtins.attrNames cfg.hosts);
|
|
||||||
dupHosts =
|
|
||||||
builtins.concatMap
|
|
||||||
(hosts:
|
|
||||||
if builtins.length hosts == 1
|
|
||||||
then [ ]
|
|
||||||
else hosts
|
|
||||||
)
|
|
||||||
(
|
|
||||||
builtins.attrValues (
|
|
||||||
getAddrHosts "ip4" // getAddrHosts "ip6"
|
|
||||||
)
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
assertion = dupHosts == [ ];
|
|
||||||
message = "Hosts have duplicate addresses: ${lib.concatStringsSep " " dupHosts}";
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.cleanTmpDir = true;
|
boot.cleanTmpDir = true;
|
||||||
|
@ -406,35 +319,28 @@ in
|
||||||
programs = {
|
programs = {
|
||||||
fzf.keybindings = true;
|
fzf.keybindings = true;
|
||||||
|
|
||||||
ssh.knownHosts = with builtins;
|
ssh.knownHosts =
|
||||||
let
|
let
|
||||||
intersectKeys = intersectAttrs {
|
hosts = (import ../ssh-public-keys.nix).hosts;
|
||||||
publicKey = null;
|
|
||||||
publicKeyFile = null;
|
|
||||||
};
|
|
||||||
list = map
|
list = map
|
||||||
(name:
|
(name: {
|
||||||
let
|
|
||||||
host = getAttr name cfg.hosts;
|
|
||||||
sshAttrs = intersectKeys host;
|
|
||||||
in
|
|
||||||
if sshAttrs == { } then
|
|
||||||
null
|
|
||||||
else {
|
|
||||||
inherit name;
|
inherit name;
|
||||||
value =
|
value =
|
||||||
let ip6 = if host.ip6 != null then host.ip6 else toHqPrivateAddress name;
|
let
|
||||||
|
ip6 = if zentralwerk.lib.config.site.net-combined.hosts6 ? name then
|
||||||
|
zentralwerk.lib.config.site.net.hosts6.${name}
|
||||||
|
else
|
||||||
|
toHqPrivateAddress name;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
publicKey = null;
|
publicKey = lib.head (lib.getAttr name hosts);
|
||||||
publicKeyFile = null;
|
|
||||||
hostNames = [ ip6 "${name}.hq.c3d2.de" name ];
|
hostNames = [ ip6 "${name}.hq.c3d2.de" name ];
|
||||||
} // sshAttrs;
|
};
|
||||||
})
|
})
|
||||||
(builtins.attrNames cfg.hosts);
|
(builtins.attrNames hosts);
|
||||||
keyedHosts = filter (x: x.value.publicKey != null || x.value.publicKeyFile != null) list;
|
keyedHosts = lib.filter (x: x.value.publicKey != null || x.value.publicKeyFile != null) list;
|
||||||
in
|
in
|
||||||
listToAttrs keyedHosts;
|
lib.listToAttrs keyedHosts;
|
||||||
|
|
||||||
vim.defaultEditor = true;
|
vim.defaultEditor = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -55,9 +55,9 @@ in {
|
||||||
};
|
};
|
||||||
users.leon = {
|
users.leon = {
|
||||||
uid = 1002;
|
uid = 1002;
|
||||||
sshKeys = with import ../../users.nix;
|
sshKeys = with (import ../../ssh-public-keys.nix).users;
|
||||||
leon.sshKeys ++
|
leon ++
|
||||||
astro.sshKeys;
|
astro;
|
||||||
};
|
};
|
||||||
deploy.customizationModule = ./deployment.nix;
|
deploy.customizationModule = ./deployment.nix;
|
||||||
|
|
||||||
|
|
13
packages.nix
13
packages.nix
|
@ -91,19 +91,6 @@ lib.attrsets.mapAttrs
|
||||||
'';
|
'';
|
||||||
|
|
||||||
} //
|
} //
|
||||||
|
|
||||||
builtins.foldl'
|
|
||||||
(result: host: result // {
|
|
||||||
# TODO: check if the ethernet address is reachable and if not,
|
|
||||||
# execute wol on a machine in HQ.
|
|
||||||
"${host}-wake" = pkgs.writeScriptBin "${host}-wake" ''
|
|
||||||
#!${pkgs.runtimeShell}
|
|
||||||
exec ${pkgs.wol}/bin/wol ${hostRegistry.hosts."${host}".ether}
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
{ }
|
|
||||||
(builtins.attrNames (lib.filterAttrs (_: { wol ? false, ... }: wol) hostRegistry.hosts)) //
|
|
||||||
|
|
||||||
builtins.foldl'
|
builtins.foldl'
|
||||||
(result: name:
|
(result: name:
|
||||||
let
|
let
|
||||||
|
|
83
ssh-public-keys.nix
Normal file
83
ssh-public-keys.nix
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
{
|
||||||
|
# Please use ed25519 keys!
|
||||||
|
|
||||||
|
users = {
|
||||||
|
antrares = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDC6Io8mHskJhkUh+vaSo95pi1E/gAoesQ0v+s+7DCTgjpOkB+W6vdJ8U6rblFxrETaWFAIVfkg+I/ZYvNWqCAxu1iWXaZ3IEK2ZiP5Vg0HevAP0ratfIHw50V8wfsyA8/lLVGdpX76xqexdY3G1SYZUcedq6AqWx6FpyoKGVOL2+jlJhmxCoEYfOJe6HbTi02UtAw1qavaD2acvuLksHOiwRAq1+ijPo/OmU3LmaErheceiPC97Wn4H/a98HdnWXJ3AXZCpPzp784/gUxOd/fvKRQPv0Lza9dytmpkAVc9efLMAQZm60w9InpIY0VxJRu2iFDc6msMF/iJp1UXSJfk4hTxUvXL8rPXc4GYKDSQlWO4UXoKd2gZEmCdcsIN/re6VR1lJWcm4eKxI9zJAQRZDrYHZP3ALBJrBY+7pJUHGSB+jCdZ73zkvkiNWUHZ9Wwp4RvdFoCR9qT+AoDU2SMiBMn8/hNMZRUs6RKjUzzn2vhCbZh19QIDxivaFg3DOKq7CCI3XNR3M781MFdmeTXKBLnv2YEVXy5XDIMvucQaZIUoD14fSF2wnncuP9h0gs2H1zG7nQfMagGpE+ro56FO3rBQqfRzz/U528yuq8uf/6TD9u3jTu7ngZ0YpDvAwAh8yG3b2KGFbrcYc3N1zEQOz7IqKixmIt/f3VOOjQ3Yww== antrares@c3d2.de"
|
||||||
|
];
|
||||||
|
astro = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJJTSJdpDh82486uPiMhhyhnci4tScp5uUe7156MBC8 astro"
|
||||||
|
];
|
||||||
|
emery = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqAXBEROEfldkHdUbF3TinBhfeX5l4DQ/5MAOhLh09avqCqcHY2FanZN+qmWpD695UZ71Cl+XF6Bj0KO7Rt4SAemvkEDPMBoidkt+ZjLsdnb8GVvbDhu/62JnqW9meYTN5GcjfmKMPDtKFbgSx9PPcjsDaO6LI/GWeyTz+EYQqwTdc7TKffjLXp6bREYLf0oKIBTvW9/oPCBI7ywYmyBaadFKrYSnujJbMejH91L+JN2fJoxjjhsGcRR78ottbjz4q6JxYjt9CG5oa7Lm60xdZkiiA3c4dMuHU9+EWGshjBKL1Fb9BafeAKhHobcs7UG8IVlqHRJC5VAGQlmus/fNagAArz9PnGW4MAOgg+yLjQJLLKqePBMsAsMHZ9XT+sqPyJfcai5dWynGXFP1B63C/oosVMkeZAlBIwDz/CmufpKBCJZXCfFoC3PotWsH/JT3ir/RSdtVHQ169CEgm+AUd7gjBuRwn6j2eBHcYkn0nCbQ93KLPlnYCLXzjByGved8= emery@fuji"
|
||||||
|
];
|
||||||
|
j03 = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDW+YfsFtRz1h/0ubcKU+LyGfxH505yUkbWa5VtRFNWF2fjTAYGj6o5M4dt+fv1h370HXvvOBtt8sIlWQgMsD10+9mvjdXWhTcpnYPx4yWuyEERE1/1BhItrog6XJKAedbCDpQQ+POoewouiHWVAUfFByPj5RXuE8zKUeIEkGev/QKrKTLnTcS8zFs/yrokf1qYYR571B3U8IPDjpV/Y1GieG3MSNaefIMCwAAup1gPkUA0XZ4A1L7NdEiUEHlceKVu9eYiWUM+wDRunBXnLHubeGyP8KmBA7PNKgml3WWRNTZjqNQk4u9Bl+Qea5eCkD8KI257EqgXYXy0QBWNyF8X j03@l302"
|
||||||
|
];
|
||||||
|
laalsaas = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhcrBEpbCOM4KTVqjvuEOAcKOPScQ7U4TsNJzzrQW/k laalsaas"
|
||||||
|
];
|
||||||
|
marenz = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDixJ6x0QnSk/ebIJ9zlsRM5olZbqrxDaIt0QQmZOuAbbz441SVW+/0/7ks80GMIMxzUy5YpNvrkY+6q/dZVvNybZLm/csdoFB2soOI/F1NUOppM+r2f33db/5ae3iaun/xBOW/D5lQTbm6IfrYjN9z3gW6tTYFPauZyctizZz5P1egwtCrAnMti8aBE3G+lGXVIVbjsjYruqgSN86WM0YM9HH9XB8Kd/TDCI/j9prXFkoj9EuzOQtIDNRA4Asmi08ZmoVKqadbuZAXoYEngPe2nigiiBoV/5fyyWIJSliWPZ8YDXk8X6pRJaOgZyc6mmot0/BLJo+DkhoUDA7wp3wr cardno:000609614306"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6edpEvI6/0IBBolm3fX67U7UhA42hBVXPcN2hrTe9DiaRTMC1EnsgHSLYAuV1Ltu9gkDxHZ4aTpa69La7C7I0WPAhzXWAE1BNl2/93CETAcZoum2IYl9CZNGFG5D2Uxd8lnyZH9WtgN5WYLaKm/xFSVclYwbnYtTjI2T9mYmrrDf4bwvvjg6p6KBQUgaotwC+qyADGTJjfSiIsYU8cJhA4XROudmiKa6LAlw0VrkgQoITRYoWvmrdHMgzeCJa5UvKGxyGRqGcPB7wVFQpv2uxJVtCjb5Uhk8ZHzbc/rANBXwCgMr9tmyKDsO9imtcucQXZT7O06mkD5OYCVSdtVsx cardno:000610670724"
|
||||||
|
];
|
||||||
|
nek0 = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpLQaRn6wzdyU5f1MZKYgL3A9t0H/ELyZHEMK0e2I+k nek0@madness"
|
||||||
|
];
|
||||||
|
oxa = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCou/7YU2kbeWbZv/F3kjWJLyLeZ5SGGMNr03rWjqZcliJCqEZGO4gz7jdizg/h+j7YWTV3Gn+03LY+tlfhuI7Okxe1YLphuPb4qb38QUprpdg9QTdREGUUpKeaXUOXASoC5EHAkx5GYcQ9uZAx70ZHdggwNvQOVcOfbSIv+MPTaEq4MTwf/Y5MhFvCUrQecTvaoukAPS3PEOWptz5hDDH7jjiJmDwHeICMhHK9YvesFjIsc/iQHScCDWBg+WbQAeLYSbJkmnzFz/7jbdF34Wmz/7FlUiOqqzkZ5Ykr78ae4NgbSz09QjkZ/W0wVIH+UAVHn3OQ+7aRukkve9w48lEb1XJvMo3Y1sGRY6AUOHw0B4xa9ZgXQiuAH4ExjaDSArNkUWjQrKkUvyl30j7t6HRA2Y+W5BzodYKO/JBGqaGneTvlXV2e7lFP2kmnf17dnkJmwTi2p0CQJrpsnifuj5gNDA/qZkXPK5DOPe+asW2Vc2panSbXosZG9Gk20JeahZ54gVn2UvRVk41GhQdCAuVWeuXF9+rtSyjtx2NSrQLIyi/59n6STL/hS1135wrEifP+xTCoI+8yxTB8BSd5JSQ9GeUGkevZp9asmwKOA/WkTzsESECbCrbgOstTCSsKPfQITLu45zIrLHn9cLjrwby06mNhp2B28GlAmvcDBC95NQ== mail@oxapentane.com"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP6xE2ey0C8XXfvniiiHiqXsCC277jKI9RXEA+s2LQLUI5zl7v350i3Oa8H3NCcPj39lfMreqE6ncxcOhqYyzahPrrMkOqgbPAoRvq8H3ophLK+56O3xdHoKwLBwRD1yoGACjqG4UTiTrmnN2ateENgYcnTEY1e4vDw1qMj1drUXCsZ/6mkBBmHJiFfCaR4yCMt1r4gGi/dAC7ifnBP3oSyV/lJEwPxYYkGlbOBIvX/7Ar98pJS6xYPB3jHs9gwyNNON63d0fNYrwBojXPPCnGGaRZNOkBTzex3zZYp12ThINQ2xl8tRp9D8qpZ7vrLjhTD6AXkOBRzmDj+NsCeEaeTuWajqUM93iKncYUI+JxR1t7q8gA2pBMFzLesMXnx7R+5Kw7QDtSJM7a4GMIfsocPwf64BH6rzxEz68rXFE3P+J77PPM9CuaYw90JXHo3z220zYw2nMQ/1qjATVZw/hiVrLmQMVfmFJIufnGjTBs2sy3IoNyzvYm/oDeNNg1cdSV9gyyRKZhK08fxjXN5GSf9vZkfZa9tHtqaZ99HI40GQBHUVx1K2/NQJY8TVTSA+v16SFnJK8BIbmp/WFCuvDcMkgLIbqiYtDASe7P2mKIib86uOENT+P820egeLiTQ06kFw/gfUa8t69d5qEcjiQZ+lxCeYIs/E9KrEXHvRUWew== cardno:16 811 339"
|
||||||
|
];
|
||||||
|
poelzi = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuQbziwBjiSZqzE2b4iOqz1HxjinqHbGjAv1XHLOq+AFfNwMc4wiyQ/u2LpuRG2HlwK9pBeIY/gZSUP3YJZ1RumnrEOxY2Tgmzko0W9ME+hvK1OHZcXI69QA/ctxEVgOUMvTtS8XssFLAbQfkXJYeTL/5yr/Qrs3MDDfa+1UGY7LQlyzh6c4pQ+pBgWJALyzztc0orqgSVUJ2u8naQ210Jv3dQnpE+bwfeG9IuWjQqBXWHwlqxwRDxnnDBVcUj4z24XsMmHHWd/zizD+4C0Qx/rBiFhYBDXP+320U5gpgFzRl3t1HQXiPCb/LAgp2CLpZ8Eh4u9tgIhp6Z6l9r0B+vQ== poelzi@poelzi.org"
|
||||||
|
];
|
||||||
|
polygon = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGEKrCGXyHqD0jdTYVHnnScL9mhDU2PR9VyH7fu528J jan@nixbrett"
|
||||||
|
];
|
||||||
|
revol-xut = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6NLB8EHnUgl2GO2uaojdf3p3YpsHH6px6CZleif8klhLN+ro5KeFK2OXC2SO3Vo4qgF/NySdsoInV9JEsssELZ2ttVbeKxI6f76V5dZgGI7qoSf4E0TXIgpS9n9K2AEmRKr65uC2jgkSJuo/T1mF+4/Nzyo706FT/GGVoiBktgq9umbYX0vIQkTMFAcw921NwFCWFQcMYRruaH01tLu6HIAdJ9FVG8MAt84hCr4D4PobD6b029bHXTzcixsguRtl+q4fQAl3WK3HAxT+txN91CDoP2eENo3gbmdTBprD2RcB/hz5iI6IaY3p1+8fTX2ehvI3loRA8Qjr/xzkzMUlpA/8NLKbJD4YxNGgFbauEmEnlC8Evq2vMrxdDr2SjnBAUwzZ63Nq+pUoBNYG/c+h+eO/s7bjnJVe0m2/2ZqPj1jWQp4hGoNzzU1cQmy6TdEWJcg2c8ints5068HN3o0gQKkp1EseNrdB8SuG+me/c/uIOX8dPASgo3Yjv9IGLhhx8GOGQxHEQN9QFC4QyZt/rrAyGmlX342PBNYmmStgVWHiYCcMVUWGlsG0XvG6bvGgmMeHNVsDf6WdMQuLj9luvxJzrd4FlKX6O0X/sIaqMVSkhIbD2+vvKNqrii7JdUTntUPs89L5h9DoDqQWkL13Plg1iQt4/VYeKTbUhYYz1lw== revo-xut@plank"
|
||||||
|
];
|
||||||
|
sandro = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFidD6Snqgd8J7avxHvdDd81rdi0zNZWSilBe3eaTIlv sandro@magnesium"
|
||||||
|
];
|
||||||
|
tboston = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINkmizml/XsSRzp3mNIumb3ZEPQoZhi/TtDU7rOUiKA tboston"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2bxUZkDM++SVg/lR6JI/ANUWVPPgGp7fmcD0mL7AI5u+VtdwUlVpPl4GjPnpBPFD2W3+WAg9DQpiA3+j/MuwaP7JjUwfI9hfVP/4QjdfgVgEyAuCWstHftk2bZvzKa+D5d7r5kOpDmWnxwuffOUqR7vmZscIJfRxSD/gOnIDMKUF8RAF94p4SuTX+1uoTbzmlIFVFZjoR1hqPL+PjA/Rmwncy8/2QKn3fagM5oTeLuk7ebFqL9mEBQolE9NJSTZJsN1IflRI9jxQYNN/jebaxDDF/bT+p8v0WxXGLmogzzyxviqOvrJVCjugyplLRh1AQ4XPh8yBqCeY9fN+LuKmz tboston"
|
||||||
|
];
|
||||||
|
windsleep = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD6vi3Y/e5wxJzsehFyM+N16f1QAmepMwIOSL3gO9w7CZ1jUF2Cky6y/40TcNWMDyvgxbcEfobG/Foa8DXQgKcc9LZS8jjGmzTVRCKxON5hQsYXRmxzawe8Fg2bkYxpWeoknW0wgDc/3XJA17IP2ONfVtX3YVQyhf5WPDHrXojnBadXMBUtvK5p7T+L9Z3/cGB80K5BoQCC4ZRn6gkOMjpFOKYXJfIzmLI5WPvTe7B/uuEfZ8IT8nzZsi2VBwru01s+iEXs7th/rAp2Q74pWTW8Q8jhNL1E15Yct9K7yV1p6D7YPF/BCKtXKP6VzU2ULmTp6nlCkeDJvZgLP6UpzLJJ basti@windnix"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3iUaE0wXfRfG48bLs3pCSRi3TqH8a9yuh0JfycRv/Wai+hwJ/VopqxvN+L+NVFSEGWeTAvQRDzJZhgVgP29zrWALGnuvGCSi6jeuzhm57R2ebZcnXkS3fYiowfV34BJSmYkzM3mIg8ujxIp6R/7LqCx+7IKZfLqjeWAMFzVvZcF2aIs2OP59EWJYJN8fKSXpoMk6elnDwvxHD6zzNMhLu+n/7vKJccUoqJaEaPMd/AWyBi2aFn3C1btkFQ5fT8bO9Ob9t5eh97cyny9MAvlxPIHOR/xbJ80WMgVeqst/rb8atafe4UJVf643lzmzlbyxErBGAaeTY3p9Yc93QdvVP basti@basti-ThinkPad-T530"
|
||||||
|
];
|
||||||
|
leon = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPZoT83l0ogbJpviBs4VmO+NdF4NPtYAnyf8RRSoXsv leon@leon"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANupx+diz5N8sGZOc7ZXopyPh9HaML8M7Qh70aVVIaJ leon@leons-Air"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
hosts = {
|
||||||
|
freifunk = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMFbxHGfBMBjjior1FNRub56O62K++HVnqUH67BeKD7d"
|
||||||
|
];
|
||||||
|
gitea = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO8Q7kGF3Hh6HvmlSIgZOjgoIZRpyxKvMBTcPWHlecuh"
|
||||||
|
];
|
||||||
|
glotzbert = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAnEWn/8CKIiCtehh6Ha3XUQqjODj0ygyo3aGAsFWgfG"
|
||||||
|
];
|
||||||
|
grafana = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPFB9fo01jzr2upEBEXiR7sSmeQoq9ll5Cf5/hjq5e4Y"
|
||||||
|
];
|
||||||
|
matemat = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBa07c4NnU1TGX1SMNea9e1d4nMtc0OS4gJLmTA3g/fe"
|
||||||
|
];
|
||||||
|
nncp = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQhxaeElmxO1UgaI/+qr+g13OFeY9qtJVxznNN+xs/e"
|
||||||
|
];
|
||||||
|
pulsebert = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFQCsDss9Gq3/eTKqpgEwXK+nhnuARS4/kHqF2+laGnp"
|
||||||
|
];
|
||||||
|
scrape = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGxPgg6nswoij1fBzDPDu6h4+d458XL2+dBxAx9KVOh"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
67
users.nix
67
users.nix
|
@ -1,67 +0,0 @@
|
||||||
{
|
|
||||||
# Please use ed25519 keys!
|
|
||||||
antrares.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDC6Io8mHskJhkUh+vaSo95pi1E/gAoesQ0v+s+7DCTgjpOkB+W6vdJ8U6rblFxrETaWFAIVfkg+I/ZYvNWqCAxu1iWXaZ3IEK2ZiP5Vg0HevAP0ratfIHw50V8wfsyA8/lLVGdpX76xqexdY3G1SYZUcedq6AqWx6FpyoKGVOL2+jlJhmxCoEYfOJe6HbTi02UtAw1qavaD2acvuLksHOiwRAq1+ijPo/OmU3LmaErheceiPC97Wn4H/a98HdnWXJ3AXZCpPzp784/gUxOd/fvKRQPv0Lza9dytmpkAVc9efLMAQZm60w9InpIY0VxJRu2iFDc6msMF/iJp1UXSJfk4hTxUvXL8rPXc4GYKDSQlWO4UXoKd2gZEmCdcsIN/re6VR1lJWcm4eKxI9zJAQRZDrYHZP3ALBJrBY+7pJUHGSB+jCdZ73zkvkiNWUHZ9Wwp4RvdFoCR9qT+AoDU2SMiBMn8/hNMZRUs6RKjUzzn2vhCbZh19QIDxivaFg3DOKq7CCI3XNR3M781MFdmeTXKBLnv2YEVXy5XDIMvucQaZIUoD14fSF2wnncuP9h0gs2H1zG7nQfMagGpE+ro56FO3rBQqfRzz/U528yuq8uf/6TD9u3jTu7ngZ0YpDvAwAh8yG3b2KGFbrcYc3N1zEQOz7IqKixmIt/f3VOOjQ3Yww== antrares@c3d2.de"
|
|
||||||
];
|
|
||||||
|
|
||||||
astro.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJJTSJdpDh82486uPiMhhyhnci4tScp5uUe7156MBC8 astro"
|
|
||||||
];
|
|
||||||
|
|
||||||
emery.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqAXBEROEfldkHdUbF3TinBhfeX5l4DQ/5MAOhLh09avqCqcHY2FanZN+qmWpD695UZ71Cl+XF6Bj0KO7Rt4SAemvkEDPMBoidkt+ZjLsdnb8GVvbDhu/62JnqW9meYTN5GcjfmKMPDtKFbgSx9PPcjsDaO6LI/GWeyTz+EYQqwTdc7TKffjLXp6bREYLf0oKIBTvW9/oPCBI7ywYmyBaadFKrYSnujJbMejH91L+JN2fJoxjjhsGcRR78ottbjz4q6JxYjt9CG5oa7Lm60xdZkiiA3c4dMuHU9+EWGshjBKL1Fb9BafeAKhHobcs7UG8IVlqHRJC5VAGQlmus/fNagAArz9PnGW4MAOgg+yLjQJLLKqePBMsAsMHZ9XT+sqPyJfcai5dWynGXFP1B63C/oosVMkeZAlBIwDz/CmufpKBCJZXCfFoC3PotWsH/JT3ir/RSdtVHQ169CEgm+AUd7gjBuRwn6j2eBHcYkn0nCbQ93KLPlnYCLXzjByGved8= emery@fuji"
|
|
||||||
];
|
|
||||||
|
|
||||||
j03.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDW+YfsFtRz1h/0ubcKU+LyGfxH505yUkbWa5VtRFNWF2fjTAYGj6o5M4dt+fv1h370HXvvOBtt8sIlWQgMsD10+9mvjdXWhTcpnYPx4yWuyEERE1/1BhItrog6XJKAedbCDpQQ+POoewouiHWVAUfFByPj5RXuE8zKUeIEkGev/QKrKTLnTcS8zFs/yrokf1qYYR571B3U8IPDjpV/Y1GieG3MSNaefIMCwAAup1gPkUA0XZ4A1L7NdEiUEHlceKVu9eYiWUM+wDRunBXnLHubeGyP8KmBA7PNKgml3WWRNTZjqNQk4u9Bl+Qea5eCkD8KI257EqgXYXy0QBWNyF8X j03@l302"
|
|
||||||
];
|
|
||||||
|
|
||||||
laalsaas.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhcrBEpbCOM4KTVqjvuEOAcKOPScQ7U4TsNJzzrQW/k laalsaas"
|
|
||||||
];
|
|
||||||
|
|
||||||
marenz.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDixJ6x0QnSk/ebIJ9zlsRM5olZbqrxDaIt0QQmZOuAbbz441SVW+/0/7ks80GMIMxzUy5YpNvrkY+6q/dZVvNybZLm/csdoFB2soOI/F1NUOppM+r2f33db/5ae3iaun/xBOW/D5lQTbm6IfrYjN9z3gW6tTYFPauZyctizZz5P1egwtCrAnMti8aBE3G+lGXVIVbjsjYruqgSN86WM0YM9HH9XB8Kd/TDCI/j9prXFkoj9EuzOQtIDNRA4Asmi08ZmoVKqadbuZAXoYEngPe2nigiiBoV/5fyyWIJSliWPZ8YDXk8X6pRJaOgZyc6mmot0/BLJo+DkhoUDA7wp3wr cardno:000609614306"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6edpEvI6/0IBBolm3fX67U7UhA42hBVXPcN2hrTe9DiaRTMC1EnsgHSLYAuV1Ltu9gkDxHZ4aTpa69La7C7I0WPAhzXWAE1BNl2/93CETAcZoum2IYl9CZNGFG5D2Uxd8lnyZH9WtgN5WYLaKm/xFSVclYwbnYtTjI2T9mYmrrDf4bwvvjg6p6KBQUgaotwC+qyADGTJjfSiIsYU8cJhA4XROudmiKa6LAlw0VrkgQoITRYoWvmrdHMgzeCJa5UvKGxyGRqGcPB7wVFQpv2uxJVtCjb5Uhk8ZHzbc/rANBXwCgMr9tmyKDsO9imtcucQXZT7O06mkD5OYCVSdtVsx cardno:000610670724"
|
|
||||||
];
|
|
||||||
|
|
||||||
nek0.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpLQaRn6wzdyU5f1MZKYgL3A9t0H/ELyZHEMK0e2I+k nek0@madness"
|
|
||||||
];
|
|
||||||
|
|
||||||
oxa.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCou/7YU2kbeWbZv/F3kjWJLyLeZ5SGGMNr03rWjqZcliJCqEZGO4gz7jdizg/h+j7YWTV3Gn+03LY+tlfhuI7Okxe1YLphuPb4qb38QUprpdg9QTdREGUUpKeaXUOXASoC5EHAkx5GYcQ9uZAx70ZHdggwNvQOVcOfbSIv+MPTaEq4MTwf/Y5MhFvCUrQecTvaoukAPS3PEOWptz5hDDH7jjiJmDwHeICMhHK9YvesFjIsc/iQHScCDWBg+WbQAeLYSbJkmnzFz/7jbdF34Wmz/7FlUiOqqzkZ5Ykr78ae4NgbSz09QjkZ/W0wVIH+UAVHn3OQ+7aRukkve9w48lEb1XJvMo3Y1sGRY6AUOHw0B4xa9ZgXQiuAH4ExjaDSArNkUWjQrKkUvyl30j7t6HRA2Y+W5BzodYKO/JBGqaGneTvlXV2e7lFP2kmnf17dnkJmwTi2p0CQJrpsnifuj5gNDA/qZkXPK5DOPe+asW2Vc2panSbXosZG9Gk20JeahZ54gVn2UvRVk41GhQdCAuVWeuXF9+rtSyjtx2NSrQLIyi/59n6STL/hS1135wrEifP+xTCoI+8yxTB8BSd5JSQ9GeUGkevZp9asmwKOA/WkTzsESECbCrbgOstTCSsKPfQITLu45zIrLHn9cLjrwby06mNhp2B28GlAmvcDBC95NQ== mail@oxapentane.com"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP6xE2ey0C8XXfvniiiHiqXsCC277jKI9RXEA+s2LQLUI5zl7v350i3Oa8H3NCcPj39lfMreqE6ncxcOhqYyzahPrrMkOqgbPAoRvq8H3ophLK+56O3xdHoKwLBwRD1yoGACjqG4UTiTrmnN2ateENgYcnTEY1e4vDw1qMj1drUXCsZ/6mkBBmHJiFfCaR4yCMt1r4gGi/dAC7ifnBP3oSyV/lJEwPxYYkGlbOBIvX/7Ar98pJS6xYPB3jHs9gwyNNON63d0fNYrwBojXPPCnGGaRZNOkBTzex3zZYp12ThINQ2xl8tRp9D8qpZ7vrLjhTD6AXkOBRzmDj+NsCeEaeTuWajqUM93iKncYUI+JxR1t7q8gA2pBMFzLesMXnx7R+5Kw7QDtSJM7a4GMIfsocPwf64BH6rzxEz68rXFE3P+J77PPM9CuaYw90JXHo3z220zYw2nMQ/1qjATVZw/hiVrLmQMVfmFJIufnGjTBs2sy3IoNyzvYm/oDeNNg1cdSV9gyyRKZhK08fxjXN5GSf9vZkfZa9tHtqaZ99HI40GQBHUVx1K2/NQJY8TVTSA+v16SFnJK8BIbmp/WFCuvDcMkgLIbqiYtDASe7P2mKIib86uOENT+P820egeLiTQ06kFw/gfUa8t69d5qEcjiQZ+lxCeYIs/E9KrEXHvRUWew== cardno:16 811 339"
|
|
||||||
];
|
|
||||||
|
|
||||||
poelzi.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuQbziwBjiSZqzE2b4iOqz1HxjinqHbGjAv1XHLOq+AFfNwMc4wiyQ/u2LpuRG2HlwK9pBeIY/gZSUP3YJZ1RumnrEOxY2Tgmzko0W9ME+hvK1OHZcXI69QA/ctxEVgOUMvTtS8XssFLAbQfkXJYeTL/5yr/Qrs3MDDfa+1UGY7LQlyzh6c4pQ+pBgWJALyzztc0orqgSVUJ2u8naQ210Jv3dQnpE+bwfeG9IuWjQqBXWHwlqxwRDxnnDBVcUj4z24XsMmHHWd/zizD+4C0Qx/rBiFhYBDXP+320U5gpgFzRl3t1HQXiPCb/LAgp2CLpZ8Eh4u9tgIhp6Z6l9r0B+vQ== poelzi@poelzi.org"
|
|
||||||
];
|
|
||||||
|
|
||||||
polygon.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGEKrCGXyHqD0jdTYVHnnScL9mhDU2PR9VyH7fu528J jan@nixbrett"
|
|
||||||
];
|
|
||||||
|
|
||||||
revol-xut.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6NLB8EHnUgl2GO2uaojdf3p3YpsHH6px6CZleif8klhLN+ro5KeFK2OXC2SO3Vo4qgF/NySdsoInV9JEsssELZ2ttVbeKxI6f76V5dZgGI7qoSf4E0TXIgpS9n9K2AEmRKr65uC2jgkSJuo/T1mF+4/Nzyo706FT/GGVoiBktgq9umbYX0vIQkTMFAcw921NwFCWFQcMYRruaH01tLu6HIAdJ9FVG8MAt84hCr4D4PobD6b029bHXTzcixsguRtl+q4fQAl3WK3HAxT+txN91CDoP2eENo3gbmdTBprD2RcB/hz5iI6IaY3p1+8fTX2ehvI3loRA8Qjr/xzkzMUlpA/8NLKbJD4YxNGgFbauEmEnlC8Evq2vMrxdDr2SjnBAUwzZ63Nq+pUoBNYG/c+h+eO/s7bjnJVe0m2/2ZqPj1jWQp4hGoNzzU1cQmy6TdEWJcg2c8ints5068HN3o0gQKkp1EseNrdB8SuG+me/c/uIOX8dPASgo3Yjv9IGLhhx8GOGQxHEQN9QFC4QyZt/rrAyGmlX342PBNYmmStgVWHiYCcMVUWGlsG0XvG6bvGgmMeHNVsDf6WdMQuLj9luvxJzrd4FlKX6O0X/sIaqMVSkhIbD2+vvKNqrii7JdUTntUPs89L5h9DoDqQWkL13Plg1iQt4/VYeKTbUhYYz1lw== revo-xut@plank"
|
|
||||||
];
|
|
||||||
|
|
||||||
sandro.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFidD6Snqgd8J7avxHvdDd81rdi0zNZWSilBe3eaTIlv sandro@magnesium"
|
|
||||||
];
|
|
||||||
|
|
||||||
tboston.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINkmizml/XsSRzp3mNIumb3ZEPQoZhi/TtDU7rOUiKA tboston"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2bxUZkDM++SVg/lR6JI/ANUWVPPgGp7fmcD0mL7AI5u+VtdwUlVpPl4GjPnpBPFD2W3+WAg9DQpiA3+j/MuwaP7JjUwfI9hfVP/4QjdfgVgEyAuCWstHftk2bZvzKa+D5d7r5kOpDmWnxwuffOUqR7vmZscIJfRxSD/gOnIDMKUF8RAF94p4SuTX+1uoTbzmlIFVFZjoR1hqPL+PjA/Rmwncy8/2QKn3fagM5oTeLuk7ebFqL9mEBQolE9NJSTZJsN1IflRI9jxQYNN/jebaxDDF/bT+p8v0WxXGLmogzzyxviqOvrJVCjugyplLRh1AQ4XPh8yBqCeY9fN+LuKmz tboston"
|
|
||||||
];
|
|
||||||
|
|
||||||
windsleep.sshKeys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD6vi3Y/e5wxJzsehFyM+N16f1QAmepMwIOSL3gO9w7CZ1jUF2Cky6y/40TcNWMDyvgxbcEfobG/Foa8DXQgKcc9LZS8jjGmzTVRCKxON5hQsYXRmxzawe8Fg2bkYxpWeoknW0wgDc/3XJA17IP2ONfVtX3YVQyhf5WPDHrXojnBadXMBUtvK5p7T+L9Z3/cGB80K5BoQCC4ZRn6gkOMjpFOKYXJfIzmLI5WPvTe7B/uuEfZ8IT8nzZsi2VBwru01s+iEXs7th/rAp2Q74pWTW8Q8jhNL1E15Yct9K7yV1p6D7YPF/BCKtXKP6VzU2ULmTp6nlCkeDJvZgLP6UpzLJJ basti@windnix"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3iUaE0wXfRfG48bLs3pCSRi3TqH8a9yuh0JfycRv/Wai+hwJ/VopqxvN+L+NVFSEGWeTAvQRDzJZhgVgP29zrWALGnuvGCSi6jeuzhm57R2ebZcnXkS3fYiowfV34BJSmYkzM3mIg8ujxIp6R/7LqCx+7IKZfLqjeWAMFzVvZcF2aIs2OP59EWJYJN8fKSXpoMk6elnDwvxHD6zzNMhLu+n/7vKJccUoqJaEaPMd/AWyBi2aFn3C1btkFQ5fT8bO9Ob9t5eh97cyny9MAvlxPIHOR/xbJ80WMgVeqst/rb8atafe4UJVf643lzmzlbyxErBGAaeTY3p9Yc93QdvVP basti@basti-ThinkPad-T530"
|
|
||||||
];
|
|
||||||
|
|
||||||
leon.sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPZoT83l0ogbJpviBs4VmO+NdF4NPtYAnyf8RRSoXsv leon@leon"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANupx+diz5N8sGZOc7ZXopyPh9HaML8M7Qh70aVVIaJ leon@leons-Air"
|
|
||||||
];
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user