Enable the user to set the location of settings.json #21519

Closed
opened 2026-01-31 07:46:56 +00:00 by claunia · 2 comments
Owner

Originally created by @iwino on GitHub (Apr 14, 2024).

Problem

Currently, the location of settings.json is fixed to be either one of the three locations only:

image

Proposal

Give the user the ability to specify the location via an environment variable, so that the user doesn't have to create any garbage windows shortcut inside some weird folder that ends with some random nonsense like 8wekyb3d8bbwe.

Use case

By allowing the user to specify the location of settings.json cleanly (i.e. without resorting to creating a windows shortcut), it also enables the user to cleanly move it to a folder where the user might have config files for other applications all under one folder.

For example, I use a number of applications on Windows and they all either respect XDG_CONFIG_HOME and/or XDG_DATA_HOME, or provide their own custom environment variables that enable me to move config and data files to a folder of my choice (without having to create garbage shortcuts), making them very easy for me to find as the files are very neatly organized "under one roof".

Originally created by @iwino on GitHub (Apr 14, 2024). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> ## Problem Currently, the location of `settings.json` is fixed to be either one of the three locations only: ![image](https://github.com/microsoft/terminal/assets/128335079/0d1983a4-031b-4a79-8b0e-053a9f60caf5) <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> ## Proposal Give the user the ability to specify the location via an environment variable, so that the user doesn't have to create any garbage windows shortcut inside some weird folder that ends with some random nonsense like `8wekyb3d8bbwe`. ## Use case By allowing the user to specify the location of `settings.json` cleanly (i.e. without resorting to creating a windows shortcut), it also enables the user to cleanly move it to a folder where the user might have config files for other applications all under one folder. For example, I use a number of applications on Windows and they all either respect `XDG_CONFIG_HOME` and/or `XDG_DATA_HOME`, or provide their own custom environment variables that enable me to move config and data files to a folder of my choice (without having to create garbage shortcuts), making them very easy for me to find as the files are very neatly organized "under one roof". <!-- A clear and concise description of what you want to happen. -->
Author
Owner

@zadjii-msft commented on GitHub (Apr 15, 2024):

FWIW, 8wekyb3d8bbwe actually isn't just "randome nonsense" - it's actually part of the Terminal's unique identifier that we get from the Microsoft Store. %localappdata%\packages\{{package family name}}\LocalState is kinda the well-known path for a package to put their data.

You may also be interested in Portable Mode, though, that lacks the benefit of auto-updating.

Otherwise, we've also got the following threads:

@zadjii-msft commented on GitHub (Apr 15, 2024): FWIW, `8wekyb3d8bbwe` actually isn't just "randome nonsense" - it's actually part of the Terminal's unique identifier that we get from the Microsoft Store. `%localappdata%\packages\{{package family name}}\LocalState` is kinda the well-known path for a package to put their data. You may also be interested in [Portable Mode](https://learn.microsoft.com/en-us/windows/terminal/distributions#windows-terminal-portable), though, that lacks the benefit of auto-updating. Otherwise, we've also got the following threads: * #6687 * #2933
Author
Owner

@microsoft-github-policy-service[bot] commented on GitHub (Apr 19, 2024):

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

@microsoft-github-policy-service[bot] commented on GitHub (Apr 19, 2024): This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**. <!-- Policy app identification https://img.shields.io/static/v1?label=PullRequestIssueManagement. -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21519