2019-08-06 10:56:54 -07:00
|
|
|
# Ao -- my home development server
|
|
|
|
|
|
|
|
{ config, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./. # import common settings
|
|
|
|
|
|
|
|
./modules/services/ssh.nix
|
|
|
|
./modules/services/nginx.nix
|
|
|
|
./modules/services/gitea.nix
|
|
|
|
./modules/services/syncthing.nix
|
2019-11-18 18:41:35 -08:00
|
|
|
|
|
|
|
./modules/shell/git.nix
|
2019-08-06 10:56:54 -07:00
|
|
|
./modules/shell/zsh.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
networking.hostName = "ao";
|
|
|
|
networking.networkmanager.enable = true;
|
2019-11-17 20:11:29 -08:00
|
|
|
|
2019-11-17 22:26:14 -08:00
|
|
|
# syncthing
|
2019-11-17 20:11:29 -08:00
|
|
|
services.syncthing.guiAddress = "192.168.1.10:8384";
|
2019-11-17 21:15:28 -08:00
|
|
|
networking.firewall.allowedTCPPorts = [ 8384 ];
|
2019-11-17 22:26:14 -08:00
|
|
|
|
|
|
|
# nginx hosts
|
2019-11-18 18:41:35 -08:00
|
|
|
services.nginx = {
|
|
|
|
user = "hlissner";
|
|
|
|
virtualHosts = {
|
|
|
|
"v0.io" = {
|
|
|
|
default = true;
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
root = "/var/www/v0.io";
|
|
|
|
};
|
|
|
|
"dl.v0.io" = {
|
|
|
|
enableACME = true;
|
|
|
|
addSSL = true;
|
|
|
|
root = "/var/www/dl.v0.io";
|
|
|
|
locations."~* \.(?:ico|css|js|gif|jpe?g|png|mp4)$".extraConfig = ''
|
|
|
|
expires 30d;
|
|
|
|
add_header Pragma public;
|
|
|
|
add_header Cache-Control public;
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
"git.v0.io" = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
locations."/".proxyPass = http://127.0.0.1:3000;
|
|
|
|
};
|
2019-11-17 22:26:14 -08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-11-17 22:27:04 -08:00
|
|
|
security.acme.certs = {
|
2019-11-17 22:26:14 -08:00
|
|
|
"v0.io".email = "henrik@lissner.net";
|
|
|
|
"dl.v0.io".email = "henrik@lissner.net";
|
2019-11-18 18:41:35 -08:00
|
|
|
"git.v0.io".email = "henrik@lissner.net";
|
2019-11-17 22:26:14 -08:00
|
|
|
};
|
2019-08-06 10:56:54 -07:00
|
|
|
}
|