nix-config/features/homelab-dashboard.nix

139 lines
3.4 KiB
Nix
Raw Normal View History

2024-07-14 16:01:31 +02:00
{
config,
lib,
pkgs,
...
}:
with lib;
let
2024-07-14 16:01:31 +02:00
ip = config.homelab-dashboard.defaultAddress;
in
{
2024-07-14 16:01:31 +02:00
options = {
homelab-dashboard.defaultAddress = mkOption { type = types.str; };
homelab-dashboard.proxmoxVEIp = mkOption { type = types.str; };
homelab-dashboard.proxmoxBSIp = mkOption { type = types.str; };
};
config = {
services.homepage-dashboard = {
enable = true;
settings = {
"headerStyle" = "boxed";
"language" = "fr";
};
services = [
{
"Divertissement" = [
{
"Jellyfin" = {
icon = "jellyfin";
description = "Permet de regarder ou écouter du contenu.";
href = "http://${ip}:8096/";
};
}
{
"Calibre-web" = {
icon = "calibre";
description = "Serveur de livres";
href = "http://${ip}:8083";
};
}
];
}
{
"Téléchargement" = [
{
"Jellyseerr" = {
icon = "jellyseerr";
description = "Moteur de recherche de films/séries";
href = "http://${ip}:5055";
};
}
{
"slskd" = {
icon = "slskd";
description = "Pour télécharger/partager de la musique";
href = "http://${ip}:5030";
};
}
{
"Readarr" = {
icon = "readarr";
description = "Moteur de recherche de livres";
href = "http://${ip}:8787/";
};
}
{
"Prowlarr" = {
icon = "prowlarr";
description = "Indexe les différents sites de téléchargement";
href = "http://${ip}:9696/";
};
}
{
2024-07-14 16:01:31 +02:00
"Sonarr" = {
icon = "sonarr";
description = "Moteur de recherche pour les séries";
href = "http://${ip}:8989";
};
}
{
"Radarr" = {
icon = "radarr";
description = "Moteur de recherche pour les films";
href = "http://${ip}:7878";
};
}
{
2024-07-14 16:01:31 +02:00
"Transmission" = {
icon = "transmission";
description = "s'occupe du téléchargement des fichiers";
href = "http://${ip}:9091";
};
}
];
}
{
"Utilitaires" = [
{
"Photoprism" = {
icon = "photoprism";
description = "Sauvegarde de photos";
href = "http://${ip}:2342";
};
2024-07-14 16:01:31 +02:00
}
{
"Searx" = {
icon = "searx";
description = "Moteur de recherche privé pour remplacer Google.";
href = "http://${ip}:8080";
};
}
];
}
{
"Administration" = [
{
"Proxmox Backup Server" = {
description = "Permet de sauvegarder le serveur.";
};
2024-07-14 16:01:31 +02:00
}
{
2024-07-14 16:01:31 +02:00
"Proxmox VE" = { };
}
];
}
];
2024-07-14 16:01:31 +02:00
};
};
}