65 lines
2.5 KiB
Nix
65 lines
2.5 KiB
Nix
# common/users/default.nix
|
|
|
|
# Inputs to this NixOS module, in this case we are
|
|
# using `pkgs` so we can have some user specific packages and config
|
|
# to configure the root ssh key.
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
# Setup ZSH to use grml config
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
syntaxHighlighting.enable = true;
|
|
interactiveShellInit = ''
|
|
source "${pkgs.grml-zsh-config}/etc/zsh/zshrc"
|
|
source "${pkgs.fzf}/share/fzf/key-bindings.zsh"
|
|
source "${pkgs.fzf}/share/fzf/completion.zsh"
|
|
eval "$(${pkgs.zoxide}/bin/zoxide init zsh)"
|
|
'';
|
|
# otherwise it'll override the grml prompt
|
|
promptInit = "";
|
|
};
|
|
|
|
environment.pathsToLink = [ "/share/zsh" ];
|
|
|
|
# Disable sudo prompt for `wheel` users.
|
|
security.sudo.wheelNeedsPassword = false;
|
|
|
|
# The block that specifies my user account.
|
|
users.extraUsers.victor = {
|
|
# This account is intended for a non-system user.
|
|
isNormalUser = true;
|
|
|
|
# My default shell
|
|
shell = pkgs.zsh;
|
|
|
|
# My SSH keys.
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC3alaexJkUAi/81weIGGTNrkRf+x0UT0wTWNENOc8bakmgzPg0STopCwHYAHoNHDC1dorVpVfCqWsAx9ta9KOCvqo3BS7rOWlASSna2fejvnNZAy6yzdvWq8Bclg7U40ic8ubnLw7l9nompHk7kzwVN6a6wqVfM5aefEXpaE4rlXu56yF81RR1TaWMnTvD7JMzyeDHt29DPdw+/ivOy3SXC8lUOukQLycNYduBO911gegkKH7mRNrqgYCuV6PF38CZPAhboC0JbpMKsiHInfY6iTrST035JIuVfEG0oRlW7BSsSfafPBlstyvf63mjjCJ13/47PyvkxWB47UYtYUjtQvrlzQtGlxyljyARL6x6RC6WY2Hluej4kWRVrJNRtDZAx+AeYa2jgUeD+RWPUQuXYLXs+0F1A7/y/m3FiuBMpB6neptX/jRY7aI1XDZiO23Pyui0pCsl9c8PQFltwvL1N32miRGhA/2DPhrKgpLRcRNglwRPZSkc+3er1cuUrs= victor@eevee"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjJmG5W+uO+KTOmzknOfzkjbCtOCpO9tSxLN2BG6hxCsKPN1U31WDiajeHrZFselpWG80710Ne3wAlWduU3aUTeXdms0N99F7CbIFHXRqU0aEu4FN3WDuv0bRLoc+Ern9V7R4DvtxyNFd66yLzvzfT2/0nudiIkWV6W8qF4W6wJF+/TVTYcwZzVTBfpqUG9LMyMB1e6c0DYISmIGT0Q5s0sb2Hrs5Xa2Q7vgAevHJJzPojGQ+zcK/nHos4/glnDGoj9iyj55zB48LycLxjpFL9GAZfBZPi0SXVRy3gEVPkeger0e4OSumYiEbZhcV3MdtffSIHmq3ehgXi0FyBeMhsw== victor@xirion.net"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMMbdjysLnmwJD5Fs/SjBPstdIQNUxy8zFHP0GlhHMJB victor@bastion"
|
|
];
|
|
|
|
# Make me admin
|
|
extraGroups = [ "wheel" ];
|
|
};
|
|
|
|
# Configure the root account
|
|
users.extraUsers.root = {
|
|
# Allow my SSH keys for logging in as root.
|
|
openssh.authorizedKeys.keys = config.users.users.victor.openssh.authorizedKeys.keys;
|
|
# Also use zsh for root
|
|
shell = pkgs.zsh;
|
|
};
|
|
|
|
# Setup packages available everywhere
|
|
environment.systemPackages = with pkgs; [
|
|
fzf
|
|
git
|
|
htop
|
|
rsync
|
|
neovim
|
|
zoxide
|
|
];
|
|
}
|