{ 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"; networkmanager.enable = true; }; boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; }