server-config/configuration.nix

68 lines
1.6 KiB
Nix

{ pkgs, system, builders, ... }: {
imports = [
./hardware-configuration.nix
./networking.nix # generated at runtime by nixos-infect
./goaccess.nix
];
nix = {
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
environment.systemPackages = with pkgs; [
git
];
boot.cleanTmpDir = true;
networking.hostName = "nixos-droplet-v2";
networking.firewall.allowPing = true;
networking.firewall.allowedTCPPorts = [ 22 80 443 ];
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJXYJZfEOgccfCa3uQV9z2rHvGn4AuVnXbIDXv27HgEk vanilla@arch-xps"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOzk0SnRBJhpfNpPBgkReQoDpul2Egl2yJhRw7ldYEzF NixOS"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAoyFSuik6XRU2b+O4v9C1bc7rKJyjKgzUeaBaVNQKN6 vanilla-pinebook"
];
users.groups.www = {};
services.nginx.group = "www";
services.goaccess = {
enable = true;
user = "goaccess";
group = "www";
dir = "/var/www/goaccess";
host = "dash.danilafe.com";
};
services.danilafe-blog = {
enable = true;
challengePath = "/var/www/challenges";
sites = [
(builders.english {
ssl = true;
host = "danilafe.com";
})
(builders.english {
drafts = true;
host = "drafts.danilafe.com";
})
(builders.russian {
drafts = true;
host = "drafts.ru.danilafe.com";
})
];
};
users.defaultUserShell = pkgs.zsh;
programs.zsh.enable = true;
programs.zsh.ohMyZsh = {
enable = true;
plugins = [ "git" ];
};
}