A simple but efficient way to transfer your dotfiles from one setup to another.
yay -Sy fetchdots
Install fetchdots on your system and start managing your dotfiles with simple .fdf scripts.
Clone and fetch your dotfiles from any Git repository. Supports SSH and HTTPS.
Use .fdf scripts with commands like PUT, LINK, GETPKG, and DEPEND_ON to define exactly what happens.
Review changes before overwriting with a side-by-side TUI diff viewer powered by ncurses. See exactly what's being modified.
Written in pure C with minimal dependencies. Fast, portable, and works on any Linux distribution.
Set a custom source folder, grab files from root, or use the default dotfiles/ directory — it's your choice.
Prompts before overwriting existing files. Use -f to force placement or -d to preview diffs first.
# Hyprland dotfiles setup CONFIG default_dir = dotfiles # Check required packages DEPEND_ON { hyprland>=0.40 kitty==0.32 waybar } # Ensure dependencies are installed GETPKG "hyprland" WITH "pacman" GETPKG "waybar" WITH "pacman" # Create config directories MKDIR ~/.config/hypr MKDIR ~/.config/waybar # Place config files PUT hyprland.conf IN ~/.config/hypr/hyprland.conf LINK waybar/config TO ~/.config/waybar/config PUT .bashrc IN ~/.bashrc ECHO "Hyprland setup complete!" END FETCH
DEPEND_ON — Check required packages and versionsGETPKG <pkg> WITH <manager> — Install packagesPUT <file> IN <dest> — Copy a file from your repoLINK <file> TO <dest> — Create symbolic linksMKDIR <path> — Create a directoryRUN <command> — Run a shell commandECHO "<msg>" — Print a messageCONFIG <key> = <val> — Set configurationEND FETCH — End the scriptUse fdf -d to preview changes before overwriting files. The ncurses-based TUI shows a color-coded comparison:
Navigate with j/k or arrows, PgUp/PgDn for pages, q to close.