added homepage dashboard.
This commit is contained in:
parent
c21b1c5b5e
commit
c1221756d7
130
configs/nixos/homepage.nix
Normal file
130
configs/nixos/homepage.nix
Normal file
|
@ -0,0 +1,130 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.services.homepage-dashboard;
|
||||
baseurl = "homepage.venberg.xyz";
|
||||
in {
|
||||
services.homepage-dashboard = {
|
||||
enable = true;
|
||||
settings = {
|
||||
theme = "dark";
|
||||
color = "slate";
|
||||
headerStyle = "boxed";
|
||||
base = "https://${baseurl}";
|
||||
language = "en";
|
||||
hideVersion=true;
|
||||
statusStyle = "dot";
|
||||
quicklaunch = {
|
||||
searchDescriptions = true;
|
||||
hideInternetSearch = false;
|
||||
hideVisitUrl = false;
|
||||
provider="duckduckgo";
|
||||
};
|
||||
};
|
||||
|
||||
widgets = [
|
||||
{
|
||||
datetime = {
|
||||
text_size = "x2";
|
||||
locale = "en-CA";
|
||||
format = {
|
||||
hourCycle = "h23";
|
||||
hour12 = false;
|
||||
year = "numeric";
|
||||
month = "numeric";
|
||||
day = "numeric";
|
||||
hour = "numeric";
|
||||
minute = "numeric";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
resources = {
|
||||
cpu = true;
|
||||
disk = "/";
|
||||
memory = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
openmeteo = {
|
||||
label = "Current";
|
||||
units = "metric";
|
||||
cache = 5;
|
||||
};
|
||||
}
|
||||
{
|
||||
openmeteo = {
|
||||
label = "Mainz";
|
||||
timezone = "Europe/Berlin";
|
||||
units = "metric";
|
||||
cache = 5;
|
||||
latitude = 49.999444;
|
||||
longitude = 8.273611;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
services = [
|
||||
{
|
||||
Family = [
|
||||
{
|
||||
Jellyfin = {
|
||||
icon = "sh-jellyfin.svg";
|
||||
href = "https://media.venberg.xyz";
|
||||
siteMonitor = "https://media.venberg.xyz";
|
||||
description = "Movies";
|
||||
};
|
||||
}
|
||||
{
|
||||
Grocy = {
|
||||
icon = "sh-grocy.svg";
|
||||
href = "https://grocy.venberg.xyz";
|
||||
siteMonitor = "https://grocy.venberg.xyz";
|
||||
description = "Family ERP";
|
||||
};
|
||||
}
|
||||
{
|
||||
Radicale={
|
||||
icon="sh-radicale.svg";
|
||||
href="https://cal.venberg.xyz";
|
||||
siteMonitor="https://cal.venberg.xyz";
|
||||
description="Calander administration";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
Development = [
|
||||
{
|
||||
Forgejo = {
|
||||
icon = "sh-forgejo.svg";
|
||||
href = "https://git.venberg.xyz";
|
||||
siteMonitor = "https://git.venberg.xyz";
|
||||
description = "Self hosted Git forge.";
|
||||
};
|
||||
}
|
||||
{
|
||||
Github={
|
||||
icon="si-github-#181717";
|
||||
href="https://github.com";
|
||||
siteMonitor="https://git.venberg.xyz";
|
||||
description="Non self hosted Git forge :(";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts.${baseurl} = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.listenPort}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -111,7 +111,7 @@
|
|||
remoteBuild = true;
|
||||
};
|
||||
cirrus = {
|
||||
hostname = "cal.venberg.xyz";
|
||||
hostname = "cirrus";
|
||||
profiles.system.path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.cirrus;
|
||||
};
|
||||
cirrostratus = {
|
||||
|
|
|
@ -20,6 +20,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||
../../configs/nixos/secrets.nix
|
||||
../../configs/nixos/radicale.nix
|
||||
../../configs/nixos/forgejo.nix
|
||||
../../configs/nixos/homepage.nix
|
||||
({
|
||||
config,
|
||||
pkgs,
|
||||
|
|
Loading…
Reference in a new issue