From 4f2b0ccdf7bf25abf1cd430c445faf64f562545b Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Sun, 23 Aug 2026 18:53:30 +0200 Subject: [PATCH] Dissolve linux_configuration/scripts/ and single_use/ Two levels of pure taxonomy carrying no information, and a 2-directory cap leaves no room for them. Categories now sit directly under linux_configuration/: features, fixes, utils, misc, fresh-install, installers, diagnostics, gaming, boot_recovery, periodic_background, lib, meta, tests. A script's own lib/ and tests/ are exempt from the cap, so those stay put. Depth violations 248 -> 139; roughly 40 of the remainder are inside digital_wellbeing and hosts, deferred until the guard-lib repoint. The moves are the easy half. What breaks is every path that counted levels, and three classes of it had to be found by resolving paths rather than reading diffs: - 52 relative `source` lines for lib/common.sh and lib/android.sh. The correct prefix differs per file: 40 were ../../ and 12 were ../../../, so a blanket replace would have fixed one set and broken the other. - REPO_ROOT in 7 fixes/lib/tests harnesses and setup_syncyomi_guard.sh, each walking up four levels from a directory now two levels shallower. This caused a real regression -- the fixes suite went red with "log_warn: command not found" -- caught by running it and comparing against the pre-move baseline worktree. - conftest.py's sys.path entries, which took the pytest gate down with 14 collection errors, and the `# shellcheck source=` directives, which took shellcheck down with SC1091. 16 symlinks in $HOME broke, including the entire i3blocks bar. All repointed, and cpu_monitor/memory/disk/time/volume were run to confirm they emit real output rather than merely resolving. Verified: 1798 tests pass at 100% coverage, 8 of 9 lib/tests suites pass (the ninth needs the coverage jail, identically at baseline), pre-commit is clean, and the two untracked secret configs are still ignored after their gitignore paths changed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp --- .copilotignore | 2 +- .../skills/efficient-polling-scripts/SKILL.md | 2 +- .../self-hosted-service-exposure/SKILL.md | 4 +- .gitignore | 6 +- .pre-commit-config.yaml | 6 +- AGENTS.md | 24 ++-- NEXT_SESSION_PROMPT.md | 6 +- NEXT_SESSION_RESTRUCTURE.md | 4 +- ...2026-07-13-explanation-setup-syncyomi.html | 2 +- ...2026-07-17-explanation-night-lockdown.html | 2 +- ...n-network-diagnostics-and-stale-tests.html | 2 +- docs/restructure-live-state.md | 48 +++---- docs/shell-split-recipes.md | 10 +- ...latten-linux-configuration-2026-08-23.json | 21 +++ ...latten-linux-configuration-2026-08-23.json | 61 ++++++++ docs/syncyomi-restore-runbook.md | 4 +- .../.github/BRANCH_PROTECTION.md | 4 +- .../.github/copilot-instructions.md | 42 +++--- .../.github/workflows/shell-check.yml | 8 +- linux_configuration/.gitignore | 4 +- .../{scripts => }/boot_recovery/README.md | 0 .../{scripts => }/boot_recovery/boot-repair | 0 .../hooks/05-boot-mounted-guard.hook | 0 .../hooks/99-boot-autorepair.hook | 0 .../{scripts => }/boot_recovery/install.sh | 0 .../tests/lib/boot_repair_bios_cases.sh | 0 .../tests/lib/boot_repair_cases.sh | 0 .../boot_recovery/tests/live_test.sh | 0 .../boot_recovery/tests/test_boot_repair.sh | 0 .../{scripts => }/diagnostics/install.sh | 0 .../diagnostics/line-speed-probe.sh | 0 .../diagnostics/steam-download-duty.sh | 0 .../docs/PACMAN_WRAPPER_SECURITY.md | 10 +- linux_configuration/docs/SUMMARY.md | 12 +- .../docs/pacman-wrapper/testing-and-usage.md | 4 +- .../security-hardening/01-current-state.md | 12 +- .../security-hardening/03-implementation.md | 22 +-- .../security-hardening/04-agent-personas.md | 16 +-- .../docs/security-hardening/05-llm-readmes.md | 2 +- linux_configuration/dwm/README.md | 2 +- linux_configuration/dwm/bin/dwm-session | 2 +- linux_configuration/dwm/config.h | 10 +- .../features/control_from_mobile.sh | 0 .../features/install_unreal_mcp.sh | 4 +- .../features/install_unreal_mcp_kvick.sh | 0 .../single_use => }/features/keepass-open.sh | 0 .../features/keepass_consolidate.sh | 0 .../single_use => }/features/keepass_sync.sh | 0 .../features/lib/aw_autostart.sh | 0 .../features/lib/aw_install.sh | 0 .../features/lib/aw_service.sh | 0 .../single_use => }/features/lib/dns_dhcp.sh | 0 .../features/lib/dns_firewall.sh | 0 .../single_use => }/features/lib/dns_units.sh | 0 .../features/lib/dot_resolver_install.sh | 0 .../features/lib/dwm_config.sh | 0 .../features/lib/gitea_network.sh | 0 .../features/lib/kcd2_autorebuild.sh | 0 .../features/lib/kcd2_expose.sh | 0 .../features/lib/kcd2_serve.sh | 0 .../features/lib/local_llm_model.sh | 0 .../features/lib/mobile_service.sh | 0 .../features/lib/nc_discover.sh | 0 .../single_use => }/features/lib/nc_flash.sh | 0 .../single_use => }/features/lib/nc_image.sh | 0 .../features/lib/nc_packages.sh | 0 .../single_use => }/features/lib/nc_php.sh | 0 .../single_use => }/features/lib/nc_remote.sh | 0 .../features/lib/nc_remote_flash.sh | 0 .../features/lib/nc_services.sh | 0 .../features/lib/pi_flash_exec.sh | 0 .../features/lib/pi_flash_image.sh | 0 .../features/lib/pi_flash_remote.sh | 0 .../single_use => }/features/lib/rpi_nc_ca.sh | 0 .../features/lib/rpi_nc_deps.sh | 0 .../features/lib/rpi_nc_fixes.sh | 0 .../features/lib/rpi_nc_install.sh | 0 .../features/lib/rpi_nc_ssl.sh | 0 .../features/lib/rpi_nc_ssl_remote.sh | 0 .../features/lib/rpi_nc_system.sh | 0 .../features/lib/searxng_expose.sh | 0 .../features/lib/searxng_limiter.sh | 0 .../features/lib/searxng_settings.sh | 0 .../features/lib/searxng_stack.sh | 0 .../features/lib/searxng_start.sh | 0 .../features/lib/searxng_status.sh | 0 .../features/lib/syncyomi_expose.sh | 0 .../features/lib/syncyomi_stack.sh | 0 .../features/lib/tests/features_harness.sh | 0 .../features/lib/tests/jail_args | 0 .../features/lib/tests/run_all.sh | 2 +- .../features/lib/tests/test_aw_autostart.sh | 0 .../lib/tests/test_dot_resolver_install.sh | 0 .../features/lib/tests/test_dwm_config.sh | 0 .../features/lib/tests/test_nc_php.sh | 0 .../features/lib/tests/test_rpi_nc_ca.sh | 0 .../features/lib/tests/test_rpi_nc_install.sh | 0 .../features/lib/unreal_mcp_repo.sh | 0 .../features/lib/website_build.sh | 0 .../features/lib/wg_firewall.sh | 0 .../single_use => }/features/lib/wg_keys.sh | 0 .../single_use => }/features/lib/wg_sshd.sh | 0 .../features/migrate_github_to_gitea.sh | 4 +- .../features/raspberry_pi_flash_sd.sh | 0 .../features/raspberry_pi_nextcloud.sh | 0 .../features/setup_activitywatch.sh | 4 +- .../features/setup_dns_blocker.sh | 4 +- .../features/setup_dot_resolver.sh | 0 .../single_use => }/features/setup_dwm.sh | 0 .../single_use => }/features/setup_gitea.sh | 4 +- .../features/setup_kcd2_dice_solver.sh | 4 +- .../features/setup_keepass_sync.sh | 0 .../features/setup_local_llm.sh | 4 +- .../features/setup_nextcloud_raspberry.sh | 0 .../features/setup_personal_website.sh | 4 +- .../features/setup_phone_wireguard.sh | 0 .../single_use => }/features/setup_searxng.sh | 4 +- .../features/setup_syncyomi.sh | 4 +- .../features/setup_syncyomi_guard.sh | 2 +- .../features/setup_wireguard_ssh.sh | 4 +- .../features/systemd/keepass-cloud-sync.path | 0 .../systemd/keepass-cloud-sync.service | 0 .../feedback-appimage/PKGBUILD | 0 .../fixes/diagnose_arch_performance.sh | 4 +- .../fixes/diagnose_pacman_hook_stall.sh | 0 .../single_use => }/fixes/fix_anki.sh | 4 +- .../fixes/fix_arch_performance.sh | 4 +- .../single_use => }/fixes/fix_bluetooth.sh | 4 +- .../single_use => }/fixes/fix_controller.sh | 0 .../fixes/fix_flutter_git_env.sh | 2 +- .../single_use => }/fixes/fix_stepmania.sh | 4 +- .../single_use => }/fixes/fix_systemctl.sh | 2 +- .../single_use => }/fixes/fix_thorium.sh | 4 +- .../fixes/fix_ubuntu_performance.sh | 4 +- .../single_use => }/fixes/fix_virtualbox.sh | 4 +- .../single_use => }/fixes/fix_waifu2x.sh | 0 .../fixes/fix_yay_aur_database.sh | 0 .../single_use => }/fixes/lib/arch_cpu.sh | 0 .../fixes/lib/arch_hardware.sh | 0 .../fixes/lib/arch_perf_fixes.sh | 2 +- .../fixes/lib/arch_perf_probes.sh | 0 .../fixes/lib/arch_perf_report.sh | 0 .../single_use => }/fixes/lib/arch_sysctl.sh | 0 .../single_use => }/fixes/lib/bt_adapter.sh | 0 .../single_use => }/fixes/lib/bt_audio.sh | 0 .../single_use => }/fixes/lib/bt_pairing.sh | 0 .../single_use => }/fixes/lib/bt_report.sh | 0 .../fixes/lib/hosts_guard_migrate.sh | 0 .../fixes/lib/hosts_guard_rollback.sh | 0 .../fixes/lib/nvidia_config.sh | 0 .../fixes/lib/pacman_hook_stall_capture.sh | 0 .../fixes/lib/pacman_hook_stall_load.sh | 0 .../fixes/lib/pacman_hook_stall_setup.sh | 0 .../fixes/lib/pacman_hook_stall_summary.sh | 0 .../fixes/lib/pacman_hook_stall_usage.sh | 0 .../fixes/lib/pacman_hook_stall_watch.sh | 0 .../fixes/lib/tests/arch_desktop_harness.sh | 8 +- .../fixes/lib/tests/arch_perf_harness.sh | 8 +- .../tests/arch_sysctl_quarantined_cases.sh | 2 +- .../fixes/lib/tests/bt_harness.sh | 8 +- .../fixes/lib/tests/hosts_guard_harness.sh | 8 +- .../fixes/lib/tests/lib_test_core.sh | 0 .../fixes/lib/tests/lib_test_path.sh | 0 .../fixes/lib/tests/nvidia_config_harness.sh | 8 +- .../tests/pacman_hook_stall_entry_harness.sh | 0 .../lib/tests/pacman_hook_stall_harness.sh | 0 .../fixes/lib/tests/run_all.sh | 0 .../fixes/lib/tests/test_arch_cpu.sh | 0 .../fixes/lib/tests/test_arch_hardware.sh | 0 .../lib/tests/test_arch_hardware_boot.sh | 0 .../fixes/lib/tests/test_arch_perf_fixes.sh | 0 .../fixes/lib/tests/test_arch_perf_probes.sh | 0 .../lib/tests/test_arch_perf_probes_health.sh | 0 .../fixes/lib/tests/test_arch_perf_report.sh | 0 .../lib/tests/test_arch_perf_report_fixes.sh | 0 .../fixes/lib/tests/test_bt_adapter.sh | 0 .../fixes/lib/tests/test_bt_adapter_reset.sh | 0 .../fixes/lib/tests/test_bt_audio.sh | 0 .../fixes/lib/tests/test_bt_audio_connect.sh | 0 .../fixes/lib/tests/test_bt_audio_health.sh | 0 .../fixes/lib/tests/test_bt_pairing.sh | 0 .../fixes/lib/tests/test_bt_pairing_usb.sh | 0 .../fixes/lib/tests/test_bt_report.sh | 0 .../test_diagnose_pacman_hook_stall_args.sh | 0 .../test_diagnose_pacman_hook_stall_timing.sh | 0 .../lib/tests/test_hosts_guard_migrate.sh | 0 .../tests/test_hosts_guard_migrate_flow.sh | 0 .../lib/tests/test_hosts_guard_rollback.sh | 0 .../fixes/lib/tests/test_nvidia_config.sh | 0 .../lib/tests/test_nvidia_config_pyroveil.sh | 0 .../tests/test_pacman_hook_stall_capture.sh | 0 .../lib/tests/test_pacman_hook_stall_load.sh | 0 .../lib/tests/test_pacman_hook_stall_setup.sh | 0 .../tests/test_pacman_hook_stall_summary.sh | 0 .../lib/tests/test_pacman_hook_stall_usage.sh | 0 .../lib/tests/test_pacman_hook_stall_watch.sh | 0 .../fixes/lib/tests/test_thorium_repairs.sh | 0 .../lib/tests/test_thorium_repairs_deep.sh | 0 .../fixes/lib/tests/test_ubuntu_perf_fixes.sh | 0 .../lib/tests/test_ubuntu_perf_fixes_oom.sh | 0 .../fixes/lib/tests/test_ubuntu_perf_more.sh | 0 .../fixes/lib/tests/thorium_harness.sh | 8 +- .../fixes/lib/tests/ubuntu_perf_harness.sh | 8 +- .../fixes/lib/thorium_repairs.sh | 0 .../fixes/lib/ubuntu_perf_fixes.sh | 0 .../fixes/lib/ubuntu_perf_more.sh | 0 .../fixes/migrate_hosts_guard_to_guard_lib.sh | 0 .../fixes/nvidia_troubleshoot.sh | 4 +- .../fixes/optimize_arch_desktop.sh | 4 +- .../single_use => }/fresh-install/README.md | 0 .../fresh-install/aur_packages.txt | 0 .../fresh-install/detect_gpu.sh | 0 .../fresh-install/detect_gpu_and_install.sh | 0 .../fresh-install/install_amd_driver.sh | 0 .../fresh-install/install_intel_driver.sh | 0 .../fresh-install/install_nvidia_driver.sh | 0 .../fresh-install/lib/packages.sh | 0 .../single_use => }/fresh-install/main.sh | 16 +-- .../fresh-install/makepkg.conf | 0 .../fresh-install/mkinitcpio.conf | 0 .../single_use => }/fresh-install/mpv.conf | 0 .../fresh-install/packages.txt | 0 .../single_use => }/fresh-install/pacman.conf | 0 .../fresh-install/pacman_packages.txt | 0 .../{scripts => }/gaming/README.md | 2 +- .../{scripts => }/gaming/start-player2.sh | 0 linux_configuration/install_core_system.sh | 136 +++++++++--------- .../install_code_insiders.sh | 0 .../install_feedback.sh | 0 .../install_joplin.sh | 4 +- .../install_ungoogled_chromium_ubuntu.sh | 0 .../lib => installers}/joplin_server.sh | 2 +- .../single_use => installers}/test_bad.sh | 0 .../single_use => installers}/test_removal.sh | 0 .../{scripts => }/lib/android.sh | 0 .../{scripts => }/lib/common.sh | 0 .../{scripts => }/lib/common_datetime.sh | 0 .../{scripts => }/lib/common_packages.sh | 0 .../{scripts => }/lib/common_services.sh | 0 .../{scripts => }/lib/tests/mtk_harness.sh | 2 +- .../{scripts => }/lib/tests/run_all.sh | 2 +- .../lib/tests/test_common_datetime.sh | 0 .../meta/lib/shell_check_discover.sh | 0 .../meta/lib/shell_check_install.sh | 0 .../meta/lib/shell_check_lint.sh | 0 .../{scripts => }/meta/shell_check.sh | 2 +- .../misc/testsAndMisc-bash/.gitignore | 0 .../misc/testsAndMisc-bash/.vscode/tasks.json | 0 .../testsAndMisc-bash/README_clean_audio.md | 0 .../misc/testsAndMisc-bash/clean_audio.sh | 0 .../misc/testsAndMisc-bash/compress_images.sh | 0 .../misc/testsAndMisc-bash/convert.sh | 0 .../misc/testsAndMisc-bash/copyFolder.sh | 0 .../misc/testsAndMisc-bash/download.sh | 0 .../testsAndMisc-bash/fix_thorium_unity.sh | 4 +- .../misc/testsAndMisc-bash/fix_unity.sh | 4 +- .../testsAndMisc-bash/generate_subfolders.sh | 0 .../testsAndMisc-bash/get_rnnoise_model.sh | 4 +- .../install_ffmpeg_with_arnndn.sh | 4 +- .../testsAndMisc-bash/install_unity_mcp.sh | 4 +- .../lib/clean_audio_filters.sh | 0 .../testsAndMisc-bash/lib/tests/run_all.sh | 0 .../lib/tests/test_clean_audio_filters.sh | 0 .../lib/tests/test_transcribe_deps.sh | 0 .../lib/tests/test_transcribe_pkgmgr.sh | 0 .../lib/tests/test_transcribe_venv.sh | 0 .../lib/tests/test_unity_handler.sh | 0 .../lib/tests/transcribe_harness.sh | 0 .../testsAndMisc-bash/lib/transcribe_deps.sh | 0 .../lib/transcribe_pkgmgr.sh | 0 .../testsAndMisc-bash/lib/transcribe_venv.sh | 0 .../testsAndMisc-bash/lib/unity_handler.sh | 0 .../misc/testsAndMisc-bash/mcp_readme.md | 0 .../misc/testsAndMisc-bash/process_table.sh | 0 .../misc/testsAndMisc-bash/test_fw.srt | 0 .../misc/testsAndMisc-bash/tools/__init__.py | 0 .../tools/_transcribe_cluster.py | 0 .../tools/_transcribe_diarize.py | 0 .../tools/_transcribe_media.py | 0 .../tools/_transcribe_model.py | 0 .../tools/_transcribe_output.py | 0 .../tools/_transcribe_probes.py | 0 .../tools/_transcribe_progress.py | 0 .../testsAndMisc-bash/tools/transcribe_fw.py | 0 .../tools/transcribe_helpers.py | 0 .../misc/testsAndMisc-bash/transcribe.sh | 0 .../misc/testsAndMisc-bash/upgrade.sh | 0 .../check_and_enable_services.sh | 2 +- .../digital_wellbeing/.gitignore | 0 .../README_COMPULSIVE_BLOCK_LLM.md | 0 .../README_MIDNIGHT_SHUTDOWN_LLM.md | 0 .../block_compulsive_opening.sh | 0 .../digital_wellbeing/heavy_job_lock.sh | 0 .../digital_wellbeing/install_leechblock.sh | 0 .../digital_wellbeing/install_ublock.sh | 0 .../leechblock_defaults.json | 0 .../digital_wellbeing/lib/cco_install.sh | 0 .../digital_wellbeing/lib/cco_report.sh | 0 .../digital_wellbeing/lib/cco_state.sh | 0 .../digital_wellbeing/lib/cco_wrapper.sh | 0 .../lib/leechblock_browsers.sh | 0 .../lib/leechblock_config.sh | 0 .../digital_wellbeing/lib/leechblock_fetch.sh | 0 .../lib/leechblock_firefox.sh | 0 .../digital_wellbeing/lib/ms_config_guard.sh | 0 .../digital_wellbeing/lib/ms_guard.sh | 0 .../digital_wellbeing/lib/ms_monitor.sh | 0 .../digital_wellbeing/lib/ms_override_mgr.sh | 0 .../digital_wellbeing/lib/ms_report.sh | 0 .../digital_wellbeing/lib/ms_scripts.sh | 0 .../digital_wellbeing/lib/ms_setup_flow.sh | 0 .../digital_wellbeing/lib/ms_units.sh | 0 .../digital_wellbeing/lib/music_detect.sh | 0 .../digital_wellbeing/lib/music_monitor.sh | 0 .../digital_wellbeing/lib/music_status.sh | 0 .../digital_wellbeing/lib/nl_commands.sh | 0 .../digital_wellbeing/lib/nl_config.sh | 0 .../digital_wellbeing/lib/nl_enter.sh | 0 .../digital_wellbeing/lib/nl_units.sh | 0 .../digital_wellbeing/lib/nl_unlock.sh | 0 .../lib/payloads/night-lockdown-enter.sh.in | 0 .../lib/payloads/night-lockdown-unlock.sh.in | 0 .../lib/payloads/shutdown-config-unlock.sh.in | 0 .../lib/tests/cco_harness.sh | 0 .../lib/tests/leechblock_harness.sh | 0 .../digital_wellbeing/lib/tests/run_all.sh | 0 .../lib/tests/test_cco_state.sh | 0 .../lib/tests/test_leechblock_browsers.sh | 0 .../lib/tests/test_leechblock_fetch.sh | 0 .../llm-notes/units-and-tasks.md | 0 .../llm-notes/vulns-and-troubleshooting.md | 0 .../digital_wellbeing/music_parallelism.sh | 0 .../digital_wellbeing/package-lock.json | 0 .../digital_wellbeing/package.json | 0 .../pacman/96-restore-pkg-wrappers.hook | 0 .../pacman/README_FOR_LLM.md | 0 .../pacman/install_makepkg_wrapper.sh | 0 .../pacman/install_pacman_wrapper.sh | 0 .../pacman/lib/install_files.sh | 0 .../digital_wellbeing/pacman/lib/integrity.sh | 0 .../pacman/lib/managed_copy.sh | 0 .../pacman/lib/protect_and_extras.sh | 0 .../llm-notes/maintenance-and-debugging.md | 0 .../llm-notes/verification-and-cleanup.md | 0 .../pacman/makepkg_capped.sh | 0 .../pacman/makepkg_wrapper.sh | 0 .../digital_wellbeing/pacman/mkpkg.sh | 0 .../pacman/pacman_blocked_keywords.txt | 0 .../pacman/pacman_greylist.txt | 0 .../pacman/pacman_lock_lib.sh | 0 .../pacman/pacman_whitelist.txt | 0 .../pacman/pacman_wrapper.sh | 0 .../digital_wellbeing/pacman/pw_challenge.sh | 0 .../digital_wellbeing/pacman/pw_cleanup.sh | 0 .../digital_wellbeing/pacman/pw_guard.sh | 4 +- .../digital_wellbeing/pacman/pw_policy.sh | 0 .../digital_wellbeing/pacman/pw_ui.sh | 0 .../pacman/rewrap_pkg_managers.sh | 0 .../digital_wellbeing/pacman/words.txt | 0 .../digital_wellbeing/remove_guest_mode.sh | 0 .../seed_leechblock_storage.js | 0 .../digital_wellbeing/seed_ublock_storage.js | 0 .../setup_midnight_shutdown.sh | 0 .../digital_wellbeing/setup_night_lockdown.sh | 0 .../systemd/music-parallelism.service | 0 .../virtualbox/enforce_vbox_hosts.sh | 0 .../virtualbox/lib/vbox_disk_inject.sh | 0 .../youtube-music-wrapper.sh | 0 .../hosts/custom_entries.hosts | 0 .../hosts/generate_hosts_file.sh | 0 .../hosts/guard/plugins/nsswitch-plugin.sh | 0 .../hosts/guard/plugins/resolved-plugin.sh | 0 .../periodic_background/hosts/install.sh | 0 .../hosts/lib/hosts_browser_doh.sh | 0 .../hosts/lib/hosts_cache.sh | 0 .../hosts/lib/hosts_guard.sh | 0 .../hosts/lib/hosts_protect_custom.sh | 0 .../hosts/lib/hosts_protect_unblock.sh | 0 .../hosts/lib/hosts_write.sh | 0 .../hosts/lib/tests/hosts_harness.sh | 0 .../hosts/lib/tests/run_all.sh | 0 .../hosts/lib/tests/test_hosts_cache.sh | 0 .../hosts/lib/tests/test_hosts_protect.sh | 0 .../i3-configuration/LICENSE | 0 .../i3-configuration/i3/config | 2 +- .../i3-configuration/i3blocks/claude_usage.sh | 0 .../i3-configuration/i3blocks/config | 0 .../i3-configuration/i3blocks/cpu_monitor.sh | 0 .../i3-configuration/i3blocks/disk.sh | 0 .../i3-configuration/i3blocks/ethernet.sh | 0 .../i3-configuration/i3blocks/gpu_monitor.sh | 0 .../i3-configuration/i3blocks/memory.sh | 0 .../i3blocks/motherboard_temp.sh | 0 .../i3blocks/pc_startup_status.sh | 0 .../i3blocks/persist_common.sh | 0 .../i3blocks/shutdown_countdown.sh | 0 .../i3-configuration/i3blocks/time.sh | 0 .../i3-configuration/i3blocks/volume.sh | 0 .../i3-configuration/install.sh | 0 .../lib/periodic_browser.sh | 0 .../periodic_background/lib/services_apps.sh | 0 .../lib/services_browser.sh | 0 .../lib/services_common.sh | 0 .../periodic_background/lib/services_hosts.sh | 0 .../lib/services_hosts_fix.sh | 0 .../lib/services_report.sh | 0 .../periodic_background/lib/services_units.sh | 0 .../lib/services_wrappers.sh | 0 .../periodic_background/lib/tests/run_all.sh | 0 .../lib/tests/services_assert.sh | 0 .../lib/tests/services_harness.sh | 0 .../lib/tests/services_path.sh | 0 .../lib/tests/test_services_apps.sh | 0 .../lib/tests/test_services_browser.sh | 0 .../lib/tests/test_services_common.sh | 0 .../lib/tests/test_services_hosts.sh | 0 .../lib/tests/test_services_hosts_fix.sh | 0 .../lib/tests/test_services_hosts_resolved.sh | 0 .../lib/tests/test_services_report.sh | 0 .../lib/tests/test_services_report_and_fix.sh | 0 .../lib/tests/test_services_units.sh | 0 .../lib/tests/test_services_wrappers.sh | 0 .../setup_periodic_system.sh | 0 linux_configuration/tests/conftest.py | 8 +- .../tests/test_i3blocks_persist_common.sh | 72 +++++----- .../tests/test_makepkg_wrapper.sh | 28 ++-- .../tests/test_music_parallelism.sh | 92 ++++++------ .../tests/test_pacman_wrapper_security.sh | 4 +- .../tests/test_setup_dns_blocker.sh | 22 +-- .../single_use => }/utils/analyze_repo.sh | 0 .../utils/check_brother_printer.sh | 0 .../single_use => }/utils/convert_video.sh | 4 +- .../single_use => }/utils/convert_words.sh | 0 .../data/android_guardian_blocklist.hosts | 0 .../single_use => }/utils/docx_to_pdf.sh | 4 +- .../utils/download_exercism_bulk.sh | 0 .../single_use => }/utils/fast_count.py | 0 .../single_use => }/utils/find_keepassxc.sh | 6 +- .../single_use => }/utils/format_sd_card.sh | 0 .../utils/generate_study_materials.sh | 0 .../single_use => }/utils/gif_to_square.sh | 4 +- .../utils/image_to_resolution.sh | 4 +- .../single_use => }/utils/install_exercism.sh | 0 .../utils/install_offline_docs.sh | 0 .../utils/lib/analyze_repo_report.sh | 0 .../utils/lib/analyze_repo_scan.sh | 0 .../utils/lib/analyze_repo_separate.sh | 0 .../utils/lib/analyze_repo_symbols.sh | 0 .../utils/lib/analyze_repo_tools.sh | 0 .../utils/lib/android_commands.sh | 0 .../utils/lib/android_device.sh | 0 .../utils/lib/android_module.sh | 0 .../utils/lib/bl9000_backup.sh | 0 .../single_use => }/utils/lib/bl9000_deps.sh | 0 .../utils/lib/bl9000_device.sh | 0 .../utils/lib/bl9000_magisk.sh | 0 .../utils/lib/bl9000_mtkclient.sh | 0 .../single_use => }/utils/lib/bl9000_usage.sh | 0 .../single_use => }/utils/lib/docs_all.sh | 0 .../single_use => }/utils/lib/docs_cpp.sh | 0 .../single_use => }/utils/lib/docs_js.sh | 0 .../single_use => }/utils/lib/docs_python.sh | 0 .../utils/lib/docs_python_keywords.sh | 0 .../single_use => }/utils/lib/docs_rust.sh | 0 .../utils/lib/download_classify.sh | 0 .../utils/lib/download_media.sh | 0 .../utils/lib/download_sizes.sh | 0 .../utils/lib/exercism_config.sh | 0 .../single_use => }/utils/lib/idle_inhibit.sh | 0 .../single_use => }/utils/lib/offline_cpp.sh | 0 .../utils/lib/offline_index.sh | 0 .../single_use => }/utils/lib/offline_js.sh | 0 .../utils/lib/offline_python.sh | 0 .../single_use => }/utils/lib/offline_rust.sh | 0 .../utils/lib/offline_status.sh | 0 .../utils/lib/passwordless_config.sh | 0 .../utils/lib/repo_study_steps.sh | 0 .../single_use => }/utils/lib/sd_card_ops.sh | 0 .../single_use => }/utils/lib/steam_api.sh | 0 .../utils/lib/steam_credentials.sh | 0 .../single_use => }/utils/lib/steam_report.sh | 0 .../utils/lib/steam_requirements.sh | 0 .../utils/lib/study_doc_lookup.sh | 0 .../utils/lib/study_doc_urls.sh | 0 .../utils/lib/study_doc_urls_more.sh | 0 .../utils/lib/study_gen_anki.sh | 0 .../utils/lib/study_gen_docs.sh | 0 .../utils/lib/study_gen_llm.sh | 0 .../utils/lib/tests/run_all.sh | 0 .../utils/lib/tests/study_harness.sh | 0 .../utils/lib/tests/test_study_doc_lookup.sh | 0 .../utils/lib/tests/test_study_doc_urls.sh | 0 .../lib/tests/test_study_doc_urls_more.sh | 0 .../utils/lib/tests/test_study_gen.sh | 0 .../single_use => }/utils/lookup_docs.sh | 0 .../utils/organize_downloads.sh | 0 .../single_use => }/utils/pdf_to_image.sh | 4 +- .../single_use => }/utils/repo_to_study.sh | 0 .../single_use => }/utils/root_bl9000.sh | 0 .../utils/setup_android_adblock.sh | 8 +- .../utils/setup_media_organizer.sh | 0 .../utils/setup_offline_docs.sh | 0 .../utils/setup_passwordless_system.sh | 0 .../single_use => }/utils/sort_downloads.sh | 0 .../utils/steam_compatibility.sh | 0 .../single_use => }/utils/sync_keepassxc.sh | 6 +- .../{scripts/single_use => }/utils/to_mp4.sh | 0 .../{scripts/single_use => }/utils/to_webm.sh | 0 .../single_use => }/utils/toggle_mic.sh | 0 .../single_use => }/utils/toggle_wheel.sh | 0 .../utils/toggle_window_manager.sh | 4 +- .../turn_off_auto_idle_screen_shutdown.sh | 0 .../single_use => }/utils/txt_to_image.sh | 4 +- .../utils/update_android_hosts.sh | 8 +- .../{scripts/single_use => }/utils/upgrade.sh | 0 .../single_use => }/utils/volume_control.sh | 0 meta/.pre-commit-config.yaml | 2 +- meta/pyproject.toml | 4 +- meta/run.sh | 2 +- meta/scripts/ci_mirror_range.sh | 4 +- meta/shell-coverage-allowlist.txt | 120 ++++++++-------- refactor_claude_todo.md | 14 +- 522 files changed, 609 insertions(+), 519 deletions(-) create mode 100644 docs/superpowers/contracts/flatten-linux-configuration-2026-08-23.json create mode 100644 docs/superpowers/evidence/flatten-linux-configuration-2026-08-23.json rename linux_configuration/{scripts => }/boot_recovery/README.md (100%) rename linux_configuration/{scripts => }/boot_recovery/boot-repair (100%) rename linux_configuration/{scripts => }/boot_recovery/hooks/05-boot-mounted-guard.hook (100%) rename linux_configuration/{scripts => }/boot_recovery/hooks/99-boot-autorepair.hook (100%) rename linux_configuration/{scripts => }/boot_recovery/install.sh (100%) rename linux_configuration/{scripts => }/boot_recovery/tests/lib/boot_repair_bios_cases.sh (100%) rename linux_configuration/{scripts => }/boot_recovery/tests/lib/boot_repair_cases.sh (100%) rename linux_configuration/{scripts => }/boot_recovery/tests/live_test.sh (100%) rename linux_configuration/{scripts => }/boot_recovery/tests/test_boot_repair.sh (100%) rename linux_configuration/{scripts => }/diagnostics/install.sh (100%) rename linux_configuration/{scripts => }/diagnostics/line-speed-probe.sh (100%) rename linux_configuration/{scripts => }/diagnostics/steam-download-duty.sh (100%) rename linux_configuration/{scripts/single_use => }/features/control_from_mobile.sh (100%) rename linux_configuration/{scripts/single_use => }/features/install_unreal_mcp.sh (98%) rename linux_configuration/{scripts/single_use => }/features/install_unreal_mcp_kvick.sh (100%) rename linux_configuration/{scripts/single_use => }/features/keepass-open.sh (100%) rename linux_configuration/{scripts/single_use => }/features/keepass_consolidate.sh (100%) rename linux_configuration/{scripts/single_use => }/features/keepass_sync.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/aw_autostart.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/aw_install.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/aw_service.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/dns_dhcp.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/dns_firewall.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/dns_units.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/dot_resolver_install.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/dwm_config.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/gitea_network.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/kcd2_autorebuild.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/kcd2_expose.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/kcd2_serve.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/local_llm_model.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/mobile_service.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_discover.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_flash.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_image.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_packages.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_php.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_remote.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_remote_flash.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/nc_services.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/pi_flash_exec.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/pi_flash_image.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/pi_flash_remote.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_ca.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_deps.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_fixes.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_install.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_ssl.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_ssl_remote.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/rpi_nc_system.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_expose.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_limiter.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_settings.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_stack.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_start.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/searxng_status.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/syncyomi_expose.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/syncyomi_stack.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/features_harness.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/jail_args (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/run_all.sh (93%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_aw_autostart.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_dot_resolver_install.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_dwm_config.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_nc_php.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_rpi_nc_ca.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/tests/test_rpi_nc_install.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/unreal_mcp_repo.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/website_build.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/wg_firewall.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/wg_keys.sh (100%) rename linux_configuration/{scripts/single_use => }/features/lib/wg_sshd.sh (100%) rename linux_configuration/{scripts/single_use => }/features/migrate_github_to_gitea.sh (97%) rename linux_configuration/{scripts/single_use => }/features/raspberry_pi_flash_sd.sh (100%) rename linux_configuration/{scripts/single_use => }/features/raspberry_pi_nextcloud.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_activitywatch.sh (96%) rename linux_configuration/{scripts/single_use => }/features/setup_dns_blocker.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_dot_resolver.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_dwm.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_gitea.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_kcd2_dice_solver.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_keepass_sync.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_local_llm.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_nextcloud_raspberry.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_personal_website.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_phone_wireguard.sh (100%) rename linux_configuration/{scripts/single_use => }/features/setup_searxng.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_syncyomi.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_syncyomi_guard.sh (98%) rename linux_configuration/{scripts/single_use => }/features/setup_wireguard_ssh.sh (97%) rename linux_configuration/{scripts/single_use => }/features/systemd/keepass-cloud-sync.path (100%) rename linux_configuration/{scripts/single_use => }/features/systemd/keepass-cloud-sync.service (100%) rename linux_configuration/{scripts/single_use => }/feedback-appimage/PKGBUILD (100%) rename linux_configuration/{scripts/single_use => }/fixes/diagnose_arch_performance.sh (96%) rename linux_configuration/{scripts/single_use => }/fixes/diagnose_pacman_hook_stall.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/fix_anki.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_arch_performance.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_bluetooth.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_controller.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/fix_flutter_git_env.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_stepmania.sh (97%) rename linux_configuration/{scripts/single_use => }/fixes/fix_systemctl.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_thorium.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_ubuntu_performance.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_virtualbox.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/fix_waifu2x.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/fix_yay_aur_database.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_cpu.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_hardware.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_perf_fixes.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_perf_probes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_perf_report.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/arch_sysctl.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/bt_adapter.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/bt_audio.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/bt_pairing.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/bt_report.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/hosts_guard_migrate.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/hosts_guard_rollback.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/nvidia_config.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_capture.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_load.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_setup.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_summary.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_usage.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/pacman_hook_stall_watch.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/arch_desktop_harness.sh (95%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/arch_perf_harness.sh (93%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/arch_sysctl_quarantined_cases.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/bt_harness.sh (94%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/hosts_guard_harness.sh (95%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/lib_test_core.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/lib_test_path.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/nvidia_config_harness.sh (91%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/pacman_hook_stall_entry_harness.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/pacman_hook_stall_harness.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_cpu.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_hardware.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_hardware_boot.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_perf_fixes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_perf_probes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_perf_probes_health.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_perf_report.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_arch_perf_report_fixes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_adapter.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_adapter_reset.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_audio.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_audio_connect.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_audio_health.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_pairing.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_pairing_usb.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_bt_report.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_diagnose_pacman_hook_stall_args.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_diagnose_pacman_hook_stall_timing.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_hosts_guard_migrate.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_hosts_guard_migrate_flow.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_hosts_guard_rollback.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_nvidia_config.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_nvidia_config_pyroveil.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_capture.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_load.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_setup.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_summary.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_usage.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_pacman_hook_stall_watch.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_thorium_repairs.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_thorium_repairs_deep.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_ubuntu_perf_fixes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_ubuntu_perf_fixes_oom.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/test_ubuntu_perf_more.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/thorium_harness.sh (93%) rename linux_configuration/{scripts/single_use => }/fixes/lib/tests/ubuntu_perf_harness.sh (92%) rename linux_configuration/{scripts/single_use => }/fixes/lib/thorium_repairs.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/ubuntu_perf_fixes.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/lib/ubuntu_perf_more.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/migrate_hosts_guard_to_guard_lib.sh (100%) rename linux_configuration/{scripts/single_use => }/fixes/nvidia_troubleshoot.sh (98%) rename linux_configuration/{scripts/single_use => }/fixes/optimize_arch_desktop.sh (98%) rename linux_configuration/{scripts/single_use => }/fresh-install/README.md (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/aur_packages.txt (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/detect_gpu.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/detect_gpu_and_install.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/install_amd_driver.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/install_intel_driver.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/install_nvidia_driver.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/lib/packages.sh (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/main.sh (94%) rename linux_configuration/{scripts/single_use => }/fresh-install/makepkg.conf (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/mkinitcpio.conf (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/mpv.conf (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/packages.txt (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/pacman.conf (100%) rename linux_configuration/{scripts/single_use => }/fresh-install/pacman_packages.txt (100%) rename linux_configuration/{scripts => }/gaming/README.md (94%) rename linux_configuration/{scripts => }/gaming/start-player2.sh (100%) rename linux_configuration/{scripts/single_use => installers}/install_code_insiders.sh (100%) rename linux_configuration/{scripts/single_use => installers}/install_feedback.sh (100%) rename linux_configuration/{scripts/single_use => installers}/install_joplin.sh (97%) rename linux_configuration/{scripts/single_use => installers}/install_ungoogled_chromium_ubuntu.sh (100%) rename linux_configuration/{scripts/single_use/lib => installers}/joplin_server.sh (99%) rename linux_configuration/{scripts/single_use => installers}/test_bad.sh (100%) rename linux_configuration/{scripts/single_use => installers}/test_removal.sh (100%) rename linux_configuration/{scripts => }/lib/android.sh (100%) rename linux_configuration/{scripts => }/lib/common.sh (100%) rename linux_configuration/{scripts => }/lib/common_datetime.sh (100%) rename linux_configuration/{scripts => }/lib/common_packages.sh (100%) rename linux_configuration/{scripts => }/lib/common_services.sh (100%) rename linux_configuration/{scripts => }/lib/tests/mtk_harness.sh (99%) rename linux_configuration/{scripts => }/lib/tests/run_all.sh (96%) rename linux_configuration/{scripts => }/lib/tests/test_common_datetime.sh (100%) rename linux_configuration/{scripts => }/meta/lib/shell_check_discover.sh (100%) rename linux_configuration/{scripts => }/meta/lib/shell_check_install.sh (100%) rename linux_configuration/{scripts => }/meta/lib/shell_check_lint.sh (100%) rename linux_configuration/{scripts => }/meta/shell_check.sh (96%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/.gitignore (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/.vscode/tasks.json (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/README_clean_audio.md (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/clean_audio.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/compress_images.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/convert.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/copyFolder.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/download.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/fix_thorium_unity.sh (98%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/fix_unity.sh (98%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/generate_subfolders.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/get_rnnoise_model.sh (98%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/install_ffmpeg_with_arnndn.sh (98%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/install_unity_mcp.sh (98%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/clean_audio_filters.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/test_clean_audio_filters.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/test_transcribe_deps.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/test_transcribe_pkgmgr.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/test_transcribe_venv.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/test_unity_handler.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/tests/transcribe_harness.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/transcribe_deps.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/transcribe_pkgmgr.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/transcribe_venv.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/lib/unity_handler.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/mcp_readme.md (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/process_table.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/test_fw.srt (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/__init__.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_cluster.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_diarize.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_media.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_model.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_output.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_probes.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/_transcribe_progress.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/transcribe_fw.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/tools/transcribe_helpers.py (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/transcribe.sh (100%) rename linux_configuration/{scripts/single_use => }/misc/testsAndMisc-bash/upgrade.sh (100%) rename linux_configuration/{scripts => }/periodic_background/check_and_enable_services.sh (98%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/.gitignore (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/README_COMPULSIVE_BLOCK_LLM.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/README_MIDNIGHT_SHUTDOWN_LLM.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/block_compulsive_opening.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/heavy_job_lock.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/install_leechblock.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/install_ublock.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/leechblock_defaults.json (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/cco_install.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/cco_report.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/cco_state.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/cco_wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/leechblock_browsers.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/leechblock_config.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/leechblock_fetch.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/leechblock_firefox.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_config_guard.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_guard.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_monitor.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_override_mgr.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_report.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_scripts.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_setup_flow.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/ms_units.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/music_detect.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/music_monitor.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/music_status.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/nl_commands.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/nl_config.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/nl_enter.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/nl_units.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/nl_unlock.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/payloads/night-lockdown-enter.sh.in (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/payloads/night-lockdown-unlock.sh.in (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/payloads/shutdown-config-unlock.sh.in (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/cco_harness.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/leechblock_harness.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/test_cco_state.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/test_leechblock_browsers.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/lib/tests/test_leechblock_fetch.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/llm-notes/units-and-tasks.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/llm-notes/vulns-and-troubleshooting.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/music_parallelism.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/package-lock.json (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/package.json (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/96-restore-pkg-wrappers.hook (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/README_FOR_LLM.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/install_makepkg_wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/install_pacman_wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/lib/install_files.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/lib/integrity.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/lib/managed_copy.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/lib/protect_and_extras.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/llm-notes/maintenance-and-debugging.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/llm-notes/verification-and-cleanup.md (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/makepkg_capped.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/makepkg_wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/mkpkg.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pacman_blocked_keywords.txt (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pacman_greylist.txt (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pacman_lock_lib.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pacman_whitelist.txt (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pacman_wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pw_challenge.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pw_cleanup.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pw_guard.sh (95%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pw_policy.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/pw_ui.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/rewrap_pkg_managers.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/pacman/words.txt (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/remove_guest_mode.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/seed_leechblock_storage.js (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/seed_ublock_storage.js (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/setup_midnight_shutdown.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/setup_night_lockdown.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/systemd/music-parallelism.service (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/virtualbox/enforce_vbox_hosts.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/virtualbox/lib/vbox_disk_inject.sh (100%) rename linux_configuration/{scripts => }/periodic_background/digital_wellbeing/youtube-music-wrapper.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/custom_entries.hosts (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/generate_hosts_file.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/guard/plugins/nsswitch-plugin.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/guard/plugins/resolved-plugin.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/install.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_browser_doh.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_cache.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_guard.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_protect_custom.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_protect_unblock.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/hosts_write.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/tests/hosts_harness.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/tests/test_hosts_cache.sh (100%) rename linux_configuration/{scripts => }/periodic_background/hosts/lib/tests/test_hosts_protect.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/LICENSE (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3/config (98%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/claude_usage.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/config (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/cpu_monitor.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/disk.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/ethernet.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/gpu_monitor.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/memory.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/motherboard_temp.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/pc_startup_status.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/persist_common.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/shutdown_countdown.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/time.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/i3blocks/volume.sh (100%) rename linux_configuration/{scripts => }/periodic_background/i3-configuration/install.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/periodic_browser.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_apps.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_browser.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_common.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_hosts.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_hosts_fix.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_report.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_units.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/services_wrappers.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/services_assert.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/services_harness.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/services_path.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_apps.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_browser.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_common.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_hosts.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_hosts_fix.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_hosts_resolved.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_report.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_report_and_fix.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_units.sh (100%) rename linux_configuration/{scripts => }/periodic_background/lib/tests/test_services_wrappers.sh (100%) rename linux_configuration/{scripts => }/periodic_background/setup_periodic_system.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/analyze_repo.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/check_brother_printer.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/convert_video.sh (98%) rename linux_configuration/{scripts/single_use => }/utils/convert_words.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/data/android_guardian_blocklist.hosts (100%) rename linux_configuration/{scripts/single_use => }/utils/docx_to_pdf.sh (98%) rename linux_configuration/{scripts/single_use => }/utils/download_exercism_bulk.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/fast_count.py (100%) rename linux_configuration/{scripts/single_use => }/utils/find_keepassxc.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/format_sd_card.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/generate_study_materials.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/gif_to_square.sh (98%) rename linux_configuration/{scripts/single_use => }/utils/image_to_resolution.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/install_exercism.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/install_offline_docs.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/analyze_repo_report.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/analyze_repo_scan.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/analyze_repo_separate.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/analyze_repo_symbols.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/analyze_repo_tools.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/android_commands.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/android_device.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/android_module.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_backup.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_deps.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_device.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_magisk.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_mtkclient.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/bl9000_usage.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_all.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_cpp.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_js.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_python.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_python_keywords.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/docs_rust.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/download_classify.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/download_media.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/download_sizes.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/exercism_config.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/idle_inhibit.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_cpp.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_index.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_js.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_python.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_rust.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/offline_status.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/passwordless_config.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/repo_study_steps.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/sd_card_ops.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/steam_api.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/steam_credentials.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/steam_report.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/steam_requirements.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_doc_lookup.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_doc_urls.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_doc_urls_more.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_gen_anki.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_gen_docs.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/study_gen_llm.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/run_all.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/study_harness.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/test_study_doc_lookup.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/test_study_doc_urls.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/test_study_doc_urls_more.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lib/tests/test_study_gen.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/lookup_docs.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/organize_downloads.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/pdf_to_image.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/repo_to_study.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/root_bl9000.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/setup_android_adblock.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/setup_media_organizer.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/setup_offline_docs.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/setup_passwordless_system.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/sort_downloads.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/steam_compatibility.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/sync_keepassxc.sh (97%) rename linux_configuration/{scripts/single_use => }/utils/to_mp4.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/to_webm.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/toggle_mic.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/toggle_wheel.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/toggle_window_manager.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/turn_off_auto_idle_screen_shutdown.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/txt_to_image.sh (98%) rename linux_configuration/{scripts/single_use => }/utils/update_android_hosts.sh (96%) rename linux_configuration/{scripts/single_use => }/utils/upgrade.sh (100%) rename linux_configuration/{scripts/single_use => }/utils/volume_control.sh (100%) diff --git a/.copilotignore b/.copilotignore index 51bf53c3..b8c26092 100644 --- a/.copilotignore +++ b/.copilotignore @@ -104,7 +104,7 @@ __pycache__/ python_pkg/cinema_planner/pasted_content.txt # Large data files (exceed indexing limits) -linux_configuration/scripts/digital_wellbeing/pacman/words.txt +linux_configuration/digital_wellbeing/pacman/words.txt # C build artifacts **/*.out diff --git a/.github/skills/efficient-polling-scripts/SKILL.md b/.github/skills/efficient-polling-scripts/SKILL.md index 1ceb4b95..c8026d35 100644 --- a/.github/skills/efficient-polling-scripts/SKILL.md +++ b/.github/skills/efficient-polling-scripts/SKILL.md @@ -211,6 +211,6 @@ cached snapshot tools, some builds don't refresh them between calls. - `linux_configuration/i3-configuration/i3blocks/battery_status.sh` — zero-fork via `/sys/class/power_supply`. - `linux_configuration/i3-configuration/i3blocks/cpu_monitor.sh` — zero-fork via `/proc/loadavg` + `/sys/class/hwmon`. - `linux_configuration/i3-configuration/i3blocks/motherboard_temp.sh` — zero-fork via `/sys/class/hwmon`. -- `linux_configuration/scripts/system-maintenance/systemd/monitors.slice` — resource-cap slice. +- `linux_configuration/system-maintenance/systemd/monitors.slice` — resource-cap slice. - `phone_focus_mode/dns_enforcer.sh::chain_intact()`/`expected_rule_count()` — R9's hash/count-gate pattern, fixed 2026-07-03 after it was found pegging Android's `netd` at ~50% CPU. - `phone_focus_mode/hosts_enforcer.sh::sync_magisk_module` — the original hash-before-write pattern R9 mirrors. diff --git a/.github/skills/self-hosted-service-exposure/SKILL.md b/.github/skills/self-hosted-service-exposure/SKILL.md index da349a91..d574a6c1 100644 --- a/.github/skills/self-hosted-service-exposure/SKILL.md +++ b/.github/skills/self-hosted-service-exposure/SKILL.md @@ -13,7 +13,7 @@ description: Use BEFORE deploying any Docker-based self-hosted service on this m `setup_wireguard_ssh.sh`'s own `setup_duckdns()` also has a `duckdns_already_updated()` guard for this reason. **Do not add a second one.** - **The firewall is owned entirely by** - `linux_configuration/scripts/single_use/features/setup_wireguard_ssh.sh`. It + `linux_configuration/features/setup_wireguard_ssh.sh`. It regenerates `/etc/nftables.conf` from scratch on every `setup` run (`flush ruleset` + fixed heredoc). **Never hand-edit `/etc/nftables.conf` directly or from a second script** — the next `setup` re-run (e.g. adding a WireGuard peer) @@ -139,7 +139,7 @@ own startup, independent of `docker compose` ever being re-invoked. ## Reference implementation -`linux_configuration/scripts/single_use/features/setup_gitea.sh` and +`linux_configuration/features/setup_gitea.sh` and `migrate_github_to_gitea.sh` are working, idempotent examples of this whole pattern end to end (firewall, Caddy, headless bootstrap, host networking workaround, least-privilege external credential). Copy the shape, not diff --git a/.gitignore b/.gitignore index 62f4893d..9b4fbb00 100644 --- a/.gitignore +++ b/.gitignore @@ -373,15 +373,15 @@ out.txt # Locally built Arch packages. The PKGBUILD and installer script are the source # and stay tracked; the built artifact is a ~600 MB binary that must never be # committed (see memories/binary-files.md). -linux_configuration/scripts/single_use/*/*.pkg.tar.zst -linux_configuration/scripts/single_use/*/*.pkg.tar.xz +linux_configuration/*/*.pkg.tar.zst +linux_configuration/*/*.pkg.tar.xz # Wine/Bottles prefixes — local runtime state, not source. bottles/ # archwiki_rag local vector index: regenerated by `reindex`, machine-specific, # and full of binary sqlite/parquet blobs. -linux_configuration/scripts/periodic_background/digital_wellbeing/data/ +linux_configuration/periodic_background/digital_wellbeing/data/ # =========================================================================== # billsplit (Flutter) — launcher icons & platform assets MUST live in-repo diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f2963a81..b6d9ab05 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,9 +37,9 @@ repos: # chattr +i (self-commitment lock on the shutdown-enforcement # script) makes this file unwritable on purpose; the fixer hooks # can't open it for writing even as the owning user. - exclude: ^linux_configuration/scripts/periodic_background/digital_wellbeing/setup_midnight_shutdown\.sh$ + exclude: ^linux_configuration/periodic_background/digital_wellbeing/setup_midnight_shutdown\.sh$ - id: end-of-file-fixer - exclude: ^linux_configuration/scripts/periodic_background/digital_wellbeing/setup_midnight_shutdown\.sh$ + exclude: ^linux_configuration/periodic_background/digital_wellbeing/setup_midnight_shutdown\.sh$ - id: check-yaml args: [--unsafe] - id: check-json @@ -218,7 +218,7 @@ repos: (?x)^( Bash/.*| \.venv/.*| - linux_configuration/scripts/single_use/misc/testsAndMisc-bash/tools/.* + linux_configuration/misc/testsAndMisc-bash/tools/.* )$ additional_dependencies: - types-requests diff --git a/AGENTS.md b/AGENTS.md index 1dc396d5..b1fbfd01 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,7 +9,6 @@ Mixed-language monorepo: Python packages, Bash automation, and several apps. | `python_pkg/` | Python packages — every `.py` in the repo belongs here or in an allowlisted dir | | `meta/` | Repo-wide tooling: `pyproject.toml`, `requirements.txt`, `run.sh`, `lint_python.sh`, `.fvmrc`, `scripts/` | | `linux_configuration/` | Arch setup, i3 config, system maintenance, and the tracked git hooks | -| `billsplit/` | Receipt bill-splitting Flutter app (Dart) | | `bottles/` | Small standalone project | | `docs/` | Reference docs; `docs/superpowers/` holds AI workflow artifacts | | `third_party/` | Vendored upstream skills/agents | @@ -18,6 +17,14 @@ Root `pyproject.toml`, `requirements.txt`, `run.sh`, `lint_python.sh` and `.fvmrc` are **symlinks into `meta/`** — edit the files in `meta/`, not the symlinks. +`linux_configuration/` has no `scripts/` or `single_use/` level: those two were +pure taxonomy carrying no information, and the directory-depth cap does not +leave room for them. Categories sit directly under it — `features/`, `fixes/`, +`utils/`, `misc/`, `fresh-install/`, `installers/`, `diagnostics/`, `gaming/`, +`boot_recovery/`, `periodic_background/`, `lib/`, `meta/`, `tests/`. A script's +own `lib/` and `tests/` subdirectories are exempt from the cap, so those stay +where they are. + Extracted to their own repos: [`steam-backlog-enforcer`](https://github.com/kuhyx/steam-backlog-enforcer), [`screen-locker`](https://github.com/kuhyx/screen-locker), [`diet-guard`](https://github.com/kuhyx/diet-guard), @@ -38,18 +45,19 @@ Archived work: [`testsAndMisc-archive`](https://github.com/kuhyx/testsAndMisc-ar ## Adding a Flutter app -`billsplit/` is currently the only one, and the only place binaries are -committed. To add another, repeat **both** halves or the icons fail silently: +There is currently no Flutter app here — `billsplit/` was archived, and with it +the only committed binaries. Adding one means repeating **both** halves or the +icons fail silently: 1. Add the icon globs to `.binary-allowlist`. 2. Add matching `!` overrides at the end of `.gitignore` — an ignored file fails silently on `git add` rather than erroring. -Icons come from the shared generator in `python_pkg/app_icons/`. Dart style is -gated by CI only (`.github/workflows/billsplit-ci.yml`), not by a local hook. -Keep app dirs free of Python: the `check-python-location` hook requires every -`.py` to sit under `python_pkg/` (or `linux_configuration/`, `meta/scripts/`). `billsplit/`'s coverage gate therefore lives at -`python_pkg/billsplit_coverage/`. +Icons come from the shared generator in `python_pkg/app_icons/`. Dart style +needs its own CI workflow; there is no local hook for it. Keep app dirs free of +Python: the `check-python-location` hook requires every `.py` to sit under +`python_pkg/` (or `linux_configuration/`, `meta/scripts/`), so an app's coverage +gate lives in `python_pkg/`. ## Git Workflow diff --git a/NEXT_SESSION_PROMPT.md b/NEXT_SESSION_PROMPT.md index 468f90cf..b6bdfc65 100644 --- a/NEXT_SESSION_PROMPT.md +++ b/NEXT_SESSION_PROMPT.md @@ -32,7 +32,7 @@ branches, measured in a clean worktree. **File-length cap needs nothing:** 0 violations, hook-enforced. **What is left, if anyone wants it:** 8 directories still have no suite at all -(`.githooks/lib`, `scripts/meta/lib`, `mtk_root/lib`, `digital_wellbeing/{pacman, +(`.githooks/lib`, `meta/lib`, `mtk_root/lib`, `digital_wellbeing/{pacman, virtualbox}/lib`, `system-maintenance/bin/lib`, `single_use/{fresh-install,}/lib`) — 20 libs, ~1,980 lines. All are allowlisted, so nothing is blocked. This is optional work now, not a campaign. @@ -100,7 +100,7 @@ SP=$(mktemp -d); git worktree add --detach --quiet "$SP/co" HEAD time (cd "$SP/co" && SKIP=pytest-coverage pre-commit run --all-files) time (cd "$SP/co" && python meta/scripts/pytest_changed_packages.py) -time bash linux_configuration/scripts/single_use/fixes/lib/tests/run_all.sh +time bash linux_configuration/fixes/lib/tests/run_all.sh git worktree remove --force "$SP/co" ``` @@ -242,7 +242,7 @@ the shape before you spend it. ## The suite and its harnesses -`linux_configuration/scripts/single_use/fixes/lib/tests/` is the reference +`linux_configuration/fixes/lib/tests/` is the reference suite: **30 test files, 645 assertions, all green, zero suppressions, 37s.** Copy its shape. Layers: diff --git a/NEXT_SESSION_RESTRUCTURE.md b/NEXT_SESSION_RESTRUCTURE.md index 3779380d..aa068f85 100644 --- a/NEXT_SESSION_RESTRUCTURE.md +++ b/NEXT_SESSION_RESTRUCTURE.md @@ -15,7 +15,7 @@ patterns at all). **Extracted** to public repos, full history, each with CI it did not have here: `reverse-survivors`, `kcd2-dice-solver` (cloned to `~/kcd2-dice-solver`), `focus-owner`, `mtk-root` (took the four `mtk_*` libs and three suites that -lived in `scripts/lib/`). +lived in `lib/`). **Gates written, deliberately NOT wired**: `meta/scripts/check_directory_depth.sh` (cap 2; exempts `third_party/`, `docs/superpowers/`, `.github/skills/` by prefix @@ -29,7 +29,7 @@ Depth, tests and pre-commit verified green at every commit; nothing used - **Depth cap is 2**, with `lib/` and `tests/` exempt — so the ~118 single_use lib files stay put and step D only flattens entry scripts. - **`meta/` is in scope** for the cap. -- **`scripts/lib/common.sh` STAYS.** Measured: 55 consumers, 51 of which remain +- **`lib/common.sh` STAYS.** Measured: 55 consumers, 51 of which remain here. The `.githooks` use a _separate_ `common.sh`, so the ">2 units" rule selects nothing worth moving. Deviation from the original instruction, agreed after measurement. diff --git a/docs/explanations/2026-07-13-explanation-setup-syncyomi.html b/docs/explanations/2026-07-13-explanation-setup-syncyomi.html index 8bd95cec..5c895ea0 100644 --- a/docs/explanations/2026-07-13-explanation-setup-syncyomi.html +++ b/docs/explanations/2026-07-13-explanation-setup-syncyomi.html @@ -263,7 +263,7 @@ docker exec "${CADDY_CONTAINER}" caddy reload --config "${CADDYFILE_IN_CONTAINER
Generated by /explain-diff for commit 59430f9 · - linux_configuration/scripts/single_use/features/setup_syncyomi.sh + linux_configuration/features/setup_syncyomi.sh
diff --git a/docs/explanations/2026-07-17-explanation-night-lockdown.html b/docs/explanations/2026-07-17-explanation-night-lockdown.html index 25b17ac4..9c809467 100644 --- a/docs/explanations/2026-07-17-explanation-night-lockdown.html +++ b/docs/explanations/2026-07-17-explanation-night-lockdown.html @@ -116,7 +116,7 @@

Night lockdown: keeping the servers up through the curfew

-

How a self-discipline shutdown stopped killing seven services every night — and the four bugs that surfaced on the way there.
3ebb56c · 2026-07-17 · linux_configuration/scripts/periodic_background/digital_wellbeing/

+

How a self-discipline shutdown stopped killing seven services every night — and the four bugs that surfaced on the way there.
3ebb56c · 2026-07-17 · linux_configuration/periodic_background/digital_wellbeing/