LinuxCommandLibrary

konsave

Save and apply KDE Plasma configurations

TLDR

Save the current configuration as a profile

$ konsave [[-s|--save]] [profile_name]
copy

Apply a profile
$ konsave [[-a|--apply]] [profile_name]
copy

Save the current configuration as a profile, overwriting existing profiles if they exist with the same name
$ konsave [[-s|--save]] [profile_name] [[-f|--force]]
copy

List all profiles
$ konsave [[-l|--list]]
copy

Remove a profile
$ konsave [[-r|--remove]] [profile_name]
copy

Export a profile as a .knsv to the home directory
$ konsave [[-e|--export-profile]] [profile_name]
copy

Import a .knsv profile
$ konsave [[-i|--import-profile]] [path/to/profile_name.knsv]
copy

SYNOPSIS

konsave [GLOBAL_OPTIONS] [COMMAND_OPTIONS/ARGUMENTS]

PARAMETERS

save
    Saves the current KDE Plasma configuration to a new profile named <profile-name>.

restore
    Restores the configuration from the specified profile. This command will restart Plasma.

list
    Displays a list of all currently saved konsave profiles.

delete
    Deletes the specified konsave profile and its associated data.

apply
    Applies a profile's settings without a full desktop restart. Useful for applying themes or minor changes on the fly.

export [destination]
    Exports a saved profile to a compressed .tar.gz archive, optionally to a specified <destination> directory.

import
    Imports a konsave profile from a previously exported .tar.gz archive.

-h, --help
    Shows a help message and exits.

-v, --version
    Displays the program's version number and exits.

--dry-run
    Executes the command in a simulation mode, showing what would happen without making any actual changes.

-y, --yes
    Assumes 'yes' to all prompts, proceeding without user confirmation.

-f, --force
    Forces the operation, potentially overwriting existing data without prompt.

-i, --interactive
    Prompts the user for confirmation before performing certain actions, like overwriting files.

DESCRIPTION

konsave is a powerful Python script designed to simplify the backup and restoration of KDE Plasma desktop environment configurations. It allows users to create "profiles" of their current Plasma setup, including dotfiles, theme settings, application configurations, and various system preferences. This utility is particularly useful for users who frequently reinstall their operating system, switch between different machines, or simply wish to experiment with different Plasma configurations without losing their preferred setup.

By leveraging rsync, konsave efficiently saves and restores specific configuration directories and files, ensuring data integrity. It provides commands to save a new profile, restore an existing one, list available profiles, delete old ones, and even export/import profiles as compressed archives for easy sharing or transfer. It aims to provide a reliable method to migrate or replicate a customized KDE Plasma experience, reducing the manual effort involved in reconfiguring a fresh installation.

CAVEATS

konsave primarily targets KDE Plasma. While it might save some general dotfiles, its effectiveness for other desktop environments is limited.
It relies on rsync and other standard Linux utilities; ensure they are installed.
Restoring a profile can overwrite existing configuration files. Always back up important data before restoring, especially if not using the --dry-run or --interactive options.
Certain aspects of the desktop environment (e.g., system-wide fonts, icon themes installed via package manager) might not be fully captured or restored by konsave as it focuses on user-specific configurations.

DEPENDENCIES

Requires python3, rsync, and tar to function correctly.

INSTALLATION

Typically installed via pip (pip install konsave) or by cloning its Git repository and running the setup script.

PROFILE STORAGE

By default, konsave profiles are stored in ~/.config/konsave/. Each profile gets its own subdirectory within this location.

HISTORY

konsave was developed by Prayag Verma (Prayag2) to address the need for a simple, reliable way to save and restore KDE Plasma configurations. It emerged from the common frustration of manually reconfiguring a highly personalized desktop environment after reinstallations or system migrations. Its design focuses on being a user-friendly wrapper around rsync and tar, specifically tailored for the intricate directory structures of KDE Plasma, making it a valuable tool for customization enthusiasts since its inception.

SEE ALSO

rsync(1), tar(1), dotbot, stow

Copied to clipboard