michaelvessia/nixos-config
Overview
This skill provides expert Home Assistant configuration management and deployment workflows focused on fast iteration, safe rollouts, and tablet-optimized Lovelace dashboards. It combines remote CLI patterns (SSH + hass-cli), git and scp deployment options, automation verification, log analysis, and UI debugging guidance. The goal is reliable, repeatable updates with minimal downtime and polished touch-first dashboards.
How this skill works
It inspects and validates Home Assistant configuration using remote SSH calls to the ha CLI (executed in a login shell) and hass-cli via the REST API. Deployments follow two patterns: git-driven final deployments for tracked changes, and rapid scp iteration for quick testing. After deployment it runs checks, reloads or restarts intelligently, triggers automations for verification, and analyzes logs for errors. For dashboards it supports .storage file workflows, registration in lovelace_dashboards, and iterative scp refreshes for instant visual feedback.
When to use it
- Use scp for rapid UI/dashboard iteration, small tweaks, and experimental changes.
- Use git when changes are final, need version history, or require team review.
- Run ha core check via SSH before any pull or reload to catch config errors.
- Trigger automations manually to verify logic immediately after reload.
- Prefer reload actions for automations/scripts/themes; restart only for core or platform changes.
Best practices
- Always run ssh homeassistant "bash -l -c 'ha core check'" after pulling changes to validate config.
- Decide reload vs restart: try hass-cli service call automation.reload first to minimize downtime.
- For dashboards, deploy .storage files via scp and hard-refresh the browser before committing to git.
- Use hass-cli for quick state queries and service calls (states, triggers, verification).
- Use type filters (| int, | float) in templates to avoid TypeError and template comparison issues.
Example use cases
- Rapidly iterate a tablet wall-panel dashboard: edit .storage file, scp to /config/.storage/, refresh browser, repeat.
- Deploy tested automations: commit to git, ssh pull on HA instance, run ha core check, reload automations, then trigger for verification.
- Diagnose failing automation: tail ha core logs via SSH, grep for automation name, fix template or service data, re-deploy and re-test.
- Create a new Lovelace dashboard: copy template file, update lovelace_dashboards registry, scp both files, restart HA to register.
FAQ
ha requires a login shell to set SUPERVISOR_TOKEN and related environment. Using bash -l -c ensures the command runs with the correct environment.
When should I restart instead of reload?
Restart for platform-based sensor changes, new integrations in configuration.yaml, or core configuration edits. Reload is sufficient for automations, scripts, scenes, templates, groups, and themes.
5 skills
This skill helps you manage Home Assistant configurations with SSH, hass-cli, and rapid deployment workflows for reliable dashboards.
This skill enables fast local document search across markdown notes and obsidian vaults using semantic and full-text ranking to retrieve relevant content.
This skill helps you manage Proxmox home lab by triaging services, checking status, viewing logs, and debugging via SSH.
This skill helps you search, organize, and access documents in Paperless-ngx using CLI to manage invoices, receipts, and files.
This skill commands the Jira CLI for all ticket operations, avoiding web fetches and enabling efficient issue management.