42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ lib, ... }:
|
|
with lib;
|
|
let
|
|
admins = {
|
|
nerf = {
|
|
hashedPassword = "$y$j9T$b3ZDy/YaHDNiqcFFZyEcS.$HlWj1JiqbEMTsD0bMKSwKcJGO7cfpC4P8W8VAlvUTK/";
|
|
sshKeys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEdA4LpEGUUmN8esFyrNZXFb2GiBID9/S6zzhcnofQuP nerf@nerflap2"
|
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIEdfOWD1DLuB1Ho69uRC3VgQu+X3gExFzVHhu2CAl8JSAAAABHNzaDo= laptop_child-sk"
|
|
];
|
|
nixKeys = [
|
|
"nerflap2-1:pDZCg0oo9PxNQxwVSQSvycw7WXTl53PGvVeZWvxuqJc="
|
|
];
|
|
};
|
|
};
|
|
|
|
mkAdmin =
|
|
name:
|
|
{
|
|
hashedPassword,
|
|
sshKeys,
|
|
...
|
|
}:
|
|
{
|
|
"${name}" = {
|
|
isNormalUser = true;
|
|
createHome = true;
|
|
extraGroups = [ "wheel" ];
|
|
group = "users";
|
|
home = "/home/${name}";
|
|
openssh.authorizedKeys = {
|
|
keys = sshKeys;
|
|
};
|
|
inherit hashedPassword;
|
|
};
|
|
};
|
|
mkNixKeys = _: { nixKeys, ... }: nixKeys;
|
|
in
|
|
{
|
|
users.users = mkMerge (mapAttrsToList mkAdmin admins);
|
|
nix.settings.trusted-public-keys = lists.concatLists (mapAttrsToList mkNixKeys admins);
|
|
}
|