Skip to content

The scripts

How the pipeline works

One orchestrator, a library of shared helpers, and a numbered pipeline you control by commenting lines. Everything is plain Bash — nothing hidden.

The orchestrator

0-current-choices.sh sources the helper library, detects your OS from /etc/os-release, configures repos, updates the system, runs any distro-specific fixups, then runs the numbered scripts in order:

run_glob "${WORKING_DIR}/100-*"   # all 100-prefixed scripts, in order
run_glob "${WORKING_DIR}/110-*"
# ... and so on

Enable or disable a step by commenting its line in that one file. The numbering defines execution order.

The numbered pipeline

Each stage is a self-contained script that sources common/common.sh and can also be run on its own.

Stage Does
100Install the core Nemesis software set
105Install development tooling
110Install core system software
120Install Nemesis icon themes
130Set up Bluetooth
140Set up CUPS printing
150Configure ananicy (process priorities)
200Configure the AUR software repo
300 / 301Sardi icon extras — install / remove
400 / 401Surfn icon extras — install / remove
500Plasma-specific setup
600Build and install Ohmychadwm
900–999Personal layer — dotfiles, themes, and app configs (in personal/)

Stages evolve over time — the GitHub repo is always the source of truth.

The shared library

Every script sources common/common.sh. It wraps the messy parts so scripts stay readable and cross-distro — on non-Arch systems the right package manager is swapped in automatically.

Packages

install_packages, remove_packages, pkg_installed — install/remove via the distro's package manager.

Services

enable_now_service, disable_service, restart_service.

Files

backup_file_once, copy_file, append_line_if_missing, replace_text_in_file.

Logging

log_section, log_info, log_warn, log_success — consistent, readable output.

Safe by default

backup_file_once saves originals with a .nemesis suffix before overwriting — pacman.conf, environment, mirrorlist, and more.

Right user under sudo

$TARGET_USER resolves to the invoking user even under sudo, so dotfiles land in the right home directory.

Standalone utilities

The scripts/ folder holds focused, run-on-their-own tools. Launch the interactive menu with bash scripts/1-install-scripts.sh, or run any one directly.

ArchLinux Tweak Tool (GTK4) PipeWire / PulseAudio Samba VirtualBox VMware Workstation QEMU Qt dev environment LAMP / XAMPP + WordPress yay / paru Belgian eID AZERTY Belgium locale Printer setup Build an Arch ISO Boot diagnostics

Read the source

Every script is plain Bash on GitHub. Examine and judge before you run.

Open the repo