This repository has been archived on 2022-08-21. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/deploy.sh

136 lines
4.9 KiB
Bash
Raw Normal View History

2021-02-13 17:28:59 +01:00
#!/bin/sh
echo "Shell (bash/zsh/fish): "
read -r shell
if [ -z "${shell}" ]
then exit
fi
echo "Display server (wayland/x11): "
read -r server
if [ -z "${server}" ]
then exit
fi
echo "
~~~ Installing shell config ~~~
"
case ${shell} in
bash)
cp -rfv ./home/.bashrc-bloated ~/.bashrc
cp -rfv ./home/.bash_profile ~/.bash_profile
;;
zsh)
cp -rfv ./home/.bashrc ~/.bashrc
cp -rfv ./home/.bash_profile ~/.bash_profile
cp -rfv ./home/.config/zsh/ ~/.config/zsh/
cp -rfv ./home/.local/share/zsh/ ~/.local/share/zsh/
;;
fish)
cp -rfv ./home/.bashrc ~/.bashrc
cp -rfv ./home/.bash_profile ~/.bash_profile
cp -rfv ./home/.config/fish/ ~/.config/fish/
mkdir -pv ~/.config/fish/completions
;;
*)
exit ;;
esac
echo "
~~~ Installing ${server} specified config ~~~
"
case ${server} in
wayland)
cp -rfv ./home/.config/foot/ ~/.config/foot/
cp -rfv ./home/.config/hikari/ ~/.config/hikari/
cp -rfv ./home/.config/mako/ ~/.config/mako/
cp -rfv ./home/.config/nwg-launchers/ ~/.config/nwg-launchers/
cp -rfv ./home/.config/river/ ~/.config/river/
cp -rfv ./home/.config/sway/ ~/.config/sway/
cp -rfv ./home/.config/swaylock/ ~/.config/swaylock/
cp -rfv ./home/.config/waybar/ ~/.config/waybar/
cp -rfv ./home/.config/wofi/ ~/.config/wofi/
cp -rfv ./home/.config/imv/ ~/.config/imv/
cp -rfv ./home/.config/wayfire.ini ~/.config/wayfire.ini
;;
x11)
cp -rfv ./home/.config/bsp-layout/ ~/.config/bsp-layout/
cp -rfv ./home/.config/bspwm/ ~/.config/bspwm/
cp -rfv ./home/.config/dunst/ ~/.config/dunst/
cp -rfv ./home/.config/kitty/ ~/.config/kitty/
cp -rfv ./home/.config/polybar/ ~/.config/polybar/
cp -rfv ./home/.config/rofi/ ~/.config/rofi/
cp -rfv ./home/.config/spectrwm/ ~/.config/spectrwm/
cp -rfv ./home/.config/sxhkd/ ~/.config/sxhkd/
cp -rfv ./home/.config/X11/ ~/.config/X11/
cp -rfv ./home/.config/greenclip.cfg ~/.config/greenclip.cfg
cp -rfv ./home/.config/picom.conf ~/.config/picom.conf
;;
*)
exit ;;
esac
echo "
~~~ Installing standard config ~~~
"
# Assests
mkdir -pv ~/Pictures
cp -rfv ./home/Pictures/Animated/ ~/Pictures/Animated/
cp -rfv ./home/Pictures/Wallpapers/ ~/Pictures/Wallpapers/
cp -rfv ./home/.local/share/fonts/ ~/.local/share/fonts/
# Scripts
cp -rfv ./home/.local/bin/ ~/.local/bin/
# The bloated dotfiles itself
cp -rfv ./home/.config/alacritty/ ~/.config/alacritty/
cp -rfv ./home/.config/amfora/ ~/.config/amfora/
cp -rfv ./home/.config/bottom/ ~/.config/bottom/
cp -rfv ./home/.config/cava/ ~/.config/cava/
cp -rfv ./home/.config/cointop/ ~/.config/cointop/
cp -rfv ./home/.config/doom/ ~/.config/doom/
cp -rfv ./home/.config/gallery-dl/ ~/.config/gallery-dl/
cp -rfv ./home/.config/GIMP/ ~/.config/GIMP/
cp -rfv ./home/.config/git/ ~/.config/git/
cp -rfv ./home/.config/gtk-3.0/ ~/.config/gtk-3.0/
cp -rfv ./home/.config/mpd/ ~/.config/mpd/
cp -rfv ./home/.config/mpDris2/ ~/.config/mpDris2/
cp -rfv ./home/.config/ncmpcpp/ ~/.config/ncmpcpp/
cp -rfv ./home/.config/neofetch/ ~/.config/neofetch/
cp -rfv ./home/.config/newsboat/ ~/.config/newsboat/
cp -rfv ./home/.config/npm/ ~/.config/npm/
cp -rfv ./home/.config/nvim/ ~/.config/nvim/
cp -rfv ./home/.config/qutebrowser/ ~/.config/qutebrowser/
cp -rfv ./home/.config/ranger/ ~/.config/ranger/
cp -rfv ./home/.config/tmux/ ~/.config/tmux/
cp -rfv ./home/.config/translate-shell/ ~/.config/translate-shell/
cp -rfv ./home/.config/tridactyl/ ~/.config/tridactyl/
cp -rfv ./home/.config/vifm/ ~/.config/vifm/
cp -rfv ./home/.config/youtube-dl/ ~/.config/youtube-dl/
cp -rfv ./home/.config/zathura/ ~/.config/zathura/
cp -rfv ./home/.config/mimeapps.list ~/.config/mimeapps.list
cp -rfv ./home/.config/pulsemixer.cfg ~/.config/pulsemixer.cfg
cp -rfv ./home/.config/starship.toml ~/.config/starship.toml
echo "
~~~ Cloning submodules ~~~
"
[ -d ~/.config/emacs ] || git clone https://github.com/hlissner/doom-emacs ~/.config/emacs
[ -d ~/.config/tmux/plugins/tpm ] || git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
[ -d ~/.config/ranger/plugins/ranger_devicons ] || git clone https://github.com/FollieHiyuki/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
# Post deployment
mkdir -pv ~/.local/share/bash
mkdir -pv ~/.local/share/mpd/playlists
mkdir -pv ~/.local/share/gallery-dl
# tridactyl needs `tridactylrc` to exist
touch ~/.config/tridactyl/tridactylrc
mkdir -pv ~/.local/share/gnupg
chmod -v 700 ~/.local/share/gnupg
cp -rfv ./home/.local/share/gnupg/gpg-agent.conf ~/.local/share/gnupg/
chmod -v 600 ~/.local/share/gnupg/*
# chsh -s /usr/bin/${shell} ${USER}
echo "
~~~ Finished ~~~"