infrastructure/configuration/common/users.nix

86 lines
No EOL
2 KiB
Nix

{ config, pkgs, ... }:
{
users.users.root = {
openssh.authorizedKeys.keys = with pkgs.lib; concatLists (mapAttrsToList (name: user: if elem "wheel" user.extraGroups then user.openssh.authorizedKeys.keys else []) config.users.users);
};
users.users.kat = {
uid = 1000;
isNormalUser = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDX2x9eT02eJn2lAc7zA3c84+FXkft1f3hbTXKZ6+q/F kat@yule"
];
shell = pkgs.fish;
extraGroups = [ "wheel" ];
};
home-manager.useGlobalPkgs = true;
home-manager.users.kat = {
programs.firefox = {
enable = true;
};
programs.fish = {
enable = true;
plugins = [
{
name = "bass";
src = pkgs.fetchFromGitHub {
owner = "edc";
repo = "bass";
rev = "d63054b24c2f63aaa3a08fb9ec9d0da4c70ab922";
sha256 = "0pwci5xxm8308nrb52s5nyxijk0svar8nqrdfvkk2y34z1cg319b";
};
}
];
};
programs.starship = {
enable = true;
enableFishIntegration = true;
};
programs.git = {
enable = true;
userName = "katrin fénix";
userEmail = "me@dork.dev";
};
programs.kakoune = {
enable = true;
};
programs.ssh = {
enable = true;
controlMaster = "auto";
controlPersist = "10m";
hashKnownHosts = true;
matchBlocks = let
kat = {
forwardAgent = true;
extraOptions = {
RemoteForward = "/run/user/1000/gnupg/S.gpg-agent /run/user/1000/gnupg/S.gpg-agent.extra";
};
port = 62954;
};
in {
"beltane" = {
hostname = "beltane.dork.dev";
} // kat;
"samhain" = {
hostname = "192.168.1.135";
} // kat;
"litha" = {
hostname = "192.168.1.240";
} // kat;
"yule" = {
hostname = "192.168.1.92";
} // kat;
};
};
programs.bat.enable = true;
programs.tmux.enable = true;
};
}