Files
homelab/hosts/sin/homepage.nix
T
sin_serhao f5e3ef7c5b
/ perform flake analysis (push) Failing after 3h7m58s
/ build hive configuration (push) Failing after 12m57s
heuuu plein de trucs en vrais
2026-06-22 11:53:37 +02:00

398 lines
10 KiB
Nix

{ inputs, pkgs, ... }:
{
services.homepage-dashboard = {
enable = true;
openFirewall = true;
allowedHosts = "dashboard.shobu.fr";
settings = {
title = "Shobu's homelab dashboard";
description = "a dashboard of free and awesome bullshit";
startUrl = "https://dashboard.shobu.fr";
base = "https://dashboard.shobu.fr";
headerStyle = "boxed";
providers = {
};
layout = [
{ "resources" = { }; }
{
"about me stuff" = {
tab = "Public";
};
}
{
"tools" = {
tab = "Public";
};
}
{
"gayming" = {
tab = "Public";
};
}
{
"mediacenter" = {
tab = "Mediacenter";
header = false;
};
}
{
"admin" = {
tab = "Admin";
header = false;
sin = {
style = "row";
columns = 3;
};
thea = {
style = "row";
columns = 3;
};
};
}
];
};
widgets = [
{
greeting = {
text = "Welcome on my services and links dashboard, make yourself home. :3";
};
}
{
datetime = {
format = {
dateStyle = "short";
};
};
}
{
glances = {
url = "http://sin.home:61208";
version = 4;
disk = [
"/"
"/mnt/fs"
];
expanded = true;
};
}
];
bookmarks = [
{
"tools" = [
{
"bddtrans" = [
{
icon = "https://bddtrans.shobu.fr/favicon.ico";
href = "https://bddtrans.shobu.fr";
}
];
}
];
}
{
"about me stuff" = [
{
"shobu.fr" = [
{
icon = "https://shobu.fr/favicon.ico";
href = "https://shobu.fr";
}
];
}
{
"gitlab" = [
{
icon = "gitlab.png";
href = "https://gitlab.com/shobu13";
}
];
}
];
}
];
services = [
{
"gayming" = [
{
"testing grounds" = {
description = "a lightweight modded minecraft server";
href = "https://modrinth.com/modpack/testing-grounds";
widget = {
type = "minecraft";
url = "udp://minecraft.shobu.fr:25565";
};
};
}
{
"reclamation" = {
description = "bring back your world to life";
widget = {
type = "minecraft";
url = "udp://minecraft.shobu.fr:25665";
};
};
}
];
}
{
"mediacenter" = [
{
"users" = [
{
"jellyfin" = {
icon = "jellyfin.png";
href = "https://jellyfin.shobu.fr";
description = "Movies & TV shows";
widget = {
type = "jellyfin";
url = "https://jellyfin.shobu.fr";
key = "af4888d2c6594473be63e8299355d048";
enableBlocks = true;
enableNowPlaying = false;
};
};
}
{
"jellyseerr" = {
icon = "jellyseerr.png";
href = "https://jellyseerr.shobu.fr";
description = "Request movies and shows";
widget = {
type = "jellyseerr";
url = "https://jellyseerr.shobu.fr";
key = "MTc0OTMzOTE2MDMwODgxNzdlYjNlLTU4N2ItNDc0Mi1iZTY4LTM3NzVhMWZiMDUzZg==";
};
};
}
{
"calendar" = {
widget = {
type = "calendar";
view = "agenda";
showTime = true;
integrations = [
{
type = "sonarr";
service_group = "administration";
service_name = "sonarr";
}
{
type = "radarr";
service_group = "administration";
service_name = "radarr";
}
{
type = "lidarr";
service_group = "administration";
service_name = "lidarr";
}
];
};
};
}
];
}
{
"administration" = [
{
"radarr" = {
icon = "radarr.png";
href = "https://radarr.shobu.fr";
widget = {
type = "radarr";
url = "https://radarr.shobu.fr";
key = "13474b968893451fb5aa378457dc84a2";
};
};
}
{
"sonarr" = {
icon = "sonarr.png";
href = "https://sonarr.shobu.fr";
widget = {
type = "sonarr";
url = "https://sonarr.shobu.fr";
key = "f194704f6dce4072928d857d49c1f185";
};
};
}
{
"lidarr" = {
icon = "lidarr.png";
href = "https://lidarr.shobu.fr";
widget = {
type = "lidarr";
url = "https://lidarr.shobu.fr";
key = "deff3fc5052844e7b37dfe439a91f8bc";
};
};
}
{
"transmission" = {
icon = "transmission.png";
href = "https://transmission.shobu.fr";
widget = {
type = "transmission";
url = "http://sin.home:9091";
};
};
}
];
}
];
}
{
"admin" = [
(
let
name = "sin";
address = "http://sin.home:61208";
in
{
"${name}" = [
{
"info" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "info";
};
};
}
{
"main storage" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "fs:/mnt/fs";
};
};
}
{
"system storage" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "fs:/";
};
};
}
{
"memory" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "memory";
};
};
}
{
"cpu" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "cpu";
};
};
}
{
"network" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "network:enp2s0";
};
};
}
];
}
)
(
let
name = "thea";
address = "http://thea.home:61208";
in
{
"${name}" = [
{
"info" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "info";
};
};
}
{
"main storage" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "fs:/mnt/fs";
};
};
}
{
"system storage" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "fs:/";
};
};
}
{
"memory" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "memory";
};
};
}
{
"cpu" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "cpu";
};
};
}
{
"network" = {
widget = {
type = "glances";
url = address;
version = 4;
metric = "network:enp2s0";
};
};
}
];
}
)
];
}
];
};
}