|
|
- #!/bin/bash
-
- username=$(whoami)
-
- mvie(){
- if [ -e "$1" ];then
- rm -rf "$2"
- mv "$1" "$2"
- fi
- }
-
- # Configuring for your username
- if [ ! "$username" = "yigit" ]; then
- echo "Setting up the dotfiles according to your username"
- find . -type f -exec sed -i "s/\/home\/yigit/\/home\/$username/g" "{}" +
- fi
-
- # Don't prompt for a password for the rest of the script
- sudo echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nopwd
-
- # Install packages
- echo "Running update"
- yay -S --noconfirm $(cat ~/.dotfiles/arch-setup/packages.minimal) > /dev/null
-
- rm -rf ~/.dotfiles_backup
- mkdir -p ~/.dotfiles_backup
-
-
- # Link XDG Directories
-
- # Config
- mvie ~/.config ~/.dotfiles_backup
- ln -s ~/.dotfiles/config ~/.config/
- for d in ~/.dotfiles_backup/config/* ; do
- mv $d ~/.config 2> /dev/null
- done
-
- #Local
- mkdir -p ~/.dotfiles_backup/local
- mkdir -p ~/.local
-
- ## Local/Share
- mvie ~/.local/share ~/.dotfiles_backup/local/share
- ln -s ~/.dotfiles/local/share ~/.local/share
- for d in ~/.dotfiles_backup/local/share/* ; do
- mv $d ~/.local/share 2> /dev/null
- done
-
- ## Local/Bin
- mvie ~/.local/bin ~/.dotfiles_backup/local/bin
- ln -s ~/.dotfiles/local/bin ~/.local/bin
- for d in ~/.dotfiles_backup/local/bin/* ; do
- mv $d ~/.local/bin 2> /dev/null
- done
-
- ## Local/Backgrounds
- mvie ~/.local/backgrounds ~/.dotfiles_backup/local/backgrounds
- ln -s ~/.dotfiles/local/backgrounds ~/.local/backgrounds
- for d in ~/.dotfiles_backup/local/backgrounds/* ; do
- mv $d ~/.local/backgrounds 2> /dev/null
- done
-
- ## Theme and Icon Folders
- mvie ~/.themes ~/.dotfiles_backup/themes
- ln -s ~/.dotfiles/local/share/themes ~/.themes
- mvie ~/.icons ~/.dotfiles_backup/icons
- ln -s ~/.dotfiles/local/share/icons ~/.icons
-
- # Create individual files
- echo 'ZDOTDIR=$HOME/.config/zsh' > $HOME/.zshenv
- chmod +x $HOME/.zshenv
-
- mvie ~/.profile ~/.dotfiles_backup/profile
- ln -s ~/.dotfiles/profile ~/.profile
-
- cp ~/.dotfiles/config.env.def ~/.config.env
-
- # Downloading assets
- ##Fonts
- prev=$(pwd)
- cd ~/.local/share/fonts
- wget https://minio.yigitcolakoglu.com/dotfiles/Caskaydia%20Cove%20Regular%20Nerd%20Font%20Complete.otf > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/Caskaydia%20Cove%20Regular%20Nerd%20Font%20Complete%20Mono.otf > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/Caskaydia%20Cove%20Bold%20Nerd%20Font%20Complete.otf > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/Caskaydia%20Cove%20Bold%20Nerd%20Font%20Complete%20Mono.otf > /dev/null 2> /dev/null
- fc-cache
- ## Backgrounds
- cd ~/.local/backgrounds
- wget https://minio.yigitcolakoglu.com/dotfiles/lock.jpg > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/wallpaper-mountain.jpg > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/wallpaper-sea.jpg > /dev/null 2> /dev/null
- wget https://minio.yigitcolakoglu.com/dotfiles/wallpaper-shack.jpg > /dev/null 2> /dev/null
- cd $prev
-
- # Setup Crontab
- if [ ! -f "/var/spool/cron/$username" ]; then
- sudo touch "/var/spool/cron/$username"
- sudo chown $username:$username "/var/spool/cron/$username"
- sudo chmod 755 "/var/spool/cron/$username"
- else
- echo -n "An existing cron file is detected, would you like to overwrite it?(Y/n): "
- read cron
- if [ ! "$cron" = "n" ]; then
- cp /var/spool/cron/$username ~/.dotfiles_backup/crontab
- echo "*/8 * * * * /home/$username/.local/bin/mailsync" > /var/spool/cron/$username
- echo "*/15 * * * * /home/$username/.local/bin/scripts/nextcloud-sync" >> /var/spool/cron/$username
- echo "*/30 * * * * calcurse-caldav" >> /var/spool/cron/$username
- echo "*/30 * * * * vdirsyncer sync" >> /var/spool/cron/$username
- fi
- fi
-
- # Create necessary folders
- source ~/.profile
- mkdir -p "$HOME/.local/share/ncmpcpp/lyrics"
- mkdir -p "$HOME/.local/share/calcurse"
- mkdir -p "$CARGO_HOME"
- mkdir -p "$GOPATH"
- mkdir -p "$ANDROID_HOME"
- mkdir -p "$FLUTTER_HOME"
- mkdir -p "$LEIN_HOME"
- mkdir -p "$NPM_CONFIG_USERCONFIG"
- mkdir -p "$NVM_DIR"
- mkdir -p "$GNUPGHOME"
- mkdir -p "$WEECHAT_HOME"
- mkdir -p "$JUPYTER_CONFIG_DIR"
- mkdir -p "$PYLINTHOME"
- touch "$_Z_DATA"
-
- # Root Files and Directories
- sudo mkdir -p /usr/share/xsessions
- sudo cp ~/.dotfiles/root/dwm.desktop /usr/share/xsessions
- sudo cp ~/.dotfiles/root/nancyj.flf /usr/share/figlet/fonts
- sudo cp ~/.dotfiles/root/quark.service /usr/lib/systemd/system
- sudo cp ~/.dotfiles/root/kdialog /usr/local/bin/kdialog
- sudo cp ~/.dotfiles/root/udevil.conf /etc/udevil/udevil.conf
- sudo chmod +x /usr/local/bin/kdialog
- sudo systemctl daemon-reload
- sudo systemctl enable quark
-
- # Build and Install Everything
- ## Suckless utilities
- (cd ~/.dotfiles/suckless; ~/.dotfiles/suckless/build.sh > /dev/null 2> /dev/null)
-
- ## Tela Icons
- ~/.dotfiles/local/share/icons/Tela-Icons/install.sh > /dev/null 2> /dev/null
-
- ## Start page
- prev=$(pwd)
- cd ~/.dotfiles/browser/startpage
- npm install > /dev/null 2> /dev/null
- npm run build > /dev/null 2> /dev/null
- cd $prev
-
-
- # Vim and tmux plugins
- mkdir -p ~/.tmux/plugins
- vim +PlugInstall +qall
-
- # Install mconnect
- git clone https://github.com/theFr1nge/mconnect.git /tmp/mconnect > /dev/null 2> /dev/null
- prev=$(pwd)
- cd /tmp/mconnect
- mkdir -p build
- cd build
- meson .. > /dev/null 2> /dev/null
- ninja > /dev/null 2> /dev/null
- sudo ninja install > /dev/null 2> /dev/null
- cd $prev
- mkdir -p ~/Downloads/mconnect
-
- ## Bitwarden Dmenu
- sudo git clone https://github.com/theFr1nge/bitwarden-dmenu.git /usr/share/bwdmenu > /dev/null 2> /dev/null
- cd /usr/share/bwdmenu
- sudo npm install > /dev/null 2> /dev/null
- sudo npm i -g > /dev/null 2> /dev/null
- cd $prev
-
- ## Simcrop
- git clone https://github.com/theFr1nge/simcrop.git /tmp/simcrop > /dev/null 2> /dev/null
- cd /tmp/simcrop
- sudo make install > /dev/null 2> /dev/null
- cd $prev
-
- # Do a cleanup and delete some problematic files
- sudo rm -rf /etc/sudoers.d/nopwd
- rm -rf ~/.bash_profile
- sudo rm -rf /etc/urlview/system.urlview
-
- if [ "$username" = "yigit" ]; then
- ~/.dotfiles/arch-setup/fetch_keys.sh # Fetch keys (For personal use, this is not for you)
- fi
|