#!/bin/sh # # OpenBSD based dots install # cd .. || exit CURDIR=$(pwd) USERNAME=$(whoami) echo "######################" echo "# dotfiles Installer #" echo "######################" # Adding Root Files doas cp -rf ROOT/doas/doas.conf /etc doas cp -rf ROOT/hosts/hosts /etc # Root Configurations doas fw_update doas syspatch doas usermod -G operator,staff "$USERNAME" # Install Required Programs doas pkg_add git neovim stow zsh ncmpcpp xwallpaper newsboat zathura maim texlive_base ntp ffmpeg redshift htop xclip imageMagick transmission-gtk mpv mpd mpc nsxiv zathura zathura-pdf-mupdf zathura-ps yt-dlp automake lzop curl gimp kdenlive inkscape arandr unoconv node p7zip gdb universal-ctags gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-libav hplip cups simple-scan system-config-printer ffmpegthumbnailer neofetch cmatrix py3-pip password-store screenkey qemu virt-manager picom firefox go farbfeld keepassxc vifm doas rcctl enable xenodm doas rcctl enable apmd # Building Folder Structure mkdir -p ~/Documents/PDF ~/Documents/Text ~/Documents/Disks ~/Documents/Archives ~/Documents/VMs ~/Downloads ~/Pictures/Screenshots ~/Pictures/GIMP ~/Videos/Recordings ~/Code ~/.config/git ~/.config/wallpaper ~/.local/share/gnupg ~/.local/share/pass # Deploy Dots stow --target="$HOME" fonts man misc mpd ncmpcpp newsboat neovim npm picom shell scripts suckless sxiv xenodm zathura zsh touch ~/.config/mpd/database ~/.config/mpd/log ~/.config/mpd/pid ~/.config/mpd/state ~/.config/mpd/sticker.sql chsh -s /usr/local/bin/zsh cd ~/.local/src && sh compileSource && cd "$CURDIR" || exit # Setting up Neovim ## Linking Neovim to Vim ln -s /usr/bin/nvim ~/.local/bin/vim ## Installing Neovim Plugin Manager (Vim Plug) curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ## Installing Modules pip3 install --user pywal nvim -c PlugInstall # Setup Git account printf "Do yo want to setup Git account? [Y/n]" && read -r GIT if [ "$GIT" != "N" ] && [ "$GIT" != "n" ]; then printf "Username: " && read -r USER printf "Email: " && read -r EMAIL git config --global user.name "$USER" git config --global user.email "$EMAIL" git config pull.rebase false mv ~/.gitconfig ~/.config/git/config git config --global pull.rebase false fi