homepage finished, flame deprecated

This commit is contained in:
Danilo Reyes 2024-09-29 17:08:07 -06:00
parent 3e8aa1818b
commit e47c2a6974
16 changed files with 627 additions and 62 deletions

View File

@ -34,3 +34,10 @@ creation_rules:
- *workstation
- *server
- *miniserver
- path_regex: secrets/homepage.yaml$
key_groups:
- age:
- *devkey
- *workstation
- *server
- *miniserver

View File

@ -63,12 +63,12 @@
enableProxy = true;
};
flame = {
enable = true;
enableProxy = true;
enable = false;
enableProxy = false;
};
flameSecret = {
enable = true;
enableProxy = true;
enable = false;
enableProxy = false;
};
go-vod.enable = false;
homepage = {

View File

@ -13,31 +13,57 @@ in
options.my.servers.homepage = setup.mkOptions "homepage" "home" 8082;
config = {
networking.firewall.allowedTCPPorts = lib.mkIf (!cfg.isLocal) [ cfg.port ];
sops.secrets = lib.mkIf cfg.enable { homepage.sopsFile = ../../secrets/env.yaml; };
sops.secrets = lib.mkIf cfg.enable { homepage.sopsFile = ../../secrets/homepage.yaml; };
services = {
homepage-dashboard = lib.mkIf cfg.enable {
enable = true;
listenPort = cfg.port;
environmentFile = config.sops.secrets.homepage.path;
settings = {
background = {
image = "https://wallup.net/wp-content/uploads/2019/10/1027227-artwork-classic-art-painting-sailing-ship-sea-clouds-people-claude-joseph-vernet-night-moon.jpg";
blur = "sm";
};
layout = {
"multimedia" = {
tab = "servers";
stash = {
header = false;
tab = "secret";
style = "row";
columns = 2;
};
"piracy" = {
multimedia = {
header = false;
tab = "servers";
style = "row";
columns = 4;
};
"other" = {
tab = "chichis";
piracy = {
header = false;
tab = "servers";
style = "row";
columns = 4;
};
main = {
header = false;
tab = "servers";
style = "row";
columns = 3;
};
"server bookmarks" = {
header = false;
tab = "servers";
style = "row";
columns = 3;
};
art.tab = "bookmarks";
entertainment.tab = "bookmarks";
torrents.tab = "bookmarks";
shopping.tab = "bookmarks";
social.tab = "bookmarks";
development.tab = "bookmarks";
"secret art".tab = "secret";
"secret media".tab = "secret";
"secret social".tab = "secret";
};
background = "https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80";
};
widgets = [
{
@ -62,16 +88,17 @@ in
}
];
services = [
{ "stash" = [ { inherit (services) stash; } ]; }
{
"Multimedia" = [
"multimedia" = [
{ inherit (services) jellyfin; }
{ inherit (services) audiobookshelf; }
{ inherit (services) "now playing"; }
{ inherit (services) audiobookshelf; }
{ inherit (services) kavita; }
];
}
{
"Piracy" = [
"piracy" = [
{ inherit (services) sonarr; }
{ inherit (services) radarr; }
{ inherit (services) lidarr; }
@ -83,56 +110,24 @@ in
];
}
{
"Other" = [
{ inherit (services) mealie; }
"main" = [
{ inherit (services) nextcloud; }
{ inherit (services) mealie; }
{ inherit (services) paperless; }
];
}
];
bookmarks = [
{
servers = [
{
shiori = [
{
abbr = "SH";
href = "https://bookmarks.servidos.lat/";
}
];
maloja = [
{
abbr = "ML";
href = "https://maloja.servidos.lat/";
}
];
microbin = [
{
abbr = "CP";
href = "https://copy.servidos.lat/";
}
];
multi-scrobbpler = [
{
abbr = "MS";
href = "https://scrobble.servidos.lat/";
}
];
ryot = [
{
abbr = "RT";
href = "https://tracker.servidos.lat/";
}
];
vaultwarden = [
{
abbr = "VW";
href = "https://vault.servidos.lat";
}
];
}
];
}
(import ./homepage/bookmarks/servers.nix)
(import ./homepage/bookmarks/art.nix)
(import ./homepage/bookmarks/entertainment.nix)
(import ./homepage/bookmarks/torrents.nix)
(import ./homepage/bookmarks/shopping.nix)
(import ./homepage/bookmarks/social.nix)
(import ./homepage/bookmarks/development.nix)
(import ./homepage/bookmarks/secret-art.nix)
(import ./homepage/bookmarks/secret-media.nix)
(import ./homepage/bookmarks/secret-social.nix)
];
};
nginx.virtualHosts."${cfg.host}" = lib.mkIf cfg.enableProxy (

View File

@ -0,0 +1,44 @@
{
"art" = [
{
deviantart = [
{
abbr = "DA";
href = "https://deviantart.com/";
}
];
}
{
furaffinity = [
{
abbr = "FA";
href = "https://furaffinity.net/";
}
];
}
{
patreon = [
{
abbr = "PT";
href = "https://patreon.com/";
}
];
}
{
pillowfort = [
{
abbr = "PF";
href = "https://pillowfort.social/";
}
];
}
{
tumblr = [
{
abbr = "TB";
href = "https://tumblr.com/";
}
];
}
];
}

View File

@ -0,0 +1,44 @@
{
"development" = [
{
chatgpt = [
{
abbr = "CGPT";
href = "https://chatgpt.com/";
}
];
}
{
nixpkgssearch = [
{
abbr = "NS";
href = "https://search.nixos.org/packages";
}
];
}
{
github = [
{
abbr = "GH";
href = "https://github.com/";
}
];
}
{
gitlab = [
{
abbr = "GL";
href = "https://gitlab.com/";
}
];
}
{
exercism = [
{
abbr = "EX";
href = "https://exercism.org/";
}
];
}
];
}

View File

@ -0,0 +1,44 @@
{
"entertainment" = [
{
epicgames = [
{
abbr = "EG";
href = "https://store.epicgames.com/";
}
];
}
{
deezer = [
{
abbr = "DZ";
href = "https://deezer.com/us/";
}
];
}
{
readcomiconline = [
{
abbr = "RCO";
href = "https://readcomiconline.li/";
}
];
}
{
primevideo = [
{
abbr = "PV";
href = "https://primevideo.com/";
}
];
}
{
youtube = [
{
abbr = "YT";
href = "https://youtube.com/";
}
];
}
];
}

View File

@ -0,0 +1,60 @@
{
"secret art" = [
{
"{{HOMEPAGE_VAR_NAME_1}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_1}}";
href = "{{HOMEPAGE_VAR_URL_1}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_2}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_2}}";
href = "{{HOMEPAGE_VAR_URL_2}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_3}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_3}}";
href = "{{HOMEPAGE_VAR_URL_3}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_4}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_4}}";
href = "{{HOMEPAGE_VAR_URL_4}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_5}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_5}}";
href = "{{HOMEPAGE_VAR_URL_5}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_6}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_6}}";
href = "{{HOMEPAGE_VAR_URL_6}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_7}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_7}}";
href = "{{HOMEPAGE_VAR_URL_7}}";
}
];
}
];
}

View File

@ -0,0 +1,60 @@
{
"secret media" = [
{
"{{HOMEPAGE_VAR_NAME_8}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_8}}";
href = "{{HOMEPAGE_VAR_URL_8}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_9}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_9}}";
href = "{{HOMEPAGE_VAR_URL_9}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_10}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_10}}";
href = "{{HOMEPAGE_VAR_URL_10}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_11}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_11}}";
href = "{{HOMEPAGE_VAR_URL_11}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_12}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_12}}";
href = "{{HOMEPAGE_VAR_URL_12}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_13}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_13}}";
href = "{{HOMEPAGE_VAR_URL_13}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_14}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_14}}";
href = "{{HOMEPAGE_VAR_URL_14}}";
}
];
}
];
}

View File

@ -0,0 +1,60 @@
{
"secret social" = [
{
"{{HOMEPAGE_VAR_NAME_15}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_15}}";
href = "{{HOMEPAGE_VAR_URL_15}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_16}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_16}}";
href = "{{HOMEPAGE_VAR_URL_16}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_17}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_17}}";
href = "{{HOMEPAGE_VAR_URL_17}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_18}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_18}}";
href = "{{HOMEPAGE_VAR_URL_18}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_19}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_19}}";
href = "{{HOMEPAGE_VAR_URL_19}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_20}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_20}}";
href = "{{HOMEPAGE_VAR_URL_20}}";
}
];
}
{
"{{HOMEPAGE_VAR_NAME_21}}" = [
{
abbr = "{{HOMEPAGE_VAR_ABBR_21}}";
href = "{{HOMEPAGE_VAR_URL_21}}";
}
];
}
];
}

View File

@ -0,0 +1,52 @@
{
"server bookmarks" = [
{
shiori = [
{
abbr = "SH";
href = "https://bookmarks.servidos.lat/";
}
];
}
{
maloja = [
{
abbr = "ML";
href = "https://maloja.servidos.lat/";
}
];
}
{
microbin = [
{
abbr = "CP";
href = "https://copy.servidos.lat/";
}
];
}
{
multi-scrobbpler = [
{
abbr = "MS";
href = "https://scrobble.servidos.lat/";
}
];
}
{
ryot = [
{
abbr = "RT";
href = "https://tracker.servidos.lat/";
}
];
}
{
vaultwarden = [
{
abbr = "VW";
href = "https://vault.servidos.lat";
}
];
}
];
}

View File

@ -0,0 +1,44 @@
{
"shopping" = [
{
amazon = [
{
abbr = "AM";
href = "https://amazon.com.mx/";
}
];
}
{
cinepolis = [
{
abbr = "CP";
href = "https://cinepolis.com/";
}
];
}
{
paypal = [
{
abbr = "PP";
href = "https://paypal.com/";
}
];
}
{
walmart = [
{
abbr = "WM";
href = "https://super.walmart.com.mx/";
}
];
}
{
mercadolibre = [
{
abbr = "ML";
href = "https://mercadolibre.com.mx/";
}
];
}
];
}

View File

@ -0,0 +1,44 @@
{
"social" = [
{
bsky = [
{
abbr = "BS";
href = "https://bsky.app/";
}
];
}
{
facebook = [
{
abbr = "FB";
href = "https://facebook.com/";
}
];
}
{
instagram = [
{
abbr = "IG";
href = "https://instagram.com/";
}
];
}
{
reddit = [
{
abbr = "RD";
href = "https://reddit.com/";
}
];
}
{
x = [
{
abbr = "X";
href = "https://x.com/home";
}
];
}
];
}

View File

@ -0,0 +1,44 @@
{
"torrents" = [
{
docspedia = [
{
abbr = "DP";
href = "https://docspedia.world/";
}
];
}
{
teamos = [
{
abbr = "TM";
href = "https://teamos.xyz/";
}
];
}
{
iptorrents = [
{
abbr = "IPT";
href = "https://iptorrents.com/";
}
];
}
{
itatorrents = [
{
abbr = "ITA";
href = "https://itatorrents.xyz/";
}
];
}
{
fearnopeer = [
{
abbr = "FNP";
href = "https://fearnopeer.com/";
}
];
}
];
}

View File

@ -225,4 +225,24 @@
];
};
};
stash =
let
name = "stash";
url = "http://192.168.1.69:9999";
in
{
icon = "${name}.png";
href = url;
widget = {
type = name;
key = "{{HOMEPAGE_VAR_STASH}}";
inherit url;
fields = [
"scenes"
"images"
"playCount"
"oCount"
];
};
};
}

View File

@ -7,7 +7,6 @@ multi-scrobbler: ENC[AES256_GCM,data:v6j2bsn14gAifFKYk7A/mDxd+86PnYg1fvYGNtTQbo1
vaultwarden: ENC[AES256_GCM,data:BH+G8FmYylTbOhzZy6T+sW0q2myJC2zpd/SrtG5WC7N5fmV++X4h+6/tU5dFv4owIOLm/13oGrkT/KOWkF2wwQ7qeQQ8bsyloEigNBMW6d7/ihXZtdtYid1HQrvc6U+Sjl8CPjInHz5j9fy5ouMrmDCGVIYdNrDzFW8AYn7KFLIa3c7oCWMTBCOeGS5rD55GSwy5y4AvBx7Hj9xnZmGG2cnzt5CR9hr/fnZhBTcPxquUZw==,iv:CxDdtWC7zKJZ/Ikq5fV33AT6MYx+pbAGI0Cy6I1fcyo=,tag:q8w4maD3vXTdxCLZ7qbCjg==,type:str]
dns: ENC[AES256_GCM,data:eQACe2GRS0ZHyszFkZDG1CeJJZDe/0eXNnurujdv5VR5QQJjYRAQuJVzC3XgelXoWeIQdtW4IfpXTv7xaGuhEzPgsPm4hAdEKosNs6h0ZGg8FG73NSdMWw==,iv:n3i4Ll24+a82aKiRIJgMWLko1B2Lk7bLnpmUevBoHGA=,tag:bnZzVfRUSpZFvF2T6pMtsQ==,type:str]
cloudflare-api: ENC[AES256_GCM,data:iNUMlY8rz5yHVitpK4HGaFSK7j+c8Pm7rOQMOQGmSJ3a8ASyrtouPgLbcnoPY/jalsJYAj991dSiui+Vwqs=,iv:qWONG/KLd9/F4tqrWF5T25Zxst3bk+kOYaOFBFSBAAY=,tag:gRFxar8KS8gnX8oaCD156Q==,type:str]
homepage: ENC[AES256_GCM,data:/HeCr0Sv9wVldUEMpkFV0XMOkET+kx3WW5g81T7t1RXnzygD3503BfN7an131oGN7ITwZSsQPEt5XF41PBII0xUa3NJmpym60ajwwpaBV9EhHX4RKab5cmBjyQXpyn5dAf46j7G84nVyR5yRt4JcUTo368IOR7xBGFpJnfK5Fa1gcTtV0l1vToyAYzB5mSG0v5P9SRK9F8yX4rCX77rkK4ah6BJ13gQxY+c5bohf78yxVm9IUQaVchi8rr/RuZQ9HfPkawweE/QYwvYpw1EdS9DLflTx1ih8FneOGXHJXrym/5ck0UVxmspr8Ue3SDeG8VAmmNOorlHclXjYS9JGI5Wq0W8GAPO4+T7gKiSMoLRX4ED8dJUYvmBSGJ5rVvQ2tciVUufrSTabaD+DQVEBcvMA1GxdbvhI5ERICMesF7L0SHCyWL6tmUzvtYj9ed/C1eFlf/SdMx0QZcWXsFMRKamvh/cACnjOmv487uqhrkEzZGI439KALbSXMaM5OGCBXWvNbcuFPZVxzS1K0Dt10YthURqJ64Z9CC2T6a+ug4WkNRtpsHJQ7V7WVpiwUyZ256rM6EFU30xpG9Npf/h24F2SqQk59rgiRsIdTvr+w5RYX7RsBZ8b1V5kZGwQj1FkWZKa1Sy4aW8/25jNh9Gh0/+pFQazawk2hDvF1Mq8+ypLzXN0OruTx+iDgk6gWaPNEZIq7CJF1pz0pEd8OVL7b8KYDUPo06pmgP6qIOCZPAJkuUn/QXBEIKdwkztaW5iXoCwnGml3jiRdrx6gOWdX4hp9MMJv9rJHBJRwokND/z2YvHFHXwyEoBl16bRRlob3w7fMfnQQk03H5ATKxl0r+cZp2OVBy+Jl9iAXQuTY8+lHpmLu5aYkACyz9Rnqk6N11VjG2QborwnI+yFSNlJ7jeb2dTl0yhnaYTIo81xReXzL+7xH2DOF2kXr4mpWXuMIHfRA/yxvnMu+9kszVfPZCNDexvuUI90qE0eHhjOdUAPjojUq0tf0fhUkKAo5dlxgfhNrZGJL9r7vUZ5iAEfFlwXzjdLCBgRo7velLnXl3gczqor6gkwrMs5G1KWemMCGaH5uiw9Pggcyi8wF38Xuujpzrn3b/4n/yJbAc8KUuN1lQDnn9JsctONZusnj4QhvxWkBvh2WmbKbcFKoVjFD6yd9gknW1Ohm1cOxPcVsiLDS57tTdtPCu+H4OGvIfRNXiqLA2xH5yBlNS/rR/nVXpv8mOpYaa+BO/PI3mvxFkK2mn2EllCfve/gEEJorLyxLmeU7LvsDreprQkxTQiItMwhtvWcL3D0wEf5oN/fo/wLsix6oGAISpJ0oj9GERqs7nzLbmDKbty9seqHM6hBbIYcNL1RGk4aWzA24avDf8kUaMjABmdr5cwGau3yMDQS6x85+NXNJUv2y5iJaB7uP4/BN7Y6kXG9p9lOV4ptvr4DgFGdyKQyv8bywoOqba+reOchqXT4u0z9ed5ac6IC2mbSHgf0Utk9DtZoPO00A6NZxWscENQRzVgmD3rNuqzF2XUyoNFvmj26mq6GwMEey83OnaZi1iPEn9izhVWXIIR89PHg6UfpbwgBFyUenMYxH/KkGqTwLJHL+KMiVsk3y9s0muh8PxOCzRotFznKnAD+miPipB+hWKbKE+KuY6/WYl8dG0pow5Tl/e2+fCrdBWia+tmdfOWS8Ie4zS8WaVOGV3c6nD/mpOjxZMKtk/kJO3bQtN63NUeQcAxF9/sEIuk6qMMjPLoiB9Mif4mub5cxTeakT8NGSSZ+QE3lZgSwiRR6Q2y5kmdGNgadF9K0agc4q3EQTdjGc6T9ddhuahd9C3Yl2eMuOt6DJTEHnzWbJLpZ4hQOphRBN/Lw9uSxXi6Ipg28=,iv:3uYfzQSSlHWPzY9hsw+gxfjDoi2RRzRNMzijWsT4hlg=,tag:wpK17BR103Xkotx7r23Kiw==,type:str]
sops:
kms: []
gcp_kms: []
@ -50,8 +49,8 @@ sops:
QXRUYWtGcWZCVW11U3VYRktuUjlCbDgKsTK4WhUza/JuoDTU3uATa6fq/8eYzxtb
9BUK1ddzx9Mghea9XBMS17YGtGmW800OsLBomb3SINnOFvejcnKf8Q==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-09-29T06:05:56Z"
mac: ENC[AES256_GCM,data:FEWOtbQVjx49Bi0+z6NBz9t1bDHwI54tXehNy+6HRlsTJs+hhCG2nWmDq4EzwH2NI00leRy83gqCKKPeiyrtAAcn52EspaUYS6dca2luW6PA7R9n6+7AeK/qd++Ar/XkmOfdudlxkqk8hjEr075TTiXmKGUOIsc3+m1pZRRuOb4=,iv:XdtdFlxnQokGkR0K1nxEWPRRRX+8pZyQISNDjrPbK1U=,tag:+JLWkZOJaaE67j0HP0VJLg==,type:str]
lastmodified: "2024-09-29T21:13:47Z"
mac: ENC[AES256_GCM,data:2HpWQbRVzlZE66tz8yl3LYK5FOgl8yIE0P+dpXsDIb96/noUdm65hs+F6fyqt5cfyv69JbDwuITsrlSo3cbPO43YwyfB5QZSqxo5+EM36ZjT04+a9jdcjjLjN0L5MvcaPVA6EEw0I//Y6iKrBYhVIczhaNX1WuPu7walvatB6/Y=,iv:qmf7CResNaP7/gjMVXt+SxiYeWJusENCYgKKtsLMkLs=,tag:aUhBALq/oej6zZDAVJQRmA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

48
secrets/homepage.yaml Normal file

File diff suppressed because one or more lines are too long