#!/bin/bash set -euo pipefail DOTFILES="${HOME}/.config/literate-dotfiles" tangle() { emacsclient -e "(org-babel-tangle-file \"${DOTFILES}/$1\")" \ || emacs --batch -l org --eval "(org-babel-tangle-file \"${DOTFILES}/$1\")" } echo "==> Desktop packages" paru -S --needed \ i3-wm \ sxhkd \ polybar \ picom \ dunst \ rofi rofi-calc dmenu \ kitty \ bash bash-completion \ zoxide \ nerd-fonts-hack noto-fonts-emoji \ xorg-xrandr arandr \ xautocfg \ arc-gtk-theme xcursor-breeze \ feh xwallpaper echo "==> Tangling desktop configs" tangle "xconfig.org" # ~/.Xresources, ~/.xprofile, ~/.config/X11/xinitrc tangle "bash.org" # ~/.bashrc, ~/.bash_profile, ~/.profile tangle "kitty.org" # ~/.config/kitty/kitty.conf tangle "i3.org" # ~/.config/i3/config tangle "sxhkd.org" # ~/.config/sxhkd/sxhkdrc tangle "polybar.org" # ~/.config/polybar/config.ini + scripts tangle "compositor.org" # ~/.config/picom/picom.conf tangle "rofi.org" # ~/.config/rofi/config.rasi tangle "binaries.org" # ~/.local/bin/* scripts tangle "binaries-private.org" # ~/.local/bin/* scripts echo "==> Reloading desktop" i3-msg restart 2>/dev/null || echo " (i3 not running, config will apply on next login)"