Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions public/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 35 additions & 17 deletions public/og.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 8 additions & 3 deletions src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const year = new Date().getFullYear();
<div class="container site-footer__inner">
<div class="site-footer__brand">
<a class="brand" href={withBase('/')}>
<span class="brand__glyph">~/</span><span>{site.name}</span>
<img class="brand__mark" src={withBase('/logo.svg')} alt="" width="20" height="20" decoding="async" /><span>{site.name}</span>
</a>
<p class="muted">{site.tagline}</p>
</div>
Expand Down Expand Up @@ -40,13 +40,18 @@ const year = new Date().getFullYear();
}
.brand {
display: inline-flex;
align-items: center;
gap: 0.15rem;
font-family: var(--font-mono);
font-weight: 700;
color: #fff;
}
.brand__glyph {
color: var(--tn-purple);
.brand__mark {
width: 1.3rem;
height: 1.3rem;
display: block;
margin-right: 0.35rem;
Comment on lines +49 to +53
border-radius: 5px;
}
.site-footer__brand p {
margin: 0.4rem 0 0;
Expand Down
10 changes: 7 additions & 3 deletions src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const coreVersion = metrics.core.version;
<div class="container site-header__inner">
<div class="brand-wrap">
<a class="brand" href={withBase('/')}>
<span class="brand__glyph">~/</span>
<img class="brand__mark" src={withBase('/logo.svg')} alt="" width="26" height="26" decoding="async" />
<span class="brand__name">{site.name}</span>
<span class="brand__cursor"></span>
</a>
Expand Down Expand Up @@ -95,8 +95,12 @@ const coreVersion = metrics.core.version;
font-size: 1.05rem;
color: #fff;
}
.brand__glyph {
color: var(--tn-purple);
.brand__mark {
width: 1.6rem;
height: 1.6rem;
display: block;
margin-right: 0.3rem;
border-radius: 6px;
}
.brand__name {
color: var(--tn-fg);
Expand Down
4 changes: 2 additions & 2 deletions src/components/Hero.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { withBase } from '../lib/url';
<section class="hero">
<div class="container hero__grid">
<div class="hero__copy">
<span class="eyebrow">~/dotfiles · ten-repo ecosystem</span>
<span class="eyebrow">~/dotgibson · layered ecosystem</span>
<h1>
One <span class="text-grad">Core</span>.<br />
Every machine.<br />
Expand Down Expand Up @@ -34,7 +34,7 @@ import { withBase } from '../lib/url';
</p>

<ul class="hero__stats">
<li><strong class="tone-purple">10</strong><span>repos</span></li>
<li><strong class="tone-purple"></strong><span>machines</span></li>
<li><strong class="tone-blue">3</strong><span>layers</span></li>
<li><strong class="tone-green">1</strong><span>vendored Core</span></li>
<li><strong class="tone-cyan">0</strong><span>submodule flags</span></li>
Expand Down
4 changes: 2 additions & 2 deletions src/data/site.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import generated from "./generated.json";

// Central site metadata. Edit these and the whole site updates.
export const site = {
name: "dotfiles",
title: "dotfiles — a ten-repo terminal ecosystem",
name: "dotgibson",
title: "dotgibson — a layered terminal ecosystem",
description:
"A portable, layered dotfiles ecosystem: one vendored Core (zsh, tmux, Neovim, git, starship, mise) shared across every machine, OS-native layers per platform, and operator role layers — offensive for Kali, defensive for Defense. Clone-and-go, fully reproducible.",
owner: "dotgibson",
Expand Down
8 changes: 4 additions & 4 deletions src/pages/architecture.astro
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const comparisons = [
},
{
title: 'vs chezmoi / yadm',
body: 'One repo + per-OS templates is the most DRY answer, and the right move the day you want to collapse ten repos into one. This system keeps the ten-repo portfolio instead — each machine is a clean, public, self-contained artifact. Because Core is already plain and OS-agnostic, moving to chezmoi later is a content migration, not a rewrite.',
body: 'One repo + per-OS templates is the most DRY answer, and the right move the day you want to collapse the whole fleet into one. This system keeps the multi-repo portfolio instead — each machine is a clean, public, self-contained artifact. Because Core is already plain and OS-agnostic, moving to chezmoi later is a content migration, not a rewrite.',
},
{
title: 'vs GNU stow',
Expand All @@ -47,8 +47,8 @@ const comparisons = [
// lighter.
const notForYou = [
'You have one or two machines with no real OS spread — this is over-engineered for that; a bare $HOME repo or stow is far less ceremony.',
'You want ONE repo, not ten — reach for chezmoi or yadm. (The migration is content, not a rewrite, because Core is already plain.)',
'You can’t stomach any vendored duplication — the ten-repo + vendored-Core model deliberately trades a little duplication for clone-and-go self-containment and a public per-machine portfolio.',
'You want ONE repo, not a fleet — reach for chezmoi or yadm. (The migration is content, not a rewrite, because Core is already plain.)',
'You can’t stomach any vendored duplication — the multi-repo + vendored-Core model deliberately trades a little duplication for clone-and-go self-containment and a public per-machine portfolio.',
];

// The macOS desktop layer — committed GUI tooling the OS-native layer owns, themed to match
Expand Down Expand Up @@ -128,7 +128,7 @@ const deepDives = [
<p class="lead">
The system is built on one decision repeated consistently: draw a hard boundary
between what is identical on every machine and what changes with the OS or the
operator. Get the boundary right and a single Core can serve ten machines with
operator. Get the boundary right and a single Core can serve every machine with
zero special-casing.
</p>
<p class="lead mt">
Expand Down
Loading