YAML IntelliSense, autocompletion, validation and snippets for GetHomepage configuration files.
- Schema Validation โ Real-time error highlighting for invalid properties, wrong types, and missing required fields
- Autocompletion โ Smart suggestions for all configuration properties, widget types, themes, colors, and more
- Hover Documentation โ Hover over any property to see its description and allowed values
- Snippets โ Ready-to-use templates for services, bookmarks, widgets, layouts, and more
- 151 Widget Types โ Full support for all GetHomepage service widgets
- Custom Language ID โ Scoped
yaml-homepagelanguage so IntelliSense only activates on your homepage config files
| File | Description |
|---|---|
settings.yaml |
Application settings (theme, layout, language, etc.) |
services.yaml |
Dashboard services and widgets |
widgets.yaml |
Global info widgets (weather, search, resources) |
bookmarks.yaml |
Bookmark links |
docker.yaml |
Docker server configuration |
kubernetes.yaml |
Kubernetes configuration |
proxmox.yaml |
Proxmox node configuration |
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for "GetHomepage IntelliSense"
- Click Install
# Clone and build
git clone https://github.com/nicolasaigner/gethomepage-intellisense.git
cd gethomepage-intellisense
npm install
npm run package
# Install the generated .vsix file
code --install-extension gethomepage-intellisense-*.vsixAfter installing, add the following to your workspace's .vscode/settings.json to associate your GetHomepage config files with the extension:
Tip: You can be more specific if you have other YAML files in the same folder:
{ "files.associations": { "config/settings.yaml": "yaml-homepage", "config/services.yaml": "yaml-homepage", "config/widgets.yaml": "yaml-homepage", "config/bookmarks.yaml": "yaml-homepage", "config/docker.yaml": "yaml-homepage", "config/kubernetes.yaml": "yaml-homepage", "config/proxmox.yaml": "yaml-homepage", }, }
That's it! Open any associated file and start getting IntelliSense.
Type the snippet prefix and press Tab or Enter to expand:
| Prefix | Description |
|---|---|
service |
New service with widget |
service-simple |
New service without widget |
service-proxmox |
Service with Proxmox integration |
service-docker |
Service with Docker integration |
group |
New service group |
bookmark |
New bookmark |
bookmark-group |
New bookmark group |
glances |
Glances monitoring widget |
resources |
Local resources widget (CPU, RAM, disk) |
search |
Search widget |
datetime |
Date/time widget |
greeting |
Greeting widget |
weather |
OpenWeatherMap widget |
openmeteo |
Open-Meteo widget (no API key needed) |
customapi |
Custom API widget |
iframe |
Embedded iFrame widget |
layout |
Group layout configuration |
docker |
Docker server configuration |
proxmox |
Proxmox node configuration |
logo |
Logo widget |
stocks |
Stocks widget (Finnhub) |
background |
Background image configuration |
quicklaunch |
Quick Launch configuration |
providers |
Shared providers configuration |
All 151 service widget types are recognized and validated:
Click to expand full list
adguard ยท apcups ยท argocd ยท audiobookshelf ยท authentik ยท autobrr ยท bazarr ยท caddy ยท calendar ยท calibreweb ยท changedetectionio ยท cloudflared ยท customapi ยท deluge ยท dockhand ยท emby ยท esphome ยท evcc ยท filebrowser ยท firefly ยท flood ยท freshrss ยท frigate ยท fritzbox ยท gamedig ยท gatus ยท ghostfolio ยท gitea ยท gitlab ยท glances ยท gluetun ยท gotify ยท grafana ยท hdhomerun ยท headscale ยท healthchecks ยท homeassistant ยท homebox ยท
homebridge ยท immich ยท jackett ยท jdownloader ยท jellyfin ยท jellystat ยท kavita ยท komga ยท komodo ยท kopia ยท lidarr ยท linkwarden ยท lubelogger ยท mailcow ยท mastodon ยท mealie ยท medusa ยท mikrotik ยท minecraft ยท miniflux ยท moonraker ยท mylar ยท myspeed ยท navidrome ยท netalertx ยท netdata ยท nextcloud ยท nextdns ยท npm ยท nzbget ยท octoprint ยท omada ยท ombi ยท opendtu ยท openmediavault ยท openwrt ยท opnsense ยท overseerr ยท paperlessngx ยท peanut
ยท pfsense ยท photoprism ยท pihole ยท plantit ยท plex ยท portainer ยท prometheus ยท prowlarr ยท proxmox ยท proxmoxbackupserver ยท pterodactyl ยท pyload ยท qbittorrent ยท qnap ยท radarr ยท readarr ยท romm ยท rutorrent ยท sabnzbd ยท scrutiny ยท seerr ยท slskd ยท sonarr ยท speedtest ยท spoolman ยท stash ยท strelaysrv ยท suwayomi ยท tailscale ยท tandoor ยท tautulli ยท tdarr ยท technitium ยท traefik ยท transmission ยท trilium ยท truenas ยท tubearchivist ยท unifi
ยท unmanic ยท unraid ยท uptimekuma ยท uptimerobot ยท urbackup ยท vikunja ยท wallos ยท watchtower ยท wgeasy ยท whatsupdocker ยท xteve ยท zabbix
- YAML Language Support by Red Hat โ Installed automatically as a dependency
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- GetHomepage โ A highly customizable homepage (or startpage / application dashboard)
- GetHomepage GitHub
- YAML Language Support
This project is licensed under the MIT License โ see the LICENSE file for details.
Made with โค๏ธ for the GetHomepage community

{ "files.associations": { // Adjust the path to match your project structure "config/*.yaml": "yaml-homepage", }, }