feat(coding): add T3 Code theme from m4rti.theme #52

Merged
marti merged 1 commit from t3/t3code-nixos-colorscheme-theme into main 2026-10-21 11:36:18 +02:00
Owner

Summary

  • Adds modules/features/coding/t3code.nix, a Home Manager module that renders the m4rti base16 palette into a T3 Code environment theme.
  • Installs the theme as ~/.t3/userdata/themes/m4rti.json. It is copied rather than symlinked because T3 Code opens theme files with O_NOFOLLOW and skips symlinks.
  • Sets defaultTheme to m4rti in ~/.t3/userdata/settings.json during activation. The key is only rewritten when it differs, so a theme picked in Settings survives rebuilds until the palette id changes.
  • Error colors are hardcoded brighter variants because base08 is too dark to read on base00.

Testing

  • Not run: nix build / nix flake check on this module.
  • Not run: home-manager switch on a host, and no check that T3 Code loads the theme after activation.
  • Reviewed by reading only: the activation script's DRY_RUN guard, the jq update of defaultTheme and defaultThemeSetAt, and the mktemp + mv write path.
## Summary - Adds `modules/features/coding/t3code.nix`, a Home Manager module that renders the m4rti base16 palette into a T3 Code environment theme. - Installs the theme as `~/.t3/userdata/themes/m4rti.json`. It is copied rather than symlinked because T3 Code opens theme files with `O_NOFOLLOW` and skips symlinks. - Sets `defaultTheme` to `m4rti` in `~/.t3/userdata/settings.json` during activation. The key is only rewritten when it differs, so a theme picked in Settings survives rebuilds until the palette id changes. - Error colors are hardcoded brighter variants because base08 is too dark to read on base00. ## Testing - Not run: `nix build` / `nix flake check` on this module. - Not run: home-manager switch on a host, and no check that T3 Code loads the theme after activation. - Reviewed by reading only: the activation script's `DRY_RUN` guard, the `jq` update of `defaultTheme` and `defaultThemeSetAt`, and the `mktemp` + `mv` write path.
- Generate an m4rti theme file for T3 Code from the base16 palette
- Copy it into ~/.t3/userdata/themes on activation; symlinks are skipped by the server
- Set defaultTheme in settings.json, only when it differs, so a theme picked in Settings survives rebuilds
marti merged commit d44b312176 into main 2026-10-21 11:36:18 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marti/nix!52
No description provided.