Package: npp-dotmanager
npp_dotfiles makes it easy to use and manage your configuration files
while keeping them in one secure directory (like Dropbox or other
hosts). You can configure it to symlink your files to their destination
directory with support to different names in backup and working dirs.
More, you can manage the config files, that you want to share with
others separate from your private ones. Uses git to automatically push
and pull repositories on backup.Current stable version is 0.2.0InstallYou can install it with pip:pip installnpp-dotmanagerOr download the source and use:$ git clone https://github.com/sxnwlfkk/dotmanager
$ cd dotmanager
$ python3 setup.py installRunYou can run the program with thedotmanagercommand. You can explore
the arguments withdotmanager-hhelp function.If you don’t have root permission, you can use thedotmanager_noroot.pyscript after cloning the repository. In the
root dir of the project call:python3 scripts/dotmanager_noroot.py-hConfigurationDotmanager needs a configuration file to run, and checks first in~/.dotfile. You can specify a config file from another directory
with calling:dotmanager-d~/path/to/alternative/dotfileConfiguration fileThe configuration file needs to be formatted in YAML, in the following
fashion:repositories:
    private:
        dir: /home/user/path/to/backup/directory
        url: https://example@bitbucket.org/configs.git
    public:
        dir: /home/user/path/to/public/respitory
        url: https://github.com/example/configs.git

backup-folders:
    scripts:
        target: ~/bin/
        public:
            - first_script
            - second_script
        private:
            - third_script
    home:
        target: ~/
        public:
            - .vimrc
            - .tmux.conf
            - [.newsbeuterrc, ~/.newsbeuter/config/.newsbeuterrc]
        private:
            - .zshrc
            - .dotfile
            - .netrc
            - [ranger.conf, ~/.config/ranger/rc.conf]This example config file is available in the source repositories.Therepositoriesandbackup-foldersare mandatory levels.
Repositories needs to have at least a private level, where thedirneeds to be set to the backup folder, and theurlis only needed, if
you want to use the Git functionality.The keys in thebackup-foldersare the name of the directories
inside your backup folder(at the moment you need at least one, and
it’s also a good idea to structure your backup files). Thetargetkey determines the working directory, where most of the dotfiles will be
symlinked.Public and Private modesThe files under thepublickey will be treated the same as the
private ones, – symlinked to the target directory – with the exception
that they will be copied additionally to the public directory, if you
specified one.Storing files with alternative nameIf you want to store your config files with different name than it needs
to be in the target directory for whatever reason, you can do that. For
example, you want to storeranger’s config file (rc.conf) asranger.confin your backup directory. For this to work, you need to
specify the alternative name first, then the path to the target file:- [ranger.conf,~/.config/ranger/rc.conf]Alternate target pathIf your file needs to be in other directory than the rest of your files
in your backup dir, you can specify the alternate path with the above
method.SetupSetup is one of the main modes of work ifdotmanager. You can call
it with public or private. Setup symlinks in both cases both public and
private files to their destination. However public tries to clone the
publicgitrepository, if provided. Else, it makes the directory (if
it doesnt exists), and copies the public files to their position.
Optimally you’ll need to use this once an install.Privatedotmanager--setup--privatePublicdotmanager--setup--publicBackupBackup is the function to call, if you want to migrate your backups to
their git servers. If called with the--privateflag, it just
commits the changes in your backup directory, and pushes it to current
branch. Called with the--publicflag, it commits and pushes the
private directory, then copies the current state of the public files to
the public dir. After that the public repository is also committed and
pushed to the current dir.Privatedotmanager--backup--privatePublicdotmanager--backup--publicThe--no_gitflagThe--no_gitflag inhibits every git functionality of the program,
if you want to use other hosting or version control.LicenseCopyright (C) 2017, Saxon Wolfkok <saxonwolfkok@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.