Skip to main content

max / mountaineer

2.8 KB · 92 lines History Blame Raw
1 # Mountaineer yambar — read-only system surface.
2 #
3 # Doctrine (AESTHETICS.md):
4 # - Bar shows facts; it does not interact.
5 # - Every non-ok segment routes the operator into a `sysop` invocation.
6 # - Hue is reserved for non-ok state (red fault, yellow transient).
7 # The resting bar is foreground-on-background.
8 #
9 # Segments below match AESTHETICS.md §yambar segments.
10
11 bar:
12 location: top
13 height: 26
14 background: f7f3eeff
15 foreground: 605a52ff
16 font: Iosevka:pixelsize=14
17 spacing: 3
18 margin: 6
19 border:
20 width: 0
21
22 left:
23 - river:
24 content:
25 map:
26 conditions:
27 state == focused:
28 string: {text: "{id}", font: "Iosevka:pixelsize=14:weight=bold"}
29 state == visible: {string: {text: "{id}"}}
30 state == unfocused: {string: {text: "{id}", foreground: 8c867eff}}
31 state == invisible: {empty: {}}
32 state == urgent: {string: {text: "{id}", foreground: c46a6aff}}
33
34 center: []
35
36 right:
37 # --- Mountaineer-specific: service and storage health ---
38 - script:
39 path: /usr/local/libexec/yambar/svc.sh
40 args: []
41 content:
42 map:
43 conditions:
44 state == ok: {string: {text: "svc ok", foreground: 605a52ff}}
45 state == down: {string: {text: "svc {count} down", foreground: c46a6aff}}
46
47 - script:
48 path: /usr/local/libexec/yambar/zfs.sh
49 args: []
50 content:
51 map:
52 conditions:
53 state == ok: {string: {text: "zfs ok", foreground: 605a52ff}}
54 state == degraded: {string: {text: "zfs degraded", foreground: c46a6aff}}
55
56 # --- network ---
57 - script:
58 path: /usr/local/libexec/yambar/net.sh
59 args: []
60 content:
61 map:
62 conditions:
63 state == down: {string: {text: "net ↓", foreground: c46a6aff}}
64 state == up: {string: {text: "{label}"}}
65
66 # --- audio (pipewire) ---
67 - pipewire:
68 content:
69 map:
70 conditions:
71 type == sink && muted: {string: {text: "vol mute", foreground: 8c867eff}}
72 type == sink: {string: {text: "vol {linear_volume}"}}
73
74 # --- battery (laptop only; hidden when AC + 100%) ---
75 - battery:
76 name: BAT0
77 poll-interval: 30000
78 content:
79 map:
80 conditions:
81 state == charging: {string: {text: "bat {capacity}↑", foreground: a78a5eff}}
82 state == discharging && capacity <= 20: {string: {text: "bat {capacity}", foreground: c46a6aff}}
83 state == discharging: {string: {text: "bat {capacity}"}}
84 state == full: {empty: {}}
85
86 # --- clock ---
87 - clock:
88 date-format: "%a %d %b"
89 time-format: "%H:%M"
90 content:
91 - string: {text: "{date} {time}"}
92