mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config.git
synced 2024-09-07 19:46:58 +00:00
Nix store is world-readable, and while nix repl fails to get the secret due to file permissions, we should still set up secrets without getting them in Nix store. In the past tmpfiles.d was used, but its entire contents get to the nix store. Now, all files with secrets are generated in activation scripts, with the help of jq and sed. Also dead Pleroma code was deleted, but CAPTCHA is still broken. Co-authored-by: inexcode <inex.code@selfprivacy.org> Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/pulls/19 Co-authored-by: Inex Code <inex.code@selfprivacy.org> Co-committed-by: Inex Code <inex.code@selfprivacy.org>
26 lines
614 B
Nix
26 lines
614 B
Nix
{ pkgs, config, ... }:
|
|
let
|
|
cfg = config.services.userdata;
|
|
in
|
|
{
|
|
users.mutableUsers = false;
|
|
users = {
|
|
users = {
|
|
"${cfg.username}" = {
|
|
isNormalUser = true;
|
|
hashedPassword = cfg.hashedMasterPassword;
|
|
openssh.authorizedKeys.keys = cfg.sshKeys;
|
|
};
|
|
} // builtins.listToAttrs (builtins.map
|
|
(user: {
|
|
name = "${user.username}";
|
|
value = {
|
|
isNormalUser = true;
|
|
hashedPassword = user.hashedPassword;
|
|
openssh.authorizedKeys.keys = (if user ? sshKeys then user.sshKeys else [ ]);
|
|
};
|
|
})
|
|
cfg.users);
|
|
};
|
|
}
|