nixos-config/modules/nixos/shared/primary-as-admin.nix
2024-10-26 09:28:28 -04:00

29 lines
739 B
Nix

# Make flake.config.peope.myself the admin of the machine
{ flake, pkgs, lib, ... }:
{
# Login via SSH with mmy SSH key
users.users =
let
me = flake.config.me;
myKeys = [ me.sshKey ];
in
{
root.openssh.authorizedKeys.keys = myKeys;
${me.username} = {
openssh.authorizedKeys.keys = myKeys;
shell = pkgs.zsh;
} // lib.optionalAttrs pkgs.stdenv.isLinux {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" ];
};
};
programs.zsh.enable = lib.mkIf pkgs.stdenv.isLinux true;
# Make me a sudoer without password
security = lib.optionalAttrs pkgs.stdenv.isLinux {
sudo.execWheelOnly = true;
sudo.wheelNeedsPassword = false;
};
}