kde-migrant
kde-migrant copied to clipboard
KDE Migrant allows you to migrate your existing KDE/Plasma/apps configuration to a new computer. Good when changing computers or cloning one user configuration for other users.
KDE Migrant 🧳
KDE Migrant allows you to migrate your existing KDE configuration to a new computer. Good when changing computers or cloning one user configuration for other users.
A single file browser and command-line script that allows you to backup your full or partial KDE configuration including apps, dotfiles and any customizations. It works for KDE Plasma widgets as well.
It creates a ZIP file that you can transfer to a different computer to unzip it.
Installation
- Clone via git or download a ZIP file.
- Clone / unzip to a directory
- You need a server (Apache, NGINX or similar) running. If you have an existing server, unzip (or clone) to a root directory of your server (e.g.
/var/www/). - If you don't have a server running, launch a built-in server using PHP directly like this:
php -S 127.0.0.1:8000 -t /path/to/kde-migrant
- You need a server (Apache, NGINX or similar) running. If you have an existing server, unzip (or clone) to a root directory of your server (e.g.
1. CLI: Gather user home directory structure
Run from command line:
php migrant.php scan
or run scan as a different user:
sudo -u [user] php migrant.php scan
2. Browser: Configure which settings to back up
- Open
migrant.phpin your browser- when using an existing server: e.g.:
http://localhost/kde-migrant/migrant.php - when using a PHP built-in server:
http://127.0.0.1:8000/migrant.php
- when using an existing server: e.g.:
- Select configuration folders and files to back up (or select whole categories such as KDE, Plasma, Flatpaks, Snaps)
- Confirm to create backup configuration
Note: Files or folders larger than 100 KB will have filesize information on red background shown next to them.
3. CLI: Run backup process
Dry run to simulate backup based on existing configuration:
php migrant.php dryrun
Run backup based on existing configuration:
php migrant.php backup
or run backup as a different user:
sudo -u [user] php migrant.php backup
migrant.zip file will be created.
4. Transfer migrant.zip to target computer
And extract it there.
Screenshots
CLI: Running scan to gather home directory structure (for correct access permissions):
Browser: Select folders and files to back up / migrate:
Browser: Configuration created
CLI: Usage and help
FAQ
Is it possible to add different folders to back up (e.g. not located in user home directory)?
Yes, edit migrant.php and edit these constants: FOLDERS_SCAN and FILES_SCAN. Add paths to scan. Note that user has to have read access to them in order to back them up.
How can I change matching pattern for one-click group such as
KDEcheckbox on top?
Edit KDE_MATCH constant and add your pattern separated by | pipe character. E.g. add |user to include all folders+files containing user in their name.