Merge branch 'refactor'

This commit is contained in:
William 2025-10-17 07:26:14 -03:00
commit ee1ed3b88e
8 changed files with 91 additions and 38 deletions

View file

@ -1,11 +1,14 @@
{ inputs, ... }:
let
utils = import ./utils.nix { inherit inputs; };
inherit (utils) mkHome;
lib = inputs.nixpkgs.lib;
utils = import ./utils.nix { inherit inputs lib; };
inherit (utils) mkUser;
in
{
flake.homeConfigurations = {
"user@rotterdam" = mkHome {
"user@rotterdam" = mkUser {
username = "user";
tags = [
"btop"
@ -20,7 +23,7 @@ in
];
};
"user@io" = mkHome {
"user@io" = mkUser {
username = "user";
tags = [
"btop"

View file

@ -1,5 +1,13 @@
{ ... }:
{
config,
lib,
inputs,
...
}:
let
utils = import ../../utils.nix { inherit inputs lib; };
inherit (utils) mkNginxVHosts;
in
{
services.forgejo = {
enable = true;
@ -18,4 +26,10 @@
actions.ENABLED = false;
};
};
services.nginx.virtualHosts = mkNginxVHosts {
acmeHost = "baduhai.dev";
domains."git.baduhai.dev".locations."/".proxyPass =
"http://unix:${config.services.forgejo.settings.server.HTTP_ADDR}:/";
};
}

View file

@ -1,8 +1,16 @@
{ ... }:
{ lib, inputs, ... }:
let
utils = import ../../utils.nix { inherit inputs lib; };
inherit (utils) mkNginxVHosts;
in
{
services.jellyfin = {
enable = true;
openFirewall = true;
};
services.nginx.virtualHosts = mkNginxVHosts {
acmeHost = "baduhai.dev";
domains."jellyfin.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:8096/";
};
}

View file

@ -1,5 +1,8 @@
{ ... }:
{ lib, inputs, ... }:
let
utils = import ../../utils.nix { inherit inputs lib; };
inherit (utils) mkNginxVHosts;
in
{
virtualisation.oci-containers.containers."librespeed" = {
image = "lscr.io/linuxserver/librespeed:latest";
@ -11,4 +14,9 @@
"--label=io.containers.autoupdate=registry"
];
};
services.nginx.virtualHosts = mkNginxVHosts {
acmeHost = "baduhai.dev";
domains."speedtest.baduhai.dev".locations."/".proxyPass = "http://librespeed:80/";
};
}

View file

@ -1,5 +1,13 @@
{ config, lib, ... }:
{
config,
lib,
inputs,
...
}:
let
utils = import ../../utils.nix { inherit inputs lib; };
inherit (utils) mkNginxVHosts;
in
{
security.acme = {
acceptTerms = true;
@ -26,27 +34,9 @@
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts =
let
commonVHostConfig = {
useACMEHost = "baduhai.dev";
forceSSL = true;
kTLS = true;
};
in
lib.mapAttrs (_: lib.recursiveUpdate commonVHostConfig) {
"_".locations."/".return = "444";
"cloud.baduhai.dev" = { };
"git.baduhai.dev".locations."/".proxyPass =
"http://unix:${config.services.forgejo.settings.server.HTTP_ADDR}:/";
"jellyfin.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:8096/";
"office.baduhai.dev".locations."/" = {
proxyPass = "http://unix:/run/coolwsd/coolwsd.sock";
proxyWebsockets = true;
};
"pass.baduhai.dev".locations."/".proxyPass =
"http://unix:${config.services.vaultwarden.config.ROCKET_ADDRESS}:/";
"speedtest.baduhai.dev".locations."/".proxyPass = "http://librespeed:80/";
virtualHosts = mkNginxVHosts {
acmeHost = "baduhai.dev";
domains."_".locations."/".return = "444";
};
};

View file

@ -1,5 +1,13 @@
{ ... }:
{
config,
lib,
inputs,
...
}:
let
utils = import ../../utils.nix { inherit inputs lib; };
inherit (utils) mkNginxVHosts;
in
{
services.vaultwarden = {
enable = true;
@ -9,4 +17,10 @@
ROCKET_ADDRESS = "/run/vaultwarden/vaultwarden.sock";
};
};
services.nginx.virtualHosts = mkNginxVHosts {
acmeHost = "baduhai.dev";
domains."pass.baduhai.dev".locations."/".proxyPass =
"http://unix:${config.services.vaultwarden.config.ROCKET_ADDRESS}:/";
};
}

View file

@ -1,6 +1,7 @@
{ inputs, ... }:
let
utils = import ./utils.nix { inherit inputs; };
lib = inputs.nixpkgs.lib;
utils = import ./utils.nix { inherit inputs lib; };
inherit (utils) mkHost;
in
{

View file

@ -1,4 +1,4 @@
{ inputs }:
{ inputs, lib }:
let
inherit (inputs)
self
@ -172,4 +172,19 @@ in
}
];
};
# Nginx virtual host utilities
mkNginxVHosts =
{
acmeHost,
domains,
}:
let
commonVHostConfig = {
useACMEHost = acmeHost;
forceSSL = true;
kTLS = true;
};
in
lib.mapAttrs (_: lib.recursiveUpdate commonVHostConfig) domains;
}