Commit Graph
4131 Commits
Author SHA1 Message Date
Gabriel Fontes 0d4b8df02e fix(website): proper lang handling 2026-09-01 16:45:28 -03:00
Gabriel Fontes 85a73b7711 fix(alcyone/website): fix missing root in pdfs 2026-09-01 16:39:26 -03:00
Gabriel Fontes eef6031a94 feat(alcyone/freshrss): add tailnet-only feed reader
Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-09-01 13:31:09 -03:00
Gabriel Fontes 84b5a12862 Revert "hosts/merope: switch to mainline Linux"
This reverts commit ee74ddbfec.
2026-08-31 19:00:54 -03:00
Gabriel Fontes 2e905fd855 fix(hosts/merope): try to fix CMA boot problem 2026-08-31 16:01:03 -03:00
Gabriel Fontes dd5f1bca01 feat(site): improve listing look and metadata 2026-08-31 10:40:09 -03:00
Gabriel Fontes bc2e9a9ffa seo(site): fix canonical /publications link in home body 2026-08-31 10:40:09 -03:00
Gabriel Fontes 82aed3f570 seo(site): add better descriptions 2026-08-31 10:40:09 -03:00
Gabriel Fontes 03fb28355b seo(site): add canonical links for paper web versions 2026-08-31 10:37:31 -03:00
Gabriel Fontes ee74ddbfec hosts/merope: switch to mainline Linux 2026-08-30 10:25:19 -03:00
Gabriel Fontes dd029a81d4 chore(flake): update inputs
Update direct inputs:
- firefox-addons a5ad6b67 -> 25227969 (84 commits; uBlock Origin 1.71.0 -> 1.73.0)
- nixos-hardware 2e790b0a -> 0471accf (15 commits; Raspberry Pi and P14s fixes)
- home-manager 06258193 -> 03f4cd46 (203 commits; module fixes, additions, and migrations)
- lanzaboote 6650fb7c -> 69cf334f (34 commits; firmware key option, docs, and dependency updates)
- nix-minecraft 794884da -> 25b4dfcd (54 commits; server locks and NeoForge fixes)
- nixos-mailserver c37fd9c4 -> e668474d (23 commits; Postfix CA workaround and maintenance)
- sops-nix 420f8d2e -> a8627b21 (17 commits; dependency and initrd test fixes)
- system-manager 48d47346 -> 64748b62 (3 commits; unstable/stable branch support)
- nixpkgs 567a49d1 -> 56c02bc0 (104 direct system/home package changes)

Keep the legacy RuneScape client working with OpenSSL 1.1 from a pinned
nixos-26.05 input, and preserve the removed Materia theme locally without
its obsolete Murrine runtime dependency. Adapt removed package references and
renamed NixOS/Home Manager options exposed by the update.

- rebase the llama.cpp cache-scan patch onto 10408
- adapt the fish-helix compatibility patch to Fish 4.8
- update Hyprbars for the Hyprland 0.56 plugin API
- use the Python distribution name for Lyrics metadata checks
- disable broken qutebrowser GBM video path (QtWebEngine 6.11.1)
- rebase Bazarr subtitle-reference patches onto 1.6.0

Assisted-by: pi (gpt-5.6-sol)
2026-08-29 15:05:07 -03:00
Gabriel Fontes 6ca08d3ac8 feat(home): init golive 2026-08-29 15:05:07 -03:00
Gabriel Fontes a1159e49c4 feat(golive): package from source
Assisted-by: pi (gpt-5.6-sol)
2026-08-28 21:57:23 -03:00
Gabriel Fontes befc707188 fix(website): preserve footer order across breakpoints
Match DOM order to the wide layout, rely on grid auto-placement when collapsing, and retain the address separator on narrow screens.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-28 11:58:07 -03:00
Gabriel Fontes 656d3d3377 refactor(website): use semantic lists for footer links
Represent email and social links as compact inline lists without redundant visible labels.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-28 11:44:36 -03:00
Gabriel Fontes cb31a96a61 refactor(website): use semantic lists for publication metadata
Preserve the compact semicolon-separated presentation while using list markup, and scope vertical list spacing to prose lists so flex items remain aligned.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-28 11:44:36 -03:00
Gabriel Fontes 095f066650 refactor(website): refactor publications
Make publications a collection, add arbitrary citation_* metadata, simplify
2026-08-28 10:37:02 -03:00
Gabriel Fontes 8bbadae4b0 chore(website): remove "Date: " prefix 2026-08-28 10:37:02 -03:00
Gabriel Fontes 54faa53039 chore(website): get rid of tags 2026-08-28 10:37:02 -03:00
Gabriel Fontes b1595f8d69 refactor(website): get rid of cgit partials, move charset utf8 up 2026-08-28 10:37:02 -03:00
Gabriel Fontes df59c323e6 refactor(home/aerc): vendor default bindings
Assisted-by: pi (gpt-5.6-sol)
2026-08-27 09:45:44 -03:00
Gabriel Fontes 448fa54304 fix(grafana): ignore read-only Nix store mount
Assisted-by: pi (gpt-5.6-sol)
2026-08-26 15:36:38 -03:00
Gabriel Fontes 3c6153a71b feat(home/runescape): load plugins from home packages
Assisted-by: pi (gpt-5.6-sol)
2026-08-26 09:37:30 -03:00
Gabriel Fontes 3f579c338d refactor(projects/runelite-query): replace mcp with http api
Rename the plugin and expose its read-only RuneLite snapshots through versioned GET endpoints with on-demand OpenAPI discovery. Preserve typed state, filtering, event cursors, bounds, and loopback protections while removing JSON-RPC, tool discovery, prompts, Wiki proxying, and all compatibility paths.

Replace the Pi MCP adapter and registry with a contextual RuneLite Query skill, and cover every endpoint using mocked RuneLite response shapes plus an ephemeral HTTP server.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-25 18:16:18 -03:00
Gabriel Fontes e9321bc1ad fix(home/pi): hydrate model data during build
Hydrate provider model data from the published pi-ai package, build the new telemetry, protocol, and client workspaces, and preserve them as runtime dependencies.

Assisted-by: pi (gpt-5.6-sol)
2026-08-25 10:50:40 -03:00
Gabriel Fontes 2e2e023f29 chore(home/pi): update pi to 0.84.3
Update Pi from 0.83.0 to 0.84.3 (613 commits):
- add fullscreen mode, transcript search, and Mermaid/LaTeX rendering
- add thinking selection, configurable default tools, and context overrides
- improve startup, compaction, provider handling, and extension cleanup
- fix Codex, llama.cpp, Wayland clipboard, and dependency security issues

Align local extension types and backfill omitted npm integrity metadata.

Assisted-by: pi (gpt-5.6-sol)
2026-08-25 10:36:54 -03:00
Gabriel Fontes 8963baf351 docs(pi): organize context operations
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 09:08:47 -03:00
Gabriel Fontes 2905511247 docs(pi): ground reflective closings
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 09:07:25 -03:00
Gabriel Fontes 182909b51a docs(pi): sharpen agent voice
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 09:04:56 -03:00
Gabriel Fontes 2aba23579d refactor(pi): trim agent context
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 09:01:10 -03:00
Gabriel Fontes 6f76e05146 docs(pi): document Kagi session token
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 08:56:36 -03:00
Gabriel Fontes 01ac5562f0 fix(overlays): use host platform system
Assisted-by: pi (gpt-5.6-sol)
2026-08-25 08:56:26 -03:00
Gabriel Fontes 7c8ca4f0a6 fix(home/ssh): resolve matchBlocks eval warning
Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-25 08:54:57 -03:00
Gabriel Fontes defd556722 feat(website): add dissertation pdf 2026-08-24 22:54:46 -03:00
Gabriel Fontes b75bf2153a refactor(lib): share systemd device path conversion
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 12:51:44 -03:00
Gabriel Fontes 09097bf97a fix(merope): bind media mount to stable device unit
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 12:51:44 -03:00
Gabriel Fontes b76aa22ae0 fix(agent-browser): provide packaged headless chromium
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 12:51:44 -03:00
Gabriel Fontes 631c049b89 fix(grafana): reduce availability alert noise
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 11:32:26 -03:00
Gabriel Fontes a4bfacee5b feat(grafana): alert on read-only btrfs filesystems
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 11:19:16 -03:00
Gabriel Fontes 0756c21c6e fix(merope): stop media consumers when storage unmounts
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 11:13:53 -03:00
Gabriel Fontes 7ee25ba834 fix(merope): bind media mount to its device
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 11:01:53 -03:00
Gabriel Fontes d61d8dd7c4 fix(hosts): use stable disk identifiers
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 10:54:18 -03:00
Gabriel Fontes 6ccca4efdf feat(home/pi): add agent-browser package
Assisted-by: openai-codex (gpt-5.6-luna)
2026-08-23 23:46:02 -03:00
Gabriel Fontes 052d20c9c7 feat(hosts/merope/calibre-web): expose calibre content server on tailnet
Add a calibre.m7.rs vhost proxying the calibre-server content server,
restricted to localhost and the headscale tailnet prefixes, and enable
calibre-server auth so the endpoint is not anonymous.
2026-08-20 19:25:54 -03:00
Gabriel Fontes 901be0cfe2 fix(hosts/merope/calibre-web): make library read-only
calibre-web wrote metadata.db directly, which desynced calibre-server's
in-memory library cache: books uploaded through books.m7.rs stayed
invisible on the content server until it was restarted, and two writers
on one library risk clobbering each other's metadata.

Drop calibre-web from the readarr and calibre-server groups and force
ReadWritePaths down to its state directory, so the pre-existing
ProtectSystem=strict leaves the library read-only. The 0002 umask only
existed to keep those shared-library writes group-writable, so it goes
too. Readarr already writes through the content server API, so
calibre-server is now the sole writer.

Note that services.calibre-web.options.enableBookUploading does not
cover this on its own: config_uploading only drives the templates, while
POST /upload stays gated on the per-user ROLE_UPLOAD bit alone.

Assisted-by: pi (claude-opus-5)
2026-08-20 19:11:31 -03:00
Gabriel Fontes ba7187ed95 feat(home/pi): enable deepseek v4 models in model picker 2026-08-20 12:49:09 -03:00
Gabriel Fontes 053344763e feat(home/pi): expose low thinking level for deepseek v4 2026-08-20 12:42:08 -03:00
Gabriel Fontes a410753d70 feat(aerc): bind F to toggle the flagged flag
aerc ships no default keybind for :flag, so marking a message as
important meant typing the command. F was free in both messages and
view ('f' is :forward).

Assisted-by: pi (claude-opus-5)
2026-08-20 11:41:33 -03:00
Gabriel Fontes 2cb0cd6487 fix(bazarr): pick sync reference by speech, not last timestamp
ffsubsync selects the embedded subtitle track with the latest final cue,
which a Signs & Songs track wins on its trailing title card despite
carrying no dialogue. Select on total speech instead.

Assisted-by: pi (claude-opus-5)
2026-08-20 08:55:48 -03:00
Gabriel Fontes 8fe880e5b4 fix(bazarr): skip non-dialogue subtitle tracks when syncing
ffsubsync references whichever embedded track ends last, which ties to
Signs & Songs on anime releases. Probe and pick a dialogue track instead.

Assisted-by: pi (claude-opus-5)
2026-08-20 08:51:30 -03:00