let # To add yourself: # 1. Add an entry to this list, using the next UID. # 2. Create a file in `keys` named your user name that contains your SSH key(s), separated by newlines. users = [ { name = "winter"; trusted = true; uid = 502; } { name = "stephank"; trusted = true; uid = 503; } { name = "hexa"; trusted = true; uid = 504; } { name = "0x4A6F"; trusted = true; uid = 505; } { name = "artturin"; trusted = true; uid = 506; } { name = "figsoda"; trusted = true; uid = 507; } { name = "raitobezarius"; trusted = true; uid = 508; } { name = "k900"; trusted = true; uid = 510; } { name = "julienmalka"; trusted = true; uid = 511; } { name = "dotlambda"; trusted = true; uid = 512; } { name = "lily"; trusted = true; uid = 513; } { name = "ma27"; trusted = true; uid = 514; } { name = "fab"; trusted = true; uid = 515; } { name = "phaer"; trusted = true; uid = 516; } { name = "emilylange"; trusted = true; uid = 517; } { name = "emilytrau"; trusted = true; uid = 518; } { name = "janik"; trusted = true; uid = 519; } { name = "delroth"; trusted = true; uid = 520; } { name = "toonn"; trusted = true; uid = 542; } { name = "glepage"; trusted = true; uid = 543; } { name = "anthonyroussel"; trusted = true; uid = 544; } { name = "sgo"; trusted = true; uid = 545; } { name = "chayleaf"; trusted = true; uid = 546; } { # https://github.com/lf- name = "jade"; trusted = true; uid = 547; } ]; in { users.users = builtins.listToAttrs (builtins.map (u: { inherit (u) name; value = { inherit (u) uid; home = "/Users/${u.name}"; createHome = true; shell = "/bin/zsh"; }; }) users); users.knownUsers = builtins.map (u: u.name) users; users.forceRecreate = true; environment.etc = builtins.listToAttrs (builtins.map (u: { name = "ssh/authorized_keys.d/${u.name}"; value = { source = ./keys/${u.name}; }; }) users); nix.settings.trusted-users = builtins.map (u: u.name) (builtins.filter (u: u.trusted) users); }