Feature Description
Break out machine specific state from settings.json into their own files
Use Case
Hi! I use the same dotfiles on two different machines, and I've noticed that ~/.config/DankMaterialShell/settings.json contains a lot of machine-specific settings. This gets kind of awkward to deal with when having settings.json checked in to a Git repo and tracked from both machines, because for some entries in settings.json each machine needs to have a unique setting, like its monitor names for example.
Here's a non-complete list of some of the entries that I'm talking about (for some I'm guessing what the actual use case is based on the name, but hopefully you get the idea).
bluetoothDevicePins.preferredDevice
wifiNetworkPins.preferredWifi
brightnessDevicePins
audioInputDevicePins / audioOutputDevicePins
niriOutputSettings
activeDisplayProfile
displayProfiles
enabledGpuPciIds / selectedGpuIndex
systemMonitorGpuPciId
lockScreenActiveMonitor
matugenTargetMonitor
frameScreenPreferences
systemMonitorDisplayPreferences
systemMonitorVariants
connectedFrameBarStyleBackups
browserUsageHistory / filePickerUsageHistory
Compositor(s)
All compositors
If Other, please specify
No response
Proposed Solution
My proposed solution is to move machine-specific settings like the ones above to some other file, for example ~/.local/share/DankMaterialShell/settings/<hostname-of-computer>.json.
Alternatives/Existing Solutions
🤷🏻♂
Feature Description
Break out machine specific state from
settings.jsoninto their own filesUse Case
Hi! I use the same dotfiles on two different machines, and I've noticed that
~/.config/DankMaterialShell/settings.jsoncontains a lot of machine-specific settings. This gets kind of awkward to deal with when havingsettings.jsonchecked in to a Git repo and tracked from both machines, because for some entries insettings.jsoneach machine needs to have a unique setting, like its monitor names for example.Here's a non-complete list of some of the entries that I'm talking about (for some I'm guessing what the actual use case is based on the name, but hopefully you get the idea).
bluetoothDevicePins.preferredDevicewifiNetworkPins.preferredWifibrightnessDevicePinsaudioInputDevicePins/audioOutputDevicePinsniriOutputSettingsactiveDisplayProfiledisplayProfilesenabledGpuPciIds/selectedGpuIndexsystemMonitorGpuPciIdlockScreenActiveMonitormatugenTargetMonitorframeScreenPreferencessystemMonitorDisplayPreferencessystemMonitorVariantsconnectedFrameBarStyleBackupsbrowserUsageHistory/filePickerUsageHistoryCompositor(s)
All compositors
If Other, please specify
No response
Proposed Solution
My proposed solution is to move machine-specific settings like the ones above to some other file, for example
~/.local/share/DankMaterialShell/settings/<hostname-of-computer>.json.Alternatives/Existing Solutions
🤷🏻♂