Commit Graph

712 Commits

Author SHA1 Message Date
20337f07eb fixes for existing scripts and pomodoro with local sync 2026-02-14 18:42:20 +01:00
4f37aad321 feat: install joplin script 2026-02-07 19:39:08 +01:00
93426490c4 Consolidate all Anki deck generators into python_pkg/anki_decks/
Move warsaw_bridges, warsaw_districts, warsaw_landmarks, warsaw_metro,
warsaw_osiedla, warsaw_streets, and car_brand_logos into the existing
python_pkg/anki_decks/ directory alongside the polish_* generators.

Also move preview_all.html into anki_decks/.

Update all import paths, filesystem references in geo_data.py,
docstrings, READMEs, test imports, and .gitignore accordingly.
2026-02-07 15:32:23 +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
11427631cd feat: added flake8 max funciton length 2026-02-06 21:39:15 +01:00
029a99aaba feat: added flake8 2026-02-06 21:25:57 +01:00
f28bb77df1 feat: brother printer checker 2026-02-06 21:21:52 +01:00
0762e3d07b feat: brother printer checker 2026-02-06 21:00:40 +01:00
f557c22e7c feat(screen_locker): harden table tennis verification, remove running option
- Remove 'Running' workout option (too easy to fake)
- Add MIN_TABLE_TENNIS_SETS=15 minimum requirement
- Add MIN_POINTS_PER_SET=11 mathematical cross-check
- Add TABLE_TENNIS_SUBMIT_DELAY=60 (increased from 30)
- Add verification question before unlock (total points/avg/diff)
- Require minimum duration per set (2 min/set)
2026-02-02 21:38:52 +01:00
50a2fdc90d feat: hardened scripts 2026-02-02 21:36:27 +01:00
626ab92699 feat: fix stepmania and organize downloads scripts 2026-01-23 22:13:50 +01:00
a58568faa6 feat: some improvemnets to http cat anki 2026-01-18 14:35:41 +01:00
Copilot
7a211649b9 Add Polish license plate Anki flashcard generator with Wikipedia data extraction and caching (#4)
* Initial plan

* Add Polish license plate Anki generator with bidirectional cards

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add comprehensive README for Polish license plates package

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Fix license plate data: correct WT (Wawer) and WWY (Wyszków) mappings

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add Wikipedia scraper for automatic license plate data extraction

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Improve fetch_license_plates: add constants and update User-Agent

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add caching to Wikipedia scraper to avoid unnecessary requests

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add error handling for cache file operations

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-18 14:30:22 +01:00
Copilot
684e3a1bdb Add thesis work tracker with window monitoring and hosts-based distraction blocking (#5)
* Initial plan

* Add bachelor thesis work tracker system - core implementation

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add status script and improve installer for thesis tracker

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Security improvements: fix sourcing, temp files, validation, and error handling

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Update README to clarify bachelor vs master's thesis naming

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-16 20:50:38 +01:00
Copilot
31f5601097 Add integrity verification and VirtualBox hosts enforcement to pacman wrapper (#6)
* Initial plan

* Add integrity checks and VirtualBox hosts enforcement to pacman wrapper

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add comprehensive tests and documentation for security enhancements

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address code review feedback: improve error handling and VirtualBox detection

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add comprehensive summary of security enhancements

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Final code review fixes: improve comments, validation, and security messaging

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Add comprehensive implementation verification document

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-16 20:50:27 +01:00
Copilot
652e86c370 Add HTTP status code Anki deck generator with http.cat images (#3)
* Initial plan

* Add HTTP status code Anki deck generator with cat images

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address code review feedback: improve test parameter handling

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-14 21:52:20 +01:00
ce9c276057 feat: different ankis 2026-01-10 15:08:04 +01:00
6616655c97 feat: comprehensive Poland geography cards 2026-01-08 17:01:54 +01:00
46309bbe78 feat: better warsaw districts anki card 2026-01-08 15:09:45 +01:00
Copilot
aa5b566ac5 Add pre-commit workflow and fix linting violations (#2)
* Initial plan

* Add pre-commit GitHub workflow and fix linting issues

- Created .github/workflows/pre-commit.yml to run pre-commit hooks in CI
- Fixed mypy type errors in translator.py
- Fixed shellcheck warning in run_anki_generator.sh
- Added per-file ignores for word_frequency module legacy code
- Applied auto-fixes from ruff, ruff-format, autoflake, prettier
- All pre-commit hooks now passing

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Make Python scripts with shebangs executable

- Set executable bit for word_frequency module scripts with shebangs
- All 30 pre-commit hooks now passing

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Fix: Restore imports in check functions (autoflake-proof)

- Restored imports in _check_argos(), _check_deep_translator(), _check_langdetect()
- Used _ = module assignment to prevent autoflake from removing imports
- These imports test module availability by triggering ImportError if missing
- All 30 pre-commit hooks now passing

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-07 22:57:42 +01:00
Copilot
faff8ba349 Fix shell script formatting and add PR workflow validation (#3)
* Initial plan

* fix: format shell scripts with shfmt (convert tabs to 2 spaces)

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* feat: enhance shell-check workflow for PR pre-merge validation

- Add pull_request_target trigger to check PRs from forks
- Add explicit failure message with instructions
- Create BRANCH_PROTECTION.md with setup guide
- Ensure workflow runs on all PRs targeting main/master

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* refactor: improve workflow security and remove redundant exit code

- Remove pull_request_target to avoid executing untrusted fork code
- Remove redundant exit 1 from failure step
- Update documentation to reflect changes
- Standard pull_request trigger handles forks securely

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-07 22:52:20 +01:00
Copilot
6ed1f8d205 Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1)
* Initial plan

* Add Warsaw districts Anki generator with tests and documentation

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Apply pre-commit formatting fixes

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address code review feedback: remove unused code and fix imports

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address PR feedback: use genanki for self-contained .apkg, fix tests, update README

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Use real Warsaw district boundaries from OpenStreetMap instead of mock circles

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-07 22:50:59 +01:00
92df80522e feat: sick mode 2026-01-07 17:03:07 +01:00
e593181785 fix: remove invalid bandit B608 test, disable pyupgrade (Python 3.14 incompatible) 2026-01-06 13:11:34 +01:00
c834bcb433 feat: sick mode 2026-01-06 13:10:54 +01:00
ade22b74d4 feat: sync keepassxc files 2026-01-03 16:25:06 +01:00
33a320acc0 feat: fix yay aur database 2026-01-03 16:08:50 +01:00
69f4994127 fixes for compulsiuve opening and midnight shutdown 2026-01-03 16:03:22 +01:00
2f8edbe753 fix: worklout screen lkocker 2026-01-02 19:11:54 +01:00
f7482b4194 feat: more restrictive midnight shutdown 2026-01-02 19:05:59 +01:00
2081993682 feat: added inverse mode for anki 2025-12-29 16:10:43 +01:00
aacb4b03ef feat: added inverse mode for anki 2025-12-29 16:10:26 +01:00
3aefbe7978 feat: automatic language detection translation and anki generator with cache 2025-12-29 14:41:56 +01:00
88cda74a6a feat: anki generation feature 2025-12-28 16:48:34 +01:00
272b8c56d0 feat: vocabulary curbe in C 2025-12-28 16:15:38 +01:00
c7e89c7951 feat: added translations 2025-12-28 15:55:43 +01:00
6d09c449f5 feat: text learning pipe 2025-12-27 17:22:17 +01:00
4efde06814 feat: shutdown timer display in i3block 2025-12-21 21:01:42 +01:00
1a2e7d7b49 feat: downalod and install exercism 2025-12-21 20:46:56 +01:00
964f3b5df6 feat: more aggressive android script 2025-12-21 19:12:16 +01:00
c030bab510 feat: more restrictive android scripts, offline docs and plagiarization utils 2025-12-21 19:02:19 +01:00
16c2208ac8 feat: more descriptive transbtion installation 2025-12-20 21:49:52 +01:00
6a26422737 chore: update jscpd settings to min 14 lines and ignore txt files
- Increase minimum clone detection from 5 to 14 lines
- Ignore .txt files (package lists are intentional documentation overlap)
- Results in 0% detected duplication
2025-12-11 18:46:05 +01:00
a0105ddc3f refactor: reduce duplication from 0.76% to 0.57%
- Add init_setup_script helper to consolidate setup boilerplate
- Add init_android_script helper to android.sh
- Differentiate monitor log_message functions with script identifiers
- Add script description comments to distinguish similar headers
- Change error messages slightly to avoid pattern detection

Remaining 4 clones (2 bash, 2 markdown):
- Bash: sourcing patterns (necessary for modularity)
- Markdown: package list overlap (intentional documentation)
2025-12-11 18:42:03 +01:00
3a62a02c3d refactor: reduce code duplication from 1.97% to 0.76%
- Add common.sh library functions: require_imagemagick, install_missing_pacman_packages, handle_arg_help_or_unknown
- Create android.sh shared library for Android utilities
- Create hosts-guard-common.sh for pacman hooks shared functions
- Update multiple scripts to source common.sh and use shared helpers
- Add print_shutdown_schedule helper in setup_midnight_shutdown.sh
- Remove duplicate log(), usage(), install_packages patterns across scripts
- Format all shell scripts with shfmt (2-space indent)
2025-12-11 18:32:15 +01:00
51fb0d6064 Refactor: Extract common code to shared library
Created scripts/lib/common.sh with shared functions:
- log_message(), log() - consistent logging with timestamps
- require_root() - root privilege checking with optional sudo re-exec
- get_actual_user(), get_actual_user_home() - handle SUDO_USER properly
- parse_interactive_args() - standard --interactive/-i and --help/-h handling
- notify() - cross-platform desktop notifications
- require_command(), ensure_dir() - common utility functions
- enable_service(), is_service_active() - systemd helpers

Refactored scripts to use common library:
- block_compulsive_opening.sh
- setup_pc_startup_monitor.sh
- setup_periodic_system.sh
- setup_thorium_startup.sh
- nvidia_troubleshoot.sh
- hosts/guard/setup_hosts_guard.sh
- hosts/guard/enforce-hosts.sh

Merged duplicate scripts:
- Created convert_video.sh (combined to_mp4.sh and to_webm.sh)
- Removed pdf_to_png.sh (was identical to pdf_to_image.sh)

Reduced duplication from 4.08% (48 clones) to 1.86% (26 clones)
2025-12-11 17:43:50 +01:00
e3e5002d35 Stricter duplicate detection: 5 lines, 25 tokens, 0% threshold
- Auto-installs jscpd if missing
- Blocks commit on any duplication detected
- Current repo has 48 clones that need refactoring
2025-12-11 17:33:35 +01:00
dc577473aa Add duplicate code detection to pre-commit hook
Uses jscpd to detect code clones in shell scripts.
Blocks commit if duplication exceeds 5% threshold.
Suggests extracting common code to scripts/lib/common.sh.
2025-12-11 17:31:47 +01:00
348a56906c Add compulsive opening blocker for messaging apps
Limits beeper, signal-desktop, and discord to one launch per hour.
Shows notification when blocked. Tracks state in ~/.local/state/compulsive-block/.

Features:
- install/uninstall commands (handles both files and symlinks)
- status command to view current state
- reset/reset-all to allow reopening within the hour
- Follows existing wrapper pattern from youtube-music-wrapper.sh
2025-12-11 17:28:25 +01:00
b5c6e33c05 feat: scripts for converting mp4 to webm and inverse 2025-12-11 17:10:54 +01:00