#!/bin/sh # # Arch based dots install # cd .. || exit CURDIR=$(pwd) USER=$(whoami) OS=$(grep ^id /etc/os-release | cut -d"=" -f2) echo "######################" echo "# dotfiles Installer #" echo "######################" # Adding Root Files sudo cp -rf ROOT/doas/doas.conf /etc sudo cp -rf ROOT/issue/issue /etc sudo cp -rf ROOT/hosts/hosts /etc # Install Required Programs sudo pacman --needed -Syu stow opendoas pamixer zsh ncmpcpp xwallpaper newsboat vifm zathura maim texlive-most ffmpeg lxappearance ntp redshift numlockx htop xclip imagemagick transmission-gtk neovim mpv mpd mpc sxiv zathura-pdf-mupdf zathura-ps automake curl make bc android-tools gimp kdenlive inkscape arandr shellcheck arc-gtk-theme ctags unoconv nodejs p7zip papirus-icon-theme valgrind gdb light pulsemixer pavucontrol xorg-server xorg-xinit go gtk3 gst-plugins-base-libs hplip simple-scan system-config-printer gst-plugins-good grc gst-libav clang breeze net-tools ffmpegthumbnailer webkit2gtk torbrowser-launcher neofetch cmatrix asciiquarium npm python python-pip pass screenkey pipewire-pulse ueberzug yt-dlp python-pywal alsa-utils picom virt-manager qemu-desktop wireplumber foremost testdisk swtpm lxsession obs-studio firefox keepassxc webkit2gtk-4.1 # Adding services to OpenRC [ "$OS" = "artix" ] && [ -e "/bin/openrc" ] && doas pacman --needed -Syu cups-openrc avahi-openrc && doas rc-update add cupsd # Adding user to groups doas usermod -aG tor,video "$USER" # Building Folder Structure mkdir -p ~/Documents/PDF ~/Documents/Text ~/Documents/Disks ~/Documents/Archives ~/Documents/VMs ~/Downloads ~/Games/WINEPREFIX ~/Pictures/Screenshots ~/Pictures/GIMP ~/Videos/Recordings ~/Code ~/.config/git ~/.config/wallpaper ~/.local/share/gnupg ~/.local/share/pass ~/.local/share/tor doas sh -c 'echo "export _JAVA_AWT_WM_NONREPARENTING=1" >>/etc/profile.d/jre.sh' chsh -s /bin/zsh # Deploy Dots stow --target="$HOME" fonts gtk man misc mpd ncmpcpp newsboat neovim npm picom qt shell scripts suckless sxiv tor vifm X11 zathura zsh touch ~/.config/X11/Xauthority ~/.config/mpd/database ~/.config/mpd/log ~/.config/mpd/pid ~/.config/mpd/state ~/.config/mpd/sticker.sql 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 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