{"id":13680491,"url":"https://github.com/Prayag2/konsave","last_synced_at":"2025-04-29T23:31:52.605Z","repository":{"id":41201649,"uuid":"342885184","full_name":"Prayag2/konsave","owner":"Prayag2","description":"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!","archived":false,"fork":false,"pushed_at":"2024-05-18T15:44:37.000Z","size":154,"stargazers_count":1113,"open_issues_count":16,"forks_count":40,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-14T09:16:19.703Z","etag":null,"topics":["backup","customization","desktop-environment","hacktoberfest","kde","kde-plasma","kde-plasma-customizatios","konsave","linux","plasma","plasma-5"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Prayag2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-27T15:09:33.000Z","updated_at":"2025-04-13T16:02:56.000Z","dependencies_parsed_at":"2023-02-16T10:45:31.520Z","dependency_job_id":"80c56701-91af-4de8-9b95-2cc749c1ec4f","html_url":"https://github.com/Prayag2/konsave","commit_stats":{"total_commits":116,"total_committers":13,"mean_commits":8.923076923076923,"dds":0.5,"last_synced_commit":"ddabff9c647793784b140fb8be5ab553889a8fe4"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prayag2%2Fkonsave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prayag2%2Fkonsave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prayag2%2Fkonsave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prayag2%2Fkonsave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prayag2","download_url":"https://codeload.github.com/Prayag2/konsave/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251600343,"owners_count":21615689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","customization","desktop-environment","hacktoberfest","kde","kde-plasma","kde-plasma-customizatios","konsave","linux","plasma","plasma-5"],"created_at":"2024-08-02T13:01:17.641Z","updated_at":"2025-04-29T23:31:47.930Z","avatar_url":"https://github.com/Prayag2.png","language":"Python","readme":"\u003ch1 align=center\u003e Konsave (Save Linux Customization) \u003c/h1\u003e\n\u003cp align=center\u003eA CLI program that will let you save and apply your Linux customizations with just one command! Konsave also lets you share your dot files to your friends in an instant! It officially supports KDE Plasma but it can be used on all other desktop environments too!\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/39525869/109611033-a6732c80-7b53-11eb-9ece-ffd9cef49047.gif\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Installation\nInstall from PyPI  \n`python -m pip install konsave`\n\n## Usage\n### Get Help\n`konsave -h` or `konsave --help`\n### Save current configuration as a profile\n`konsave -s \u003cprofile name\u003e` or `konsave --save \u003cprofile name\u003e`\n### Overwrite an already saved profile\n`konsave -s \u003cprofile name\u003e -f` or `konsave -s \u003cprofile name\u003e --force `\n### List all profiles\n`konsave -l` or `konsave --list`\n### Remove a profile\n`konsave -r \u003cprofile name\u003e` or `konsave --remove \u003cprofile name\u003e`\n### Apply a profile\n`konsave -a \u003cprofile name\u003e` or `konsave --apply \u003cprofile name\u003e`\nYou may need to log out and log in to see all the changes.  \n### Export a profile as a \".knsv\" file to share it with your friends!\n`konsave -e \u003cprofile name\u003e` or `konsave --export-profile \u003cprofile name\u003e`\n### Export a profile, setting the output dir and archive name\n`konsave -e \u003cprofile name\u003e -d \u003carchive directory\u003e -n \u003carchive name\u003e`\nor\n`konsave --export-profile \u003cprofile name\u003e --archive-directory \u003carchive directory\u003e --export-name \u003cexport name\u003e`\n### Export a profile, overwrite files if they already exist\n`konsave -e \u003cprofile name\u003e -f` or `konsave --export-profile \u003cprofile name\u003e --force`\n*note: without --force, the export will be appended with the date and time to ensure unique naming and no data is overwritten\n### Import a \".knsv\" file\n`konsave -i \u003cpath to the file\u003e` or `konsave --import-profile \u003cpath to the file\u003e`\n### Show current version\n`konsave -v` or `konsave --version`  \n### Wipe all profiles\n`konsave -w` or `konsave --wipe`\n\n  \n---\n  \n\n## Editing the configuration file\nYou can make changes to Konsave's configuration file according to your needs. The configuration file is located in `~/.config/konsave/conf.yaml`.\nWhen using Konsave for the first time, you'll be prompted to enter your desktop environment.  \nFor KDE Plasma users, the configuration file will be pre-configured.\n\n### Format\nThe configuration file should be formatted in the following way:\n```yaml\n---\nsave:\n    name:\n        location: \"path/to/parent/directory\"\n        entries: \n        # These are files to be backed up.\n        # They should be present in the specified location.\n            - file1\n            - file2\nexport:\n    # This includes files which will be exported with your profile.\n    # They will not be saved but only be exported and imported.\n    # These may include files like complete icon packs and themes..\n    name:\n        location: \"path/to/parent/directory\"\n        entries: \n            - file1\n            - file2\n...\n```\n\n### Adding more files/folders to backup\nYou can add more files/folders in the configuration file like this:\n```yaml\nsave:\n    name:\n        location: \"path/to/parent/directory\"\n        entries:\n            - file1\n            - file2\n            - folder1\n            - folder2\nexport:\n    anotherName:\n            location: \"another/path/to/parent/directory\"\n            entries:\n                - file1\n                - file2\n                - folder1\n                - folder2\n```\n\n### Using placeholders\nYou can use a few placeholders in the `location` of each entry in the configuration file. These are:  \n`$HOME`: the home directory  \n`$CONFIG_DIR`: refers to \"$HOME/.config/\"  \n`$SHARE_DIR`: refers to \"$HOME/.local/share\"  \n`$BIN_DIR`: refers to \"$HOME/.local/bin\"  \n`${ENDS_WITH=\"text\"}`: for folders with different names on different computers whose names end with the same thing.  \nThe best example for this is the \".default-release\" folder of firefox.  \n`${BEGINS_WITH=\"text\"}`: for folders with different names on different computers whose names start with the same thing.  \n\n\n```yaml\nsave:\n    firefox:\n        location: \"$HOME/.mozilla/firefox/${ENDS_WITH='.default-release'}\"\n        entries:\n            - chrome\n```\n\n---\n\n## Contributing\nPlease read [CONTRIBUTION.md](https://github.com/Prayag2/konsave/blob/master/CONTRIBUTION.md) for info about contributing. \n\n## License\nThis project uses GNU General Public License 3.0\n","funding_links":[],"categories":["Python","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrayag2%2Fkonsave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPrayag2%2Fkonsave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrayag2%2Fkonsave/lists"}