295 lines
7.7 KiB
Nix
295 lines
7.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
self,
|
|
...
|
|
}: {
|
|
services.homepage-dashboard = {
|
|
enable = true;
|
|
|
|
package = self.packages.${pkgs.system}.homepage;
|
|
|
|
listenPort = 3020;
|
|
|
|
environmentFile = config.sops.secrets.homepage.path;
|
|
|
|
settings = {
|
|
title = "bruh";
|
|
theme = "dark";
|
|
color = "gray";
|
|
target = "_self";
|
|
|
|
layout.video = {
|
|
style = "columns";
|
|
row = 4;
|
|
# columns = 2;
|
|
};
|
|
};
|
|
|
|
widgets = [
|
|
{
|
|
resources = {
|
|
cpu = true;
|
|
memory = true;
|
|
disk = "/";
|
|
};
|
|
}
|
|
{
|
|
search = {
|
|
provider = "duckduckgo";
|
|
target = "_blank";
|
|
};
|
|
}
|
|
];
|
|
|
|
services = [
|
|
#####################################################
|
|
## PUBLIC
|
|
#####################################################
|
|
{
|
|
public = [
|
|
{
|
|
jellyfin = rec {
|
|
href = "https://jelly.nelim.org";
|
|
icon = "jellyfin.png";
|
|
description = "ourflix";
|
|
widget = {
|
|
type = "jellyfin";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_JELLY_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
accounts = {
|
|
href = "https://jelly.nelim.org/accounts";
|
|
icon = "jellyfin.png";
|
|
description = "manage jellyfin users";
|
|
};
|
|
}
|
|
{
|
|
jellyseerr = rec {
|
|
href = "https://seerr.nelim.org";
|
|
icon = "jellyseerr.png";
|
|
description = "request handler";
|
|
widget = {
|
|
type = "jellyseerr";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_SEERR_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
gitea = {
|
|
href = "https://git.nelim.org";
|
|
icon = "gitea.png";
|
|
description = "git";
|
|
};
|
|
}
|
|
{
|
|
immich = rec {
|
|
href = "https://photos.nelim.org";
|
|
icon = "immich.png";
|
|
description = "gphotos replacement";
|
|
widget = {
|
|
type = "immich";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_IMMICH_API}}";
|
|
version = 2;
|
|
};
|
|
};
|
|
}
|
|
{
|
|
gameyfin = {
|
|
href = "https://games.nelim.org";
|
|
description = "steam (tm)";
|
|
};
|
|
}
|
|
{
|
|
nextcloud = rec {
|
|
href = "https://cloud.nelim.org";
|
|
icon = "nextcloud.png";
|
|
description = "PDrive";
|
|
widget = {
|
|
type = "nextcloud";
|
|
url = href;
|
|
username = "mathis";
|
|
password = "{{HOMEPAGE_VAR_CLOUD_PASS}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
"public vaultwarden" = {
|
|
href = "https://vault.nelim.org";
|
|
icon = "bitwarden.png";
|
|
description = "password manager";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
#####################################################
|
|
## VIDEO AUTOMATION
|
|
#####################################################
|
|
{
|
|
"video automation" = [
|
|
{
|
|
qbit = rec {
|
|
href = "https://lan.nelim.org/qbt";
|
|
icon = "qbittorrent.png";
|
|
description = "torrent client";
|
|
widget = {
|
|
type = "qbittorrent";
|
|
url = href;
|
|
username = "admin";
|
|
password = "{{HOMEPAGE_VAR_QBIT_PASS}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
sabnzbd = rec {
|
|
href = "https://lan.nelim.org/sabnzbd";
|
|
icon = "sabnzbd.png";
|
|
description = "nzb client";
|
|
widget = {
|
|
type = "sabnzbd";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_SAB_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
sonarr = rec {
|
|
href = "https://lan.nelim.org/sonarr";
|
|
icon = "sonarr.png";
|
|
description = "fetches tv shows";
|
|
widget = {
|
|
type = "sonarr";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_SONARR_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
radarr = rec {
|
|
href = "https://lan.nelim.org/radarr";
|
|
icon = "radarr.png";
|
|
description = "fetches movies";
|
|
widget = {
|
|
type = "radarr";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_RADARR_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
bazarr = rec {
|
|
href = "https://lan.nelim.org/bazarr";
|
|
icon = "bazarr.png";
|
|
description = "fetches subs";
|
|
widget = {
|
|
type = "bazarr";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_BAZARR_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
prowlarr = rec {
|
|
href = "https://lan.nelim.org/prowlarr";
|
|
icon = "prowlarr.png";
|
|
description = "fetches tracker queries";
|
|
widget = {
|
|
type = "prowlarr";
|
|
url = href;
|
|
key = "{{HOMEPAGE_VAR_PROWLARR_API}}";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
joal = {
|
|
href = "https://joal.nelim.org";
|
|
icon = "joal.png";
|
|
description = "boosts YGGTorrent ratio";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
#####################################################
|
|
## MISC PROJECTS
|
|
#####################################################
|
|
{
|
|
"misc projects" = [
|
|
{
|
|
freshrss = {
|
|
href = "https://rss.nelim.org";
|
|
icon = "freshrss.png";
|
|
description = "rss client";
|
|
};
|
|
}
|
|
{
|
|
docker-hub-rss = {
|
|
href = "https://drss.nelim.org";
|
|
icon = "freshrss.png";
|
|
description = "dockerhub feed maker";
|
|
};
|
|
}
|
|
{
|
|
rss-bridge = {
|
|
href = "https://bridge.nelim.org";
|
|
icon = "rss-bridge.png";
|
|
description = "make rss feeds from anything";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
#####################################################
|
|
## MANAGEMENT
|
|
#####################################################
|
|
{
|
|
management = [
|
|
{
|
|
cloudflare = {
|
|
href = "https://dash.cloudflare.com/3152abbe78daf6d91c57b6fcc424f958/nelim.org/dns";
|
|
icon = "cloudflare.png";
|
|
description = "dns to the world";
|
|
};
|
|
}
|
|
{
|
|
vaultwarden = {
|
|
href = "https://lan.nelim.org/vault";
|
|
icon = "bitwarden.png";
|
|
description = "password manager";
|
|
};
|
|
}
|
|
{
|
|
wireguard = {
|
|
href = "https://wg.nelim.org";
|
|
icon = "wireguard.png";
|
|
description = "wireguard gui";
|
|
};
|
|
}
|
|
{
|
|
survie = {
|
|
icon = "minecraft.png";
|
|
description = "minecwaf";
|
|
widget = {
|
|
type = "minecraft";
|
|
url = "udp://mc.nelim.org";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
creative = {
|
|
icon = "minecraft.png";
|
|
description = "minecwaf";
|
|
widget = {
|
|
type = "minecraft";
|
|
url = "udp://cv.nelim.org";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
}
|