nix-server/hosts/server/default.nix

77 lines
1.4 KiB
Nix
Executable file

{ config, lib, pkgs, ... }:
let
keys = import ./authorizedKeys.nix;
fetchSSH = (host: lib._.getSSH host keys);
fetchSSHKeys = map fetchSSH;
in {
imports = [
./hardware-configuration.nix
./webapps/default.nix
];
user = {
packages = with pkgs; [
git
curl
];
};
users.groups.dotfiles = {};
normalUsers = {
reidlab = {
conf = {
packages = with pkgs; [ bat tree micro duf ];
extraGroups = [ "wheel" "dotfiles" ];
openssh.authorizedKeys.keys = fetchSSHKeys [
"reidlab@rei-pc"
"reidlab@rei-phone"
];
};
homeConf.home = {
sessionVariables = {
EDITOR = "micro";
};
};
};
};
keyboard = {
locale = "en_US.UTF-8";
variant = "qwerty";
};
modules = {
services = {
ssh = {
enable = true;
requirePassword = false;
};
postgres.enable = true;
redis.enable = true;
mosh.enable = true;
};
security.enable = true;
};
time.timeZone = "America/Los_Angeles";
networking = {
hostName = "nixos-server-reid";
wireless = {
environmentFile = "/run/secrets/wireless.env";
enable = true;
userControlled.enable = true;
networks.Ryan.psk = "@password@";
};
};
boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true;
}