dotload
works by cloning the specified user's GitHub dotfiles repository
This tool was created to make it as easy as possible to install dotfiles and other required packages.
This tool makes symbolic links to your dotfiles from ~/.dotload
to $HOME
directory
It can also make symbolic links to folders (including subfolders) whose name starts with a dot, for example .configs
Warning
Dotfiles with identical names will be inevitably overwritten with new ones from your repository!
For example, if you have a file ~/.bashrc
on your computer and in the repository, it will be overwritten with a new one from the repository, before cloning them, make sure that they are yours or you have made a backup of previous configurations
You can run without installation on any OS with this command:
bash <(curl -sL https://cutt.ly/dotload) @username
If you want to install it on your system, you can run the following command:
curl -sL https://cutt.ly/dotload-install | bash
ποΈ Uninstall:
sudo rm ${PREFIX:-/usr$([ "$(uname)" = "Darwin" ] && echo "/local")}/bin/dotload && hash -r
Note
If you want to remove this tool from Termux, you need to run the above command without sudo
Homebrew
With brew you can install this tool on macOS (and Linux too)
βΉοΈ Note: If you don't have brew installed, install it now with this command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
π₯ Install:
brew tap cli-stuff/dotload
brew install dotload
Termux
You will also receive further updates with this method
# Add Termux User Repository
pkg install tur-repo
pkg update && pkg install dotload
Linux | Termux | macOS | Windows (on msys shell) |
---|---|---|---|
β | β | β | β |
dotload @username
dotload @username/repo_name
dotload https://github.com/username/dotfiles.git
Where username
is the GitHub username whose dotfiles you want to clone.
repo_name
- Name of your dotfiles repository, if not specified - dotfiles
name will be used by default
You can also use URLs of repositories such as GitLab, Codeberg, etc.
Warning
The username cannot contain emojis, spaces or other non-standard characters
dotload @username branch_name
Tip
You can also use -b
or --branch
flags:
dotload @<username> [--branch branch_name | -b branch_name]
dotload <repo_url> [--branch branch_name | -b branch_name]
Where branch_name
is the branch of the repository you want to clone. If not specified, the default branch is used. This can be useful if you have multiple machine usage scenarios
Use the --help
flag to get help:
dotload --help
# Help page...
You can also add an installation script to your dotfiles
repository to fully automate the installation and get more features
The installation file can have the following names and locations:
- install.sh
- install
- bootstrap.sh
- bootstrap
- script/bootstrap
- setup.sh
- setup
- script/setup
If none of these files are found, then any files or folders in your selected dotfiles repository starting with .
are automatically symlinked to the $HOME
directory.
You can also specify a custom installation script
or make it optional in dotload.conf
, for this read the dotload.conf documentation
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
You can start developing on GitHub Codespaces right away
This repository has β‘prebuilds that allow you to skip installing packages and tools.
Or use the usual method on your computer:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please make sure to update tests as appropriate.
Also, please read our Code of Conduct, and follow it in all your interactions with the project.
This project is MIT licensed.
See LICENSE
If you like this project, consider supporting it by starring β it on GitHub, sharing it with your friends, or buying me a coffee β