Prayag2 / konsave

A command line program written in Python to let you backup your dotfiles and switch to other ones in an instant. Works out-of-the box on KDE Plasma!
GNU General Public License v3.0
1.01k stars 38 forks source link

[Feature Request] Multiple profile schema support #104

Open JurgenCruz opened 10 months ago

JurgenCruz commented 10 months ago

Is your feature request related to a problem? Please describe. Having a single profile for exporting configurations across machines means both machines have to have same setup (i.e. same apps and hardware like number of screens). Otherwise the export might break the importing machine.

Describe the solution you'd like Having multiple profiles (or nested profiles) could allow saving/exporting the configurations as separate files, or a single zip file with subdirectories for each profile.

While importing, you could import only the files that you are interested in or the whole file but present an interactive shell to select what parts (subprofiles) you want to import.

Describe alternatives you've considered Today I would need to switch profiles manually by updating the config file before each save/export and store/manage the profiles myself somewhere and hope I don't save with the wrong profile.

Additional context I distro hop seldomly, so I can use the export just fine between hops with the same computer and programs. But I also have a laptop which has different number of screens, resolution and installed programs. I would like to partially share my PC config with my laptop without losing the capability of distro hoping with the full config.

JurgenCruz commented 10 months ago

Just to clarify since you call profiles the actual saved configurations. When I say profiles, I refer to the schema stored in konsave's config file. If I can have multiple schemas, I can generate different profiles or a smarter profile that can then be imported partially

Prayag2 commented 6 months ago

Having a single profile for exporting configurations across machines means both machines have to have same setup (i.e. same apps and hardware like number of screens). Otherwise the export might break the importing machine.

This is a problem that I have encountered a lot of times myself. The solution you've provided is also quite neat but I'm thinking of more solutions. Stay tuned for this. I'll start working on issues during summer break (June-July), so let's see what I can come up with to solve this :)

JurgenCruz commented 6 months ago

Thanks! that is great news. I actually went ahead and wrote my own tool from scratch, but I also like when you have different options of achieving the same thing. :smiley: