dotfiles

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

autoinstall.sh (4098B)


      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 mpc mpd ncmpcpp
     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 
     36 setup_home_directory() {
     37     mkdir -p ~/Documents/passwords
     38     mkdir -p ~/Documents/projects
     39     mkdir -p ~/Documents/notes
     40     mkdir -p ~/Documents/books
     41     mkdir -p ~/Downloads/
     42     mkdir -p ~/Backups/
     43     mkdir -p ~/Programming/
     44     mkdir -p ~/Videos/personal
     45     mkdir -p ~/Music/
     46     mkdir -p ~/Games/
     47     echo "=================="
     48     echo "Directories setup"
     49     echo "=================="
     50 }
     51 
     52 copy_config_files() {
     53     sudo mkdir -p /usr/share/xsessions
     54     sudo cp ~/dotfiles/files/dwm.desktop /usr/share/xsessions/
     55 
     56     sudo cp -r ~/dotfiles/files/pacman.conf /etc/pacman.conf
     57     
     58     sudo cp -r ~/dotfiles/files/config/* ~/.config/
     59     sudo cp ~/dotfiles/files/Ly/config.ini /etc/ly/config.ini
     60 
     61     cd ~/dotfiles/files/config/suckless/dwm/
     62     sudo make clean install
     63     cd ../slstatus
     64     sudo make clean install
     65     cd ../dmenu
     66     sudo make clean install
     67     cd ../surf
     68     sudo make clean install
     69     cd ../st
     70     sudo make clean install
     71     cd ../scroll
     72     sudo make clean install
     73     
     74     # Ranger config
     75     ranger --copy-config=all
     76     rm -rf ~/.config/ranger/*
     77     sudo cp -r ~/dotfiles/files/ranger/* ~/.config/ranger/
     78 
     79     echo "=================="
     80     echo "Configs loaded"
     81     echo "=================="
     82 }
     83 
     84 fonts(){
     85   cp -rf ~/dotfiles/files/fonts ~/.fonts
     86 }
     87 
     88 bashrc_additions(){
     89   echo 'eval "$(dircolors ~/.config/dircolours)"' >> ~/.bashrc
     90   echo 'alias tree='pstree'' >> ~/.bashrc
     91   echo 'alias P="cd ~/Programming"' >> ~/.bashrc
     92   echo 'alias C="cd ~/.config"' >> ~/.bashrc
     93   echo 'alias vim='nvim'' >> ~/.bashrc
     94   echo "printf '\033[?1h\033= >/dev/tty'" >> ~/.bashrc
     95 }
     96 
     97 fish(){
     98   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
     99 }
    100 
    101 setup_music() {
    102   echo -e "\n# MPD daemon start (if no other user instance exists)\n[ ! -s ~/.config/mpd/pid ] && mpd" >> .bash_profile
    103   systemctl --user start mpd.service
    104 
    105 }
    106 
    107 Blocked_Websites() {
    108   sudo chmod 666 /etc/hosts
    109 
    110   sudo echo "#Facebook" > /etc/hosts
    111   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
    112 
    113   sudo chmod 644 /etc/hosts
    114 }
    115 
    116 Security() {
    117 sudo sed -i '6 i auth optional pam_faildelay.so delay=4000000' /etc/pam.d/system-login
    118 }
    119 
    120 main() {
    121     install_packages
    122     setup_ufw
    123     setup_home_directory
    124     setup_ly
    125     copy_config_files
    126     fonts
    127     bashrc_additions
    128     fish
    129     setup_music
    130     Security
    131     echo "=================================="
    132     echo "Done installing, you may reboot."
    133     echo "Thank you for installing!"
    134     echo "=================================="
    135 }
    136 
    137 #This runs the script and gives the current user perms
    138 main
    139 sudo chown -R $(whoami):$(whoami) /home/$(whoami)
    140 sh ~/dotfiles/yay.sh
    141