Linux configuration stuffs
1#! /usr/bin/bash
2#
3#
4#
5DOTFILES_DIR="$HOME/.dotfiles"
6
7if [[ $(pwd) != $DOTFILES_DIR ]]; then
8 echo "This file should only be run from the dotfiles directory.";
9 echo "If you have not already, rename this repo to $DOTFILES_DIR, and run ./install.sh from there";
10 exit 0;
11fi
12
13# Check for config folder
14[ -d "~/.config" ] && mkdir ~/.config
15[ -d "~/Pictures" ] && mkdir ~/Pictures
16
17# Add symlinks for each folder
18link() {
19 ln -s $DOTFILES_DIR/nvim ~/.config/nvim
20 ln -s $DOTFILES_DIR/bottom ~/.config/bottom
21 ln -s $DOTFILES_DIR/cava ~/.config/cava
22 ln -s $DOTFILES_DIR/Wallpapers ~/Pictures/Wallpapers
23 ln -s $DOTFILES_DIR/ranger ~/.config/ranger
24 ln -s $DOTFILES_DIR/i3 ~/.config/i3
25 ln -s $DOTFILES_DIR/picom ~/.config/picom
26 ln -s $DOTFILES_DIR/polybar ~/.config/polybar
27 ln -s $DOTFILES_DIR/dunst ~/.config/dunst
28 ln -s $DOTFILES_DIR/rofi ~/.config/rofi
29 ln -s $DOTFILES_DIR/bashtop ~/.config/bashtop
30 ln -s $DOTFILES_DIR/.nap ~/.nap
31 ln -s $DOTFILES_DIR/neofetch ~/.config/neofetch
32 ln -s $DOTFILES_DIR/eww ~/.config/eww
33 ln -s $DOTFILES_DIR/hypr ~/.config/hypr
34 ln -s $DOTFILES_DIR/bat ~/.config/bat
35 ln -s $DOTFILES_DIR/alacritty ~/.config/alacritty
36 ln -s $DOTFILES_DIR/zed ~/.config/zed
37
38 ln -s $DOTFILES_DIR/.zshrc ~/.zshrc
39 ln -s $DOTFILES_DIR/.tmux.conf ~/.tmux.conf
40 ln -s $DOTFILES_DIR/.zshenv ~/.zshenv
41 ln -s $DOTFILES_DIR/.vimrc ~/.vimrc
42 ln -s $DOTFILES_DIR/.gitconfig ~/.gitconfig
43 ln -s $DOTFILES_DIR/.p10k.zsh ~/.p10k.zsh
44 ln -s $DOTFILES_DIR/.paths ~/.paths
45 ln -s $DOTFILES_DIR/.profile ~/.profile
46}
47
48
49unlink() {
50 rm -rf ~/.config/nvim
51 rm -rf ~/.config/bottom
52 rm -rf ~/.config/cava
53 rm -rf ~/Pictures/Wallpapers
54 rm -rf ~/.config/ranger
55 rm -rf ~/.config/i3
56 rm -rf ~/.config/picom
57 rm -rf ~/.config/polybar
58 rm -rf ~/.config/dunst
59 rm -rf ~/.config/rofi
60 rm -rf ~/.config/bashtop
61 rm -rf ~/.nap
62 rm -rf ~/.config/neofetch
63 rm -rf ~/.config/eww
64 rm -rf ~/.config/hypr
65 rm -rf ~/.config/bat
66 rm -rf ~/.config/zed
67
68 rm -f ~/.zshrc
69 rm -f ~/.zshenv
70 rm -f ~/.vimrc
71 rm -f ~/.gitconfig
72 rm -f ~/.tmux.conf
73 rm -f ~/.alacritty.yml
74 rm -f ~/.p10k.zsh
75 rm -f ~/.paths
76 rm -f ~/.profile
77}
78
79unlink
80if ! [[ $1 == 'remove' ]]; then
81 link
82fi