finally works again

This commit is contained in:
2026-08-03 13:22:28 -04:00
parent 4d72aa979a
commit a7f8971df1
16 changed files with 128 additions and 168 deletions
+27
View File
@@ -0,0 +1,27 @@
{ config, lib, pkgs, inputs, ... }:
let
website = pkgs.stdenv.mkDerivation {
name = "website";
src = inputs.grasswren;
nativeBuildInputs = [ pkgs.hugo ];
buildPhase = "hugo --minify";
installPhase = "cp -r public $out";
};
in
{
services.caddy = {
enable = true;
virtualHosts."grasswren.net".extraConfig = ''
encode
root * ${website}/home
file_server
'';
virtualHosts."blog.grasswren.net".extraConfig = ''
encode
root * ${website}/blog
file_server
'';
};
}
+30
View File
@@ -0,0 +1,30 @@
{ config, lib, pkgs, ... }:
{
services.postgresql = {
enable = true;
ensureDatabases = [ "gitea" ];
ensureUsers = [{
name = "gitea";
ensureDBOwnership = true;
}];
};
services.gitea = {
enable = true;
appName = "Lilac's Code";
database = {
type = "postgres";
host = "/run/postgresql";
name = "gitea";
user = "gitea";
};
};
services.caddy = {
enable = true;
virtualHosts."code.grasswren.net".extraConfig = ''
reverse_proxy localhost:3000
'';
};
}
+5
View File
@@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
}
+15
View File
@@ -0,0 +1,15 @@
{ config, lib, pkgs, ... }:
{
services.navidrome = {
enable = true;
settings.MusicFolder = "/var/lib/music";
};
services.caddy = {
enable = true;
virtualHosts."music.grasswren.net".extraConfig = ''
reverse_proxy localhost:4533
'';
};
}
+17
View File
@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
{
services.immich = {
enable = true;
host = "127.0.0.1";
port = 2283;
mediaLocation = "/var/lib/immich";
};
services.caddy = {
enable = true;
virtualHosts."photo.grasswren.net".extraConfig = ''
reverse_proxy localhost:2283
'';
};
}
+31
View File
@@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
{
services.headscale = {
enable = true;
settings = {
server_url = "https://vpn.grasswren.net";
listen_addr = "127.0.0.1:8080";
database.type = "sqlite";
ip_prefixes = [
"100.64.0.0/10"
"fd7a:115c:a1e0::/48"
];
dns = {
magic_domain = true;
base_domain = "vpn.grasswren.net";
nameservers.global = [ "1.1.1.1" ];
};
};
};
services.caddy = {
enable = true;
virtualHosts."vpn.grasswren.net".extraConfig = ''
reverse_proxy localhost:8080
'';
};
}