-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for roaming settings.json or storing it elsewhere #2933
Comments
any reason we can't just use the UWP Roaming data store? I know this isn't a true UWP app, but Centennials can still use the UWP APIs, right? |
We actually used to roam your settings using those exact APIs, but it caused us way more headache than it was worth. There’s a couple things we need to nail before we consider turning roaming back on. |
yeah was just coming back to edit. looks like per here: https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/desktop-to-uwp-enhance we can't simply use |
I'm more using this issue as a tracker for "add a way to import settings from other paths" than a "re-enable settings roaming". Using RoamingState for storing the settings was a pain. However, I think that we all agree adding support for importing settings from another location is a good idea, but one that needs careful thought and preferably a spec to go with it. This is even a scenario referenced in the original cascading settings spec, as something we could consider in the future. #1770 was the original bug tracking disabling roaming settings. Note the pile of other issues that were dupe'd to it. April 15, 2022 edit: I'm sneaking in here to add some notes about what re-enabling this again might look like. I'm reusing this old comment to avoid pinging folks till I have a plan. What went wrong the first timePlan for this time
Other things to keep in mind
|
@zadjii-msft What's the process for creating a spec for something? Do you have an RFC-process or similar? |
@patriksvensson We don't have an official "RFC" process, but we do have a semi-formal spec review process. This helps us ensure the entire team is on-board with more complicated features, and for scenarios like this one, some of the more complicated edge cases have been thought out. I'd refer to the following: |
@zadjii-msft Would it help if I (or someone else) drafted up a spec to get the ball rolling? |
I think that would be very helpful :) |
As a workaround for this, it's possible to make This mostly works, except terminal doesn't notice changes to the actual file. It only watches the symlink. So hot-reloading of changes doesn't work. Of course roaming just magically working would be better. |
There's a related issue in this space, #4566 "Consider adding a WT_PROFILE env var pointing to settings file for 1.0 release". It proposes setting the environment variable
|
If anyone is interested in an interim solution to this, I've written some instructions here: https://www.patriksvensson.se/2019/12/roaming-profiles-with-windows-terminal |
If the file watcher that monitors |
1 similar comment
If the file watcher that monitors |
From @MartinSGill in #5638
|
What is the status on this feature request? Is it possible somehow to roam the settings across several computers at the moment, and if so, what's the most recommended way to do it? Is the symbolic link workaround mentioned here still the way to go? Thank you very much for your insights! |
@jpetkau the whole purpose of roaming settings.json, to make it auto-pickable on another systems and not bother with reconfiguring each system manually. I have like 3-4 systems and it is a headache to make same changes x4 times |
@thernstig UX wise it's really easy, if you use MS enabled account and OneDrive, just use "Documents" folder or whatever to keep the settings, as those folders already are used in a way, that it auto-synced via OneDrive. In my case, I'm keeping |
Hello. Sorry for "thread bumping" this issue but it's been some time since the last update, same in #6687. Like a lot of users, I came here to see if there was a way to just store the The only workaround we might have is using a windows `hardlink as described here |
Nope, no real updates to share at this time. I had half a thought about it that I edited into a comment above, just trying to enumerate the edge cases, but didn't get farther than that. |
referring to the Superuser question, that's not where my Windows Terminal's settings file is located, it's here
and I can easily use PowerShell to automate the process of copying my personalized settings file from my OneDrive to that location after every time I clean install Windows. PowerShell is like the God of automation lol |
@lulMeow My json file is located like yours. I've commented SO for the sake of it. Actually, I've add another answer with more details. |
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
I really like how PowerShell do their profile, you can source another file in "Their profile file". So I do this at the top of my profile: . "$env:GITHUB_REPOS_PATH\machine\powershell\Microsoft.PowerShell_profile.ps1"; Me casa su casa 😎 |
Hi, Is it possible to add an option to each configuration file to choose whether to synchronize the configuration file? |
Dupping a few issues to this one: #17277Description of the new feature/enhancementI use many different machines on a daily basis, for example my work laptop, my development laptop, my testing laptop, my private laptop, my private Tower etc. On each Device I need to import the full Config of Windows Terminal. A way to synchronise all the Terminal Config files would be insanely great and would really hype up this terminal soo much more!!! PowerToys already has a Backup option, could similar thing be done for windows-terminal? Also something like fully remote fetching would be nice, for example the machine fetches the config from remote github repository and on no internet it fallbacks to a cached version. Proposed technical implementation details (optional)The Github Integration to the initial Backup + Restore would be like a nice-to-have addon to keep in mine, but could also be done through scripts.
#17513Description of the new feature/enhancementIt would be ideal to back up Terminal settings to a different folder (for example, C:\Users\username\OneDrive\Documents\Terminal). Every time that we want to back up Terminal settings, we have to navigate to the folder like %LocalAppData%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState and copy and paste the settings.json file to another folder. Also, every time that we want to restore Terminal settings, we have to navigate the settings.json file to a folder and copy and paste it to %LocalAppData%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState. Proposed technical implementation details (optional)Add Backup and Restore buttons in the Terminal settings. |
Small word of caution; if the synchronisation is via git repo, then there should also be some way to abstract secrets, such as usernames on paths, SSH creds, etc. |
This should be a higher priority, why can this not sync with a windows account, its a widows product. |
FYI - we went for a simple patch in our Windows Terminal distribution that accepts the WT_BASE_SETTINGS_PATH environment variable to override where WT stores its settings, and we've been using it for the past two years without issue. I haven't submitted a pull request for the simple reason that there doesn't seem to be consensus on how this should be fixed upstream, but for our needs, we needed a way to create isolated, injectable configurations to launch WT from Remote Desktop Manager, and an environment variable worked well. |
@carlos-zamora / @zadjii-msft is there any news about that? |
Description of the new feature/enhancement
I have three different computers that I use for work. I keep my PowerShell profile in a GitHub repository and dot source it in my local PowerShell profile. That way I will only need to do a
git pull
on my profile repository to get all changes propagated on each computer.It would be great if I could do something similar with my Windows Terminal settings by simply stating in my local settings.json file that the "real" settings could be found somewhere else.
(It could even be that the loaded profile acts like a base for the settings on the computer so things could be overridden, but that is a completely different issue that remains to be opened)
I'm aware that I might have overlooked something here, but would love to start a discussion about this since I suspect that I'm not the only one with this "problem".
Proposed technical implementation details (optional)
The text was updated successfully, but these errors were encountered: