dotfiles

Configs for programs I use!
git clone git://shipwreckt.co.uk/dotfiles.git
Log | Files | Refs | README | LICENSE

autoinstall.sh (3888B)


      1 #!/bin/bash
      2 
      3 set -e
      4 
      5 INSTALL='sudo pacman -S --noconfirm'
      6 UPDATE='sudo pacman -Syu --noconfirm'
      7 
      8 install_packages() {
      9     $UPDATE
     10     $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
     11     echo "=============================="
     12     echo "Programs are done installing"
     13     echo "============================="
     14 }
     15 
     16 setup_ufw() {
     17     sudo systemctl enable ufw
     18     sudo systemctl start ufw
     19     sudo ufw allow 22/tcp
     20     sudo ufw allow 80/tcp
     21     sudo ufw allow 443/tcp
     22     echo "=================="
     23     echo "UFW setup is done"
     24     echo "=================="
     25 }
     26 
     27 
     28 setup_ly() {
     29     sudo systemctl enable ly
     30     echo "=================="
     31     echo "Done Ly setup!"
     32     echo "=================="
     33 }
     34 
     35 setup_home_directory() {
     36     mkdir -p ~/Documents/passwords
     37     mkdir -p ~/Documents/projects
     38     mkdir -p ~/Documents/notes
     39     mkdir -p ~/Documents/books
     40     mkdir -p ~/Downloads/
     41     mkdir -p ~/Backups/
     42     mkdir -p ~/Programming/
     43     mkdir -p ~/Videos/personal
     44     mkdir -p ~/Music/
     45     mkdir -p ~/Games/
     46     echo "=================="
     47     echo "Directories setup"
     48     echo "=================="
     49 }
     50 
     51 copy_config_files() {
     52     sudo mkdir -p /usr/share/xsessions
     53     sudo cp ~/dotfiles/files/dwm.desktop /usr/share/xsessions/
     54 
     55     sudo cp -r ~/dotfiles/files/pacman.conf /etc/pacman.conf
     56     
     57     sudo cp -r ~/dotfiles/files/config/* ~/.config/
     58     sudo cp ~/dotfiles/files/Ly/config.ini /etc/ly/config.ini
     59 
     60     cd ~/dotfiles/files/config/suckless/dwm/
     61     sudo make clean install
     62     cd ../slstatus
     63     sudo make clean install
     64     cd ../dmenu
     65     sudo make clean install
     66     cd ../surf
     67     sudo make clean install
     68     cd ../st
     69     sudo make clean install
     70     cd ../scroll
     71     sudo make clean install
     72     
     73     # Ranger config
     74     ranger --copy-config=all
     75     rm -rf ~/.config/ranger/*
     76     sudo cp -r ~/dotfiles/files/ranger/* ~/.config/ranger/
     77 
     78     echo "=================="
     79     echo "Configs loaded"
     80     echo "=================="
     81 }
     82 
     83 fonts(){
     84   cp -rf ~/dotfiles/files/fonts ~/.fonts
     85 }
     86 
     87 bashrc_additions(){
     88   echo 'eval "$(dircolors ~/.config/dircolours)"' >> ~/.bashrc
     89   echo 'alias tree='pstree'' >> ~/.bashrc
     90   echo 'alias P="cd ~/Programming"' >> ~/.bashrc
     91   echo 'alias C="cd ~/.config"' >> ~/.bashrc
     92   echo 'alias vim='nvim'' >> ~/.bashrc
     93   echo "printf '\033[?1h\033= >/dev/tty'" >> ~/.bashrc
     94 }
     95 
     96 fish(){
     97   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
     98 }
     99 
    100 Blocked_Websites() {
    101   sudo chmod 666 /etc/hosts
    102 
    103   sudo echo "#Facebook" > /etc/hosts
    104   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
    105 
    106   sudo chmod 644 /etc/hosts
    107 }
    108 
    109 Security() {
    110 sudo sed -i '6 i auth optional pam_faildelay.so delay=4000000' /etc/pam.d/system-login
    111 }
    112 
    113 main() {
    114     install_packages
    115     setup_ufw
    116     setup_home_directory
    117     setup_ly
    118     copy_config_files
    119     fonts
    120     bashrc_additions
    121     fish
    122     Security
    123     echo "=================================="
    124     echo "Done installing, you may reboot."
    125     echo "Thank you for installing!"
    126     echo "=================================="
    127 }
    128 
    129 #This runs the script and gives the current user perms
    130 main
    131 sudo chown -R $(whoami):$(whoami) /home/$(whoami)
    132 sh ~/dotfiles/yay.sh
    133