Skip to content

house.dashboard

Status cards and extra pages on the generated web dashboard. 26 options.

Dashboard configuration

Type: submodule

Default: { }

Declared in: options/dashboard.nix

Custom pages for the dashboard

Type: attribute set of (submodule)

Default: { }

Declared in: options/dashboard.nix

HTML and JavaScript code for the page

Type: string

Default: ""

Declared in: options/dashboard.nix

Additional CSS for this page

Type: string

Default: ""

Declared in: options/dashboard.nix

Files to be symlinked to the http server for this page

Type: attribute set of (absolute path or string)

Default: { }

Declared in: options/dashboard.nix

Icon for the tab (FontAwesome class, MDI class, or image URL)

Type: string

Default: "fas fa-question"

Declared in: options/dashboard.nix

Title for the page (optional)

Type: string

Default: ""

Declared in: options/dashboard.nix

Configurable status cards for the dashboard

Type: attribute set of (submodule)

Default: { }

Declared in: options/dashboard.nix

Render a sparkline history chart on the card. Requires the JSON file to contain a history array (see historyField).

Type: boolean

Default: false

Declared in: options/dashboard.nix

Accent colour (hex or CSS colour) used for the card.

Type: string

Default: "#2ecc71"

Example: "#a78bfa"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.defaultDetails

Section titled “house.dashboard.statusCards.<name>.defaultDetails”

Text shown in place of the details line when the card cannot be loaded.

Type: string

Default: ""

Example: "unavailable"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.defaultValue

Section titled “house.dashboard.statusCards.<name>.defaultValue”

Text shown in place of the main value when the card cannot be loaded (missing file, unparsable JSON, absent field).

Type: string

Default: ""

Example: "—"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.details

Section titled “house.dashboard.statusCards.<name>.details”

Static details text used when detailsJsonField is null. Prefer detailsJsonField + detailsFormat for dynamic values; this option is kept for backwards compatibility.

Type: string

Default: ""

Example: "Temperature in Hallway"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.detailsFormat

Section titled “house.dashboard.statusCards.<name>.detailsFormat”

Format string for the details line. {value} is replaced with the value of detailsJsonField.

Type: string

Default: "{value}"

Example: "7d: {value}%"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.detailsJsonField

Section titled “house.dashboard.statusCards.<name>.detailsJsonField”

Optional key in the JSON file whose value is substituted into detailsFormat. When null, the static details string is shown instead (legacy behaviour).

Type: null or string

Default: null

Example: "7d_change"

Declared in: options/dashboard.nix

Whether to enable this status card.

Type: boolean

Default: false

Example: true

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.filePath

Section titled “house.dashboard.statusCards.<name>.filePath”

Absolute path to the JSON file the card reads when source = "file". Typically under /var/lib/zigduck/.

Type: string

Default: ""

Example: "/var/lib/zigduck/xmr.json"

Declared in: options/dashboard.nix

Format string for the main value. {value} is replaced with the value of jsonField.

Type: string

Default: "{value}"

Example: "{value} SEK/kWh"

Declared in: options/dashboard.nix

Group name controlling the card’s placement on the dashboard. Cards sharing the same group are rendered together, ordered alphabetically by group name.

Type: string

Default: "default"

Example: "sensors"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.historyField

Section titled “house.dashboard.statusCards.<name>.historyField”

Key in the JSON file holding the array of past values plotted when chart = true.

Type: string

Default: "history"

Example: "history"

Declared in: options/dashboard.nix

Font Awesome class rendered in the card header. Any free or pro icon class works. See https://fontawesome.com/search

Type: string

Example: "fab fa-monero"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.jsonField

Section titled “house.dashboard.statusCards.<name>.jsonField”

Key in the JSON file whose value is substituted into format (as {value}) to produce the card’s main value.

Type: string

Default: ""

Example: "current_price"

Declared in: options/dashboard.nix

house.dashboard.statusCards.<name>.on_click_action

Section titled “house.dashboard.statusCards.<name>.on_click_action”

Actions to run when the card is clicked. Uses the same action DSL as automations.

Type: list of (string or (submodule))

Default: [ ]

Example:

[
{
command = "yo say 'hello from the dashboard'";
type = "shell";
}
]

Declared in: options/dashboard.nix

Where the card pulls its value from. Currently only file is supported: a JSON file written by an MQTT-triggered automation.

Type: value “file” (singular enum)

Default: "file"

Example: "file"

Declared in: options/dashboard.nix

Visual theme applied to the card. One of: neon, minimal, dark, glass, colorful.

Type: string

Default: "neon"

Example: "glass"

Declared in: options/dashboard.nix

Text shown as the card’s heading. Unicode and emoji are supported (e.g. 𝑿𝑴𝑹, 𝑩𝑻𝑪).

Type: string

Example: "𝑿𝑴𝑹"

Declared in: options/dashboard.nix