treewide: migrate domains

This commit is contained in:
Gabriel Fontes
2022-08-29 19:26:33 -03:00
parent bd517fd7ca
commit 6c51531442
18 changed files with 155 additions and 133 deletions
Generated
+9 -9
View File
@@ -196,15 +196,15 @@
},
"impermanence": {
"locked": {
"lastModified": 1657768550,
"narHash": "sha256-9U4yL5iR/NSntuDoKxmhhftyM94YkZrjzmEB1fgqvys=",
"owner": "misterio77",
"lastModified": 1661590580,
"narHash": "sha256-XoPSucNvccnT50LWme/7BiENZDwr8tArEg36OGQFFnA=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "e058964c0b184b95148b336ed0db484cc1f7987c",
"rev": "2237ad28093cb53ad2eb0fd1a9f870997287e0fa",
"type": "github"
},
"original": {
"owner": "misterio77",
"owner": "nix-community",
"repo": "impermanence",
"type": "github"
}
@@ -393,15 +393,15 @@
]
},
"locked": {
"lastModified": 1657771335,
"lastModified": 1661429880,
"narHash": "sha256-7/m468XZW82O7KhDtRdQ7RnPsh83+tA8N4U0FncFo1U=",
"owner": "misterio77",
"owner": "cid-chan",
"repo": "peerix",
"rev": "dd421315a08f88d50cdb5fc8e1da584f9a77cf6f",
"rev": "32cd1b098b83c90726848bd6726f74e72c557abb",
"type": "github"
},
"original": {
"owner": "misterio77",
"owner": "cid-chan",
"repo": "peerix",
"type": "github"
}
+2 -2
View File
@@ -6,7 +6,7 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hardware.url = "github:nixos/nixos-hardware";
nur.url = "github:nix-community/NUR";
impermanence.url = "github:misterio77/impermanence"; # TODO change to upstream after #99 is merged
impermanence.url = "github:nix-community/impermanence";
nix-colors.url = "github:misterio77/nix-colors";
home-manager = {
@@ -22,7 +22,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
peerix = {
url = "github:misterio77/peerix"; # TODO change to upstream after #13 is merged
url = "github:cid-chan/peerix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-mailserver = {
+1 -1
View File
@@ -44,7 +44,7 @@ in
publicKeys = [
{
source = fetchKey {
url = "https://fontes.dev.br/7088C7421873E0DB97FF17C2245CAB70B4C225E9.asc";
url = "https://gsfontes.com/7088C7421873E0DB97FF17C2245CAB70B4C225E9.asc";
sha256 = "sha256:1d3qjnj27qygs9vbc61c7g5a84mfrj45ajsc8dgsjbibvml7l915";
};
trust = 5;
+8 -1
View File
@@ -7,7 +7,14 @@ in
programs.ssh = {
enable = true;
matchBlocks.home = {
host = builtins.concatStringsSep " " (hostnames ++ [ "fontes.dev.br" "*.fontes.dev.br" "misterio.me" "*.misterio.me" ]);
host = builtins.concatStringsSep " " (hostnames ++ [
"misterio.me"
"*.misterio.me"
"*.ts.misterio.me"
"m7.rs"
"*.m7.rs"
"*.ts.m7.rs"
]);
forwardAgent = true;
remoteForwards = [{
bind.address = ''/run/user/1000/gnupg/S.gpg-agent'';
+1 -1
View File
@@ -1,6 +1,6 @@
{
programs.xpo = {
enable = true;
defaultServer = "electra.fontes.dev.br";
defaultServer = "m7.rs";
};
}
+2 -2
View File
@@ -1,4 +1,4 @@
{ config, persistence, lib, ... }: {
{ persistence, lib, ... }: {
home.persistence = lib.mkIf persistence {
"/persist/games/misterio" = {
allowOther = true;
@@ -11,7 +11,7 @@
".local/share/Paradox Interactive"
".paradoxlauncher"
{
path = ".local/share/Steam";
directory = ".local/share/Steam";
method = "symlink";
}
];
+10 -8
View File
@@ -15,12 +15,13 @@ let
text = ''
${realName}
https://misterio.me
https://gsfontes.com
PGP: ${gpg.key}
'';
};
};
in {
in
{
home.persistence = lib.mkIf persistence {
"/persist/home/misterio".directories = [ "Mail" ];
};
@@ -30,13 +31,14 @@ in {
accounts = {
personal = rec {
primary = true;
# TODO update email
address = "eu@misterio.me";
address = "gabriel@gsfontes.com";
userName = address;
passwordCommand = "${pass} mail.gandi.net/${address}";
imap.host = "mail.gandi.net";
smtp.host = "mail.gandi.net";
folders = { inbox = "INBOX"; };
passwordCommand = "${pass} mail1.netim.hosting/${address}";
imap.host = "mail1.netim.hosting";
smtp.host = "mail1.netim.hosting";
folders = {
inbox = "INBOX";
};
mbsync = {
enable = true;
create = "maildir";
+1 -1
View File
@@ -95,7 +95,7 @@
}
];
extraConfig = ''
alternates "eu@misterio.me|gabriel.fontes@uget.express|g.fontes@usp.br|gabriel@fontes.dev.br"
alternates "gabriel@gsfontes.com|hi@m7.rs|eu@misterio.me|gabriel.fontes@uget.express|g.fontes@usp.br"
'' + ''
# From: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-colors-solarized-dark-16.muttrc
+3
View File
@@ -8,6 +8,7 @@ in {
[ "Calendars" "Contacts" ".local/share/vdirsyncer" ];
};
# TODO: migrate caldav and carddav elsewhere
xdg.configFile."vdirsyncer/config".text = ''
[general]
status_path = "~/.local/share/vdirsyncer/status"
@@ -48,6 +49,7 @@ in {
password.fetch = ["command", "${pass}", "mail.gandi.net/eu@misterio.me"]
'';
/*
systemd.user.services.vdirsyncer = {
Unit = { Description = "vdirsyncer synchronization"; };
Service = let keyring = import ./keyring.nix { inherit pkgs; };
@@ -67,4 +69,5 @@ in {
};
Install = { WantedBy = [ "timers.target" ]; };
};
*/
}
+1 -1
View File
@@ -13,7 +13,7 @@
networking = {
hostName = hostname;
domain = "fontes.dev.br";
domain = "m7.rs";
};
environment = {
+16 -19
View File
@@ -4,24 +4,22 @@ let
in
{
services = {
nginx.virtualHosts = {
"fontes.dev.br" = {
forceSSL = true;
enableACME = true;
locations = {
"=/git/style.css" = {
alias = "${./cgit.css}";
};
"=/git".return = "301 https://fontes.dev.br/git/";
"/git/" = {
root = "${cgit}/cgit";
extraConfig = ''
rewrite ^/git/(.*) /$1 break;
include ${pkgs.nginx}/conf/uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass unix:/run/uwsgi/cgit.sock;
'';
};
nginx.virtualHosts."gsfontes.com" = {
forceSSL = true;
enableACME = true;
locations = {
"=/git/style.css" = {
alias = "${./cgit.css}";
};
"=/git".return = "301 https://gsfontes.com/git/";
"/git/" = {
root = "${cgit}/cgit";
extraConfig = ''
rewrite ^/git/(.*) /$1 break;
include ${pkgs.nginx}/conf/uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass unix:/run/uwsgi/cgit.sock;
'';
};
};
};
@@ -57,7 +55,6 @@ in
root-title=My git repos
root-desc=Source code for some of my projects
logo-link=https://fontes.dev.br
enable-http-clone=1
noplainemail=1
+8 -9
View File
@@ -5,33 +5,32 @@
enable = true;
address = "0.0.0.0";
dns = {
baseDomain = "fontes.dev.br";
baseDomain = "m7.rs";
magicDns = true;
domains = [ "ts.fontes.dev.br" ];
domains = [ "ts.m7.rs" ];
nameservers = [
"9.9.9.9"
];
};
port = 8085;
serverUrl = "https://tailscale.fontes.dev.br";
serverUrl = "https://tailscale.m7.rs";
logLevel = "warn";
settings = {
logtail.enabled = false;
};
};
nginx.virtualHosts = let
location = "http://localhost:${toString config.services.headscale.port}";
in {
"tailscale.fontes.dev.br" = {
nginx.virtualHosts = {
"tailscale.m7.rs" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = location;
locations."/".proxyPass =
"http://localhost:${toString config.services.headscale.port}";
};
"tailscale.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = location;
locations."/".return = "302 https://tailscale.m7.rs$request_uri";
};
};
};
+5 -5
View File
@@ -6,16 +6,16 @@
mailserver = {
enable = true;
fqdn = "mail.fontes.dev.br";
sendingFqdn = "electra.fontes.dev.br";
domains = [ "fontes.dev.br" ];
fqdn = "mail.m7.rs";
sendingFqdn = "electra.m7.rs";
domains = [ "m7.rs" ];
useFsLayout = true;
certificateScheme = 3;
localDnsResolver = false;
loginAccounts = {
"gabriel@fontes.dev.br" = {
"hi@m7.rs" = {
hashedPasswordFile = config.sops.secrets.gabriel-mail-password.path;
aliases = [ "@fontes.dev.br" ];
aliases = [ "@m7.rs" ];
};
};
};
+50 -47
View File
@@ -6,60 +6,63 @@ let
echo -n ''${dt/+0000/GMT} > $out
''
);
redir = {
forceSSL = true;
enableACME = true;
locations."/".return = "302 https://gsfontes.com$request_uri";
};
in
{
services =
let
redir = {
services = {
nginx.virtualHosts = {
"m7.rs" = redir;
"misterio.me" = redir;
"fontes.dev.br" = redir;
"gsfontes.com" = {
default = true;
forceSSL = true;
enableACME = true;
locations."/" = {
return = "302 https://fontes.dev.br$request_uri";
};
};
in
{
nginx.virtualHosts = {
"misterio.me" = redir;
"www.fontes.dev.br" = redir;
"gabriel.fontes.dev.br" = redir;
"fontes.dev.br" = {
default = true;
forceSSL = true;
enableACME = true;
locations = {
"/" = {
root = "${pkgs.website.main}/public";
extraConfig = ''
add_header Last-Modified "${toDateTime inputs.website.lastModified}";
add_header Cache-Control max-age="${toString (60 * 60 * 24 /* One day */)}";
'';
};
"/assets" = {
root = "${pkgs.website.main}/public";
extraConfig = ''
add_header Last-Modified "${toDateTime inputs.website.lastModified}";
add_header Cache-Control max-age="${toString (30 * 60 * 60 * 24 /* One month */)}";
'';
};
locations = {
"/" = {
root = "${pkgs.website.main}/public";
extraConfig = ''
add_header Last-Modified "${toDateTime inputs.website.lastModified}";
add_header Cache-Control max-age="${toString (60 * 60 * 24 /* One day */)}";
'';
};
"/assets" = {
root = "${pkgs.website.main}/public";
extraConfig = ''
add_header Last-Modified "${toDateTime inputs.website.lastModified}";
add_header Cache-Control max-age="${toString (30 * 60 * 60 * 24 /* One month */)}";
'';
};
};
};
# Gemini
agate = {
enable = true;
contentDir = pkgs.linkFarm "agate-website" [
{
name = "misterio.me";
path = "${pkgs.website.main}/public";
}
{
name = "fontes.dev.br";
path = "${pkgs.website.main}/public";
}
];
hostnames = [ "misterio.me" "fontes.dev.br" ];
};
};
# Gemini
agate = {
enable = true;
contentDir = pkgs.linkFarm "agate-website" [
{
name = "misterio.me";
path = "${pkgs.website.main}/public";
}
{
name = "fontes.dev.br";
path = "${pkgs.website.main}/public";
}
{
name = "m7.rs";
path = "${pkgs.website.main}/public";
}
{
name = "gsfontes.com";
path = "${pkgs.website.main}/public";
}
];
hostnames = [ "misterio.me" "fontes.dev.br" "m7.rs" "gsfontes.com" ];
};
};
networking.firewall.allowedTCPPorts = [ 1965 ];
}
+3 -1
View File
@@ -39,11 +39,13 @@ in
};
# Proxy for squaremap
services.nginx.virtualHosts."mc.misterio.me" = {
/*
services.nginx.virtualHosts."mc.m7.rs" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = "http://localhost:8123";
};
*/
# Open ports
networking.firewall = {
+17 -5
View File
@@ -1,8 +1,20 @@
{
services.nginx.virtualHosts."files.misterio.me" = {
default = true;
forceSSL = true;
enableACME = true;
locations."/".root = "/media/files";
services.nginx.virtualHosts = {
"files.m7.rs" = {
default = true;
forceSSL = true;
enableACME = true;
locations."/".root = "/media/files";
};
"f.m7.rs" = {
forceSSL = true;
enableACME = true;
locations."/".return = "302 https://files.m7.rs$request_uri";
};
"files.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".return = "302 https://files.m7.rs$request_uri";
};
};
}
+12 -10
View File
@@ -11,17 +11,19 @@
};
};
nginx.virtualHosts =
let
location = "http://localhost:${toString config.services.navidrome.settings.Port}";
in
{
"music.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = location;
};
nginx.virtualHosts = {
"music.m7.rs" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass =
"http://localhost:${toString config.services.navidrome.settings.Port}";
};
"music.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".return = "302 https://music.m7.rs$request_uri";
};
};
};
environment.persistence = lib.mkIf persistence {
+6 -11
View File
@@ -17,17 +17,12 @@
}];
};
nginx.virtualHosts =
let
location = "http://localhost:${toString config.services.paste-misterio-me.port}";
in
{
"paste.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = location;
};
};
nginx.virtualHosts."paste.misterio.me" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass =
"http://localhost:${toString config.services.paste-misterio-me.port}";
};
};
sops.secrets.paste-misterio-me-key = {