You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docus/astral-env.html
+11-11Lines changed: 11 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ <h1>astral-env</h1>
23
23
</div>
24
24
</div>
25
25
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>
27
27
28
28
<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>
29
29
@@ -35,7 +35,7 @@ <h3>Prerequisites</h3>
35
35
<li>A C++20 compiler (<code>gcc</code> or <code>clang</code>)</li>
36
36
<li><code>cmake</code>>= 3.20</li>
37
37
<li><code>openssl</code>>= 3.0 (for SHA-256 store hashing)</li>
<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>
<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>
<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>
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>
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>
283
283
284
284
<p><strong>Can I use it without system management?</strong><br>
285
285
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