1ebb667265
Harden runtime script deployment and enforce installer safety
2026-05-08 17:44:22 +02:00
3756b06f9d
fix(digital-wellbeing): disable schedule leniency violation checks
2026-05-07 22:06:34 +02:00
b6768218f3
fix(linux_configuration): sync music_parallelism.sh from live and detoxify organize_downloads.sh
...
- music_parallelism.sh: restore batched-pgrep/xdotool optimization that exists
in /usr/local/bin/ but had been lost from the repo, plus bump intervals
(FAST 0.5s->2s, IDLE 3s->10s) to further cut fork rate
- organize_downloads.sh: replace per-file tr fork with bash 4 ${var,,}
parameter expansion, replace per-log-line $(date) fork with printf %()T builtin
Follow-up to fork-storm fixes after observing 122 CPU-hours of date calls
in a 90-minute window (root cause was nvidia-pmon-logger.sh, fixed separately).
2026-05-06 22:03:50 +02:00
f84135f6d7
linux_configuration: WIP digital_wellbeing + pacman hosts-guard updates
...
Pre-existing local changes from a prior session, committed together for
cleanup. Touches:
- hosts/guard/: pacman pre-unlock / post-relock hook tweaks and the
shared hosts-guard-common.sh helper.
- scripts/digital_wellbeing/: block_compulsive_opening, music_parallelism,
setup_midnight_shutdown, setup_pc_startup_monitor refinements.
- scripts/digital_wellbeing/pacman/pacman_wrapper.sh: substantial rewrite.
- scripts/lib/common.sh: shared helpers expanded.
- tests/test_hosts_guard_pacman_integration.sh: new integration test.
2026-05-06 21:41:07 +02:00
fa24f22ca0
Apply focus-mode, screen-locker, and steam backlog updates
2026-05-03 22:41:53 +02:00
c7107e265c
Optimize linux polling and i3blocks scripts
2026-05-01 20:15:45 +02:00
f6b6995b0e
Add tests and fix pre-commit issues across all projects
...
- C/lichess_random_engine, vocabulary_curve, misc/split,
1dvelocitysimulator, opening_learner: test suites added
- CPP/miscelanious: tests added
- TS/battery-status, champions_leauge_scores, two-inputs: tests added
- python_pkg/fm24_searcher, wake_alarm: new packages added
- Fix ruff/cppcheck/eslint/clang-format failures
- Update .gitignore for C/C++ build artifacts
2026-04-12 20:45:24 +02:00
2545d72710
test: achieve 100% branch coverage across all python_pkg packages
...
- Add comprehensive tests for all packages (3572 tests, 100% branch coverage)
- Split oversized test files to stay under 500-line limit
- Add per-file ruff ignores for test-appropriate suppressions
- Fix _cache_decks.py to properly convert JSON lists to tuples
- Add session-scoped conftest fixture for logging handler cleanup (Python 3.14)
- Update ruff pre-commit hook to v0.15.2
- Add codespell ignore words for test data
- Add generated output files to .gitignore
2026-03-21 17:51:36 +01:00
50fd6812d7
refactor: enforce 500-line limit on all Python source files
...
Split 18+ Python files that exceeded 500 lines into smaller modules
with helper files (prefixed with _). All functions are re-exported
from the original modules to maintain backward compatibility with
test patches and external imports.
Files split:
- moviepy_showcase.py (1212 -> 302 + 3 helpers)
- anki_generator.py (1174 -> 473 + 4 helpers)
- test_analyze_chess_game.py (1152 -> 361 + 2 parts)
- poker_modifier_app.py (1024 -> 263 + 2 helpers)
- transcribe_fw.py (1007 -> 342 + 3 helpers)
- music_generator.py (1002 -> 319 + 2 helpers)
- translator.py (951 -> 442 + 2 helpers)
- cinema_planner.py (893 -> 369 + 2 helpers)
- lichess_bot/main.py (757 -> 495 + _game_logic.py)
- test_translator.py (725 -> 289 + part2 + conftest)
- test_lichess_api.py (680 -> 475 + part2)
- learning_pipe.py (668 -> 375 + 2 helpers)
- cache.py (655 -> 360 + _cache_decks.py)
- analyze_chess_game.py (632 -> 463 + _move_analysis.py)
- visualize_q02.py (609 -> 371 + helper)
- repo_explorer.py (602 -> 347 + 2 helpers)
- keyboard_coop/main.py (515 -> 416 + _dictionary.py)
- scanning.py (501 -> 314 + _enforce_loop.py)
All tests pass: 144 lichess_bot (100% branch coverage), 243 others.
No new lint errors introduced.
2026-03-17 22:47:42 +01:00
8998883a6c
feat: add auto-close suspension for digital wellbeing
...
Add is_autoclose_suspended() function that checks for a per-app
suspend file dated today. When suspended, launches the app directly
without the auto-close timer via exec.
2026-03-15 19:15:38 +01:00
11a5574011
feat: add per-app timeout overrides for digital wellbeing
...
Allow specific apps (beeper, signal-desktop) to have longer
auto-close timeouts (20min) than the default (10min).
2026-03-14 17:52:38 +01:00
4d3da460fc
refactor(linux_configuration): fix ruff violations in digital wellbeing and transcription scripts
...
- Add type annotations and docstrings to focus_mode_daemon.py, transcribe_fw.py, transcribe_helpers.py
- Use logging module instead of print
- Fix bare except clauses with specific exception types
2026-03-13 20:42:39 +01:00
192c91094e
feat: screen locker made even stronger
2026-02-23 22:50:42 +01:00
720a291388
leechblock: switch defaults to gist JSON, seed LevelDB directly, block unsupported browsers
...
- Replace leechblock_defaults.js with LeechBlockOptions.json fetched from
private gist (30 block sets, 1568 keys)
- Add seed_leechblock_storage.js: writes settings directly into Chrome's
LevelDB via classic-level, bypassing content-verification entirely
- Supports both .json and legacy .js defaults files
- Chunked writes (individual db.put) to avoid batch size limits
- Per-profile error isolation; Thorium LevelDB warning demoted to non-fatal
- Add package.json (type:module + classic-level dep) and .gitignore for
node_modules
- install_leechblock.sh: drop background.js patching, call seeder instead;
auto-installs classic-level if node_modules absent
- install_pacman_wrapper.sh: deploy .json defaults, seeder, and package.json
to /usr/local/share/digital_wellbeing; run npm install there
- pacman_blocked_keywords.txt: add browsers not handled by install script
(Microsoft Edge family, firefox-esr/nightly, opera-beta/dev,
iridium, slimjet, chromium-dev, qutebrowser, midori)
2026-02-23 22:00:31 +01:00
09e85cd914
feat: LeechBlock default config, Chrome repo, nsswitch fixes, extended checker
...
- Add leechblock_defaults.js with pre-configured blocking rules matching
hosts/install.sh (YouTube, food delivery, fast food — 3 block sets)
- install_leechblock.sh: switch to LeechBlockNG-chrome repo, download
jQuery UI, inject defaults.js into extension, patch background.js to
seed storage on first run, replace browser binary in-place
- remove_guest_mode.sh: fix associative array key spacing
- enforce-nsswitch.sh: handle 'resolve' without 'dns' in emergency fix
- setup_hosts_guard.sh: ensure 'files' in nsswitch hosts line before
snapshotting, remove erroneous 'local' outside function
- check_and_enable_services.sh: extend from 5 to 12 services, add
nsswitch.conf validation and auto-fix
2026-02-20 20:24:13 +01:00
4c4e966e5f
feat: great beautiful fixes
2026-02-20 01:17:53 +01:00
9e4fee54d7
pre commit fixes
2026-02-20 00:21:41 +01:00
20337f07eb
fixes for existing scripts and pomodoro with local sync
2026-02-14 18:42:20 +01:00
04c132c9a4
Add 'linux_configuration/' from commit '0762e3d07b90bac9256eb272de10bf9f42878094'
...
git-subtree-dir: linux_configuration
git-subtree-mainline: 11427631cd
git-subtree-split: 0762e3d07b
2026-02-06 21:43:26 +01:00