summaryrefslogtreecommitdiff
path: root/autoinstall.sh
blob: 473191868227f59d80a83193de1d700d93cb54ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/bin/bash

set -e

INSTALL='sudo pacman -S --noconfirm'
UPDATE='sudo pacman -Syu --noconfirm'

install_packages() {
    $UPDATE
    $INSTALL mpv feh redshift linux-firmware-qlogic pavucontrol picom nitrogen thunar gvfs lxappearance alsa-utils neovim yubico-pam starship fish man-db qt5ct breeze breeze-gtk redshift htop lsb-release libreoffice-fresh ly ufw scrot keepassxc ranger unzip gcr webkit2gtk gd dosfstools xorg-xkill openresolv wireguard-tools libdvdcss libdvdread dunst cryptsetup wget mpc mpd ncmpcpp xclip xdotool
    echo "=============================="
    echo "Programs are done installing"
    echo "============================="
}

setup_ufw() {
    sudo systemctl enable ufw
    sudo systemctl start ufw
    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    echo "=================="
    echo "UFW setup is done"
    echo "=================="
}


setup_ly() {
    sudo systemctl enable ly
    echo "=================="
    echo "Done Ly setup!"
    echo "=================="
}


setup_home_directory() {
    mkdir -p ~/Documents/Passwords
    mkdir -p ~/Documents/Study
    mkdir -p ~/Documents/Projects
    mkdir -p ~/Documents/Notes
    mkdir -p ~/Documents/Books
    mkdir -p ~/Downloads/
    mkdir -p ~/Backups/
    mkdir -p ~/Programming/
    mkdir -p ~/Videos/Personal
    mkdir -p ~/Music/
    mkdir -p ~/Games/
    touch ~/.bookmarks
    echo "=================="
    echo "Directories setup"
    echo "=================="
}

copy_config_files() {
    sudo mkdir -p /usr/share/xsessions
    sudo cp ~/dotfiles/files/dwm.desktop /usr/share/xsessions/

    sudo cp -r ~/dotfiles/files/pacman.conf /etc/pacman.conf
    
    sudo cp -r ~/dotfiles/files/config/* ~/.config/
    sudo cp ~/dotfiles/files/Ly/config.ini /etc/ly/config.ini

    cd ~/dotfiles/files/config/suckless/dwm/
    sudo make clean install
    cd ../slstatus
    sudo make clean install
    cd ../dmenu
    sudo make clean install
    cd ../surf
    sudo make clean install
    cd ../st
    sudo make clean install
    cd ../scroll
    sudo make clean install
    
    # Ranger config
    ranger --copy-config=all
    rm -rf ~/.config/ranger/*
    sudo cp -r ~/dotfiles/files/ranger/* ~/.config/ranger/

    echo "=================="
    echo "Configs loaded"
    echo "=================="
}

fonts(){
  cp -rf ~/dotfiles/files/fonts ~/.fonts
}

bashrc_additions(){
  echo 'eval "$(dircolors ~/.config/dircolours)"' >> ~/.bashrc
  echo 'alias tree='pstree'' >> ~/.bashrc
  echo 'alias P="cd ~/Programming"' >> ~/.bashrc
  echo 'alias C="cd ~/.config"' >> ~/.bashrc
  echo 'alias vim='nvim'' >> ~/.bashrc
  echo "printf '\033[?1h\033= >/dev/tty'" >> ~/.bashrc
}

fish(){
  echo -e '\n# Start fish shell \nif [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]]; then\n    shopt -q login_shell && LOGIN_OPTION="--login" || LOGIN_OPTION=""\n    exec fish $LOGIN_OPTION\nfi' >> ~/.bashrc
}

setup_music() {
  echo -e "\n# MPD daemon start (if no other user instance exists)\n[ ! -s ~/.config/mpd/pid ] && mpd" >> .bash_profile
  systemctl --user start mpd.service

}

Blocked_Websites() {
  sudo chmod 666 /etc/hosts

  sudo echo "#Facebook" > /etc/hosts
  sudo echo "127.0.0.1 facebook.com login.facebook.com secure.facebook.com latest.facebook.com inyour.facebook.com beta.facebook.com static.facebook.com touch.facebook.com developers.facebook.com newsroom.fb.com pixel.facebook.com apps.facebook.com graph.facebook.com m.facebook.com upload.facebook.com"  >  /etc/hosts

  sudo chmod 644 /etc/hosts
}

Security() {
sudo sed -i '6 i auth optional pam_faildelay.so delay=4000000' /etc/pam.d/system-login
}

main() {
    install_packages
    setup_ufw
    setup_home_directory
    setup_ly
    copy_config_files
    fonts
    bashrc_additions
    fish
    setup_music
    Security
    echo "=================================="
    echo "Done installing, you may reboot."
    echo "Thank you for installing!"
    echo "=================================="
}

#This runs the script and gives the current user perms
main
sudo chown -R $(whoami):$(whoami) /home/$(whoami)
sh ~/dotfiles/yay.sh