diff options
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/archangel.conf.example | 96 | ||||
| -rw-r--r-- | assets/easyeffects-eq-presets.org | 47 | ||||
| -rwxr-xr-x | assets/easyeffects-eq-presets.sh | 63 |
3 files changed, 206 insertions, 0 deletions
diff --git a/assets/archangel.conf.example b/assets/archangel.conf.example new file mode 100644 index 0000000..dacf340 --- /dev/null +++ b/assets/archangel.conf.example @@ -0,0 +1,96 @@ +# archangel.conf - Unattended Installation Configuration +# +# Copy this file and edit values. +# Usage: archangel --config-file /path/to/your-config.conf +# +# Required fields: HOSTNAME, TIMEZONE, DISKS, ROOT_PASSWORD +# For ZFS: also need ZFS_PASSPHRASE or NO_ENCRYPT=yes +# All other fields have sensible defaults. + +############################# +# Filesystem Selection +############################# + +# Filesystem type (optional, default: zfs) +# Options: zfs, btrfs +# Note: btrfs support coming soon +FILESYSTEM=zfs + +############################# +# System Configuration +############################# + +# Hostname for the installed system (required) +HOSTNAME=archangel + +# Timezone (required) - Use format: Region/City +# Examples: America/Los_Angeles, Europe/London, Asia/Tokyo +TIMEZONE=America/Los_Angeles + +# Locale (optional, default: en_US.UTF-8) +LOCALE=en_US.UTF-8 + +# Console keymap (optional, default: us) +KEYMAP=us + +############################# +# Disk Configuration +############################# + +# Disks to use for installation (required) +# Single disk: DISKS=/dev/vda +# Multiple disks: DISKS=/dev/vda,/dev/vdb,/dev/vdc +DISKS=/dev/vda + +# RAID level for multi-disk setups (optional) +# Options: mirror, stripe, raidz1, raidz2, raidz3 +# Default: mirror (when multiple disks specified) +# Leave empty for single disk +RAID_LEVEL= + +############################# +# Security +############################# + +# ZFS encryption passphrase (required unless NO_ENCRYPT=yes) +# This will be required at every boot to unlock the pool +ZFS_PASSPHRASE=changeme + +# Skip ZFS encryption (optional, default: no) +# Set to "yes" to create an unencrypted pool +# Use cases: +# - VMs or test environments +# - Systems with hardware encryption (SED drives) +# - Data that doesn't require encryption +# WARNING: Without encryption, anyone with physical access can read your data +#NO_ENCRYPT=no + +# Root password (required) +ROOT_PASSWORD=changeme + +############################# +# Network Configuration +############################# + +# Enable SSH with root login (optional, default: yes) +# Set to "no" to disable SSH +ENABLE_SSH=yes + +# WiFi configuration (optional) +# Leave empty for ethernet-only or to skip WiFi setup +WIFI_SSID= +WIFI_PASSWORD= + +############################# +# Advanced ZFS Options +############################# + +# Pool name (optional, default: zroot) +#POOL_NAME=zroot + +# Compression algorithm (optional, default: zstd) +#COMPRESSION=zstd + +# Sector size shift (optional, default: 12 for 4K sectors) +# Use 13 for 8K sector drives +#ASHIFT=12 diff --git a/assets/easyeffects-eq-presets.org b/assets/easyeffects-eq-presets.org new file mode 100644 index 0000000..37f6478 --- /dev/null +++ b/assets/easyeffects-eq-presets.org @@ -0,0 +1,47 @@ +#+TITLE: EasyEffects EQ Presets - Installation Guide +#+DATE: 2026-01-28 + +* Overview + +Three parametric EQ presets targeting the Harman frequency response curve, formatted for EasyEffects (PipeWire). + +| Preset File | Headphone | Source | Bands | Preamp | +|-----------------------------------+------------------------------+----------------------------+-------+---------| +| dt770-pro-250-harman-eq.json | Beyerdynamic DT 770 Pro 250 | oratory1990 (hand-tuned) | 9 | -4.7 dB | +| pxc-550-ii-harman-eq.json | Sennheiser PXC 550-II | AutoEQ / oratory1990 meas. | 10 | -3.0 dB | +| pixel-buds-pro-2-harman-eq.json | Google Pixel Buds Pro 2 | AutoEQ / DHRME meas. | 10 | -2.8 dB | + +* Prerequisites + +- PipeWire (replaces PulseAudio) +- pipewire-pulse +- EasyEffects (~sudo pacman -S easyeffects~) + +* Programmatic Install + +#+begin_src sh +./easyeffects-eq-presets.sh install +#+end_src + +Or manually: + +#+begin_src sh +mkdir -p ~/.config/easyeffects/output +cp *.json ~/.config/easyeffects/output/ +#+end_src + +* Manual Usage + +1. Open EasyEffects (search in app launcher or run ~easyeffects~) +2. Go to the *Output* tab (speaker icon, top left) +3. Click the *Presets* dropdown (top bar) +4. Select the preset matching your current headphone +5. Switch presets when you switch headphones + +* Notes + +- EasyEffects applies EQ system-wide to whatever PipeWire output is active, including Bluetooth +- Switch presets when switching between headphones — using the wrong preset will sound worse than no EQ +- The DT 770 preset is for the 250 Ohm version specifically (other impedance variants have different frequency responses) +- The PXC 550-II and Pixel Buds Pro 2 presets are AutoEQ-generated (algorithmically computed from measurements), not hand-tuned by oratory1990 +- To start EasyEffects minimized at login: ~easyeffects --gapplication-service~ diff --git a/assets/easyeffects-eq-presets.sh b/assets/easyeffects-eq-presets.sh new file mode 100755 index 0000000..40e9cd9 --- /dev/null +++ b/assets/easyeffects-eq-presets.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# Install EasyEffects parametric EQ presets (Harman target) +# +# Presets: +# dt770-pro-250-harman-eq.json - Beyerdynamic DT 770 Pro 250 Ohm (oratory1990) +# pxc-550-ii-harman-eq.json - Sennheiser PXC 550-II (AutoEQ/oratory1990) +# pixel-buds-pro-2-harman-eq.json - Google Pixel Buds Pro 2 (AutoEQ/DHRME) +# +# Prerequisites: easyeffects, pipewire, pipewire-pulse +# +# Usage: ./easyeffects-eq-presets.sh [install|uninstall] + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PRESET_DIR="${HOME}/.config/easyeffects/output" + +PRESETS=( + "dt770-pro-250-harman-eq.json" + "pxc-550-ii-harman-eq.json" + "pixel-buds-pro-2-harman-eq.json" +) + +install_presets() { + # Ensure easyeffects is installed + if ! command -v easyeffects &>/dev/null; then + echo "easyeffects not found. Installing..." + sudo pacman -S --needed --noconfirm easyeffects + fi + + mkdir -p "$PRESET_DIR" + + for preset in "${PRESETS[@]}"; do + if [[ -f "${SCRIPT_DIR}/${preset}" ]]; then + cp "${SCRIPT_DIR}/${preset}" "${PRESET_DIR}/${preset}" + echo "Installed: ${preset}" + else + echo "Warning: ${preset} not found in ${SCRIPT_DIR}" >&2 + fi + done + + echo "" + echo "Presets installed to ${PRESET_DIR}" + echo "Open EasyEffects and select a preset from the dropdown." +} + +uninstall_presets() { + for preset in "${PRESETS[@]}"; do + if [[ -f "${PRESET_DIR}/${preset}" ]]; then + rm "${PRESET_DIR}/${preset}" + echo "Removed: ${preset}" + fi + done +} + +case "${1:-install}" in + install) install_presets ;; + uninstall) uninstall_presets ;; + *) + echo "Usage: $0 [install|uninstall]" >&2 + exit 1 + ;; +esac |
