2024-09-26 12:23:43 +10:00
|
|
|
{ config, pkgs, ... }:
|
2022-01-09 15:34:55 +01:00
|
|
|
let
|
2024-10-29 15:15:32 +10:00
|
|
|
users = [
|
2022-01-09 15:34:55 +01:00
|
|
|
# 1. Generate an SSH key for your root account and add the public
|
|
|
|
# key to a file matching your name in ./keys/
|
|
|
|
#
|
|
|
|
# 2. Copy / paste this in order, alphabetically:
|
|
|
|
#
|
2022-01-16 10:23:57 -05:00
|
|
|
# youruser.keys = ./keys/youruser;
|
|
|
|
#
|
2024-10-29 15:15:32 +10:00
|
|
|
{
|
|
|
|
name = "0x4A6F";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/0x4A6F;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "afh";
|
2024-07-16 09:17:29 +02:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/afh;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "a-kenji";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/a-kenji;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "binarycat";
|
2024-03-11 13:17:51 -04:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/binarycat;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "binarycat-untrusted";
|
2024-03-29 13:59:43 -04:00
|
|
|
trusted = false;
|
|
|
|
keys = ./keys/binarycat;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "bobby285271";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/bobby285271;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "ckie";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/ckie;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "fgaz";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/fgaz;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "flokli";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/flokli;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "fmzakari";
|
2024-06-19 14:49:19 -07:00
|
|
|
# github: @fzakaria
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/fmzakari;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "glepage";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
2024-09-27 08:22:55 +02:00
|
|
|
shell = pkgs.fish;
|
2023-11-14 20:10:35 +10:00
|
|
|
keys = ./keys/glepage;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "hexchen";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/hexchen;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "janik";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/janik;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "jtojnar";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/jtojnar;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "lewo";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/lewo;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "lily";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/lily;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "linj";
|
2024-08-14 04:31:08 +08:00
|
|
|
# lib.maintainers.linj, https://github.com/jian-lin
|
|
|
|
trusted = true;
|
2024-09-27 09:55:12 +08:00
|
|
|
shell = pkgs.fish;
|
2024-08-14 04:31:08 +08:00
|
|
|
keys = ./keys/linj;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "mrcjkb";
|
2024-10-17 09:09:35 +02:00
|
|
|
# lib.maintainers.mrcjkb https://github.com/mrcjkb
|
|
|
|
trusted = true;
|
|
|
|
shell = pkgs.nushell;
|
|
|
|
keys = ./keys/mrcjkb;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "nicoo";
|
2024-05-12 18:07:29 +00:00
|
|
|
# lib.maintainers.nicoo, @nbraud on github.com
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/nicoo;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "raitobezarius";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/raitobezarius;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "networkexception";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/networkexception;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "pinpox";
|
2024-03-27 23:34:18 +01:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/pinpox;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "raboof";
|
2024-10-13 16:19:23 +02:00
|
|
|
# lib.maintainers.raboof, https://github.com/raboof
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/raboof;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "schmittlauch";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/schmittlauch;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "matthiasbeyer";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
2023-09-04 16:32:44 +10:00
|
|
|
keys = ./keys/matthiasbeyer;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "stephank";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/stephank;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "supinie";
|
2024-08-28 10:44:17 +01:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/supinie;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "teto";
|
2024-01-21 21:06:57 +01:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/teto;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "thecomputerguy";
|
2024-07-26 10:09:21 -07:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/thecomputerguy;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "tomberek";
|
2024-07-27 23:53:53 -04:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/tomberek;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "winter";
|
2023-11-14 20:10:35 +10:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/winter;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "matthewcroughan";
|
2024-02-24 15:51:53 +00:00
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/matthewcroughan;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "emily";
|
2024-07-10 09:06:44 +01:00
|
|
|
# lib.maintainers.emily, https://github.com/emilazy
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/emily;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "doronbehar";
|
2024-09-09 13:52:15 +03:00
|
|
|
# lib.maintainers.doronbehar, https://github.com/doronbehar
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/doronbehar;
|
2024-10-29 15:15:32 +10:00
|
|
|
}
|
2024-11-06 07:33:01 +01:00
|
|
|
{
|
|
|
|
name = "fpletz";
|
|
|
|
# lib.maintainers.fpletz, https://github.com/fpletz
|
|
|
|
trusted = true;
|
|
|
|
keys = ./keys/fpletz;
|
|
|
|
}
|
2024-10-29 15:15:32 +10:00
|
|
|
];
|
2022-08-14 16:49:30 +02:00
|
|
|
in
|
|
|
|
{
|
2024-10-29 15:15:32 +10:00
|
|
|
users.users = builtins.listToAttrs (
|
|
|
|
builtins.map (u: {
|
|
|
|
inherit (u) name;
|
|
|
|
value = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = if (u ? trusted && u.trusted) then [ "trusted" ] else [ ];
|
|
|
|
home = "/home/${u.name}";
|
|
|
|
createHome = true;
|
|
|
|
shell = u.shell or config.users.defaultUserShell;
|
|
|
|
openssh.authorizedKeys.keyFiles = [ u.keys ];
|
|
|
|
};
|
|
|
|
}) users
|
|
|
|
);
|
2022-01-09 15:34:55 +01:00
|
|
|
}
|