Files
dotfiles/system/install.sh
thomas 7f11abf50f Feature: Pac-Man progress bars, version table and 10 parallel downloads in pacman
Turns on ILoveCandy and VerbosePkgLists and raises ParallelDownloads to 10
in system/pacman/options.conf. install.sh now puts the Include at the end of
[options] instead of straight after the header, so these override
pacman.conf's own defaults (its ParallelDownloads = 5 would otherwise win),
and moves an existing Include there when re-run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 08:53:36 +01:00

25 lines
901 B
Bash
Executable File

#!/usr/bin/env bash
# Installs system-level config that stow can't manage (needs root).
set -euo pipefail
repo="$(cd "$(dirname "$0")" && pwd)"
# pacman: shared [options] snippet
sudo install -m644 "$repo/pacman/options.conf" /etc/pacman.d/options.conf
# The Include goes at the end of [options] (just before the first repo section,
# commented or not), so later-wins options like ParallelDownloads override
# pacman.conf's own defaults. Any old copy (e.g. straight after [options]) is
# removed first, so re-running this also moves it into place.
include='Include = /etc/pacman.d/options.conf'
tmp="$(mktemp)"
awk -v inc="$include" '
$0 == inc { next }
seen && !done && /^#?\[/ { print inc; print ""; done = 1 }
/^\[options\]/ { seen = 1 }
{ print }
' /etc/pacman.conf >"$tmp"
if ! cmp -s "$tmp" /etc/pacman.conf; then
sudo install -m644 "$tmp" /etc/pacman.conf
fi
rm -f "$tmp"