on 24f74ad help sign in
4 files changed+20−45
since splitsnapshots
unifiedsplit
README.md+13−33 desk/lib/shelf.hoon+1−1 desk/tests/lib/shelf.hoon+1−1 flake.nix+5−10
README.md+13−33
@@ -21,23 +21,10 @@ links and its install form all point at `/`.
2121
2222- Kernel `[%zuse 408]`.
2323- `%landscape`, which provides `%treaty` and `%docket`. Fresh ships have it.
24−- Nix, for the one-command build, if you install from source. Without it,
25− copy `desk/` from a checkout.
24+- Nix, for the one-command build. Without it, copy `desk/` from a checkout.
2625
2726## Install
2827
29−Install %shelf from ~donmec-sallud, which publishes it:
30−
31−```
32−~sampel-palnet:dojo> |install ~donmec-sallud %shelf
33−```
34−
35−%shelf then gets its updates from ~donmec-sallud.
36−[shelf.iko.soy](https://shelf.iko.soy) is %shelf running on that ship. It
37−lists all the apps ~donmec-sallud offers, %shelf among them.
38−
39−To install from source instead, build the desk:
40−
4128```sh
4229nix build github:iko-soy/shelf
4330```
@@ -61,16 +48,16 @@ chmod -R u+w /path/to/pier/shelf # files from the Nix store are read-only
6148~sampel-palnet:dojo> |install our %shelf
6249```
6350
64−Either way, once %shelf runs, the page is at `https://<your-ship>/shelf`, and
65−Landscape shows a Shelf tile that opens it. It is meant to be opened through
66−your own domain, though: on the ship's address the page renders, but its links
67−lead to `/`, which belongs to Landscape.
51+The page is now at `https://<your-ship>/shelf`, and Landscape shows a Shelf
52+tile that opens it. It is meant to be opened through your own domain, though:
53+on the ship's address the page renders, but its links lead to `/`, which
54+belongs to Landscape.
6855
6956## Building with Nix
7057
71−`flake.nix` has one output: the desk, `packages.<system>.desk`, which is also
72−the default package. Building it copies `desk/` into the Nix store; nothing is
73−compiled, because Clay compiles the Hoon on your ship when you commit the desk.
58+`flake.nix` has one output: `packages.<system>.default`, the desk. Building it
59+copies `desk/` into the Nix store; nothing is compiled, because Clay compiles
60+the Hoon on your ship when you commit the desk.
7461
7562| Command | Builds |
7663|---|---|
@@ -101,19 +88,16 @@ result/
10188 ```nix
10289 inputs.shelf.url = "github:iko-soy/shelf";
10390 # …
104− shelf.packages.${system}.desk
91+ shelf.packages.${system}.default
10592 ```
10693
10794## Update
10895
109−A %shelf installed from ~donmec-sallud gets its updates from that ship.
110−
111−To update a source install, build and copy the desk into the mount again, as
112−above, and run `|commit %shelf`. Then check that `.^(cass:clay %cw /=shelf=)`
113−moved: if the new version doesn't build, Clay keeps the old one and logs
114−nothing.
96+Build and copy the desk into the mount again, as above, and run
97+`|commit %shelf`. Then check that `.^(cass:clay %cw /=shelf=)` moved: if the
98+new version doesn't build, Clay keeps the old one and logs nothing.
11599
116−A source install comes from your own ship, so it gets no over-the-air updates.
100+%shelf is installed from your own ship, so it gets no over-the-air updates.
117101After a kernel upgrade, Clay holds it until `desk/sys.kelvin` lists the new
118102`%zuse` version; update that file (or pull a release that has) and commit.
119103`+vats %shelf` shows whether it is running or held.
@@ -289,9 +273,6 @@ after %shelf stops. Until you remove it, `/shelf` answers 503 at once.
289273 Landscape. This removes the tile and suspends the agent; a plain
290274 `|uninstall %shelf` would leave a suspended tile behind. Your `head`/`body`
291275 HTML is kept, and `|install our %shelf` brings the page straight back.
292− Uninstalling a %shelf installed from ~donmec-sallud also stops its updates.
293− To turn them back on, run `|install ~donmec-sallud %shelf` after
294− `|install our %shelf`.
2952763. To delete that state too: `|nuke %shelf, =desk &` (answer `y`).
2962774. Optionally, free the path. Only the binding's owner can remove it, so take
297278 it over from the dojo, then remove it:
@@ -374,7 +355,6 @@ and why.
374355- **Keyboard focus inside a row tints it**, as the handoff's interaction table
375356 says (its CSS only did this on hover).
376357- **"1 app"**, not "1 apps".
377−- **Republished apps say "from ~publisher"**, not "by ~publisher".
378358- **The sigil is drawn in Hoon** by a vendored renderer, in `currentColor` on
379359 `var(--ink)` so it inverts with the theme, at sigil-js's 56px geometry.
380360 Moons and comets get the plain square, as in Landscape.
desk/lib/shelf.hoon+1−1
@@ -638,7 +638,7 @@
638638 ;div.app-name
639639 ;strong: {(trip title.d)}
640640 ;* ?: =(ship.t our) ~
641− :~ ;span.app-by: from {pub}
641+ :~ ;span.app-by: by {pub}
642642 ==
643643 ==
644644 ;div.app-desc
desk/tests/lib/shelf.hoon+1−1
@@ -70,7 +70,7 @@
7070 =/ doc (render ~zod ~[harbor marginalia oddity] ~ | ~)
7171 ;: weld
7272 (expect !>((has doc "<span class=\"count\">3 apps</span>")))
73− (expect !>(=(1 (count doc "from ~bus"))))
73+ (expect !>(=(1 (count doc "by ~bus"))))
7474 (expect !>((has doc "<section class=\"apps\" aria-label=\"Published apps\">")))
7575 (expect !>((has doc "&lt;Odd &amp; &quot;Quoted&quot;&gt; App")))
7676 (expect !>((has doc "a &lt; b &amp; c &gt; &#39;d&#39;")))
flake.nix+5−10
@@ -10,15 +10,10 @@
1010 in
1111 {
1212 # The desk: copy it into a mounted %shelf desk and |commit it.
13− packages = forAllSystems (pkgs:
14− let
15− desk = pkgs.runCommandLocal "shelf-desk" { } ''
16− cp -r ${./desk} $out
17− '';
18− in
19− {
20− inherit desk;
21− default = desk;
22− });
13+ packages = forAllSystems (pkgs: {
14+ default = pkgs.runCommandLocal "shelf-desk" { } ''
15+ cp -r ${./desk} $out
16+ '';
17+ });
2318 };
2419}