Two passes, both aimed at a consistent experience rather than a faithful
snapshot of each machine's accidents.
Standardisation. Audited every host-layer config present on more than one
machine and asked whether the difference was intent or drift:
- mpv was byte-identical; swayimg differed only because system76 still
had the shipped default and the work laptop had the real config; bob
differed by one setting the work laptop was simply missing.
- user-dirs.dirs disagreed with BOTH machines and with zshenv, which has
said $HOME/downloads all along. Standardised on that.
- mimeapps.list is now the union of both machines' associations.
- swaync's config and style are shared; only wallust's generated
colors.css stays per host, alongside hypr's and waybar's.
All of the above moved to common/.
Dropped as pure state rather than config: gtk-2.0 (file-chooser geometry),
pavucontrol.ini (window size), zoom.conf (a per-install random_key) and
zoomus.conf (panel widths). gtk-3.0 stays per host — its bookmarks encode
the two different home directories.
App config. GIMP, inkscape, FreeCAD, cura, OrcaSlicer, LightBurn and OBS
all hold real settings, so a curated subset of each is now tracked:
settings, keybindings and user content, but not session state, tool
options, device lists or window geometry. kicad is skipped — both library
tables hold a single entry, i.e. untouched defaults.
Content lives once in common/ even when only one machine has the app; the
host configs decide who gets the link. That is the distinction that lets
53% of link sources be shared while the NAS still does not get GIMP.
Two exclusions on credential grounds: obs-studio/plugin_config holds a
websocket server_password, and gh is dropped entirely because `gh auth
login` writes a token into hosts.yml — now also blocked by name.
36 lines
866 B
JSON
36 lines
866 B
JSON
{
|
|
"positionX": "right",
|
|
"positionY": "top",
|
|
"layer": "overlay",
|
|
"control-center-layer": "top",
|
|
"control-center-margin-top": 8,
|
|
"control-center-margin-bottom": 8,
|
|
"control-center-margin-right": 8,
|
|
"control-center-margin-left": 0,
|
|
"notification-icon-size": 48,
|
|
"notification-body-image-height": 100,
|
|
"notification-body-image-width": 200,
|
|
"timeout": 8,
|
|
"timeout-low": 5,
|
|
"timeout-critical": 0,
|
|
"fit-to-screen": false,
|
|
"control-center-width": 350,
|
|
"control-center-height": 700,
|
|
"notification-window-width": 350,
|
|
"widgets": ["title", "dnd", "mpris", "notifications"],
|
|
"widget-config": {
|
|
"title": {
|
|
"text": "Notifications",
|
|
"clear-all-button": true,
|
|
"button-text": "Clear All"
|
|
},
|
|
"dnd": {
|
|
"text": "Do Not Disturb"
|
|
},
|
|
"mpris": {
|
|
"image-size": 72,
|
|
"image-radius": 8
|
|
}
|
|
}
|
|
}
|