added homepage dashboard.
This commit is contained in:
		
							parent
							
								
									c21b1c5b5e
								
							
						
					
					
						commit
						c1221756d7
					
				
					 3 changed files with 132 additions and 1 deletions
				
			
		
							
								
								
									
										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}";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue