This repository contains my personal configuration files (dotfiles) for various applications, organized by application name. The setup uses GNU stow for symlinking the files to their appropriate locations in the system.
git: To clone the repository.- GNU
stow: For symlinking the configuration files.
Install it with your package manager:
- Debian:
sudo apt install stow - MacOS (Homebrew):
brew install stow
- Clone the repository into your home directory (or another preferred location):
git clone https://github.com/yourusername/dotfiles.git ~/.dotfiles
cd ~/.dotfiles- Use
stowto symlink configurations for the desired applications.
For example, to set up zsh and tmux:
stow -v zsh tmux- The
-vflag enables verbose output (optional). - Replace
zshandtmuxwith the names of the directories for the apps you want to configure.
- Verify the symlinks were created correctly in
~/.config/(or other target directories).
- Organize by application:
Create a new directory (e.g., nvim/.config/nvim) and place your config files inside, maintaining the same directory structure as the target system.
- Symlink with
stow:
stow -v nvimTo unlink a configuration (e.g., tmux), run:
stow -D tmux.
├── zsh/
│ └── .config/
│ └── zsh/ # → ~/.config/zsh/
│ ├── .zshrc
│ └── ...
├── tmux/
│ └── .config/
│ └── tmux/ # → ~/.config/tmux/
│ └── .tmux.conf
└── ...- Backup existing files: If you already have config files in the target locations, move or back them up before running
stow. - Custom paths: If your system expects configs in non-standard paths (e.g.,
~/.zshrcinstead of~/.config/zsh/.zshrc), adjust the directory structure accordingly. - Dry run: Test with
stow -nvto preview changes without applying them.