# dotfiles maker
mew
is a command line tool, that will help you take backup of different config files (dotfiles) and store it in the ~/dotfiles folder. Then you can push the folder to github (or any remote repo manager) for safe keeping the files. mew
will help you avoid the manual copy paste of the config files in an interactive way. See in action here
Backup configuration files
Restore config from backup files
Sync configuration files
View files structure
Automated git push
More Details
Feature | Description |
---|---|
Backup configuration files | Take backup of each config and imp files installed in the system |
Restore config from backup files | Making use of the backup files |
Sync configuration files | Update the files to the latest version by seeing what have been changed since the last version |
View files structure | View the dotfiles folder structure |
Automated git push | Push the backup to remote repo through mew |
upcoming features
Take Snapshots of config files
Target specific config files
More Details
Feature | Description |
---|---|
Take Snapshots of config files | Create multiple instance of a file on different timeline like a git commit |
Target specific config files | Targeting only the files we want to backup or update |
tree
β
bash shell config
β
fish shell config
β
zsh shell config
β
aliases file
β
i3 config
β
vim config
β
kitty config
β
tmux config
β
vscode user settings
β
dnf user installed packages
β
lf config
- vscode installed extensions
- nvim config
- alacritty config
- sway
- hyprland config
- gitconfig
- [ apt | pacman | aur | zypper ] (user installed packages)
- snap (installed packages)
- flatpak (installed packages)
Run the installation script (./install.sh) OR
run the script given below
Using git
git clone https://github.com/ImSreyas/mew.git
cd mew
chmod +x install.sh
./install.sh
Using curl
curl -L -o mew.zip https://github.com/ImSreyas/mew/archive/refs/heads/main.zip
unzip mew.zip
cd mew-main
chmod +x install.sh
./install.sh
How to uninstall
./uninstall.sh
Run mew
command in the cli to push all the dotfiles (see here) to the Dotfiles folder.
Basic commands
mew push
- Push files which are changed and files which are not backed up yet (ask you for confirmation)
mew pull
- Pull files from Dotfiles which are udated or not found (in its original location) to its original location (ask you for confirmation)
mew pushx
- Same as mew push
But it won't ask you for any confirmation, it will push everything in one go (faster version of push)
mew pullx
- Same as mew pull
But it won't ask you for any confirmation, it will pull everything in one go (faster version of pull)
mew show
- Show the structure of Dotfiles folder (need 'tree' package)
mew remote push
- Push changes in Dotfiles to remote repo (git should be configured in Dotfiles to work)
mew remote push 'Commit message'
- To commit with a commit messagemew remote push
- It will commit with default commit message [which is : "Dotfiles updated (from mew)"]
mew remote pull
- Pull from the remote repo to Dotfiles
- push
- pull
- pushx
- pullx
- show
- help