arch-system-hyprland

Reproducible Arch Linux + Hyprland install

Layers

Dir Layer Runs where
01-install/ base install live ISO (root)
02-system/ root provisioning installed system
03-user/ user provisioning installed system
04-secrets/ share credentials interactive prompts

Opt-in, run-once scripts that aren't part of the auto-provision loop live in an optional/ dir under their layer:

  • 02-system/optional/kvm-bridge.sh — libvirt LAN bridge (root)
  • 03-user/optional/rme-proaudio.sh — RME Fireface pro-audio routing (user)

Rebuild a machine

Boot the official Arch ISO, get online, then clone this repo and run it:

# 1. boot the official Arch ISO, connect (iwctl for wifi; wired is automatic),
#    then fetch this repo:
git clone <repo-url> arch-system-hyprland && cd arch-system-hyprland

# 2. set target + options, then install the base:
vim system.conf                    # DISK, hostname, GPU, desktop/laptop…
./01-install/run.sh                # partitions + base install

# 3. reboot, log in, then provision:
sudo ~/arch-system-hyprland/02-system/run.sh
~/arch-system-hyprland/03-user/run.sh

# 4. (optional) enter share credentials interactively
sudo ~/arch-system-hyprland/04-secrets/run.sh

Post Install

  • install openframeworks

    • tar -xf of_v0.12.0_linux64gcc6_release.tar.gz
    • sudo run both scripts from unpacked archive: scripts/linux/archlinux/
      • ensure that all pacman packages installed there are avail. offline
    • install custom glfw-git from AUR, change in PKGBUILD:
      • line 44, set DGLFW_BUILD_WAYLAND=OFF, otherwise of doesnt show window
    • mkdir ~/ofx && cp -r of_v0.12.0_linux64gcc6_release ~/ofx/
    • cd into the new dir under ~/ofx/, run
      • scripts/linux/compileOF.sh -j8
      • scripts/linux/compilePG.sh -j8
        • say yes to install the projectGenerator, then add export PG_OF_PATH=/home/tobias/ofx/of_v0.12.0_linux64gcc6_release to ~/.profile manually
      • optional: scripts/linux/buildAllExamples.sh -j8
      • rm example debug files find ./examples -wholename "*bin/*_debug" -type f -print0 | xargs -0 /bin/rm -f
    • the of dir must reside in the user folder because of permissions in /opt. copying to opt would work, but every time a new addon gets used by a project (the standard ones in /addons) new obj files are created in the ofx folder, which fails because users shall not have write perms in opt, so every make would have to be run as root at least once.. not a good solution.
  • install davinci resolve manually

  • install bitwig studio manually

  • agisoft metashape manually

  • configure wine manually

  • configure yabridge manually

    yabridgectl add "$HOME/.wine-vst/drive_c/Program Files/Steinberg/VstPlugins"
    yabridgectl add "$HOME/.wine-vst/drive_c/Program Files/Common Files/VST3"
    yabridgectl add "$HOME/.wine-vst/drive_c/Program Files/Common Files/CLAP"
    yabridgectl sync
    
  • copy vcvrack modules

  • copy arduino libraries

  • copy processing libraries

  • install firefox extensions manually

    • ublock origin
    • floccus
    • dark reader
  • edit hyprland config to adjust for monitor setup, including color profiles under ~/.local/share/icc

Package lists

02-system/packages/pacman.txt (native, system layer) and 03-user/packages/aur.txt (AUR, user layer) are the source of truth — edit them directly, or refresh from a running machine:

pacman -Qqen > 02-system/packages/pacman.txt   # native explicit
pacman -Qqem > 03-user/packages/aur.txt        # explicit AUR

GPU drivers live in graphics-amd.txt / graphics-intel.txt, installed per the GPU= set in system.conf (kept out of pacman.txt so a machine only gets its own GPU's packages).

S
Description
No description provided
Readme 18 MiB
Languages
CSS 75.9%
Shell 20.3%
Lua 2.8%
Python 1%