{ config, pkgs, lib, ... }:

{  
  services.glance = {
    enable = true;
    openFirewall = true;
    settings = {
      server = {
        host = "0.0.0.0";
        port = 5678;
      };
      theme = { 
          background-color = "270 5 17";
          primary-color = "21 97 85";
          negative-color = "358 100 68";
          contrast-multiplier = 1.2; 
      };
      pages = [{
        name = "Home";
        hide-desktop-navigation = true;
        center-vertically = true;
        columns = [
          {
            size = "small";
            widgets = [
              {
                type = "clock";
                hour-format = "24h";
                timezones = [
                  {
                    timezone = "Asia/Tokyo";
                    label = "Tokyo";
                  }
                  {
                    timezone = "Europe/Dublin";
                    label = "Dublin";
                  }
                ];
              }
              {
                type = "calendar";
              }
              {
                type = "weather";
                units = "imperial";
                hour-format = "24h";
                location = "Aurora, Colorado, United States";
              }
            ];
          }
          {
            size = "full";
            widgets = [
              {
                type = "search";
                search-engine = "duckduckgo";
                new-tab = true;
              }
              {
                type = "bookmarks";
                groups = [
                  {
                    title = "Media";
                    color = "17 100 74";
                    links = [
                      {
                        title = "Music";
                        url = "https://music.ahoneybun.net/";
                      }
                      {
                        title = "Videos";
                        url = "https://videos.ahoneybun.net/";
                      }
                      {
                        title = "Photos";
                        url = "https://photos.ahoneybun.net/";
                      }
                      {
                        title = "Audiobooks";
                        url = "https://audiobookshelf.ahoneybun.net/";
                      }
                      {
                        title = "Books & Comics";
                        url = "https://books.ahoneybun.net/";
                      }
                    ];
                  }
                  {
                    title = "Infrastructure";
                    color = "355 65 65";
                    links = [
                      {
                        title = "Forgejo";
                        url = "https://git.ahoneybun.net/";
                      }
                    ];
                  }
                  {
                    title = "Knowledge";
                    color = "240 19 85";
                    links = [
                      {
                        title = "Personal Wiki";
                        url = "https://wiki.ahoneybun.net/";
                      }
                    ];
                  }
                ];
              }
              {
                type = "monitor";
                title = "Services";
                sites = [
                  {
                    title = "Navidrome";
                    url = "https://music.ahoneybun.net/";
                  }
                  {
                    title = "Jellyfin";
                    url = "https://videos.ahoneybun.net/";
                  }
                  {
                    title = "Immich";
                    url = "https://photos.ahoneybun.net/";
                  }
                  {
                    title = "Forgejo";
                    url = "https://git.ahoneybun.net";
                  }
                  {
                    title = "Gollum";
                    url = "https://wiki.ahoneybun.net";
                  }
                  {
                    title = "Wastebin";
                    url = "https://bin.ahoneybun.net";
                  }
                ];
              }
            ];
          }
        ];
      }];
    };
  };
}
