447 Commits
Author SHA1 Message Date
Gabriel Fontes c19ed9a3a7 fix(hosts/wireless): disable Wi-Fi Direct
Its control socket never gets ctrl_interface_group applied (upstream never
copies the field when creating the P2P device), so with the daemon running as
root the socket is root-only. wpa_gui scans the directory, hits p2p-dev-*
first and gives up before reaching the real interface.

Assisted-by: pi (claude-opus-5)
2026-08-13 17:07:51 -03:00
Gabriel Fontes 4da7e34d42 refactor(hosts): move shared config into hosts/common
Assisted-by: pi (claude-opus-5)
2026-08-13 16:37:39 -03:00
Gabriel Fontes 9f449c7ea2 refactor(hosts): separate nixos and system-manager hosts
Assisted-by: pi (gpt-5.6-sol)
2026-08-06 09:53:42 -03:00
Gabriel Fontes 7915284118 fix(hosts): go back to static timezone 2026-08-01 11:15:48 -03:00
Gabriel Fontes afb155fa89 feat(home/runescape): package rs3
Package the official Linux client and launch it with credentials generated by jagex-auth.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-14 11:42:37 -03:00
Gabriel Fontes 9f65bca07e chore(paseo): remove paseo
Remove the service from atlas and maia, along with its flake input, module, and secret.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-13 16:29:03 -03:00
Gabriel Fontes 38b4aac92a feat(paseo): integrate pi agent
Enable MCP injection and use Pi with local speech models for voice mode.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-13 07:57:24 -03:00
Gabriel Fontes 12a9ac838f fix(paseo): include web ui in daemon package
Override the daemon package to build and install its bundled web UI, which upstream excludes from the daemon-only source.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-13 07:57:24 -03:00
Gabriel Fontes 764b8fcbe4 feat(paseo): enable headless daemon
Run Paseo as gabriel on atlas and maia using the upstream NixOS module. Expose direct access only through the Tailscale firewall interface while retaining hosted relay support.
2026-07-12 23:40:39 -03:00
Gabriel Fontes 5a430f7c4f fix(jellyfin): disable GBM in kiosk session
Force QtWebEngine off GBM to avoid rendering issues under Cage.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-12 19:16:05 -03:00
Gabriel Fontes 3278920c6b fix(hosts/jellyfin): drop client-side decorations in cage kiosk
jellyfin-media-player (Qt) drew its own CSD titlebar because cage never
negotiated server-side decorations, leaving decorations visible even when
Jellyfin considered itself fullscreen. Pass cage -d so it advertises
server-side decoration mode and clients skip CSD.

Assisted-by: pi (opus-4.8)
2026-07-06 13:21:57 -03:00
Gabriel Fontes 85df2a3233 chore: rename nix-config -> foundry across in-repo references
Prep for renaming the GitHub repo to Foundry: update the Hydra jobset flakes
(.hydra.json), the auto-upgrade project name (must match the Hydra project),
the README status badge, the hydra-auto-upgrade example, the website CV link,
and the flake description. Hydra project/jobset becomes 'foundry'.

Assisted-by: pi (opus-4.8)
2026-07-04 19:40:42 -03:00
Gabriel Fontes 5c529ff80e fix(gabriel): make nixos link base hm profile when activating specialisation 2026-07-02 18:02:19 -03:00
Gabriel Fontes 6be33225c1 fix(wireless): try and fix wpa_supplicant permission issue 2026-07-01 15:50:58 -03:00
Gabriel Fontes 6f64302a50 feat(home/theme): switch color scheme automatically
Activate the time-appropriate Home Manager specialisation from the NixOS home-manager-gabriel service, and add user timers that switch directly to light/dark specialisations at the configured boundaries.

Assisted-by: pi (gpt-5.5)
2026-06-29 19:07:42 -03:00
Gabriel Fontes a7970fc4c5 fix(hosts/global/persistence): try and fix /var/lib/private permissions 2026-06-29 17:51:51 -03:00
Gabriel Fontes 6b0729c911 feat(home/pi): source web search secrets from sops
Expose webSearch secret file settings for the Pi web extension and wire them to sops-managed Brave/Kagi secrets. Restrict web_search credentials to configured secret files.

Assisted-by: pi (openai-codex/gpt-5.5)
2026-06-28 17:28:36 -03:00
Gabriel Fontes c0a9c5cfda fix(hosts): disable acme on non-nginx hosts 2026-06-23 15:29:35 -03:00
Gabriel Fontes 037d33b36e chore(opencode): remove for now
Working on migrating to pi, and leaving most cruft behind.
2026-06-17 23:44:16 -03:00
Gabriel Fontes 383db584c4 chore(opencode): cleanup 2026-06-17 23:39:11 -03:00
Gabriel Fontes cd22a11dfd feat(opencode): migrate HM to dedicated server setup 2026-06-17 18:14:55 -03:00
Gabriel Fontes 1bebfd3ab6 feat(opencode): add opencode server with dedicated user
Should bring me some level of sandboxing
2026-06-17 18:02:24 -03:00
Gabriel Fontes 415af36499 chore(common/cups): disable avahi, CUPS only uses USB printing
Assisted-by: opencode (deepseek-v4-flash)
2026-06-17 01:39:17 -03:00
Gabriel Fontes e4fa2194bd feat(greetd): switch agreety to tuigreet
My headless servers' login wasn't working at all. And this is the first time in years I had to use it lol, so never noticed before.
2026-06-16 21:04:21 -03:00
Gabriel Fontes cfdd977b94 refactor(home/opencode): split lumis into public skill with private resource
Assisted-by: opencode (deepseek-v4-flash)
2026-06-15 20:21:28 -03:00
Gabriel Fontes d7a189081c refactor(home/opencode): make the private bits of firefly separate resource
Assisted-by: opencode (deepseek-v4-flash)
2026-06-15 20:21:28 -03:00
Gabriel Fontes 4ede1c4a2d refactor(home/opencode): move gabs-info into instructions
Assisted-by: opencode (deepseek-v4-flash)
2026-06-15 20:21:28 -03:00
Gabriel Fontes defd0f1ba8 refactor(home/opencode): move private.yml from skills to opencode root 2026-06-15 17:30:22 -03:00
Gabriel Fontes 2af438fed5 feat(home/opencode): add basic integration to pluggy for nubank data fetch
Assisted-by: opencode (deepseek-v4-flash)
2026-06-15 17:17:43 -03:00
Gabriel Fontes c3436b23f6 feat: enable sopsdiffing for home secrets as well 2026-06-15 11:25:30 -03:00
Gabriel Fontes 0bc2208e38 feat(opencode): rework agents, skills
Now everything is managed through nix.

- Add skill to let agent edit itself via nix
- Add private skills (managed with sops)
- Add image and audio agents
- Switch to deepseek flash to save a bit
2026-06-15 01:14:07 -03:00
Gabriel Fontes 3ca7dc7387 fix: don't symlink deepseek-apikey secret
This causes .local/state to be mkdir'ed with root:root ownership
2026-06-13 17:10:31 -03:00
Gabriel Fontes 7c6816ec47 feat(home/opencode): add secrets that opencode can use
These are managed via sops so they are always available, differently from my `pass` secrets which require the yubikey to be plugged. This way I can choose when to make my personal secrets available to the AI or not.
2026-06-12 23:31:38 -03:00
Gabriel Fontes 931499188c fix(wireless): set wpa supplicant secret to correct owner and group 2026-06-07 12:11:33 -03:00
Gabriel Fontes fcde547f2c feat(cups): declarative cups config 2026-05-31 19:52:13 -03:00
Gabriel Fontes 1c49d4f71a fix(hydra-auto-upgrade): remove old flake feature again 2026-05-08 12:14:15 -03:00
Gabriel Fontes 4cda3af484 fix: add mitigation for dirty pipe and copyfail 2026-05-08 10:11:14 -03:00
Gabriel Fontes 88f46ba952 fix: use mandoc to work man-db/groff performance regression
Related to nixpkgs #513348
2026-05-05 10:34:21 -03:00
Gabriel Fontes 5e16cf6ca0 feat(hosts/cups): add printer 2026-05-05 10:28:03 -03:00
Gabriel Fontes e163d702ed hosts(waydroid): init 2026-04-17 14:56:47 -03:00
Gabriel Fontes e37af70792 fix(cage): disable clientside decoration 2026-04-07 17:21:14 -03:00
Gabriel Fontes 131907d671 fix(wireless): remove wpa_supplicant config workaround 2026-04-07 17:21:14 -03:00
Gabriel Fontes 3205d97928 chore(flake): bump lock 2026-04-07 17:21:14 -03:00
Gabriel Fontes ff020f7ee3 fix(secrets): update wifi secrets 2026-04-01 19:24:54 -03:00
Gabriel Fontes 92f040466a feat(steam-session): run in prime offload if enabled 2026-03-29 11:10:26 -03:00
Gabriel Fontes ffd3478bda fix: auto-restart automatic-timezoned 2026-03-11 12:23:38 -03:00
Gabriel Fontes fcfc78b141 fix(kdeconnect): open kdeconnect ports on all devices 2026-03-11 07:48:32 -03:00
Gabriel Fontes 223f87639f feat(hosts): enable fwupd globally 2026-03-09 15:11:06 -03:00
Gabriel Fontes d7b7981a60 remove profile config from firefox kiosk 2026-01-28 09:38:05 -03:00
Gabriel Fontes 90531706c9 feat(firefox-session): default to ddg, add kagi 2026-01-24 15:08:14 -03:00