DotPorter is both an executable binary that can be run, and a library that can be used in Rust programs.
Installing dotporter install executables
Assuming you have Rust/Cargo installed , run this command in a terminal:
cargo install dotporter
It will make dotporter install commands available in your PATH if you've allowed the PATH to be modified when installing Rust . cargo uninstall dotporter uninstalls.
Adding dotporter library as a dependency
Run this command in a terminal, in your project's directory:
cargo add dotporter
To add it manually, edit your project's Cargo.toml file and add to the [dependencies] section:
dotporter = "0.1.1"
The dotporter library will be automatically available globally.
Read the dotporter library documentation .
Back to the crate overview .
Readme
DotPorter 🔄
A powerful Rust-based tool for managing and synchronizing your dotfiles and packages across different machines.
dotporter Crate
The dotporter crate is now published on crates.io . You can add it to your project by including the following in your Cargo.toml :
[ dependencies ]
dotporter = " 0.1" # Replace "0.1" with the latest version if needed
Or just install it globally with
cargo install dotporter
Folder
Description
📂MANUAL_BACKUP
Storage for manual backup files (legacy version)
📂LEGACY_DEPRECATED
Archive of old scripts for reference
📂dotfiles
Synchronized configuration files (auto-populated)
📂Packages
Package management and backup files
🚀 How does it work
New Released Version (Rust-based)
Run the following command:
cargo run -- bin Dotporter
This will automatically create a config file in your home directory:
~ / dotporter/ backup_config. toml
📸 Configuration Preview
The configuration file can be customized to include or exclude:
Package managers
Folders
Specific files
After completion, two main folders will be created:
📸 Result Structure
Legacy Version
Click to expand legacy version details
The root directory contains backup references for:
🐚 Shell Settings : Themes and plugins for Oh My Zsh
📄 .zshrc : Zsh configuration
🎨 personal-zsh-theme : Custom theme inspired by daivasmara
⚙️ settings.zip : PHPStorm configuration
Scripts Usage
Backup your packages:
chmod a+x ./scripts/backup-packages.sh
./backup-packages.sh
Restore on new machine:
chmod a+x ./scripts/packages/brew-bulk-install.sh
chmod a+x ./scripts/packages/packages-reinstall.sh
./brew-bulk-install.sh
./packages-reinstall.sh
🛠 Dependencies
Required tools for the new machine:
⚠️ Important Notes
Beta Feature : Package installation binary is available but untested
cargo run -- bin install
Composer Packages : Consider manual composer. json copy and install
Config Backup : Current release focuses on configuration backup
🤝 Contributing
Feel free to:
Submit issues
Create pull requests
Suggest enhancements
Made with ❤️ by 📧 hamzahasbi