Sublime Forum

What’s the best way to backup the ST3 configuration

#1

Hi all,

I use ST on Linux since many years and I have a setup with :

  • Many packages installed (from the package manager).
  • Some user settings.
  • Some user keybindings.
  • Some packages specific settings.

I want to backup my configuration and sync-it in the web.

At this time I have a ~/.config/sublime-text-3/ repo on Github with all files backuped.

But that’s stupid because versionning external package wich are on the Package manager is redondant.

I don’t know how ST3 Packages and settings path work but there is many things useless here like all my current project and files opened. I don’t need that

And that’s not stable at all : At every installation I have somes issues like some package ignoring itself.

Any advice in the way to build a confuguration like this ? Tools ? Tips ?

1 Like

A way to export and import all configurations and packages
#2

You just need to backup your User folder (that’s what I’m doing here)

All your global settings, keybindings, packages settings etc are saved in it.

An interesting package settings the package control’s one. There is the list of all the plugins that are installed.

Say you want to use your config on an other computer, here’s what you have to do:

  • remove the User folder of the fresh install
  • clone your backup (only the User folder)
  • install Package Control
  • restart Sublime Text

Done.

5 Likes

#3

I use the same process as @math2001 mentions here, not only for keeping a backup of my configuration but also for synchronizing it between all of my computers. I use Sublime on all three of the supported platforms, so when I make a change on one that I like I can easily check in the change and push it to my other machines.

Along with the Package Control files that are mentioned in the .gitignore file of that Git repo, you should also ignore oscrypto-ca-bundle.crt (if you use or will use Mac OS), as that’s the Mac version of the Package Control merged ca files. That’s less of an issue if you never use a Mac, but I’m just mentioning that here for completeness.

Also note that it doesn’t cover any packages that you manually installed yourself or any files in installed packages that you have expressly overridden, because such files would be stored outside of the User directory. So if you’re doing either of those two things, you have a bit more work to do. I would suggest not doing either of things if at all possible, though.

As a (vaguely contrived) example, if you were developing something for Python 3 using Sublime on a computer where the python interpreter is named python3 instead of python, you might override the default Python.sublime-build file to modify how it’s running the python interpreter.

Such an override would be stored in Python\Python.sublime-build and not User\Python.sublime-build, so it doesn’t get captured by this process.

It’s redundant, but another reason not to do it (if you use Sublime on multiple operating systems as I do) is that it’s possible for a package to have some os-specific file or content setup in it. When PackageControl installs such a package it installs the version for your current operating system, which would break that package under a different OS.

4 Likes

#4

Thank’s for your fast reply,

I will modify my setup soon and test all of that.
Another solution is dropbox with symbolic link but I prefer use git.

Also, I have a .fonts.conf in my conf : ~/.config/sublime-text-3/.fonts.conf for use Profont with Sublime. I will try to move it on the User for keep my .fonts.conf versionned.

0 Likes

#5

Should you have bought any commercial plug-ins for Sublime Text, I’d also suggest adding *.sublime-license files to *.gitignore.

Alternatively you could use StackExchange/blackbox to encrypt those files via PGP, compare N4M3Z/SublimeConfig and pay great attention to the .gitignore file there.

2 Likes

#6

Thank’s.

That’s working fine ! https://github.com/4sStylZ/SublimeText3

0 Likes

#7

Thanks for this tip, I have just created a git repo to sync these files between my laptops.

I have a fairly minimal install of ST3 so there aren’t many files at the moment, but it certainly makes it easier.

1 Like

#8

Does everything that everyone’ said also apply to modifications you’ve made to color scheme files and other tinkering too ?

Cheers

1 Like

#9

Yes; generally speaking all of the changes and customizations that you do in Sublime end as files in the User package, so if you’re backing up your configuration you would also get color scheme and theme augments, etc.

If on the other hand part of your configuration is creating overrides for parts of packages that you use, that’s a bit more problematic; overrides need to be stored in the Packages folder under the name of the package that they’re overriding, so they don’t exist in the User package.

It’s not generally safe to back up the Packages folder wholesale for the reasons outlined above, so you would need to be very specific about it or handle it another way.

One of the things on the OverrideAudit BLOT (Big List of Tasks) is commands for creating a single patch file that can gather overrides up in groups and apply them on other machines. That could be used to create backups of things like this, though the BLOT is fairly big so there’s no real ETA on that particular feature.

2 Likes

#10

Thank you, just looking at regex too…:vulcan_salute:

0 Likes

#11

Have copied the user file over to the Packages folder on my new installation of ST3 on my travelling laptop. All looks good.

I’ve got a few pathnames to change on my build files etc. I’ve not bothered installing a few things too.

Now I know what I’m doing a bit more, all relatively painless :face_with_monocle: :partying_face:

Thanks for all your help so far, good “bed side manner” too ! :man_health_worker:
(Of the many bedside manners I’ve come across, some less mannerish than others !)

Ta, Lozminda

0 Likes

#12

As oDatNurd has pointed out, there are device, OS environment and geo-regional constraints that preclude some sort of tarball one hit fits all. Half the love is setup, half the love is use for every installation. Setup that used to span weeks is now satisfactory and consistently complete within 5 minutes. Mind you, the following could be automated for 1 second, 1 click setup…

Paste in License, paste in Theme colors (<plist version=“1.0”> etc.), paste in settings (“bold_folder_labels”: true etc.), type in a few package names (Seth Color Scheme etc.). Done.
Less than 2 minutes? Some of us type slowly…

What helps greatly, is a document describing ST setups. My first attempts at such led to over a decade of deployment trial-and-error. To be honest, my ST deployment guide since 2008, faultless. IF THERE WAS AN UPLOAD FILE SHARE IN THIS FORUM, it would be [here]. But now you now how. :wink:

0 Likes

#13

Warning for at least Mac users, and probably everyone else - copy-paste of System Library folders to shortcut setup, NOT A GOOD IDEA. Sublime has a sublime digital personality. It needs to express itself, as it gets settled in. Enjoy, eh.

0 Likes

#14

Now then

Having made a clean copy of ST3 (except for package dev, prv, multicommand and trailing spaces) or so I thought, my clean copy (on a different machine) now contains all the packages that my older ever so slightly clitchy version of ST3 contains. One of the jobs I was going to do was to see if any of the problems I’ve been having would go away if there were only a few packages.

What file/folder shouldn’t i copy to keep the new build clean. (for next time)

I copied the keybindings, preferences and User file, and that I thought was it…
Have I now got to go back to initial state? is there anyway to undo? etc etc. Drat !

Kind regards Lozminda

0 Likes

Moving from 'dialog box' to 'panel' without the mouse
#15

I just migrated by simply copying my old ~/.config/sublime-text-3/ to the new machine. No problems whatsoever. What am I doing wrong, what issue should I expect?

I was migrating from a machine with an Ubuntu 18.04 to a machine with an Ubuntu 20.04. I guess, they are fairly compatible.

0 Likes

#16

That should be fine, I would think. The larger issue is usually in copying things between different operating systems, architectures or different builds of Sublime, both of which can have an impact on what packages would be installed or how they’re installed.

Going from Linux <-> Linux using the same build of Sublime and the same architecture (32 vs 64 bit) should not present any issues. Even if the build was slightly newer, so long as nothing obviously goes wrong right away, Package Control should (in theory) upgrade anything that needs upgrading or warn you if a package is installed that isn’t supported any longer.

1 Like