Dotfiles
cd ~/.dotfiles
tree -a -L 3 --gitignore -I .git -d
.
├── autokey
│ └── .config
│ └── autokey
├── bash
│ └── .config
│ └── bash
├── clipit
│ └── .config
│ └── clipit
... skipped ...
├── rofi
│ └── .config
│ └── rofi
├── scripts
│ └── .scripts
├── terminator
│ └── .config
│ └── terminator
├── transmission-remote-gtk
│ └── .config
│ └── transmission-remote-gtk
├── vim
└── X
Stow
https://www.gnu.org/software/stow/manual/html_node/Types-And-Syntax-Of-Ignore-Lists.html
Link
Unlink
Some files
Commands & configs
common.list
Configure the individual hostname.list
with not common package configuration.
./setdot.sh
#!/usr/bin/env bash
#
# set Actual working path
BP="${HOME}/.dotfiles"
#
OLDPWD=$(pwd)
cd ${BP}
#
# Function
apply() {
echo "[+] Apply: $1"
for i in $(grep -v '^#\|^$' "${1}" | sort -u); do
stow -v $i
done
}
#
# Common part for all machines
F=${BP}/common.list
apply "${F}"
#
# checking for exit file with hostname
F="${BP}/${HOSTNAME}.list"
if [ -f ${F} ]; then
apply "$F"
fi
#
cd ${OLDPWD}
echo "[+] Stow by dotfiles completed"
#
Aliases