bootstrap

my bootstrap script
git clone git://giovanniamaral.com/bootstrap
Log | Files | Refs | LICENSE

bootstrap (1927B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 # Pacman eye-candy
      6 sudo sed -i '/Color$/s/^#//' /etc/pacman.conf
      7 grep -q '^ILoveCandy$' /etc/pacman.conf || sudo sed -i '/^Color$/a ILoveCandy' /etc/pacman.conf
      8 
      9 # Package installation
     10 sudo pacman -S --needed --noconfirm \
     11 	man-db man-pages \
     12 	pacman-contrib \
     13 	git \
     14 	openssh rsync \
     15 	ex-vi-compat \
     16 	bc \
     17 	stow \
     18 	tree \
     19 	xdg-user-dirs xdg-utils \
     20 	android-tools android-udev \
     21 	lynx \
     22 	newsboat \
     23 	pass \
     24 	perl-authen-sasl perl-io-socket-ssl \
     25 	isync mutt \
     26 	pipewire pipewire-alsa pipewire-jack pipewire-pulse wireplumber \
     27 	ffmpeg imagemagick \
     28 	mpv \
     29 	mpd mpc ncmpc \
     30 	yt-dlp transmission-cli \
     31 	brightnessctl \
     32 	xorg-server xorg-xinit \
     33 	xclip xcompmgr xdotool xwallpaper \
     34 	libnotify dunst \
     35 	dmenu slock \
     36 	clipmenu \
     37 	maim \
     38 	nsxiv \
     39 	zathura zathura-pdf-mupdf \
     40 	tesseract tesseract-data-eng \
     41 	firefox firefox-ublock-origin \
     42 	ttf-jetbrains-mono \
     43 	noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
     44 
     45 # Create/update XDG user directories
     46 xdg-user-dirs-update
     47 
     48 localbindir="$HOME/.local/bin"
     49 localsrcdir="$HOME/.local/src"
     50 
     51 mkdir -p "$localbindir" "$localsrcdir"
     52 
     53 # Deploy dotfiles and builds
     54 dotfilesdir="$localsrcdir/dotfiles"
     55 
     56 [ ! -d "$dotfilesdir" ] && git clone 'https://giovanniamaral.com/git/dotfiles' "$dotfilesdir" && stow -R -d "$dotfilesdir" -t "$HOME" .
     57 
     58 for repo in dwm dwmblocks st
     59 do
     60 	repodir="$localsrcdir/$repo"
     61 
     62 	[ -d "$repodir" ] && continue
     63 	git clone "https://giovanniamaral.com/git/$repo" "$repodir" || continue
     64 
     65 	[ -f "$repodir/blocks.h" ] && cp "$repodir/blocks.def.h" "$repodir/blocks.h"
     66 	[ -f "$repodir/config.h" ] && cp "$repodir/config.def.h" "$repodir/config.h"
     67 
     68 	( cd "$repodir" && make && sudo make install )
     69 done
     70 
     71 # Configure Transmission
     72 sudo usermod -aG transmission "$USER"
     73 
     74 # Enable services and timers
     75 systemctl --user enable --now wireplumber.service mpd.service clipmenud.service mbsync.timer
     76 sudo systemctl enable --now transmission-daemon.service