Skip to content

Proposal: break out machine specific state from settings.json into their own files #2619

Description

@mawkler

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

🤷🏻‍♂

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions