This directory contains the dotfiles for my system.
Ensure you have the following installed on your system:
On Arch and Debian:
sudo pacman -S git
sudo pacman -S stow
sudo pacman -S makeOn Ubuntu:
sudo apt install git
sudo apt install stow
sudo apt install makeOn RHEL-based systems (RedHat Enterprise Linux, Fedora, CentOS, Oracle Linux, Rocky, etc.)
sudo dnf install git
sudo dnf install stow
sudo dnf install makeFirst, check out the dotfiles repo in your $HOME directory using git:
git clone git@github.com:101br03k/dotfiles.git ~/.dotfiles
cd dotfilesThen use GNU stow to create symlinks (-v makes stow tell us what it's doing while it's doing it):
stow -v .You can also watch the video from Dreams of Autonomy about Stow: Stow has forever changed the way I manage my dotfiles and the git repo where this one is inspired by, together with the Makefile from rmonin on GitHub.
The make command provides several targets for managing the dotfiles run make help to know usage:
USAGE
make [target]
TARGETS
stow - Create symlinks for all packages (default)
restow - Reapply symlinks for all packages
unstow - Remove symlinks for all packages (caution)
help - Show this help message
Notice Please use caution when applying or removing symlinks, especially when using the
unstowtarget, as it can potentially overwrite existing configurations. Always review the changes before proceeding. See aspiers/stow#33
You can organize each content like below and launch PACKAGES="configs" make
.dotfiles/
├─ bash/
│ ├─ .bashrc
│ ├─ .bash_profile
│ ╰─ .bash_logout
├─ uzbl/
│ ├─ .config/
│ │ ╰─ uzbl/
│ │ ╰─ [...some files]
│ ╰─ .local/
│ ╰─ share/
│ ╰─ uzbl/
│ ╰─ [...some files]
╰─ vim/
├─ .vim/
│ ╰─ [...some files]
╰─ .vimrc
Other way
You can alternatively put everything messy on a configs package (or whatever you want)
.dotfiles/
╰─ configs/
├─ .bashrc
├─ .bash_profile
├─ .bash_logout
├─ uzbl/
│ ╰─ [...some files]
├─ .local/
│ ╰─ share/
│ ╰─ uzbl/
│ ╰─ [...some files]
├─ .vim/
│ ╰─ [...some files]
╰─ .vimrc
NOT WORKING According to Stow documentation, the Makefile manage also
--dotfilesoption, so you can also use dot- prefix if you do not want hidden content on your project :dotfles/ ╰─ configs/ ├─ dot-bashrc ├─ dot-bash_profile ├─ dot-bash_logout ├─ uzbl/ │ ╰─ [...some files] ├─ dot-local/ │ ╰─ share/ │ ╰─ uzbl/ │ ╰─ [...some files] ├─ dot-vim/ │ ╰─ [...some files] ╰─ dot-vimrc