dotload - This is a simple, intuitive and fast⚡ tool for installing configurations (dotfiles) and other necessary tools on any machine!
Installation · Report Bug · Request Featuredotload
works by cloning the specified user's GitHub dotfiles repository
This tool was created to make it as easy as possible to install dotfiles, required development tools (such as nodejs, php, etc.) and other 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 install dotload
using the following package managers:
apt (PPA)
You will also receive further updates with this method
sudo add-apt-repository ppa:salumin/tools
sudo apt update
sudo apt install dotload
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 okineadev/dotload
brew install dotload
With install.sh (Reccomended) ✅
With this method, you can install dotload on almost any system, including Termux
📥 Install:
curl -sL https://cutt.ly/dotload-install | bash
🗑️ Uninstall:
sudo rm $PREFIX/bin/dotload && hash -r
ℹ️ Note: If you want to remove this tool from Termux, you need to run the above command without
sudo
From sources
With this method, you can easily modify the installation and be sure of security.
Steps to install from sources:
- Clone the repository
git clone https://github.com/cli-stuff/dotload.git --depth=1
- Go to the project folder
cd dotload
- Install the tools
If you don't have make
installed, you need to install it:
sudo apt install make
There is also support for task.
📥 Install:
make install
💡 Tip: If you prefer to use the more modern task instead of GNU make , you can use this command:
task install
🗑️ Uninstall:
make uninstall
# Or
task uninstall
Termux
You will also receive further updates with this method
# Add Termux User Repository
pkg install tur-repo
pkg update && pkg install dotload
Or you can run without installation on any OS with this command:
bash <(curl -sL https://cutt.ly/dotload) @username
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...
There is also support for manpages
:
man dotload
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
- Add multilingual README.md support
- 🇺🇦 Ukrainian
- 🇵🇱 Polish
- 🇩🇪 German
- Write instructions for developers (package assembly)
-
Rewrite the function of creating deb-packages to support different versions of Ubuntu- ❌ Closed - Add installation options such as Snap,
AUR, RPM- Snap
-
AUR- ❌ Closed -
RPM- ❌ Closed
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
Telegram: @okineadev
This project is completely free and open source.
If you liked this tool - I would be very grateful if you could support me financially
Here are the details for transfers:
- 🍩 Donatello: https://donatello.to/okineadev
- 💎 TON wallet:
UQBaBIBtKJpdwc4jKSGd70LZyQnEf-Nx5edzZlZAAGkHnZ7E