Feature 57 (config and provisioning): modules declare config and provisions, their files rendered from templates; synced with main (issues of feature 57, 874)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
[[block]]
|
||||
block = "battery"
|
||||
format = "$icon $percentage{ $time|}"
|
||||
charging_format = "$icon $percentage{ $time|}"
|
||||
not_charging_format = "$icon $percentage"
|
||||
full_format = "$icon $percentage"
|
||||
empty_format = "$icon $percentage"
|
||||
missing_format = ""
|
||||
@@ -0,0 +1,5 @@
|
||||
[[block]]
|
||||
block = "custom"
|
||||
command = "~/.local/bin/i3status-value power.draw ${machine:name}"
|
||||
interval = 5
|
||||
hide_when_empty = true
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment after-boot, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:after-boot:first}${shell:after-boot:normal}${shell:after-boot:last}
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment after-wake, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:after-wake:first}${shell:after-wake:normal}${shell:after-wake:last}
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment before-shutdown, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:before-shutdown:first}${shell:before-shutdown:normal}${shell:before-shutdown:last}
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment before-sleep, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:before-sleep:first}${shell:before-sleep:normal}${shell:before-sleep:last}
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment on-battery, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:on-battery:first}${shell:on-battery:normal}${shell:on-battery:last}
|
||||
@@ -0,0 +1,4 @@
|
||||
# What every module on this machine runs at the moment on-mains, as the mesh placed it (module power,
|
||||
# novox/hq ADR 0211). Replaced on every push: code is added by the module it belongs to, as a
|
||||
# contribution for this moment. Each module's piece runs on its own, as root, bounded in time.
|
||||
${shell:on-mains:first}${shell:on-mains:normal}${shell:on-mains:last}
|
||||
@@ -0,0 +1,8 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
#
|
||||
# The power key and the lid, from this module's settings: the mesh's, then this machine's.
|
||||
[Login]
|
||||
HandlePowerKey=${config:handle-power-key}
|
||||
HandleLidSwitch=${config:handle-lid-switch}
|
||||
HandleLidSwitchExternalPower=${config:handle-lid-switch-external-power}
|
||||
HandleLidSwitchDocked=${config:handle-lid-switch-docked}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Wants=mesh-power-after-wake.service
|
||||
@@ -0,0 +1,3 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Wants=mesh-power-after-wake.service
|
||||
@@ -0,0 +1,13 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Description=Every module's code after boot (mesh power)
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/local/lib/mesh-power/bin/power-moment after-boot
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,11 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
#
|
||||
# Pulled in by the four sleep targets through this module's drop-ins on them, and ordered after
|
||||
# them, so it runs once the machine is awake again. Never enabled.
|
||||
[Unit]
|
||||
Description=Every module's code after waking (mesh power)
|
||||
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/lib/mesh-power/bin/power-moment after-wake
|
||||
@@ -0,0 +1,18 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
#
|
||||
# Started at boot and left active; stopping it is the shutdown. Ordered after the network, so at
|
||||
# shutdown it stops, and runs every module's code, while the network is still up.
|
||||
[Unit]
|
||||
Description=Every module's code before shutdown (mesh power)
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/bin/true
|
||||
ExecStop=/usr/local/lib/mesh-power/bin/power-moment before-shutdown
|
||||
TimeoutStopSec=120
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,11 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
#
|
||||
# Pulled in by sleep.target through this module's drop-in on it, never enabled: a one-shot waiting
|
||||
# for a sleep is not a service whose state the mesh can declare.
|
||||
[Unit]
|
||||
Description=Every module's code before sleep (mesh power)
|
||||
Before=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/lib/mesh-power/bin/power-moment before-sleep
|
||||
@@ -0,0 +1,10 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
#
|
||||
# Started by the module's udev rule when a power supply changes; runs on-mains or on-battery once per
|
||||
# change of source.
|
||||
[Unit]
|
||||
Description=Every module's code for the power source (mesh power)
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/lib/mesh-power/bin/power-moment supply
|
||||
@@ -0,0 +1,3 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Wants=mesh-power-before-sleep.service
|
||||
@@ -0,0 +1,3 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Wants=mesh-power-after-wake.service
|
||||
@@ -0,0 +1,3 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
[Unit]
|
||||
Wants=mesh-power-after-wake.service
|
||||
@@ -0,0 +1,5 @@
|
||||
# Written by the mesh (module power, novox/hq ADR 0211). Replaced on every push.
|
||||
# Only the charger's change can switch the machine between mains and battery. A battery reports its
|
||||
# level many times a minute, and USB-C supplies come and go; matching them started the supply unit
|
||||
# every second or two on the laptop.
|
||||
SUBSYSTEM=="power_supply", ACTION=="change", ATTR{type}=="Mains", RUN+="/usr/bin/systemctl --no-block start mesh-power-supply.service"
|
||||
Reference in New Issue
Block a user