.dotfiles management system.
Keep track of all your configuration files on your system
This system will help you spread the files under the
dots directory across
your system via symbolic links.
Table of Contents
reposo you can make it yours
Put all your files in the "dots" directory (picture this folder as your home directory on your system)
And after you've done the previous steps you're done mate
The initial command for spreading for your files would be this one:
Below are the commands for you to use (there are others but are for utilities)
Basic usage of the commands
make [command] [OPTION=*]
This command as explained earlier this command will spread the files over your system.
This link also will take care of another directory of this
this directory will work exactly the same way as the
dots directory but with
one difference, it WILL NOT be tracked on this repository. This is for 'secret'
files like some
Here is how the mapping between the files in the
will look like:
dots/foo -> ~/foo dots/.config/nvim/init -> ~/.config/nvim/init secrets/.password -> ~/.password secrets/.ssh/id_rsa -> secrets/.ssh/id_rsa
Cleans (deletes) all your files across the system. This will come handy if you
want to move the location of your
repo to other location.
This is a combination of the commands
link. An example for this
command would be that you removed a file from the
repo and the
link is still
on your system, with this you eliminate all of the links and only add the ones
still in the
make install [CSV=*]
Notice that this will only work on these systems below:
- Arch Linux
This will look for two needed files that comes with this
repo as default
*.csv files for you to use which are
and install any dependency you specify on them.
CSV=* variable you can specify any
*.csv file(s) you want to use other
than the two common ones that are on the initial setup.
make install CSV="foo.csv bar.csv"
The above will install all the dependencies listed in the
These below are the meaning for each option you can use on the
|main||Empty means to use your
|a||aur||Find packages on your
|f||function||This will look for a custom script under the
|g||go||Installs packages with go|
|gem||gem||Installs packages with ruby|
|m||make||This is very specific for installing the
|node||node||Installs packages with nodejs|
|pip||pip||Installs packages with your version of python|
Note: Remember to activate the package manager you want to use for installing any dependency before installing any package.
This will list all the installed packages and their status code. If some of
them cannot be installed correctly they will have an
1 as status code and
if they are correctly installed.
- node - :: peerflix :: 0
This print all the raw
stdout for every installed package.
:: peerflix - node - :: yarn global v1.21.1 [1/4] Resolving packages... [2/4] Fetching packages... info firstname.lastname@example.org: The platform "linux" is incompatible with this module. info "email@example.com" is an optional dependency and failed compatibility check. Excluding it from installation. [3/4] Linking dependencies... [4/4] Building fresh packages... success Installed "firstname.lastname@example.org" with binaries: - peerflix Done in 2.20s.
Required: shellcheck (it is on by default on the
This will test all your
*.sh files in the
repo and also any file on these two
This will open any file containing an
error or a
warning for you to edit
inside the glorious, marvelous, powerful, shiny, immune editor in the whole
|Make this system use
|Enable a custom editor for the
Leave any feedback here