summaryrefslogtreecommitdiff
path: root/profiles
AgeCommit message (Collapse)Author
3 daysprofiles: add agent-context — one AGENTS.md for every harnessHenry J. Webster
There is no cross-vendor standard for agent instruction files: claude-code reads CLAUDE.md, opencode and pi read AGENTS.md, each with its own global path. Keep one canonical file (common/AGENTS.md) in this repo, ship it to /etc/AGENTS.md, and symlink every harness's global context path to it via tmpfiles for all normal users: ~/.claude/CLAUDE.md (claude-code 2.1.187 — no AGENTS.md support) ~/.config/opencode/AGENTS.md (opencode 1.15.10) ~/.pi/agent/AGENTS.md (pi 0.75.4) Paths verified against the packaged binaries; see the profile header for details and for the per-repo convention (AGENTS.md + CLAUDE.md symlink). Assisted-by: claude-code:Fable 5
3 daysprofiles: extract shared sandbox profile for enzo + kusanagiHenry J. Webster
Move the yokai agent-sandbox account (user, ikai group, /srv/git drop dir, scoped sudo de-escalation, and the local-clones workflow docs) out of machines/enzo into a shared profiles/sandbox.nix that both machines import. The only per-machine value is the human owner allowed to drop into the sandbox, exposed as a `sandbox.owner` string option so the profile stays username-agnostic (enzo: hwebs, kusanagi: henz). kusanagi gains the sandbox it didn't have before; enzo's inline block collapses to one setting. Assisted-by: claude-code:claude-opus-4-8
4 daysmigration away from x-clipHenry J. Webster
- replace x-clip with wl-clipboard for wayland machines - add TODOs I noticed while editing Assisted-by: Claude Code:claude-opus-4-8
4 daysenzo: add dev profileHenry J. Webster
Assisted-by: Claude:Opus-4.8
6 daysadd deprecation warning note to NiriHenry J. Webster
6 daysdesktop: centralize Adwaita cursor theme, fix pointer cursor on kusanagiHenry J. Webster
kusanagi set XCURSOR_THEME=Bibata-Modern-Classic but never declared the theme in Nix — it only resolved while bibata-cursors lingered in an old nix-env profile. Once that was gone the theme fell off the icon path and the pointer/hand cursor disappeared. Standardize both hosts on Adwaita (matching the shared niri config.kdl): move XCURSOR_THEME/XCURSOR_SIZE and the adwaita-icon-theme package into the shared profiles/desktop.nix so the theme is always on the icon path. Drop the inert HYPRCURSOR_* vars (hyprcursor is unused under niri). Assisted-by: Claude:claude-opus-4-8
7 daysadd desktop notesHenry J. Webster
7 daysdesktop: firefox — drop KeePassXC for Proton Pass + uBlock, hide Profiles ↵Henry J. Webster
button Replace the KeePassXC-Browser extension, its native-messaging host, and the keepassxc package with Proton Pass (password manager + passkeys) and uBlock Origin. Also disable the Firefox 138+ multi-profile feature so the "Profiles" toolbar button no longer appears. Assisted-by: Claude:claude-opus-4-8
7 daysdesktop: start bar+wallpaper via systemd; fortune greeterHenry J. Webster
Move the niri bar (yambar on enzo, waybar on kusanagi) and swaybg wallpaper out of the shared stowed niri config and into per-machine systemd user services bound to graphical-session.target, mirroring the existing xdg-user-dirs-update unit. This makes the bar host-correct (kusanagi previously spawned yambar, which isn't installed there) and keeps host-specific paths out of the shared config. Also switch the greetd session to a small wrapper script that shows a fortune greeting in tuigreet. Assisted-by: Claude:claude-opus-4-8
7 days(enzo) set up password systemHenry J. Webster
7 daysenzo/kusanagi: firefox — restrict search engines, block geo/notification ↵Henry J. Webster
prompts Limit search engines to DuckDuckGo (default), Searx, Wikipedia, eBay, and Google via the SearchEngines policy; remove Bing/Amazon/Perplexity. Silently deny geolocation and notification permission prompts (permissions.default.*). Note that Firefox View can't be disabled by pref/policy on modern Firefox. Assisted-by: Claude:claude-opus-4-8
7 daysrefactor: shared desktop profile for enzo + kusanagiHenry J. Webster
profiles/desktop.nix becomes a username-agnostic shared base (niri, dconf, the dark-theme portal fix, greetd, pipewire base, gpg agent, graphics, Firefox with blank-home/no-bookmarks prefs, common desktop tools, font base). Both hosts now import it. Per-host desktop config splits into machines/<host>/desktop.nix: - enzo: Adwaita cursor + monospace, HiDPI console font, yambar, hwebs groups. - kusanagi (new file): GNOME/X11, printing/avahi/udisks2, pro-audio (rtkit/jack/32-bit), gpg ssh support, richer fonts, Bibata cursor, henz desktop groups, waybar/nm-applet. Shared profile is username-agnostic (enzo=hwebs, kusanagi=henz): shared desktop tools moved to environment.systemPackages, per-user groups stay in machine files. Firefox now owned by the shared profile, so its redundant enable is dropped from profiles/apps.nix. Dark theme + Firefox tweaks now apply to both hosts. Both configurations build. Assisted-by: Claude:claude-opus-4-8
8 daysRestructure into a multi-machine flake and add the enzo laptopHenry J. Webster
Split the single-host config into a shared minimal base plus opt-in profiles, and add a second machine (enzo laptop) alongside kusanagi. - flake: add mkMachine helper; declare nixosConfigurations.kusanagi and .enzo; add the disko input; move overlays per-machine. - common/: minimal base only (boot, networking, tailscale, locale, nix settings, neovim editor). Old configuration.nix/programs.nix removed. - profiles/: coarse opt-in bundles (desktop, dev, apps). kusanagi imports all three and stays byte-for-byte identical to the running system. - machines/kusanagi/: all workstation-only config (ROCm, Scarlett audio, optical-disc archiving, NAS mounts, kavita/immich/ollama); hardware config moved here unchanged. User stays 'henz'. - machines/enzo/: new laptop. Declarative LUKS+btrfs via disko (LVM-on-LUKS, TPM2+PIN unlock, zram + encrypted swap for suspend-then-hibernate); its own minimal niri desktop with playback-only audio (no rtkit/jack); user 'hwebs'. Assisted-by: Claude:claude-opus-4-8