.mng
is a lightweight, efficient dotfile management tool for Arch-based systems. It provides an easy way to track, sync, and set up dotfiles across multiple machines using Git.
- Track Specific Files: Easily add or ignore files and directories to be tracked.
- Sync Dotfiles: Pull and apply changes across systems.
- First-Time Setup: Install dependencies, initialize files, and set up a Git repository for tracking.
- Package Management: Tracks installed packages in
packages.txt
for system consistency.
Ensure that yay
(AUR helper) is installed, or install it with:
git clone https://aur.archlinux.org/yay.git /tmp/yay && cd /tmp/yay
makepkg -si --noconfirm
-
Clone the Repository:
git clone https://github.com/jotalevi/.mng.git cd .mng
-
Build and Install:
makepkg -si
Or, if already available on AUR:
yay -S dot-mng
.mng
provides a series of commands to manage and sync your dotfiles.
.mng [option]
-
-setup
: Initializes.mng
for first-time setup on a new system. Prompts for a Git repository URL to clone and begin tracking dotfiles..mng -setup
-
-up
: Syncs any tracked changes from your home directory to the dotfiles repository and updatespackages.txt
..mng -up
-
-r
: Pulls the latest changes from the remote repository and applies them to your home directory..mng -r
-
-add <file_or_dir>
: Adds specific files or directories to be tracked in.mng
. Updates.track
file to list items explicitly for tracking..mng -add ~/.config/hypr
-
-ignore <file_or_dir>
: Removes specific files or directories from tracking. Updates.track
to ignore specified items..mng -ignore ~/.config/hypr
-
-clone
: Sets up.mng
on a new machine by pulling and applying tracked files and directories from the repository..mng -clone
.track
: Lists files and directories to be tracked. Update this file to explicitly specify which dotfiles.mng
should sync.packages.txt
: Lists all installed packages for system consistency across machines.
-
Initialize
.mng
:.mng -setup
-
Add Files to Track:
.mng -add ~/.bashrc ~/.config/hypr
-
Sync Changes:
.mng -up
-
Apply Changes on Another Machine:
.mng -clone
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to open issues or submit pull requests for improvements or bug fixes.