check the phone's termux dotfiles into the repo [ci-skip] #132

Merged
lament merged 1 commit from phone into main 2026-08-29 22:34:38 -05:00
Owner

the phone's been doing kinit + GSSAPI ticket-SSH into the fleet for a while now, but
its config lived nowhere except the phone. this checks in reference copies so they
don't silently drift from the fleet's own kerberos client config.

  • phone/ sits at the repo root, outside import-tree's modules/ walk - it's
    deliberately inert. termux is an unmanaged android app, there's no module to own
    it, so these are hand-synced reference copies rather than declarative config.
    static/ would've been the other candidate but it's host-scoped, and the phone is
    a peers entry in directory.nix, not a host.
  • krb5/krb5.conf mirrors what system/net/krb5.nix generates for real hosts.
    the rdns = false / dns_canonicalize_hostname = false pair is load-bearing for
    the same reason it's pinned there: WG hosts have no PTR records, so
    canonicalization SERVFAILs on the reverse lookup.
  • ssh/config carries CanonicalizeHostname + CanonicalDomains lament.gay, which
    is doing more than saving keystrokes - GSSAPI builds the service principal from the
    name as typed, so a bare ssh minerva would ask the KDC for host/minerva and get
    nowhere. MaxDots 0 keeps it off anything already qualified.
  • GSSAPIDelegateCredentials no on purpose. a forwarded TGT from a phone means
    anything that compromises a fleet host can turn around and act as us.

no nix touched, hence [ci-skip].

server side needed nothing - kdc.service/kadmind.service on verdandi and
fleet-wide GSSAPIAuthentication were already in place from the identity tower.

the phone's been doing `kinit` + GSSAPI ticket-SSH into the fleet for a while now, but its config lived nowhere except the phone. this checks in reference copies so they don't silently drift from the fleet's own kerberos client config. - `phone/` sits at the repo root, **outside** import-tree's `modules/` walk - it's deliberately inert. termux is an unmanaged android app, there's no module to own it, so these are hand-synced reference copies rather than declarative config. `static/` would've been the other candidate but it's host-scoped, and the phone is a `peers` entry in `directory.nix`, not a host. - `krb5/krb5.conf` mirrors what `system/net/krb5.nix` generates for real hosts. the `rdns = false` / `dns_canonicalize_hostname = false` pair is load-bearing for the same reason it's pinned there: WG hosts have no PTR records, so canonicalization SERVFAILs on the reverse lookup. - `ssh/config` carries `CanonicalizeHostname` + `CanonicalDomains lament.gay`, which is doing more than saving keystrokes - GSSAPI builds the service principal from the name as typed, so a bare `ssh minerva` would ask the KDC for `host/minerva` and get nowhere. `MaxDots 0` keeps it off anything already qualified. - `GSSAPIDelegateCredentials no` on purpose. a forwarded TGT from a phone means anything that compromises a fleet host can turn around and act as us. no nix touched, hence `[ci-skip]`. server side needed nothing - `kdc.service`/`kadmind.service` on verdandi and fleet-wide `GSSAPIAuthentication` were already in place from the identity tower.
finish the one-handed cluster with the monitor binds
All checks were successful
CI / check (pull_request) Successful in 50s
CI / deploy (pull_request) Has been skipped
CI / build (pull_request) Successful in 2m26s
CI / dry-activate (pull_request) Successful in 34s
CI / check (push) Has been skipped
CI / build (push) Has been skipped
CI / dry-activate (push) Has been skipped
CI / deploy (push) Successful in 2m42s
ffea129e10
Ctrl+Z/X focuses a monitor, Ctrl+Shift+Z/X throws a column to one -
the Ctrl h/l pair #130 missed. horizontal only, same as hjkl.
phone (and by extension, tablet) become versioned
All checks were successful
CI / check (pull_request) Has been skipped
CI / build (pull_request) Has been skipped
CI / dry-activate (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / check (push) Has been skipped
CI / build (push) Has been skipped
CI / dry-activate (push) Has been skipped
CI / deploy (push) Successful in 3m18s
7a3571a167
lament merged commit 7a3571a167 into main 2026-08-29 22:34:38 -05:00
lament deleted branch phone 2026-08-29 22:34:39 -05:00
Sign in to join this conversation.
No reviewers
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.

Reference
lament/pantheon!132
No description provided.