No description
  • Python 63.7%
  • Shell 36.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mathieu Rousseau 68c422cfd5
chore(desktop-theme): retire removed Monokai preparation recipe
Refs #5 and mathieu/dotfiles#32. Remove its no-longer-reachable GTK compatibility code and dedicated tests; keep preparation for supported profiles unchanged.

Agent: Pi 🥧
2026-10-25 10:02:52 -04:00
skills/codex-limits docs(codex-limits): maintain the agent skill alongside the tool 2026-10-10 21:57:41 -04:00
systemd/user harden keepawake and codex limits helpers 2026-05-09 13:46:54 -04:00
.gitignore plop 2026-09-19 17:12:00 -04:00
battery-care Add ASUS battery charge commands --- par Clanker 2026-08-01 21:42:52 -04:00
battery-care.md Add ASUS battery charge commands --- par Clanker 2026-08-01 21:42:52 -04:00
battery-full Add ASUS battery charge commands --- par Clanker 2026-08-01 21:42:52 -04:00
bootstrap_debian.sh debian_bootsrap first 2025-11-04 21:02:11 -05:00
btrfs-backup-stats.sh initial commit 2024-10-27 15:15:21 -04:00
btrfs-backup.sh to english 2026-01-12 22:00:58 -05:00
btrfs-move-fast.sh Fix critical security issues: quote variables and add strict mode to btrfs scripts 2025-10-28 21:41:14 -04:00
cat_pwd.sh cleaning scripts 2025-11-04 21:02:46 -05:00
change.sh add change script 2025-10-25 22:33:08 -04:00
check-ip-rep.sh Fix critical security issues: quote variables and add strict mode to btrfs scripts 2025-10-28 21:41:14 -04:00
codex plop 2026-09-19 17:03:00 -04:00
codex-limits feat(codex-limits): exposer les resets bonus et leurs expirations 2026-09-29 18:05:41 -04:00
codex-limits.md docs(codex-limits): maintain the agent skill alongside the tool 2026-10-10 21:57:41 -04:00
cua-driver plop 2026-09-19 17:03:00 -04:00
desktop-theme fix(desktop-theme): allow explicit built-in GTK4 fallback for GTK3 ports 2026-10-25 02:49:39 -04:00
desktop-theme.md chore(desktop-theme): retire removed Monokai preparation recipe 2026-10-25 10:02:52 -04:00
desktop_theme_resources.py chore(desktop-theme): retire removed Monokai preparation recipe 2026-10-25 10:02:52 -04:00
diceword diceword 2026-05-09 13:14:20 -04:00
forgejo-batch-repo-access.sh add unified Forgejo repo access batch script 2026-02-10 23:19:36 -05:00
get_models.sh feat(models): unify provider catalogs with Codex, Zen and fzf output 2026-09-19 16:56:52 -04:00
git-sync-remotes.sh sync selected git repo 2026-02-10 16:47:48 -05:00
hypr-toggle-layouts.sh Fix critical security issues: quote variables and add strict mode to btrfs scripts 2025-10-28 21:41:14 -04:00
install-battery-care Add ASUS battery charge commands --- par Clanker 2026-08-01 21:42:52 -04:00
iq-air.sh Fix critical security issues: quote variables and add strict mode to btrfs scripts 2025-10-28 21:41:14 -04:00
is-it-strong.sh handle special characters / better UX 2026-01-24 01:09:41 -05:00
keepawake.sh harden keepawake and codex limits helpers 2026-05-09 13:46:54 -04:00
keepawake_status.sh harden keepawake and codex limits helpers 2026-05-09 13:46:54 -04:00
LICENSE set license to MIT 2025-04-07 23:58:38 -04:00
murmur chore(murmur): keep installed binary in its project 2026-09-26 11:30:41 -04:00
murmur-osd murmur + music assistant + pi-box 2026-08-01 21:46:01 -04:00
my-music-assistant murmur + music assistant + pi-box 2026-08-01 21:46:01 -04:00
note.sh renaming function o-nvim 2024-10-30 16:31:12 -04:00
notes-dmenu.sh little abstraction 2024-10-30 16:42:15 -04:00
notify_me.sh cleaning scripts 2025-11-04 21:02:46 -05:00
openai-key-from-secrets Helper script pour récupérer une clé d'API sans sourcer le fichier de secret. 2026-02-10 16:48:52 -05:00
parse-tickers.sh dirty awk moulinette 2025-10-25 22:33:47 -04:00
pfview.sh better spacing 2025-10-04 15:39:21 -04:00
pi-box murmur + music assistant + pi-box 2026-08-01 21:46:01 -04:00
post-sleep-check.sh initial commit 2024-10-27 15:15:21 -04:00
radios.sh Fix critical security issues: quote variables and add strict mode to btrfs scripts 2025-10-28 21:41:14 -04:00
README.md feat(desktop-theme): add offline coordinated switching and recoverable rollback 2026-10-24 21:19:57 -04:00
report.sh stocks stuff 2026-01-12 22:01:17 -05:00
rsync_backup.sh cleaning 2025-04-21 22:59:28 -04:00
st refactor: use native interpreter entry points for scripts 2026-09-20 17:33:23 -04:00
stocks refactor: use native interpreter entry points for scripts 2026-09-20 17:33:23 -04:00
sudo-askpass-rofi add sudo askpass rofi helper 2026-02-11 02:26:55 -05:00
test-codex-limits.py feat(codex-limits): exposer les resets bonus et leurs expirations 2026-09-29 18:05:41 -04:00
test-desktop-theme-bat.py feat(desktop-theme): prepare native ports for four additional palettes 2026-10-25 02:41:31 -04:00
test-desktop-theme-btop.py feat(desktop-theme): prepare native ports for four additional palettes 2026-10-25 02:41:31 -04:00
test-desktop-theme-code.py fix(desktop-theme): register inert Code OSS themes through its native installer 2026-10-24 22:43:25 -04:00
test-desktop-theme-resources.py chore(desktop-theme): retire removed Monokai preparation recipe 2026-10-25 10:02:52 -04:00
test-desktop-theme.py fix(desktop-theme): allow explicit built-in GTK4 fallback for GTK3 ports 2026-10-25 02:49:39 -04:00
time-to refactor: use native interpreter entry points for scripts 2026-09-20 17:33:23 -04:00
today.sh date in a notification 2024-11-04 20:26:42 -05:00
tpl.sh cleaning scripts 2025-11-04 21:02:46 -05:00
update_pacman_mirrorlist.sh initial commit 2024-10-27 15:15:21 -04:00
wallpaper-converter.sh cleaning scripts 2025-12-07 22:47:08 -05:00
waybar-toggle-tray.sh murmur + music assistant + pi-box 2026-08-01 21:46:01 -04:00
waystt-backend-lanwhisper.sh re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-backend-waystt.sh re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-common.sh re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-ctl re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-lanwhisper-runner re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-launch re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-osd.py re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-post-cleanup re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-text-pipeline.py re plumbing murmur 2026-05-22 23:07:06 -04:00
waystt-ui.sh re plumbing murmur 2026-05-22 23:07:06 -04:00
weather.sh weather notification 2024-11-04 19:46:06 -05:00
web-search.sh search the web with rofi 2024-11-04 20:34:12 -05:00
zones-time.sh script pour le décalage horaire 2025-01-20 11:08:33 -05:00

Duct Tape

Personal utility scripts for a Linux desktop/server workflow (Arch + Hyprland locally, Debian on servers). This repo is basically a ~/.local/bin toolbox.

Important

Built for my setup: dotfiles Use at your own risk.

Main script groups

Speech-to-text (Wayland)

  • murmur: versioned symlink to the locally installed, untracked Go binary at ~/Projets/murmur/murmur. The Murmur repository already ignores /murmur and make clean only removes build/. ~/.local/bin already links to this repository, so there is only one deployed executable. A fresh clone needs a local installation before this link works. Do not commit a built binary or run make install PREFIX="$HOME/.local": its bin/murmur destination is the link into this repository. To update after verifying Murmur is idle (murmur status --json):

    cd ~/Projets/murmur
    make test build
    tmp=$(mktemp ./.murmur-stage.XXXXXXXX)
    install -m 0755 build/murmur "$tmp"
    mv -f "$tmp" ./murmur
    ~/Projets/bin/murmur doctor --json
    

    Keep a copy of the previous executable before replacing it if rollback is needed; Git only tracks the link, not binary versions. Use make build, not go build -o murmur, so routine builds do not replace the deployed binary.

  • waystt-launch: starts recording/transcription, manages recording overlays and key flow.

  • waystt-post-cleanup: post-processes text (LLM cleanup), clipboard integration, and typing.

  • openai-key-from-secrets: extracts API key without sourcing full secrets file.

  • waystt overlay flow is continuous: Starting -> Listening -> Stop -> Processing -> Done updates the same notification when possible.

Backup and storage

Notes and desktop helpers

Dev/API tooling

  • get_models.sh: unified model catalogs. Select one provider: --codex, --openai, --openrouter, --anthropic (--claude), --google (--gemini), or --zen. Use --all to query every provider, with identifiers prefixed as provider/model-slug (e.g. zen/big-pickle). Default output is a default: [...] block; --plain prints sorted, unique identifiers for fzf:

    get_models.sh --all --plain | fzf
    get_models.sh --codex --plain
    get_models.sh --anthropic
    get_models.sh --zen --plain
    

    Requires jq, plus curl for API catalogs. Keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY; OPENROUTER_API_KEY is optional. Codex requires codex and python3, uses codex login (ChatGPT), and respects CODEX_HOME: no API key or inference. It lists non-hidden models advertised by Codex, not a guarantee of remaining quota; Codex may use its cached catalog.

    Zen uses the public catalog at https://opencode.ai/zen/v1/models, as documented in OpenCode Zen; no key is required (ZEN_API_KEY is optional). The zen/ prefix identifies the provider in this script; OpenCode itself uses opencode/ in its configuration.

    --all skips providers with missing credentials, dependencies or failed requests, with diagnostics on stderr. It exits successfully if at least one provider returns models, and fails if none do. Single-provider failures remain fatal. Slugs containing slashes are preserved (e.g. openrouter/anthropic/claude-sonnet-4.6).

    To add a provider, update PROVIDERS, its flag/help and an adapter emitting one identifier per line in get_models.sh; sorting and formatting stay shared. The old compatibility symlinks have been removed.

  • codex-limits: passive Codex snapshots or native live quota RPC (no inference), JSON and --pretty progress bars. See contract and tests and the agent skill, maintained here alongside the tool.

  • forgejo-batch-repo-access.sh: batch manage Forgejo collaborators and branch protections.

  • git-sync-remotes.sh: sync selected git repositories.

Misc CLI utilities

Includes small single-purpose helpers like: weather.sh, today.sh, zones-time.sh, iq-air.sh, web-search.sh, change.sh, check-ip-rep.sh, cat_pwd.sh, report.sh.

  • diceword: wrapper around the dedicated ~/Projets/diceword uv project to generate Diceware-style passphrases from any shell.

Notes

  • No build system or general test suite; python3 test-codex-limits.py tests the quota reporter offline.
  • Most scripts assume common Unix tools are available.
  • Check TODO.md for known issues and pending improvements.

User systemd units

  • systemd/user/keepawake.service: optional user unit used by keepawake.sh. Install with systemctl --user link "$PWD/systemd/user/keepawake.service" or copy it to ~/.config/systemd/user/, then run systemctl --user daemon-reload.