homepage finished, flame deprecated

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

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"
];
};
};
}