Skip to content

Commit 570ebea

Browse files
authored
Update astral-env.html
1 parent a31b060 commit 570ebea

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

docus/astral-env.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ <h1>astral-env</h1>
2323
</div>
2424
</div>
2525

26-
<p>astral-env is the declarative environment and system configuration layer that sits on top of Astral. Describe your entire system packages, services, dotfiles, hostname, timezone, file snapshots in a single <code>.stars</code> file. Then apply it. Reality matches the file.</p>
26+
<p>astral-env is the declarative environment and system configuration layer that sits on top of Astral. Describe your entire system packages, services, dotfiles, hostname, timezone, file snapshots in a single <code>.stars</code> file. Then apply it. Reality matches the file.</p>
2727

2828
<p>Think of it as NixOS without the functional language that makes your brain hurt, or Ansible without the YAML sprawl and Python dependency.</p>
2929

@@ -35,7 +35,7 @@ <h3>Prerequisites</h3>
3535
<li>A C++20 compiler (<code>gcc</code> or <code>clang</code>)</li>
3636
<li><code>cmake</code> >= 3.20</li>
3737
<li><code>openssl</code> >= 3.0 (for SHA-256 store hashing)</li>
38-
<li><code>zstd</code> (for snapshots <code>astral -S zstd</code>)</li>
38+
<li><code>zstd</code> (for snapshots <code>astral -S zstd</code>)</li>
3939
</ul>
4040

4141
<pre><code>git clone https://github.com/Astaraxia-Linux/Astral-env
@@ -61,7 +61,7 @@ <h2 id="config-format">Configuration Format</h2>
6161

6262
<p>astral-env uses the same <code>.stars</code> syntax as Astral recipes. If you've written a recipe, you already know this.</p>
6363

64-
<h3>System Config <code>/etc/astral/env/env.stars</code></h3>
64+
<h3>System Config <code>/etc/astral/env/env.stars</code></h3>
6565
<pre><code>$ENV.Version = "3"
6666

6767
$ENV.System: {
@@ -82,7 +82,7 @@ <h3>System Config — <code>/etc/astral/env/env.stars</code></h3>
8282
NetworkManager = "enabled"
8383
};</code></pre>
8484

85-
<h3>User Config <code>/etc/astral/env/username.stars</code></h3>
85+
<h3>User Config <code>/etc/astral/env/username.stars</code></h3>
8686
<pre><code>$ENV.Version = "3"
8787

8888
$ENV.User: {
@@ -109,7 +109,7 @@ <h3>User Config — <code>/etc/astral/env/username.stars</code></h3>
109109

110110
<p>Dotfiles in <code>$ENV.Dotfiles</code> are symlinked from <code>/etc/astral/env/dotfiles/username/</code>. Manage all your configs in one place.</p>
111111

112-
<h3>Project Environment <code>astral-env.stars</code></h3>
112+
<h3>Project Environment <code>astral-env.stars</code></h3>
113113
<p>Per-project dev environments, like <code>nix-shell</code> but readable:</p>
114114
<pre><code>$ENV.Version = "3"
115115

@@ -134,7 +134,7 @@ <h3>Project Environment — <code>astral-env.stars</code></h3>
134134
export PATH="$PWD/bin:$PATH"
135135
};</code></pre>
136136

137-
<h3>Auto-Snapshots <code>$ENV.Snap</code></h3>
137+
<h3>Auto-Snapshots <code>$ENV.Snap</code></h3>
138138
<pre><code>$ENV.Snap: {
139139
on_interval = "true"
140140
default_interval = "1" "H" # S=seconds M=minutes H=hours D=days
@@ -155,7 +155,7 @@ <h2 id="system-management">System Management</h2>
155155
<table class="cmd-table">
156156
<thead><tr><th>Command</th><th>Description</th></tr></thead>
157157
<tbody>
158-
<tr><td>astral-env system diff</td><td>Preview what would change safe, read-only</td></tr>
158+
<tr><td>astral-env system diff</td><td>Preview what would change safe, read-only</td></tr>
159159
<tr><td>astral-env system apply</td><td>Apply changes to match the config files</td></tr>
160160
<tr><td>astral-env system apply --dry-run</td><td>Show changes without making them</td></tr>
161161
<tr><td>astral-env system apply --yes</td><td>Skip confirmation prompts</td></tr>
@@ -177,12 +177,12 @@ <h2 id="system-management">System Management</h2>
177177
<tr><td>[+]</td><td>Will install / create</td></tr>
178178
<tr><td>[-]</td><td>Will remove / unlink</td></tr>
179179
<tr><td>[~]</td><td>Will change</td></tr>
180-
<tr><td>[!]</td><td>Conflict needs manual resolution</td></tr>
180+
<tr><td>[!]</td><td>Conflict needs manual resolution</td></tr>
181181
</tbody>
182182
</table>
183183

184184
<div class="callout">
185-
<p>astral-env automatically saves a rollback snapshot before applying anything. Rollback restores service states, symlinks, hostname, and timezone but not packages. Use <code>astral -R</code> to remove packages manually.</p>
185+
<p>astral-env automatically saves a rollback snapshot before applying anything. Rollback restores service states, symlinks, hostname, and timezone but not packages. Use <code>astral -R</code> to remove packages manually.</p>
186186
</div>
187187

188188
<h2 id="environments">Project Environments</h2>
@@ -205,7 +205,7 @@ <h2 id="environments">Project Environments</h2>
205205

206206
<h2 id="snapshots">File Snapshots</h2>
207207

208-
<p>Content-addressed, zstd-compressed, deduplicated file snapshots. If a file hasn't changed since the last snapshot, the new snapshot is free zero bytes stored.</p>
208+
<p>Content-addressed, zstd-compressed, deduplicated file snapshots. If a file hasn't changed since the last snapshot, the new snapshot is free zero bytes stored.</p>
209209

210210
<table class="cmd-table">
211211
<thead><tr><th>Command</th><th>Description</th></tr></thead>
@@ -279,7 +279,7 @@ <h2 id="faq">FAQ</h2>
279279
astral-env needs concurrent file hashing, inotify event loops, content-addressed storage, and a GC. Doing that in sh would be a crime against humanity. C++20 with <code>std::filesystem</code> hits the sweet spot.</p>
280280

281281
<p><strong>Does astral-env replace Astral?</strong><br>
282-
No. It's a layer on top. It uses <code>astral -S</code> to install packages it doesn't reimplement the package manager.</p>
282+
No. It's a layer on top. It uses <code>astral -S</code> to install packages it doesn't reimplement the package manager.</p>
283283

284284
<p><strong>Can I use it without system management?</strong><br>
285285
Yes. The project environment features (<code>init</code>, <code>lock</code>, <code>build</code>, <code>shell</code>, <code>run</code>) work completely independently without <code>astral-env-system = "enabled"</code>.</p>

0 commit comments

Comments
 (0)