Skip to content

rename: Lattice → Bravais (Steelbore OS Bravais)#4

Merged
UnbreakableMJ merged 4 commits into
mainfrom
rename/lattice-to-bravais
May 8, 2026
Merged

rename: Lattice → Bravais (Steelbore OS Bravais)#4
UnbreakableMJ merged 4 commits into
mainfrom
rename/lattice-to-bravais

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Summary

Project rebrand from Lattice to Bravais (full name Steelbore OS Bravais) — keeping the crystallography theme but specializing it (a Bravais lattice is a kind of lattice).

Scope (single source of truth)

Old New
Lattice (proper noun) Bravais
Steelbore Lattice Steelbore Bravais
lattice (identifier — config name, hostname, dir) bravais
LATTICE (env vars / shouting) BRAVAIS
mkLattice mkBravais
LATTICE.md BRAVAIS.md
hosts/lattice/ hosts/bravais/
networking.hostName = "lattice" "bravais"

10 nixosConfigurations keys renamed: bravais, bravais-v{1..4}, bravais-unstable, bravais-unstable-v{1..4}.

v0/ snapshot is intentionally left untouched as a frozen pre-flake archive; a one-line v0/README.md explains why.

Commit walkthrough

  1. chore: normalize line endings, consolidate gitway-agent, and absorb in-flight edits — pre-rename hygiene: CRLF→LF normalization (per .gitattributes), gitway-agent consolidation onto the upstream nixosModules.default (with a temporary mkForce ExecStart override pending a flake.lock bump that pulls in Gitway PR #42), plus several uncommitted desktop/login/TODO edits.
  2. refactor: rename Lattice → Bravais (paths + flake)git mv of hosts/lattice and LATTICE.md, plus flake.nix and hosts/bravais/default.nix rewrites (description, mkBravais, all 10 config keys, hostname).
  3. refactor: rename Lattice → Bravais (modules + nix code) — every # Steelbore Lattice header across 36 non-v0/ .nix files plus the 4 inline references (greetd greeting STEELBORE :: BRAVAIS, locale comment, intel.nix march-level note, login.nix module comment).
  4. docs: rename Lattice → Bravais — bulk rewrite of 10 .md files and a top [Unreleased] / Changed entry in CHANGELOG.md recording the rename. New v0/README.md explains the legacy-snapshot policy.

All 4 commits are SSH-signed (gitway-keygen, ed25519, fingerprint SHA256:tt77cK4whrTfKXsBFIkypacOraNQU5Thpu3pePP0JCo).

Test plan

  • nix flake check --no-build — all 10 bravais* configs evaluate; only pre-existing upstream xfce/xinit warnings remain.
  • nixos-rebuild dry-build --flake .#bravais-unstable-v3 --show-trace — confirm the system closure builds.
  • sudo nixos-rebuild switch --flake .#bravais-unstable-v3 --show-trace --verbose — apply on the host; verify hostname returns bravais and greetd shows STEELBORE :: BRAVAIS.
  • git grep -i "lattice" post-merge — only v0/ and the CHANGELOG/v0-README mentions of the old name should match.

Post-merge follow-ups (out of this PR)

  • gh repo rename Bravais --repo Steelbore/Lattice (GitHub installs a permanent redirect).
  • git remote set-url origin git@github.com:Steelbore/Bravais.git.
  • mv /steelbore/lattice /steelbore/bravais on the host.
  • Sibling Steelbore projects that pin github:Steelbore/Lattice as a flake input — handled separately.

🤖 Generated with Claude Code

UnbreakableMJ and others added 4 commits May 8, 2026 20:59
…n-flight edits

This commit lands three loosely related streams of work that had piled
up in the working tree:

1. **Line-ending normalization (CRLF → LF).**  `.gitattributes`
   declares `* text=auto eol=lf` and `*.nix text eol=lf`; ~57 files
   (mostly v0/ snapshot, plus several .md and a few top-level .nix
   files) are reflowed accordingly so future diffs stop showing
   spurious whole-file changes.

2. **Gitway consolidation to a single declarative source.**
   - `flake.nix`: import `gitway.nixosModules.default`.
   - `modules/packages/security.nix`: drop the manual
     `gitway.packages.${system}.default` entry and the now-unused
     `gitway` function arg; the system module installs it.
   - `modules/core/security.nix`: enable `services.gitway-agent`
     and use `lib.mkForce` to inject `-t 86400` into the agent's
     `ExecStart` (the upstream nixosModule did not yet expose
     `defaultLifetime` at the time of writing — Gitway PR #42
     adds it; once a flake.lock bump pulls in the merged version,
     this `mkForce` block can collapse to a plain
     `defaultLifetime = 86400;`).
   - `users/mj/home.nix`: drop the `gitway.homeManagerModules.default`
     import, the home-manager `services.gitway-agent` block, and the
     per-user `xdg.configFile."environment.d/10-gitway-agent.conf"`
     (the system module writes the system-wide equivalent).  Keep
     the mj-specific `gitway-agent-addkey` user unit and shell-init
     hooks that auto-load `~/.ssh/id_ed25519`.

3. **In-flight desktop / login / TODO edits** that had been sitting
   uncommitted in the working tree before this session began.

Result: `which gitway` resolves to a single store path under
`/run/current-system/sw/bin/`; `/etc/profiles/per-user/mj/bin/gitway`
is gone after rebuild.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Project rebrand from "Lattice" to "Bravais" — keeping the
crystallography-themed naming but specializing it (a Bravais lattice
is a kind of lattice).  Full product name becomes Steelbore OS Bravais;
identifier becomes `bravais` everywhere we previously used `lattice`.

This commit lands phases 1–3 of the rename:

- `git mv hosts/lattice hosts/bravais`
- `git mv LATTICE.md BRAVAIS.md`
- flake.nix: `mkLattice` → `mkBravais`, all 10 nixosConfigurations keys
  (`bravais`, `bravais-v{1..4}`, `bravais-unstable`, `bravais-unstable-v{1..4}`),
  description, comments, `./hosts/lattice` → `./hosts/bravais`.
- hosts/bravais/default.nix: `networking.hostName = "bravais"`, header
  comment retitled.

`nix flake check --no-build` evaluates all 10 bravais* configs cleanly
(only pre-existing upstream xfce/xorg warnings remain).  Module headers
and documentation are renamed in follow-up commits.

v0/ snapshot is intentionally left untouched (frozen pre-flake archive).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase 4 of the rename: every "Steelbore Lattice" header comment
across the 36 non-v0/ .nix files becomes "Steelbore Bravais",
and the four inline references that named the project follow:

- modules/login/default.nix:41   "desktop in Lattice"   → "desktop in Bravais"
- modules/login/default.nix:76   greetd "STEELBORE :: LATTICE" → "STEELBORE :: BRAVAIS"
- modules/core/locale.nix:23     "see hosts/lattice/default.nix" → "see hosts/bravais/default.nix"
- modules/hardware/intel.nix:79  "(Lattice default)" → "(Bravais default)"

`v0/` is intentionally left as-is per the rename plan (frozen
pre-flake snapshot — names kept for historical accuracy).

`nix flake check --no-build` passes for all 10 bravais* configs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase 5–6 of the rename: every documentation file is rewritten to
reflect the new project name.  Bulk substitution applied all three
case variants (`Lattice`→`Bravais`, `lattice`→`bravais`,
`LATTICE`→`BRAVAIS`) across 10 .md files outside `v0/`:

- BRAVAIS.md (renamed from LATTICE.md)
- README.md, CLAUDE.md, USER_MANUAL.md
- PRD.md, ARCHITECTURE.md, CHANGELOG.md
- implementation_plan.md, PackagesMissing.md, TODO.md

CLAUDE.md's rebuild pipelines now target `bravais-unstable-v3` and
the staged path `/steelbore/bravais/*` (or `/steelbore/Bravais/*`
in the Brush variant); both surfaces will become real after the
working-directory rename in the follow-up.

CHANGELOG.md gets a top "[Unreleased] / Changed" entry that records
the rename itself so the change is auditable post-release.

v0/README.md is added (new file) with a one-line note explaining
that names inside `v0/` are kept as-is for historical accuracy.
The legacy `v0/` snapshot is otherwise untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@UnbreakableMJ

Copy link
Copy Markdown
Contributor Author

Lattice OS already exists. Renamed project.

@UnbreakableMJ UnbreakableMJ merged commit 018e5b3 into main May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant