Skip to content

Instantly share code, notes, and snippets.

@dneumann42
Last active April 12, 2024 14:50
Show Gist options
  • Save dneumann42/ecb50d2d38b668f668ff207a395feb19 to your computer and use it in GitHub Desktop.
Save dneumann42/ecb50d2d38b668f668ff207a395feb19 to your computer and use it in GitHub Desktop.
Dustin's bootstrapping script
#!/usr/bin/env bash
DOTS_REPO="https://github.com/dneumann42/dots"
NVIM_REPO="https://github.com/dneumann42/neovim-config"
PACKAGES=(
## Core
"git"
"zsh"
"kitty"
"openssh"
"openssl"
"base-devel"
"hyprland"
"htop"
"rofi"
"xterm"
"waybar"
"inotify-tools"
"nerd-fonts"
"wl-clipboard"
"cliphist"
"swaybg"
"nwg-look"
"ripgrep"
"rlwrap"
## Audio
"pulseaudio"
## Programs
"vifm"
"sxiv"
"zathura"
"zathura-pdf-mupdf"
"zathura-ps"
"zathura-djvu"
"zathura-cb"
"gnome-font-viewer"
"lxappearance"
"lxappearance-gtk3"
## Programming languages
"racket"
"lua"
)
pacman -S --needed ${PACKAGES[@]}
# clone neovim config
[ ! -d ~/.config/nvim ] && mkdir -p ~/.config/ && git clone $NVIM_REPO ~/.config/nvim
# clone and deploy dotfiles
[ ! -d ~/.dots ] && git clone $DOTS_REPO ~/.dots
pushd ~/.dots
chmod +x ./deploy.sh
./deploy.sh
popd
install_zsh_and_plugins() {
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
}
[ ! -d ~/.oh-my-zsh/ ] && install_zsh_and_plugins
pushd ~/.dots
chmod +x ./deploy.sh
./deploy.sh
popd
[ ! $SHELL = "/usr/bin/zsh" ] && chsh -s $(which zsh)
# create important directories
mkdir -p $HOME/.repos
mkdir -p $HOME/.local/bin
mkdir -p $HOME/Documents
mkdir -p $HOME/Downloads
# install paru
if [ ! -f /usr/bin/paru ]; then
pushd ~/.repos
git clone https://aur.archlinux.org/paru.git && cd paru
makepkg -si
popd
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment