Transfuse - KDE user config backup script

Continuing from Is it possible to copy KDE settings and stuff from KDE Neon to Manjaro KDE?

I might have gotten bored...

This is still beta.
But I think everything works now.

Anyone brave enough to test it is hereby warned that the 'restore' option moves things around in your home directory. It might be smart to try it on a test account or similar.

EDIT - OK its lookin pretty good. And @c00ter it will contain your pulse conf file :wink:

11 Likes

"Something went wrong! Yell at cscs!" :wink:

Well yeah .. its not done .. sorry I should mention that.

1 Like

Warning: Could not start program '/home/c00ter/transfuse.sh' with arguments '/home/c00ter/transfuse.sh'.

Warning: execve: Exec format error

EDIT: I'll be your test bunny, but this is Arch so as long as there are no specific args it's copacetic. :smiley:

1 Like

you would have to chmod +x it first and use
./transfuse.sh backup
[nothing should be funny - to be clear its bash and not zsh or anything and mainly uses rsync and tar]

We copied and compressed items recursively from:
~
~/.config/
~/.local/share
[c00ter@baked ~]$

I just needed the 'backup' :smiley:

Yeah .. I'm going to do what I did elsewhere and make it spit options if someone runs it without args

For now just make sure it ran fine and that the correct directories/files are there.

also @c00ter make sure I'm not missing anything obvious. I used the lists generated above for everything, but didnt look around myself.
[and I'm happy rsync just keeps chugging if the directory doesnt exist .. saves me extra time to not have to code for the maybes of things like latte]

2 Likes

It created an appropriate tar.gz which decompresses into the correct (AFAIK) subdirs. Not all of the .config subdirs are present, such as pulse, but as you say, it's a WIP. :smiley:

Very speedy!

I thought the intention was just plasma configs like themes and colors.
Please point me to anything you think I should include.

In the meantime heres a more helpful iteration [try without args]:
https://pastebin.com/0wi0h4ep

(and personally I'm surprised by how fast it seems to be. Especially since my code is near barbaric)

Okey doke. You're the scriptor. 'Tis I use a special daemon.conf in the 'pulse' subdir I have to copy over every bloomin' time. The 'pulse' subdir is a standard plasma directory anyway, right? :smiley:

What exactly in pulse do you need ? mine looks like random generated default files
(not unlike firefox profiles?)

Nothing, just the empty directory to put the file in. It's a short .conf file I picked up around here a few years ago. Here's the content FWIW.

#daemon.conf

default-sample-format = float32ne
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 2
default-fragment-size-msec = 125
resample-method = speex-float-5
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
rlimit-rtprio = 9
rlimit-rttime = -1
daemonize = no
1 Like

I was sitting here thinking about a prompt to create an extra folder or something but that seems inefficient.
Maybe it makes more sense to split the copy and compress actions.
So that 'backup' works the same but you can pass
--nocompress so that the backup directory is created on its own and you can fuss with or add to it
--onlycompress to compress an already-made (possibly augmented) backup directory
What do you think ?

I think you should be able to (re)create every directory and subdirectory a--probably vanilla--Plasma install creates--with or without confirmation.

It should have the ability to 'confirm' copying any user-created directories (without choking).

:+1: your split idea.

P.S. Don't rely on what I think. My thinking process is considered weird--to put it mildly--by some of my peers. :wink:

OK, instead of splitting I just added options 'copy' and 'compress'
I edited top post with latest iteration for you to test :wink:
[run without an argument to see options]

Could it place the backup in a specified directory?

Bit untidy placing it in the same directory as the script. ~/.plasma-backup for example.

Okey doke, I've run the latest script, (8:43am)...

I've run 'backup,' 'copy,' and 'compress' on the copy.

I haven't run 'restore' yet. I'm almost scared to. :wink: Is there a cash reward for that? :smiley:

1 Like

I actually liked it that way .. the way the instructions from gitlab go I instruct you to clone the project (thus you have the script sitting in a 'tranfusion' directory.) You run it from there and then you can place that folder in your USB and you run the restore from that directory.

The alternatives all come out 'clunky' in my head. What would you suggest?

@c00ter - Test user account? Either way I can only pay with good vibes :wink:

EDIT:
Looks like you dont have to worry too much @c00ter.

Seems to work fine I think;

My current desktop:

Default Manjaro KDE:

After testing transfuse restore on new user (note wallpaper was not available so defaulted):

Though the main thing here is also this was on the same install. So themes and resources from root were still available. Migrating to another system this would not necessarily be the case.
I'm thinking of adding 'Root' options. Probably as a second backup bundle [prefixed with 'root' instead of username] with a separate restore command.

1 Like

Before I complain, thank you for making this. I'm very happy this exists. :smiling_face_with_three_hearts:

So, I'm not sure what's wrong here but it simply won't work for me. It saves a couple files but tells me there is no such directory. I'm posting this here rather than git lab. I hope that's ok.
Here's the paste

I'm not ruling out being a complete dingus and mucking it up somehow but I don't think I did. It's pretty simple to run even for a newb like myself.
And I checked to see that those directories/files where actually there for my own sanity and they are.

rsync: change_dir "/home//.config" failed: No such file or directory (2)

Odd. The username during copy should be generated by
who am i
( actually who am i | awk '{print $1}' )
What does that return for you?

During 'restore' it asks.
Maybe I will do the same when copying for more stability ...